Преобразуйте OPC Data от структуры до формата временных рядов
TS = opcstruct2timeseries(S)
TS = opcstruct2timeseries(S)
преобразует структуру OPC Data S
в массив ячеек объектов временных рядов. S
должна быть структура в формате что getdata
и opcread
функции возвращаются. S
должен содержать поля LocalEventTime
и Items
. Items
поле S
должен содержать поля ItemID
Значение
, Quality
, и TimeStamp
.
Массив ячеек TS
содержит столько же объектов временных рядов, сколько существуют уникальные идентификаторы элемента в структуре данных с именем каждого объекта временных рядов указание на ID элемента. Объект временных рядов содержит качество, несмотря на то, что это значение возмещено 128 от качественного значения, которое возвращает Сервер OPC. Однако качества являются тем же самым. Поскольку каждая регистрируемая сила записи не содержит информацию для каждого элемента, объекты временных рядов имеют только столько же точек данных, сколько существуют записи, содержащие информацию о том конкретном ID элемента.
Сконфигурируйте и запустите задачу логгирования в течение 30 секунд данных:
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 = 'memory'; grp.UpdateRate = 0.5; grp.RecordsToAcquire = 60; start(grp); wait(grp);
Получите записи в структуру:
s = getdata(grp);
Преобразуйте структуру в объекты временных рядов и постройте каждого отдельно:
ts = opcstruct2timeseries(s); subplot(2,1,1); plot(ts{1}); subplot(2,1,2); plot(ts{2});