Python 通信 modbus tcp 与 plc saia sbc
Posted
技术标签:
【中文标题】Python 通信 modbus tcp 与 plc saia sbc【英文标题】:Python comunication modbus tcp with plc saia sbc 【发布时间】:2020-05-16 23:29:48 【问题描述】:我正在尝试通过Modbus TCP通信读取saia sbc PCD2 M4_x plc的寄存器和标志。我知道 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 没有该状态,即使我在开始编写代码时更改它,结果仍然保持不变。即使我改变地址。
【问题讨论】:
【参考方案1】:您必须通过 Modbus 进行通信吗? 我不熟悉,但我使用另一种方法。 Saia PCD 确实接受很容易进行的 CGI 调用。 在他们的网站上有一个很好的 Web 服务器和 CGI 文档。 如果您考虑使用这种通信,我可以帮助您使用我编写的库来读取/写入寄存器并从任何 PCD 读取错误。
【讨论】:
以上是关于Python 通信 modbus tcp 与 plc saia sbc的主要内容,如果未能解决你的问题,请参考以下文章
ModBus(RTU TCP UDP通信)及利用socket通信(DTU)实现Modbus-RTU通信协议