实现步骤:

  1. 安装 pymodbus 库,可以使用 pip install pymodbus 命令进行安装。

  2. 导入 pymodbus 库中的 ModbusTcpClient 类。

  3. 创建 ModbusTcpClient 实例,指定控制器的 IP 地址和端口号。

  4. 调用 connect() 方法建立连接。

  5. 如果连接成功,则可以定时执行指令,可以使用 threading 模块中的 Timer 类来实现定时执行。

  6. 在定时器回调函数中,调用 ModbusTcpClient 实例的 write_register() 方法来写入寄存器值。

  7. 在程序结束时,调用 ModbusTcpClient 实例的 close() 方法来关闭连接。

示例代码:

from pymodbus.client.sync import ModbusTcpClient
import threading

# 控制器的 IP 地址和端口号
HOST = '192.168.0.1'
PORT = 502

# Modbus 寄存器地址
ADDRESS = 0x1000

# Modbus 寄存器写入值
VALUE = 0x1234

# 创建 ModbusTcpClient 实例
client = ModbusTcpClient(HOST, PORT)

# 建立连接
client.connect()

# 定时器回调函数
def write_register():
    # 写入寄存器值
    client.write_register(ADDRESS, VALUE)

    # 重新启动定时器
    timer = threading.Timer(5.0, write_register)
    timer.start()

# 启动定时器
timer = threading.Timer(5.0, write_register)
timer.start()

# 程序结束时关闭连接
client.close()
``

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

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