Trj_State_IsInPath (FUN) ¶ FUNCTION Trj_State_IsInPath : BOOL InOut: Scope Name Type Inout Const trs Trj_State path PathQueue Return Trj_State_IsInPath BOOL
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.
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
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
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
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
SMC_GroupConvertPosition (FB) ¶ FUNCTION_BLOCK SMC_GroupConvertPosition Converts a position between different coordinate systems of an axis group. 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 tool offset currently set in the axis group is used, not the tool offset of the active movement. This can be overriden by the inputs UseToolOffsetParameter and ToolOffset . Note 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 Inout Const PositionIn SMC_POS_REF In: Position to be converted Input Enable BOOL Converts the position while enabled CoordSystemIn SMC_COORD_SYSTEM Coordinate system of PositionIn CoordSystemOut SMC_COORD_SYSTEM Coordinate system of PositionOut aRef TRAFO.AXISPOS_REF The reference position of the axes. Only used if CoordSystemOut = ACS and CoordSystemIn <> ACS . config TRAFO.CONFIGDATA The kinematic configuration. Only used if CoordSystemOut = ACS and CoordSystemIn <> 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. 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 converted to coordinate system CoordSystemOut configOut TRAFO.CONFIGDATA The kinematic configuration that belongs to a cartesian position. The configuration is calculated when an axis position gets converted to a cartesian position, i.e. CoordSystemIn = ACS and CoordSystemOut <> ACS . Otherwise, the given config is returned. For rotary axes with multiple periods, configOut contains the periods determined by the axis positions. Automatic period selection can be enabled using SMC_KinConfigActivateAutomaticPeriods .
SMC_GroupGetContinuePosition (FB) ¶ FUNCTION_BLOCK SMC_GroupGetContinuePosition Reads the continue position from the continueData . The continue position is the position, from where a MC_GroupContinue can be performed using the continueData . InOut: Scope Name Type Comment Inout Const AxisGroup AXIS_GROUP_REF_SM3 Reference to the axis group continueData SMC_AXIS_GROUP_CONTINUE_DATA The continue data. Input Execute BOOL Reads the position on rising edge Output Done BOOL The operation has been finished successfully Busy BOOL The operation is not finished Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification Position SMC_POS_REF The position where the interrupted path can be continued. CoordSystem SMC_COORD_SYSTEM The coordinate system in which the position has been stored. MovementId SMC_Movement_Id The movemnet Id corresponding to the interrupt position