подключение к устройству по RS232

Имеется сортировщик банкнот c интерфейсом RS232 (D Sup 9 pins). Необходимо сделать скрипт запроса на Python, который бы выдавал ответ от устройства. Задача, узнать, способен ли он вообще выдавать информацию какую либо. С родным софтом он может только отдавать информацию, работает . По спецификации TXD и RTX сигналы имеются. Выяснил, что надо использовать библиотеку serial, но запрос не получается составить корректный. введите сюда описание изображения


Ответы (1 шт):

Автор решения: MBo

Существует протокол общения с устройством, в котором описано, какие есть команды, и в каком формате приходят ответы.

Посылаются и передаются байты информации, как их интерпретировать - зависит от этого самого протокола.

Часто команды для удобства выглядят как ANSI-строки типа "COUNT?"0x13 с ответами вроде "COUNT=666"0x13. Нужно техническое описание протокола, попробуйте поискать его для своего устройства.

Если никакой информации не найдётся, можно перехватывать поток данных между родной программой и устройством с помощью программ вроде AccessPort или PortMon (эта только для 32-битных windows) и вычислять нужные команды и формат ответа. Для этого требуется некоторый опыт, и весь протокол так не определить (например, сообщения об ошибках)

import serial

ser = serial.Serial(port='COM11', baudrate=9600, bytesize=serial.EIGHTBITS,
  parity=serial.PARITY_EVEN, stopbits=serial.STOPBITS_ONE, timeout = 2 )
ser.isOpen()
ser.write(outbuf)
inbuf = ser.read(...)
→ Ссылка