readAtTime

Чтение исторических данных с узлов OPC UA-сервера в определенное время

Синтаксис

UaData = readAtTime(UaClient,NodeList,TimeVector)
UaData = readAtTime(NodeList,TimeVector)

Описание

UaData = readAtTime(UaClient,NodeList,TimeVector) считывает сохраненные исторические данные с узлов, заданных NodeList, в заданные моменты времени в TimeVector. NodeList - массив объектов узла OPC UA, который можно создать используя getNamespace, browseNamespace, или opcuanode. TimeVector является массивом datetimes MATLAB или номеров дат.

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

UaData = readAtTime(NodeList,TimeVector) считывает с узлов, обозначенных 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);
TimeVector = datetime('today'):minutes(10):datetime('now');
dataObj = readAtTime(uaClnt,nodeList,TimeVector);
Введенный в R2015b