4.4.1.4.2.4.11. Таблицы
Компоненты для формирования таблиц
Чтобы получить возможность:
помещать данные, полученные от источника по TCP, в таблицу
формировать собственные таблицы данных
следует подключить внешнюю библиотеку astra.hmi.tables (для ОС Windows) и libastra.hmi.tables (для ОС Linux).
Чтобы подключить библиотеки:
ОС Windows
Разместите файл библиотеки в папке установки Astra.HMI.
ОС Linux
Скопируйте библиотеку в папку Astra.HMI командой:
cp <имя библиотеки>.so /opt/AstraRegul/Astra.HMI
|
Версия SDK, на которой выполнялась сборка библиотеки, должна быть такой же, какая используется в Astra.HMI.
|
После подключения библиотеки в библиотеку компонентов Astra.HMI добавится юнит Таблицы с компонентами:
Название раздела
|
Описание
|
Компонент позволяет сформировать невизуальную таблицу, предназначенную для хранения данных.
| |
Компонент позволяет графически представить данные, хранящиеся в таблице модели данных.
| |
Компонент позволяет сформировать таблицу для отображения данных из модели.
| |
Компонент позволяет выделять цветом отдельные строки или столбцы таблицы.
| |
Позволяет выполнять перебор строк от первой строки до последней, а также перебор выделенных строк таблицы.
|
Чтобы сформировать таблицу данных, предварительно выберите способ заполнения таблицы. Таблица может заполняться данными, полученными от источника, либо данными, введенными вручную с помощью скриптов Astra.Om или JavaScript.
В любом из выбранных способов используется компонент Таблица: модель данных. Модель данных хранит в себе полученные данные в табличном виде.
Чтобы графически представить на экранной форме данные, хранящиеся в модели, используйте компонент Таблица.
Заполнение таблицы данными от источника
В качестве источника, к примеру, используйте Astra.Server, с которого можно запросить оперативные и исторические события по TCP. Каждое событие, сгенерированное на источнике, будет помещаться в таблицу модели данных.
Вы не можете изменить количество строк и столбцов в таблице модели данных, так как это выполняет компонент Запрос алармов на основе данных, полученных от источника.
|
Чтобы настроить заполнение таблицы модели данных событиями, полученными с источника:
1. Добавьте компонент Источник AP. Задайте значения в свойствах Хост, Порт, Порт истории (если планируете запрашивать исторические события), Активность.
2. Добавьте компонент Таблица: модель данных. Укажите максимальное число строк таблицы в свойстве Максимальное количество рядов данных.
3. Добавьте компонент Запрос алармов дочерним компоненту Таблица: модель данных. Укажите источник данных в свойстве Источник, задайте режим работы компонента в зависимости от вида запрашиваемых событий (1 - исторические события, 2 - оперативные события) и активируйте компонент в свойстве Активность.
4. Пропишите скрипт, который будет выполнять запрос данных от источника (функция Reload() компонента Запрос алармов) и чтение полученных данных моделью данных (функция BeginReadAsync() компонента Таблица: модель данных).
Для самостоятельного воспроизведения стандартных функций Astra.Alarms (подгрузка исторических данных, удаление квитированных событий и т.д.) используйте свойства и функции компонента Запрос алармов.
Ручное заполнение таблицы
Чтобы наполнять таблицу модели данных самостоятельно, используйте функции компонента Таблица: модель данных.
Что сформировать таблицу в модели данных, выполните:
1. Добавьте нужно количество столбцов с помощью функции AddColumn.
2. Добавьте нужно количество строк с помощью функции AddRow.
3. Заполните ячейки таблицы данными с помощью функции SetCellData.
Чтобы визуализировать данные из таблицы модели, добавьте на экранную форму компонент Таблица. В свойстве Модель данных свяжите таблицу с моделью данных, значения которой будут визуализироваться.
Вы можете настроить отображение в таблице на форме всех данных модели либо только отдельных столбцов. Добавьте компоненту Таблица дочерние компоненты Таблица: столбец. Для каждого столбца графической таблицы (свойство Идентификатор) запишите идентификатор столбца таблицы в модели данных. Идентификатор позволяет указать столбец, из которого в графическую таблицу будут подгружаться данные.
Идентификаторы столбцов таблицы модели соответствуют идентификаторам столбцов в источнике либо указываются вручную при конфигурировании таблицы с помощью скриптов.
Возможные значения идентификатора при получении данных от источника:
Значение
|
Описание
|
source
|
Источник события
|
time
|
Время генерации уведомления о событии
|
message
|
Сообщение
|
severity
|
Уровень важности события
|
condition_name
|
Имя условия генерации события
|
subcondition_name
|
Имя подусловия генерации события
|
quality
|
Текущее качество сигнала, изменение которого привело к генерации события
|
active_time
|
Время перехода состояния события в активное
|
actor_id
|
Имя пользователя, выполнившего квитирование сообщения о событии
|
ack
|
Признак квитирования события
|
active
|
Признак активности подусловия, по которому было сгенерировано событие
|
cookie
|
Специальный идентификатор события, который имеет служебное назначение. Необходим для сведения квитанций, деактиваций с событиями
|
ack_time
|
Время квитирования
|
ack_required
|
Требование квитирования
|
value
|
Значение сигнала, изменение которого привело к генерации события
|
sound
|
Звуковой файл, исполняемый при выполнении подусловия генерации сообщения о событии
|
area_path
|
Относительный тег объекта
|
object_id
|
Идентификатор объекта на сервере, по которому было сгенерировано событие
|
deactive_time
|
Время, когда событие перешло из активного состояния в неактивное
|