Skip to main content

Modbus RTU 和 Modbus TCP 的标准库 - 有关文档,请参见 www.EasyModbusTCP.NET

项目描述

EasyModbusTCP - Modbus RTU 和 Modbus TCP 的标准库

安装:

点安装 EasyModbus

要求:

蟒蛇 2.7
蟒蛇 3.6

pyserial(仅适用于 Modbus RTU)

支持的功能码

  • 读取线圈 (FC1)
  • 读取离散输入 (FC2)
  • 读取保持寄存器 (FC3)
  • 读取输入寄存器 (FC4)
  • 写单线圈 (FC5)
  • 写单个寄存器 (FC6)
  • 写入多个线圈 (FC15)
  • 写入多个寄存器 (FC16)

开始 - 示例 1(从 Modbus-TCP 服务器读取两个保持注册)

首先我们创建一个 Modbus-TCP 类的实例(服务器 IP 地址和端口),然后我们从服务器读取 2 个保持寄存器。
重要提示:通常在请求和服务器地址范围之间存在寄存器移位服务器地址范围以地址“1”开头,但发送的请求以“0”开头 在示例方法调用中,我们读取寄存器 1 和 2(因为注册“0”不存在)这就是它的指定方式,但不幸的是并不总是按照某些设备的规定实现 请检查您设备的文档(或尝试一下)

import easymodbus.modbusClient

#create an instance of a Modbus-TCP class (Server IP-Address and Port) and connect
modbus_client = easymodbus.modbusClient.ModbusClient('192.168.178.110', 502)
modbus_client.connect()

#The first argument is the starting registers, the second argument is the quantity.
register_values = modbus_client.read_holdingregisters(0, 2)

print("Value of Register #1:" + str(register_values[0]))
print("Value of Register #2:" + str(register_values[1])) 

#Close the Port
modbus_client.close()

###查看“示例”文件夹中的以下代码示例:

示例 1.1:与 Siemens S7 PLC 的数据交换 - 向 PLC 读取和写入一些值并在控制台上打印的简单示例。
此文件夹包含 python 示例代码 (example1.py) 和 Siemens TIA-Portal 项目

访问www.EayModbusTCP.net了解更多信息和代码示例

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

EasyModbus-1.4.0.tar.gz (11.7 kB 查看哈希)

已上传 source