Definition der Strukturen und Enums

In diesem Anhang werden alle in der TwinCAT Controller Toolbox verwendeten Strukturen und Enums beschrieben.

FLOAT:

In den Funktionsbausteinen der Bibliothek wird nur mit dem Datentyp FLOAT gearbeitet. In einer zusätzlichen Bibliothek wird dieser Datentyp als LREAL oder REAL definiert.

Auf einem PC-System wird automatisch die zusätzliche Bibliothek "TcFloatPC.lib" eingebunden.

TYPE
FLOAT : LREAL;
END_TYPE

E_CTRL_MODE

TYPE E_CTRL_MODE :
(
    eCTRL_MODE_IDLE     := 0,
    eCTRL_MODE_PASSIVE     := 1,
    eCTRL_MODE_ACTIVE     := 2,
    eCTRL_MODE_RESET     := 3,
    eCTRL_MODE_MANUAL     := 4,
    eCTRL_MODE_TUNE     := 5,
    eCTRL_MODE_SELFTEST    := 6,
    eCTRL_MODE_SYNC_MOVEMENT := 7
)
END_TYPE

E_CTRL_STATE

TYPE E_CTRL_STATE :
(
    eCTRL_STATE_IDLE        := 0,
    eCTRL_STATE_PASSIVE := 1,
    eCTRL_STATE_ACTIVE := 2,
    eCTRL_STATE_RESET     := 3,
    eCTRL_STATE_MANUAL := 4,
    eCTRL_STATE_TUNING := 5,
    eCTRL_STATE_TUNED     := 6,
    eCTRL_STATE_SELFTEST := 7,
    eCTRL_STATE_ERROR     := 8,
    eCTRL_STATE_SYNC_MOVEMENT := 9
);
END_TYPE

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

E_CTRL_SIGNAL_TYPE

TYPE E_CTRL_SIGNAL_TYPE :
(
eCTRL_TRIANGLE := 0,
eCTRL_SINUS := 1,
eCTRL_SAWTOOTH := 2
);
END_TYPE
TYPE E_CTRL_STEP_SENSORTYPE
(
eSENSOR_NONE := 0,
eSENSOR_PT100 := 1,
eSENSOR_THERMO_J := 2,
eSENSOR_THERMO_K := 3
);
END_TYPE