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
SMC_SetDynCoordTransformEx (FB) ¶ FUNCTION_BLOCK SMC_SetDynCoordTransformEx This FB sets a dynamic product coordinate system (PCS). A movement commanded in this dynamic PCS will automatically “track” this coordinate system. Simple examples are PCS that are fixed to a conveyor belt or a rotary table. This FB may be called with a new rising edge on Execute only after the configured dynamic coordinate system is no longer in use by any movement, otherwise error SMC_AXIS_GROUP_PCS_STILL_IN_USE will be returned. See output InUse . Note For special cases of a dynamic PCS, the function blocks, MC_SetDynCoordTransform , MC_TrackConveyorBelt and MC_TrackRotaryTable can be used. This FB does not start a movement (administrative FB). The movement is initiated by a command in the defined PCS. The PCS is defined in world coordinates, i.e. dynPCS returns the current pose of the PCS relative to the WCS. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axis Input Execute BOOL Sets the coordinate transformation on rising edge dynPCS SMRB.ICoordinateSystem The dynamic coordinate transformation. It returns the current pose of the PCS relative to the WCS. The FB that implements SMC_IDynamicCS shall not be changed as long as it is used by active or upcoming movements. (See output InUse .) CoordSystem SMC_COORD_SYSTEM Which PCS is to be set (PCS_1 or PCS_2) StrInstancePath STRING The instance path for error logging (if not set StrInstancePath adopts the instance path of this FB) Output Done BOOL The transformation has been set successfully Busy BOOL The FB is not finished InUse BOOL Signals that the axis group still needs the referenced dynamic coordinate system. A new rising edge of Execute will lead to the error SMC_AXIS_GROUP_PCS_STILL_IN_USE . For this information to be up-to-date, the function block has to be called continuously (even if already Done ). A dynamic coordinate system becomes InUse when a movement to a position in the coordinate system is commanded. It remains InUse until the target position of a movement to a different coordinate system has been reached. Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
GeoPrimLineAS_CreateI (FUN) ¶ FUNCTION GeoPrimLineAS_CreateI : BOOL 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 fToolOffset SM3M.SMC_Frame Tool Offset Input trf TRAFO.MC_KIN_REF_SM3 Return GeoPrimLineAS_CreateI BOOL Output fLength LREAL
SMC_GroupInterruptAt (FB) ¶ FUNCTION_BLOCK SMC_GroupInterruptAt This is a variant of MC_GroupInterrupt . While MC_GroupInterrupt interrupts the on-going motion immediately, this function block allows specifying the exact position on the path where the motion shall be interrupted. Note The position on the path has to be known, i.e. the movement that shall be interrupted has to already be commanded before this function block is executed. Otherwise, an error will be reported. This function block does not reverse on the path. If it is not possible to reach the specified position without a reversal, the on-going motion is interrupted at the nearest possible position. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axis continueData SMC_AXIS_GROUP_CONTINUE_DATA Written when getting Done Input Execute BOOL A rising edge starts the function block. Position SMC_GroupInterruptPosition The position where the ongoing motion shall be interrupted. Output Done BOOL Zero velocity reached Busy BOOL The FB is not finished Interrupting BOOL Signals that the FB is currently interrupting CommandAborted BOOL Command is aborted by another command Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification mvtIdInterruptPosition SMC_Movement_Id Movemnet Id corresponding to the interrupt position
TextListForCombobox_SMC_READ_TOOL_MODE (Text List) ¶
TextListForCombobox_SMC_TriggerPositionType (Text List) ¶
Linear ¶ GeoPrimLinear_Create (Function) GeoPrimLinear_Eval (Function) GeoPrimLinear_EvalDerivs (Function) GeoPrimLinear_GetEndPos (Function) GeoPrimLinear_GetStartPos (Function) GeoPrimLinear_Serialize (Function)
File and Project Information ¶ Scope Name Type Content FileHeader creationDateTime date 26.07.2024, 12:05:05 companyName string 3S-Smart Software Solutions GmbH libraryFile SM3_Robotics_Visu.library primaryProject True productName CODESYS productProfile CODESYS V3.5 SP16 Patch 3 contentFile SM3_Robotics_Visu.clean.json version version 2.0.0.0 ProjectInformation IsEndUserLibrary bool False Released True LastModificationDateTime date 26.07.2024, 12:04:46 LibraryCategories library-category-list Intern|SoftMotion Author string CODESYS Development GmbH Company CODESYS CompiledLibraryCompatibilityVersion CODESYS V3.5 SP15 DefaultNamespace SM3_Robotics_Visu Description See: Description DocFormat reStructuredText Placeholder SM3_Robotics_Visu Project SM3_Robotics_Visu Title SM3_Robotics_Visu Version version 4.17.0.0