S7-200 CPU提供了通信口字符接收中斷功能,通信口接收到字符時會產(chǎn)生一個中斷,接收到的字符暫存在特殊存儲器SMB2中。通信口Port0和Port1共用SMB2,但兩個口的字符接收中斷號不同。
每接收到一個字符,就會產(chǎn)生一次中斷。對于連續(xù)發(fā)送消息,需要在中斷服務(wù)程序中將單個的字符排列到用戶規(guī)定的消息保存區(qū)域中。實現(xiàn)這個功能可能使用間接尋址比較好。
對于高通信速率來說,字符中斷接受方式需要中斷程序的執(zhí)行速度足夠快。
一般情況下,使用結(jié)束字符作為RCV指令的結(jié)束條件比較可靠。如果通信對象的消息幀中以一個不定的字符(字節(jié))結(jié)束(如校驗碼等),就應(yīng)當(dāng)規(guī)定消息或字符超時作為結(jié)束RCV指令的條件。但是往往通信對象未必具有嚴(yán)格的協(xié)議規(guī)定、工作也未必可靠,這就可能造成RCV指令不能正常結(jié)束。這種情況下可以使用字符接收中斷功能。
新手不建議使用這種方式。










