exponenta event banner

readProcessed

Считывание агрегированных сервером данных с сервера OPC HDA

Синтаксис

DObj = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime)
[ItmID,Value,Quality,TimeStamp] = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'DataType')
S = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'struct')

Описание

DObj = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime) считывает обработанные данные с сервера OPC HDA, связанного с клиентским объектом HdaObj, возврат обработанных данных в opc.hda.Data объект DObj. HdaObj должен быть скалярным клиентом OPC HDA, который уже подключен к серверу.

ItmList является строковым массивом или массивом ячеек идентификаторов элементов для чтения. AggregateType - запрашиваемый агрегатный тип, полученный от клиента Aggregates собственность. AggregateInterval интервал времени в секундах, по которому сервер должен агрегировать данные. StartTime и EndTime - номера дат MATLAB, представляющие время начала и окончания периода, за который данные должны быть агрегированы.

[ItmID,Value,Quality,TimeStamp] = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'DataType') возвращает обработанные данные в виде отдельных массивов. 'DataType' является одним из встроенных числовых массивов MATLAB ('double', 'single'и т.д.) или 'cell'. ItmID возвращается в виде массива 1-by-N ячеек символьных векторов. Value - массив значений M-by-N. Quality представляет собой массив идентификаторов качества M-на-N, и TimeStamp представляет собой M-by-1 массив меток времени в виде номеров дат MATLAB.

S = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'struct') возвращает обработанные данные в виде структуры, содержащей поля ItemID, Value, Quality и TimeStamp.

Примеры

Создайте клиент OPC HDA и подключите его к серверу:

hdaObj = opchda('localhost','Matrikon.OPC.Simulation');
connect(hdaObj);

Прочитайте средние значения двух позиций за последний час за одну минуту:

aggregates = hdaObj.Aggregates
DObj = readProcessed(hdaObj,{'Random.Real8','Random.Real4'}, ...
         aggregates.TIMEAVERAGE,60,now-1/24,now);

См. также

Функции

Представлен в R2011a