0

I add a slave to transfer Data to a Master (separate Device). The problems start, when I connect the device. I get the errors:

invalid request: Invalid CRC in request
invalid request: Request length is invalid 2
invalid request: Request length is invalid 1

This is my code stripped down to the basic functions to set up a slave:

import modbus_tk.defines as cst
from modbus_tk import modbus_rtu
import serial

server1 = modbus_rtu.RtuServer(serial.Serial('/dev/ttyUSB1', 9600, 8, "N", 1))

# server1.interframe_multiplier = 20
# server1.interchar_multiplier = 5
server1.set_timeout = 0.5 
slave1 = server1.add_slave(1)
# Add some registers
number_of_reg = 3200
slave1.add_block('0', cst.HOLDING_REGISTERS, 0, number_of_reg) #(Slave_id, cst..., start-adress, number of registers)

# fill all registers
for i in range(number_of_reg):
     slave1.set_values('0', i, 0)

server1.start()

I changed timeout and even interframe and interchar

# server1.interframe_multiplier = 20
# server1.interchar_multiplier = 5
server1.set_timeout = 0.5 
  • Further Information: I set my device between a Master and a Smartmeter. Master reads successfully from Smartmeter. I can read data successfully from a smartmeter. But when i open a server with the same inputs, i get an error like that: invalid request: Request length is invalid 1 I have also tried do switch cables A and B, but that didn't solve it. – Bert Ernip Apr 07 '23 at 18:07

0 Answers0