我想通过Modbus协议在Raspberry PI(从机)和我的PC机(主)之间建立通信。目前,我正在使用modbus-tk(python)来设置通信协议。在
问题是主机无法从从机读取寄存器。我能知道我的代码有什么问题吗?我很困惑。在
我从Slave得到的错误是:
Handle request failed: Invalid CRC in request or Request length is invalid
我从Master得到的错误是:
ModbusInvalidResponseError
注:目的是使用主机从机读取数据。在
下面是奴隶的代码:import modbus_tk
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu
import serial
import time
modbusServ = modbus_rtu.RtuServer(serial.Serial('/dev/ttyUSB0'),baudrate= 19200,
bytesize=8, parity='N', stopbits=1, xonxoff=0)
print("start")
modbusServ.start()
slave_1 = modbus_tk.modbus.Slave(1)
slave_1.add_block ( "1", modbus_tk.defines.HOLDING_REGISTERS, 1, 5)
aa= (1,2,3,4,5) # data in the register
while True:
slave_1.set_values ("1", 1, aa)
time.sleep(0.5)
下面是主机的代码:
^{pr2}$
非常感谢你的帮助。在