Professional Documents
Culture Documents
Festo_Positioning_Basic EVO3
V3.5.10.43
1
Title ................................................................................................................................... Festo_Positioning_Basic
Version ............................................................................................................................................................. 1.01
Document no. ........................................................................................................................................................ 1
Original .................................................................................................................................................................en
Author ............................................................................................................................................................. Festo
Copyright Notice
This documentation is the intellectual property of Festo AG & Co. KG, which also has the exclusive copyright. Any
modification of the content, duplication or reprinting of this documentation as well as distribution to third par-
ties can only be made with the express consent of Festo AG & Co. KG.
Festo AG & Co KG reserves the right to make modifications to this document in whole or in part. All brand and
product names are trademarks or registered trademarks of their respective owners.
Legal Notice
Hardware, software, operating systems and drivers may only be used for the applications described and only in
conjunction with components recommended by Festo AG & Co. KG.
Festo AG & Co. KG does not accept any liability for damages arising from the use of any incorrect or incomplete
information contained in this documentation or any information missing therefrom.
Defects resulting from the improper handling of devices and modules are excluded from the warranty.
The data and information specified in this document should not be used for the implementation of safety func-
tions relating to the protection of personnel and machinery.
No liability is accepted for claims for damages arising from a failure or functional defect. In other respects, the
regulations with regard to liability from the terms and conditions of delivery, payment and use of software of
Festo AG & Co. KG, which can be found at www.festo.com and can be supplied on request, shall apply.
All data contained in this document do not represent guaranteed specifications, particularly with regard to func-
tionality, condition or quality, in the legal sense.
The information in this document serves only as basic information for the implementation of a specific, hypo-
thetical application and is in no way intended as a substitute for the operating instructions of the respective
manufacturers and the design and testing of the respective application by the user.
The operating instructions for Festo products can be found at www.festo.com.
Users of this document (application note) must verify that all functions described here also work correctly in the
application. By reading this document and adhering to the specifications contained therein, users are also solely
responsible for their own application.
2 Architecture ................................................................................................................................................ 7
1.1.3 Kinematics
The following kinematics can be controlled with this library:
H-gantry ( Z + 3 additional axes)
T–gantry ( X + 3 additional axes)
XY-gantry single axis ( Z + 3 additional axes)
https://help.codesys.com/
2 Architecture
The basic idea of this architecture is to separate configuration data and process data. For this the following
modes of operation (MOPs) are implemented:
Mode of operation (MOP) Description
Configuration mode At each power cycle, the system needs to be in the configuration
mode to initialize the configuration parameters. After the success-
ful initiation of the parameters, it can switch to different MOPs to
operate with the system.
Homing mode Homing of the system can be triggered in this mode. The parame-
ters to reference the system will be initialized in the configuration
mode.
Jogging mode Jogging of the system.
Stepping mode Stepping of the system.
PTP mode This is a separate mode to do a point-to-point-movement.
Internal CNC mode The CNC path which was created in the CODESYS CNC editor
can be started.
The compile mode of the CNC must be set to SMC_CNC_REF.
External CNC mode The CNC path which is saved as a text-file (*.cnc) can be started.
The CNC file (*.cnc) can be stored in the internal file system of the
PLC.
3.1 Units
The basic units for the Festo Positioning_Basic_3 Library are depending on set Feeds Constance of the Drives:
Parameter type Unit
Position mm
Velocity mm/s
Acceleration and deceleration mm/s²
Jerk mm/s³
Angle ° (degree)
Table: Units
3.2 VAR_INOUT
The Festo Positioning_Basic_3 Library has different function blocks. The communication between the function
blocks is realized via the VAR_INOUT input stKineDataRef. It contains all internal data of the library.
Table: stKinematic
Differences between ABC- and UVW-axes ➔ CODESYS online help > SoftMotion > CNC Ed-
itor > CNC Language DIN 66025 > Additional spline axes A, B, C.
If using Additional Axes as Tool Axis (Orientation Axes ), the Additional Axes should
be set as ABC Axes. -> xUseUvwAxes = False.
Table: stDrive
When using a T-gantry the motors 1 and 2 must be referenced with axes 2 and 3, to be
able to move in the correct coordinate system (YZ-System).
Table: stDynLimits
Table of contents
eLSPositive 18
eActPos (For CMMT) 35 (37)
eDefault 0
arxSaveHomingOffset- ARRAY [1..6] OF BOOL Save the Homing Position into the Motor
ToEncoder Controller, can be manual triggered after
homing Done
arxExcludeAxis ARRAY[1..6] of BOOL Select the axis that doesn’t need a hom-
ing. E. g. if an absolute encoder is used
ariHomingOrder ARRAY[1..6] of INT Set the homing order of the 6 axes.
Rules to set the homing order:
Zero means no homing for the axis
Range from 1-6
Always start with No 1
No gaps between the order No
If using H/T-gantry the order for axes 1 and
2 (H-gantry) or axes 2 and 3 (T-gantry)
should be the same
E. g. when using a H-gantry and follow-
ing order [4.3.1.2.0.0], the axes will be
referenced in the following order:
1. Z Axis
2. the 4th axis
3. H-gantry Y-Axis
4. H-gantry X-Axis
5th and 6th axis will not execute a Hom-
ing.
stHoming (Struct) Type Description
xPortalAlreadyHomed BOOL Set HomingDone if no Axis need to Home
xMoveToParkPos BOOL Execute a moving to park position after
homing is done.
stParkPos CART_POS Define the park position.
tHomingTimeOut TIME Define a timeout for homing.
stEmcxHomingSensor- EMCX_HOMING_SENSOR Digital Input Configuration for the
Config EMCX, When using Homing Methode
with Sensor support
Table: stHoming
peMOP POINTER to OP_MODE Supported modes of operation for the Festo Posi-
tioning_Basic_3 Library (enum):
eNoMode = 0
eConfigMode = 10
eHomingMode = 20
eJoggingMode = 30
eSteppingMode = 40
ePTPMode = 50
eInternalCncMode = 60
eExternalCncMode = 70
pstCW POINTER TO ➔ table Control_Word
CONTROL_WORD
eSetCS COORDINATE_SYSTEM Select the possible coordinate system CS:
eMCS (machine coordinate system)
eUCS (user coordinate system)
eWPCS (workpiece coordinate system)
stUCS CS_ORIGIN Parameters of the user coordinate system
➔ table stUCS/stWPCS
Default: UCS = MCS.
stWPCS CS_ORIGIN Parameters of the workpiece coordinate system
➔ table stUCS/stWPCS
Default: WPCS = MCS.
pstDynPtp POINTER to DYNAMIC Dynamics for PTP mode.
pstPosPtp POINTER to CART_POS Position for PTP mode.
pstDynJogInch POINTER to DYNAMIC Dynamics for jogging /inching mode.
plrStepWidth POINTER to LREAL Inch/step distance for inching mode.
eSelectAxis AXIS Select the axis for joging /inching mode (enum):
eX = 1
eY = 2
eZ = 3
eA = 4
eB = 5
eC = 6
eU = 7
eV = 8
eW = 9
sCNCFilePath STRING External CNC mode: path of the CNC file, default:
'/ffx/codesys/_cnc/*.cnc' (absolute path)
'/_cnc/*.cnc' (relative path)
uiUserCNCNo UINT Internal CNC mode: Select the CNC from the CNC
pool:1-16
➔ parCNCUser
stCNCCorr CNC_ ➔ table CNC_CORRECTION_PARAMETERS
Parameters CORRECTION_
PARAMETERS
Table of contents
Table: stUCS/stWPCS
Table: Control_Word
Table CNC_CORRECTION_PARAMETERS
Table of contents
xEnabled BOOL Confirmation of activation of the regulator release for all pa-
rameterised drives.
xResetting BOOL Reinitialization of all parameterised drives.
xIsMoving BOOL Signalling that the system is in motion.
xBusy BOOL Signaling the status of the system.
xPathCorrAc- BOOL Path correction active.
tive
xHaltActive BOOL Signalling pause of actual CNC movement.
xAborted BOOL Signalling that the actual CNC movement or homing is
aborted.
xHomed BOOL Signalling that the system is referenced.
xReadyToEna- BOOL Indication of readiness of all parameterised drives:
ble Communication with the drives is active
All drives are ready to switch on
xError BOOL Signalling of exitisting error.
For further information ➔ arstMessageBuffer of the Output.
xMotionCom- BOOL Signalling the end of the executing of a CNC Program.
plete
xStepModeAc- BOOL Signalling the activation of the step mode.
tive
xStepDone BOOL Signalling that the end of the actual step is reached.
xConfigDone BOOL Signalling that the configuration paramerter initialized suc-
cessfully.
xM_Active BOOL M-Function Active
arxMotorHomed ARRAY[1..6] Motor Homing Status
of BOOL
xInterruptActive BOOL interrupt in CNC active
xIPODone BOOL Signalling that the internal interpolator is done.
Table: Status_Word
Table: Limit_Switch
Table: CS_New
Table: CNC_FUNCTION
Table: M_PARAMETERS
Figure 5 FB_PICK_AND_PLACE_CYCLIC
The FPosB Library provides two Function Blocks for Pick and Place applications.
- FB_PICK_AND_PLACE_CYCLIC
Table: MESSAGE
0 NO_TABLE_USED
1 SMC_ERROR_Table (CODESYS Error Codes)
Check for SMC_ERROR in CODESYS.
2 CANOPEN_KERNEL_ERROR_Table
3 SDO_ERROR_TABLE
4 EMCX_ERROR_Table
5 CMMP_ERROR_TABLE
6 CMMT_ERROR_TABLE
Table: ERROR-ID_Table
Note
The Complete list of all ErrorID and description are in the following Excel List