Материал из for iRidium developers
Перейти к: навигация, поиск
Other languages:
English • ‎русский

Linear Trend - это тип графического элемента (Item), который отображает временно́й график в виде одной или нескольких кривых. Одна из кривых является главной, и она задаёт вид отображения всего тренда.

Ось времени - горизонтальная ось X. Можно задавать дату и время начальной (StartTime) и конечной (EndTime) точек оси времени, это позволяет отображать исторические (архивные) данные на тренде. Также тренд может следить за вновь поступающими значениями кривых и в реальном времени перестраивать отображение всех кривых, в этом случае следует использовать метод .SetDynamic().


Пример


Скачать пример


Функционал тренда работает с двумя проектами - для сервера (файл .sirpz) и для панели (файл .irpz). Сервер получает значение тэга и сохраняет его в своей базе данных. Панель запрашивает у сервера данные в необходимом временно́м диапазоне и затем отображает их на экране в виде тренда. Управление отображением тренда осуществляется в скрипте панельного проекта (.irpz).

Для успешного запуска проектов следует загрузить проект сервера с использованием iRidium transfer на реальный контроллер или в компьютер с запущенным iRidium server. Проект панели можно загрузить на реальное устройство, либо запустить в эмуляторе. При этом в проекте панели нужно предварительно задать правильный IP-адрес сервера:

Host change1.png

Методы объекта Linear Trend

.SetDynamic()

задаёт диапазон времени по оси времени тренда, а также перманентно привязывает крайнюю правую точку оси к текущему времени.

Синтаксис

.SetDynamic(range);

на входе значение описание
range 1.0 type: number
диапазон времени в сутках в формате iDate
на выходе

-


Пример

IR.GetPage("Page 1").GetItem("Trend 1").SetDynamic(5/(24*60));      // range = 5 min





.GetCurve()

даёт доступ к кривой на тренде и её настройкам.

Синтаксис

.GetCurve(name);

на входе значение описание
name "Curve 1" type: string
имя кривой, к которой нужно получить доступ
на выходе
- [ ] type: object
объект кривой


Пример

var Curve1 = IR.GetPage("Main_page").GetItem("Trend").GetCurve("Temperature");





Свойства объекта Linear Trend

.StartTime

StartTime 43259.4621924 type: number
Дата и время начальной точки по оси времени тренда в формате iDate.


.EndTime

EndTime 43260.4621924 type: number
Дата и время конечной точки по оси времени тренда в формате iDate.
var tomorrow = new iDate()-1;
var tomorrow_start = new iDate(tomorrow[0], tomorrow[1], tomorrow[2]);  // midnight time 00:00:00.000
IR.GetPage("Main_page").GetItem("Trend").StartTime = tomorrow_start;
IR.GetPage("Main_page").GetItem("Trend").EndTime = tomorrow_start+1;


Свойства кривой

.XInterval

XInterval 365.0 type: number
Интервал времени в сутках между подписями по оси времени в формате iDate.

Свойство применяется только к главной кривой тренда.

Для аккуратного отображения тренда необходимо задать XInterval в несколько раз меньше, чем длина оси времени на тренде (EndTime - StartTime).

IR.GetPage("Main_page").GetItem("Trend").GetCurve("Temperature").XInterval=1/24;     // one hour


.XLabelTemplate

XLabelTemplate "%yy/%mm/%dd" type: string
Формат подписей даты и времени на оси времени.

Свойство применяется только к главной кривой тренда.

var time = "%hh:%nn:%ss.%ms";         // hh:mm:ss.ms format
var date = "%dd.%mm.%yy";             // dd.mm.yyyy format
IR.GetPage("Main_page").GetItem("Trend").GetCurve("Temperature").XLabelTemplate = time + " " + date;