如何通过TCP读/写与pymodbus网关连接的设备寄存器

2024-09-28 19:31:39 发布

您现在位置:Python中文网/ 问答频道 /正文

{1>必须使用CDI>传感器进行读写操作。我没有直接连接到传感器,但我通过TCP连接到网关,网关通过串行连接到传感器。
我通过这种方式与网关建立了连接:

client = ModbusClient("192.168.127.254", 502)
connection = client.connect()

与网关的连接正常,因为套接字是打开的。但我不能用这种方式读取传感器:

^{pr2}$

如何连接到网关的指定传感器(id:230,波特率:9600,奇偶校验:无,接口:RS-4852线)?在

注:入口是一个艾条MB3170


Tags: clientid网关connect方式传感器connectiontcp
2条回答

首先你应该了解你的modbus从寄存器表(你的传感器) 知道它的函数代码如果读函数代码是0x3,你应该使用Read Holding Registers,如果函数代码是{},你应该使用Read Input Registers函数

之后,您应该找到所需寄存器地址,例如:临时寄存器地址为0x05,字节数为2,传感器id为230,需求函数代码为0x3

read_holding_registers(0x05 , 2, unit=230)  

首先,您需要确保网关和Modbus设备之间的连接。在

之后,您可以通过modbus poll应用程序获取数据和测试数据寄存器。在

无论何时建立连接,都是时候编码了。。。在

相关问题 更多 >