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

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

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

Сообщение LunoXod-3 » 25 сен 2013, 14:16

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

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

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

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

Сообщение Denis » 25 сен 2013, 17:33

-возможно из-за сбоя в обмене макрос в течение 2х секунд не получает данных, после чего вызывается еще раз и все виснет
-можно попробовать перезагружать панель при обрыве связи- есть такой битик LB-9049
Denis
Администратор
 
Сообщения: 147
Зарегистрирован: 15 авг 2011, 18:33
Откуда: Санкт-Петербург

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

Сообщение LunoXod-3 » 26 сен 2013, 06:28

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

Хотя, устройств-то 3 штуки, а значит каждое по секунде может потупить. Может ещё выполняющийся макрос быть вызван еще раз и привести к конфликту?
LunoXod-3
 
Сообщения: 12
Зарегистрирован: 12 дек 2012, 08:44

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

Сообщение Denis » 26 сен 2013, 15:19

Да, я об этом и говорю. Скорее всего из-за задержки в получении данных с устройства макрос еще не закончил выполняться, а система его вызывает еще раз. Это приведет к зависанию.
Denis
Администратор
 
Сообщения: 147
Зарегистрирован: 15 авг 2011, 18:33
Откуда: Санкт-Петербург

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

Сообщение LunoXod-3 » 30 сен 2013, 12:03

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

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

Сообщение LunoXod-3 » 08 окт 2013, 10:44

а как панелька отреагирует на макрос вот с таким кодом:

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

?

А то терзают смутные сомненья...
LunoXod-3
 
Сообщения: 12
Зарегистрирован: 12 дек 2012, 08:44

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

Сообщение LunoXod-3 » 07 ноя 2013, 09:07

А может такое поведение быть вызвано использованием пользовательских меток в большом количестве? Может быть это косяк ИзиБилдера?

Переделал проект с нуля вообще без их использования - вроде бы исправно трудится...
LunoXod-3
 
Сообщения: 12
Зарегистрирован: 12 дек 2012, 08:44


Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 6