Историки могут включить возможность обрабатывать необработанные данные различными способами, прежде чем возвращать их вам. Примеры такой обработки включают интерполяцию точек данных, усреднение времени и вычисления стандартного отклонения. Обработка данных может быть очень полезной при наличии большого объема данных на сервере. Указание серверу возвращать только обработанный набор данных может значительно сократить время и объем передаваемых данных.
Вы можете определить, какие агрегаты поддерживаются сервером, запросив 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 из операций чтения.