MC_AccelerationProfile (FB) ¶ FUNCTION_BLOCK MC_AccelerationProfile This function block is designed for commanding a time-acceleration locked motion profile. Note If Axis does not reach standstill after this movement and no subsequent movement is commanded in the same cycle when Done is set, then Axis switches to the errorstop state and reports error SMC_MOVING_WITHOUT_ACTIVE_MOVEMENT . Warning MC_MoveSuperimposed is not supported on top of MC_AccelerationProfile . Forecasts that are set up by SMC_SetForecast are not supported. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis TimeAcceleration MC_TA_REF Reference to time/acceleration description Input Execute BOOL Rising edge: Starts the execution of the function block. ArraySize INT Dimension of the array AccelerationScale LREAL 1 Overall acceleration scaling factor Offset LREAL Overall acceleration offset ([u/s²]) Output Done BOOL TRUE : Profile has been completed. Busy BOOL TRUE : Execution of the function block has not been finished. CommandAborted BOOL TRUE : The command has been aborted by another command. Error BOOL TRUE : Error has occurred within the function block. ErrorID SMC_ERROR Error identification
MC_Halt (FB) ¶ FUNCTION_BLOCK MC_Halt This function block stops the referenced axis in a controlled manner. If actions of other function blocks are running at this time, the actions are aborted. The axis enters the discrete_motion state until the velocity 0 is reached. If the Done output of MC_Halt is set, the state of the axis changes to standstill . As long as MC_Halt is active, a new motion command can be issued that interrupts the execution of MC_Halt . Unlike MC_Stop , MC_Halt can also be overwritten. Note Overwriting the execution of MC_Halt A driverless vehicle detects an obstacle and is stopped with MC_Halt . The obstacle is removed before the vehicle comes to a standstill . By issuing a new motion command, MC_Halt is aborted and the trip is resumed without having come to a standstill . InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input Execute BOOL FALSE TRUE : Starts execution. Deceleration LREAL 0 Modulo value of the deceleration in [u/s²]. Jerk LREAL 0 Jerk in [u/s³] Output Done BOOL FALSE TRUE : Velocity 0 has been achieved. Busy BOOL FALSE TRUE : Function block is in operation. CommandAborted BOOL FALSE TRUE : Execution has been interrupted by another function block instance operating on the axis. Error BOOL FALSE TRUE : Error has occurred. ErrorID SMC_ERROR 0 Error identification
MC_HaltSuperImposed (FB) ¶ FUNCTION_BLOCK FINAL MC_HaltSuperImposed Halts any superimposed movement of the axis. The underlying movement is not aborted. The function block MC_HaltSuperImposed must be called after the function block of the original movement. If a movement command is called after MC_HaltSuperImposed , the error SMC_MSI_INVALID_EXECUTION_ORDER is returned. An active instance of MC_HaltSuperImposed can be aborted by a second instance of MC_HaltSuperImposed . An active instance can also be aborted by the same instance when it is called with a new rising edge on the input Execute . If no superimposed movement is active when this function block is called, it reports done in immediately. The Deceleration and Jerk inputs are additional values (not absolute values), which are added to the original movement. The original function block will always complete its movement within the same duration and with no consideration for any instance of MC_HaltSuperImposed acting at the same time. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Reference to the axis Input Execute BOOL A rising edge starts the function block. Deceleration LREAL Maximum deceleration of the superimposed movement Jerk LREAL Maximum jerk of the superimposed movement Output Done BOOL TRUE : Superimposed movement has been halted. Busy BOOL TRUE : Function block is in operation. CommandAborted BOOL TRUE : Execution has been interrupted by another function block instance operating on Axis . Error BOOL TRUE : Error has occurred. ErrorID SMC_ERROR Error identification
MC_Home (FB) ¶ FUNCTION_BLOCK MC_Home MC_Home causes the axis to perform the “search home” sequence. The details of this sequence are manufacturer dependent and can be set by the axis parameters. The Position input is used to set the absolute position when a reference signal is detected. The function block terminates with standstill . 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 Execute BOOL Rising edge: Starts the execution of the function block. Position LREAL Absolute position when the reference signal is detected [u]. Output Done BOOL TRUE : standstill has been achieved. Busy BOOL TRUE : Execution of function block has not been finished. CommandAborted BOOL TRUE : Command has been aborted by another command. Error BOOL TRUE : Error has occurred within the function block. ErrorID SMC_ERROR Error identification
MC_Jog (FB) ¶ FUNCTION_BLOCK MC_Jog MC_Jog causes a continuous motion on the axis. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Reference to axis Input JogForward BOOL TRUE : Axis is moved with the specified dynamic values Velocity , Acceleration , Deceleration and Jerk in a positive direction. No motion is executed if JogBackward is TRUE at the same time. JogBackward BOOL TRUE : Axis is moved with the specified dynamic values Velocity , Acceleration , Deceleration and Jerk in a negative direction. No motion is executed if JogForward is TRUE at the same time. Velocity LREAL Velocity in [u/s] Acceleration LREAL Acceleration in [u/s²] Deceleration LREAL Deceleration in [u/s²] Jerk LREAL Jerk in [u/s³] Output Busy BOOL FALSE TRUE : Function block is in operation during an active motion after JogForward or JogBackward has been set. FALSE : Axis has been decelerated to velocity value zero after JogForward or JogBackward has been set to FALSE . CommandAborted BOOL FALSE TRUE : Execution is interrupted by another function block instance operating on Axis . CommandAborted remains set as long as JogForward or JogBackward has been set but for at least one cycle`. Error BOOL TRUE : Error has occurred while JogForward or JogBackward has been set for at least one cycle. ErrorId SMC_Error Error identification
SMC3_BrakeStatus (FB) ¶ FUNCTION_BLOCK SMC3_BrakeStatus This function block reads the current status of a mechanical brake (if the brake is opened or closed). InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL FALSE TRUE : Activates FB, else inactive. Output bValid BOOL TRUE : At least one value since enabling has been received. bBusy BOOL TRUE : FB is not idle. bError BOOL FALSE TRUE : Error has occured within the function block. nErrorID SMC_ERROR 0 Error identification bBrakeClosed BOOL TRUE : Brake is closed.
SMC_AxisDiagnosticLog (FB) ¶ FUNCTION_BLOCK SMC_AxisDiagnosticLog This function block is designed for writing cyclically a set of parameter values belonging to one axis to a file. This output file is ideal for diagnosis purposes. As the writing of data on a data medium usually needs some time, this module stores the collected data in a buffer of size 10 kByte and the data will not be written until module action WriteToFile is called. This action call should be placed in a slower (ca. 50 ms) task of lower priority, in order to prevent the actual motion task as well as the motion itself from being disturbed. As soon as the buffer is exceeded, the module will create an error output. InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input bExecute BOOL Rising edge: Starts the execution of the function block. bCloseFile BOOL The module closes the file as soon as this input gets TRUE. sFileName STRING(255) File name (preceded by path). bSetPosition BOOL TRUE : The associated value of the axis to be written to the file. bActPosition BOOL TRUE : The associated value of the axis to be written to the file. bSetVelocity BOOL TRUE : The associated value of the axis to be written to the file. bActVelocity BOOL TRUE : The associated value of the axis to be written to the file. bSetAcceleration BOOL TRUE : The associated value of the axis to be written to the file. bActAcceleration BOOL TRUE : The associated value of the axis to be written to the file. bySeparatorChar BYTE 9 ASCII-Code of the letter, which is to be written between two values of same date. sRecordSeparatorString STRING(3) ‘$R$N’ String to be written at the end of a date. eMode SMC_LOGGERMODE LOG_CONTINUOUS LOG_CONTINUOUS : Continuous logging into file. LOG_AT_CLOSE : Continuous logging into buffer (10kByte). When bCloseFile is set, the buffer content is written to file. Output bDone BOOL TRUE : Logging has been terminated and file is closed. bBusy BOOL FALSE TRUE : Execution of function block has not been finished. bError BOOL TRUE : Error has occurred within the function block. ErrorID SMC_ERROR Error identification bRecording BOOL FALSE TRUE : Module records. Structure: WriteToFile (Action)
SMC_CheckAxisCommunication (FB) ¶ FUNCTION_BLOCK SMC_CheckAxisCommunication Returns the current communication state of an axis. InOut: Scope Name Type Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL TRUE : Starts the check Output bValid BOOL TRUE : The outputs are valid bError BOOL TRUE : Error has occurred. eErrorID SMC_ERROR Error identification bOperational BOOL TRUE : The communication state is operational (100). eComState SMC_CommunicationState The communication state, abstracted as an enumeration. wComState WORD The raw value of parameter 1013 ( wCommunicationState )
SMC_CheckLimits (FB) ¶ FUNCTION_BLOCK SMC_CheckLimits This function block may be employed for checking whether the current set points of the drive exceed the maximum values configured in the controller. The result of the check will be indicated by output bLimitsExceeded . InOut: Scope Name Type Initial Comment Inout Axis AXIS_REF_SM3 Input bEnable BOOL TRUE : Starts the execution of function block. bCheckVel BOOL TRUE TRUE : Checks the velocity. bCheckAccDec BOOL FALSE TRUE : Checks the set acceleration and the set deceleration. Output bBusy BOOL TRUE : Execution of function block has nor been finished yet. bError BOOL TRUE : Error has occurred within the function block. iErrorID SMC_ERROR Error identification bLimitsExceeded BOOL TRUE : The current set points exceed the limits which are defined within the PLC configuration and stored within AXIS_REF_SM3 ( fSWMaxVelocity , fSWMaxAcceleration or fSWMaxDeceleration ).
SMC_GetMaxSetAccDec (FB) ¶ FUNCTION_BLOCK SMC_GetMaxSetAccDec This function block may be employed to measure the maximum absolute value of acceleration (or deceleration) 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 function block. dwTimeStamp DWORD Optional time stamp input; can be used to find out when the maximum has occured. Output bValid BOOL FALSE TRUE : Parameter is available. bBusy BOOL TRUE : Execution of the function block has not been finished. fMaxAcceleration LREAL 0 Maximum acceleration in [u/s²] dwTimeAtMax DWORD 0 Maximum value of dwTimeStamp