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

Как подтвердить конкретный Alarm (Тревогу)Archestra+InTouch

СообщениеДобавлено: Вт янв 29, 2013 1:22 pm
WO2
Как подтвердить конкретный Аларм, через кнопку, сделать это в AlarmClient просто, а как такое реализовать через кнопку?
Существующий проект переводим на системную платформу, в некоторых окнах используем Алармы на кнопках, чтобы можно подтвердить конкретный аларм + узнать по какому из Лимитов сработала тревога.
В старом проекте (в InTouch) это сделано через кнопку: в Animation Links...>Touch Pushbuttons>Discrete Value> Tagname:Tag.Ack (Action: Direct)
Как такое сделать в системной платформе?

Изображение

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Вт янв 29, 2013 4:29 pm
WO2
Нашёл пример скрипта, он работает:

Dim Result as Integer;
Result = SignedAlarmAck("temp_alarm_001.Пример_Авария.HiHi", True, 1, 5, "Acked by script", False, "Acknowledge Alarms by Scripting","Acknowledge HIHI Alarms");

Код: Выделить всё
Dim Result as Integer;
Result = SignedAlarmAck("temp_alarm_001.Пример_Авария.HiHi", True, 1, 5, "Acked by script", False, "Acknowledge Alarms by Scripting","Acknowledge HIHI Alarms");


НО, где взять описание этой функции SignedAlarmAck, может есть у кого в закромах такой мануал?
Возможно есть куча др. нужных функций, которые облегчат жизнь в дальнейшем, но которых нет в открытом доступе.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Вт янв 29, 2013 8:49 pm
Генератор зла
SignedAlarmAck() Scripting Recommendations

SignedAlarmAck() and Alarm Configuration
You can use the SignedAlarmAck() function only in ArchestrA client scripts.

SignedAlarmAck() with OnShow and OnHide Scripts
Do not use the SignedAlarmAck() function with OnShow and OnHide scripts. This can cause issues with window functionality, including the window title bar, windows losing correct focus, and windows opening on top of one another.

SignedAlarmAck() with While True Scripts
Do not use the SignedAlarmAck() function in a While True script type. A signed alarm acknowledgement requires user interaction. If you want to use a While True type script, it must be set to an execution time of 30-seconds or longer to allow the user to enter the required information.

И вообще, эта ф-ция действует на выделенную аларм-строку в Alarm Client.

также почитайте Scripting.pdf

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Пт фев 01, 2013 3:30 pm
WO2
Генератор зла писал(а):И вообще, эта ф-ция действует на выделенную аларм-строку в Alarm Client.

Ну она действует вроде как на указанный Аларм и массив алармов.

Можно как-то избавиться от окна "Подтверждения Аларма", которое появляется при использовании функции SignedAlarmAck() ?

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Ср фев 06, 2013 6:41 pm
TEVAS
Можно. При вызове функции на место Signature_Reqd_for_Range поставьте FALSE (это второй параметр функции). Тогда подтверждение аларма произойдет без промежуточного окна. :)
Например, SignedAlarmAck("TANK.Hi", false, 200, 500, "ACK!!!", false, " ", " "); где ACK!!! - текст комментария для подтвержденного аларма.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Пн фев 11, 2013 2:01 pm
WO2
TEVAS писал(а):Можно. При вызове функции на место Signature_Reqd_for_Range поставьте FALSE (это второй параметр функции). Тогда подтверждение аларма произойдет без промежуточного окна. :)
Например, SignedAlarmAck("TANK.Hi", false, 200, 500, "ACK!!!", false, " ", " "); где ACK!!! - текст комментария для подтвержденного аларма.


Я уже пробовал так, всё равно окно появляется.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Пн фев 11, 2013 3:30 pm
TEVAS
Я написала Вам строку с примером вызова функции только после того, как попробовала у себя эту ситуацию воспроизвести.
Конкретный аларм подтвержается по кнопке с комментарием, указанным в функции, но окно с запросом ввода комментария не высвечивается при этом.
Проверьте еще раз аргументы. Проделайте такое на отдельном примере, в другой галактике, чтобы не навредить экспериментами своему рабочему проекту.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Чт фев 14, 2013 4:06 pm
WO2
TEVAS,
Возможно ли это из-за того, что безопасность в Галактие не настроена?
Роли и группы не настроены, т.е. всё по умолчанию.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Пт фев 15, 2013 8:19 pm
TEVAS
Думаю, что нет.
А покажите свою строку вызова, как Вы пишите в проекте.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Чт фев 21, 2013 9:25 pm
WO2
TEVAS писал(а):Думаю, что нет.
А покажите свою строку вызова, как Вы пишите в проекте.


Прямо так и пишу, как вы написали, только свой Аларм указываю.
Код: Выделить всё
SignedAlarmAck("temp_alarm_001.Пример_Авария.HiHi", false, 200, 500, "ACK!!!", false, " ", " ")




З.Ы.

Сорри за запоздалый ответ, командировка.

Re: Как подтвердить конкретный Alarm (Тревогу)Archestra+InTo

СообщениеДобавлено: Сб фев 23, 2013 5:05 pm
TEVAS
Ой, ну задачка у вас..
Я писала "TANK.Hi" - где TANK - это имя моего инстанса.
Что у вас "temp_alarm_001" и "Пример_Авария" ?
Может поиграть с этой строкой?
Оставить только "temp_alarm_001.HiHi" не пробовали?
Что-то у меня идей нет других пока..

P.S. Тоже была командировка. ))