各位大侠,我用一台216与两台带485口串口的仪表做自由口通讯,现在只测试其中的一台,PLC能发送数据给仪表,即仪表能接收到PLC的发送指令并做出应答,可是PLC却收不到仪表返回的数据.我用串口调试软件与仪表通讯测试时可以成功.仪表的通讯规则如下:数据格式为7字节数据,包,第一个字节是从机地址,最后一个字节是数据累加和,也就是说没有固定的起始与结束字符,我定义信息控制字SMB87为2#10011100,下面是我的程序,请各位大侠帮忙分析下,哪里出了问题,
LD First_Scan_On:SM0.1
MOVB 16#09, P0_Config:SMB30
MOVB 16#9C, P0_Ctrl_Rcv:SMB87
MOVW 0, P0_Idle_Time:SMW90
MOVW 100, P0_Timeout:SMW92
MOVW 7, SMW94
ATCH INT_0:INT0, 23
ATCH INT_1:INT1, 9
LD QI:M2.0
EU
R P0_Ctrl_Rcv_7:SM87.7, 1
RCV VB99, 0
XMT VB199, 0
中断0
LDB= P0_Stat_Rcv:SMB86, 2
LDB= P0_Stat_Rcv:SMB86, 2
MOVD VD102, VD202
NOT
RCV VB99, 0
中断1
LD QI:M2.0
S P0_Ctrl_Rcv_7:SM87.7, 1
RCV VB99, 0
R QI:M2.0, 0
我试着把SMW90的值改为>0,可还是不能成功,真的晕了.请大家帮我分析一下吧
最佳答案
我在论坛里发过一个例子,正适合你。
提问者对于答案的评价:
非常感谢LaoHuai无私的帮助,已经通上了.这几天一直在看您曾经发的帖子,真的是受益匪浅,以后还要继续向您学习,好好学习,天天向上.
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346619.html