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