trend

Отобразите графический тренд 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

Описание

Значение по умолчанию

DisplayTime

Задает номер секунд истории, чтобы отобразиться в графике.

100*gObj.UpdateRate

Parent

Задает родительские объекты осей, в которых можно отобразить тренды. Значение может быть скаляром или вектором та же длина как количество элементов в GObj. Если значение является вектором, значение каждого элемента отображено в соответствующем объекте осей.

CurrentAxes

PlotType

Задает типы графика для каждого элемента. Допустимыми типами графика является 'line'лестница, и 'stem'. Значение может быть скаляром или массивом ячеек та же длина как количество элементов в GObj. Если значение является массивом ячеек из символьных векторов, тип графика каждого элемента установлен в соответствующий тип графика в массиве значения.

'line'

DateFormat

Устанавливает формат отображения для оси X всех объектов осей, в которые отображены на графике данные. DateFormat должен быть один из форматов даты, распознанных datetick.

'HH:MM:SS'

BufferTime

Задает номер секунд истории, чтобы сохранить для всех элементов. Устанавливание этого значения к номеру, больше, чем значение DisplayTime позволяет вам приостанавливать тренд (путем установки Subscription свойство группы к 'off') и панорамирование рассматриваемых осей.

10*DisplayTime

Можно зафиксировать 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]);

Смотрите также

Функции

Представленный в R2007b