本文主要介绍北醒TFmini-i 485 Modbus协议在Ubuntu系统上使用Python扫描站号和地址的方法,例程仅供参考以及学习使用
详细请参考最新的规格书和使用说明书
可到官网下载最新的资料:http://www.benewake.com/download
注:Modbus协议详细请参考使用说明书
注 :详细线材颜色请参照使用说明书
关于python第三方库安装可以参考https://pypi.org/
尝试使用pip或者pip3指令安装:详细可以参考下方附录
注 :pip一般是给python2 使用
pip3一般是给python3使用
pip3 install pyserial pip3 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="/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
ls -l /dev/ttyUSB?
如果运行后提示缺少’serial’(如下图),说明缺少pyserial库
解决:安装’pyserial’库
如果运行后提示缺少’modbus_tk’(如下图),说明缺少modbus_tk库
解决:安装’modbus_tk’库