Alarm по неисправности

Вопросы, не попадающие в другие разделы.

Alarm по неисправности

Сообщение Vul » Ср июн 24, 2015 11:27 am

Здравствуйте!

Как заставить срабатывать аларм на состояние тега в NaN. ?
То есть границы аларма выставляются HiHi Hi Lo LoLo и при превышении диапазона в alarmclient появляется событие UNAСK. Но если значение уходит в NaN. то это никак не видно :shock:
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Alarm по неисправности

Сообщение Steelman63 » Ср июн 24, 2015 5:06 pm

а что это за тег такой с таким значением? классический InTouch или ApplicationServer ?
Могу предположить, что меняется метка качества тега(NaN соответствует плохому качеству) - если это правда, вот на метку качества и можно привязать аларм.
Steelman63
 
Сообщения: 313
Зарегистрирован: Ср авг 29, 2012 3:42 pm

Re: Alarm по неисправности

Сообщение Vul » Чт июн 25, 2015 8:25 pm

Обычный тег, который через OPС клиент привязан к контроллеру MicroMotion, физическом отключении или поломки показывает значение NaN. которое хотелось бы видеть в алармах.
В ApplicationServer
Понял что нужно включить аларм в свойстве pv.bad.condition.
С этим вышла другая проблема, часто значение зависает в состояние 20:initializing и в 00:bad не переходит, может висеть так сутками, соответственно pv.bad.condition не срабатывает. Помогает только передеплой OPC клиента. Причем такое зависание в состояние 20:initializing случается и на рабочих параметрах, например в KepwareOPC показывает значение 10 и постоянно обновляется а клиент opc клиент в ApplicationServer который подключен к кипваре, переводит его в состояние 20:initializing и показывает значение NAN. , также помогает только передеплой OPC клиента. Как это можно вылечить ?
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Alarm по неисправности

Сообщение Steelman63 » Пт июн 26, 2015 2:59 am

Vul писал(а):Как это можно вылечить ?


такое лечить лучше всего с помощью техподдержки.
возможно патч или хотфикс какой накатить придется
у вас какая версия установлена?
Steelman63
 
Сообщения: 313
Зарегистрирован: Ср авг 29, 2012 3:42 pm

Re: Alarm по неисправности

Сообщение Vul » Пт июн 26, 2015 3:46 am

2012r2 patch 3
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Alarm по неисправности

Сообщение Steelman63 » Пт июн 26, 2015 7:44 pm

Vul писал(а):2012r2 patch 3


патч последний это хорошо.

Vul писал(а): Причем такое зависание в состояние 20:initializing случается и на рабочих параметрах,

это происходит со всеми тегами от конкретного OPC-сервера, или только с "избранными" ?
Steelman63
 
Сообщения: 313
Зарегистрирован: Ср авг 29, 2012 3:42 pm

Re: Alarm по неисправности

Сообщение Starley » Пн июн 29, 2015 10:58 am

Касательно вопроса в начале топика: примените IsGood(me.PV).
IsGood - Возвращает логическое значение, отображающее соответствие
качества заданного атрибута значению Good (из документации).
Starley
 
Сообщения: 40
Зарегистрирован: Вт май 20, 2014 10:17 pm
Откуда: Самара

Re: Alarm по неисправности

Сообщение Vul » Пн июн 29, 2015 2:43 pm

Steelman63 писал(а):это происходит со всеми тегами от конкретного OPC-сервера, или только с "избранными" ?


С разными может быть, не получается пока отследить закономерность. Пошел другим путем, создал дополнительный OPC клиент и переношу туда объекты по одному, почти все перенес пока все как назло работает нормально :D Помучаю его немного пока в 20:initializing не начнет вылетать.
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Alarm по неисправности

Сообщение Vul » Пн июн 29, 2015 2:51 pm

Starley писал(а):Касательно вопроса в начале топика: примените IsGood(me.PV).
IsGood - Возвращает логическое значение, отображающее соответствие
качества заданного атрибута значению Good (из документации).


Да я использую такой метод в скриптах сложения нескольких параметров для того чтобы плохое значение сумму не ломало.
Типо так:
dim Z1 as double;
dim Z2 as double;
dim Z3 as double;
Z1=A1F30.PV;
Z2=A2F30.PV;
Z3=A3F30.PV;
if IsGood(A1F30.PV) == false then Z1=0; endif;
if IsGood(A2F30.PV) == false then Z2=0; endif;
if IsGood(A3F30.PV) == false then Z3=0; endif;
me.tz = Z1+Z2+Z3;

Но это не выход для моего вопроса в начале топика, мне нужно чтобы при плохом значении срабатывало событие и записывалось в журнал алармов.
Vul
 
Сообщения: 12
Зарегистрирован: Вт июл 02, 2013 11:41 am
Откуда: Тольятти

Re: Alarm по неисправности

Сообщение Starley » Вт июн 30, 2015 11:21 am

Vul писал(а):
Starley писал(а):Касательно вопроса в начале топика: примените IsGood(me.PV).
IsGood - Возвращает логическое значение, отображающее соответствие
качества заданного атрибута значению Good (из документации).


Да я использую такой метод в скриптах сложения нескольких параметров для того чтобы плохое значение сумму не ломало.
Типо так:
dim Z1 as double;
dim Z2 as double;
dim Z3 as double;
Z1=A1F30.PV;
Z2=A2F30.PV;
Z3=A3F30.PV;
if IsGood(A1F30.PV) == false then Z1=0; endif;
if IsGood(A2F30.PV) == false then Z2=0; endif;
if IsGood(A3F30.PV) == false then Z3=0; endif;
me.tz = Z1+Z2+Z3;

Но это не выход для моего вопроса в начале топика, мне нужно чтобы при плохом значении срабатывало событие и записывалось в журнал алармов.


Тогда только через скрипт и дополнительный Uda, а дальше через Extention...
Starley
 
Сообщения: 40
Зарегистрирован: Вт май 20, 2014 10:17 pm
Откуда: Самара


Вернуться в Другое

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 47