有關(guān)S7-200SMART PLC 自由口通訊的問題
劉玉蓉
發(fā)布于2014-11-12 17:40
4
0
標(biāo)簽:
為了能搞明白自由口通訊的原理,我把幫助里面的自由口通訊的示例程序抄寫了下來,并且將所有有關(guān)P0口的設(shè)置更改為P1口的設(shè)置程序內(nèi)容如下:
MAIN
LD First_Scan_On
MOVB 2#1001, P1_Config
MOVB 2#10110000, P1_Ctrl_Rcv
MOVB 2#1010, P1_End_Char
MOVW +5, P1_Idle_Time
MOVB 100, P1_Max_Char
ATCH INT_0, 23
ATCH INT_2, 9
ENI
RCV VB100, 1
INT_0
LDB= P1_Stat_Rcv, 2#100000
MOVB 10, Time_1_Intrvl
ATCH INT_1, 10
CRETI
NOT
RCV VB100, 1
INT_1
LD Always_On
DTCH 10
XMT VB100, 1
INT_2
LD Always_On
RCV VB100, 1
有關(guān)PLC的組態(tài)和實(shí)際情況是一致的。
在測(cè)試過程中,我發(fā)現(xiàn),這個(gè)程序并不能像幫助里面所說的那樣接收到換行符號(hào)以后就把內(nèi)容轉(zhuǎn)發(fā)回來,而且這個(gè)程序還存在只能在剛下載完程序之后可以接收PC機(jī)發(fā)給他的數(shù)據(jù)。請(qǐng)各位前輩指點(diǎn)!~~
佳答案
主程序中斷綁定不對(duì),端口1 的中斷分別是 24 和26;INT0 中,定時(shí)中斷1 的事件號(hào)也不對(duì),應(yīng)該為11;INT1 中事件端口號(hào)也得改為11。
整個(gè)流程如下:PLC 啟動(dòng)時(shí)開始接收,如果接收成功,等待10ms ,然后發(fā)送接收到的報(bào)文,發(fā)送成功后再使能接收,,。。。。。。輪詢下去。