L_MC4P_AxesGroupBasicControl
This FB summarises all basic functions for the commissioning of an axes group - equivalent to the L_MC1P_AxisBasicControl for a single axis:
- All axes of the axes group are
- commissioned ( L_MC1P_AxisBasicControl )
- switched on ( L_MC4P_GroupPower )
- Switch on/off axes group ( MC_GroupEnable , MC_GroupDisable )
- Set position of the drives ( MC_GroupSetPosition )
- Reference axes group in a coordinated way in the ACS ( MC_GroupHome )
- Traverse single axes of the axes group:
- Manually via jogging mode ( L_MC1P_ManualJog )
- Absolute or relative positioning ( MC_MoveAbsolute , MC_MoveRelative )
- Traverse axes group in a coordinated way:
- direct absolute ( MC_MoveDirectAbsolute )
- direct relative ( MC_MoveDirectRelative )
- linear absolute ( MC_MoveLinearAbsolute )
- linear relative ( MC_MoveLinearRelative )
In addition, the FB can be used to display the status and error messages, and to reset an error.
|
Note!
When the FB L_MC4P_AxesGroupBasicControl is used, the override for velocity, acceleration and jerk can be directly specified at the FB L_MC4P_AxesGroupBasicControl . The use of an additional instance or multiple instances of the L_MC4P_GroupSetOverride is not recommended. |
|
|
|
|
L_MC4P_AxesGroupBasicControl |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
AXES_GROUP_KIN |
- |
|
AxesGroup |
xInternalControlActive |
|
- |
BOOL |
|
BOOL |
- |
|
xEnableInternalControl |
xError |
|
- |
BOOL |
|
BOOL |
- |
|
xResetAxesGroup |
eErrorID |
|
- |
L_IE1P_Error |
|
BOOL |
- |
|
xRegulatorOnALL |
xFunBusy |
|
- |
BOOL |
|
BOOL |
- |
|
xEnableAxesGroup |
xFunDone |
|
- |
BOOL |
|
LREAL |
- |
|
lrOverride |
xFunCommandAborted |
|
- |
BOOL |
|
BOOL |
- |
|
xStopALL |
eFunStateAct |
|
- |
L_MC4P_AGBCState |
|
L_MC4P_AGBC_Parameter |
- |
|
scPar |
xAxesGroupHomed |
|
- |
BOOL |
|
L_MC4P_CoordSystem |
- |
|
eCoordSystem |
xHWLimitSwitchANY |
|
- |
BOOL |
|
BOOL |
- |
|
xGroupStopExecute |
xSWLimitEnabledALL |
|
- |
BOOL |
|
BOOL |
- |
|
xMoveDirAbsExecute |
xSWLimitSwitchANY |
|
- |
BOOL |
|
BOOL |
- |
|
xMoveDirRelExecute |
eKinematicType |
|
- |
L_MC4P_KinematicType |
|
BOOL |
- |
|
xMoveLinAbsExecute |
eAxesGroupState |
|
- |
L_MC4P_AxesGroupState |
|
BOOL |
- |
|
xMoveLinRelExecute |
xAxesGroupEnabled |
|
- |
BOOL |
|
ARRAY[1..12] OF LREAL |
- |
|
alrSetPosDist |
xRealAxesReadyALL |
|
- |
BOOL |
|
BOOL |
- |
|
xGroupSetPosExecute |
xRealAxesEnabledALL |
|
- |
BOOL |
|
BOOL |
- |
|
xGroupHomeExecute |
xAxesGroupWarning |
|
- |
BOOL |
|
ARRAY[1..12] OF BOOL |
- |
|
axHomeAbsSwitch |
xAxesGroupError |
|
- |
BOOL |
|
ARRAY[1..12] OF MC_TRIGGER_REF |
- |
|
ascHomeExtTP |
eAxesGroupErrorID |
|
- |
L_IE1P_Error |
|
ARRAY[1..12] OF BOOL |
- |
|
axJogPos |
alrActPos |
|
- |
ARRAY[1..12] OF LREAL |
|
ARRAY[1..12] OF BOOL |
- |
|
axJogNeg |
alrActVel |
|
- |
ARRAY[1..12] OF LREAL |
|
ARRAY[1..12] OF BOOL |
- |
|
axMoveAbs |
alrSetPosOut |
|
- |
ARRAY[1..12] OF LREAL |
|
ARRAY[1..12] OF BOOL |
- |
|
axMoveRel |
alrSetVelOut |
|
- |
ARRAY[1..12] OF LREAL |
|
ARRAY[1..18] OF L_MC1P_CtrlABC |
- |
|
ascCtrlABC |
lrSetPathVelOut |
|
- |
LREAL |
|
|
|
|
|
alrActFollowingError |
|
- |
ARRAY[1..12] OF LREAL |
|
|
|
|
|
lrSetPathAccOut |
|
- |
LREAL |
|
|
|
|
|
lrSetTCPAccOut |
|
- |
LREAL |
|
|
|
|
|
lrSetRotVelOut |
|
- |
LREAL |
|
|
|
|
|
lrSetRotAccOut |
|
|
LREAL |
|
|
|
|
|
ascStatusABC |
|
- |
ARRAY[1..18] OF L_MC1P_StatusABC |
|
|
|
|
|
|
|
|
|
Inputs
|
Name Data type |
Information/possible settings |
|
|---|---|---|
|
AxesGroup AXES_GROUP_KIN |
axes group reference |
|
|
xEnableInternalControl BOOL |
TRUE |
The internal control of the axes group can be selected via the "Internal Control" button (button is visible in the visualisation). |
|
xResetAxesGroup BOOL |
TRUE |
Reset error of the axes group. |
|
xRegulatorOnALL BOOL |
TRUE |
Switch on all axes of the axes group. |
|
xEnableAxesGroup BOOL |
Enable/inhibit axes group for coordinated multi-axis movements
Please observe the notes in the FB
|
|
|
FALSE ä TRUE |
Enable axes group: Execute state change from "GroupDisabled" to "GroupStandby" for the axes group. |
|
|
TRUE æ FALSE |
Inhibit axes group again: Execute state change from "GroupStandby" to "GroupDisabled" for the axes group. |
|
|
lrOverride LREAL |
Factor for override Applies to all coordinated multi-axis movements of the axes group and single-axis movements which are commanded via this function block.
|
|
|
xStopALL BOOL |
TRUE |
Brake all axes to standstill via control-based stop. Note: The drive axes are stopped independently, synchronisations between the axes are cancelled. If required, the path is left during the stop ramp. The drive and auxiliary axes are stopped with the values parameterized in ascCtrlABC[7..18].lrStopDec and ascCtrlABC[7..18].lrStopJerk |
|
xGroupStopExecute BOOL |
FALSE ä TRUE |
Brake axis group to a standstill. The relevant axes remain on the path. Note : This input is only effective when the axis group is active. Single-axis movements with the axis group deactivated are not canceled by setting the input. |
|
ascCtrlABC ARRAY [1..18] OF L_MC1P_CtrlABC |
Control input of the L_MC1P_AxisBasicControl function of the single axes Axis assignment:
|
|
|
The inputs of the different operating modes are described in the corresponding subsection. |
||
Outputs
|
Name Data type |
Value/meaning |
|
|---|---|---|
|
xInternalControlActive BOOL |
TRUE |
The control is activated via the visualisation. (The input xEnableInternalControl is TRUE.) |
|
xError BOOL |
TRUE |
An error has occurred. For details see eErrorID . |
|
eErrorID |
If xError = TRUE: Error number for the error that has occurred.
|
|
|
xFuncBusy BOOL |
TRUE |
Processing of the activated function running. |
|
xFunDone BOOL |
TRUE |
Execution of the activated function completed successfully. |
|
xFunCommandAborted BOOL |
TRUE |
The activated function has been aborted by another FB. |
|
eFunStateAct |
Current state of the FB. |
|
|
0 |
Standby: The axes group is in the axes group state "GroupStandby" or "GroupDisabled". |
|
|
1 |
Stop: The axes group is braked to standstill in the "GroupStopping" axes group state. |
|
|
2 |
||
|
3 |
||
|
4 |
||
|
5 |
||
|
6 |
||
|
7 |
||
|
8 |
||
|
9 |
External: A function outside the FB generates setpoints for the axes of the axes group (e.g. MC_MoveCircularAbsolute). |
|
|
10 |
Service: An axis of the axes group is supervised via one of the lower-level L_MC1P_AxisBasicControl blocks. |
|
|
11 |
Error: The axis has the "Errorstop" axis state. Resetting the error results in an automatic changeover to "Standby". |
|
|
xAxesGroupHomed BOOL |
|
|
|
xHWLimitSwitchANY BOOL |
TRUE |
A hardware limit switch has been triggered for one of the axes of the axes group. For details see ascStatusABC . |
|
xSWLimitEnabledALL BOOL |
TRUE |
Monitoring of the software limit positions is activated for all axes of the axes group. |
|
xSWLimitSwitchANY BOOL |
TRUE |
A software limit position has been exceeded for one of the axes of the axes group. For details see ascStatusABC . |
|
eKinematicType |
|
|
|
eAxesGroupState |
Current axes group state: |
|
|
1 |
GroupErrorStop |
|
|
2 |
GroupDisabled |
|
|
3 |
GroupStandby |
|
|
4 |
GroupStopping |
|
|
5 |
GroupMoving |
|
|
6 |
GroupHoming |
|
|
xAxesGroupEnabled BOOL |
TRUE |
axes group is switched on. |
|
xRealAxesReadyALL BOOL |
TRUE |
All real drives are ready for operation. |
|
xRealAxesEnabledALL BOOL |
TRUE |
All real drives are enabled. |
|
xAxesGroupWarning BOOL |
TRUE |
A Warning has occurred in the axes group. |
|
xAxesGroupError BOOL |
TRUE |
An error has occurred in the axes group. |
|
eAxesGroupErrorID |
When xAxesGroupError = TRUE: Error number for the error that has occurred.
|
|
|
ascStatusABC ARRAY [1..18] OF L_MC1P_StatusABC |
Status output of the L_MC1P_AxisBasicControl function of the single axes Axis assignment:
|
|
|
The outputs of the different operating modes are described in the corresponding subsection. |
||
MC_GroupEnable