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