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

相关推荐
FW-Linker32 分钟前
多链路聚合如何降低直播音画不同步概率?从网络抖动到数据包级拆分
网络·5g·智能路由器
逐梦之程35 分钟前
EXCEL与DBC格式互转软件
运维·服务器·网络
重生之高冷汉堡包1 小时前
什么是数据中心代理?原理拆解、类型区别、应用场景与选型指南
服务器·网络·数据库·安全·ip
青衫客361 小时前
从网卡到 Socket:再探 Linux 网络协议栈与 iptables 数据包处理流程
linux·网络·网络协议
水水不水啊1 小时前
告别切换N个窗口调试:我用 Python + WebView 做了款现代化串口助手(含 TCP/UDP、波形、协议解析)
python·tcp/ip·udp
承渊政道1 小时前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
崽崽..1 小时前
【Linux】网络编程的调试工具以及连接失败的具体排查方法
linux·网络
ESDWAN1 小时前
海外股票网络环境优化与交易场景应用:从行情获取到交易系统稳定性设计
开发语言·网络·php
zxanz11 小时前
SSL 证书申请中,服务器验证跟 DNS 解析验证有什么区别?
服务器·网络协议·ssl
pt10432 小时前
Cisco设备网络安全系列-2:管理访问、控制平面与基础设施ACL防护
网络·安全