📖HomeBack On Input Processed can be used to trigger the execution of a Logic program whenever one of the inputs in processed. On Input Processed can be used for the following data types:
Digital and Analogue Points
Digital and Analogue Variables
Reference to configuration fields (units, format, multiplier for example) will not trigger an Input Processed events. For the program to execute, it must be some sort of state change, such as a new value from the outstation.
You may see the following occur if your On Input Processed logic program is not configured correctly.
Program Will Not Run
Your program may not run if you use the wrong type of object, or property as the input. This is because the program triggers when an input is processed, not when it changes.
If you want a logic program to trigger off an object property that is not processed e.g. the value of a parameter, then you should use 'On Interval', set the program up to run periodically and select 'Input Change Detection'. This means that the program will check your inputs according to the configured execution Interval and only run if the inputs have changed.
If the trigger you require is not one of the program inputs then you can use the 'Trigger' field. This will check for changes in your 'Trigger' according to the configured execution Interval and only execute if the 'Trigger' has changed.
If you have reference to a configuration field in your logic program (units, format, multiplier for example), then when you change the property value and save the form, it will not cause the logic program to execute. For the program to execute, it must be some sort of state change, such as a new value from the outstation.
Errors when Writing to a Point Used as Input
If you are trying to read from the point and also write to it, it will not be used as a trigger to run the logic program.
For it to be used as a trigger it has to be used in a read-only way (so you can declare the variable as %I). If the variable was written to and also acting as a trigger, program would go into an infinite loop, because as each execution cycle ended, the value would be written to and so the logic would trigger again and repeat the cycle. ClearSCADA will flag a compile error if you write to an input in the program, and have no other inputs for the program. If there are other inputs, then the input being written to will not be used as an input for the On Input Processed calculations.
Program Runs Multiple Times
If you have two inputs to the program, each of which changed at the same time, the logic program will be executed twice. That is, once for each point update. If you have many inputs from the same object, all of which changed in the point update, the logic program will only execute once.