modbus学习笔记

本文是一篇关于使用Python的minimalmodbus库进行Modbus通信的学习笔记。通过示例代码,展示了如何初始化仪器,设置波特率和超时时间,并读取寄存器数据。代码中解释了读取数据的步骤,包括指定地址、小数点位数、功能码以及数据的有符号性。最后,给出了读取温度数据并打印的示例。
部署运行你感兴趣的模型镜像

minimalmobus库的api说明

参考 https://minimalmodbus.readthedocs.io/en/stable/

# 安装minimalmobbus库 
pip install minimalmodbus

示例代码–学习笔记

16进制式是:0--F

# -*- coding:utf-8 -*-
"""modbus测试"""

from time import sleep

import minimalmodbus

# 创建一个实例,第一个参数是端口号,第二个参数9是modbus设备的地址(一个设备可以连多个地址)
inst = minimalmodbus.Instrument('COM#', 9)
# 设置实例的波特率为9600
inst.serial.baudrate = 9600
# 设置超时时间为1
inst.serial.timeout = 1
# 09 03 00 00 00 01 85 42   # 注释
"""读取数据"""
# 第一个参数0是地址位(寄存器地址,对应的刚才的00 00,十进制就是0)
# 第二个参数1是小数点的位数,不是读取数据的量(该函数仅读取一个数据,读取多个数据用registers),读取的数据是(16进制)DF,转换为10进制,就是223,(1代表一位小数点)一位小数点就是22.3
# 第三个参数3是功能码
# 第四个参数可选,设置是否有符号,True就是有符号,温度是有负值的,要设置为True
temp = inst.read_register(0, 1, 3, signed=True)
# 打印输出读取的数据,这里打印的数据是room T=22.3°C
print("room T=" + str(temp) + "°C")

# 注意是想,读取完第一个地址要留一点间隔时间,不然会报错
sleep(0.5)

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

freemodbus 是一款开源的Modbus通信协议栈,用于实现Modbus通信协议的开发。通过学习freemodbus,我收获了许多知识和技能。 首先,在学习freemodbus时,我了解到了Modbus通信协议的基本原理和工作方式。Modbus是一种常用的串行通信协议,主要用于工业自动化领域中设备之间的通信。它使用简单的请求-响应机制进行数据传输,包括读取和写入寄存器等功能。通过freemodbus学习,我了解到了Modbus通信协议的组成结构、数据帧格式以及常用的功能码等。 其次,通过实践freemodbus的使用,我学会了如何在嵌入式系统中实现Modbus通信功能。freemodbus提供了一系列的接口函数,可以方便地实现Modbus主站和从站的功能,并支持多种串口通信方式,如RS485、TCP等。学习过程中,我熟悉了freemodbus的API函数的使用方法,掌握了创建、初始化和配置Modbus通信对象的技巧。 另外,通过使用freemodbus,我学到了一些调试和排错的技巧。在实际应用中,由于硬件、软件等多种因素的影响,可能会出现通信故障或数据错误的情况。通过freemodbus的调试工具和相关的日志输出,我学会了如何在开发过程中定位和解决各种问题,提高了软件开发的技能和经验。 总体来说,学习freemodbus是一次非常有益的经历。通过这个学习过程,我不仅掌握了Modbus通信协议的原理和应用,还提高了嵌入式软件开发的能力。我相信,在今后的工作中,我可以更好地应用freemodbus开发各种工业自动化设备和系统。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值