SMC_GetMaxSetVelocity (FB) ¶ FUNCTION_BLOCK SMC_GetMaxSetVelocity This function block may be employed to measure the maximum value of velocity of an axis. Measuring will be done if bEnable is TRUE , and will be reset to 0, if bEnable is FALSE . With dwTimeStamp you can provide a call counter, which is latched output in dwTimeAtMax with a new maximum value. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL FALSE TRUE : Starts execution of the function block. dwTimeStamp DWORD Optional time stamp input; can be used to find out when the maximum occured. Output bValid BOOL FALSE bBusy BOOL TRUE : Parameter is available. fMaxVelocity LREAL 0 TRUE : Eecution of the function block is not finished yet. dwTimeAtMax DWORD 0 Maximum velocity in [u/s²]
SMC_GetTrackingError (FB) ¶ FUNCTION_BLOCK SMC_GetTrackingError This function block may be employed to measure the current and maximum lag error compensating the dead time, which can arise from the communication via a field bus and will be given in number of cycles ( byDeadTimeCycles ). Similar to SMC_GetMaxSetVelocity a time stamp ( dwTimeStamp ) can be used to measure the time at the maximum. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL FALSE TRUE : Starts execution of the function block. byDeadTimeCycles BYTE 2 Number of dead time cycles dwTimeStamp DWORD Optional time stamp input; can be used to find out when the maximum occured. Output bValid BOOL TRUE : Parameter is available. bBusy BOOL TRUE : Execution of function block has not been finished yet. fActTrackingError LREAL 0 Current lag error fMaxTrackingError LREAL 0 Maximum lag error dwTimeAtMax DWORD 0 Maximum value of dwTimeStamp
SMC_InPosition (FB) ¶ FUNCTION_BLOCK SMC_InPosition This function block monitors the offset between the nominal and actual positions of an axis (drag error). This tests whether the drag error lies within a specified value range for over a defined period of time (position window). When using logical axes, it is possible with the function block to compare a real and a logical axis. This tests whether the logical axis, which is the mapping of a real axis compensated by communication time, is close to the values of the real axis. Instead of the deviation between the nominal and actual positions, the deviation of the actual position of the logical axis is used as the nominal position of the real axis. The function block SMC_InPosition can be used for this test under the following conditions: The motion type must be identical (limited/modulo). In the case of “modulo”, the position period must be the same. Identical offsets must be defined (e.g., set by MC_SetPosition ). If these conditions are not satisfied, then the compared positions will probably never match and therefore there is no point in using the FB. In this case, an error is not issued. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL TRUE : Starts execution of the function block. fPosWindow LREAL The drive is inside the position window, if fPosWindow >= Distance(actual position, set position) [u]. fPosTime LREAL Time that the FB has to stay inside the position window before bInPosition is set [s]. fTimeOut LREAL If the time since enabling the FB is larger than this value and bInPosition is not set, bTimeOut is set; this mechanism is deactivated, if fTimeOut = 0. Output bInPosition BOOL TRUE : Parameter is available. bBusy BOOL TRUE : Execution of the function block is not finished yet. bTimeOut BOOL TRUE : Error has occurred within the function block.
SMC_MeasureDistance (FB) ¶ FUNCTION_BLOCK SMC_MeasureDistance This function block may be employed on a rotary axis to measure the covered distance by regarding the wrap. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bExecute BOOL Output fDistance LREAL bBusy BOOL Travelled distance since start of measurement. bError BOOL TRUE : Execution of the function block has nor been finished yet. nErrorID SMC_ERROR TRUE : Error has occurred within the function block.
SMC_ReadSetPosition (FB) ¶ FUNCTION_BLOCK SMC_ReadSetPosition This function block can be used for reading the currently set position of the drive. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input Enable BOOL FALSE TRUE : Enables the execution of the function block. Output Valid BOOL FALSE TRUE : Parameter is available. Busy BOOL FALSE TRUE : Execution of function block has not been finished yet. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification Position LREAL 0 Position of drive
MC_ReadActualPosition (FB) ¶ FUNCTION_BLOCK MC_ReadActualPosition This function block returns the current position of the referenced axis. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input Enable BOOL FALSE While TRUE , the output value provides the parameter value continuously for reading out. Output Valid BOOL FALSE TRUE : Valid outputs are available. Busy BOOL FALSE TRUE : Execution of the function block has not been finished yet. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification Position LREAL 0 New absolute position (in axis unit [u])
MC_ReadActualTorque (FB) ¶ FUNCTION_BLOCK MC_ReadActualTorque As long as Enable remains TRUE , the function block will return the value of the current torque or force. Valid will be set to TRUE , as soon as data output Torque becomes valid. If Enable is reset, the data will loose its validity and Valid will also be reset regardless of new data available. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input Enable BOOL FALSE While TRUE , the parameter values are read out continuously. Output Valid BOOL FALSE TRUE : Valid outputs are available. Busy BOOL FALSE TRUE : Execution of function block has not been finished yet. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification Torque LREAL 0 Value of current torque (in Nm) or force
MC_ReadActualVelocity (FB) ¶ FUNCTION_BLOCK MC_ReadActualVelocity As long as Enable** remains ``TRUE , the function block will return the value of the current velocity. Valid will be set to TRUE , as soon as data output Velocity becomes valid. If Enable is reset, the data will loose its validity and Valid will also be reset regardless of new data available. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input Enable BOOL FALSE While TRUE , the parameter values are read out continuously. Output Valid BOOL FALSE TRUE : Valid outputs are available. Busy BOOL FALSE TRUE : Execution of function block has not been finished yet. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification Velocity LREAL 0 Value of current velocity (in axis’ unit [u/s])
MC_ReadAxisError (FB) ¶ FUNCTION_BLOCK MC_ReadAxisError This function block reads general axis errors reported by the drive. Additionally it returns information about the software limit switches. It does not return: Errors detected by AXIS_REF_SM3 such as software position lag errors. These errors can be checked with MC_ReadStatus , output ErrorStop . Errors related to specific function blocks. These are reported by the Error / ErrorID outputs of the respective function block. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Reference to the axis Input Enable BOOL While TRUE , the output value updates the parameter value continuously. Output Valid BOOL TRUE : Valid outputs are available. Busy BOOL TRUE : Execution of the function block has not finished yet. Error BOOL TRUE : An error has occurred within the function block. ErrorID SMC_ERROR Error identification AxisError BOOL TRUE : An axis error has occured. This is the value of parameter 1030. AxisErrorID DWORD Drive specific identification of the axis error. This is the value of parameter 1031. SWEndSwitchActive BOOL TRUE : Software limits are exceeded. Only TRUE while the axis is in state errorstop . Reset as soon as the limit switch error has been acknowledged using MC_Reset .
MC_ReadStatus (FB) ¶ FUNCTION_BLOCK MC_ReadStatus This function block returns the detailed status of the axis with respect to the motion currently in progress. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input Enable BOOL FALSE TRUE : While TRUE , the parameter values are read out continuously. Output Valid BOOL FALSE TRUE : Valid outputs are available. Busy BOOL FALSE TRUE : Execution of the function block is not finished. Error BOOL FALSE TRUE : Error has occurred within the function block. ErrorID SMC_ERROR 0 Error identification Disabled BOOL FALSE TRUE : Axis is in state disabled (see SMC_AXIS_STATE ). Errorstop BOOL FALSE TRUE : Axis is in state errorstop (see SMC_AXIS_STATE ). Stopping BOOL FALSE TRUE : Axis is in state stopping (see SMC_AXIS_STATE ). StandStill BOOL FALSE TRUE : Axis is in state standstill (see SMC_AXIS_STATE ). DiscreteMotion BOOL FALSE TRUE : Axis is in state discrete_motion (see SMC_AXIS_STATE ). ContinuousMotion BOOL FALSE TRUE : Axis is in state continuous_motion (see SMC_AXIS_STATE ). SynchronizedMotion BOOL FALSE TRUE : Axis is in state synchronized_motion (see SMC_AXIS_STATE ). Homing BOOL FALSE TRUE : Axis is in state homing (see SMC_AXIS_STATE ). ConstantVelocity BOOL FALSE TRUE : Motor moves with constant velocity. Accelerating BOOL FALSE TRUE : Energy of motor increases. Decelerating BOOL FALSE TRUE : Energy of motor decreases. FBErrorOccured BOOL FALSE TRUE : Function block error has occured. It has not yet been cleared with SMC_ClearFBError .