exponenta event banner

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.

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.

Пример: 'Average'

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

Пример: minutes(10)

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

Границы интервала агрегирования, указанные как datetime или date number.

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

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

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

свернуть все

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

См. также

Функции

Представлен в R2015b