Считайте обработанные агрегированные данные

Историки могут включать способность обработать необработанные данные во множестве путей прежде, чем возвратить его в вас. Примеры такой обработки включают интерполяцию точек данных, усреднение во времени и вычисления стандартного отклонения. Обработка данных может быть очень полезной, когда существует большой объем данных по серверу. Инструктирование серверу возвратить только обработанный набор данных может значительно уменьшать время и объем переданных данных.

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

Для просмотра документации необходимо авторизоваться на сайте