SML_Ramptype (ENUM) ¶ TYPE SML_Ramptype : The possible velocity ramp types for motion profiles. InOut: Name Initial Comment SML_RT_Trapez 0 Trapezoidal velocity ramp SML_RT_Sin2 1 sin^2 velocity ramp
GlobalTextList (Text List) ¶
Library Information ¶ GetLibVersion (Function) GetLibVersionNumber (Function) IsLibReleased (Function)
GetLibVersion (FUN) ¶ FUNCTION GetLibVersion : VERSION This function has been automatically generated from the project information. InOut: Scope Name Type Return GetLibVersion VERSION
GetLibVersionNumber (FUN) ¶ FUNCTION GetLibVersionNumber : DWORD This function has been automatically generated from the project information. InOut: Scope Name Type Return GetLibVersionNumber DWORD
IsLibReleased (FUN) ¶ FUNCTION IsLibReleased : BOOL This function has been automatically generated from the project information. InOut: Scope Name Type Return IsLibReleased BOOL
PLCopen ¶ Function blocks according to PLCopen for Motion Control. MC_Halt_SML (FunctionBlock) MC_Home_SML (FunctionBlock) MC_MoveAbsolute_SML (FunctionBlock) MC_MoveRelative_SML (FunctionBlock) MC_MoveVelocity_SML (FunctionBlock) MC_Power_SML (FunctionBlock) MC_ReadBoolParameter_SML (FunctionBlock) MC_ReadParameter_SML (FunctionBlock) MC_ReadStatus_SML (FunctionBlock) MC_Reset_SML (FunctionBlock) MC_Stop_SML (FunctionBlock) MC_WriteBoolParameter_SML (FunctionBlock) MC_WriteParameter_SML (FunctionBlock)
MC_Halt_SML (FB) ¶ FUNCTION_BLOCK FINAL MC_Halt_SML Commands a controlled motion stop. The axis is moved to the state DiscreteMotion , until the velocity is zero. When the output Done is set, the state is transferred to Standstill . Note MC_Halt_SML is used to stop the axis under normal operation conditions. It is possible to start another motion command during deceleration of the axis, which will abort MC_Halt_SML and will be executed immediately. The example below shows the behavior in combination with MC_MoveVelocity_SML . A rotating axis is ramped down with Function Block MC_Halt_SML Another motion command overrides the MC_Halt_SML command. MC_Halt_SML allows this, in contrast to MC_Stop_SML . The axis can accelerate again without reaching Standstill . InOut: Scope Name Type Comment Inout Axis Axis_REF_SML Reference to the axis Input Execute BOOL Rising edeg: The halt is started Deceleration LREAL Value of the deceleration (decreasing energy of the motor) [u/s²] Output Done BOOL Becomes true as soon as the axis has reached velocity zero Busy BOOL TRUE as long as MC_Halt_SML is operating, reset when velocity is zero CommandAborted BOOL Commanded motion was interrupted by any motion FB acting on the same axis Error BOOL Signals that an error has occured ErrorID SML_ERROR Error number
MC_Home_SML (FB) ¶ FUNCTION_BLOCK FINAL MC_Home_SML Commands the axis to perform the «search home» sequence. The details of this sequence are manufacturer specific and can be set by the axis’ parameters. The ‘Position’ input is used to set the absolute position when the reference signal is detected. After completion, the axis state is Standstill if it was Standstill when started. InOut: Scope Name Type Comment Inout Axis Axis_REF_SML Reference to the axis Input Execute BOOL Rising edge: The homing is started Position LREAL Absolute position when the reference signal is detected (in technical units [u]) Output Done BOOL Reference known and set successfully Busy BOOL Homing is not finished and new output values are to be expected CommandAborted BOOL Homing was aborted by a motion command acting on the same axis Error BOOL Signals that an error has occured ErrorID SML_ERROR Error number
MC_MoveAbsolute_SML (FB) ¶ FUNCTION_BLOCK FINAL MC_MoveAbsolute_SML Commands a controlled motion to a specified absolute position. Note The motion completes with velocity zero. For modulo axes, it is drive dependent which modulo period is selected for the final position. The following figure shows two examples of the combination of two instances of MC_MoveAbsolute_SML : The left part of the timing diagram illustrates the case if the second FB is called after the first one. If the first reaches the commanded position of 6000 (and the velocity is 0), then the output Done causes the second FB to move to position 10000. The right part of the timing diagram illustrates the case if the second FB starts the execution while the first FB is still executing. In this case the first motion is interrupted and aborted by the Test signal during the constant velocity phase of the first FB. The second FB moves directly to position 10000, although the position of 6000 is not reached yet. InOut: Scope Name Type Comment Inout Axis Axis_REF_SML Reference to the axis Input Execute BOOL Rising edge: The motion is started Position LREAL Commanded position for the motion (may be negative) (in technical units [u]) Velocity LREAL Value of the maximum velocity (always positive) (not necessarily reached) [u/s] Acceleration LREAL Value of the acceleration (always positive) (increasing energy of the motor) [u/s²] Deceleration LREAL Value of the deceleration (always positive) (decreasing energy of the motor) [u/s²] Output Done BOOL Commanded position reached Busy BOOL The motion is not finished and new output values are to be expected CommandAborted BOOL The motion was interrupted by a motion command acting on the same axis Error BOOL Signals that an error has occured ErrorID SML_ERROR Error number