У меня проблема со строками в декодере pymodbus. Например, когда я пытаюсь прочитать abcdefg, pymodbus выдает мне badcfehg. Byteorder и wordorder не меняют результат.
Вот мой код:
result=client.read_holding_registers(25000,4)
decoder = BinaryPayloadDecoder.fromRegisters(result.registers,byteorder=Endian.Little,wordorder=Endian.Big)
decoder.decode_string(8)
Может кто-нибудь объяснить, почему порядок не меняет результат? Пробую со строительом, та же проблема. Однако у меня нет этой проблемы, например, с 32-битными числами с плавающей запятой.
Я также пробовал использовать более старую версию pymodbus, и она работает:
decoder = BinaryPayloadDecoder.fromRegisters(registers,endian=Endian.Little)
Примечание: я уже читал следующий topi c: pymodbus: Проблема с чтением строки и нескольких типов данных с устройства Modbus , но у меня нет доступа к серверу Modbus.