PIDLogic

In this method, the parameters of the TwinCAT PID controller FB_CTRL_PID_EXT (see https://infosys.beckhoff.com/content/1033/tf4100_tc3_controller_toolbox/245438859.html?id=7056393866169628239) are set and the controller is invoked.
Syntax
METHOD PIDLogic : BOOL//Set PID Params
PidParams.tCtrlCycleTime := LREAL_TO_TIME(fCycleTime * 1000);
PidParams.tTaskCycleTime := LREAL_TO_TIME(fCycleTime * 1000);
PidParams.fKp := P;
PidParams.tTn := REAL_TO_TIME(TI * 1000);
PidParams.tTv := REAL_TO_TIME(TD * 1000);
PidParams.tTd := REAL_TO_TIME(TD * 100);
PidParams.fDeadBandInput := 0.0
PidParams.fDeadBandOutput := 0.0
PidParams.fInnerWindow := 0.0
PidParams.fOuterWindow := 0.0
PidParams.fOutMaxLimit := MVMax;
PidParams.fOutMinLimit := MVMin;
PidParams.bPInTheFeedbackPath := FALSE;
PidParams.bDInTheFeedbackPath := FALSE;
PidParams.bARWOnIPartOnly := TRUE;
//Call Controller Toolbox PID function block
fbPid(
fSetpointValue := SEL(P >= 0, PV, SP),
fActualValue := SEL(P >= 0, SP, PV),
eMode := eCTRL_MODE_ACTIVE,
stParams := PidParams);
//Write resulting Manipulated Value to MTP function block
MV:= LREAL_TO_REAL(fbPid.fOut);
Return value
Name | Type | Description |
|---|---|---|
PIDLogic | BOOL |
|