pymodbus启动一个简单的modbus tcp server
pymodbus启动一个简单的modbus tcp server
文章目录
- 前言
- 实现
- 测试
前言
pymodbus是一个用Python实现的Modbus协议库,支持Modbus RTU、ASCII和TCP/IP通信。它提供了客户端(主站)和服务器(从站)的实现,适用于工业自动化、物联网(IoT)等场景。12
主要功能:
- 协议支持:兼容Modbus RTU、ASCII、TCP/IP。
- 同步/异步操作:支持同步和异步(基于asyncio)通信模式。
- 客户端与服务器:提供ModbusClient(主站)和ModbusServer(从站)的实现。
- 功能码覆盖:支持常用功能码如读取线圈(Read Coils)、写入寄存器(Write Registers)等。
实现
from pymodbus.server import (StartTcpServer,
)
from pymodbus.datastore import (ModbusSequentialDataBlock,ModbusServerContext,ModbusDeviceContext,
)datablock = ModbusSequentialDataBlock.create()
context = ModbusDeviceContext(di=datablock,co=datablock,hr=datablock,ir=datablock,)
single = True# Build data storage
store = ModbusServerContext(devices=context, single=single)if __name__ == '__main__':address = ("127.0.0.1", 502)StartTcpServer(context=store, # Data storageaddress=address)
运行程序
"Python312\python.exe" e:/.../modbus_tcp_test/modbus_tcp_server.py
Modbus TCP server is running...
测试
这里使用Mthings作为modbus调试助手。
Modbus协议及基于Python的ModbusTCP客户端实现_python modbus-CSDN博客 ↩︎
python使用pymodbus库进行modbus tcp通信-CSDN博客 ↩︎