戒魔 发表于 2014-11-5 11:46:34

关于51单片机 与PLC modbus 通信反馈校验总是错误

小弟做了一个51单片机的modbus通信协议,发现单片机能成功收到PLC发来的数据,而且校验码也是通过的,可是,当单片机反馈给PLC的数据的时候,PLC总判断我的反馈信号是错的,然后按PLC规定,连发三次数据。
比如PLC发送01 06 00 04 0B 83 8E 9A 给单片机,单片机收到后,也通过了校验码计算正确,然后发送01 06 00 04 0B 83 8E 9A 反馈给PLC说明收到信号是正确的。但是PLC总判断单片机反馈是错的。
小弟实验了用PLC发送数据给变频器,同样的发送发送01 06 00 04 0B 83 8E 9A给变频器 ,变频器也反馈发送01 06 00 04 0B 83 8E 9A给PLC,然后PLC就判断变频器反馈是正确的,所以我很不明白其中的原因。
有没有高手遇到我这样的问题 ?
如何解决,问题 出在哪里?
我用单片机通过电脑的MODBUS调 试精灵也实验了,通信正常,反馈也正确,就是单片机与PLC通信就会出错。

戒魔 发表于 2014-11-5 12:04:45

jswd0810 发表于 2014-11-5 11:51
通讯超时什么的有木有什么问题?

应该 不是超时问题 ,因为我试着不发反馈信号给PLC,PLC得150MS后等待,然后再发送第二次,但是我有反馈的时候,PLC在150MS内就发送三次,同时我也反馈了三次了

戒魔 发表于 2014-11-5 12:30:03

jswd0810 发表于 2014-11-5 12:07
奇偶校验什么的通讯参数设置都对?

单片机可以正确的收到PLC发来的数据,那么再发送出去,格式也是一样的吧?

adolfshxq 发表于 2014-11-5 15:31:53

你收到数据后,延时几毫秒再回复,不要立即回复。

戒魔 发表于 2014-11-6 16:39:54

jswd0810 发表于 2014-11-5 12:07
奇偶校验什么的通讯参数设置都对?

是偶校验的问题 ,谢谢
页: [1]
查看完整版本: 关于51单片机 与PLC modbus 通信反馈校验总是错误