exponenta event banner

readasync

Считайте данные асинхронно из группы или элементов

Синтаксис

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)

Смотрите также

| | | |

Представлено до R2006a