AstraRegul
Релиз 2024.08.31.00
×

4.4.2.3.3. Создание агрегаторов

 
Агрегация событий – это объединение событий объекта в единую структуру.
 
Использование агрегации позволяет:
  определять наличие активных и/или неквитированных событий в объекте;
 определять максимальную важность среди событий в объекте;
 квитировать сразу все активные события в объекте.
 
Для агрегации событий объекта, нужно добавить в него агрегатор.
Агрегатор агрегирует события только того объекта, в который он вложен, не включая вложенные в него объекты.
 
Чтобы агрегировать все события в ветке (в объекте и во всех вложенных объектах), необходимо добавить агрегатор в каждый вложенный объект. Они будут передавать агрегируемую информацию агрегатору, который находится в объекте выше.
Чтобы информация передавалась между агрегаторами, они должны быть одного типа.
 
Чтобы создать агрегаторы событий, необходимо выполнить следующие действия:
 
1. Перейдите в определения проекта "MyLib" двойным кликом по объекту "Определения" в обозревателе решений.
 
 
2. Добавьте на рабочую область "Пространство имен" из панели элементов путем перетаскивания.
 
 
3. Задайте добавленному элементу имя "Aggregators" и перейдите в него, кликнув по названию.
 
 
4. Добавьте в пространство имен "Aggregators" элемент "Логический тип" из панели элементов.
 
 
5. Задайте добавленному логическому типу имя "Agg_Fault".
 
Данный агрегатор будет отвечать за агрегацию отказов.
 
6. Выделите тип "Agg_Fault" и в окне "События" установите флаг "Агрегировать события".
Если окно "События" не отображается, выполните команду в главном меню "Вид" → "События".
 
 
 
7. Чтобы добавить диапазон важностей для агрегации отказов, в контекстном меню таблицы выберите команду "Добавить диапазон важностей".
 
 
8. Укажите минимум и максимум диапазона важностей в соответствии с цветовой схемой для журнала событий.
 
 
9. Перейдите в объект "Agg_Fault", кликнув по его названию.
 
 
10. Добавьте параметр типа "bool" из раздела "Параметр" панели элементов.
 
 
 
11. Выделите добавленный параметр и в окне "Свойства" укажите имя "Active", а также направление "выход".
 
 
Не забывайте нажать клавишу "Enter" при указании свойств, иначе значение не применится.
 
12. В окне "События" установите флаг "Агрегировать события" и из выпадающего списка выберите тип информации, которую будет агрегировать данный параметр. Для параметра "Active" выберите тип информации "Наличие активных событий".
 
 
 
13. Аналогичным образом добавьте другие параметры для агрегации информации в соответствии с описаниями, представленными в таблице:
 
Название параметра
Агрегируемая информация
Тип значений
Active
Наличие активных событий
bool
ActiveBranch
Наличие активных событий в ветке
bool
AckedAll
Все события квитированы
bool
AckedAllBranch
Все события в ветке квитированы
bool
MaxSeverity
Максимальная важность событий
int2, uint2
MaxSeverityBranch
Максимальная важность событий в ветке
int2, uint2
MaxSeverityNoAck
Максимальная важность неквитированных событий
int2, uint2
MaxSeverityNoAckBranch
Максимальная важность неквитированных событий в ветке
int2, uint2
ListID
Список идентификаторов активных объектов
string
Ack
Квитирование событий
bool
AckBranch
Квитирование событий в ветке
bool
 
В результате должен получиться следующий список параметров:
 
 
14. Перейдите в пространство имен "Aggregators" двойным кликом по объекту в обозревателе решений.
 
 
15. Создайте копию логического типа "Agg_Fault" и переименуйте его в "Agg_Alarm".
Для создания копии используйте горячие клавиши Ctrl+C, Ctrl+V.
 
 
16. Выделите агрегатор "Agg_Alarm" и в окне "События" укажите диапазон важностей в соответствии с цветовой схемой для журнала событий.
 
 
17. Аналогичным образом добавьте агрегаторы событий для предупреждающих и информационных  событий.