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

相关推荐
wuyk55512 小时前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
XUEYUAN521214 小时前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
QYRdata15 小时前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK15 小时前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang199216 小时前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖16 小时前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing202316 小时前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk55516 小时前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落16 小时前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp
云运维笔记17 小时前
华为设备IP地址配置全攻略
运维·网络·计算机网络·华为