请教下modbus-rut通讯主从站一体的一些问题

2019-07-21 05:03发布

目前有个项目需要完成一个中转站的作用,单片机需要完成两个功能,串口1通过modbus读取变频器的数据,保存起来,命令帧有2帧,串口2则做modbus从站,监听上位机的指令,且上位机会根据需要,发送0x10功能码给串口2,串口2接收到需要通过串口1写入变频器,上位机以100ms间隔与串口2通信;但是目前有些问题,串口1与变频器通讯间隔将读取时间设置为80ms了,测试时,仅仅是上位机发送03读取指令,上位机的指令也会存在丢失的情况,各位大佬有没什么好的建议呢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
245925587
1楼-- · 2019-07-21 08:03
可能我描述的不清楚,大概就是图中这样子的传输
若水
2楼-- · 2019-07-21 08:39
以前做过类似通信的项目,既做ModbusRTU主站,又做ModbusRTU从站的的,通信很正常,无误,这种通信建议Modbus从站部分的处理工作放在定时器中断函数中处理,10ms的定时器中断没有问题的,主站部分的数据处理切记不要存在死循环或延迟类函数。
若水
3楼-- · 2019-07-21 09:15
 精彩回答 2  元偷偷看……
245925587
4楼-- · 2019-07-21 14:38
若水 发表于 2019-2-23 11:09
以前做过类似通信的项目,既做ModbusRTU主站,又做ModbusRTU从站的的,通信很正常,无误,这种通信建议Modb ...

您好,谢谢您的回复。我现在从站监听放在一个定时器,主站发送放在另一个定时器,主从站的处理都放在死循环里,用12的单片机,我试下吧从站的处理放定时器看看
245925587
5楼-- · 2019-07-21 17:41
若水 发表于 2019-2-23 11:13
项目中可以用上位机直接读取变频器数据,这样也不可以吗?我这有Modbus协议转换的工具,可以实现ModbusTCP ...

因为我这的上位机就是一个PLC,固定死了,加密了,程序不能改的,然后配套的变频器停产了,重新买的另一型号的,一些寄存器存放值更改了,所以就需要加一个单片机做中转
d1z1y2
6楼-- · 2019-07-21 19:33
在串口中断进行数据接收,中断占用CPU时间尽量短一些,处理好两个中断的优先级,

一周热门 更多>