SMC_TRIGGER_INFO (STRUCT) ¶ TYPE SMC_TRIGGER_INFO : STRUCT This structure collects all information about a trigger that can be read using SMC_GroupReadTrigger . InOut: Name Type Comment status SMC_TRIGGER_STATUS The status of the trigger. Note A trigger can be Enabled or Active even if the movement it is attached to is already Done . This can happen if the trigger is close to the end of a movement and the movement is followed by a blending movement. The first movement will report Done as soon as the blending starts. But the trigger will be Enabled or Active until the trigger point has been reached. movementId SMC_MOVEMENT_ID The id of the movement the trigger is assigned to. triggerTime LREAL The duration in seconds until the trigger point is reached. The value is relative to the start of the current task cycle. Only valid if status is Active . The value of the triggerTime is limited to the current effective planning forecast. The desired forecast can be configured using the fPlanningForecastDuration input of SMC_TuneCPKernel . The current effective planning forecast can be monitored using the CurrentPlanningForecast output of MC_GroupReadStatus . If no planning forecast has been configured, i.e. if fPlanningForecastDuration is set to 0, the trigger will become Active at the start of the cycle where the trigger point will be reached and the triggerTime will contain the remaining duration until the trigger point is reached. errorId SMC_ERROR The specific error code if status is Error .
GeoPrimLineAS_EvalAxesOrigStartEnd (FUN) ¶ FUNCTION GeoPrimLineAS_EvalAxesOrigStartEnd : BOOL InOut: Scope Name Type Inout errCtx SMRE.ErrorContext Inout Const ef ElemFun Inout vS SM3M.SMC_Vec vD SM3M.SMC_Vec Input t LREAL Return GeoPrimLineAS_EvalAxesOrigStartEnd BOOL
SMC_GroupSetLoad (FB) ¶ FUNCTION_BLOCK SMC_GroupSetLoad This function block allows to set a Load , consisting of mass and inertia, that is connected to the TCP of the axis group. The load could be a tool that is attached to the flange or an object that has been picked up by the machine. A dynamic model for the machine must have been configured before using this function block. See SMC_GroupSetDynamics . Note A new Load replaces a previously set load. An object that is picked up by a tool can be modeled by combining the load for the object and the load for the tool. The load is always represented in the current TCS, relative to the current TCP. Note that setting a tool using SMC_GroupSetTool changes the TCP and the TCS. This means in particular that the representation for the load for a tool is different depending on whether the load is set before or after the tool. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Execute BOOL Executes the FB at the rising edge. Load SMC_DynLoad The load to be set, represented in the TCS. ExecutionMode MC_EXECUTION_MODE Specifies when the load should be adopted. Output Done BOOL The defined load has been added to the axisgroup Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
LineAS ¶ GeoPrimLineAS_Create (Function) GeoPrimLineAS_CreateExt (Function) GeoPrimLineAS_CreateI (Function) GeoPrimLineAS_CreateI_Ext (Function) GeoPrimLineAS_Eval (Function) GeoPrimLineAS_EvalAxes (Function) GeoPrimLineAS_EvalAxesOrigStartEnd (Function) GeoPrimLineAS_EvalAxisDerivs (Function) GeoPrimLineAS_GetOrigEndPos (Function) GeoPrimLineAS_GetOrigStartPos (Function) GeoPrimLineAS_Serialize (Function)
SMC_GroupSetPathTolerance (FB) ¶ FUNCTION_BLOCK SMC_GroupSetPathTolerance Sets the path tolerance that is used for new movements. The path tolerance determines how far the axis group may deviate from the programmed path before it goes to state GroupError. It is useful to allow for some tolerance in tracking applications, because an unforseen movement of the tracked object (e.g. the conveyor belt) may lead to a deviation from the programmed path. The path tolerance of the axis group is only changed by this function block. It is not affected by MC_GroupContinue , MC_GroupEnable , MC_GroupDisable , or other function blocks that operate on the axis group. Note The path tolerance does not take effect immediately, but only with the next commanded movement. In the case that the last commanded movement was a tracking movement, when this movement finishes, then the axis group will continue to follow the tracked coordinate system (e.g. a conveyor belt). During this tracking, the path tolerances of the finished movement will be used, not the path tolerances set afterwards by this function block. In order to change the used path tolerances, it is possible to command a new tracking movement with target position equal to the target position of the previous movement. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Execute BOOL Executes the FB at the rising edge MaxPositionLag LREAL The maximum allowed position lag of the TCP in technical units [u]. Must not be negative. MaxOrientationLag LREAL The maximum allowed orientation lag of the TCP in angular degrees [deg]. Must not be negative. MaxAxisLag TRAFO.AXISPOS_REF The maximum allowed position lag of each axis in the units of the respective axis. No value may be negative. Output Done BOOL The tolerance has been applied to the axisgroup and will be effective for new movements. Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
SMC_GroupSetTool (FB) ¶ FUNCTION_BLOCK SMC_GroupSetTool This function block is used to configure a new tool. A tool is described by the tool offset from the flange position and the tool orientation relative to the flange coordinate system. The new tool is considered for all movements commanded after the call to this function block. Please note that not all tool offsets are compatible with all kinematics. If the kinematic does not support the given tool offset, an error is returned. If the tool is changed between two movements, then blending between the movements is not supported. The second movement is treated as a buffered movement in this case. A tool change before a circular movement ( MC_MoveCircularAbsolute or MC_MoveCircularRelative ), is only supported if the coordinate system of the start- and end-position of the circular movement is static. (I.e. no tracking is done.) Note: The tool cannot be changed in state ErrorStop or Disabled. Hint If you configure a new tool offset after MC_GroupInterrupt and before MC_GroupContinue , then the old tool offset is used for the interrupted movements. The new tool offset is used only for movements that are commanded afterwards. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Execute BOOL Executes the FB at the rising edge ToolOffset MC_COORD_REF Tool offset Output Done BOOL The defined tool offset has been added to the axisgroup Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
SMC_GroupSetUnits (FB) ¶ FUNCTION_BLOCK SMC_GroupSetUnits This function block allows setting conversion factors from user units to SI units. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Execute BOOL Executes the FB at the rising edge. Units SMC_GroupUnits The unit conversion factors to be set. Output Done BOOL The conversion factors have been set. Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
GeoPrimLineAS_Create (FUN) ¶ FUNCTION GeoPrimLineAS_Create InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext ef ElemFun traces ElemFunTraces Inout Const vS SM3M.SMC_Vec the start-position of the axes vD SM3M.SMC_Vec the end-position of the axes
MC_RemoveAxisFromGroup (FB) ¶ FUNCTION_BLOCK MC_RemoveAxisFromGroup This function block removes one axis from an axis group. If the state of the axis group is not GroupDisabled , an error is created and the axis is not removed from the group. This is an administrative FB, since no movement is generated. The command cannot be buffered. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Axis AXIS_REF_SM3 Reference to the axis to be removed Input Execute BOOL Start the removal process at the rising edge Output Done BOOL The axis has been removed 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_UngroupAllAxes (FB) ¶ FUNCTION_BLOCK MC_UngroupAllAxes This function block removes all axes from an axis group. If the state of the axis group is not GroupDisabled , an error is created and the axes are not removed from the group. This is an administrative FB, since no movement is generated. The command cannot be buffered. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Execute BOOL Start the removal process at the rising edge Output Done BOOL The axis has been removed Busy BOOL The FB is not finished Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification