General
Original instructions
Concept
In Concept and Control Expert Function Block interfaces are implemented with data structures (instance areas) collecting parameters, according to the standard IEC61131 which both systems refer to.
Function Block invocations refer to those data structures. However, Concept does not include output parameters into those instance areas. All parameters of DFB/EFBs (Elementary Function Blocks) are generally handled by reference, therefore output parameters are directly written to by the Function Block code by Concept. Control Expert DFB/EFBs buffer output parameters in the instance area, as the standard IEC61131 prescribes.
The Concept behavior was used to enable, for example, easy manual mode implementation of closed-loop-control function blocks.
If the output is written to, only once in a cycle, the behavior is the same in both systems.If output values are not written in all invocation cases, but are assigned by several Function Block instances, different behavior between both systems can result.
If the concerned variable is written to by some other control part prior to a Function Block having the same output parameter, invoked in a case where the Function Block does not write to the output, nothing changes in Concept, but in Control Expert the variable buffer value in the instance area resulting from a previous invocation is assigned to the output parameter.
To detect such cases, multiple assignments to elementary variables or derived data type components from Function Blocks are detected by the Concept converter, if the appropriate option is checked:
Using this report, the user can adapt this code to ensure common operation, e.g. by changing the DFB outputs to InOut parameters, which offer direct writing also in Control Expert.
NOTE: If the application uses multi-assignment on EFB outputs, you should carefully read the following chapter to verify that the converted application works in the intended way (EFBs cannot be changed by the user, only new ones can be introduced).