Asynchronously write values to group or items
TransID = writeasync(GObj,Values)
TransID = writeasync(IObj,Values)
TransID = writeasync(GObj,Values)
asynchronously writes values to all the items contained in the
dagroup object GObj.
Values is a cell array of values and is the same size as the
number of items in GObj. TransID is a unique
transaction ID for the asynchronous request.
TransID = writeasync(IObj,Values)
asynchronously writes values to all the items contained in the vector of
daitem objects specified by IObj.
To ensure that a specific value is written to the correct item object, you should
construct the Values cell array based on the order of the items
returned by the Item property. Because the values are written to
the device, this operation might be time consuming.
The data types of the values do not need to match the canonical data type of the associated items. If a data type conversion cannot be performed, a warning is issued.
When the asynchronous write operation completes, a write async event is generated
by the server. If a callback function file is specified for the
WriteAsyncFcn property, then the function executes when the
event is generated.
Note
The behavior of an OPC server when writing NaN to an item
is server-dependent. If you attempt to write NaN to an OPC
server, the value might be silently ignored by the OPC server. That is, the
server might not generate any events in response to writing
NaN to an item.
Configure a client, group, and items, for the Matrikon™ Simulation Server:
da = opcda('localhost', 'Matrikon.OPC.Simulation'); connect(da); grp = addgroup(da, 'ExWrite'); itm = additem(grp, {'Bucket Brigade.Real8', ... 'Bucket Brigade.String'});
Configure the WriteAsyncFcn callback to read from the
group:
grp.WriteAsyncFcn = 'r=read(grp,''device'')';Write values asynchronously to the group:
writeasync(grp, {123.456, 'MATLAB is great!'})cancelasync | read | readasync | refresh | write