Считайте данные асинхронно из группы или элементов
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