This is topic Прекращение обмена по протоколу MODBUS RTU in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/45/t/000312.html

Posted by Artem.Polyakov (Участник № / Member № 6577) on :
 
Добрый день!
Проблема следующая:
В Trace Mode настроен сбор данных (несколько ТС и ТИ) с устройства по протоколу MODBUS RTU. Данные собираются нормально, но только в течение небольшого промежутка времени (около минуты). Потом сбор данных останавливается.
Сниффер показывает, что обмен идет в штатном режиме до тех пор, пока RTU отвечает на все запросы. Затем профайлер отсылает запрос, на который RTU не отвечает (запрос "потерялся"), и на этом опрос заканчивается.
После перезапуска профайлера все повторяется.

Версия TraceMode 6.09 (для отладки используется профайлер).

P.S.
Лог файл <имя проекта>_0.txt содержит много повторяющихся строк:
ERR_RS:COM1 err=3 oserr=995

Прошу дать комментарий. Спасибо.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Сообщение в протоколе профайлера говорит о том, что в COM-порт не удается послать запрос (ошибка записи через API COM-порта - отказ со стороны ОС).
Как организован физический канал?
Нет ли других приложений, использующих этот COM-порт?
 
Posted by Artem.Polyakov (Участник № / Member № 6577) on :
 
Устройство RTU подключено напрямую к порту RS-485.
Запущены сниффер и профайлер Trace Mode.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Какой конвертор для RS 485 используется?
Требует ли он управления приемо-передачей? Соответственно ли настроен Ваш COM-порт?

Нет ли необходимости в согласовании линии RS 485?
Какой таймаут на ожидание ответа указан вами в настройках COM-порта?
Можно попробовать искусственно увеличить таймаут.
 
Posted by Artem.Polyakov (Участник № / Member № 6577) on :
 
Используется промышленный компьютер (на Windows) со встроенным портом RS-485.
Таймаут COM-порта установлен в 1000 мс.
MODBUS Poll, запущенный на этом же компьютере, опрашивает RTU без подвисаний. Периодически возникают ошибки таймаута, но опрос при этом не останавливается.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
MODBUS Poll реализует тот же регламент опроса (адреса и количество переменных, период опроса, тот же COM-порт с теми же настройками и пр.)?

Тот же проект, запущенный на офисном ПК, работает с теми же проблемами?
Тот же проект на промышленном компьютере при обмене с эмулятором Modbus_Slave, например, ModSim32, запущенным на офисном ПК, работает без проблем?
 
Posted by Artem.Polyakov (Участник № / Member № 6577) on :
 
MODBUS Poll позволяет настроить 1 диапазон опроса, который не совпадает с набором каналов в Trace Mode. Период опроса и настройки порта идентичные.
В какой-то момент проблема решилась сама собой. Возможно, проблема была в отсутствии согласующего сопротивления или плохом контакте проводов. Также в одном из снифферов я выставил флаг «Очищать буфер после неправильно принятого кадра». В общем причина остановки опроса так и не выявлена, также как и методика устранения.
Вопрос можно считать закрытым.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Очень похоже, что возникает нарушение регламента работы RS 485, в частности из-за плохого качества сигнала или несогласованности линии. При этом на линии могут ложно образоваться 2 передатчика или возникнуть отказ в управлении приемо-передачей.

Trace Mode 6 работает с COM-портом через API ОС и воспринимает соответствующие ошибки, возвращаемые ОС (см.пост от 16-01-2015 12:42).
Не исключено, что MODBUS Poll обходит отказы ОС либо прямым обращением к регистрам порта, либо его принудительной реинициализацией.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2