readProcessed

Чтение агрегированных данных с узлов сервера OPC UA

Описание

пример

UaData = readProcessed(UaClient,NodeList,AggregateFn,AggrInterval,StartTime,EndTime) считывает обработанные исторические данные с узлов, заданных NodeList. NodeList должен быть массивом объектов узла OPC UA, который можно создать используя getNamespace, browseNamespace, или opcuanode. Интервал между StartTime и EndTime (которые могут быть переменными datetime или номерами дат) разделяется на интервалы AggrInterval, переменная длительности MATLAB или двойной точности, представляющая интервал в секундах. Для каждого интервала времени сервер вычисляет обработанное значение на основе AggregateFn запрошен. AggregateFn может быть задан как вектор символов или как AggregateFnId объект. Клиент хранит доступные агрегаты для сервера в AggregateFunctions свойство. Описание агрегированных функций смотрите в OPC UA Aggregate Functions.

UaData возвращается как вектор объектов данных OPC UA. Если readProcessed не удается получить исторические данные для данного узла, этот узел не включен в возвращенный объект данных OPC UA, и выдается предупреждение. Если не удается выполнить все запрошенные узлы, генерируется ошибка.

UaData = readProcessed(NodeList,AggregateFn,AggrInterval,StartTime,EndTime) считывает с узлов, обозначенных NodeList. Все узлы должны иметь один и тот же подключенный клиент.

Серверы OPC UA обеспечивают исторические данные только с узлов типа Variable. Если вы пытаетесь считать значения из Object узел, данные для этого узла не возвращаются, и для этого узла установлено состояние Bad:AttributeNotSupportedвыдается предупреждение, и узел не включается в возвращаемый UaData объект.

Примеры

свернуть все

Извлеките среднее значение для каждого 10-минутного интервала текущего дня с локального сервера.

uaClnt = opcua('localhost',62550);
connect(uaClnt);
nodeId = '1:Quickstarts.HistoricalAccessServer.Data.Dynamic.Double.txt';
nodeList = opcuanode(2,nodeId,uaClnt);
dataObj = readProcessed(uaClnt,nodeList,'Average',minutes(10),datetime('today'),datetime('now'));

Входные параметры

свернуть все

Клиент OPC UA, заданный как opc.ua.Client объект. Создайте объект клиента с opcua функция. Клиент должен быть подключен.

Пример: opcua()

Узлы OPC UA, заданные как opc.ua.Node объект или массив объектов.

Пример: opcuanode()

Совокупная функция, заданная в виде вектора символов или как AggregateFnId объект. Клиент хранит доступные агрегаты для сервера в своем AggregateFunctions свойство.

Описание стандартных агрегатных функций, определенных OPC Foundation, смотрите в OPC UA Aggregate Functions.

Пример: 'Average'

Сегмент интервала агрегации, заданный как длительность MATLAB или double, указывающий секунды.

Пример: minutes(10)

Типы данных: double | duration

Контуры интервала агрегации, заданные как номера datetime или date.

Пример: datetime('today'),datetime('now')

Типы данных: double | datetime

Выходные аргументы

свернуть все

Данные OPC UA, возвращенные как вектор opc.ua.Data объекты. Если readProcessed не удается получить данные для данного узла, этот узел не возвращается в opc.ua.Data Объект и выдается предупреждение. Если не удается выполнить все запрошенные узлы, генерируется ошибка.

См. также

Функции

Введенный в R2015b