ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

【Python】Benewake(北醒) TFmini-i 485(Modbus协议)Ubuntu系统上使用Python扫描站号和地址的方法

2022-01-25 18:02:04  阅读:311  来源: 互联网

标签:modbus TFmini Python 说明 Modbus tk import serial red


目录

1 前言

本文主要介绍北醒TFmini-i 485 Modbus协议在Ubuntu系统上使用Python扫描站号和地址的方法,例程仅供参考以及学习使用

2 TFmini-i 485简要说明

详细请参考最新的规格书和使用说明书
可到官网下载最新的资料:http://www.benewake.com/download

2.1 产品图片

在这里插入图片描述

2.1 电气特性

在这里插入图片描述
在这里插入图片描述

2.2 RS485通讯协议

在这里插入图片描述
:Modbus协议详细请参考使用说明书

3 硬件接线说明

在这里插入图片描述
:详细线材颜色请参照使用说明书

4 测试环境说明

4.1 系统软件库说明

  • 系统 :ubuntu 16.04 LTS 64-bit
  • python : 3.5.2 (系统自带)
  • python需求库:
  • pyserial (3.5) (需要安装)
  • time (系统自带)
  • modbus-tk (1.1.2) (需要安装)

4.2 库安装简要说明

关于python第三方库安装可以参考https://pypi.org/
尝试使用pip或者pip3指令安装:详细可以参考下方附录
:pip一般是给python2 使用
pip3一般是给python3使用

pip3 install pyserial
pip3 install modbus-tk

5 例程

# -*- 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="/dev/ttyUSB0"):
    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

6 运行与测试

  • 先把py文件放到Home目录下
    请添加图片描述
  • 运行Terminal查看端口
    查询指令
ls -l /dev/ttyUSB?

请添加图片描述

  • 根据上面查到的端口以及雷达默认协议更改py文件。
    在这里插入图片描述
  • 以上都确认好后再运行
    请添加图片描述

附录

问题1:缺少serial库

如果运行后提示缺少’serial’(如下图),说明缺少pyserial库
在这里插入图片描述
解决:安装’pyserial’库
请添加图片描述

问题2:缺少modbus_tk库

如果运行后提示缺少’modbus_tk’(如下图),说明缺少modbus_tk库
在这里插入图片描述
解决:安装’modbus_tk’库
请添加图片描述

标签:modbus,TFmini,Python,说明,Modbus,tk,import,serial,red
来源: https://blog.csdn.net/zoran_wu/article/details/122689192

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有