SMC_DynLoad (STRUCT) ¶ TYPE SMC_DynLoad : STRUCT InOut: Name Type Comment PrincipalAxes MC_COORD_REF The principal axes of inertia, relative to the TCS. [X] = [Y] = [Z] = u [A] = [B] = [C] = ° PrincipalMoments ARRAY [0..2] OF LREAL The principal moments of inertia in kg*u². Mass LREAL The mass in kg.
GeoPrimLine_Serialize (FUN) ¶ FUNCTION GeoPrimLine_Serialize : BOOL InOut: Scope Name Type Return GeoPrimLine_Serialize BOOL Input stream SM0.IOutStream Inout Const l GeoPrimLine
SMC_GroupPower (FB) ¶ FUNCTION_BLOCK SMC_GroupPower Allows to power up all axes of a group. Calling this function block will simply call MC_Power for all axes of the group. This function block is not tied to the state of the axis group, and it does not influence the state of the axis group. It can, for example, be called while the axis group is still in state GroupDisabled . After the output Status becomes TRUE , the group state will still be GroupDisabled . InOut: Scope Name Type Comment Inout AxisGroup Axis_Group_Ref_SM3 Input Enable BOOL Set Enable to TRUE to enable execution of the function block bRegulatorOn BOOL Set bRegulatorOn to TRUE to enable the power stage bDriveStart BOOL Set bDriveStart to TRUE to disable the quickstop mechanism Output Status BOOL TRUE if axis is ready to move Busy BOOL TRUE if execution of the function block is not finished Error BOOL Signals an error occurred within the function block during execution ErrorID SMC_ERROR Error identification
SMC_GroupReadTool (FB) ¶ FUNCTION_BLOCK SMC_GroupReadTool This FB is used to read the tool offset. 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 ReadMode SMC_READ_TOOL_MODE Optional read mode. By default the last set tool offset of the axis group is read. Output ToolOffset MC_COORD_REF The read tool offset Done BOOL The tool offset has been read Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
SMC_GroupSaveContinueData (FB) ¶ FUNCTION_BLOCK SMC_GroupSaveContinueData This function block is used to save the continue data. The continue data holds all necessary information to continue the movement later on. This includes any buffered or blending movements that have been commanded. The function block might need multiple cycles of the bus task in order to save the continue data. During saving ( Busy is TRUE ) the function block has to be called in every cycle. Otherwise, an error will be reported. Once Done is TRUE , the continue data can be used with MC_GroupContinue . The function block will return an error if the axis group is in state Disabled or ErrorStop . Note Only one instance of this function block may be active for one axis group at the same time. The continue position is the current position of the axis group in the cycle with the rising edge of Execute . See also SMC_GroupGetContinuePosition . The function block will save the state of the axis group at the end of the cycle with a rising edge of Execute . This means that that e.g. movements that are commanded in the same cycle but after the call of this function block with Execute = TRUE will be part of the continue data. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes continueData SMC_AXIS_GROUP_CONTINUE_DATA The continue data that can be used with MC_GroupContinue in order to continue from the current position later on. Input Execute BOOL Executes the FB at the rising edge Output Busy BOOL The FB is not finished Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification Done BOOL The continue data has been saved
SMC_TRIGGER_STATUS (ENUM) ¶ TYPE SMC_TRIGGER_STATUS : The status of a trigger. Attributes: qualified_only InOut: Name Comment Unknown The trigger is unknown, either because it never existed or because it no longer exists. Enabled The trigger is enabled, has not yet been reached, and the trigger time is still unknown. Active The trigger is active and the trigger time can be checked. Error An error occurred while processing the trigger.
SMC_TriggerPosition (UNION) ¶ TYPE SMC_TriggerPosition : UNION Defines a trigger position. InOut: Name Type Comment MvtPosition LREAL The relative or absolute position, only defined if SMC_TriggerPositionType is MvtRelative or MvtDistance. Plane SMC_TriggerPosition_Plane The plane of intersection, only defined if SMC_TriggerPositionType is PlaneIntersection.
SMC_TriggerPositionType (ENUM) ¶ TYPE SMC_TriggerPositionType : The possible ways to define a trigger position on a movement. Attributes: qualified_only InOut: Name Comment MvtRelative Defines a relative position on the movement. It has to have a value between -1.0 and 1.0. Other values lead to an error. The value 0.0 is the start of the movement, 1.0 is the end of the movement. Negative values are relative to the end of the movement, i.e. -0.1 is the same position as +0.9. MvtDistance Defines a distance in user units on the movement. Positive values represent a distance from the start of the movement, negative values a distance from the end of the movement. If any coordinate system of the movement is dynamic, all coordinate systems must be the same. Otherwise, SMC_GroupPrepareTrigger reports an error. Only assignable to CP movements. If the commanded movement is a PTP movement, SMC_GroupPrepareTrigger reports an error. PlaneIntersection Defines a trigger position as the intersection of a movement with a plane. See SMC_TriggerPosition_Plane . If there is no intersection, an error is reported by SMC_GroupReadTrigger . If there is more than one intersection, the first intersection is used as the trigger position. (This also includes the case of infinitely many intersections, for example if the movement is a line that is inside the plane.) If any coordinate system of the movement is dynamic, all coordinate systems must be the same, including the one in which the plane is defined. Otherwise, SMC_GroupPrepareTrigger reports an error. Only assignable to CP movements. If the commanded movement is a PTP movement, SMC_GroupPrepareTrigger reports an error.
SMC_TriggerPosition_Plane (STRUCT) ¶ TYPE SMC_TriggerPosition_Plane : STRUCT Defines a plane. The plane is defined as the set of all vectors v with <v, NormalVector> = Distance, where <,> is the standard scalar product. InOut: Name Type Comment NormalVector SMC_VECTOR3D The normal vector of the plane, must be a unit vector. Distance LREAL The distance of the plane to the origin. Must be non- negative. CoordSystem SMC_COORD_SYSTEM The coordinate system in which the normal vector is defined. Must be a cartesian coordinate system. The TCS (tool coordinate system) is not supported. If the movement is defined in a dynamic coordinate system, then this coordinate system must be identical to the coordinate system of the start and target position of the movement. Note that the coordinate system is evaluated when the movement of this trigger is commanded. For example, say PCS_1 is changed between the call of SMC_GroupPrepareTrigger and the call of the movement function block. Then the trigger plane is evaluated in the changed coordinate system.
GeoPrimLineAS_EvalAxisDerivs (FUN) ¶ FUNCTION GeoPrimLineAS_EvalAxisDerivs : BOOL InOut: Scope Name Type Inout errCtx SMRE.ErrorContext Inout Const ef ElemFun aRef TRAFO.AXISPOS_REF Inout u SMRB.DynVState Input x LREAL t LREAL bApplyARef BOOL Return GeoPrimLineAS_EvalAxisDerivs BOOL