OpenSCADAWiki: Doc/VCA/part4/part8 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/VCA/part4/part8 from 2009-01-06 09:59:50..

4.7 Сигнализация

Важным элементом любого интерфейса визуализации является уведомление пользователя про нарушения - сигнализация. Для упрощения восприятия, а также в виду тесной связности визуализации и уведомления (как правило уведомление дополняет визуализацию) решено интегрировать интерфейс уведомления в интерфейс визуализации. Для этого во всех виджетах предусматриваются два дополнительных атрибута (уровня сеанса): 'alarm' и 'alarmSt'. Атрибут 'alarm' используется для формирования сигнала виджетом, в соответствии с его логикой, а атрибут 'alarmSt' используется для контроля за фактом сигнализации ветви дерева сеанса проекта.


Атрибут 'alarm' является строкой и имеет следующий формат: {lev|categ|message|type|tp_arg}
Где:

lev -- уровень сигнализации; число от 0 до 255;
categ -- категория сигнала; параметр подсистемы сбора, объект, путь или комбинация.
message -- сообщение сигнализации; для помещение в строку статуса, отображения в протоколе и помещения в архив сообщений;
type -- типы уведомления (визуальное, звуковой сигнал и речь); формируется в виде целого числа содержащего флаги способов уведомлений:
0x01 -- визуальная;
0x02 -- монотонный звуковой сигнал, часто производится через PC-speaker;
0x04 -- звуковой сигнал из файла звука или синтез речи; если в <tp_arg> указано имя ресурса звукового файла, то воспроизводится именно он, иначе выполняется синтез речи из текста указанного в <message>.
tp_arg -- аргумент типа; используется в случае осуществления звуковой сигнализации для указания ресурса звукового сигнала (файл звукового формата).

Атрибут 'alarmSt' является целым числом, которое отражает максимальный уровень сигнала и факт квитации ветви дерева сеанса проекта. Формат числа имеет следующий вид:


Формирование сигнала и получение его визуализатором.
Формирование сигнала производится самим виджетом путём установки собственного атрибута 'alarm' нужным образом. В соответствии с значением сигнала устанавливается атрибут 'alarmSt' текущего и вышестоящих виджетов. Визуализаторы получают уведомление о сигнале с помощью стандартного механизма уведомления об изменении атрибутов виджетов.


Такой механизм предоставляет возможность формировать интерфейсы сигнализации как на уровне подсистемы "Сбор данных", так и прямо на уровне представления.


Учитывая то, что обработка условий сигнализации осуществляется в виджетах, страницы содержащие объекты сигнализации должны исполняться в фоне, не зависимо от открытости их на данный момент. Это осуществляется путём установки флага исполнения страницы в фоне.


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


Для обеспечения возможности контролировать флаги квитации и сигналов из скриптов виджетов будет предусмотрена функция пользовательского программирования для доступа к атрибутам виджетов.


Квитация
Квитация производится путём указания корня ветви виджетов и типов уведомления. Это позволяет реализовать квитацию на стороне визуализатора как по группам, например по объектам сигнализации, так и индивидуально по объектам. При этом можно независимо квитировать разные типы сигнализаций. Установка квитации производится простой модификацией атрибута 'alarmSt'.


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]