exponenta event banner

readProcessed (opcua)

Считайте агрегированные данные из узлов сервера UA OPC

Синтаксис

UaData = readProcessed(UaClient,NodeList,AggregateFn,AggrInterval,StartTime,EndTime)
UaData = readProcessed(NodeList,AggregateFn,AggrInterval,StartTime,EndTime)

Описание

пример

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

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

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

Серверы UA OPC обеспечивают исторические данные только от узлов типа 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'));

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

свернуть все

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

Пример: opcua()

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

Пример: opcuanode()

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

Для описания стандартных агрегатных функций, заданных Основой OPC, см. Агрегатные функции UA OPC.

Пример: 'Average'

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

Пример: minutes(10)

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

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

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

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

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

свернуть все

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

Смотрите также

Функции

Введенный в R2015b