SMC_TRAFO_Scara2 (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_Scara2 The transformation module is provided to execute backward transformations of 2-jointed Scara systems. Note For detailed information on transformation modules see see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Comment Input pi SMC_PosInfo Target position vector (x,y). Output of Interpolator dOffsetA LREAL Additional offset for A-axis in degree dOffsetB LREAL Additional offset for B-axis in degree dArmLength1 LREAL Length of first robot arm dArmLength2 LREAL Length of second robot arm bElbowLow BOOL TRUE if elbow is low and FALSE , if elbow is high Output bError BOOL TRUE if position is invalid dA LREAL Drive position of axis A in degree dB LREAL Drive position of axis B in degree
SMC_TRAFO_Scara3 (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_Scara3 The transformation module is provided to execute backward transformations of 3-jointed Scara systems. Note For detailed information on transformation modules see see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Comment Input pi SMC_PosInfo Target position vector (x,y). Output of Interpolator dDirection LREAL Direction angle of last joint in degree (0=west, 90=north) dOffsetA LREAL Additional offset for axis A in degree dOffsetB LREAL Additional offset for axis B in degree dOffsetC LREAL Additional offset for axis C in degree dArmLength1 LREAL Length of robot arm 1 dArmLength2 LREAL Length of robot arm 2 dArmLength3 LREAL Length of robot arm 3 bElbowLow BOOL TRUE if elbow is low ( FALSE , if elbow is high) Output bError BOOL TRUE if position is invalid dA LREAL Position of axis A in degree dB LREAL Position of axis B in degree dC LREAL Position of axis C in degree
SMC_TRAFO_Bipod_Arm (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_Bipod_Arm The transformation computes the inverse transformation of a bipod with two rotary axes. The origin of the coordinate system is at the center of the tool plate if both axes are in zero position (horizontal). The direction of positive rotation is shown for the first axis A and the second axis B. In the above diagram, both axes are in position 0°. Note For more information on the supported transformations, see the chapter on CNC transformations. InOut: Scope Name Type Comment Input pi SMC_PosInfo Target position vector (x,y), output of interpolator dArmLength1 LREAL Length of first link (motor to “elbow”), must be positive. dArmLength2 LREAL Length of second link (“elbow” to platform), must be positive. If dArmLength2 < dArmLength1 + dDistance/2, an error is returned, no solution is possible. dDistance LREAL Horizontal distance of the two motors, must be non-negative. dOffsetA LREAL Additional offset of axis A in angular degrees dOffsetB LREAL Additional offset of axis B in angular degrees Output bError BOOL TRUE , if position is invalid. dA LREAL Target position of axis A in degree dB LREAL Target position of axis B in degree
Tripod ¶ SMC_TRAFOF_Tripod (FunctionBlock) SMC_TRAFO_Tripod (FunctionBlock)
SMC_TRAFOF_Tripod (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Tripod The transformation module is provided to execute forward transformations of a tripod. Note For detailed information on transformation modules see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Initial Comment Inout DriveA AXIS_REF_SM3 Reference to axis A DriveB AXIS_REF_SM3 Reference to axis B DriveC AXIS_REF_SM3 Reference to axis C Input dInnerRadius LREAL Radius of inner ring dOuterRadius LREAL Radius of outer ring dLength LREAL Length of linkage/strut dDistance LREAL Distance between the two connecting rods for each arm dRotationOffset LREAL 0 Mathematically oriented angle between axis A and origin (0,0) in degrees dOffsetA LREAL 0 Additional offset of axis A in SoftMotion units dOffsetB LREAL 0 Additional offset of axis B in SoftMotion units dOffsetC LREAL 0 Additional offset of axis C in SoftMotion units Output bError BOOL TRUE , if position is invalid dx LREAL X-position of centre of inner ring dy LREAL Y-position of centre of inner ring dz LREAL Z-position of centre of inner ring dnx LREAL X-coordinate of normed position of manipulator (for visualization purpose) dny LREAL Y-coordinate of normed position of manipulator (for visualization purpose) dRatioInnerOuter LREAL Ratio of the radius of the inner ring to that of the outer ring (for visualization purpose) adnxi ARRAY [0..5] OF LREAL X-coordinates of normed start position of bar (for visualization purpose) adnyi ARRAY [0..5] OF LREAL Y-coordinates of normed start position of bar (for visualization purpose) adnxo ARRAY [0..5] OF LREAL X-coordinates of normed end position of bar (for visualization purpose) adnyo ARRAY [0..5] OF LREAL Y-coordinates of normed end position of bar (for visualization purpose)
SMC_TRAFO_Tripod (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_Tripod The transformation module is provided to execute backward transformation of a tripod. Note For detailed information on transformation modules see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Initial Comment Input pi SMC_PosInfo Target position vector (x,y) of centre of the inner ring. Output of interpolator. dInnerRadius LREAL Radius of inner ring dOuterRadius LREAL Radius of outer ring dLength LREAL Length of linkage dDistance LREAL Distance between the two connecting rods for each arm dRotationOffset LREAL 0 Mathematically oriented angle between axis A and origin (0,0) in degrees dOffsetA LREAL 0 Additional offset of axis A in SoftMotion units dOffsetB LREAL 0 Additional offset of axis B in SoftMotion units dOffsetC LREAL 0 Additional offset of axis C in SoftMotion units Output bError BOOL TRUE , if position is invalid dA LREAL Position of axis A in degree dB LREAL Position of axis B in degree dC LREAL Position of axis C in degree
Tripod_Arm ¶ SMC_TRAFOF_Tripod_Arm (FunctionBlock) SMC_TRAFO_Tripod_Arm (FunctionBlock)
SMC_TRAFOF_Tripod_Arm (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Tripod_Arm The transformation module is provided to execute forward transformations of a tripod arm. Note For detailed information on transformation modules see the overview on kinematic transformations in the CNC online help. InOut: Scope Name Type Initial Comment Input dArmLength1 LREAL Length of arm1 connected to motor dArmLength2 LREAL Length of arm2 from arm to stewart dArm1Radius LREAL Radius of the circle that goes through all three motor axes dStewartRadius LREAL 0 Radius of the stewart plate dDistance LREAL Distance between the two connecting rods for each arm dRotationOffset LREAL 0 Mathematically oriented angle between axis A and origin (0,0) in degrees dOffsetA LREAL 0 Additional offset of axis A in SoftMotion units dOffsetB LREAL 0 Additional offset of axis B in SoftMotion units dOffsetC LREAL 0 Additional offset of axis C in SoftMotion units Output dx LREAL X-position of centre of inner ring/manipulator in geo coordinates dy LREAL Y-position of centre of inner ring/manipulator in geo coordinates dz LREAL Z-position of centre of inner ring/manipulator in geo coordinates Inout DriveA AXIS_REF_SM3 Reference to axis A DriveB AXIS_REF_SM3 Reference to axis B DriveC AXIS_REF_SM3 Reference to axis C
SMC_Token (FB) ¶ FUNCTION_BLOCK FINAL SMC_Token InOut: Scope Name Type Input tokenType SMC_TOKENTYPE srcPos SMC_NC_SourcePosition Methods: GetNumber GetString SetNumber SetString Structure: GetNumber (Method) GetString (Method) SetNumber (Method) SetString (Method)
SMC_GetMParameters (FB) ¶ FUNCTION_BLOCK SMC_GetMParameters If the interpolator is waiting for an M-function, this function block can be used to query the parameters that have been set for this M-function in the G-Code (K, L, O words). InOut: Scope Name Type Comment Inout Interpolator SMC_Interpolator Instance of interpolator Input bEnable BOOL While TRUE , the function block is active Output bMActive BOOL The value TRUE indicates a M-function is currently active dK LREAL M-parameter specified via word K dL LREAL M-parameter specified via word L MParameters SMC_M_PARAMETERS M-parameters, specified by a variable of type SMC_M_PARAMETERS (passed by the O-word). Example G-Code: “N00 M5 K1 L2 O$mParams$”