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博客 ↩︎

相关推荐
一刀到底2116 小时前
springboot3.3.5 集成elasticsearch8.12.2 ssl 通过 SSL bundle name 来实现
网络·elasticsearch·ssl·springboot3
m0_661316236 小时前
modbus_tcp和modbus_rtu对比&移植AT-socket,modbus_tcp&杂记
服务器·网络·tcp/ip
小鸟啄米7 小时前
Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符
网络协议·elixir·onvif
魏 无羡7 小时前
k8s 获取真实ip地址
tcp/ip·容器·kubernetes
eqwaak07 小时前
Matplotlib 动态显示详解:技术深度与创新思考
网络·python·网络协议·tcp/ip·语言模型·matplotlib
不是三毛没有半7 小时前
华为USG6000v2 NAT模式下IPSEC IKE V1 实验
网络·网络安全·华为
Techer_Y7 小时前
云安全服务(参考自腾讯云工程师认证课程)
网络·云计算·腾讯云
cpsvps_net8 小时前
代理连接性能优化:提升网络效率的关键技术与实践
网络·性能优化
KKKlucifer8 小时前
网络安全等级保护:等级保护工作、分级保护工作、密码管理工作三者之间的关系
网络·安全·web安全