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