Считывайте данные с сервера 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-на-N. Quality
является массивом идентификаторов качества M-на-N и TimeStamp
- M-by-1 массив меток времени в виде номеров дат MATLAB.
S = readAtTime(HdaClient,ItmList,TimeStamps,'struct')
возвращает структуру, содержащую поля ItemID
, Value
, Quality
и TimeStamp
.
Создайте OPC HDA Client и подключите клиент к серверу.
hdaObj = opchda('localhost','Matrikon.OPC.Simulation'); connect(hdaObj);
Считывайте значения двух элементов каждые 10 секунд в течение последнего часа.
DObj = readAtTime(hdaObj,{'Random.Real8','Random.Real4'},[now-1/24:10/86400:now]);