Benewake(北醒) TFmini-i-485/TF02-i-485/TF03-485 雷达Modbus协议在Python上读取数据的案例

该博客介绍了如何在Python环境下,使用modbus_tk库实现通过485接口读取采用Modbus协议的雷达模块数据。实验在Windows10系统和Python3.8.6环境下进行,主要涉及serial串口库和modbus_tk库。通过设置串口参数,读取保持寄存器,并展示了读取结果。程序中包含了错误处理和定时读取的机制。
摘要由CSDN通过智能技术生成

实验目的

实现485接口系列雷达Modbus协议在Python上实现读取的功能。

测试环境

Window 10、Python 3.8.6

Python 库需求

  • serial 串口库(自带)
  • time 定时库(自带)
  • modbus_tk Modbus库(需要安装)

库安装说明

确保已经完整安装Python(并安装PIP)
打开CMD窗口输入以下指令

pip install modbus_tk

安装成功界面
在这里插入图片描述

例程:

# -*- coding: utf_8 -*-
import serial
import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu
import time           #添加定时器

def mod(PORT="com21"):
    red = []
    alarm = ""
    try:
        # 设定串口为从站
        master = modbus_rtu.RtuMaster(serial.Serial(port=PORT,
                                                    baudrate=115200, bytesize=8, parity='N', stopbits=1))
        master.set_timeout(5.0)
        master.set_verbose(True)

        # 读保持寄存器
        red = master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 2)  # 这里可以修改需要读取的功能码
        print(red)
        alarm = "正常"
        return list(red), alarm

    except Exception as exc:
        print(str(exc))
        alarm = (str(exc))

    return red, alarm  ##如果异常就返回[],故障信息

if __name__ == "__main__":
    while 1:
        mod()
        time.sleep(0.05) #500ms


COM口需要选择转接板对应的口

结果:

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值