Считайте агрегированные данные сервера из сервера HDA OPC
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)
считывает обработанные данные из Сервера HDA OPC, сопоставленного с объектом клиента HdaObj
, возврат обработанных данных в opc.hda.Data
объект DObj
. HdaObj
должен быть скалярный клиент HDA OPC, который уже соединяется с сервером.
ItmList
массив строк или массив ячеек идентификаторов элемента, чтобы читать из. AggregateType
требуемый составной тип, полученный из Aggregates
клиента свойство.
AggregateInterval
временной интервал в секундах, что сервер должен агрегированные данные. StartTime
и EndTime
числа даты MATLAB, представляющие времена начала и конца периода, за который должны быть агрегированы данные.
[ItmID,Value,Quality,TimeStamp]
= readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'
возвращает обработанные данные как отдельные массивы. DataType
')'DataType'
один из встроенных числовых массивов MATLAB ('double'
единственный
, и т.д.) или 'cell'
. ItmID
возвращен как массив ячеек из символьных векторов 1 на n. Value
массив значений M на n. Quality
массив качественных идентификаторов M на n и TimeStamp
массив M-1 меток времени как числа даты MATLAB.
S = readProcessed(HdaObj,ItmList,AggregateType,AggregateInterval,StartTime,EndTime,'struct')
возвращает обработанные данные как структуру, содержащую поля ItemID
Значение
, Quality
и TimeStamp
.
Создайте Клиент HDA OPC и соедините клиент с сервером:
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);