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

相关推荐
江畔何人初6 小时前
iptables 和 IPVS 代理模式 Service 的区别
linux·运维·服务器·网络·云原生·kubernetes·代理模式
123过去9 小时前
nfc-list使用教程
linux·网络·测试工具·安全
攻城狮在此10 小时前
华三交换机链路聚合配置(三层聚合)
网络·华为
evo-master11 小时前
网络故障排除方法
linux·服务器·网络
Johnstons11 小时前
网络流量监控工具怎么选
运维·网络·网络故障排除·网络流量分析·网络性能监控
jiankeljx13 小时前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
三三有猫14 小时前
代理IP:按流量还是按IP/时长计费更划算?
网络·网络协议·tcp/ip
A.A呐15 小时前
【Linux第十九章】网络基础
linux·网络
程序猿追15 小时前
HarmonyOS 6.0 网络请求深度解析:从基础调用到生产级封装
网络·华为·harmonyos
桌面运维家15 小时前
BGP路由优化实战:加速收敛,提升网络稳定性
网络·windows·php