我正在尝试使用Raspberry Pi 3B(运行Ubuntu Mate 16.04操作系统)作为Master来读取支持Modbus-RTU协议的电能表的值 .
我使用RS232 / USB适配器和RS485 / RS232适配器连接仪表和Raspberry Pi上的USB端口 . 我已经尝试了 modbus_tk 0.5.7 和 MinimalModbus 来实现 Modbus-RTU 协议下的通信 .
当我使用 modbus_tk 0.5.7 并运行以下代码时:
import sys import serial
#add logging capability import logging import modbus_tk import modbus_tk.defines as cst import modbus_tk.modbus_rtu as modbus_rtu
logger = modbus_tk.utils.create_logger("console")
if __name__ == "__main__":
try:
#Connect to the slave
master = modbus_rtu.RtuMaster(serial.Serial(port="/dev/ttyUSB0", baudrate=9600, bytesize=8, parity='N', stopbits=1, xonxoff=0))
master.set_timeout(5.0) #Change the timeout value/Defines a timeout on the MAC laye