This is topic Работа с LG-ig5 по Modbus RTU in forum Микро Мониторы Реального Времени / Micro Real Time Monitors at Форум TRACE MODE: техническая поддержка.
Проверяем работу двух частотных преобразователей LG -IG5 протоколу MODBUS RTU: СОМ2-I-7520-RS485.Скорость 9600,8-n-1,Таймаут по СОМ2-300,Период опроса 6Х0.055мс. Осуществляется опрос 8 каналов по каждому преобразователю. Имеются два преобразователя №1 и №2. Расстояние 0.5м,экранировка тщательная. Если работает один из пары (у второго обьекта каналы отключены в редакторе базы каналов),то процент ошибочных транзакций около 1 процента. Если включены оба то ошибочных транзакций около 10 процентов. Сообщения :RS :COM2 check error OUT:01 04 00 00 00 01 31 <1> cd ERR IN0 в основном все записи идентичны. От таймаута по СОМ2 это не зависит. Возможно ли уменьшить количество ошибочных транзакций ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Сообщение с логе типа "OUT:" - показывает, что сервер отправил запрос к устройству (далее набор шестнадцатиричных символов - это кадр запроса). Сообщение типа "IN:" - показывает, что сервер принял в ответ на запрос от устройства в период ожидания по таймауту. В Вашем случае, судя по логу, сервер показывает, что за установленные 300 мс ожидания ответа устройство так ничего и не ответило. Это означает, что Вам необходимо увеличить таймаут в параметрах настройки СОМ-портов. Качество ответа на запросы полностью определяется динамическими характеристиками опрашиваемых устройств. И если задержка ответа от устройства непостоянна (динамически меняется в реальном времени), то это действительно может привести к прогрессирующему ухудшению обмена с возрастанием количества таких устройств в одной линии.
В каких пределах Вы пробовали менять таймаут ожидания ответа от устройства?
Posted by HELLA (Участник № / Member № 104) on :
Таймаут по СОМ2 изменялся в пределах от 100 до 1000 при цикле 6х0.055мс Самое интересное,информация в 90 процентах транзакций поступает правильная.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) Как я уже сообщал выше - необходимо обратиться к производителю данного устройства или документации на него с целью определения времени его задержки при ответе на запрос. Ведь частотный преобразователь может давать задержку на преобразование измеряемой частоты. И если в нем не реализована асинхронность функций измерения частоты и ответа по внешним интерфейсам, то максимальная величина времени преобразования измеряемой величины будет характеризовать латентность (запаздывание) прибора на ответ.
2) Попробуйте другие скорости обмена, отличные от 9600.
Posted by HELLA (Участник № / Member № 104) on :
Экспериментально установлено,что удовлетворительная работа двух преобразователей возможна,если в каждом цикле пересчета пересчитываются каналы ,относящиеся только к одному преобразователю.Это достигается использованием фазового сдвига :период F1,F2,F3,F4 Т.е.если у первого преобразователя каналы К11,К12,К13...К18,а у второго К21,К22,...К28 и в базе они расположены по индексу как К11,К21,....К18,К28 ,то период опроса нужно устанавливать 1F1,1F2,1F3,1F4,1F1,1F2,1F3,1F4,... При этом 2-3 ошибки на 1500 транзакций.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Разнеся каналы по фазам, Вы тем самым увеличили в пять раз период опроса модулей (то бишь увеличился таймаут между запросами к одному модулю). Вероятно такой "отдых" помогает модулю "собраться с силами" для ответа на следующий запрос, что уменьшает количество сбоев.