The following information will help you understand the differences between passing argument tags to parameters by reference or by value.
Aspect | By Value (Input or Output) | By Reference (InOut) |
---|
Value | Synchronous - the argument's value does not change during Add-On Instruction execution. | Asynchronous- the argument's value may change during Add-On Instruction execution. Any access by the instruction's logic directly reads or writes the passed tag's value. |
Performance | Argument values are copied in and out of the parameters of the Add-On Instruction. This takes more time to execute a call to the instruction. | Parameters access argument tags directly by reference, which leads to faster execution of instruction calls. |
Memory usage | Most amount. | Least amount. |
Parameter data types supported | Atomic (SINT, DINT, INT, REAL, BOOL). | Atomic, arrays, and structures. |
0 comments :