仿照例子做的,不知道什么原因done标志一直为0
图片说明:
最佳答案
仔细看了一下程序,轮循结构没有什么大问题。
程序轮循起来没有?
网络1 MODBUS TCP SERVER指令用到保持寄存器区与MODBUS RTU 错误代码存储的V区是重叠的。
另外你将 网络1 MODBUS TCP SERVER指 删除试试。
你可以用 DONE的上升沿计数方式检测DONE位,也可以用这个上升沿捕捉ERROR代码。
库存储区千万不能与程序中使用的 V区有任何重叠。
Modbus RTU 主站 (最下面有MODBUS RTU 轮循实例)
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Master/Master.htm
提问者对于答案的评价:
换到扩展串口去试就可以轮询读数了,难道自带的串口坏了吗,仅仅就是试了试轮询的程序啊,这么容易坏的吗
最佳答案作者回复:
只要不带电插拔,是不容易坏的。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc279713.html