Историки могут включать возможность обработки необработанных данных различными способами, прежде чем возвращать их вам. Примеры такой обработки включают интерполяцию точек данных, усреднение по времени и вычисление стандартного отклонения. Обработка данных может быть очень полезной, когда на сервере большой объем данных. Указание серверу вернуть только обработанный набор данных может значительно сократить время и объем передаваемых данных.
Можно узнать, какие агрегаты поддерживаются сервером, запросив Aggregates свойство связанного объекта HDA-клиента:
aggTypes = clientObject.Aggregates
aggTypes =
OPC HDA Aggregate Types:
Name ID Description
----------------- -- -------------------------------------------------------------------------------------------
INTERPOLATIVE 1 Retrieve interpolated values.
TIMEAVERAGE 4 Retrieve the time weighted average data over the resample interval.
MINIMUMACTUALTIME 7 Retrieve the minimum value in the resample interval and the timestamp of the minimum value.
MINIMUM 8 Retrieve the minimum value in the resample interval.
MAXIMUMACTUALTIME 9 Retrieve the maximum value in the resample interval and the timestamp of the maximum value.
MAXIMUM 10 Retrieve the maximum value in the resample interval.В предыдущем примере сервер поддерживает шесть типов агрегатов.
Вы можете запросить обработанные данные, используя readProcessed функция и передача в идентификаторе требуемой совокупности. Вы можете получить идентификатор свойства с помощью объекта и соответствующего совокупного типа.
clientObject.Aggregates.TIMEAVERAGE
4
hdareadProcessed = readProcessed(clientObject, ItemList, clientObject.Aggregates.TIMEAVERAGE, ...
AggregateInterval, StartTime, EndTime)
hdareadProcessed =
1-by-5 OPC HDA Data object:
ItemID Value Start TimeStamp End TimeStamp Quality
------------ -------------- ----------------------- ----------------------- -----------------------------
Random.Int1 1 int8 value 2010-11-28 13:56:40.666 2010-11-29 13:56:40.666 1 unique quality [Calculated]
Random.Boolean 1 logical value 2010-11-28 13:56:40.666 2010-11-29 13:56:40.666 1 unique quality [Calculated]Запрашиваемая временная область разделена на временные интервалы, которые вы предоставляете в качестве четвертого аргумента функции. Агрегаты вычисляются на этих интервалах.
Кроме того, можно запросить возврат данных как поддерживаемого MATLAB® тип данных. Смотрите собственные типы данных MATLAB из операций чтения.