现有S7200与仪表通信,需要自己编制协议。存在通信问题如下:发送请求帧:02303130……0D0A这组数据,用串口调试软件,仪表有响应,但是用PLC的XMT指令,发送同样数据,仪表却没有响应,已排除接线错误,SMB30为01001001。现请教高手,问题出在什么地方。
LD Always_On:SM0.0
MOVB 21, VB199
MOVB 16#02, VB200
MOVB 16#30, VB201
MOVB 16#31, VB202
MOVB 16#30, VB203
MOVB 16#30, VB204
MOVB 16#58, VB205
******
MOVB 16#03, VB216
MOVB 16#41, VB217
MOVB 16#38, VB218
MOVB 16#0D, VB219
MOVB 16#0A, VB220
XMT VB199, 0
问题补充:
我的程序没写完整,XMT是在SM0.1里调用的子程序里。其次,我已经用了起始和结束字符中断来RCV。对了,我的命令是写命令,只用XMT应该可以让仪表响应的吧?我怀疑,是不是数据的发送顺序有问题,请赐教!
最佳答案
既然用串口软件调试正常,那么在PLC和仪表通讯的时候,用串口软件监视他们的通讯,
1 XMT不能用SM0.0触发,用沿或在中断里执行XMT指令
2 需要连接中断执行RCV,才可以和仪表建立通讯
提问者对于答案的评价:
谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347617.html