LD Execution Order Changed
Original instructions
Different Execution Orders
NOTE: Control Expert LD execution order can differ from Concept. In Control Expert, one LD network can be completed before the next is started.
The converter follows the Concept execution order in graphical positioning, making the original order visible to the user. However, since Control Expert calculates the order anew (without the possibility of forcing it from the converter), there can be execution order discrepancies.
Generate ConvError Hints
Open the Conversion Settings tab via Tools → Options in Control Expert to enable/disable the Generate ConvError Hints check box before converting.
Concept
When analyzing in Concept, the execution order is calculated. The result is shown in parentheses after the instance names in this image.
The selected block is executed in the middle of the other network, even though it has no direct connection to it. Concept calculates the execution order from the block position.
This is the original section as it appears in Concept:
The used variables are initialized in a way that the result of the comparator EQ_INT becomes "true" after execution of the first cycle in Concept:
Testing execution in single cycle mode in Concept shows the expected result. The comparator result becomes "true" after the first cycle:
Control Expert
The converted network reflects the Concept execution order in the graphical position of the blocks:
The image also shows the execution status stopped at a breakpoint in the first cycle. The comparator EQ_INT is already executed and will not deliver a "true" result because the first ADD_INT integrator block is executed after it.
Solution
Replace the connection via a variable by a link to achieve the same result as in Concept.