opcread

Считайте регистрируемые записи от диска до рабочего пространства MATLAB

Синтаксис

S = OPCREAD('LogFileName')
S = opcread('LogFileName','PropertyName','PropertyValue',...)
TSCell = opcread('LogFileName','DataType','timeseries')
[I,V,Q,TS,ET] = opcread('LogFileName','DataType',DType,...)

Описание

S = OPCREAD('LogFileName') возвращает все доступные записи в файл журнала OPC под названием LogFileName. Если никакое расширение не задано как часть LogFileName, затем .olf используется.

S NRec- 1 массив структур, где NRec количество возвращенных записей. S содержит поля 'LocalEventTime' и 'Items'. LocalEventTime соответствие вектора даты локальному времени события для той записи. Items NItems- 1 массив структур, содержащий поля, показывает ниже.

Имя поля

Описание

ItemID

Полностью определенный ID элемента, как вектор символов.

Value

Значение данных. Тип данных зависит от DataType исходного Элемента свойство.

Quality

Качество данных, как вектор символов.

TimeStamp

Время значение было изменено как вектор даты.

S = opcread('LogFileName','PropertyName','PropertyValue',...) ограничивает данные, считанные из заданного файла журнала OPC на основе свойств и введенных значений. Допустимые имена свойства и значения свойств заданы в приведенной ниже таблице.

PropertyName

Значение свойства

'Records'

Задайте необходимые записи как [startRec endRec]. Если никакие записи не находятся в пределах тех границ, opcread возвращает пустые выходные параметры.

'Dates'

Задайте диапазон дат для записей как [startDt endDt]. Даты должны быть в MATLAB® числовой формат даты. Если никакие записи не находятся в пределах тех границ, opcread возвращает пустые выходные параметры.

'ItemIDs'

Задайте необходимые идентификаторы элемента как вектор символов, строку или массив. Если никакие записи не совпадают с необходимым ItemIDs, OPCREAD возвращает пустые выходные параметры.

TSCell = opcread('LogFileName','DataType','timeseries') присваивает данные, полученные от файла журнала OPC до массива ячеек объектов временных рядов. TSCell содержит столько же объектов временных рядов, сколько существуют элементы в группе с именем каждого набора объекта временных рядов к ID элемента. Качественное значение, сохраненное в объекте временных рядов, возмещено от качественного значения, возвращенного Сервером OPC 128. Качество, отображенное каждым, является тем же самым. Поскольку каждая регистрируемая запись не может содержать информацию для каждого элемента, объекты временных рядов имеют только столько же точек данных, сколько существуют записи, содержащие информацию о том конкретном ID элемента.

[I,V,Q,TS,ET] = opcread('LogFileName','DataType',DType,...) присваивает полученные данные от файла журнала OPC до отдельных массивов. Допустимые типы данных для DType 'double'единственныйint8int16int32uint8uint16uint32логический, 'currency'дата, и 'cell'.

I 1- NItem массив ячеек названий товара.

V NRec- NItem массив значений с заданным типом данных. Если тип данных 'cell' задан, V массив ячеек, содержащий данные в возвращенном типе данных для каждого элемента. В противном случае, V числовой массив заданного типа данных.

Примечание

DType должен быть установлен в 'cell' при получении записей, содержащих векторы символов или массивы значений.

Q NRec- NItem массив качественных векторов символов для каждого значения в V.

TS NRec- NItem массив чисел даты MATLAB, представляющих время, когда соответствующее значение и качество хранились на Сервере OPC.

ET NRec- 1 массив чисел даты MATLAB, соответствуя локальному времени события для каждой записи.

Каждая регистрируемая запись не может содержать информацию для каждого возвращенного элемента, поскольку данные для того элемента не могли измениться от предыдущего обновления. Когда данные возвращены как числовая матрица, недостающие столбцы элемента для той записи заполнены следующие.

V

Соответствующая запись значения установлена в предыдущее значение того элемента, или к NaN если нет никакого предыдущего значения.

Q

Соответствующая качественная запись установлена в 'Repeat'.

TS

Соответствующая запись метки времени установлена в первую допустимую метку времени для той записи.

Примеры

Сконфигурируйте и запустите задачу логгирования. Ожидайте задачи завершиться.

da = opcda('localhost','Matrikon.OPC.Simulation');
connect(da);
grp = addgroup(da,'ExOPCREAD');
itm1 = additem(grp,'Triangle Waves.Real8');
itm2 = additem(grp,'Saw-Toothed Waves.Int2');
grp.LoggingMode = 'disk';
grp.RecordsToAcquire = 30;
grp.LogFileName = 'ExOPCREAD.olf';
start(grp);
wait(grp);

Получите первые две записи в структуру:

s = opcread('ExOPCREAD.olf','Records',[1, 2]);

Получите все данные и постройте их с легендой:

[itmID,val,qual,tStamp] = opcread('ExOPCREAD.olf', ...
    'DataType','double');
plot(tStamp(:,1),val(:,1),tStamp(:,2),val(:,2));
legend(itmID);
datetick x keeplimits

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

| | | |

Представлено до R2006a