恭喜,你发布的帖子
发布于 2025-02-08 10:13:31
6楼
再吐槽一下西门子软件写通信程序的麻烦,比如ModbusRTU通信程序,如果全是读取从站数据,那还好一些。但遇到写操作就特别特别麻烦,特别特别恶心。如果把写指令和读指令写在一个轮训里,那就会不停的往从站写数据,遇到温度仪表自整定就出问题了,因为温度仪表自整定只需要写一次就行了,给它启动自整定,结束了它会自动复位那个指令寄存器。但如果读写指令写在一个轮询里就会不停的往温度仪表的自整定寄存器写启动或者停止,导致温度仪表的自整定永远无法停止或者无法启动。那么读取指令和写入指令不写在一个轮训里,就牵涉到写插队这种操作,就是平时都是执行读操作的那个轮训,有数据要写才停止读操作的那个轮训,转去执行一次写操作的轮训,完事了再去执行读操作的轮训。如果只有一个从站的一个寄存器要写就还好,如果有多个从站的多个寄存器要写,那程序又得写复杂了,因为牵涉到多个写指令队列的问题,先写哪个后写哪个,反正烦死了,特别恶心
1时间戳应该是软件问题;2Modbus这个问题可能不能甩锅给西门子,多数是第三方模块问题(本身或设置问题),或者是自己编程问题。
请填写推广理由:
分享
只看
楼主