Чтение агрегированных сервером данных с сервера 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-на-N. Quality
является массивом идентификаторов качества M-на-N и TimeStamp
- M-by-1 массив меток времени в виде номеров дат MATLAB.
S = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'struct')
возвращает обработанные данные как структуру, содержащую поля ItemID
, Value
, Quality
и TimeStamp
.
Создайте OPC HDA Client и подключите клиент к серверу:
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);