Отображение графического тренда OPC Data для группы
H = trend(GObj)
H = trend(GObj, 'PropertyName
',
PropertyValue,...)
H = trend(GObj)
отображает самые новые 100 точек живых данных для элементов, определенных в dagroup
GObj объекта
в текущей системе координат. GObj
должна быть активной группой, содержащей один или несколько элементов. Указатели на созданную дескриптивную графику® объекты возвращаются в H
.
Все элементы отображаются в одной оси без масштабирования. Новые данные отображаются в крайнем правом углу оси, а самые старые данные отображаются слева. Если старые данные не существуют (например, в начале графика), оси являются пустыми. Объекты Дескриптивной графики (включая пределы по осям) обновляются новыми данными каждый раз, когда групповой объект получает событие Data Change от Сервера OPC.
H = trend(GObj, '
позволяет передавать пары дополнительное свойство/значение для задания дополнительных свойств созданных графиков. Пары специальные свойства/значения перечислены в следующей таблице. Если какого-либо свойства нет в этом списке, пара свойство/значение передается созданным объектам Дескриптивной графики. PropertyName
',
PropertyValue,...)
Имя свойства | Описание | Дефолт |
---|---|---|
| Определяет количество секунд истории для отображения на графике. |
|
| Определяет родительские объекты осей, в которых будут отображаться тренды. Значение может быть скаляром или вектором той же длины, что и количество элементов в | Текущая система координат |
| Определяет типы графика для каждого элемента. Допустимые типы графика |
|
| Устанавливает формат отображения для оси X всех объектов осей, в которых строятся данные. |
|
| Определяет количество секунд в истории для хранения всех элементов. Установка этого значения на число, больше, чем значение |
|
Можно исправить пределы оси Y к конкретному значению при помощи YLim
свойство осей, содержащих ваши визуализированные данные. Для примера, чтобы задать пределы оси Y к области значений прибора, сообщаемой сервером OPC, используйте следующий код:
props = serveritemprops(da,itmName,102:103); currentAxes = gca; currentAxes.YLim = [props.PropValue];
Если вы добавляете элементы в группу, которая в данный момент имеет активный тренд, элемент не отображается. Звонить trend
снова, чтобы включить этот элемент в представление тренда. (Если вы устанавливаете удержание осей равным 'on'
, когда вы звоните trend
существующие объекты тренда используются повторно, не уничтожая их текущего представления.)
Если вы удаляете элемент из группы, которая в данный момент имеет активный тренд, отображение тренда не показывает данных для этого элемента, и тренд элемента в конечном счете исчезает с графика.
Эта функция перезаписывает следующие свойства группового объекта:
The DataChangeFcn
свойство устанавливается таким образом, чтобы обновлять оси новыми данными каждый раз, когда оно получено от Сервера OPC. Если существует существующая DataChangeFcn
коллбэк, функциональность тренда перезаписывает коллбэк.
The Subscription
свойство настроено на 'on'
для получения событий изменения данных от Сервера OPC. Можно изменить Subscription
на 'off'
после вызова trend
, в этом случае тренд перестанет обновляться, пока вы не зададите Subscription
назад к 'on'
или выдать 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]);