exponenta event banner

writeasync

Асинхронно запишите значения в группу или элементы

Синтаксис

TransID = writeasync(GObj,Values)
TransID = writeasync(IObj,Values)

Описание

TransID = writeasync(GObj,Values) асинхронно значения записей ко всем элементам содержали в объекте dagroup GObj. Values является массивом ячеек значений и одного размера как количество элементов в GObj. TransID является уникальным ID транзакции для асинхронного запроса.

TransID = writeasync(IObj,Values) асинхронно значения записей ко всем элементам, содержавшимся в векторе объектов daitem, заданы IObj.

Чтобы гарантировать, что определенное значение записано в правильный объект элемента, необходимо создать массив ячеек Values на основе порядка элементов, возвращенных свойством Item. Поскольку значения записаны в устройство, эта операция может быть трудоемкой.

Типы данных значений не должны совпадать с каноническим типом данных связанных элементов. Если преобразование типа данных не может быть выполнено, предупреждение выдано.

Когда асинхронная операция записи завершается, запись, асинхронное событие сгенерировано сервером. Если файл функции обратного вызова задан для свойства WriteAsyncFcn, то функция выполняется, когда событие сгенерировано.

Примечание

Поведение Сервера OPC при записи NaN в элемент зависимо сервером. При попытке записать NaN в Сервер OPC, значение может быть тихо проигнорировано Сервером OPC. Таким образом, сервер не может сгенерировать события в ответ на запись NaN к элементу.

Примеры

Сконфигурируйте клиент, группу и элементы, для Сервера Симуляции Matrikon™:

da = opcda('localhost', 'Matrikon.OPC.Simulation');
connect(da);
grp = addgroup(da, 'ExWrite');
itm = additem(grp, {'Bucket Brigade.Real8', ...
    'Bucket Brigade.String'});

Сконфигурируйте коллбэк WriteAsyncFcn, чтобы читать из группы:

grp.WriteAsyncFcn = 'r=read(grp,''device'')';

Запишите значения асинхронно в группу:

writeasync(grp, {123.456, 'MATLAB is great!'})

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

| | | |

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