Tripod_Lin ¶ SMC_TrafoF_Tripod_Lin (FunctionBlock) SMC_Trafo_Tripod_Lin (FunctionBlock)
SMC_TrafoF_Tripod_Lin (FB) ¶ FUNCTION_BLOCK SMC_TrafoF_Tripod_Lin Forward transformation for tripod InOut: Scope Name Type Initial Comment Inout DriveA AXIS_REF_SM3 The 0 position of DriveA is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetA . DriveB AXIS_REF_SM3 The 0 position of DriveB is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetB . DriveC AXIS_REF_SM3 The 0 position of DriveC is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetC . Input dOuterRadius LREAL Radius of outer ring dInnerRadius LREAL Radius of inner ring dLength LREAL Length of linkage dDistance LREAL Distance between the two connecting rods for each arm dRotationOffset LREAL 0 Angle between x-axis and first rail dAxisAngle LREAL Absolute angle between rails and z-axis dOffsetA LREAL Offset added to the position of DriveA before the transformation is performed. dOffsetB LREAL Offset added to the position of DriveB before the transformation is performed. dOffsetC LREAL Offset added to the position of DriveC before the transformation is performed. Output pi SMC_PosInfo Position of the inner ring’s center (x,y,z) bError BOOL
SMC_Trafo_Tripod_Lin (FB) ¶ FUNCTION_BLOCK SMC_Trafo_Tripod_Lin Inverse transformation for tripod InOut: Scope Name Type Initial Comment Input pi SMC_PosInfo Position of the inner ring’s center (x,y,z) dOuterRadius LREAL Radius of outer ring dInnerRadius LREAL Radius of inner ring dLength LREAL Length of linkage dDistance LREAL Distance between the two connecting rods for each arm dRotationOffset LREAL 0 Angle of axis A dAxisAngle LREAL Absolute angle between rails and z-axis dSingularityTolerance LREAL 1 dOffsetA LREAL Offset that is subtracted from the resulting position of drive A. dOffsetB LREAL Offset that is subtracted from the resulting position of drive B. dOffsetC LREAL Offset that is subtracted from the resulting position of drive C. Output dLA LREAL Resulting position of drive A. The 0 position is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetA . dLB LREAL Resulting position of drive B. The 0 position is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetB . dLC LREAL Resulting position of drive C. The 0 position is at the point where the axis, along which the drive moves, intersects the plane where the dOuterRadius is measured. Can be adjusted by dOffsetC . bError BOOL Only TRUE , if there is no solution bSingularPosition BOOL At least one drive is near a singular position bNegativeDrivePosition BOOL At least one drive’s position is calculated to be negative
SMC_TrafoF_4AxisPalletizer (FB) ¶ FUNCTION_BLOCK SMC_TrafoF_4AxisPalletizer Forward transformation for a 4-axis palletizer. InOut: Scope Name Type Comment Inout config SMC_TrafoConfig_4AxisPalletizer The configuration settings of the palletizer Drive1 Axis_Ref_SM3 The drive of axis 0 Drive2 Axis_Ref_SM3 The drive of axis 1 Drive3 Axis_Ref_SM3 The drive of axis 2 Drive4 Axis_Ref_SM3 The drive of axis 3 Output dX LREAL The current x-position of the tool center point in world coordinates dY LREAL The current y-position of the tool center point in world coordinates dZ LREAL The current z-position of the tool center point in world coordinates dC LREAL The current roll angle of the tool in degrees bElbowLow BOOL TRUE the angle of axis 2 is in the range ]-180°,-90°[ bElbowStraight BOOL TRUE`, if the angle of axis 2 is equal to ``-90° bBackwards BOOL FALSE , if the palletizer faces towards the TCP, TRUE , if facing in opposite direction bStraightUp BOOL TRUE the two arms segments are both vertical ( dQ1=0°, dQ2=-90° ) vK1Pos SMC_Vector3D The current position of joint 1 in world coordinates vK2Pos SMC_Vector3D The current position of joint 2 in world coordinates vK3Pos SMC_Vector3D The current position of joint 3 in world coordinates vKToolDir SMC_Vector3D The current (unit) direction of the gripper (x-axis of K5) in world coordinates dScale LREAL A scaling factor: if the working space is scaled with this factor, it fits in to the cube [0,1]^3
SMC_Trafo_4AxisPalletizer (FB) ¶ FUNCTION_BLOCK SMC_Trafo_4AxisPalletizer Inverse transformation for a 4-axis palletizer. Assumptions: All a_i in the config are non-negative, a_2 and a_3 are not less than g_fSMC_CNC_EPS The valid range for axis 0 ( dQ0 ) is contained in ]-180°, 180°[ The valid range for axis 1 ( dQ1 ) is contained in [-90°, 90°] The valid range for axis 2 ( dQ2 ) is contained in ]-180°, 90°[ The valid range for axis 3 ( dQ3 ) is not constrained and may be greater than 360° InOut: Scope Name Type Initial Comment Inout config SMC_TrafoConfig_4AxisPalletizer The configuration settings of the palletizer Input pi SMC_PosInfo The current position and orientation in world coordinates: dX , dY , dZ , and C bElbowLow BOOL FALSE Whether axis 2 is in the range ]-180°, -90°[ (TRUE) or [-90°,90°] (FALSE) bBackwards BOOL FALSE Whether axis 0 is set so that the palletizer faces the target ( FALSE ) or that it faces the opposite direction ( TRUE ) 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 bError BOOL Whether an error occured during the computation result SMC_TrafoResult_4AxisPalletizer The detailed result of the computation
IStartupSDOChecker (ITF) ¶ INTERFACE IStartupSDOChecker This interface provides a check whether a given CANopen object is in the SDO startup list. Methods: IsInStartupList Structure: IsInStartupList (Method)
SMC_TRAFO_GantryCutter3 (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_GantryCutter3 Reverse transformation for three-dimensional gantry systems with one rotation axis being controlled in such a way that the knife will point along the path tangent. InOut: Scope Name Type Initial Comment Input pi SMC_PosInfo Target position vector (x,y), ouput of interpolator v SMC_VECTOR3D Vector of current path tangent, output of interpolator dOffsetX LREAL Additional offset for x-axis dOffsetY LREAL Additional offset for y-axis dOffsetZ LREAL Additional offset for z-axis dOffsetR LREAL Additional offset for rotational axis iDirectionR INT 1 Direction of rotation Output dx LREAL 0 Resulting target position for x-axis dy LREAL 0 Resulting target position for y-axis dz LREAL 0 Resulting target position for z-axis dr LREAL 0 Rotation of resulting position in degrees
IStartupSDOChecker.IsInStartupList (METH) ¶ METHOD IsInStartupList : BOOL Returns whether the object with the given index and subindex is written in the SDO startup list. InOut: Scope Name Type Comment Return IsInStartupList BOOL Input uiIndex UINT The object index usSubIndex USINT The object subindex
EDeviceType (ENUM) ¶ TYPE EDeviceType : InOut: Name Drive Resolver Encoder1 Encoder2
SMC_TRAFO_GantryH2 (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_GantryH2 Reverse transformation for H-gantry systems with stationary drives. InOut: Scope Name Type Comment Input pi SMC_PosInfo Target position vector (x,y), output of interpolator. dOffsetX LREAL Additional offset for x-axis dOffsetY LREAL Additional offset for y-axis Output da LREAL Resulting target position of axis a db LREAL Resulting target position of axis b