Считывайте данные асинхронно из группы или элементов
TransID = readasync(GObj)
TransID
= readasync(IObj)
TransID = readasync(GObj)
и TransID
= readasync(IObj)
асинхронно считываются данные для всех элементов, содержащихся в dagroup
объект, GObj
, или для вектора daitem
объекты, заданные IObj
. TransID
является уникальным идентификатором транзакции для асинхронного запроса.
Для асинхронных чтений данные всегда считываются с устройства, а не с кэша сервера. The Active
свойство проигнорировано для асинхронных чтений.
Когда операция чтения завершается, сервер генерирует асинхронное событие чтения. Если для ReadAsyncFcn
задан файл функции обратного вызова свойство, эта функция выполняется при генерации события.
Вы можете отменить текущий асинхронный запрос, используя cancelasync
.
Когда readasync
операция успешна, Value
, Quality
, и TimeStamp
свойства связанных элементов обновляются с учетом значений, полученных в операции read.
Сконфигурируйте клиент, группу и элемент для сервера Matrikon™ Simulation Server:
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