SMC_GetForecast (FB) ¶ FUNCTION_BLOCK SMC_GetForecast This function block returns the forecast duration of a given axis. The forecast duration can be set using SMC_SetForecast . InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Reference to the axis Input Enable BOOL TRUE : The forecast is read continuously Output Valid BOOL TRUE : The forecast has been read successfully Busy BOOL TRUE : Function block is in operation Error BOOL TRUE : Error has occurred during execution ErrorID SMC_ERROR Error identification ForecastDuration LREAL The forecast duration in seconds
SMC_SetSoftwareLimits (FB) ¶ FUNCTION_BLOCK SMC_SetSoftwareLimits Sets the position limits and the corresponding error reaction of an axis. If the axis is used in the context of coordinated motion, the corresponding axis group has to be reenabled in order to take into account the new limits for coordinated motion computations. Note The effective error deceleration is the maximum of the configured maximum deceleration of the axis, the value of SWL_Error_Deceleration , and the value derived from SWL_Error_MaxDistance and the current velocity. ( SWL_Error_MaxDistance is only taken into account if the value is positive.) InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Axis to change Input bExecute BOOL Rising edge: Rising edge: Starts the execution of the function block. Applies the Changes. SWL_Activated BOOL TRUE : Activates the position limits. SWL_Positive LREAL The positive limit switch ([u]) SWL_Negative LREAL The negative limit switch ([u]) SWL_Error_Decelerate BOOL Deprecated, the axis decelerates always if a deceleration is configured ( `SWL_Error_Deceleration , SWL_Error_MaxDistance ) or in the maximum deceleration (see SMC_ChangeDynamicLimits .fMaxDeceleration or drive configuration). SWL_Error_Deceleration LREAL The (positive) deceleration in [u/s²] SWL_Error_MaxDistance LREAL The maximum braking distance in [u], only applied if positive. Output bDone BOOL TRUE : Success bError BOOL TRUE : Error has occured within the function block. ErrorID SMC_ERROR Error identification.
CAM ¶ MC_CamTableSelect (FunctionBlock) SMC_CAMBounds (FunctionBlock) SMC_CAMBounds_Pos (FunctionBlock) SMC_CamEditor (FunctionBlock) DoBeforeLeave (Action) SMC_CamRegister (FunctionBlock) SMC_GetCamSlaveSetPosition (FunctionBlock) SMC_GetTappetValue (FunctionBlock) SMC_ReadCAM (FunctionBlock) CloseFile (Action) SMC_WriteCAM (FunctionBlock) CloseFile (Action)
MC_CamTableSelect (FB) ¶ FUNCTION_BLOCK MC_CamTableSelect This function block is designed for selecting the cam tables by setting connections to relevant tables. Note When the Done output is TRUE , the CamTableID is valid and can be passed to MC_CamIn . The CamTable is not copied. Instead, a reference to the CamTable is passed to MC_CamIn via the CamTableID . Take care that the CamTable is not modified while MC_CamIn is active. InOut: Scope Name Type Initial Comment Inout Master AXIS_REF_SM3 Reference to the master axis Slave AXIS_REF_SM3 Reference to the slave axis CamTable MC_CAM_REF Reference to the cam description Input Execute BOOL FALSE Rising edge: Starts the execution of the function block. Periodic BOOL TRUE TRUE : Periodic FALSE : Non periodic MasterAbsolute BOOL TRUE TRUE : Absolute coordinates, i.e. the zero position of the cam table domain will correspond to the zero position of the master axis. FALSE : Relative coordinates, i.e. the zero position of the cam table domain will correspond to the current position of the master axis. SlaveAbsolute BOOL TRUE TRUE : Absolute coordinates, i.e. the zero position of the cam table codomain will correspond to the zero position of the slave axis. FALSE : Relative coordinates, i.e. the zero position of the cam table codomain will correspond to the current position of the slave axis. Output Done BOOL FALSE TRUE : Preselection has been done. Busy BOOL FALSE TRUE : Execution of function block has not been finished. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification CamTableID MC_CAM_ID Identifier of the cam table be used for the function block.
SMC_CAMBounds (FB) ¶ FUNCTION_BLOCK SMC_CAMBounds This function block calculates the minimum/maximum position and an estimate of the minimum/maximum velocity and acceleration values of the slave being coupled in absolute mode to a master, which is moved according to a prescribed maximum velocity and acceleration/deceleration. This module is especially helpful when a cam disc is created and modified in online mode and the observance of the maximum values have to be checked in advance. Note: The minimum/maximum velocity and acceleration values are estimates of lower/upper bounds which do not necessarily have to be reached. InOut: Scope Name Type Initial Comment Inout CAM MC_CAM_REF Reference to cam Input bExecute BOOL Rising edge: Starts the execution of the function block. dMasterVelMax LREAL 1 Absolute maximum velocity of master dMasterAccMax LREAL 0 Absolute maximum acceleration/deceleration of master dMasterScaling LREAL 1 Scaling factor for master applied to cam dSlaveScaling LREAL 1 Scaling factor for slave applied to cam Output bDone BOOL TRUE : Calculation has been terminated. bBusy BOOL FALSE TRUE : Execution of function block has not been finished. bError BOOL TRUE : Error has occurred within the function block. nErrorID SMC_ERROR Error identification dMaxPos LREAL Maximum slave position value [u]. dMinPos LREAL Minimum slave position value [u]. dMaxVel LREAL Maximum slave velocity value [u/s]. dMinVel LREAL Minimum slave velocity value [u/s]. dMaxAccDec LREAL Maximum slave acceleration/deceleration value [u/s²] dMinAccDec LREAL Minimum slave acceleration/deceleration value [u/s²]
SMC_CAMBounds_Pos (FB) ¶ FUNCTION_BLOCK SMC_CAMBounds_Pos In opposite to SMC_CAMBounds this function block calculates only the maximum and minimum position values of the slave being coupled in absolute mode to a master which is moved according to a prescribed maximum velocity and acceleration/deceleration. This module is especially helpful when a cam disc is created and modified in online mode and the observance of the maximum values have to be checked in advance. InOut: Scope Name Type Initial Comment Inout CAM MC_CAM_REF Reference to cam Input bExecute BOOL Rising edge: Starts the execution of the function block. dMasterVelMax LREAL 1 Absolute maximum velocity of master dMasterAccMax LREAL 0 Absolute maximum acceleration/deceleration`` of master dMasterScaling LREAL 1 Scaling factor for master applied to cam dSlaveScaling LREAL 1 Scaling factor for slave applied to cam Output bDone BOOL TRUE : Calculation has been terminated bBusy BOOL FALSE TRUE : Execution of function block has not been finished yet yet. bError BOOL TRUE : Error has occurred within the function block. nErrorID SMC_ERROR Error identification dMaxPos LREAL Maximum slave position value [u]. dMinPos LREAL Minimum slave position value [u].
SMC_CamEditor (FB) ¶ FUNCTION_BLOCK SMC_CamEditor This function block is used to display cam tables in the visualization. Important This function block does not work without either a TargetVisu or a WebVisu . InOut: Scope Name Type Initial Comment Input bEnable BOOL FALSE : No modification of the cam table is possible. Output bCAMchanged BOOL TRUE : Cam has been changed in the visualization. bError BOOL FALSE TRUE : Error has occurred within the function block. nErrorID SMC_ERROR Error identification Inout cam MC_CAM_REF Structure: DoBeforeLeave (Action)
SMC_FollowVelocity (FB) ¶ FUNCTION_BLOCK SMC_FollowVelocity This function block writes set velocities to the axis without doing any checks. Note This function block does not support forecasts that are set up by SMC_SetForecast . InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bExecute BOOL Rising edge: Starts the execution of the function block. fSetVelocity LREAL Set velocity in technical units per second. Output bBusy BOOL TRUE : Execution of function block has not been finished. bCommandAborted BOOL TRUE : Command has been aborted by another command. bError BOOL TRUE : Error has occurred within the function block. iErrorID SMC_ERROR Error identification
SMC_SetTorque (FB) ¶ FUNCTION_BLOCK SMC_SetTorque This function block applies the given torque to the axis. In controller mode SMC_torque , this is the set torque that the drive will produce. In controller mode SMC_velocity or SMC_position , the torque value can be used by the servo drive to improve the controller loop. The given torque should be the expected torque of the drive. This is also called torque feed forward control. In controller mode SMC_nocontrol , the function block has no effect, no error is reported. By default, the torque is expected to be provided at the motor shaft, not the gear box output. A conversion factor can be set using SMC_SetAdditionalConversionFactors .. Note This function block does not support forecasts that are set up by SMC_SetForecast . InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Reference to axis Input bEnable BOOL TRUE : Enables the execution of the function block. fTorque LREAL Torque in Nm (for rotary motors) or N (for linear motors). Output bBusy BOOL TRUE : Execution of function block has not been finished yet. bError BOOL TRUE : Error has occurred within the function block. nErrorID SMC_ERROR Error identification
SMC_TrackAxis (FB) ¶ FUNCTION_BLOCK SMC_TrackAxis This function block tracks a master axis. The slave axis will try to follow the master as closely as possible while repecting the given maximum velocity, acceleration, deceleration, and jerk. During execution, the axis is in state synchronized_motion . The function block will keep ownership of the axis until it is aborted by another movement. The ownership is kept even if the master is in standstill and the function block is in sync. Note This function block does not support forecasts that are set up by SMC_SetForecast . InOut: Scope Name Type Comment Inout Master AXIS_REF_SM3 Slave AXIS_REF_SM3 Input bExecute BOOL Rising edge: Starts the execution of the function block. Velocity LREAL Maximum velocity in technical units per second [u/s]. Must be positive. This input may change each call. Changes are taken into account continuously, not only on a rising edge of bExecute . Acceleration LREAL Maximum acceleration in [u/s²]. Must be positive. This input may change each call. Changes are taken into account continuously, not only on a rising edge of bExecute . Deceleration LREAL Maximum magnitude of deceleration in [u/s²]. Must be positive. This input may change each call. Changes are taken into account continuously, not only on a rising edge of bExecute . Jerk LREAL Maximum magnitude of jerk in [u/s³]. Must be positive if the axis has a jerk limited velocity profile. This input may change each call. Changes are taken into account continuously, not only on a rising edge of bExecute . Output bBusy BOOL TRUE : Execution of the function block has not been finished. bCommandAborted BOOL TRUE : Command has been aborted by another command. bError BOOL TRUE : Error has occurred within the function block. iErrorID SMC_ERROR Error identification bInSync BOOL Whether the axis is in sync with the given set values.