登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:做一个通讯时序遇到难题,仪表没有任何回传数据?

点击:1122 回复:12

做一个通讯程序时遇到难题了,请教各位高手。通讯格式和程序如图所示,现在站号是48,2个停止位。仪表没有任何回传数据。不知是不是数据帧前面那个T1T2T3T4的原因。
附件 1.jpg
附件 2.jpg
附件 3.jpg
附件 4.jpg
最后修改:2017/11/12 17:13:01
17-11-12 17:07
用的三菱FX3UPLC
17-11-12 17:09
附件 5.jpg
17-11-12 17:21
你发送的数据还差个CRC
17-11-12 19:13
D6,D7,就是CRC!!
17-11-12 19:27
D0:地址
D1:功能码
D2,D3:起始地址
D4,D5:字节数
D6,D7:CRC
有写得不清楚的地方欢迎询问!
呼叫高人!!!!!
17-11-12 19:40
按照Modbus RTU协议,你这个接收字节计数应该是9个
你发送的报文是:
30 03 00 00 00 02 C0 2A
那么正确返回的报文就是:
30 03 04 12 34 56 78 A1 C4
其中假设返回的具体数据是12345678
所以RS指令中接收字节数应该为9个
附件 untitled1.jpg
还有当M8123置位时你应该先转存接收到的数据而后再复位M8123
还有这个通信处理机制最好是:
开机延时1秒后开始发送,发送完成后延时1000毫秒(给从站一个1000毫秒的最大响应时间),1000毫秒时间到或者接收完成标志位M8123置位时都默认此次发送结束,而后延时大约5毫秒时间又开始新一轮的发送,周而复始循环即可,觉得比你这么做要好!
最后修改:2017/11/12 20:30:50
17-11-12 20:30
另外,仪表没有返回还要检查一下仪表的通信设置是否和PLC通信参数一致?还有通信连接等问题!
17-11-12 20:45
你的站号设得这么奇怪,0的ASCII码刚好是48,检查站号是不是设错了?
17-11-12 21:37

引用 蛇会大学 在 2017/11/12 21:37:08 发言【内容省略】

你就别打岔了!站号哪里奇怪了?看图这是Modbus RTU协议,不是Modbus ASCII!
17-11-12 21:56

上一页下一页

工控新闻

更多新闻资讯