Performs a synchronous write to multiple tags. Synchronous means that execution will not continue until this function has completed, so you will know that a write has been attempted on the provided tags. The first write to fail or time out will throw an exception, but any subsequent tags in the provided list will still be attempted. This function cannot be called from the event dispatch thread, meaning it cannot be called directly from a GUI event like a button press without creating a new thread with a call to system.util.invokeAsynchronous. You can call this from project event scripts like timer scripts.


This scripting function has no Client Permission restrictions.


system.tag.writeAllSynchronous(tagPaths, values [, timeout])

  • Parameters

String[] tagPaths - The paths of the tags to write to.

Object[] values - The values to write.

int timeout - How long to wait in milliseconds before timing out pending writes. The default is 45000 milliseconds. [optional]

  • Returns

nothing

  • Scope

All




# This code write to 5 tags at once, waiting up to 30 seconds for any pending writes to complete.
 
tags = ["Tags/T1", "Tags/T2", "Tags/T3", "Tags/T4", "Tags/T5"]
values = [2, 4, 8, 16, 32]
timeout = 30000
system.tag.writeAllSynchronous(tags,values,timeout)