exponenta event banner

readAtTime

Считывание данных с сервера OPC HDA в указанное время

Синтаксис

DObj = readAtTime(HdaClient,ItmList,TimeStamps)
[ItmList,Value,Quality,TimeStamp] = readAtTime(HdaClient,ItmList,TimeStamps,'DataType')
S = readAtTime(HdaClient,ItmList,TimeStamps,'struct')

Описание

DObj = readAtTime(HdaClient,ItmList,TimeStamps) считывает данные из элементов, определенных ItmList, с сервера OPC HDA, связанного с клиентским объектом HdaClient, в момент времени, указанный TimeStamps. HdaClient должен быть скалярным подключенным клиентом OPC HDA. ItmList является символьным вектором, строкой или массивом, определяющим один или несколько полных идентификаторов в пространстве имен сервера OPC. TimeStamps должен быть вектором номеров дат MATLAB. DObj возвращается как opc.hda.Data массив объектов того же размера, что и количество элементов, указанное в ItmList. Каждый элемент DObj гарантированно имеет тот же временной штамп, что и другие элементы DObj.

Если значения для указанной метки времени не существует, сервер интерполирует значение из окружающих значений, чтобы представить значение в этой метке времени, и Quality для этой временной метки будет включать Interpolated бит.

[ItmList,Value,Quality,TimeStamp] = readAtTime(HdaClient,ItmList,TimeStamps,'DataType') где 'DataType' является одним из встроенных числовых массивов MATLAB ('double', 'single'и т.д.) или 'cell', возвращает данные указанного типа данных. ItmID возвращается как массив 1-by-N ячеек символьных векторов. Value - массив значений M-by-N. Quality представляет собой массив идентификаторов качества M-на-N, и TimeStamp представляет собой M-by-1 массив меток времени в виде номеров дат MATLAB.

S = readAtTime(HdaClient,ItmList,TimeStamps,'struct') возвращает структуру, содержащую поля ItemID, Value, Quality и TimeStamp.

Примеры

Создайте клиент OPC HDA и подключите его к серверу.

hdaObj = opchda('localhost','Matrikon.OPC.Simulation');
connect(hdaObj);

Считывайте значения двух элементов каждые 10 секунд в течение последнего часа.

DObj = readAtTime(hdaObj,{'Random.Real8','Random.Real4'},[now-1/24:10/86400:now]);

См. также

Функции

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