Не удалось прочитать правильный регистр с сервера pymodbusrtu с помощью контроллера (в моем случае TEMCO)
Я создал сервер modbusrtu, используя библиотеку pymodbus на Pi4. Я пишу значения в контексте, используя функцию
def write_data(context,address, value, slave_id_reader,reg_type):
context = context
print(" Adddress =",address,", value =",value,", slave_id :",slave_id_reader," ,reg_type ",reg_type)
# while True:
context[slave_id_reader].setValues(reg_type, address, value)
когда я читаю из программного обеспечения Qmodmaster в Windows, я получаю правильные значения (см. прикрепленное изображение). Но как только я использую другой пи или контроллер (TEMCO). Он не может получить правильные значения. Используя другой pi, который подключен через протокол modbusrtu, я использовал клиентский код, но иногда он считывает значение, а иногда происходит сбой и происходит тайм-аут. При чтении через TEMCO через rs485 или любой контроллер. иногда появляются значения, которые в основном неверны, и в большинстве случаев значений нет. Я проверил настройки сервера на всех из них.
timeout=1,
baudrate=9600,
parity='N',
bytesize=8,
stopbits=1)
Эти настройки одинаковы в контроллере и пи
Я пробовал увеличивать и уменьшать задержку чтения регистра, но ничего не получалось.
Я создал сервер modbus rtu, используя библиотеку pymodbus на python. Я пишу регистрацию с сервера. Во-вторых, на другом pi я сделал клиент, используя библиотеку pymodbus, которая читает с сервера. Оба pi подключены последовательно.
Это журналы, распечатываемые на стороне клиента. Часто происходит разрыв соединения между клиентом и сервером. Иногда читается, а иногда нет
ReadRegisterResponse (65)
ReadRegisterResponse (65)
Modbus Error: [Input/Output] Modbus Error: [Invalid Message] Incomplete message received, expected at least 2 bytes (0 received)
ReadRegisterResponse (65)
ReadRegisterResponse (65)
ReadRegisterResponse (65)
Modbus Error: [Input/Output] Modbus Error: [Invalid Message] Incomplete message received, expected at least 2 bytes (0 received)
ReadRegisterResponse (65)
ReadRegisterResponse (65)