Добрый день!
Обращаюсь к разработчикам.
Опишу ситуацию.
Есть 3 штуки СПК210 (прошивка 3.6.0318.1402).
панель1.png
Есть лазерный дальномер с выходом RS422.
Этот дальномер периодически шлет данные в порт (сам, без запросов со стороны).
Дальномер подключен к панели на порт RS485 линиями: Tx+ на D+(A), Tx- на D-(B).
Т.е. от панели не требуется ничего, кроме как читать данные с порта RS485.
Порты на панелях все рабочие (проверял через отдельный NPort, порты RS485 которого соединял с портами панелей -> пересылка данных работает, порты RS485 панелей в порядке).
На Codesys написан простенький проект, который открывает порт RS485 и читает данные из него (реализация при помощи SysCom: SysComOpen2, SysComRead).
Так вот: данные не приходят, SysComRead не возвращает данные в буфере, количество прочитанных байт ноль.
При этом, подключившись к панели через Putty, dmesg сыплет вот такими сообщениями:
Код:
[ 4642.843957] ttyS0: Frame error!
[ 4642.843988] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4643.103948] ttyS0: Frame error!
[ 4643.103978] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4643.363954] ttyS0: Frame error!
[ 4643.363984] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4646.483968] ttyS0: Frame error!
[ 4646.483998] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4646.743931] ttyS0: Frame error!
[ 4646.743960] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4647.263952] ttyS0: Frame error!
[ 4647.263982] ttyS0: maybe rx pin is low or baudrate is not correct!
[ 4648.564151] ttyS0: Frame error!
[ 4648.564193] ttyS0: maybe rx pin is low or baudrate is not correct!
Данные не приходят ни с одного порта RS485.
Подключил датчик к панели другой (СПК 110 М01), загрузил проект, все шикарно, данные идут, буфер заполняется.
Осциллограф, подключенный к линиями A и B на портах Rs485 панелей СПК210, относительно GND показывает вот такую картинку.
Видно, что уровни сигналов хорошие, фронты не завалены, датчик передает биты корректно (между визорами 10 бит, время 86,8мкс = 1/115200 - baudrate 115200).
при подключенной панели - копия.png
Итог: через Moxa UPort1150 (в режиме RS422), Nport отдельный, СПК110 М01- данные принимаются.
На СПК210 (на 3 штуках) на любых RS485 портах - нет.
Что посоветуете?