我刚接触modbus,但我有一个小项目要做。我需要从电能表上读出一些数值。我从互联网上找到的一些例子写下了这篇文章:
import logging
from pymodbus.client.sync import ModbusTcpClient as ModbusClient
logging.basicConfig()
log = logging.getLogger()
log.setLevel(logging.DEBUG)
client = ModbusClient('192.168.80.210')
client.connect()
rr = client.read_holding_registers(40012, 1)
print rr
client.close()
它似乎连接到了仪表,因为这是我的输出:
^{pr2}$我想从寄存器40012
读到40014
,这是Modbusdbus映射,我有:
Modbus map
谢谢你的帮助。谨致问候
我认为您应该设置
unit
和port
参数,要获得该值,请使用rr.registers
,因此您需要知道单元的ID值和设备端口。在在大多数情况下,}是{}作为modbus默认值。在
unit
是1
,而{如果您想从地址}读取大量数据。在
40012
读到40014
,那么可以使用count=3
从{我改进了你的代码,试试看:
相关问题 更多 >
编程相关推荐