pymodbus启动一个简单的modbus tcp server

pymodbus启动一个简单的modbus tcp server

文章目录

前言

pymodbus是一个用Python实现的Modbus协议库,支持Modbus RTU、ASCII和TCP/IP通信。它提供了客户端(主站)和服务器(从站)的实现,适用于工业自动化、物联网(IoT)等场景。[1](#1)[2](#2)

主要功能:

  • 协议支持:兼容Modbus RTU、ASCII、TCP/IP。
  • 同步/异步操作:支持同步和异步(基于asyncio)通信模式。
  • 客户端与服务器:提供ModbusClient(主站)和ModbusServer(从站)的实现。
  • 功能码覆盖:支持常用功能码如读取线圈(Read Coils)、写入寄存器(Write Registers)等。

实现

python 复制代码
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 storage
	    address=address
	)

运行程序

复制代码
"Python312\python.exe" e:/.../modbus_tcp_test/modbus_tcp_server.py
Modbus TCP server is running...

测试

这里使用Mthings作为modbus调试助手。


  1. Modbus协议及基于Python的ModbusTCP客户端实现_python modbus-CSDN博客 ↩︎

  2. python使用pymodbus库进行modbus tcp通信-CSDN博客 ↩︎

相关推荐
2501_9130613415 分钟前
网络原理知识(6)
java·网络·网络协议·面试
被摘下的星星24 分钟前
传输控制协议(TCP)
服务器·网络·tcp/ip
positive_zpc41 分钟前
计算机网络——运输层
网络·计算机网络
克莱因35843 分钟前
思科Cisco 静态NAT
服务器·网络·思科
环流_1 小时前
网络原理-TCP协议
服务器·网络·tcp/ip
路溪非溪1 小时前
wireshark抓包来看下TCP协议
网络·tcp/ip·wireshark
锅挤2 小时前
计算机网络复习(第三章):数据链路层
网络·网络协议·计算机网络
南村群童欺我老无力.2 小时前
鸿蒙网络请求的错误处理与超时管理
网络·华为·harmonyos
志栋智能2 小时前
超自动化安全:让安全防护从“有效”到“高效”
运维·网络·人工智能·安全·自动化
北方的流星2 小时前
华三交换机MSTP+VRRP配置
运维·网络·华三