Эта страница является
переводом страницы
Trends. Перевод выполнен на 100%.
API iRidium. Тренды (Trend)
методы и свойства для работы с временны́ми графиками
Linear Trend - это тип графического элемента (Item), который отображает временно́й график в виде одной или нескольких кривых. Одна из кривых является главной, и она задаёт вид отображения всего тренда.
Ось времени - горизонтальная ось X. Можно задавать дату и время начальной (StartTime) и конечной (EndTime) точек оси времени, это позволяет отображать исторические (архивные) данные на тренде. Также тренд может следить за вновь поступающими значениями кривых и в реальном времени перестраивать отображение всех кривых, в этом случае следует использовать метод .SetDynamic().
Пример
Скачать пример
Функционал тренда работает с двумя проектами - для сервера (файл .sirpz) и для панели (файл .irpz). Сервер получает значение тэга и сохраняет его в своей базе данных. Панель запрашивает у сервера данные в необходимом временно́м диапазоне и затем отображает их на экране в виде тренда. Управление отображением тренда осуществляется в скрипте панельного проекта (.irpz).
Для успешного запуска проектов следует загрузить проект сервера с использованием iRidium transfer на реальный контроллер или в компьютер с запущенным iRidium server. Проект панели можно загрузить на реальное устройство, либо запустить в эмуляторе. При этом в проекте панели нужно предварительно задать правильный IP-адрес сервера:
Методы объекта 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;