现场发现智能仪表不能和PLC通讯,用串口调试软件检查,PLC发出的数据完全不是我所想要的,见下表
30 30 46 46 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 03 45 46
而且只有在PLC重新上电后才能发送一次,随后再也不会发送数据了,更换了通讯模块232BD,现象依旧,请各位大侠指教,到底是怎么回事?
在线等待,急!急!急!
应该是没有按照仪表的通信协议写好程序
首先感谢您的关注。
仪表的通讯协议是发送01 10 1F 50 00 01 02 00 02 C5 00,仪表回复01 10 1F 50,我在PLC中的程序如下:
LD M8002
MOV H6081 D8120 //设定通讯制式9600,n,8,1
LD M8000 //设定数据发送方式:8位
OUT M8161
LD X0007 //通讯触发脉冲
SET M100
LD X006 //接收状态复位
RST M100
RST M8123
LD M100
RS D50 D0 D100 D1 //启动通讯功能
LD M100
PLS M101
LD M101
MOV K11 D0 //发送数据长度
MOV K4 D1 //接收数据长度
MOV H01 D50 //发送数据01H
MOV H10 D51 //发送数据10H
MOV H1F D52 //发送数据1FH
MOV H50 D53 //发送数据50H
MOV H00 D54 //发送数据00H
MOV H01 D55 //发送数据01H
MOV H02 D56 //发送数据02H
MOV H00 D57 //发送数据00H
MOV H02 D58 //发送数据02H
MOV HC5 D59 //发送数据C5H
MOV H00 D60 //发送数据00H
SET M8122 //数据发送
LD M8123
MOV D100 D10
MOV D101 D11
RST M8123
END
联通仪表后发现仪表没有动作,随后将PLC连到电脑,用串口测试软件接收PLC发出的数据,就是我所说过的那些莫名其妙的东西。
是否能帮我分析一下这个现象的原因?拜托了!!