我是靠谱客的博主 优秀白昼,最近开发中收集的这篇文章主要介绍掌握modbus协议(Python),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

**一、pymodbus Python modbus的协议的一种,仅知道支持Ubuntu系统**。

1、https://pymodbus.readthedocs.io/en/latest/
2、https://pymodbustcp.readthedocs.io/en/latest/examples/float_support.html
二、 modbus_tk python 的modbus协议栈,支持不同的操作系统
对寄存器的操作:
# 读保持寄存器
master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 16))
# 读输入寄存器
master.execute(1, cst.READ_INPUT_REGISTERS, 0, 16) # 读线圈寄存器
master.execute(1, cst.READ_COILS, 0, 16)
# 读离散输入寄存器
master.execute(1, cst.READ_DISCRETE_INPUTS, 0, 16)
# 单个读写寄存器操作
# 写寄存器地址为0的保持寄存器
master.execute(1, cst.WRITE_SINGLE_REGISTER, 0, output_value=21)
master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 1)
# 写寄存器地址为0的线圈寄存器,写入内容为0(位操作)
master.execute(1, cst.WRITE_SINGLE_COIL, 0, output_value=0)
master.execute(1, cst.READ_COILS, 0, 1)
# 多个寄存器读写操作
# 写寄存器起始地址为0的保持寄存器,操作寄存器个数为4
master.execute(1, cst.WRITE_MULTIPLE_REGISTERS, 0, output_value=[0,0,0,0])
master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 4)
# 写寄存器起始地址为0的线圈寄存器
master.execute(1, cst.WRITE_MULTIPLE_COILS, 0, output_value=[0,0,0,0])
master.execute(1, cst.READ_COILS, 0, 4)
参数的说明:
slaver 从机地址 modbus TCP时可以忽略该参数
function_code 功能码 modbus_tk.modbus_tcp中定义
starting_address 寄存器起始地址 可设定
quantity_of_x 寄存器数量 可设定
output_value 输出内容 读操作是无效,写操作是输入为List类型
data_format="" 数据格式

最后

以上就是优秀白昼为你收集整理的掌握modbus协议(Python)的全部内容,希望文章能够帮你解决掌握modbus协议(Python)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部