CERN Official Website CERN EN Department Official Website
Home  Mandate  Structure

UNICOS CPC MANUAL V1.3.X

Controller (PID)

Skip to end of metadata
Go to start of metadata

 

Generalities

  • Object Name: Controller
    • Schneider DFB name : CPC_Controller
    • Siemens FB Name : CPC_FB_PID
    • Siemens Acronym: PID
  • Purpose: This object performs a regulation of control loop via a standard PID function
  • Functionalities:
    • It operates in UNICOS operation modes Auto, Manual and Forced
    • The controller has 3 working states available for all operation modes:
      1. Regulation: The output signal is driven by the PID function.
      2. Output Positioning: The control loop is opened and the output signal is assigned to a desired value (Auto or Manual position request).
      3. Tracking: The output signal is set equal to the position request.

Particularities

  • The PID algorithm implemented works with 4 regulation parameters using a PID mixed structure :
LaTeX Markup problem

Show/Hide latex markup

Show/Hide latex error

With:

  • Kc : Proportional gain
  • Ti:  Integration time
  • Td: Derivation Time
  • Tds: Derivative filter time
  • Default PID parameters set during the compilation can be manipulated via the PVSS Panel object and new values can be saved and take place as default PID parameters. The different parameters are :
    • SP, Kc, Ti, Td, Tds, OutHLim, OutLLim, SPHLim, SPLLim
    • A conditional parameter can set the PID function into a reverse action mode (RA).
    • The ¿regulation¿ and the Output Positioning working states can be set automatically or by operator in manual or forced mode.
    • The ¿Tracking¿ working state is set by automatism only and it is priority on other working states.
    • The set-point evolution is limited within a Low/high limit defined by inputs variables. This low/high limits cannot be declared outside a parameter Min/Max Range.
    • The set-point is always ramped with a defined Increased and decreased speed defined by automatism.
    • The Measured value is filtered by a first order low-pass filter and its evolution is limited within a parameter Min/Max range
    • There is one parameter to select 1 over 3 scaling managements of the controller object :
      • Input Scaling (former configuration)
      • Input/Output scaling (update present systems to have physical outputs with same Kc/Ti/Td)
      • No Scaling (for new systems if requested)

Object behavior

Mode Manager

PID Parameters

* *PID parameters are: SP, Kc, Ti, Td, Tds, OutH, OutL, SPH, SPL

- At the initialisation: all parameters are equal to default parameters

- In Auto Mode :

  • When switch to Auto mode :
    • Keep Active parameters
  • It is impossible to change these parameters from SCADA
  • It is impossible to save/restore parameters
  • It is impossible to switch between Regulation and Output Positioning manually
  • Tracking mode is enabled and disabled automatically

- In Manual/Forced Mode :

  • When switch to Manual/Forces mode :
    • Keep Active parameters (and set )
    • Keep last working state (Regulation or output positioning)
  • All parameters can be modified manually by manual requests is no Manual inhibit
  • It is possible to save manual parameters as new default values from PVSS faceplate
  • It is possible to restore default parameters from PVSS faceplate
  • It is possible to switch between Regulation and Output Positioning by a manual request
  • When switch to Output Positioning, initialise MPosR = Last active Output
  • Tracking mode is enabled and disabled automatically

 Note: It is then necessary to manage in PLC programs a logic computing _AuESP as function of requirements (It can be always enable or disabled or function of operation states)

Scaling management

The 3 scaling managements are the following:

 1 - PControl.ScaManag = 1 : Input Scaling (present configuration)

  • SP and MV are scaled from PMinRan/PMaxRan to 0/100%
  • OutO is limited at the end between 0-100%
  • If the analog object is not 0-100%, scaling blocks need to be added out of the controller to control the analog object and to scale the Hardware Output Order (HOutO) between 0-100%.
  • The Kc parameter has not physical meaning because it is acting on scaled values

2 - PControl.ScaManag = 2 : Input/Output scaling (update present systems to have physical outputs with same Kp/Ti/Td)

  • SP and MV are scaled from PMinRan/PMaxRan to 0/100%
  • OutO is scaled from 0/100% to POutMinRan/PoutMaxRan
  • In this configuration, scaling blocks are not necessary out of the controller
  • The Kc parameter has not physical meaning because it is acting on scaled values

3 - PControl.ScaManag = 3 : No Scaling (for new systems if requested)

  • SP and MV are directly used (no scaling)
  • OutO is limited at the end between POutMinRan/POutMaxRan
  • There is not any scale nor in the control loop nor out of the controller
  • The Kc parameter has a physical meaning

Position Calculation

Signal description  

Device Inputs

Device Environment Inputs

NameTypeMeaningDescriptionBitPosition
HMVFLOAT32Hardware Measured ValueProcess Value to be controlled. Must be an AI/AIR/AS. -
HOutOFLOAT32Hardware Output OrderHardware Output Order.Feedback position of controlled object. -
IOErrorBOOLEANInput/Output Error IOError state in any of the dependant objects or the PLC channel assigned to the object -
IOSimuBOOLEANInput/Output SimulatedAny of the dependant objects is in Forced or Manual Mode -

Device Auto Requests

NameTypeMeaningDescriptionBitPosition
AuIhFoMoBOOLEANAuto Inhibit Forced ModeAuto Inhibit Forced Mode (by logic): The control logic blocks the forced mode operation. -
AuIhMMoBOOLEANAuto Inhibit Manual ModeAuto Inhibit Manual Mode (by logic): The control logic blocks the manual mode operation -
AuActRBOOLEANAuto Active RequestAuto Active Request. Logic explicitly sets this input to distinguish between multiple controllers -
AuSPRFLOAT32Auto Setpoint RequestThe control logic requests specific Setpoint value -
AuESPBOOLEANAuto Enable SetpointThe control logic enables of the auto set-Point -
AuRegRBOOLEANAuto Regulation RequestThe control logic requests the regulation working state -
AuOutPRBOOLEANAuto Output Position RequestThe control logic requests the output positioning working state -
AuTrRBOOLEANAuto Tracking RequestThe control logic requests to apply the tracking working state. -
AuPosRFLOAT32Auto Position Request.Auto Position Request: The control logic requests a specific position on the object. -
AuIhSRBOOLEANAuto Inhibit Save/RestoreThe operator cannot save nor restore the controller saved parameters (Default values) -
AuAuMoRBOOLEANAuto Auto Mode RequestAuto Auto Mode Request. The control logic requests Auto Mode on the object -
AuPRestBOOLEANAuto Parameter RestoreAuto Parameter Restore -
AuSPSpdSTRINGAuto Setpoint SpeedThe control logic Setpoint Speed -
AuSPSpd.InSpdFLOAT32Increase SpeedIncrease speed of the set-point. Must be positive.
AuSPSpd.DeSpdFLOAT32Decrease SpeedDecrease speed of the set-point. Must be positive.
AuPPIDSTRUCTAuto Parameters PIDParameters of PID Controller -
AuPPID.KcFLOAT32GainGain. PID parameter value requested by the Control Logic
AuPPID.TiFLOAT32Integration TimeIntegration Time. PID parameter value requested by the Control Logic
AuPPID.TdFLOAT32Time DerivativeTime Derivative. PID parameter value requested by the Control Logic
AuPPID.TdsFLOAT32Filter Time DerivativeFilter Time Derivative. PID parameter value requested by the Control Logic
AuPPID.SPHFLOAT32Setpoint HighSetpoint High Limit value requested by control logic
AuPPID.SPLFLOAT32Setpoint LowSetpoint Low Limit value requested by control logic
AuPPID.OutHFLOAT32Output HighOutput High Limit value requested by control logic
AuPPID.OutLFLOAT32Output LowOutput Low Limit value requested by control logic
AuPPID.EKcBOOLEANEnable KcParameter Kc given by control logic enabled.
AuPPID.ETiBOOLEANEnable TiParameter Kc given by control logic enabled.
AuPPID.ETdBOOLEANEnable TdParameter Kc given by control logic enabled.
AuPPID.ETdsBOOLEANEnable TdsParameter Kc given by control logic enabled.
AuPPID.ESPHBOOLEANEnable Setpoint HighSetpoint High Limit value requested by control logic enabled.
AuPPID.ESPLBOOLEANEnable Setpoint LowSetpoint Low Limit value requested by control logic enabled.
AuPPID.EOutHBOOLEANEnable Output HighOutput High Limit value requested by control logic enabled.
AuPPID.EOutLBOOLEANEnable Output LowOutput Low Limit value requested by control logic enabled.

Device Manual Requests

NameTypeMeaningDescriptionBitPosition
ManReg01SHORTINT16Manual Register 1Manual Register 1 -
ManReg01.MAuMoRBIT1Manual Auto Mode RequestManual Auto Mode Request: The operator requests the Auto Mode.0
ManReg01.MMMoRBIT1Manual Manual Mode RequestManual Manual Mode Request: The operator requests the Manual Mode1
ManReg01.MFoMoRBIT1Manual Forced Mode RequestManual Forced Mode Request: The operator requests the Forced Mode.2
ManReg01.ActRcpBIT1Activate RecipeActivate Recipe : All new signals at the inputs are activated.3
ManReg01.ArmRcpBIT1Armed RecipeA Recipe is Armed : New values are available at the input 4
ManReg01.MPSaveBIT1Manual Parameters SaveThe operator requests to save all currents parameters as default value5
ManReg01.MPRestBIT1Manual Parameters RestoreThe operator requests to restore as currents the latest saved parameters6
ManReg01.MNewSPRBIT1Manual New Setpoint RequestThe operator requests to apply the Manual Setpoint Request Value.7
ManReg01.MNewSPHLiRBIT1Manual New Setpoint High Limit RequestThe operator requests to apply a new Setpoint High limit.8
ManReg01.MNewSPLLiRBIT1Manual New Setpoint Low Limit RequestThe operator requests to apply a new Setpoint Low limit.9
ManReg01.MNewOutHLiRBIT1Manual New Output High Limit RequestThe operator requests to apply a new Output High limit.10
ManReg01.MNewOutLLiRBIT1Manual New Output Low Limit RequestThe operator requests to apply a new Output Low limit.11
ManReg01.MNewKcRBIT1Manual New Kc RequestThe operator requests to change the PID Kc factor 12
ManReg01.MNewTdRBIT1Manual New Td RequestThe operator requests to change the PID Td factor 13
ManReg01.MNewTiRBIT1Manual New Ti RequestThe operator requests to change the PID Ti factor 14
ManReg01.MNewTdsRBIT1Manual New Tds RequestThe operator requests to change the PID Tds factor 15
ManReg02SHORTINT16Manual Register 22nd Manual Register -
ManReg02.MRegRBIT1Manual Regulation RequestThe operator requests to place the PID in Working state regulated0
ManReg02.MOutPRBIT1Manual Output Position RequestThe operator requests to place the PID in Output positioning working state1
ManReg02.MSoftLDRBIT1Manual Software Local ModeThe operator requests the Software Local Mode2
ManReg02.MNewPosRBIT1Manual New Position RequestThe operator requests to use the manual position value3
MPosRFLOAT32Manual Position RequestManual Position Request: Value of the position requested by operator -
MSPFLOAT32Manual SetpointManual Setpoint: Setpoint value requested by operator -
MSPHFLOAT32Manual Setpoint HighOperator Manual Setpoint High Limit value -
MSPLFLOAT32Manual Setpoint LowOperator Manual Setpoint Low Limit value -
MOutHFLOAT32Manual Output HighOperator Manual Output High Limit value -
MOutLFLOAT32Manual Output LowOperator Manual Output Low Limit value -
MKcFLOAT32Manual GainOperator Manual Gain constant value -
MTiFLOAT32Manual Integral timeOperator Manual Integral time value -
MTdFLOAT32Manual derivative timeOperator Manual derivative time value -
MTdsFLOAT32Manual Derivative filter timeOperator Manual Derivative filter time value -

Device Parameters

NameTypeMeaningDescriptionBitPosition
PControlSTRUCTContains controller parameters -
PControl.PMinRanFLOAT32Parameter Minimum RangeRange Min - Engineering Value of the Measured Value
PControl.PMaxRanFLOAT32Parameter Maximum RangeRange Max - Engineering Value of the Measured Value
PControl.POutMinRanFLOAT32Parameter Output Minimum RangeOutput Range Min if different from controlled devices. If empty, take range of the first controlled device.
PControl.POutMaxRanFLOAT32Parameter Output Maximum RangeOutput Range Max if different from controlled devices. If empty, take range of the first controlled device.
PControl.MVFiltTimeFLOAT32Measured Value Filter TimeTime constant of the 1st order filter applied to the Measured Value. Must be larger than the PLC cycle time.
PControl.PIDCycleFLOAT32PID CycleCycle time to call the PID algorithm. Must be larger than the PLC cycle time.
PControl.ScaMethodSHORTINT16Scaling MethodScaling method applied to the PID
PControl.RABOOLEANReverse ActionReverse Action on the controller

Device Outputs

NameTypeMeaningDescriptionBitPosition
OutOVFLOAT32Output Order ValueList of devices to be controlled Must be Analog/Anadig/AnaDO/MFC/Controller -
StsReg01SHORTINT16Status Register 1Status Register 1 -
StsReg01.SoftLDStBIT1Software Local Mode StatusCurrent status of the Software local mode0
StsReg01.AuActStBIT1Auto Active StatusController is active1
StsReg01.AuMoStBIT1Auto Mode StatusCurrent status of the Auto Mode2
StsReg01.MMoStBIT1Manual Mode StatusCurrent status of the Manual Mode3
StsReg01.FoMoStBIT1Forced Mode StatusCurrent status of the Forced Mode.4
StsReg01.ArmRcpStBIT1Armed Recipe StatusA Recipe is Armed : New values are available at the input5
StsReg01.IOErrorWBIT1Input/Output Error WarningCurrent status of the IOError6
StsReg01.IOSimuWBIT1Input/Output Simulated WarningCurrent status of the IOSimu7
StsReg01.AuRegRStBIT1Auto Regulation Request StatusThe control logic requests the Output positioning Working State8
StsReg01.RegStBIT1Regulation StatusThe Controller is in Regulation working state.9
StsReg01.TrStBIT1Tracking StateThe Controller is in Tracking working state10
StsReg01.OutPStBIT1Output Positioning StateThe Controller is in Output Positioning working state11
StsReg01.AuIhSRStBIT1Auto Inhibit Save/Restore StatusThe operator cannot save nor restore the controller parameters (Default values). 12
StsReg01.AuIhFoMoStBIT1Auto Inhibit Forced Mode StatusAuto Inhibit Forced Mode status: Current status of the Auto Inhibit forced mode.13
StsReg01.AuESPStBIT1Auto Enable Setpoint StatusThe control Logic requests the enabling of the auto Setpoint.14
StsReg01.AuIhMMoStBIT1Auto Inhibit Manual Mode StatusAuto Inhibit Manual Mode Status15
StsReg02SHORTINT16Status Register 2Status Register 2 -
StsReg02.AuEKcStBIT1Auto Enable Kc StatusPID parameter Kc requested by the Control Logic Enabled0
StsReg02.AuETiStBIT1Auto Enable Ti StatusPID parameter Ti requested by the Control Logic Enabled1
StsReg02.AuETdStBIT1Auto Enable Td StatusPID parameter Td requested by the Control Logic Enabled2
StsReg02.AuETdsStBIT1Auto Enable Tds StatusPID parameter Tds requested by the Control Logic Enabled3
StsReg02.KcDiDefBIT1Kc Different Current Kc Parameter different from saved parameter4
StsReg02.TiDiDefBIT1Ti DifferentCurrent Ti Parameter different from saved parameter5
StsReg02.TdDiDefBIT1Td DifferentCurrent Td Parameter different from saved parameter6
StsReg02.TdsDiDefBIT1Tds DifferentCurrent Tds Parameter different from saved parameter7
StsReg02.SPHDiDefBIT1Setpoint High DifferentCurrent Setpoint High Limit Parameter different from saved parameter8
StsReg02.SPLDiDefBIT1Setpoint Low Parameter Different Current Setpoint Low Limit Parameter different from saved parameter9
StsReg02.OutHDiDefBIT1Output High DifferentCurrent Output High Limit Parameter different from saved parameter10
StsReg02.OutLDiDefBIT1Output Low DifferentCurrent Output Low Limit Parameter different from saved parameter11
StsReg02.AuESPHStBIT1Auto Enable Setpoint High StatusSetpoint High Limit requested by control logic enabled12
StsReg02.AuESPLStBIT1Auto Enable Setpoint Low StatusSetpoint Low Limit requested by control logic enabled13
StsReg02.AuEOutHStBIT1Auto Enable Output High StatusOutput High Limit requested by control logic enabled14
StsReg02.AuEOutLStBIT1Auto Enable Output Low StatusOutput Low Limit requested by control logic enabled15
AuPosRStFLOAT32Auto Position Request StatusStatus of the position of the object in auto mode. -
MPosRStFLOAT32Manual Position Request StatusManual Position request status -
AuMoStBOOLEANAuto Mode StatusCurrent status of the Auto Mode -
MMoStBOOLEANManual Mode StatusCurrent status of the Manual Mode request -
FoMoStBOOLEANForced Mode StatusCurrent status of the Forced Mode. -
SoftLDStBOOLEANSoftware Local Drive StatusCurrent status of the Sotware Local mode request -
AuRegStBOOLEANAuto Regulation StatusAuto Regulation Request Status -
RegStBOOLEANRegulation StatusRegulation Status -
OutPStBOOLEANOutput Positioning StatusOutput Positioning Status -
TrStBOOLEANTracking StatusTracking Status -
ActSPFLOAT32Active SetpointActive Setpoint Value -
MSPStFLOAT32Manual Setpoint StatusSetpoint requested by operator -
AuSPStFLOAT32Auto Setpoint StatusSetpoint proposed by the control logic -
IOErrorWBOOLEANInput/Output Error WarningCurrent status of the IOError -
IOSimuWBOOLEANInpout/Output Simulated WarningCurrent status of the IOSimu -
ActKcFLOAT32Active KcActive Gain. PID parameter -
ActTiFLOAT32Active TiActive Integration Time. PID parameter value -
ActTdFLOAT32Active TdActive Time Derivative. PID parameter value -
ActTdsFLOAT32Active TdsActive Filter Time Derivative. PID parameter -
ActSPHFLOAT32Active Setpoint HighActive Setpoint High Limit value -
ActSPLFLOAT32Active Setpoint LowActive Setpoint Low Limit value -
ActOutHFLOAT32Active Output HighActive Output High Limit value -
ActOutLFLOAT32Active Output LowActive Output Low Limit value -
MVFLOAT32Measured ValueMeasured value of the controller. -

SCADA Requirements

SCADA Inputs

NameTypeMeaningDescription
OutOVFLOAT32Output Order ValueList of devices to be controlled Must be Analog/Anadig/AnaDO/MFC/Controller
StsReg01SHORTINT16Status Register 1Status Register 1
StsReg02SHORTINT16Status Register 2Status Register 2
AuPosRStFLOAT32Auto Position Request StatusStatus of the position of the object in auto mode.
MPosRStFLOAT32Manual Position Request StatusManual Position request status
ActSPFLOAT32Active SetpointActive Setpoint Value
MSPStFLOAT32Manual Setpoint StatusSetpoint requested by operator
AuSPStFLOAT32Auto Setpoint StatusSetpoint proposed by the control logic
ActKcFLOAT32Active KcActive Gain. PID parameter
ActTiFLOAT32Active TiActive Integration Time. PID parameter value
ActTdFLOAT32Active TdActive Time Derivative. PID parameter value
ActTdsFLOAT32Active TdsActive Filter Time Derivative. PID parameter
ActSPHFLOAT32Active Setpoint HighActive Setpoint High Limit value
ActSPLFLOAT32Active Setpoint LowActive Setpoint Low Limit value
ActOutHFLOAT32Active Output HighActive Output High Limit value
ActOutLFLOAT32Active Output LowActive Output Low Limit value
MVFLOAT32Measured ValueMeasured value of the controller.

SCADA  Outputs

NameTypeMeaningDescription
ManReg01SHORTINT16Manual Register 1Manual Register 1
ManReg02SHORTINT16Manual Register 22nd Manual Register
MPosRFLOAT32Manual Position RequestManual Position Request: Value of the position requested by operator
MSPFLOAT32Manual SetpointManual Setpoint: Setpoint value requested by operator
MSPHFLOAT32Manual Setpoint HighOperator Manual Setpoint High Limit value
MSPLFLOAT32Manual Setpoint LowOperator Manual Setpoint Low Limit value
MOutHFLOAT32Manual Output HighOperator Manual Output High Limit value
MOutLFLOAT32Manual Output LowOperator Manual Output Low Limit value
MKcFLOAT32Manual GainOperator Manual Gain constant value
MTiFLOAT32Manual Integral timeOperator Manual Integral time value
MTdFLOAT32Manual derivative timeOperator Manual derivative time value
MTdsFLOAT32Manual Derivative filter timeOperator Manual Derivative filter time value

WinCC-OA Faceplate

  • No labels