Отобразите графический тренд OPC Data для группы
H = trend(GObj)
H = trend(GObj, 'PropertyName
',
PropertyValue,...)
H = trend(GObj)
отображает новейшие 100 точек живых данных для элементов, заданных в dagroup
объект GObj
в текущей системе координат. GObj
должна быть активная группа, содержащая один или несколько элементов. Указатели на созданные объекты Handle Graphics® возвращены в H
.
Все элементы отображены в тех же осях без масштабирования. Новые данные отображены на ультраправых из осей, и самые старые данные отображены слева. Если никакие старые данные не существуют (такой как в начале графика), оси пусты. Объекты Дескриптивной графики (включая пределы по осям) обновляются с новыми данными каждый раз, когда групповой объект получает событие Data Change от Сервера OPC.
H = trend(GObj, '
позволяет вам передавать дополнительные пары свойства/значения, чтобы задать дополнительные свойства созданных графиков. Специальные пары свойства/значения перечислены в следующей таблице. Если какое-либо свойство не находится в этом списке, та пара свойства/значения передается созданным объектам Дескриптивной графики. PropertyName
',
PropertyValue,...)
PropertyName | Описание | Значение по умолчанию |
---|---|---|
| Задает номер секунд истории, чтобы отобразиться в графике. |
|
| Задает родительские объекты осей, в которых можно отобразить тренды. Значение может быть скаляром или вектором та же длина как количество элементов в | CurrentAxes |
| Задает типы графика для каждого элемента. Допустимыми типами графика является |
|
| Устанавливает формат отображения для оси X всех объектов осей, в которые отображены на графике данные. |
|
| Задает номер секунд истории, чтобы сохранить для всех элементов. Устанавливание этого значения к номеру, больше, чем значение |
|
Можно зафиксировать y-пределы осей особому значению при помощи YLim
свойство осей, содержащих ваши визуализируемые данные. Например, чтобы установить пределы оси Y к инструментальной области значений, о которой сообщает Сервер OPC, используйте следующий код:
props = serveritemprops(da,itmName,102:103); currentAxes = gca; currentAxes.YLim = [props.PropValue];
Если вы добавляете элементы в группу, которая в настоящее время имеет активный тренд, элемент не показывают. Вызвать trend
снова включать тот элемент в представление тренда. (Если вы устанавливаете состояние удержания осей к 'on'
, когда вы вызываете trend
, существующие объекты тренда снова используются, не уничтожая их текущее представление.)
Если вы удаляете элемент из группы, которая в настоящее время имеет активный тренд, отображение тренда не показывает данных для того элемента, и тренд элемента в конечном счете исчезает от графика.
Эта функция перезаписывает следующие свойства группового объекта:
DataChangeFcn
свойство собирается обновить оси с новыми данными каждый раз, когда это получено от Сервера OPC. Если существует существующий DataChangeFcn
коллбэк, функциональность тренда перезаписывает коллбэк.
Subscription
свойство сконфигурировано к 'on'
получить события Data Change от Сервера OPC. Можно изменить Subscription
к 'off'
после вызова trend
, в этом случае тренд прекращает обновляться, пока вы не устанавливаете Subscription
назад к 'on'
или проблема a readasync
команда.
Сконфигурируйте группу с двумя элементами:
da = opcda('localhost','Matrikon.OPC.Simulation'); connect(da); grp = addgroup(da,'ExOPCTREND'); itm1 = additem(grp,'Triangle Waves.Real8'); itm2 = additem(grp,'Saw-Toothed Waves.Int2');
Создайте тренд, показывающий прошлые две минуты данных в двух отдельных осях:
ax1 = subplot(2,1,1); ax2 = subplot(2,1,2); trend(grp,'DisplayTime',120,'Parent',[ax1,ax2]);