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
SMC_TRAFOF_Polar (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Polar Forward transformation for 2-dim. Scara system Note For detailed information on transformation modules see overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Inout DriveR AXIS_REF_SM3 Reference to distance axis R DrivePhi AXIS_REF_SM3 Reference to direction axis Phi Input dOffsetR LREAL Additional offset for distance axis R in degree dOffsetPhi LREAL Additional offset for direction axis Phi in degree dmaxR LREAL Maximum value for distance axis R Output bError BOOL TRUE if values are invalid ( DriveR.fActPosition < 0 ) dx LREAL X-component of manipulator position in geo coordinates dy LREAL Y-component of manipulator position in geo coordinates dnx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dny LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dnr LREAL Standardised distance [0..1] for visualization
SMC_TRAFOF_Scara2 (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Scara2 Forward transformation for 2-dim. Scara system. Note For detailed information on transformation modules see overview to SM_Trafo_POUs . InOut: Scope Name Type Initial Comment Inout DriveA AXIS_REF_SM3 Reference to axis A DriveB AXIS_REF_SM3 Reference to axis B Input dOffsetA LREAL 0 Additional offset for A-axis in degree (equivalent to SMC_TRAFO_SCARA2 ) dOffsetB LREAL 0 Additional offset for B-axis in degree (equivalent to SMC_TRAFO_SCARA2 ) dArmLength1 LREAL Arm length of first arm in t.u. dArmLength2 LREAL Arm length of second arm in t.u. Output bError BOOL TRUE , if position is invalid dx LREAL X-position of manipulator in geo coordinates dy LREAL Y-position of manipulator in geo coordinates dAlpha LREAL Drive position in degrees without offset (joint angle for visualization) dBeta LREAL Drive position in degrees without offset (joint angle for visualization) dpx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of first joint (for visualization purpose) dpy LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of first joint (for visualization purpose) dnx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dny LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dR1 LREAL Relative arm length (for visualization purpose) dR2 LREAL Relative arm length (for visualization purpose)
SMC_TRAFOF_Scara3 (FB) ¶ FUNCTION_BLOCK SMC_TRAFOF_Scara3 The transformation module is provided to execute forward transformations of 3-jointed Scara systems Note For detailed information on transformation modules see overview to SM_Trafo_POUs . 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 dOffsetA LREAL 0 Additional offset for axis A in degree (equivalent to SMC_TRAFO_SCARA3 ) dOffsetB LREAL 0 Additional offset for axis B in degree (equivalent to SMC_TRAFO_SCARA3 ) dOffsetC LREAL 0 Additional offset for axis C in degree (equivalent to SMC_TRAFO_SCARA3 ) dArmLength1 LREAL Length of robot arm 1 in t.u. dArmLength2 LREAL Length of robot arm 2 in t.u. dArmLength3 LREAL Length of robot arm 3 in t.u. Output bError BOOL TRUE , if position is invalid dx LREAL X-Component of manipulator position in geo coordinates dy LREAL Y-Component of manipulator position in geo coordinates dAlpha LREAL Drive position without offset in degree (joint angle, for visualization) dBeta LREAL Drive position without offset in degree (joint angle, for visualization) dGamma LREAL Drive position without offset in degree (joint angle, for visualization) dpx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of first joint (for visualization purpose) dpy LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of first joint (for visualization purpose) dppx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of second joint (for visualization purpose) dppy LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of second joint (for visualization purpose) dnx LREAL X-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dny LREAL Y-coordinate (in ]-1,1[ ) of normed position vector of manipulator (for visualization purpose) dR1 LREAL Relative arm length (for visualization purpose) dR2 LREAL Relative arm length (for visualization purpose) dR3 LREAL Relative arm length (for visualization purpose)
SMC_TRAFO_Polar (FB) ¶ FUNCTION_BLOCK SMC_TRAFO_Polar Transformation for 2-dim. Scara system Note For detailed information on transformation modules see overview to SM_Trafo_POUs . InOut: Scope Name Type Comment Input pi SMC_PosInfo Set position (x/y) dOffsetR LREAL Additional offset for distance axis R dOffsetPhi LREAL Additional offset of direction axis Phi in degree Output dR LREAL Position of distance axis R dPhi LREAL Position of direction axis Phi in degree
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
CoE ¶ SMC3_ETC_ReadParameter_CoE (FunctionBlock) SMC3_ETC_WriteParameter_CoE (FunctionBlock)
SMC3_ETC_ReadParameter_CoE (FB) ¶ FUNCTION_BLOCK SMC3_ETC_ReadParameter_CoE This function block allows to read CANopen over EtherCAT (CoE) objects of a SoftMotion axis. InOut: Scope Name Type Comment Input xExecute BOOL Starts reading on a rising edge xAbort BOOL Aborts an ongoing read request uiIndex UINT The object index, e.g. 16#6061 usiSubIndex USINT The object subindex, e.g. 0 Inout Axis AXIS_REF_ETC_SM3 The SoftMotion axis. Output xDone BOOL Whether the read request has terminated successfully xBusy BOOL Whether the read request is still in progress xError BOOL Whether an error has occurred usiDataLength USINT The length of the data read in bytes (between 1 and 4) dwValue DWORD The value of the object. Only valid if xDone is TRUE. dwErrorCode DWORD The SDO abort code eError SMC3_ETC_CO_ERROR The error from the etherCAT stack