Получите регистрируемые записи от механизма OPC Toolbox до рабочего пространства MATLAB
S = getdata(GObj)
S = getdata(GObj,NRec)
TSCell = getdata(GObj,'timeseries')
TSCell = getdata(GObj, NRec,'timeseries')
[ItmID,Val,Qual,TStamp,ETime] = getdata(GObj,'DataType
')
[ItmID,Val,Qual,TStamp,ETime] = getdata(GObj,NRec,'DataType
')
S = getdata(GObj)
возвращает количество записей, заданных в RecordsToAcquire
свойство dagroup
объект GObj
, от механизма программного обеспечения OPC Toolbox™. GObj
должен быть скалярный dagroup
объект.
S
NRec
- 1
массив структур, где NRec
количество возвращенных записей. S
содержит поля 'LocalEventTime'
и 'Items'
. LocalEventTime
соответствие вектора даты локальному времени события для той записи. Items
NItems
- 1
массив структур, содержащий поля, показанные ниже.
Имя поля | Описание |
---|---|
| Полностью определенное имя тега, как вектор символов. |
| Значение данных. Тип данных задан |
| Качество данных, как вектор символов. Для описания см. Качество OPC. |
| Время значение было изменено как вектор даты. |
S = getdata(GObj,NRec)
получает первый NRec
записи от механизма тулбокса.
TSCell = getdata(GObj,'timeseries')
и
TSCell = getdata(GObj, NRec,'timeseries')
присвойте данные, полученные от механизма тулбокса до массива ячеек объектов временных рядов. TSCell
содержит столько же объектов временных рядов, сколько существуют элементы в группе с именем каждого набора объекта временных рядов к ID элемента. Качественное значение, сохраненное в объекте временных рядов, возмещено от качественного значения, возвращенного Сервером OPC 128. Качество, отображенное каждым, является тем же самым. Поскольку каждая регистрируемая запись не может содержать информацию для каждого элемента, объекты временных рядов имеют только столько же точек данных, сколько существуют записи, содержащие информацию о том конкретном ID элемента.
[ItmID,Val,Qual,TStamp,ETime] = getdata(GObj,'
и DataType
')
[ItmID,Val,Qual,TStamp,ETime] = getdata(GObj,NRec,'
присвойте полученные данные от механизма тулбокса до отдельных массивов. Допустимыми типами данных является DataType
')'double'
единственный
int8
int16
int32
uint8
uint16
uint32
логический
, 'currency'
дата
, и 'cell'
.
ItmID
1
- NItem
массив ячеек названий товара.
Val
NRec
- NItem
массив значений с заданным типом данных. Если тип данных 'cell'
задан, затем Val
массив ячеек, содержащий данные в возвращенном типе данных для каждого элемента. В противном случае, Val
числовой массив заданного типа данных.
Примечание
'
DataType
'
должен быть установлен в 'cell'
при получении записей, содержащих векторы символов или массивы значений.
Qual
NRec
- NItem
массив качественных векторов символов для каждого значения в Val
.
TStamp
NRec
- NItem
массив чисел даты MATLAB®, представляющих время, когда соответствующее значение и качество хранились на Сервере OPC.
ETime
NRec
- 1
массив чисел даты MATLAB, соответствуя локальному времени события для каждой записи.
Каждая регистрируемая запись не может содержать информацию для каждого возвращенного элемента, поскольку данные для того элемента не могли измениться от предыдущего обновления. Когда данные возвращены как числовая матрица, недостающие столбцы элемента для той записи заполнены следующие.
Аргумент | Поведение для Пропавших без вести элементов |
---|---|
| Соответствующая запись значения установлена в предыдущее значение того элемента, или к |
| Соответствующая качественная запись установлена в |
| Соответствующая запись метки времени установлена в первую допустимую метку времени для той записи. |
getdata
блокирующаяся функция, которая возвращает контроль выполнения в рабочее пространство MATLAB, когда одному из следующих условий отвечают:
Требуемое количество записей становится доступным.
Операция логгирования автоматически останавливается механизмом. Если меньше записей доступно, чем номер, который требуют, предупреждение сгенерировано, и возвращены все доступные записи.
Вы выпускаете Ctrl+C. Задача логгирования не останавливается, и никакие данные не удалены из механизма тулбокса.
Когда getdata
завершается, RecordsAvailable
объекта свойство уменьшается количеством записей, возвращенных
getdata
.
Сконфигурируйте и запустите задачу логгирования в течение 60 секунд данных.
da = opcda('localhost','Matrikon.OPC.Simulation'); connect(da); grp = addgroup(da,'ExOPCREAD'); itm1 = additem(grp,'Triangle Waves.Real8'); itm2 = additem(grp,'Saw-Toothed Waves.Int2'); grp.LoggingMode = 'memory'; grp.RecordsToAcquire = 60; start(grp);
Получите первые две записи в структуру. Эта операция ожидает по крайней мере двух записей.
s = getdata(grp,2)
Получите все остающиеся данные в двойной массив и постройте их с легендой.
[itmID,val,qual,tStamp] = getdata(grp,'double'); plot(tStamp(:,1),val(:,1),tStamp(:,2),val(:,2)); legend(itmID); datetick x keeplimits