Structure definitions
ST_ControllerParameter
TYPE ST_CTRL_TempCtrlParameter:
STRUCT
(***********************************************************************)
(* general parameters *)
iMode : E_CTRL_ControlMode; (* 1=heating, 2=cooling,3=heating&cooling *)
iReactionOnFailure : E_CTRL_ReactionOnFailure; (* 0=controller off, 1=manual op, 2=yMin, 3=yMax *)
bSelCtrlParameterSet : BOOL; (* FALSE = internal set, TRUE = external set *)
dwAlarmSupp : DWORD; (* alarm suppression *)
tCtrlCycleTime : TIME; (* controller cycle time *)
tTaskCycleTime : TIME; (* plc task cycle time *)
(***********************************************************************)
(* tuning parameteer *)
iTuningMode : E_CTRL_TuneMode; (* only heating, only cooling, first heating then cooling or vice versa *)
tTuneStabilisation : TIME := t#20s; (* wait for a stable system*)
fEndTunePercentHeating : FLOAT := 80.0; (* switch to closed loop control when X > 0.8*W *)
fYTuneHeating : FLOAT; (* step change while tuning operation*)
fYStableHeating : FLOAT; (* tuning operation *)
fEndTunePercentCooling : FLOAT := 20.0; (* switch to closed loop control when X < 0.2*W *)
fYTuneCooling : FLOAT; (* step change while tuning operation*)
fYStableCooling : FLOAT; (* tuning operation *)
fScalingFactor : FLOAT := 1.0; (* Scaling factor for KP heating/cooling *)
(***********************************************************************)
(* setpoint parameters *)
fWMin : FLOAT; (* lower limit *)
fWMax : FLOAT; (* upper limit *)
(* start up *)
bEnableSoftStart : BOOL; (* FALSE = no soft start, TRUE = soft start *)
bEnableRamping : BOOL; (* FALSE = no ramping, TRUE = ramping*)
fWStartUp : FLOAT; (* soft start plateau setpoint *)
tStartUp : TIME; (* soft start waiting time*)
bStartUpRamping : BOOL; (* enable ramping while start up phase*)
fWStartUpVeloPos : FLOAT; (* max gradient for increasing setpoint in start up phase*)
fWStartUpVeloNeg : FLOAT; (* max gradient for decreasing setpoint in start up phase *)
fWVeloPos : FLOAT; (* max gradient for increasing setpoint*)
fWVeloNeg : FLOAT; (* max gradient for decreasing setpoint*)
(***********************************************************************)
(* actual value parameters *)
bFilter : BOOL;
tFilter : TIME;
(***********************************************************************)
(* deadband parameters *)
bDeadband : BOOL;
fEDeadband : FLOAT; (* deadband *)
(***********************************************************************)
(* control value parameters *)
fYMin : FLOAT; (* lower limit *)
fYMax : FLOAT; (* upper limit *)
fYManual : FLOAT; (* manual operation*)
fYOnFailure : FLOAT; (* control value on failure *)
tPWMCycleTime : TIME; (* PWM: period *)
tPWMMinOffTime : TIME; (* PWM: min off time *)
tPWMMinOnTime : TIME; (* PWM: min on time *)
tPWMWaitingTime : TIME; (* PWM: min waiting time *) (* not yet implemented !!!!*)
fYThresholdOff : FLOAT; (* 3-Point: Off threshold *)
fYThresholdOn : FLOAT; (* 3-Point: On threshold *)
nCyclesForSwitchOver : INT := 100;
(***********************************************************************)
(* controller settings *)
bEnablePreController: BOOL; (* enable precontroller *)
bEnableZones : BOOL; (* enable zone around setpoint with open loop control *)
bEnableCVFilter : BOOL; (* enable filter for CV (type see iFilterType) *)
iFilterType : E_CTRL_FilterType; (* filtertype of CV filter*)
iControllerType : E_CTRL_ControllerType; (* used controller normally PID *)
(***********************************************************************)
(* min max temperatures *)
TempLow : FLOAT;
TempLowLow : FLOAT;
TempHigh : FLOAT;
TempHighHigh : FLOAT;
TempAbsoluteHigh : FLOAT;
TempAbsoluteLow : FLOAT;
(***********************************************************************)
(* internal tuning parameters *)
fTuneKp : FLOAT := 1.2;
fTuneTn : FLOAT := 2.0;
fTuneTv : FLOAT := 0.42;
fTuneTd : FLOAT := 0.25;
END_STRUCT
END_TYPE
General parameters
Name | Unit | Value range | Description |
---|---|---|---|
iMode | none | INT | Controller operation mode (1 = heating, 2 = cooling, 3 = heating & cooling) (see below)
|
iReactionOnFailure | none | INT | Parameterizable reaction to errors (see below)
|
bSelCtrlParameterSet | none | BOOL | TRUE = external parameter set, FALSE = internal parameter set (determined by tuning) |
dwAlarmSupp | none | DWORD | Masks out the alarms (see below)
|
tCtrlCycleTime | s | TIME | Controller's sampling time. In the course of the sampling time the controller re-calculates the control value. |
tTaskCycleTime | s | TIME | Task cycle time. The FB is called with this time interval. |
Tuning parameters
Name | Unit | Value range | Description |
---|---|---|---|
iTuningMode | K | E_CTRL_TuneMode | Determination of the tuning sequence (see below.) |
tTune stabilization | s | TIME | Waiting time until the section is stable for tuning. |
fEndTunePercentHeating | % | (L)REAL | Percentage value of setpoint, from which the system switches to Closed Loop Control. |
fYTuneCooling | K | (L)REAL | Step change in control value during tuning. |
fYStableCooling | K | (L)REAL | Control value when switching to tuning during cooling. |
fScalingFactor | none | (L)REAL | Scaling factor for parameter switching if no tuning is performed for cooling. |
Setpoint parameters
Name | Unit | Value range | Description |
---|---|---|---|
fWMin | K | (L)REAL | Minimum setpoint. |
fWMax | K | (L)REAL | Maximum setpoint. |
bEnableSoftStart | none | BOOL | FALSE = no soft start, TRUE = soft start |
bEnableRamping | none | BOOL | FALSE = no ramping, TRUE = ramping |
fWStartUp | K | (L)REAL | Setpoint at start-up. |
tStartUp | s | TIME | Time with the fWStartUp setpoint. |
bStartUpRamping | none | [TRUE,FALSE] | Switches on ramping during the start-up phase. |
fWStartUpVeloPos | K/s | (L)REAL | Rate of rise (of ramp) during the start-up phase. |
fWStartUpVeloNeg | K/s | (L)REAL | Rate of fall (of ramp) during the start-up phase |
fWVeloPos | K/s | (L)REAL | Rate of rise (of ramp). |
fWVeloNeg | K/s | (L)REAL | Rate of fall (of ramp). |
Actual value parameters
Name | Unit | Value range | Description |
---|---|---|---|
tFilter | s | TIME | Time constant of the actual value filter (first order P-T1 filter) |
bFilter | none | [TRUE,FALSE] | The actual value filter is actuated if TRUE. |
Deadband parameters
Name | Unit | Value range | Description |
---|---|---|---|
bDeadband | none | [TRUE,FALSE] | TRUE = deadband on, FALSE = deadband off |
fEDeadband | K | (L)REAL | Size of the deadband in degrees. |
Control value parameters
Name | Unit | Value range | Description |
---|---|---|---|
fYMin | none | (L)REAL | Minimum value of the control value. |
fYMax | none | (L)REAL | Maximum value of the control value. |
fYManual | none | (L)REAL | Control value in manual operation. |
fYOnFailure | none | (L)REAL | Control value in case of error (parameterizable). |
tPWMCycleTime | s | TIME | Cycle time of the PWM signal. |
tPWMMinOffTime | s | TIME | PWM: minimum switch-off time |
tPWMMinOnTime | s | TIME | PWM: minimum switch-on time |
tPWMWaitingTime | s | TIME | PWM: waiting time when switching from heating to cooling |
fYThresholdOff | % | (L)REAL | 3-point: switch-off threshold |
fYThresholdOn | % | (L)REAL | 3-point: switch-on threshold |
nCyclesForSwitchOver | none | INT | Number of cycles for transition from one parameter set to another |
Controller parameters
Name | Unit | Value range | Description |
---|---|---|---|
bEnablePreController | none | [TRUE,FALSE] | Switches pre-controller on. |
bEnableZones | none | [TRUE,FALSE] | Switches open loop characteristic on until close to setpoint. |
bEnableCVFilter | none | [TRUE,FALSE] | Switches on control value filter following the main controller. |
iFilterType | none | ENUM | Selection of a filter type for the control value filter following the main controller (see below).
|
iControllerType | none | ENUM | Selection of a control algorithm (see below)
|
Alarming parameters
Name | Unit | Value range | Description |
---|---|---|---|
TempLow | K | (L)REAL | Relative lower temperature limit in the first band. |
TempLowLow | K | (L)REAL | Relative lower temperature limit in the second band. |
TempHigh | K | (L)REAL | Relative upper temperature limit in the first band. |
TempHighHigh | K | (L)REAL | Relative upper temperature limit in the second band. |
TempAbsoluteHigh | K | (L)REAL | Absolute upper temperature limit. |
TempAbsoluteLow | K | (L)REAL | Absolute lower temperature limit. |
Expert parameters
Name | Unit | Value range | Description |
---|---|---|---|
fTuneKp | none | (L)REAL | FineTuning parameters for the PID controller (only for advanced users) |
fTuneTn | none | (L)REAL | FineTuning parameters for the PID controller (only for advanced users) |
fTuneTv | none | (L)REAL | FineTuning parameters for the PID controller (only for advanced users) |
fTuneTd | none | (L)REAL | FineTuning parameters for the PID controller (only for advanced users) |
Description
ST_CTRL_ParaController
TYPE ST_CTRL_ParaController :
STRUCT
(* Controller parameter set - heating *)
KpHeat : FLOAT;
TnHeat : TIME;
TvHeat : TIME;
TdHeat : TIME;
(* Controller parameter set - cooling *)
KpCool : FLOAT;
TnCool : TIME;
TvCool : TIME;
TdCool : TIME;
END_STRUCT
END_TYPE
Description
Name | Unit | Value range | Description |
---|---|---|---|
KpHeat | none | (L)REAL | Amplification factor for the main controller. |
TnHeat | s | TIME | Integral action time for main controller (I component). |
TvHeat | s | TIME | Derivative action time for main controller (D component). |
TdHeat | s | TIME | Damping time for the main controller. |
KpCool | none | (L)REAL | Amplification factor for the main controller. |
TnCool | s | TIME | Integral action time for main controller (I component). |
TvCool | s | TIME | Derivative action time for main controller (D component). |
TdCool | s | TIME | Damping time for the main controller. |
E_CTRL_ERRORCODES:
TYPE E_CTRL_ERRORCODES :
(
eCTRL_ERROR_NOERROR := 0, (* no error *)
eCTRL_ERROR_INVALIDTASKCYCLETIME := 1, (* invalid task cycle time *)
eCTRL_ERROR_INVALIDCTRLCYCLETIME := 2, (* invalid ctrl cycle time *)
eCTRL_ERROR_INVALIDPARAM := 3, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tv := 4, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Td := 5, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tn := 6, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Ti := 7, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fHystereisisRange := 8, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fPosOutOn_Off := 9, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fNegOutOn_Off := 10, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_TableDescription := 11, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_TableData := 12, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DataTableADR := 13, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_T0 := 14, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_T1 := 15, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_T2 := 16, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_T3 := 17, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Theta := 18, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nOrder := 19, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tt := 20, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tu := 21, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tg := 22, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_infinite_slope := 23, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fMaxIsLessThanfMin := 24, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOutMaxLimitIsLessThanfOutMinLimit := 25, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOuterWindow := 26, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fInnerWindow := 27, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOuterWindowIsLessThanfInnerWindow := 28, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fDeadBandInput := 29, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fDeadBandOutput := 30, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_PWM_Cycletime := 31, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_no_Parameterset := 32, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOutOn := 33, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOutOff := 34, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fGain := 35, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOffset := 36, (* invalid parameter *)
eCTRL_ERROR_MODE_NOT_SUPPORTED := 37, (* invalid mode: mode not supported *)
eCTRL_ERROR_INVALIDPARAM_Tv_heating := 38, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Td_heating := 39, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tn_heating := 40, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tv_cooling := 41, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Td_cooling := 42, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_Tn_cooling := 43, (* invalid parameter *)
eCTRL_ERROR_RANGE_NOT_SUPPORTED := 44, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nParameterChangeCycleTicks := 45, (* invalid parameter *)
eCTRL_ERROR_ParameterEstimationFailed := 46, (* invalid parameter *)
eCTRL_ERROR_NoiseLevelToHigh := 47, (* invalid parameter *)
eCTRL_ERROR_INTERNAL_ERROR_0 := 48, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_1 := 49, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_2 := 50, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_3 := 51, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_4 := 52, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_5 := 53, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_6 := 54, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_7 := 55, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_8 := 56, (* internal error *)
eCTRL_ERROR_INTERNAL_ERROR_9 := 57, (* internal error *)
eCTRL_ERROR_INVALIDPARAM_WorkArrayADR := 58, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tOnTiime := 59, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tOffTiime := 60, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nMaxMovingPulses := 61, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nAdditionalPulsesAtLimits := 62, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fCtrlOutMax_Min := 63, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fDeltaMax := 64, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tMovingTime := 65, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tDeadTime := 66, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tAdditionalMoveTimeAtLimits := 67, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fThreshold := 68, (* invalid parameter *)
eCTRL_ERROR_MEMCPY := 69, (* MEMCPY failed *)
eCTRL_ERROR_MEMSET := 70, (* MEMSET failed *)
eCTRL_ERROR_INVALIDPARAM_nNumberOfColumns := 71, (* invalid parameter *)
eCTRL_ERROR_FileClose := 72, (* File Close failed *)
eCTRL_ERROR_FileOpen := 73, (* File Open failed *)
eCTRL_ERROR_FileWrite := 74, (* File Write failed *)
eCTRL_ERROR_INVALIDPARAM_fVeloNeg := 75, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fVeloPos := 76, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DeadBandInput := 77, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DeadBandOutput := 78, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_CycleDuration := 79, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tStart := 80, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_StepHeigthTuningToLow := 81, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fMinLimitIsLessThanZero := 82, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fMaxLimitIsGreaterThan100 := 83, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fStepSize := 84, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fOkRangeIsLessOrEqualZero := 85, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fForceRangeIsLessOrEqualfOkRange := 86, (* invalid parameter *)
eCTRL_ERROR_INVALIDPWMPeriod := 87, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_tMinimumPulseTime := 88, (* invalid parameter *)
eCTRL_ERROR_FileDelete := 89, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nNumberOfPwmOutputs := 90, (* File Delete failed *)
eCTRL_ERROR_INVALIDPARAM_nPwmInputArray_SIZEOF := 91, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmOutputArray_SIZEOF := 92, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmWaitTimesConfig_SIZEOF := 93, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmInternalData_SIZEOF := 94, (* invalid parameter *)
eCTRL_ERROR_SIZEOF := 95, (* SIZEOF failed *)
eCTRL_ERROR_INVALIDPARAM_nOrderOfTheTransferfunction := 96, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nNumeratorArray_SIZEOF := 97, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nDenominatorArray_SIZEOF := 98, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_a_n_IsZero := 99, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_WorkArraySIZEOF := 100, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_MOVINGRANGE_MIN_MAX := 101, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_MOVINGTIME := 102, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DEADTIME := 103, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fMinLimitIsGreaterThanfMaxLimit := 104, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DataTableSIZEOF := 105, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_OutputVectorDescription := 106, (* invalid parameter *)
eCTRL_ERROR_TaskCycleTimeChanged := 107, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nMinMovingPulses := 108, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fAcceleration := 109, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fDeceleration := 110, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_StartAndTargetPos := 111, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fVelocity := 112, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fTargetPos := 113, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fStartPos := 114, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fMovingLength := 115, (* invalid parameter *)
eCTRL_ERROR_NT_GetTime := 116, (* internal error NT_GetTime *)
eCTRL_ERROR_INVALIDPARAM_No3PhaseSolutionPossible := 117, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fStartVelo := 118, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fTargetVelo := 119, (* invalid parameter *)
eCTRL_ERROR_INVALID_NEW_PARAMETER_TYPE := 120 (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fBaseTime := 121, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nOrderOfTheTransferfunction_SIZEOF := 122, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nFilterOrder := 124, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nCoefficientsArray_a_SIZEOF := 125, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nCoefficientsArray_b_SIZEOF := 126, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nDigitalFiterData_SIZEOF := 127, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nLogBuffer_SIZEOF := 128, (* invalid parameter *)
eCTRL_ERROR_LogBufferOverflow := 129, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nLogBuffer_ADR := 130, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nCoefficientsArray_a_ADR := 131, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nCoefficientsArray_b_ADR := 132, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmInputArray_ADR := 133, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmOutputArray_ADR := 134, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmWaitTimesConfig_ADR := 135, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nPwmInternalData_ADR := 136, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nDigitalFiterData_ADR := 137, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nNumeratorArray_ADR := 138, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nDenominatorArray_ADR := 139, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nTransferfunction1Data_ADR := 140, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_nTransferfunction2Data_ADR := 141, (* invalid parameter *)
eCTRL_ERROR_FileSeek := 142, (* internal error FB_FileSeek *)
eCTRL_ERROR_INVALIDPARAM_AmbientTempMaxIsLessThanAmbientTempMin := 143, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_ForerunTempMaxIsLessThanForerunTempMin := 144, (* invalid parameter *)
eCTRL_ERROR_INVALIDLOGCYCLETIME := 145, (* invalid parameter *)
eCTRL_ERROR_INVALIDVERSION_TcControllerToolbox := 146,
eCTRL_ERROR_INVALIDPARAM_Bandwidth := 147, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_NotchFrequency := 148, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_DampingCoefficient := 149, (* invalid parameter *)
eCTRL_ERROR_INVALIDPARAM_fKpIsLessThanZero := 150 (* invalid parameter *)
);
END_TYPE
ENUM: E_CTRL_ReactionOnFailure
ENUM: E_CTRL_ReactionOnFailure
Name | Description |
---|---|
eCTRL_ReactionOnFailure_NoFailure | No error.. |
eCTRL_ReactionOnFailure_StopController | If there is an error (an alarm) the controller will stop. |
eCTRL_ReactionOnFailure_SetManMode | If there is an error (an alarm) the controller will switch to manual operation. |
eCTRL_ReactionOnFailure_SetYMax | If there is an error (an alarm) set the control value to its maximum. |
eCTRL_ReactionOnFailure_SetYMin | If there is an error (an alarm) set the control value to its minimum. |
eCTRL_ReactionOnFailure_SetYMean | If there is an error (an alarm) set the control value to the average control value (not yet implemented) |
ENUM: E_CTRL_ControllerStateInternal
ENUM: E_CTRL_ControllerStateInternal
Name | Description |
---|---|
E_CTRL_ControllerStateInternalHeating | internal |
E_CTRL_ControllerStateInternalCooling | internal |
ENUM: E_CTRL_ControlMode
Name | Description |
---|---|
eCTRL_ControlMode_HEATING | Heating only. |
eCTRL_ControlMode_COOLING | Cooling only. |
eCTRL_ControlMode_HEATING_COOLING | Heating and cooling. |
E_CTRL_STATE :
TYPE E_CTRL_STATE :
(
eCTRL_STATE_IDLE := 0, (* state idle *)
eCTRL_STATE_PASSIVE := 1, (* state passive *)
eCTRL_STATE_ACTIVE := 2, (* state active *)
eCTRL_STATE_RESET := 3, (* state reset *)
eCTRL_STATE_MANUAL := 4, (* state manual *)
eCTRL_STATE_TUNING := 5, (* state tuning *)
eCTRL_STATE_TUNED := 6, (* state tuning ready - tuned *)
eCTRL_STATE_SELFTEST := 7, (* state selftest *)
eCTRL_STATE_ERROR := 8, (* state error *)
eCTRL_STATE_SYNC_MOVEMENT := 9 (* state synchronizing movement *)
);
END_TYPE
ENUM: E_CTRL_STATE_TUNING
ENUM: E_CTRL_STATE_TUNING
Name | Description |
---|---|
eCTRL_STATE_TUNING_INIT | Tuning: Initialisation |
eCTRL_STATE_TUNING_IDLE | Tuning: wainting for a stable actual value |
eCTRL_STATE_TUNING_PULSE | Tuning: not yet realized |
eCTRL_STATE_TUNING_STEP | Tuning: Tuning with step reponse |
eCTRL_STATE_TUNING_READY | Tuning: Calculation of parameters |
eCTRL_STATE_TUNING_ERROR | Tuning: Error while tuning. |
ENUM: E_CTRL_TuneMode
ENUM: E_CTRL_TuneMode
Name | Description |
---|---|
eCTRL_TuneMode_HEATING | Tuning: only heating |
eCTRL_TuneMode_COOLING | Tuning: only cooling |
eCTRL_TuneMode_HEATING_COOLING | Tuning: first heating, then cooling |
eCTRL_TuneMode_COOLING_HEATING | Tuning: first cooling, then heating |
eCTRL_TuneMode_OSCILLATION | Tuning: on-the-fly tuning with a defined oscillation (in planning) |
ENUM: E_CTRL_FilterType
ENUM: E_CTRL_FilterType
Name | Description |
---|---|
eCTRL_FilterType_FIRSTORDER | first order filter |
eCTRL_FilterType_AVERAGE | moving average filter |
ENUM: E_CTRL_ControllerType
Name | Description |
---|---|
eCTRL_ControllerType_PID | Standard PID control algorithm. |
eCTRL_ControllerType_PI | Standard PI control algorithm. |
eCTRL_ControllerType_PID_Pre | Standard PID control algorithm with pre-controller (in preparation). |
eCTRL_ControllerType_PIDD2 | Serial PID control algorithm (in preparation) |
Bit-masks for alarms
Name | Mask | Description |
---|---|---|
nAlarmOpenThermocouple | 2#0000_0000_0000_0000_0000_0000_0000_0001 | Hardware: open temperature sensor |
nAlarmReverseThermocouple | 2#0000_0000_0000_0000_0000_0000_0000_0010 | Hardware: reverse connected temperature sensor |
nAlarmBackVoltage | 2#0000_0000_0000_0000_0000_0000_0000_0100 | Hardware: excessive voltage at temperature sensor |
nAlarmLeakageCurrent | 2#0000_0000_0000_0000_0000_0000_0000_1000 | Hardware: leakage current measured |
nAlarmShortCircuit | 2#0000_0000_0000_0000_0000_0000_0001_0000 | Hardware: short circuit |
nAlarmOpenCircuit | 2#0000_0000_0000_0000_0000_0000_0010_0000 | Hardware: no current |
nAlarmLimitLow | 2#0000_0000_0000_0000_0000_0001_0000_0000 | Software: fallen below first lower relative temperature |
nAlarmLimitLowLow | 2#0000_0000_0000_0000_0000_0010_0000_0000 | Software: fallen below second lower relative temperature |
nAlarmLimitHigh | 2#0000_0000_0000_0000_0000_0100_0000_0000 | Software: first upper relative temperature exceeded |
nAlarmLimitHighHigh | 2#0000_0000_0000_0000_0000_1000_0000_0000 | Software: second upper relative temperature exceeded |
nAlarmAbsoluteHigh | 2#0000_0000_0000_0000_0001_0000_0000_0000 | Software: upper absolute temperature exceeded |
nAlarmAbsoluteLow | 2#0000_0000_0000_0000_0010_0000_0000_0000 | Software: fallen below lower absolute temperature |