SMC_GroupReadSetVelocity (FB) ¶ FUNCTION_BLOCK SMC_GroupReadSetVelocity This function block returns the current set-velocity of an axis group in the selected coordinate system. If the information of the current cycle is required, it should be combined with SMC_GroupUpdate . 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 in the selected coordinate system of the axis group continuously 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.
GeoPrimWait (STRUCT) ¶ TYPE GeoPrimWait 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 vT SM3M.SMC_VECTOR3D dWaitTime LREAL The time to hold the position
SMC_GroupTargetPosition (FB) ¶ FUNCTION_BLOCK SMC_GroupTargetPosition This function block returns the commanded target position of an axis group in the selected coordinate system. There are several reasons why the output Valid may be FALSE : The last commanded movement is relative and its start-position is not known yet (e.g. because there is a tracking-movement before). The last commanded movement is a halt / stop and has not been processed yet. The last commanded movement is not processed yet, CoordSystem = ACS and the movement’s coordinate system is different from ACS . By “processing” we mean an internal method that is called for at most one movement per cycle, and only if its start-position is known. Valid and not Stable means that the target position moves 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 commanded target position in the selected coordinate system of the axis group continuously while enabled CoordSystem SMC_COORD_SYSTEM Applicable coordinate system Output Valid BOOL TRUE if valid outputs are available Stable BOOL TRUE if the outputs won’t change until commanding a new movement 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 Target position of the group KinematicConfig TRAFO.CONFIGDATA Kinematic configuration of the target position. Only set if the coordinate system is cartesian (i.e. not set for 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_GroupReadConfiguration (FB) ¶ FUNCTION_BLOCK MC_GroupReadConfiguration This function block gets the axis reference according to the given group identifier in order to read the current configuration of an axis group. 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 Gets the axis reference according to the given group identifier while enabled IdentInGroup IDENT_IN_GROUP_REF_SM3 Identifies the axis in the group Output pAxis POINTER TO AXIS_REF_SM3 Reference to the selected axis NumAxes UDINT Number of axes in group 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
MC_GroupReadError (FB) ¶ FUNCTION_BLOCK MC_GroupReadError This function block reads general axis group errors not relating to the function blocks. Note Examples are (software) limit switch exceeded or single axis error. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Get the value of the GroupErrorID continuously while enabled 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 GroupErrorID SMC_ERROR The value of the axis group error
GeoPrimLineAS (STRUCT) ¶ TYPE GeoPrimLineAS EXTENDS ElemPrimBase : STRUCT A line in axis space 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 delta LREAL The distance in the ipo parameter between start and destination position. fCartDist LREAL The cartesian distance between start- and end-position
MC_ReadCoordinateTransform (FB) ¶ FUNCTION_BLOCK MC_ReadCoordinateTransform This function block reads the coordinate transformation that is configured between the world coordinate system (WCS) and a product coordinate system (PCS_1, PCS_2) or machine coordinate system (MCS). If a dynamic coordinate system is queried, its current value is returned. Note The returned coordiante system is not necessarily the same that is used by the active movement. Instead, the returned coordinate system is the one that is effective for new movements. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axis Input Enable BOOL Gets the coordinate transformation of the axis group continuously while enabled CoordSystem SMC_COORD_SYSTEM Which coordinate transformation is to be read. Allowed values are PCS_1, PCS_2, and MCS. 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 CoordTransform MC_COORD_REF The coordinate transformation
MC_ReadKinTransform (FB) ¶ FUNCTION_BLOCK MC_ReadKinTransform This function block reads the kinematic transformation that is active between the axis coordinate system (ACS) and the machine coordinate system (MCS). InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axis Input Enable BOOL Gets the kinematic transformation reference of the axis group continuously while enabled 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 KinTransform TRAFO.MC_KIN_REF_SM3 The kinematic transformation
GeoPrimLinear (STRUCT) ¶ TYPE GeoPrimLinear EXTENDS ElemPrimBase : STRUCT Element for linear cartesian interpolation between two points, each with a separate coordinate system. 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 fS SM3M.SMC_Frame The (initial) start frame. (The actual start position of the element may change after the element is cut. This position will stay the same.) fToolOffsetS SM3M.SMC_Frame The tool offset belonging to the (initial) start position. Only used for start positions in dynamic coordinate systems. vD SM3M.SMC_VECTOR3D The (initial) target position. (The actual target position of the element may change after the element is cut. This position will stay the same.)
SMC_GroupAddOffset (FB) ¶ FUNCTION_BLOCK SMC_GroupAddOffset This function block adds an offset to a position. The offset and the position may be given in different coordinate systems. If one of the coordinate systems is dynamic, the conversion between the coordinate systems is done at the time at the end of the bus task cycle. The resulting position PositionOut is expressed in the same coordinate system as the offset ( CoordSystemOffset ). Note The same effect can be achieved with SMC_GroupConvertPosition by first converting PostionIn from coordinate system CoordSystemPositionIn to CoordSystemOffset and then adding the offset. The coordinate system used is not necessarily the one of the currently active movement. It is always the coordinate system that would be used for new movements. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Converts the position while enabled PositionIn SMC_POS_REF The position to which the offset is added CoordSystemPositionIn SMC_COORD_SYSTEM Coordinate system of PositionIn Offset SMC_POS_REF Offset to be added CoordSystemOffset SMC_COORD_SYSTEM Coordinate system of Offset aRef TRAFO.AXISPOS_REF The reference position of the axes. Only used if CoordSystemOffset = ACS and CoordSystemPositionIn <> ACS . config TRAFO.CONFIGDATA The kinematic configuration. Only used if CoordSystemOffset = ACS and CoordSystemPositionIn <> ACS . UseToolOffsetParameter BOOL Whether to use the ToolOffset parameter. If set to FALSE, the last tool offset set by SMC_GroupSetTool is used. ToolOffset MC_COORD_REF The tool offset used for converting the position. Note that error SMC_AXIS_GROUP_TOOL_OFFSET_INCOMPATIBLE_WITH_KINEMATICS is returned if the tool offset is not compatible. 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 PositionOut SMC_POS_REF The position with the offset in coordinate system CoordSystemOffset