Асинхронно запишите значения в группу или элементы
TransID = writeasync(GObj,Values)
TransID = writeasync(IObj,Values)
TransID = writeasync(GObj,Values)
асинхронно значения записей ко всем элементам содержатся в dagroup
объект GObj
Значения
массив ячеек значений и одного размера с количеством элементов в 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!'})
cancelasync
| read
| readasync
| refresh
| write