GeoPrimLine (STRUCT) ¶ TYPE GeoPrimLine EXTENDS ElemPrimBase : STRUCT InOut: Name Type Comment Inherited from pef0 POINTER TO ElemFun Pointer to a copy of the previous element. If set, can be evaluated at x = 0 to obtain the start position of this element. ElemPrimBase pef1 POINTER TO ElemFun Pointer to a copy of the subsequent element. If set, can be evaluated at x = pef1^.l to obtain the end position of this element. ElemPrimBase pTrace0 POINTER TO ElemFunTrace ElemPrimBase pTrace1 POINTER TO ElemFunTrace ElemPrimBase vS SM3M.SMC_VECTOR3D The (initial) start vector. (The actual start position of the element may change after the element is cut. This vector will stay the same.) vN SM3M.SMC_VECTOR3D The unit vector in direction of the line
MC_GroupReadActualPosition (FB) ¶ FUNCTION_BLOCK MC_GroupReadActualPosition This function block returns the current position of an axis group in the selected coordinate system. This is an administrative FB, since no movement is generated. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Get the position of the axis group in the selected coordinate system while enabled CoordSystem SMC_COORD_SYSTEM Applicable coordinate system Output Valid BOOL TRUE if valid outputs are available Busy BOOL The FB is not finished Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification Position SMC_POS_REF Current position of the group KinematicConfig TRAFO.CONFIGDATA Kinematic configuration of current position. Only set if the coordinate system is cartesian (i.e. not set in case ACS). Automatic periods are activated for any rotary axis with multiple periods. See SMC_KinConfigActivateAutomaticPeriods for more information. A kinematic configuration without automatic periods can be obtained by reading an ACS position and converting it to the MCS using SMC_GroupConvertPosition .
MC_GroupReadActualVelocity (FB) ¶ FUNCTION_BLOCK MC_GroupReadActualVelocity This function block returns the current velocity of an axis group in the selected coordinate system. This is an administrative FB, since no movement is generated. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Get the velocity of the axis group in the selected coordinate system while enabled CoordSystem SMC_COORD_SYSTEM Applicable coordinate system Output Valid BOOL TRUE if valid outputs are available Busy BOOL The FB is not finished Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification Velocity SMC_POS_REF Current velocity of the group. If a cartesian coordinate system is selected, Velocity.c contains the cartesian velocity: (X,Y,Z) is the velocity vector in u/s, (A,B,C) is the angular velocity around the x, y, z axis in °/s.
GeoPrimArc_CreateI_NormalR (FUN) ¶ FUNCTION GeoPrimArc_CreateI_NormalR : BOOL InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext arc GeoPrimArc Inout Const vStart SM3M.SMC_VECTOR3D The start point in world coordinates vDest SM3M.SMC_VECTOR3D The dest point in world coordinates vNormalR SM3M.SMC_VECTOR3D The normal vector with length radius Input bCCW BOOL Return GeoPrimArc_CreateI_NormalR BOOL Output length LREAL
Basic types ¶ IDENT_IN_GROUP_REF_SM3 (Alias) MC_CIRC_PATHCHOICE (Enum) MC_COORD_REF (Struct) MC_EXECUTION_MODE (Enum) MC_SOURCE (Enum) MC_TRANSITION_MODE (Enum) SMC_AXIS_GROUP_COMPATIBILITY_OPTIONS (Struct) SMC_AXIS_GROUP_CONTINUE_DATA (FunctionBlock) SMC_AXIS_GROUP_STATE (Enum) SMC_CIRC_MODE (Enum) SMC_COORD_SYSTEM (Alias) SMC_DYN_LIMITS (Alias) SMC_IDynamicCS (Interface) SMC_ORIENTATION_MODE (Enum) SMC_POS_REF (Union) SMC_PTP_MOVEMENT_TYPE (Enum) SMC_READ_TOOL_MODE (Enum)
IDENT_IN_GROUP_REF_SM3 (ALIAS) ¶ TYPE IDENT_IN_GROUP_REF_SM3 : UDINT 0-based identifier of the axes of an axis group
MC_CIRC_PATHCHOICE (ENUM) ¶ TYPE MC_CIRC_PATHCHOICE : Determines the direction of arc segments. See MC_MoveCircularAbsolute and MC_MoveCircularRelative . Attributes: qualified_only InOut: Name CLOCKWISE COUNTER_CLOCKWISE
GeoPrimArc_Create_Normal (FUN) ¶ FUNCTION GeoPrimArc_Create_Normal : BOOL InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext ef ElemFun Inout Const vC SM3M.SMC_VECTOR3D The center in world coordinates vN SM3M.SMC_VECTOR3D The normal vector of the arc’s plane (must be a unit) Input dR LREAL dPhiStart_deg LREAL dApex_deg LREAL dHelixDist LREAL The (signed) distance travelled along the arc normal Return GeoPrimArc_Create_Normal BOOL
MC_COORD_REF (STRUCT) ¶ TYPE MC_COORD_REF : STRUCT Stores the position and orientation of the TCP. The orientation is stored with three angles A, B, C according to the ZY’Z’ euler angles convention. The new coordinate system is defined relative to the reference coordinate system Initially is identical with the reference coordinate system. First, it is turned by A degrees around the z axis of the reference system. Second, it is turned about B degrees around the resulting y’ axis. Third, it is turned about C degrees around the resulting z’’ axis. The corresponding rotation matrix is given by R = Rz(A) * Ry(B) * Rz(C). In this matrix, the columns correspond to the axes of the new coordinate system, expressed in coordinates of the reference coordinate system. Note If A, B, C are computed by the system, the angle B is normalized to the range 0° .. 180°. If B is 0° or 180°, C is set to 0°. InOut: Name Type Comment X LREAL X-coordinate of position Y LREAL Y-coordinate of position Z LREAL Z-coordinate of position A LREAL Angle of rotation around z-axis [deg] B LREAL Angle of rotation around y’-axis [deg] C LREAL Angle of rotation around z’’-axis [deg]
MC_EXECUTION_MODE (ENUM) ¶ TYPE MC_EXECUTION_MODE : MC_EXECUTION_MODE provides information on the behavior of administrative function blocks. Attributes: qualified_only InOut: Name Comment Immediately The functionality is immediately valid and may influence the on-going motion. Queued The new functionality becomes valid when all previous motion commands set one of the following output parameters: Done, Aborted or Error. This also implies that the output parameter Busy is set to FALSE. NextCommanded The new functionality becomes valid when the next commanded motion command becomes active.