pymodbus的read_discrete_inputs函数用于读取离散输入寄存器的值。它返回一个ReadDiscreteInputsResponse对象,该对象包含一个bits属性,该属性是一个包含每个输入寄存器状态的布尔值列表。要获取每个输入寄存器的状态,可以使用以下代码:

from pymodbus.client.sync import ModbusTcpClient

# 创建Modbus TCP客户端
client = ModbusTcpClient('localhost')

# 读取离散输入寄存器
response = client.read_discrete_inputs(address=0, count=10)

# 获取每个输入寄存器的状态
for i in range(response.bits.__len__()):
    print("Input", i, "value:", response.bits[i])

这将打印每个输入寄存器的状态,其中i是输入寄存器的地址(从0开始)。如果寄存器处于激活状态,则为True,否则为False。


原文地址: http://www.cveoy.top/t/topic/bJhg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录