在进行单片机与上位机进行Modbus协议通信时,没有成功,提示是“写通信超时”,哪位大侠知道这是什么情况

如题所述

上位机上不知道你用的是不是modbus调试助手还是自己编写的调试软件,如果是调试助手的话那就是你的下位机的程序问题了,但如果是你自己编写的软件那就不好说了,所以在你调试的时候一定要保证调试的一端或者被调试的一端中有一端是正常的,否则很难确定问题的所在。
通信超时最终还是你的下位机没有响应,就是你的单片机没有向外发送数据,所以你就要看看你的下位机在什么时候才满足发送数据的条件(前提是你的下位机通信是正常的,不管是不是MODBUS协议下,可以先用串口调试助手来检验一下你的下位机是不是通的,如果下位机收发都正常,那就得看看你的下位机的程序是如何处理该协议的了),你可以先去掉对接收数据的判断语句,让下位机接收完数据后不用任何判断直接发送几个数据,看看上位机能不能收到,这样一步一步查找问题的所在,我也编写过51单片机MODBUS的程序,并且和s7-200通信正常,有问题可以交流一下。。。。。。。。追问

谢谢,给我下你的邮箱号么,便于交流~

追答

[email protected]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-25
MODBUS写命令分为5号单写位,15号多个位写,6号单寄存器,16号多寄存器写。如果读命令响应正确,但是写命令超时,很有可能是下位机仅支持单独的位或寄存器写操作,不支持多寄存器操作。追问

读命令也出现了读命令错误,我感觉是程序错了!但又不知道错在哪里~哥们你那边有正确的下位机程序么?

第2个回答  2011-04-25
地址不对或者线路不通追问

我感觉路线是通的,因为我每点击发送命令的时候,串口上的都会亮一下~

追答

地址不对或者命令代码不对。

追问

你能给我下你的QQ么?希望能和你交流一下~非常谢谢!

追答

[email protected]

本回答被提问者采纳
相似回答