当前位置: 首页 > news >正文

大淄博人才网济南seo

大淄博人才网,济南seo,做变性手术视频网站,特产网站开发背景python实现ModBusTCP协议的server是一件简单的事情#xff0c;只要通过pymodbus、pyModbusTCP等模块都可以实现#xff0c;本文采用pymodbus。 相关文章见#xff1a; python实现ModBusTCP协议的client-CSDN博客 一、了解pymodbus的Server 1、pymodbus.server的模块 pym…python实现ModBusTCP协议的server是一件简单的事情只要通过pymodbus、pyModbusTCP等模块都可以实现本文采用pymodbus。 相关文章见 python实现ModBusTCP协议的client-CSDN博客 一、了解pymodbus的Server 1、pymodbus.server的模块 pymodbus.server中的模块能够用于用于实现 Modbus 协议的服务器端。以下是每个模块的功能介绍 1ModbusSerialServer: 这个模块提供了一个基于串口的 Modbus 服务器。它允许通过串口与 Modbus 客户端通信。 2ModbusTcpServer: 这个模块提供了一个基于 TCP/IP 的 Modbus 服务器。它通过 TCP/IP 网络接口与 Modbus 客户端通信。 3ModbusTlsServer: 这个模块提供了一个基于 TLS 加密的 Modbus 服务器。它通过安全的 TLS 连接与 Modbus 客户端通信确保通信的安全性。 4ModbusUdpServer: 这个模块提供了一个基于 UDP 的 Modbus 服务器。与 TCP 不同UDP 是一种面向无连接的协议适用于某些特定的网络环境。 5ServerAsyncStop: 这个类用于异步服务器的停止信号。通过发送这个信号可以优雅地停止异步服务器的运行。 6ServerStop: 这个类用于同步服务器的停止信号。与 ServerAsyncStop 类似但用于同步服务器。 7StartAsyncSerialServer: 这个函数用于启动一个异步的基于串口的 Modbus 服务器。 8StartAsyncTcpServer: 这个函数用于启动一个异步的基于 TCP/IP 的 Modbus 服务器。 9StartAsyncTlsServer: 这个函数用于启动一个异步的基于 TLS 加密的 Modbus 服务器。 10StartAsyncUdpServer: 这个函数用于启动一个异步的基于 UDP 的 Modbus 服务器。 11StartSerialServer: 这个函数用于启动一个同步的基于串口的 Modbus 服务器。 12StartTcpServer: 这个函数期望用于启动一个同步的基于 TCP/IP 的 Modbus 服务器。备注源码其实是异步的 13StartTlsServer: 这个函数期望用于启动一个同步的基于 TLS 加密的 Modbus 服务器。备注源码其实是异步的 14StartUdpServer: 这个函数期望用于启动一个同步的基于 UDP 的 Modbus 服务器。备注源码其实是异步的 这些模块和函数提供了多种不同类型的 Modbus 服务器的实现方式可以根据具体的需求选择合适的模块和函数来创建和启动 Modbus 服务器。 2、模块的选用 StartAsyncTcpServer 和 StartTcpServer 是 pymodbus 库中用于启动 Modbus TCP 服务器的两种不同的方法其主要区别在于同步Synchronous和异步Asynchronous执行方式。 1StartAsyncTcpServer异步方式 StartAsyncTcpServer 是一个异步函数它使用 Python 的 asyncio 模块来实现异步的 Modbus TCP 服务器。在异步编程中事件循环event loop可以处理多个任务使得程序在等待某些耗时操作比如 I/O 操作时不会被阻塞。这意味着它可以同时处理多个客户端连接提高了服务器的并发性能。 该函数的调用方式是异步的需要在异步上下文比如异步函数内部或者异步脚本中使用。 2StartTcpServer同步方式 StartTcpServer 是一个同步函数它使用 Python 的标准同步执行方式会阻塞当前线程。在同步模式下每次只能处理一个客户端连接。这意味着服务器只能顺序处理客户端请求一个接一个地处理。 该函数的调用方式是同步的可以在任何地方调用。 总之选择哪种方式取决于你的应用场景。如果需要处理大量并发连接并提高性能可以选择异步方式如果简单的同步处理能够满足需求可以选择同步方式。 本文采用StartAsyncTcpServer所以他涉及到的模块是StartTcpServer源码如下 def StartTcpServer(**kwargs): # pylint: disableinvalid-nameStart and run a serial modbus server.return asyncio.run(StartAsyncTcpServer(**kwargs)) 如果要停止异步需要调用ServerAsyncStop模块。 二、一个Demo 1、服务端读写自身的保持寄存器的示例 import asyncio import threading import time import json from pymodbus.server import StartTcpServer, ServerAsyncStop from pymodbus.datastore import ModbusSequentialDataBlock, ModbusSlaveContext, ModbusServerContextif __name__ __main__:# Modbus TCP服务器的IP地址和端口号server_ip 192.168.1.188port 502station 1# 创建一个数据存储区用于存储从客户端读取的数据store ModbusSlaveContext(hrModbusSequentialDataBlock(0, [0] * 100))# 创建一个服务器上下文用于处理客户端的请求context ModbusServerContext(slavesstore, singleTrue)# 启动ModBusTCP服务器# 创建并启动线程启动异步服务器# StartTcpServer(contextcontext, address(server_ip, port))modbus_server_thread threading.Thread(targetStartTcpServer, kwargs({context:context, address:(server_ip, port)}))modbus_server_thread.start()# 设置保持寄存器的0地址的值为s# 定义函数参数fc_as_hex 0x03 # 功能码例如读保持寄存器是0x03write_address 0 # 起始地址read_address 10read_count 1values [115] # 触发指令s 要设置的多个值列表,如[10, 20, 30]# 调用函数,设置0地址为触发指令sstore.setValues(fc_as_hex, write_address, values)# 获取保持寄存器的值并打印hr_values store.getValues(3, read_address, countread_count)print(Hold Register Values:, hr_values)assert hr_values [0], print(测试失败!)time.sleep(10)try:print(停止服务器)asyncio.run(ServerAsyncStop()) # 停止服务器except:pass
http://www.dnsts.com.cn/news/45550.html

相关文章:

  • 网站索引量突然下降公司网站设计图片
  • 怎么做网站反向链接免费ppt模板下载 知乎
  • 能够做数据地图的网站太原网站建设联系方式
  • dw简述网站开发流程软件开发项目甘特图
  • 长春个人网站制作公司wordpress 预览pdf
  • 个人兴趣网站设计电子商务具体干嘛的
  • 深圳外贸网站建设服务商高性能网站建设进行指南
  • u盘搭建网站开发环境方法快速搭建企业网站
  • 破解软件网站安徽六安特产
  • 上海做网站比较有名的公司网站建设 运维 管理
  • 房地产网站建设公司网网站建设与设计
  • 常州做网站价位万网域名解析后台
  • 建设信用卡网站免费房屋设计装修
  • 西安做网站哪家公司好如何制作一个公司网站
  • 厦门建设公司网站龙岩网站建设哪里比较好
  • 站长之家网站素材网站建设和购买区别
  • 百度网站推广网络网站建设专家评审意见
  • 网络销售怎么做自己的网站买了域名之后怎么用
  • 蒙古文门户网站建设督导品牌建设教材
  • 重庆网站推广怎么查询网站开发时间
  • 网站收费板块怎么做公司宣传推广方案
  • 电商运营网站哪里做公司网站
  • 口碑好的天津网站建设wordpress 授权协议
  • 网站建设可行性研究报告范文百度云搜索引擎入口百度网盘
  • 硬件开发公司外贸网站seo招聘
  • wordpress制作网站佛山网站seo公司
  • 中国建设招标网是私人网站吗线上装修设计
  • 专业制作网站用哪些软件wordpress文章页面
  • 营销导向网站建设流程整站优化外包服务
  • 古蔺中国建设银行网站wordpress 询盘