奖金1000元处理MODBUS通讯问题

2019-08-23 16:11发布

故障现象:多台机相互与上位机通讯反复重启,死机现象。RS485通讯。
芯片是STM32F103RBT6
通讯协议:MODBUS RTU
通讯芯片是MAX485ESC
解决不掉这个问题我就要被开除了。
设备本身是个全桥电源,现在和触摸屏485通讯调节功率,远程开关机。协议也是才添加到程序里。问题是写某一个到寄存器里,就会死机。如果几台设备485并联就会死机反复重启复位,如同上电复位一样。搞了好几天,485也使用485专用的隔离模块,目前确定是程序内部问题,现请有经验的老师处理一下,解决后立马兑现。单台通讯可以读取和写入。2台就不能并联,一并就死机。通讯就失败。有意者联系我。272203534
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
luobin189
1楼-- · 2019-08-23 21:45
本帖最后由 luobin189 于 2017-3-22 23:55 编辑

从你的话: 问题是写某一个到寄存器里,就会死机。
看来你的程序是做为主站的。

1.先不要用你写的程序作主站。在电脑上安装个modbus测试软件作为主站,用于和其他的从站进行通信,看看能否正常。

2.如果用modbus测试软件作为主站时,能够与其他从站正常通信,
    则检查你的主站程序中,发送逻辑是否是执行完一条读/写从站指令后,再执行下一条读/写从站指令的。
    (不能上一次的读/写操作还未完成,就再次往线路上发指令,这会造成冲突)


    如果modbus测试软件作为主站时也不能与其他从站进行正常通信,
      则监控它们的通信数据,认真检查每一帧数据,找出与预期不符的通信帧,看是哪个站点发出的,再对应的解决。
   
ws_zdyz
2楼-- · 2019-08-23 22:51
本帖最后由 ws_zdyz 于 2017-3-22 22:01 编辑

1.先看看485总线连接的有问题没?
2.如果一个主机对单个485 没问题的话,一接多个就有问题的话,看看从机在接受的时候数据的是否合理。3.一般485多机通讯是个很成熟的东西,不应该有什么问题的。。
操作系统
3楼-- · 2019-08-24 01:15
 精彩回答 2  元偷偷看……
小温
4楼-- · 2019-08-24 04:04
你的问题描述得不够清晰,1、485总线上的设备,网络拓扑是怎样的? 2、每个设备是否有单独的地址? 3、是否试过先不添加modbus协议,先进行一些简单的数据通信以保证硬件没问题?
skyformat99
5楼-- · 2019-08-24 09:11
是不是因为Slave从机地址冲突了?
仔细检查一下连接线,然后用modbus poll挨个通讯试试看。
QL1988
6楼-- · 2019-08-24 14:41
ws_zdyz 发表于 2017-3-22 21:59
1.先看看485总线连接的有问题没?
2.如果一个主机对单个485 没问题的话,一接多个就有问题的话,看看从机 ...

触摸屏做主站,这个设备做从站。

一周热门 更多>