L_MC4P_DifferentialDrive2x2

This FB implements the extension of the kinematic transformation for a differential drive including two drives. More detailed information is provided in section

Considering differential drives

  • Only one FB instance of the differential drives can be active on an axes group at a time.
  • Activation is only permissible if the axes group is deactivated.
  • If another instance is activated via a positive edge at the input xExecute when the FB is active, the previously active FB is deactivated. The output xCommandAborted signals the deactivation by a state change.
  • After a successful extension of the transformation, the FB continues to be active until another instance becomes active.
  • For deactivation, assign zero to all elements of the scDiffGearRatio structure and transmit another xExecute edge.
  • Coupled ACS axes must be of Limited axis type if differential gearboxes are used (traversing range parameter (subindex 30 of the respective axis)).

 

 

 

L_MC4P_DifferentialDrive2x2

 

 

 

AXES_GROUP_KIN

-

AxesGroup

xBusy

-

BOOL

BOOL

-

xExecute

xCommandAborted

-

BOOL

BOOL

-

xAbort

xError

-

BOOL

IDENT_IN_GROUP_REF

-

eFirstAxis

eErrorID

-

L_IE1P_Error

IDENT_IN_GROUP_REF

-

eSecondAxis

alrACSPosition

-

ARRAY [1..2] OF LREAL

L_MC4P_

DiffGearFactors2x2

scDiffGearRatio

alrJCSPosition

-

ARRAY [1..2] OF LREAL

 

 

 

 

 

 

 

 

Inputs/outputs

Name

Data type

Information/possible settings

AxesGroup

AXES_GROUP_KIN

axes group reference

Inputs

Name

Datentyp

Information/possible settings

xExecute

BOOL

FALSE ä TRUE

Only allowed when the axis group is deactivated: On the positive edge, the FB extends the kinematic transformation of the axis group with a differential with the gear ratios defined in scDiffGearRatio.

xAbort

BOOL

FALSE ä TRUE Only allowed when the axis group is deactivated: With a positive edge, the extension of the kinematic transformation defined and activated via this FB is removed from the axis group.

eFirstAxis

IDENT_IN_GROUP_REF

ENUM for defining the involved axes.

Only real axes A1..A6 (if available) are allowed. Passing Main or AuxAxes will result in an error!

eSecondAxis

IDENT_IN_GROUP_REF

scDiffGearRatio

L_MC4P_DiffGearFactors2x2

Structure including numerator and denominator of the differential ratios.

The main ratios (gearbox stage on the motor, e.g. Motor1 A1) continue to be defined via the AXIS_REF and are not editable here.

Outputs

Name

Data type

Value/meaning

xBusy

BOOL

TRUE

Processing is running.

xCommandAborted

BOOL

TRUE

The command was aborted by another FB.

xError

BOOL

TRUE

An error has occurred. For details see eErrorID .

eErrorID

L_IE1P_Error

If xError = TRUE: Error number for the error that has occurred.

alrACSPosition

ARRAY [1..2] OF LREAL

Axis positions with coupling (ACS)

  • First entry: Position associated to eFirstAxis
  • Second entry: Position associated to eSecondAxis

This output is provided for information purposes and does not have to be connected to the application.

alrJCSPosition

ARRAY [1..2] OF LREAL

Joint positions of the kinematics (JCS)

  • First entry: Position associated to eFirstAxis.
  • Second entry: Position associated to eSecondAxis

This output is provided for information purposes and does not have to be connected to the application.