E_TcMcCurrentStep (from V3.0)
The constants in this list are used for identifying the internal states of the control value generators.
Not all of these states are used by all control value generators. |
Syntax
TYPE E_TcMcCurrentStep :(
iTcHydStateIdle,
iTcHydStateTcAccP,
iTcHydStateTcAccM,
iTcHydStatePcAccP,
iTcHydStatePcAccM,
iTcHydStateConstVeloP,
iTcHydStateConstVeloM,
iTcHydStatePcDecP,
iTcHydStatePcDecM,
iTcHydStateCreepVeloP,
iTcHydStateCreepVeloM,
iTcHydStateTcDecP,
iTcHydStateTcDecM,
iTcHydStateFeedStopPos,
iTcHydStateFeedStopNeg,
iTcHydStateDoBrake,
iTcHydStateCoupling := 1000,
iTcHydStateCoupled,
iTcHydStateExtCoupled,
iTcHydStateExtGenerated := 2000,
iTcHydStateEmergencyBreak := 9000,
iTcHydStateFault := 9999
);
END_TYPE
Values
Name | Description |
---|---|
iTcHydStateIdle | The axis is not actively moving. Its behavior is controlled by ST_TcHydAxParam.fLagAmp, ST_TcHydAxParam.fTargetClamping and ST_TcHydAxParam.fReposDistance. |
iTcHydStateTcAccP | The axis establishes a positive control value according to ST_TcHydAxRtData.fDestAcc. This value is set by one of the start function blocks according to the data of the travel command. This state is assumed when the control value reaches the specified motion control value. If the system detects that the braking process for the target approach has to be initiated, the state is changed to iTcHydStatePcDecP. In the absence of feed enable, the state is changed to iTcHydStateFeedStopPos. |
iTcHydStateTcAccM | The axis establishes a negative control value according to ST_TcHydAxRtData.fDestAcc. This value is set by one of the start function blocks according to the data of the travel command. This state is assumed when the control value reaches the specified motion control value. If the system detects that the braking process for the target approach has to be initiated, the state is changed to iTcHydStatePcDecM. In the absence of feed enable, the state is changed to iTcHydStateFeedStopNeg. |
iTcHydStatePcAccP | The axis is in the displacement-controlled acceleration phase of a travelling motion in positive direction. The control value is set to a value specified by the travel command according to ST_TcHydAxRtData.fDestAcc. The state then changes to iTcHydStateConstVeloP. |
iTcHydStatePcAccM | The axis is in the displacement-controlled acceleration phase of a travelling motion in negative direction. The control value is set to a value specified by the travel command according to ST_TcHydAxRtData.fDestAcc. The state then changes to iTcHydStateConstVeloM. |
iTcHydStateConstVeloP | The axis travels in positive direction with constant control value. The control value is specified by the travel command. |
iTcHydStateConstVeloM | The axis travels in negative direction with constant control value. The control value is specified by the travel command. |
iTcHydStatePcDecP | The axis is in the displacement-controlled brake phase of a travelling motion in positive direction. The control value is reduced to ST_TcHydAxParam.fCreepSpeed. The state then changes to iTcHydStateCreepVeloP. |
iTcHydStatePcDecM | The axis is in the displacement-controlled brake phase of a travelling motion in negative direction. The control value is reduced to ST_TcHydAxParam.fCreepSpeed. The state then changes to iTcHydStateCreepVeloM. |
iTcHydStateCreepVeloP | The axis travels in positive direction with constant control value. The control value is specified by ST_TcHydAxParam.fCreepSpeed. |
iTcHydStateCreepVeloM | The axis travels in negative direction with constant control value. The control value is specified by ST_TcHydAxParam.fCreepSpeed. |
iTcHydStateTcDecP | The axis executes a regular stop, starting from a travelling motion in positive direction. The control value is reduced with ST_TcHydAxParam.fStopRamp. The state then changes to iTcHydStateIdle. |
iTcHydStateTcDecM | The axis executes a regular stop, starting from a travelling motion in negative direction. The control value is reduced with ST_TcHydAxParam.fStopRamp. The state then changes to iTcHydStateIdle. |
iTcHydStateFeedStopPos | The axis executes an intermediate stop, due to lack of feed enable in positive direction (dwTcHydDcDwFdPosEna is not set in ST_TcHydAxRtData.nDeCtrlDWord). The control value is reduced with ST_TcHydAxParam.fStopRamp. The axis then waits for a feed enable. |
iTcHydStateFeedStopNeg | The axis executes an intermediate stop, due to lack of feed enable in negative direction (dwTcHydDcDwFdNegEna is not set in ST_TcHydAxRtData.nDeCtrlDWord). The control value is reduced with ST_TcHydAxParam.fStopRamp. The axis then waits for a feed enable. |
iTcHydStateDoBrake | The axis executes a waiting time. This is necessary, if switching is required due to a brake or a switching valve. |
iTcHydStateCoupling | The axis is in transition to state iTcHydStateCoupled. |
iTcHydStateCoupled | The control value of the axis is derived from the control value of another axis based on the principle of electronic gearing. |
iTcHydStateExtCoupled | The control value of the axis is calculated based on the principle of continuously variable transmission. |
iTcHydStateExtGenerated | The control value of the axis is generated by an external function block. This may be a library function block or an application-specific function block. |
iTcHydStateEmergencyBreak | The axis performs an emergency stop. The control value is reduced with ST_TcHydAxParam.fEmergencyRamp. The system then checks whether the axis is in an error state (ST_TcHydAxRtData.nErrorCode not equal 0). If yes, the state is changed to iTcHydStateFault, otherwise iTcHydStateIdle. |
iTcHydStateFault | The axis is in an error state. It does not carry out actively control movements and does not accept motion commands. To put the axis back in an undisturbed state, call a function block of type MC_Reset_BkPlcMc or MC_ResetAndStop_BkPlcMc. |