Страница 1 из 1

Зависание панели eMT 3070A

СообщениеДобавлено: 25 сен 2013, 14:16
LunoXod-3
Добрый день!
Столкнулся с таким явлением: панель опрашивает 3 модбас-устройства, читая из них по 100 регистров, и зависает через пару дней. Протокол - Modbus-RTU, RS-485 2w, панель - мастер. Опрос ведется макросом, который выполняется раз в 2 секунды. Через примерно двое суток работы перестает отвечать отладчику, не пингуется по ethernet, экранчик не реагирует, однако моргает диод связи (крайний левый). Журнал событий тоже вестись перестает.

Кто-нибудь использовал такие или подобные панельки в таком режиме? Встречалось ли такое, и есть ли идеи, как это вылечить?

Специалист поставщика посоветовал очищать буфер ком-порта перед вычиткой (PURGE()), но это не спасло. Графика в панели используется примитивная, никаких больших картинок/анимации.

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 25 сен 2013, 17:33
Denis
-возможно из-за сбоя в обмене макрос в течение 2х секунд не получает данных, после чего вызывается еще раз и все виснет
-можно попробовать перезагружать панель при обрыве связи- есть такой битик LB-9049

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 26 сен 2013, 06:28
LunoXod-3
Сторожевой таймер включен, но он не срабатывает. Со связью-то вроде бы все нормально: для вычитки использую GetDataEx, таймаут опроса - 1 секунда, GetError всегда возвращает 0.

Хотя, устройств-то 3 штуки, а значит каждое по секунде может потупить. Может ещё выполняющийся макрос быть вызван еще раз и привести к конфликту?

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 26 сен 2013, 15:19
Denis
Да, я об этом и говорю. Скорее всего из-за задержки в получении данных с устройства макрос еще не закончил выполняться, а система его вызывает еще раз. Это приведет к зависанию.

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 30 сен 2013, 12:03
LunoXod-3
Нет, похоже дело не в этом. Поставил интервал между вызовами макроса в 2 раза больше, все равно через 2 дня повисла... Интервала в 5 секунд по идее должно было хватить: 90 регистров читаются одним запросом, таймаут 1 секунда, значит макрос максимум 3 секунды может тупить. И почему именно двое суток - ни больше, ни меньше?

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 08 окт 2013, 10:44
LunoXod-3
а как панелька отреагирует на макрос вот с таким кодом:

Код: Выделить всё
...
ASYNC_TRIG_MACRO(0)
ASYNC_TRIG_MACRO(1)
...

?

А то терзают смутные сомненья...

Re: Зависание панели eMT 3070A

СообщениеДобавлено: 07 ноя 2013, 09:07
LunoXod-3
А может такое поведение быть вызвано использованием пользовательских меток в большом количестве? Может быть это косяк ИзиБилдера?

Переделал проект с нуля вообще без их использования - вроде бы исправно трудится...