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. Аналогичным образом добавьте агрегаторы событий для предупреждающих и информационных событий.