PID controller with override mode

Issue

The PID controller object provided as part of the MPM software does not allow for any means of programmatic override i.e. forcing the loop output to 0%, 100% or other user defined position.  If you force the referenced Manipulated Variable (output) to a particular position by programmatically disconnecting it from the PID object,  there can be a large overshoot when the PID output is reconnected.  

Product Line

SmartStruxure Lite

Environment

MPM

Cause

If you force the referenced Manipulated Variable (output) to a particular position by programmatically disconnecting it from the PID object,  the PID controller will be 'open loop' and any integral parameter will wind up the output to its max or min position.  This can cause a large overshoot when the PID output is reconnected.  

Resolution

One option is to write a Lua script that forces the Controlled Variable and the Setpoint Reference to receive the same value when you override the loop output. This would freeze the output of the PID controller and prevent any integral wind up. There would still be a 'bump' when you remove the override, but it should be reduced.

 

Another option is to replace the PID controller object with a Lua script that provides the same the same functionality but with the addition of an override mode. You can find a sample Lua script here