Transformation
Exclusive function for transforming axes This core function is only available for transforming axes. |
This core function manages the coupling of the two internal axes of a transforming axis.
To this end, the transformation works internally with three translation paths:
- Drive table - Drive position in a load position.
- The drive table itself consists of the points in the transferred table.
- Is used as the basis for generating the virtual encoder position of the load side.
- Load table - load position in a drive position.
- Is the inverse function of the transferred load table.
- Is used in the full transformation for synchronization of the drive side.
- Used in the half transformation to convert the command positions
- Is linearized if
LowerLimit
and/orUpperLimit
are within the load positions - Drive table - Reverse translation of an actuator position into a load position.
- Is used to check the validity of a target position without linearization.
Syntax:
FUNCTION_BLOCK FB_NcTransformation EXTENDS FB_TrafoCorefunction
Properties
Name | Type | Access | Description |
---|---|---|---|
InitState | BOOL | Get, Set | The core function is not completely and successfully initialized. |
FB_NcTransformation | |||
IsUpdating | BOOL | Get | TRUE as long as a previously passed table is being processed internally. |
LowerLimit | LREAL | Get, Set | Lower limit from which the load table is linearized. |
Reversed | LREAL | Get, Set | Reserved for future use. |
Table | Get, Set | Interface for the transformation table to be transferred. | |
UpperLimit | LREAL | Get, Set | Upper limit from which the load table is linearized. |
Valid | BOOL | Get | The transferred table was loaded successfully. |
FB_Corefunction | |||
[ | Get, Set | The current state of the axis state machine. | |
[ | BOOL | Get | The Corefunction is connected to an axis. |
[ | LREAL | Get, Set | The cycle time of the PLC task from which the method |
[ | BOOL | Get, Set | A TRUE indicates that the |
FailedState | BOOL | Get, Set | If IsActivated is TRUE at the same time: Signals the failure of an accepted command. If IsActivated is FALSE at the same time: Signals the rejection of a command. |
HasFeedback | BOOL | Get | The core function has responded to a pending command. |
IsActivated | BOOL | Get | The core function has an accepted command pending. |
IsLocalCmd | BOOL | Get | Signals that the axis is assigned with a command of this core function. |
[ | I_Corefunction | Get, Set | This property is part of the execution chain and must not be affected by the application task. |
[ | BOOL | Get, Set | The axis uses this property to signal an Online Change to the Corefunction. |
ReadyState | BOOL | Get, Set | The Corefunction is ready for operation, but is not commandable at this time. Possible reasons are: |
Methods
Name | Description |
---|---|
[ | This method is called cyclically by the axis. |
FB_NcTransformation | |
GetSlot() | Reserves the index of a slot for asynchronous translation function and returns it. |
ReleaseSlot( | Releases a reserved slot. |
Translates a drive position into a load position using the load table. | |
Reserved for future use. | |
Translates a load position into a drive position using the load table. | |
[ | Prioritized execution of the |
Translates a drive position into a load position using the drive table. | |
[ | Prioritized execution of the |
Translates a position in a linearized way, depending on the set LowerLimit properties. | |
FB_Corefunction | |
[ | Applies the command to the axis. |
[ | Clears up some of the possible states. |
[ | This method is called when the axis is reset. |
[ | Removes the command from the axis. |
Interfaces
Type | Description |
---|---|
I_Corefunction | Standard interface on FB_Corefunction. |
I_Transformation | Standard interface on FB_NcTransformation. |
I_CorefunctionFeedback | Standard interface on FB_CorefunctionFeedback. |
Requirements
Development environment | Target platform | PLC libraries to include |
---|---|---|
TwinCAT v3.1.4024.55 | PC or CX (x64, x86) | Tc3_PlasticFunctions (>= v12.6.1.0) |