Считайте данные асинхронно из группы или элементов
TransID = readasync(GObj)
TransID
= readasync(IObj)
TransID = readasync(GObj)
и TransID
= readasync(IObj)
асинхронно считайте данные для всех элементов, содержавшихся в объекте dagroup
, GObj
, или для вектора объектов daitem
, заданных IObj
. TransID
является уникальным ID транзакции для асинхронного запроса.
Для асинхронных чтений данные всегда считываются из устройства, не из кэша сервера. Свойство Active
проигнорировано для асинхронных чтений.
Когда операция чтения завершается, чтение, асинхронное событие сгенерировано сервером. Если файл функции обратного вызова задан для свойства ReadAsyncFcn
, эта функция выполняется, когда событие сгенерировано.
Можно отменить происходящий асинхронный запрос с помощью cancelasync
.
Когда операция readasync
успешно выполняется, Value
, Quality
, и свойства TimeStamp
связанных элементов обновляются, чтобы отразить значения, полученные из операции чтения.
Сконфигурируйте клиент, группу и элемент, для Сервера Симуляции Matrikon™:
da = opcda('localhost','Matrikon.OPC.Simulation'); connect(da); grp = addgroup(da,'ExReadAsync'); grp.UpdateRate = 20; itm = additem(grp,'Random.Real8');
Выполните две асинхронных операции чтения:
tid1 = readasync(grp) tid2 = readasync(grp)
Исследуйте журнал событий:
pause(2) disp('Event log:') showopcevents(da)
cancelasync
| read
| refresh
| write
| writeasync