pip install modbus_tk  无法安装,去官网下载在 PIP 

Modbus Slave / Poll

Modbus Slave(用来模拟客户端(从))和Modbus Poll(用来模拟服务端(主)) 
Modbus Poll是非常流行的Modbus Master模拟器,用于测试和调试从设备。支持Modbus RTU / ASCII和Modbus TCP / IP。


一,模拟器的使用

1.1配置Modbus民意调查

配置Modbus Poll的连接

配置Modbus Poll的参数

参数说明

TX:向主站发送数据帧的次数 
错误:通讯错误次数 
ID:模拟的Modbus子设备的设备地址 
F:使用的的Modbus功能码 
SR:扫描周期

从站ID:Modbus从站地址 
功能:
寄存器的功能码  地址:寄存器起始地址,默认从0开始 
数量:寄存器连续个数,默认为10个
扫描速率:读取数据的周期,单位毫秒,默认1000ms

寄存器功能码

代码 中文名称 寄存器PLC地址 位操作/字操作 操作数量
01 读线圈状态 00001-09999 位操作 单个或多个
02 读离散输入状态 10001-19999 位操作 单个或多个
03 读保持寄存器 40001-49999 字操作 单个或多个
04 读输入寄存器 30001-39999 字操作 单个或多个
05 写单个线圈 00001-09999 位操作 单个
06 写单个保持寄存器 40001-49999 字操作 单个
15 写多个线圈 00001-09999 位操作 单个
16 写多个保持寄存器 40001-49999 字操作 单个

1.2配置Modbus Slave

配置Modbus Slave的连接

选择的TCP / IP协议。IP配置地址(只能是本地),端口号。

配置Modbus Slave的参数

参数说明

Slave ID:Modbus从站地址,默认为1
功能:寄存器功能码

寄存器功能码

代码 中文名称 寄存器PLC地址 位操作/字操作 操作数量
01 读线圈状态 00001-09999 位操作 单个或多个
02 读离散输入状态 10001-19999 位操作 单个或多个
03 读保持寄存器 40001-49999 字操作 单个或多个
04 读输入寄存器 30001-39999 字操作 单个或多个

二,模拟器的测试连接

==两端模拟器的配置,直接按照上面的介绍时配置的。==

两个窗口都打开的通信业务量界面(在显示 - >通信...)。用来查看记录。

方式一:

设置Modbus Slave的数值

  • 让2号寄存器每秒增加数值1

如上图,点击OK,就可以在两个窗口中查看到数据信息了。

如下图所示:

数据信息的内容

  • 前6个字节:序号
  • 第7个字节:地址
  • 第8个字节:功能码

方式二:

设置Modbus Poll的数值

  • 让第一个寄存器的数值变为9

如上图,可以看到对应位置的寄存器数值已经改为9。

数据信息的内容

与上一种方式返回出来的数据格式不同

  • 前6个字节:序号
  • 第7个字节:地址
  • 第8个字节:功能码
  • 后4个字节:数值

三,Modbus的Python模块包 - modbus_tk

环境python3.6.2
模拟Modbus Master,编写操控Modbus Slave的Python文件

需要先导入modbus_tk模块

pip install modubs_tk

非常简单的代码,只是连接+执行

import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md# 远程连接到slave端(从)
master = mt.TcpMaster("127.0.0.1", 502)
master.set_timeout(5.0)# @slave=1 : identifier of the slave. from 1 to 247.  0为广播所有的slave
# @function_code=READ_HOLDING_REGISTERS:功能码
# @starting_address=1:开始地址
# @quantity_of_x=3:寄存器/线圈的数量
# @output_value:一个整数或可迭代的值:1/[1,1,1,0,0,1]/xrange(12)
# @data_format
# @expected_length
aa = master.execute(slave=1, function_code=md.READ_HOLDING_REGISTERS, starting_address=1, quantity_of_x=3, output_value=5)
print(aa)  # 取到的所有寄存器的值
print(aa[0])    # 获取第一个寄存器的值

得到的结果:

(11, 753, 18)
11

与Modbus Slave作对照

PYTHON3 Modbus_tk相关推荐

  1. PMCAFF微课17期 - 教你如何用数据玩转移动互联网APP运营(笔记下载)

    先来看一下我们的课程大纲,首先是自我介绍.由于我们是做数据运营,那么需要先进行App的数据概览,接着了解一下数据的组织(是如何运用这些组织来用起App的).然后,谈谈这些数据怎么落地,讲述一些具体的实 ...

  2. modbus_tk与Modubs Slave结合使用

    下载两个软件: Modbus Slave/Poll Modbus Slave(用来模拟客户端(从))和Modbus Poll(用来模拟服务端(主)) Modbus Poll是非常流行的Modbus M ...

  3. modbus_tk 读取浮点数的处理

    modbus_tk 读取浮点数的处理 前言: 用modbus_tk读取实物PLC(信捷)的浮点数值,发现数据不正常.经分析后发现modbus_tk只是把PLC的返回值的两个字存储器按低位在前,高位在后 ...

  4. pip 无法卸载 pillow 解决方案 Not uninstalling pillow at /usr/lib/python3/dist-packages

    1. 问题现象 使用 pip 卸载 pillow 时无法卸载,报如下错误: $ sudo pip3 uninstall pillow Not uninstalling pillow at /usr/l ...

  5. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

  6. Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建

    Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...

  7. python2转python3文件

    python37 -m 2to3.py -w C:\Users\Administrator\Desktop\搜狗细胞词库处理.py 命令 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  8. Python3:ImportError: No module named 'compiler.ast'

    from compiler.ast import flatten 上面这条语句好像在python3 以后就废除了,如果使用的话就会报错. Traceback (most recent call las ...

  9. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

最新文章

  1. Pycharm中导入requests模块详解
  2. 理解学习率以及如何提升深度学习的性能
  3. python绘制3维图-Python 绘制 3 维以上的高维图
  4. tcp http https
  5. android java广播,[原]Android应用程序发送广播(sendBroadcast)的过程分析
  6. Windows之node.js安装
  7. 云计算创业在美国真是如火如荼。
  8. SpringCloudAlibabaSentinel入门教程
  9. java double 初始化_java语言程序员之正确的初始化
  10. 将RP文件导出为HTML文件
  11. python垃圾分类程序_如何利用Python进行垃圾分类
  12. IOS神器-fastlane工具实战-IOS自动化接入应用
  13. C++程序设计:税费计算
  14. 成都1008 hdu4038
  15. 批量修改计算机用户名,域环境下批量修改计算机名
  16. CSP-J1 CSP-S1 第1轮 初赛 考前强化训练
  17. vivo联手京东,打通线上线下营销生态
  18. ipv6审核被拒绝的解决方案
  19. [渝粤教育] 天水师范学院 地球科学概论 参考 资料
  20. 创建桌面快捷方式及锁定到任务栏

热门文章

  1. 川土微电子 | CA-IF1051 CAN-FD收发器
  2. 小白学机器学习西瓜书-第三章对数几率回归
  3. R语言对数线性模型loglm函数_用R语言进行数据分析:常规和广义线性模型
  4. 给文火慢炖的“少儿美术”加点料
  5. 10.数据中台 --- 数据中台运营机制
  6. 节能与环保杂志节能与环保杂志社节能与环保编辑部2023年第2期目录
  7. 32位XP开启直接支持4g内存
  8. 送书|逆向系列-你一定要懂的MD5加密
  9. 如何创建内容安全策略(CSP 标头)
  10. 航空Ethernet嵌入式测试平台ETest