SMC_GroupReadSetJerk (FB) ¶ FUNCTION_BLOCK SMC_GroupReadSetJerk This function block returns the current set-jerk 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 jerk 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 Jerk SMC_POS_REF Current jerk of the group. If a cartesian coordinate system is selected, Jerk.c contains the cartesian jerk: (X,Y,Z) is the jerk vector in u/s³, (A,B,C) is the angular jerk around the x, y, z axis in °/s³.
SMC_GroupReadSetPosition (FB) ¶ FUNCTION_BLOCK SMC_GroupReadSetPosition This function block returns the current set-position of an axis group in the selected coordinate system. Typically, this will be the set-position from the end of the previous cycle. In order to obtain the set-position from the end of the current cycle, SMC_GroupUpdate has to be called before this function block. 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 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 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 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 .
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_GroupReadStatus (FB) ¶ FUNCTION_BLOCK MC_GroupReadStatus This function block returns the status of an axis group. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Get the status 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 GroupMoving BOOL See SMC_Axis_Group_State GroupHoming BOOL See SMC_Axis_Group_State GroupErrorStop BOOL See SMC_Axis_Group_State GroupStandby BOOL See SMC_Axis_Group_State GroupStopping BOOL See SMC_Axis_Group_State GroupDisabled BOOL See SMC_Axis_Group_State TrackingDynamicCS BOOL If the active movement is commanded using a dynamic coordination system, E.g. with MC_TrackConveyorBelt or MC_TrackRotaryTable . InSync BOOL Indicates whether the axis group follows the programmed path exactly. If FALSE, the axis group is following the path within the configured tolerance. See SMC_GroupSetPathTolerance . ActiveMovementId SMC_Movement_Id The identifier of the active movement. An Id of 0 means that no movement is active. During blending between two movements, the second movement becomes active as soon as blending starts. When aborting, the aborting movements becomes active immediately after it has been accepted. See FirstReferencedMovementId for additional information. FirstReferencedMovementId SMC_Movement_Id The identifier of the first (i.e. oldest) movement which is still being referenced by an ongoing movement. An Id of 0 means that no movement is active. To test whether the axis group is fully tracked in to a dynamic coordinate system (or fully tracked out), the condition FirstReferencedMovementId = ActiveMovementId can be used. LastAcceptedMovementId SMC_Movement_Id The identifier of the movement that was last accepted. An Id of 0 means that no movement has been accepted yet. PositionLag LREAL The magnitude of the position lag (in position units). The position lag is the deviation of the position of the axis group from the programmed trajectory. OrientationLag LREAL The magnitude of the orientation lag (in angular degrees). The orientation lag is the deviation of the orientation of the axis group from the programmed trajectory. CurrentPlanningForecast LREAL The current planning forecast in seconds. Will be between 0 and the fPlanningForecastDuration configured using SMC_TuneCPKernel . While the axis group is moving, should be exactly the fPlanningForecastDuration . Limited to the remaining trajectory duration while the axis group is stopping. CurrentSyncBufferDuration LREAL The current duration of the synchronisation buffer between fieldbus and planning task in seconds. Will be between 0 and the fSyncBufferDuration configured using SMC_TuneCPKernel . This value must be > 0 while the axis group is moving. Otherwise, the error SMC_CP_QUEUE_UNDERRUN will be reported.
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