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

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

СообщениеДобавлено: Ср июн 24, 2015 11:27 am
Vul
Здравствуйте!

Как заставить срабатывать аларм на состояние тега в NaN. ?
То есть границы аларма выставляются HiHi Hi Lo LoLo и при превышении диапазона в alarmclient появляется событие UNAСK. Но если значение уходит в NaN. то это никак не видно :shock:

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

СообщениеДобавлено: Ср июн 24, 2015 5:06 pm
Steelman63
а что это за тег такой с таким значением? классический InTouch или ApplicationServer ?
Могу предположить, что меняется метка качества тега(NaN соответствует плохому качеству) - если это правда, вот на метку качества и можно привязать аларм.

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

СообщениеДобавлено: Чт июн 25, 2015 8:25 pm
Vul
Обычный тег, который через 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 клиента. Как это можно вылечить ?

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

СообщениеДобавлено: Пт июн 26, 2015 2:59 am
Steelman63
Vul писал(а):Как это можно вылечить ?


такое лечить лучше всего с помощью техподдержки.
возможно патч или хотфикс какой накатить придется
у вас какая версия установлена?

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

СообщениеДобавлено: Пт июн 26, 2015 3:46 am
Vul
2012r2 patch 3

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

СообщениеДобавлено: Пт июн 26, 2015 7:44 pm
Steelman63
Vul писал(а):2012r2 patch 3


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

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

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

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

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

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

СообщениеДобавлено: Пн июн 29, 2015 2:43 pm
Vul
Steelman63 писал(а):это происходит со всеми тегами от конкретного OPC-сервера, или только с "избранными" ?


С разными может быть, не получается пока отследить закономерность. Пошел другим путем, создал дополнительный OPC клиент и переношу туда объекты по одному, почти все перенес пока все как назло работает нормально :D Помучаю его немного пока в 20:initializing не начнет вылетать.

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

СообщениеДобавлено: Пн июн 29, 2015 2:51 pm
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;

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

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

СообщениеДобавлено: Вт июн 30, 2015 11:21 am
Starley
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...