Я пытаюсь опросить данные с инструмента, который использует протокол ModBus через pyserial.Мне нужно знать, как предотвратить отправку команды pyserial в ascii.
Вот что я сделал:
Используя RealTerm, я подключился к инструменту и отправилэту команду и нажмите «Отправить как числа»: 0x33 0x03 0x9D 0xA4 0x00 0x02 0xAE 0x56.Отправка этой строки как числа смогла правильно опросить данные: 33 03 04 BE CE 5C A8 94 99;например, «BE CE 5C A8» переводится в -0,4030, то есть в число, которое инструмент показывает на своем экране.
Использование RealTerm и той же команды, если я нажму «Отправить»как ASCII ", опрошенные данные будут неверными: 30 F8 04 33 CC 44 A0 04 48 16 78 B0 04 85 DA, которые я не могу соотнести с числом, показанным на экране прибора.
Возвращаясь к Python и pyserial, когда я попытался записать через последовательный порт, используя serial.write ("0x33 0x03 0x9D 0xA4 0x00 0x02 0xAE 0x56"), я получил те же данные, что и на шаге 2.
Поэтому мне кажется, что serial.write () отправляет команду как ASCII.Кто-нибудь знает, как я могу отправить эти данные аналогично RealTerm, шаг 1?