Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Зависание аналоговых выходов контроллера
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем > LonWorks
2lon
Здравствуйте. На объекте в отдельном шкафу установлены неск. контроллеров Gesytec EMC4, которые через аналоговые выхода включают/выключают оптореле 5DC/220AC PhoenixContact. Сами релюхи (2 штуки на контроллер) управляют приводом клапана фанкойла - открытие или закрытие, управляющий сигнал - 24АС.
Через некоторое время, происходит подвисание обоих аналоговых выходов контроллера в состоянии 10В, соответственно включаются обе релюхи, привод начинает сходить с ума mad.gif
При этом некоторые контроллеры продолжают работать нормально, выявить какую-либо закономерность в подвисании пока не удалось.
Программа написана на NodeBuilder, код управления оптореле выглядит след. образом:
Код
switch (vlv) { // проверяем состояние клапана
 case ON: // открыть, вкл. 1-е реле, выкл. 2-е реле
     nviAnalog[0] = MAX_OUT_VLV;
     nviAnalog[1] = MIN_OUT_VLV;
     break;
 case OFF: // закрыть, вкл. 2-е реле, выкл. 1-е реле
     nviAnalog[0] = MIN_OUT_VLV;
     nviAnalog[1] = MAX_OUT_VLV;
     break;
    }


Через 150 сек (время движения привода) происходит сброс реле в 0:
Код
nviAnalog[0] = MIN_OUT_VLV;
nviAnalog[1] = MIN_OUT_VLV;


В Lonmaker Browser видно, что переменные nviAnalog ВСЕГДА отрабатывают нормально.

Библиотека EMC4.nc управления входами-выходами контроллера взята у Gesytec.
KDVectra
Цитата
Через некоторое время, происходит подвисание обоих аналоговых выходов ...

Как выходит из подвисания - самостоятельно, ручным reset'ом, программным reset'ом (watchdog) или как-то иначе?

Возможно зависает микропрограмма узла, тогда должен срабатывать сторожевой таймер и узел самопроизвольно перезапустится. В этом случае в статистике узла в причинах последнего reset'а будет записано Watchdog Timer.

Возможно выходы переходят в некое состояние по какой-то сетевой или иной причине. Когда подвиснут выходы надо посмотреть функциональный блок SFPTnodeObject и в его переменную nvoStatus (SNVT_obj_status), в этой переменной много битовых полей и возможно это даст дополнительную информацию.

Возможно это связано с настройками Heartbeat'ов входных переменных nviAnalog и выходной/ых переменных, связанных с ними. (Heartbeat выходной переменной в общем случае должен быть в 4 раза меньше Heartbeat'а связанной с ней входной переменной).
2lon
Выходит из подвисания либо сбросом питания, либо перепрошивкой.
Программный reset не пробовал.
Спасибо за советы - проверю на объекте.
2lon
WatchDog timer в ресете не прописан. Там либо software, либо power up.
В переменной nvoStatus (для большинства контроллеров) установлены битовые поля: disabled, comm_failure, report_mask.
Хотя все контроллеры через сеть видятся, состояние - online...
Возможно ли, что такое пагубное влияние оказывает некачественное заземление линии Lonworks (кабель - наш аналог Belden 7704NH)?
Некоторые участки линии проложены практически вплотную к силовым кабелям.
KDVectra
Цитата(2lon @ 4.5.2007, 17:51) *
Возможно ли, что такое пагубное влияние оказывает некачественное заземление линии Lonworks (кабель - наш аналог Belden 7704NH)?
Некоторые участки линии проложены практически вплотную к силовым кабелям.

Вероятно, заземление линии Lonworks в данном случае не причем. Т.к. пагубность влияния на линии Вы бы наблюдали в интенсивно растущем числе ошибок приема и передачи (статистика самодиагностики узла). Кстати, не вредно это проверить.
Знать бы схему вашего узла?..
В качестве предположения,- если аналоговые выходы реализованы SPI ЦАП'ами, то подобное их поведение может быть вызвано сбоями на SPI шине, которые являются следствием каких-то помех, например, по питанию, или по иным линиям, гальванически связанным с "общим" Вашего устройства.
Lon-теоретик
У меня был аналогичный случай с контроллерами MB2. Так вот там напряжение на аналоговом выходе менялось только если менялся последний млаший бит. Странно но факт. Попробуйте

сейчас подумал и вспомнил еще одну возможную причину. Проверьте узел на :

- внутреннее зацикливание программы
- статистику Lost message

Если да - свистните - расскажу что можно сделать дальше.
2lon
Подправил исходную библиотеку EMC4.nc от Gesytec - увеличил время обработки событий на входах-выходах. Плюс сделали заземление на линии LON через RC-цепочку. Пока зависания прекратились, надо далее наблюдать...
Аналоговый выход (как видно из куска программы выше) устанавливается всегда в константу (0 или 10В), Lost message не наблюдается, загрузка сети менее 1%.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.