下面是一个简单的 modbus_tk 使用例程,用于读取 Modbus 从站的寄存器值:

import modbus_tk.defines as cst
from modbus_tk import modbus_tcp, hooks
from modbus_tk.modbus import ModbusError

# 定义 Modbus 从站的地址
SLAVE_ID = 1

# 定义 Modbus TCP 主机和端口
HOST = '127.0.0.1'
PORT = 502

# 创建 Modbus TCP 客户端
master = modbus_tcp.TcpMaster(host=HOST, port=PORT)

# 定义读取寄存器的起始地址和数量
ADDR_START = 0
ADDR_COUNT = 10

try:
    # 读取寄存器的值
    values = master.execute(SLAVE_ID, cst.READ_HOLDING_REGISTERS, ADDR_START, ADDR_COUNT)

    # 打印读取到的值
    print('Values:', values)

except ModbusError as e:
    # 处理 Modbus 错误
    print('Modbus error:', e)

finally:
    # 关闭 Modbus TCP 客户端连接
    master.close()

在这个例程中,我们首先定义了 Modbus 从站的地址和 Modbus TCP 主机和端口。然后,我们创建了一个 Modbus TCP 客户端对象,并使用 execute() 方法读取了从站的寄存器值。最后,我们打印出读取到的值,并在必要时处理 Modbus 错误。最后,我们关闭了 Modbus TCP 客户端连接。

Modbus_tk 使用例程:读取 Modbus 从站寄存器值

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

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