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