GeoPrimType (ENUM) ¶ TYPE GeoPrimType : The supported types of geometric primitives Attributes: qualified_only InOut: Name Line Linear Arc LineAS Wait AxisBlending CartBlending
SMC_GroupReadPathAcceleration (FB) ¶ FUNCTION_BLOCK SMC_GroupReadPathAcceleration This function block returns the path acceleration of an axis group. Any position or orientation lag (see PositionLag and OrientationLag outputs of MC_GroupReadStatus ) is ignored. The dynamics are evaluated as if the axis group was following the path exactly. This is an administrative FB, no movement is generated. InOut: Scope Name Type Initial Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Return the path dynamics of the axis group in the selected coordinate system while enabled. CoordSystem SMC_COORD_SYSTEM SMC_COORD_SYSTEM.MCS Coordinate system. Note: for any static coordinate system, the result will be the same. For dynamic coordinate systems, the returned dynamics are relative to this coordinate system and will depend on the movement of the PCS. The coordinate system ACS is not allowed. Source MC_SOURCE MC_SOURCE.SAVE Determines the source on which the path dynamics is based. Note 1: if the set values of the axis group are used ( MC_SOURCE.SET ), then it is recommended to call SMC_GroupUpdate and to update any dynamic coordinate systems before this function block is called. For example, if MC_TrackConveyorBelt is used, then the movement function block of the belt-axis should be called before. TimeOffset LREAL The time offset in seconds when to evaluate the path dynamics. Must be in [0, fPlanningForecastDuration ]. fPlanningForecastDuration can be configured using SMC_TuneCPKernel . For time offsets > 0, the output will only be Valid if the Source is set to MC_SOURCE.SET the TimeOffset does not exceed the CurrentPlanningForecast reported by MC_GroupReadStatus . While MC_GroupHalt or MC_GroupStop are active, valid path dynamics can only be obtained for TimeOffset = 0. 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 PathAcceleration LREAL Path acceleration of the group in the given coordinate system
SMC_GroupReadPathDynamics (FB) ¶ FUNCTION_BLOCK SMC_GroupReadPathDynamics This function block returns the path velocity, acceleration, and jerk of an axis group. Any position or orientation lag (see PositionLag and OrientationLag outputs of MC_GroupReadStatus ) is ignored. The dynamics are evaluated as if the axis group was following the path exactly. This is an administrative FB, no movement is generated. InOut: Scope Name Type Initial Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Return the path dynamics of the axis group in the selected coordinate system while enabled. CoordSystem SMC_COORD_SYSTEM SMC_COORD_SYSTEM.MCS Coordinate system. Note: for any static coordinate system, the result will be the same. For dynamic coordinate systems, the returned dynamics are relative to this coordinate system and will depend on the movement of the PCS. The coordinate system ACS is not allowed. Source MC_SOURCE MC_SOURCE.SAVE Determines the source on which the path dynamics is based. Note 1: if the set values of the axis group are used ( MC_SOURCE.SET ), then it is recommended to call SMC_GroupUpdate and to update any dynamic coordinate systems before this function block is called. For example, if MC_TrackConveyorBelt is used, then the movement function block of the belt-axis should be called before. Note 2: if the actual values of the axis group are used ( MC_SOURCE.ACT ), then the resulting jerk will not be accurate, as we generally don’t have accurate information about the actual jerk of the axes. TimeOffset LREAL The time offset in seconds when to evaluate the path dynamics. Must be in [0, fPlanningForecastDuration ]. fPlanningForecastDuration can be configured using SMC_TuneCPKernel . For time offsets > 0, the output will only be Valid if the Source is set to MC_SOURCE.SET the TimeOffset does not exceed the CurrentPlanningForecast reported by MC_GroupReadStatus . While MC_GroupHalt or MC_GroupStop are active, valid path dynamics can only be obtained for TimeOffset = 0. 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 PathVelocity LREAL Path velocity of the group in the given coordinate system PathAcceleration LREAL Path acceleration of the group in the given coordinate system PathJerk LREAL Path jerk of the group in the given coordinate system
SMC_GroupReadPathVelocity (FB) ¶ FUNCTION_BLOCK SMC_GroupReadPathVelocity This function block returns the path velocity of an axis group. Any position or orientation lag (see PositionLag and OrientationLag outputs of MC_GroupReadStatus ) is ignored. The dynamics are evaluated as if the axis group was following the path exactly. This is an administrative FB, no movement is generated. InOut: Scope Name Type Initial Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Return the path dynamics of the axis group in the selected coordinate system while enabled. CoordSystem SMC_COORD_SYSTEM SMC_COORD_SYSTEM.MCS Coordinate system. Note: for any static coordinate system, the result will be the same. For dynamic coordinate systems, the returned dynamics are relative to this coordinate system and will depend on the movement of the PCS. The coordinate system ACS is not allowed. Source MC_SOURCE MC_SOURCE.SAVE Determines the source on which the path dynamics is based. Note 1: if the set values of the axis group are used ( MC_SOURCE.SET ), then it is recommended to call SMC_GroupUpdate and to update any dynamic coordinate systems before this function block is called. For example, if MC_TrackConveyorBelt is used, then the movement function block of the belt-axis should be called before. TimeOffset LREAL The time offset in seconds when to evaluate the path dynamics. Must be in [0, fPlanningForecastDuration ]. fPlanningForecastDuration can be configured using SMC_TuneCPKernel . For time offsets > 0, the output will only be Valid if the Source is set to MC_SOURCE.SET the TimeOffset does not exceed the CurrentPlanningForecast reported by MC_GroupReadStatus . While MC_GroupHalt or MC_GroupStop are active, valid path dynamics can only be obtained for TimeOffset = 0. 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 PathVelocity LREAL Path velocity of the group in the given coordinate system
GeoPrimType_Serialize (FUN) ¶ FUNCTION GeoPrimType_Serialize : BOOL InOut: Scope Name Type Return GeoPrimType_Serialize BOOL Input stream SM0.IOutStream t GeoPrimType
SMC_GroupReadPlanningStatistics (FB) ¶ FUNCTION_BLOCK SMC_GroupReadPlanningStatistics Administrative FB for reading planning statistics. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL Get the planning statistics 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 numTimeBudgetExceeded UDINT The number of times the time budget for planning was exceeded. Values > 0 indicate performance problems. numSlowDownLowIpoQueue UDINT The number of times the planner added samples from the stop trajectory because the Ipo queue duration is too short. numTimeBudgetNewMovementExceeded UDINT The number of times the time budget for adding new movements was exceeded. Values > 0 indicate performance problems.
SMC_GroupReadPositionInMovement (FB) ¶ FUNCTION_BLOCK SMC_GroupReadPositionInMovement Function block for reading the position in the current movement. The result can be used for preparing a trigger using SMC_GroupPrepareTrigger by setting the PositionType to MvtRelative and the Position.MvtPosition to the Position output of this function block. Note If the position is read while blending between movements, then on the first half of the blending the MovementId and Position will belong to the first movement and on the second half, they will belong to the second movement. This is consistent with how trigger positions are handled when blending, but in contrast to the behavior of the Active outputs of the movement command FBs. The Active output of the second movement will become TRUE as soon as the blending starts. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL The position is read continuously while enabled. Output Valid BOOL TRUE if the Position and MovementId are valid. Busy BOOL The FB is not finished Position LREAL The current position within the current movement. The value is between 0 and 1, where 0 is the start and 1 the end of the movement. MovementId SMC_Movement_Id The id of the current movement. Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
SMC_GroupReadRemainingTrajectoryDuration (FB) ¶ FUNCTION_BLOCK SMC_GroupReadRemainingTrajectoryDuration Function block that enables reading the duration of the current trajectory, until the next standstill is reached. The next standstill position is either before the next buffered movement starts, or at the end of the last movement, whichever comes first. A valid duration can only be read if the remaining duration of the trajectory is within the CurrentPlanningForecast reported by MC_GroupReadStatus . The maximum forecast can be configured by changing fPlanningForecastDuration of SMC_TuneCPKernel . Note The trajectory duration cannot be read while MC_GroupHalt or MC_GroupStop are active. The output Valid is FALSE in this case. The trajectory duration cannot be read while an MC_GroupInterrupt is active or the axis group stops due to SMC_GroupInterruptAt . The output Valid is FALSE in this case. The trajectory duration cannot by read while an MC_GroupSetOverride with VelFactor = 0 or PathVelFactor = 0 is active. The output Valid is FALSE in this case. When the axis group has reached standstill and will not immediately start moving again (e.g. because an SMC_GroupWait is active, or there is no followup movement), the output Valid is FALSE. InOut: Scope Name Type Comment Inout AxisGroup AXIS_GROUP_REF_SM3 Reference to a group of axes Input Enable BOOL The trajectory duration is read continuously while enabled. Output Valid BOOL TRUE if the RemainingDuration and MovementId are valid. Busy BOOL The FB has not finished. RemainingDuration LREAL The remaining duration until the next standstill in seconds. MovementId SMC_Movement_Id The ID of the last movement of the trajectory. Error BOOL Signals that an error has occurred within the function block ErrorID SMC_ERROR Error identification
SMC_GroupReadSetAcceleration (FB) ¶ FUNCTION_BLOCK SMC_GroupReadSetAcceleration This function block returns the current set-acceleration 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 acceleration 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 Acceleration SMC_POS_REF Current acceleration of the group. If a cartesian coordinate system is selected, Acceleration.c contains the cartesian acceleration: (X,Y,Z) is the acceleration vector in u/s², (A,B,C) is the angular acceleration around the x, y, z axis in °/s² .
GeoPrimUnion (UNION) ¶ TYPE GeoPrimUnion : UNION All member of this union have to extend ElemPrimBase! InOut: Name Type base ElemPrimBase line GeoPrimLine linear GeoPrimLinear arc GeoPrimArc lineAS GeoPrimLineAS wait GeoPrimWait ab ElemFunAxisBlending cb ElemFunCartBlending