我正在尝试通过Modbus TCP通信读取saia sbc PCD2 M4_xplc的寄存器和标志。我知道plc的IP地址和通信端口,但是每次我读取标志或寄存器时,我总是得到与设置的值不同的值。我确信这不是modbus通信中经常出现的寄存器偏移问题。我写的代码是列出的代码,也是结果。
from easymodbus.modbusClient import ModbusClient
modbusclient = ModbusClient(IP_address, Port)
modbusclient.connect()
read = modbusclient.read_coils(0, 10)
print(read)
modbusclient.close()
read=[False, False, True, False, True, True, False, False, False, False]但是,标志0到10没有这种状态,即使我在开始编写代码时更改了它,结果也是一样的。即使我换了地址。
发布于 2020-12-24 04:34:57
你必须通过Modbus通信吗?我不熟悉这一点,但我使用另一种方法。Saia PCD确实接受CGI调用,这非常容易进行。在他们的网站上有一个很好的CGI服务器和CGI文档。如果你考虑使用这种通信方式,我可以用我写的一个库来帮助你读/写寄存器,并从任何PCD中读取错误。
https://stackoverflow.com/questions/60001447
复制相似问题