Asynchronous scripts
- Last UpdatedAug 12, 2025
- 1 minute read
An asynchronous script runs in a separate thread and is not directly tied into the engine's scan process. Therefore, reading and writing to any object attributes (including the calling object) is a slow process.
An asynchronous script should not Read or Write within a long FOR-NEXT loop to an attribute or other external source. Since the asynchronous script runs in a separate thread, it must wait until the next scan of the engine for all the Read or Write transactions to occur. If the scripts have not all been completed at the next scan, the system must wait for another scan.
A single-system test with an engine scan period of one second achieved approximately 70 attribute writes per second and 35 attribute reads per second.
Asynchronous Timeout Limit Settings
The asynchronous timeout limit must also be set appropriately. If the script times out, the script is halted in an indeterminate state. There is no mechanism for determining what line the script was executing when it was halted.
Therefore, another script should be checking for asynchronous script time outs and cleaning up any remaining inconsistencies.