PDA

Просмотр полной версии : Уведомления аварии



hazdzetki_nikita
18.02.2022, 16:43
У меня есть 20 объектов в каждом объекте есть параметр "Авария". У каждого объекта своя мнемосхема. Как сделать так, чтобы независимо на какой я мнемосхеме нахожусь мне всплывали уведомления об "авариях" с других объектов. В идеале сделать так, чтобы по параметру открывалось окно

Юрий Горелый2
21.02.2022, 14:54
У меня есть 20 объектов в каждом объекте есть параметр "Авария". У каждого объекта своя мнемосхема. Как сделать так, чтобы независимо на какой я мнемосхеме нахожусь мне всплывали уведомления об "авариях" с других объектов. В идеале сделать так, чтобы по параметру открывалось окно

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

hazdzetki_nikita
21.02.2022, 15:09
Со временем объектов будет становиться больше, засорять мнемосхему - не вариант. Самым лучшим решением было бы по логическому параметру (в моем случае "Авария") открывать всплывающие окно или текстовый (вместо звука - сообщения или всплывающие уведомления) аналог ФБ PLAYSOUND.
Журнал не является средством оперативного информирования и с журнала не возможно сделать переход на интересующий объект.

b_aleks
21.02.2022, 15:45
Со временем объектов будет становиться больше, засорять мнемосхему - не вариант. Самым лучшим решением было бы по логическому параметру (в моем случае "Авария") открывать всплывающие окно или текстовый (вместо звука - сообщения или всплывающие уведомления) аналог ФБ PLAYSOUND.
Журнал не является средством оперативного информирования и с журнала не возможно сделать переход на интересующий объект.

Можно попробовать реализовать триггеры на открытие всплывающего окна в шаблоне экрана, но будет ли это работать - хз

VladGC
21.02.2022, 16:11
У меня есть 20 объектов в каждом объекте есть параметр "Авария". У каждого объекта своя мнемосхема. Как сделать так, чтобы независимо на какой я мнемосхеме нахожусь мне всплывали уведомления об "авариях" с других объектов. В идеале сделать так, чтобы по параметру открывалось окно
Можно создать отдельное окно, со списком всех объектов, то есть с кнопками открытия нужной мнемосхемы, а кнопку перехода на это окно со списком можно подсвечивать когда возникает какая либо авария из нужных объектов

Используя фб GetActualEvents, можно проходить по всем активным авариям и подсвечивать нужную кнопку перехода

hazdzetki_nikita
21.02.2022, 16:16
Можно попробовать реализовать триггеры на открытие всплывающего окна в шаблоне экрана, но будет ли это работать - хз

Не работает.

Юрий Горелый2
24.02.2022, 12:10
Со временем объектов будет становиться больше, засорять мнемосхему - не вариант. Самым лучшим решением было бы по логическому параметру (в моем случае "Авария") открывать всплывающие окно или текстовый (вместо звука - сообщения или всплывающие уведомления) аналог ФБ PLAYSOUND.
Журнал не является средством оперативного информирования и с журнала не возможно сделать переход на интересующий объект.

тогда совсем не понятно что именно Вы хотите сделать.
Хотите уведомления - оставляйте на мнемосхеме место для них, не хотите - не делайте.
мне кажется тут всё понятно и прозрачно. хотите глобальный журнал - делайте его глобальным, хотите локальным - делайте локальным. с этим не вижу вообще никаких проблем.

hazdzetki_nikita
28.02.2022, 17:01
Решение: Создается один главный объект, в его перемещаются подобъекты (в моем случае те самые 20 штук). В главном объекте создается окно в котором находится "контейнер окна". Получается что я имею один объект в котором выполняться подобъекты и именно в этом случае на окне главного объекта прекрасно работают триггеры с всплывающим сообщением.

Fanat_2000
07.11.2022, 14:37
Можно создать отдельное окно, со списком всех объектов, то есть с кнопками открытия нужной мнемосхемы, а кнопку перехода на это окно со списком можно подсвечивать когда возникает какая либо авария из нужных объектов

Используя фб GetActualEvents, можно проходить по всем активным авариям и подсвечивать нужную кнопку перехода

Как работает getactualevents? Или getnewevents? Счётчики количества событий работают в этих ФБ, а вот массив получить не удалось, все время пишет нет данных. Есть идеи?

VladGC
09.11.2022, 10:17
Как работает getactualevents? Или getnewevents? Счётчики количества событий работают в этих ФБ, а вот массив получить не удалось, все время пишет нет данных. Есть идеи?

А что именно не так и где пишет?
Можно сделать по аналогии с нужными вам полями:


Для поля Fields(GetNewEvents_1) формируем строку
fields:="Message,HiHi,Hi, CurrentValue,ActiveTime,EventObjectName,EventSourc eName"
Для вывода результата в библиотеке создаем структуру
TYPE fields:
STRUCT
Message: STRING;
ActiveTime: DT := DT#0001-01-01-00:00;
CurrentValue: LREAL := 0;
HiHi: LREAL := 0;
Hi: LREAL := 0;
EventSourceName: STRING;
EventObjectName: STRING;
END_STRUCT;
END_TYPE
В программе создаем безразмерный массив этх структур
newEvents: ARRAY OF FIELDS;





IF exists THEN
(*Отеслеживаем что изменение счетчика событий*)
IF currentCount <> previousCount THEN
GetNewEvents_1(Fields:=fields , IsGlobal:=false , Filter:=_filter , Events => newEvents);
countNewEvents:=UPPER_BOUND(ARR:=newEvents , DIM:=1 );
END_IF;
END_IF;


previousCount:=currentCount;