beckhoff TS4100 — 5.4.11 FB_CTRL_PID_EXT

PLC-API bMaxLimitReached : BOOL := FALSE; (* minimum limitation active ? [TRUE/FALSE] - > ARW *) bMinLimitReached : BOOL := FALSE; (* maximum limitation active ? [TRUE/FALSE] - > ARW *) bARWActive : BOOL := FALSE; (* ARW active ? [TRUE/FALSE] -> freeze I-part *) fCtrlDerivation : FLOAT; (* controller command derivation dy/dt *) eState : E_CTRL_STATE; bError : BOOL; (* error flag *) eErrorId : E_CTRL_ERRORCODES; (* error code *) END_VAR fOut : Output of the PID-element. bMaxLimitReached : The output is TRUE when the block is at its upper limit. bMinLimitReached : The output is TRUE when the block is at its lower limit. bARWactive :

A TRUE at this output indicates that the PID element is being restricted. fCtrlDerivation : A TRUE at this output indicates that the PID element is being restricted. eState : State of the function block. eErrorId : Supplies the error number [ } 16] when the bError output is set. bError : Becomes TRUE, as soon as an error occurs. VAR_IN_OUT VAR_IN_OUT stParams : ST_CTRL_PID_EXT_PARAMS; END_VAR stParams : Parameter structure of the PID element. This consists of the following elements: TYPE ST_CTRL_PID_EXT_PARAMS : STRUCT tCtrlCycleTime : TIME := T#0ms; (* controller cycle time [TIME] *) tTaskCycleTime : TIME := T#0ms; (* task cycle time [TIME] *) fKp : FLOAT := 0; (* proportional gain *) tTn :

TIME := T#0ms; (* Tn *) tTv : TIME := T#0ms; (* Tv *) tTd : TIME := T#0ms; (* Td *) fDeadBandInput : REAL := 0.0; (* ctrl deviation dead band/neutral zone for const output *) fDeadBandOutput : REAL := 0.0; (* ctrl output dead band/neutral zone for zero output *) fInnerWindow : REAL := 0.0; (* inner window for reduced I-part (dE-window) *) fOuterWindow : REAL := 0.0; (* outer window for disabling I-part (dE-window) *) fOutMaxLimit : FLOAT := 1E38; (* maximum output limit *) fOutMinLimit : FLOAT := -1E38; (* minimum output limit *) bPInTheFeedbackPath : BOOL; bDInTheFeedbackPath : BOOL; bARWOnIPartOnly : BOOL; END_STRUCT END_TYPE tCtrlCycleTime :

Cycle time with which the control loop is processed. This must be greater than or equal to the TaskCycleTime. The function block uses this input value to calculate internally whether the state and the output values have to be updated in the current cycle. tTaskCycleTime : Cycle time with which the function block is called. If the function block is called in every cycle this corresponds to the task cycle time of the calling task. fKp : Controller amplification / controller coefficient TS4100 70 Version: 1.1