AstraRegul
Релиз 2024.08.31.00
×

4.4.1.4.2.4.5. Графики

 
Компоненты для работы с графиками
 
Чтобы получить возможность представлять данные, принятые от источника, в виде графиков, следует подключить внешнюю библиотеку astra.hmi.charts (для ОС Windows) и libastra.hmi.charts (для ОС Linux).
 
Чтобы подключить библиотеки:
ОС Windows
Разместите файл библиотеки в папке установки Astra.HMI.
ОС Linux
Скопируйте библиотеку в папку Astra.HMI командой:
 
cp <имя библиотеки>.so /opt/AstraRegul/Astra.HMI
 
Версия SDK, на которой выполнялась сборка библиотеки, должна быть такой же, какая используется в Astra.HMI.
 
После подключения библиотеки в библиотеку компонентов Astra.HMI добавится юнит Графики с компонентами:
Название раздела
Описание
Компонент позволяет подготовить область для отображения графиков.
Компонент позволяет добавить на трендовое поле оси для отображения графиков в определенном масштабе.
Компонент, выполняющий чтение оперативных или исторических данных с источника.
Компонент позволяет просматривать значения графика в точках пересечения линии с графиком сигнала.
Компонент позволяет отобразить линию на основе данных, полученных от источника.
Компонент позволяет декорировать линию.
Компонент позволяет настроить отображение данных в точке пересечения реперной линии с линией графика.
Компонент позволяет сохранять в файл данные, отображаемые на трендовом поле.
График: минитренд
Компонент позволяет настроить отображение минитренда
 
 

Настройка получения данных от источника

 
В качестве источника, к примеру, используйте Astra.Server, с которого можно запросить оперативные и исторические значения по TCP.
Чтобы настроить получение данных от источника, выполните:
1. Добавьте компонент Источник AP. Задайте значения в свойствах Хост, Порт, Порт истории (если планируете запрашивать исторические значения), Активность.
 
 
2. Добавьте компонент График: данные. С помощью компонента можно оперировать значениями только одного сигнала. Вы можете использовать компонент в качестве контейнера для объединения компонентов, работающих с одной линией.
 
 
3. Добавьте компонент Элемент AP дочерним компоненту График: данные. Укажите источник данных в свойстве Источник и привяжите компонент к сигналу в свойстве Путь.
 
 
4. Добавьте компонент Запрос значений элемента AP дочерним компоненту График: данные. Укажите элемент (сигнал), с которого компонент будет принимать данные, в свойстве Элемент AP и активируйте компонент в свойстве Активность. Задайте режим работы компонента в зависимости от вида запрашиваемых значений (1 – исторические значения, 2 – оперативные значения).
 
 

Отображение одного графика на экранной форме

 
Чтобы вывести значения, полученные от источника, в трендовом виде, выполните:
1. Добавьте компонент График: поле графика. Настройте его внешний вид с помощью свойств.
2. Добавьте компоненты График: ось по количеству нужных осей (минимальное количество - 2) дочерними компоненту График: поле графика. Задайте значения свойства Ориентация оси для каждой оси.
3. Добавьте компонент График: линия. Поскольку компонент отвечает за вывод графика только по одному сигналу, для удобства можно расположить компонент дочерним для компонента График: данные.
 
 
 
Для линии:
1. Привяжите линию к сигналу с помощью свойства DataSource;
2. Укажите какие именно данные сигнала будут выводиться на графике в свойствах Номер колонки значений X и Номер колонки значений Y. Указывайте номера колонок, используемых в источнике: 0 – колонка значений сигнала (value), 2 – значения времени (timestamp), 2 – значения качества (quality);
3. Привяжите линию к осям с помощью свойств AxisX и AxisY.
 
 
4. Чтобы отобразить график оперативных данных, пропишите скрипт, который будет выполнять запрос оперативных данных от источника (функция Reload() компонента Запрос значений элемента AP) и чтение полученных данных компонентом График: данные (функция BeginReadAsync() компонента График: данные).
 
Чтобы отобразить график исторических данных, укажите интервал запроса в свойствах Начало исторического интервала и Конец исторического интервала компонента Запрос значений элемента AP.
 

Отображение нескольких графиков на экранной форме

 
Вложите подготовленный компонент График: данные в компонент График: поле графика. Добавьте компоненту График: поле графика столько дочерних компонентов График: данные, сколько графиков вам необходимо отобразить на трендовом поле.
 
Для получения данных по одному сигналу и отображения их в виде графика один компонент График: данные должен быть связанным или содержать:
Один компонент Запрос значений элемента AP.
Один компонент График: линия (может не быть дочерним).
Один компонент Элемент AP (может не быть дочерним).