PID Software function (MICRO - PREMIUM) on PL7

PID Function

The PID function completes a PID correction via an analog measurement and
setpoint on the [0-10000] format and provides an analog command to the
same format.

Available PID functions

serial / parallel PID algorithm,
forward / backward action (according to the KP gain sign),
action derived from measurement or from distance,
high and low limitation of the setpoint to [0-10000],
high and low limitation of the output in automatic mode,
anti-saturation of the integral action,
Manual/Automatic operating modes without definitely changing,
PID access control through the dialog operator,
operating in integrator for (KP = TD =0).

Here is the operating principle diagram of the PID function



PID functions are standard PL7 functions. They are therefore available from the function library.
From the PL7 menu Tools --> Library the next picture appears




The call syntax for the PID function is:

PID(TAG,UNIT,PV,OUT,AUTO,PARA) -  Equation 1

Note: A PID function can be entered in any periodic task (MAST or FAST). 

Call of PID function . We are Opening in a PL7v4.5 Project (Micro or Premium) a Fast periodic Task section and insert an operate instruction. Right click inside the operate function to call for a function.
See the following picture



The following illustration appears:




Then fullfill with parameters the PID call in grey zone . See the following picture



The following picture is the PID function fullfilled . Next we are going to analyze the parameters entered



As we can see the parameters are 6 and is the equation 1 . So.

PID(TAG,UNIT,PV,OUT,AUTO,PARA)
TAG = %MB0:8      Used by CCX17 . not neccessary
UNIT = %MB10:8   Used by CCX17 . not neccessary
PV = %MW50         Process value of the function
OUT = %MW52      Analog PID output
AUTO = %M40       Operating Mode
PARA = %MW100:43  PID Parameters

Detailed Description of Parameters



As we could see from the 2nd table above the PID parameters like internal SP=Setpoint, Kp,Ti,Td,Ts
are in the range of %MW100:43.
So for SP = %MW100 and so on in which the developer should setup a value

On cold start, the PID resumes in manual, with the output at 0.
To impose automatic mode or a manual input not at zero after a cold start,
you must program the initialization sequence after the PID call.
 
Where the process control Human Machine Interface is used
(DEVAL_MMI = 0)
Where no Human Machine Interface is used DEVAL_MMI = 1.

Examples. In this example, the TAG and UNIT parameters are not applicable,
so you can simply enter the values.

(* PID correction on temperature process control loop *)
PID(‘TEMP’,’DEGRES’,%MW10,%MW1>>  OPERATE FUNCTION
with PID(‘TEMP’,’DEGRES’,%MW10,%MW11,%M10,%MW20:43)

(* PID correction on process control loop without built-in HMI
PID(‘ ’,’ ’,%MW10,%MW1>>   OPERATE FUNCTION
with PID(‘ ’,’ ’,%IW3.1,%QW4.0,%M10,%MW20:43)

 
NOTE FOR THE READER : THE ABOVE IS THE CONFIGURATION ONLY AND TYPICAL EXAMPLES ON HOW TO CONGIGURE THE PID FUNCTION IN PL7 SOFTWARE. THE INFORMATION GIVEN ARE NOT A COMPLETE APPLICATION AND THE DEVELOPER MUST MAKE HIS OWN CALCULATIONS TO ACHIEVE PID CONTROL IN HIS SPECIFIC APPLICATION. IT'S THE RESPONSIBILITY OF THE USER TO USE THE INFORMATION ABOVE CORRECT IN HIS APPLICATION. IMPROPER USE MAY RESULT IN EQUIPMENT DAMAGE OR HUMAN INJURIES