SMC_TRAFOF_Gantry2Tool1 (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Gantry2Tool1 Forward transformation for two-dimensional gantries (X/Y) with tool offset, i.e. with the tool axis differing from the z-axis. The tool is approximated by a line. Note For detailed information on transformations see Overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Inout DriveX AXIS_REF_SM3 Reference to x-axis. DriveY AXIS_REF_SM3 Reference to y-axis. Input dOffsetX LREAL Offset x-position. Equivalent to SMC_TRAFO_Gantry2 dOffsetY LREAL Offset y-position. Equivalent to SMC_TRAFO_Gantry2 dAlpha LREAL Angle indicating orientation of tool, can be calculated by use of SMC_CalcDirectionFromVector dToolA LREAL Tool size = distance(set position) - (machine position) minX LREAL Lower bound of move range in x-direction(for visualization purpose) maxX LREAL Upper bound of move range in x-direction(for visualization purpose) minY LREAL Lower bound of move range in y-direction(for visualization purpose) maxY LREAL Upper bound of move range in y-direction(for visualization purpose) Output dx LREAL X-position dy LREAL Y-position dnx LREAL Normed x-position (with value in [0,1]) dny LREAL Normed y-position (with value in [0,1]) dnl LREAL Normed length of the tool ratio LREAL ratio x-interval / y-interval dnOffsetX LREAL X-offset for visualization dnOffsetY LREAL Y-offset for visualization
SMC_TRAFOF_Gantry2Tool2 (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Gantry2Tool2 Forward transformation for two-dimensional gantries (X/Y) with tool offset, i.e. with the tool axis differing from the z-axis. The tool is approximated by a rectangular triangle. Note For detailed information on transformations see Overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Inout DriveX AXIS_REF_SM3 Reference to x-axis DriveY AXIS_REF_SM3 Reference to y-axis Input dOffsetX LREAL Offset x-position. Equivalent to SMC_TRAFO_Gantry2 dOffsetY LREAL Offset y-position. Equivalent to SMC_TRAFO_Gantry2 dAlpha LREAL Angle indicating orientation of tool, can be calculated by use of SMC_CalcDirectionFromVector dToolA LREAL Size of dToolA (see scheme) dToolB LREAL Size of dToolB (see scheme) minX LREAL Lower bound of move range in x-direction (for visualization purpose) maxX LREAL Upper bound of move range in x-direction (for visualization purpose) minY LREAL Lower bound of move range in y-direction (for visualization purpose). maxY LREAL Upper bound of move range in y-direction (for visualization purpose) Output dx LREAL X-Position dy LREAL Y-Position dnx LREAL Normed x-position (with value in [0,1]) dny LREAL Normed y-position (with value in [0,1]) dntx LREAL Normed x-position of triangle edge in tool dnty LREAL Normed y-position of triangle edge in tool dnl1 LREAL Normed length of dToolA dnl2 LREAL Normed length of dToolB . ratio LREAL Ratio x-interval / y-interval dnOffsetX LREAL X-offset for visualization dnOffsetY LREAL Y-offset for visualization
SMC_TRAFOF_Gantry3 (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Gantry3 Forward transformation of three dimensional gantry systems. Each instance of SMC_TRAFOF_GANTRY3 can be connected to a visualization template named SMC_VISU_Gantry3 Note For detailed information on transformations see Overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Inout DriveX AXIS_REF_SM3 Reference to x-axis DriveY AXIS_REF_SM3 Reference to y-axis DriveZ AXIS_REF_SM3 Reference to z-axis Input dOffsetX LREAL Offset position for x-axis. Equivalent to SMC_TRAFO_Gantry3 dOffsetY LREAL Offset position for y-axis. Equivalent to SMC_TRAFO_Gantry3 dOffsetZ LREAL Offset position for z-axis. Equivalent to SMC_TRAFO_Gantry3 minX LREAL Minimum x position limiting move range (for visualization purpose) maxX LREAL (for visualization purpose) minY LREAL Minimum y position limiting move range (for visualization purpose) maxY LREAL Maximum y position limiting move range (for visualization purpose) Output dx LREAL X-position dy LREAL Y-position dz LREAL Z-position dnx LREAL Normed x-position (with value in [0,1]) (for visualization purpose) dny LREAL Normed y-position (with value in [0,1]) (for visualization purpose) ratio LREAL Ratio x-interval / y-interval dnOffsetX LREAL Normed x-offset (with value in [0,1]) (for visualization purpose) dnOffsetY LREAL Normed y-offset (with value in [0,1]) (for visualization purpose)
SMC_TRAFOF_Gantry3D (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Gantry3D Forward transformation for three dimensional gantry systems. Each instance of SMC_TRAFOF_GANTRY3D can be connected to a visualization template named SMC_VISU_GANTRY3D_XY or SMC_VISU_GANTRY3D_YZ . Note For detailed information on transformations see overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Input dOffsetX LREAL offset position dOffsetY LREAL offset position dOffsetZ LREAL offset position minX LREAL area maxX LREAL area minY LREAL area maxY LREAL area minZ LREAL area maxZ LREAL area Inout DriveX AXIS_REF_SM3 X-,Y-,Z-drive DriveY AXIS_REF_SM3 X-,Y-,Z-drive DriveZ AXIS_REF_SM3 X-,Y-,Z-drive Output dx LREAL position dy LREAL position dz LREAL position dnx LREAL normed position dny LREAL normed position dnz LREAL normed position dm LREAL
SMC_XInterpolator.Init (ACT) ¶
SMC_XInterpolator.NewObject (ACT) ¶
SMC_XInterpolator.ResetOutputs (ACT) ¶
SMC_Trafo_ArticulatedRobot_6DOF (FB) ¶ FUNCTION_BLOCK SMC_Trafo_ArticulatedRobot_6DOF SMC_Trafo_ArticulatedRobot_6DOF implements the mathematic inverse transformation of an articulated robot with six rotary axes used for calculation of the tool center point coordinates from the axes position, the tool orientation and the states of joint. Robots with the following denavit-hartenberg configuration are supported: (the values of d_i and a_i are supplied in the configuration) x joint offset link offset d_i link length a_i link twist 1 0° d1 a1 -90° 2 90° 0 a2 0° 3 0° d3 a3 90° 4 0° d4 0 90° 5 0° 0 0 -90° 6 0° d6 0 0° Assumptions: All lengths in config are positive (greater than g_fSMC_CNC_EPS ) The valid range for axis 0, 1, 3, and 4 is contained in ]-180°, 180°[ The valid range for axis 2 ( dQ2 ) is contained in ]-90°, 180°[ The valid range for axis 5 ( dQ5 ) is not constrained and may be greater than 360° InOut: Scope Name Type Comment Inout config SMC_TrafoConfig_ArticulatedRobot_6DOF The configuration settings of the robot SMC_TrafoConfig_ArticulatedRobot_6DOF pi SMC_PosInfo Position and orientation in world cooridinates: dX , dY , dZ , dA (yaw), dB (pitch), dC (roll) SMC_POSINFO Input dQ0_old LREAL The old value of axis 0 in degrees dQ1_old LREAL The old value of axis 1 in degrees dQ2_old LREAL The old value of axis 2 in degrees dQ3_old LREAL The old value of axis 3 in degrees dQ4_old LREAL The old value of axis 4 in degrees dQ5_old LREAL The old value of axis 5 in degrees armState SMC_ArticulatedRobot_6DOF_J0_State State of joint 0, (forward, straight, backwards) elbowState SMC_ArticulatedRobot_6DOF_J1_State State of joint 1, (up, straight, down) handState SMC_ArticulatedRobot_6DOF_J4_State State of joint 4, (up, straight, down) Output dQ0 LREAL The value of axis 0 in degrees dQ1 LREAL The value of axis 1 in degrees dQ2 LREAL The value of axis 2 in degrees dQ3 LREAL The value of axis 3 in degrees dQ4 LREAL The value of axis 4 in degrees dQ5 LREAL The value of axis 5 in degrees bError BOOL If TRUE , an error has occured during computation result SMC_TrafoResult_ArticulatedRobot_6DOF Result of the computation in detail
SMC_TrafoF_ArticulatedRobot_6DOF (FB) ¶ FUNCTION_BLOCK SMC_TrafoF_ArticulatedRobot_6DOF SMC_TrafoF_ArticulatedRobot_6DOF implements the mathematic forward transformation of an articulated robot with six rotary axes used for determinating position and orientation of the end effector with the axis angles. Note All drives are assumed to be scaeld so that one technical unit [u] corresponds to one degree. InOut: Scope Name Type Comment Inout config SMC_TrafoConfig_ArticulatedRobot_6DOF The configuration settings of the robot, SMC_TrafoConfig_ArticulatedRobot_6DOF Drive0 AXIS_REF_SM3 The drive of axis 0, AXIS_REF_SM3 Drive1 AXIS_REF_SM3 The drive of axis 1 Drive2 AXIS_REF_SM3 The drive of axis 2 Drive3 AXIS_REF_SM3 The drive of axis 3 Drive4 AXIS_REF_SM3 The drive of axis 4 Drive5 AXIS_REF_SM3 The drive of axis 5 Output vToolPos SMC_Vector3D Current position of the tool center point in world coordinates mToolOrientation SMC_Matrix3 Tool orientation as a rotation matrix armState SMC_ArticulatedRobot_6DOF_J0_State State of joint 0 elbowState SMC_ArticulatedRobot_6DOF_J1_State State of joint 1 handState SMC_ArticulatedRobot_6DOF_J4_State State of joint 4
SMC_CalcDirectionFromVector (FB) ¶ FUNCTION_BLOCK SMC_CalcDirectionFromVector By use of this function the orientation ( dAlpha ) of the tool can be calculated. Note For detailed information on transformation function blocks see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Initial Comment Input v SMC_VECTOR3D Tangent vector v . In general, v will be identical to the output vecActTangent of the interpolator. eDir SMC_VECTORDIR SMC_tangential Input eDir specifies, whether the direction has to be calculated parallel to a path tangent ( SMC_tangential ), or oppositely ( SMC_opp_tangential ) or orthogonally to the path ( SMC_orthogonal_r (right to the path tangent) resp. SMC_orthogonal_l (left to the path tangent)). Output dDir LREAL The angle dDir is measured in degrees. It will remain constant during standstill of the interpolator, i.e. when v is the zero vector. eDir is mostly either used as set value at SMC_ControlAxisByPos for a directional axis or as input dAlpha for the transformation.