Undefined Output on Disabled EFs
Original instructions
Outputs of EFs Not Kept
In case the EN switches from TRUE to FALSE, the outputs of EFs from the previous cycle are not kept in Control Expert. This reduces the memory consumption in the PLC. This is different from EFBs, which keep their value from the previous cycle. Concept uses static links to latch the value from the previous cycle.
Execution Behavior Differs Significantly
If a Concept application relies on the outputs of EFs to keep their old values, the execution behavior in Control Expert will differ significantly.
Manual Correction
The application has to be changed manually.
Links from outputs, which are assumed to keep their value, need to be replaced by variables. If the EN of an EF is set to false, the EF is not executed and a connected variable is not touched.
Concept
The output of the disabled SEL EF is kept and used as input for the EQ_INT function block:
Control Expert
The output of the disabled SEL EF gets an undefined value, in this case 0. Therefore the output of EQ_INT function block has become true:
Solution
If the EN of the SEL is set to false, the ENO of the EQ_INT is also set to false, but the connected output variable keeps its value from the previous cycle:
NOTE: The use of a variable is mandatory to retain network results in case an EF becomes disabled.