Имеется ПЛК 63, версия прошивки 2.12 12 10. (таргет 2.01, CoDeSys 2.3.9.41)
Понадобилось реализовать обмен с весовым терминалом, работающим на фиксированной скорости 19200. Со следующим форматом 8 бит данных, контроля четности нет, 2 стоп бита. Ни скорость ни формат изменить в терминале нельзя. Протокол обмена нестандартный, поэтому понадобилось применение библиотеки SysLibCom. С ПЛК 63 уже давно не работал так что мог и подзабыть чего-то.
Для тестов была собрана схема: весовой терминал по RS485 соединен с соответствующим портом ПЛК63. Плюс обмен терминала с ПЛК прослушивается с помощью преобразователя I7520 (RS485 в RS232) подключенного к компьютеру. Тестовое приложение приложено.
Итак, что имеем:
1) Терминал получает корректные запросы от ПЛК 63 и корректно отвечает на них причем при любых настройках количества стоп бит в ПЛК 63.
2) ПЛК 63 вместо ответов видит некий мусор и вместо посланных 5-ти байт получает всего 1-2 байта.
3) Если в ПЛК 63 поставить 1,5 или 2 стоп бита в настройках RS485, то контроллер после нескольких (4-8) обменов с терминалом зависает и перезагружается (пробовал менять минимальное время цикла и максимальное тоже - не помогло), а если поставить 1 стоп бит, то эта же программа работает без зависаний и перезагрузок!!!!!!!!!! Также программа будет работать без зависаний при любых настройках количества стоп битов, если терминал отключить, т.е. если контроллер не будет получать ответов.
4)Эта же программа под ПЛК110 работает нормально, т.е. контроллер спокойно читает вес с весового терминала.
Для имитации терминала можно в ответ на
F001303061
послать
F041030044
или вообще что нибудь послать это для воспроизведения перезагрузок с 1.5 и 2 стоп битами.
Приведенные выше запрос и ответ содержат по 5 байт и их текст указан в hex формате.
Возникают вопросы, то-ли в ПЛК 63 есть некие опции, которые нужно дополнительно настроить для применения SysLibCom, то-ли его RS485 интерфейс не может нормально работать на скорости 19200, особенно, если еще выставлено 1,5 - 2 стоп бита. То-ли в программе есть ошибки, которые не проявляются на ПЛК100.
Подскажите в какую сторону копать?