VelocityLimiterCC , Enable and outInclimit
Hi,
I have the below simple requirement
1. One of the control valve should rampup upto certain % very slowly based upon certain interlock . For that I have used VelocitylimiterCC and made the Enable True and outInclimit to my calculation and OutDecLimit to 100 in the same time ( part of the same if else statement). The problem is that as soon as the interlock activated the The enable became true but the output doesnot obey to my Outinclimit and it shoot to maximum value ?? Still wondering where I have made wrong . But during simulation it work perfectly like a good student
I have the below simple requirement
1. One of the control valve should rampup upto certain % very slowly based upon certain interlock . For that I have used VelocitylimiterCC and made the Enable True and outInclimit to my calculation and OutDecLimit to 100 in the same time ( part of the same if else statement). The problem is that as soon as the interlock activated the The enable became true but the output doesnot obey to my Outinclimit and it shoot to maximum value ?? Still wondering where I have made wrong . But during simulation it work perfectly like a good student
Answers
Without seeing your code, its impossible to answer.
However, you imply that you've written some Structured Text somewhere and then connected it to the Control Module terminals somehow. And the problem happens in a single program cycle when your enable goes from False to True.
This sounds like a problem with execution order - The output is jumping before the limit is enabled. And the Classic cause for this in the AC800M is not understanding how Code Sorting works......
If you have either Code Loop errors, or Nosort variables in your code, then you CANNOT predict the execution order of some Code Blocks. The execution order is RANDOM and may change between different compilations of the program code.
Programs that appear to work today, can stop working tomorrow, because you made a change in some unrelated program and re-compiled the application.
Code sorting errors can potentially be very serious, and must be fixed.
However, you imply that you've written some Structured Text somewhere and then connected it to the Control Module terminals somehow. And the problem happens in a single program cycle when your enable goes from False to True.
This sounds like a problem with execution order - The output is jumping before the limit is enabled. And the Classic cause for this in the AC800M is not understanding how Code Sorting works......
If you have either Code Loop errors, or Nosort variables in your code, then you CANNOT predict the execution order of some Code Blocks. The execution order is RANDOM and may change between different compilations of the program code.
Programs that appear to work today, can stop working tomorrow, because you made a change in some unrelated program and re-compiled the application.
Code sorting errors can potentially be very serious, and must be fixed.
Add new comment