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() компонента Таблица: модель данных).
5. Добавьте компонент Таблица для визуализации данных из модели (см. ниже).
 
Для самостоятельного воспроизведения стандартных функций Astra.Alarms (подгрузка исторических данных, удаление квитированных событий и т.д.) используйте свойства и функции компонента Запрос алармов.
 

Ручное заполнение таблицы

 
Чтобы наполнять таблицу модели данных самостоятельно, используйте функции компонента Таблица: модель данных.
 
Что сформировать таблицу в модели данных, выполните:
1. Добавьте нужно количество столбцов с помощью функции AddColumn.
2. Добавьте нужно количество строк с помощью функции AddRow.
3. Заполните ячейки таблицы данными с помощью функции SetCellData.
4. Добавьте компонент Таблица для визуализации данных из модели (см. ниже).
 

Графическое представление данных из таблицы модели данных

 
Чтобы визуализировать данные из таблицы модели, добавьте на экранную форму компонент Таблица. В свойстве Модель данных свяжите таблицу с моделью данных, значения которой будут визуализироваться.
 
 
Вы можете настроить отображение в таблице на форме всех данных модели либо только отдельных столбцов. Добавьте компоненту Таблица дочерние компоненты Таблица: столбец. Для каждого столбца графической таблицы (свойство Идентификатор) запишите идентификатор столбца таблицы в модели данных. Идентификатор позволяет указать столбец, из которого в графическую таблицу будут подгружаться данные.
 
 
Идентификаторы столбцов таблицы модели соответствуют идентификаторам столбцов в источнике либо указываются вручную при конфигурировании таблицы с помощью скриптов.
 
Возможные значения идентификатора при получении данных от источника:
 
Значение
Описание
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
Время, когда событие перешло из активного состояния в неактивное