Axis_REF_SML (FB)

FUNCTION_BLOCK Axis_REF_SML EXTENDS Axis_REF_Base_SML

The Axis_REF_SML function block serves as the interface for all public function blocks that work on the axis. It contains the parameters and other members needed by every Axis_REF implementation.

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

fbeFBError

ARRAY [0..(g_SML_NUMBER_FB_ERRORS - 1)] OF SML_FBERROR

FB error Id numbers, parameter 1035

Axis_REF_Base_SML

nAxisState

SML_AXIS_STATE

The axis state, parameter 1000

eSetOpmode

SML_OPMODE

The set opmode, parameter 2000

eActOpmode

SML_OPMODE

The actual opmode, parameter 2001

bRegulatorOn

BOOL

Regulator (power) on/off, parameter 1010

bDriveStart

BOOL

Deactivate (TRUE) or activate (FALSE) software halt/quickstop, parameter 1011

bCommunication

BOOL

Whether communication is OK, parameter 1012

wCommunicationState

WORD

16#FFFF

The state of the communication state machine, parameter 1013

uiDriveInterfaceError

UINT

Drive interface error number, parameter 1014

strDriveInterfaceError

STRING

bRegulatorRealState

BOOL

Effective state of the power stage of the axis, parameter 1015

bDriveStartRealState

BOOL

Effective state of the software halt/quickstop of the axis (TRUE: deactivated, FALSE: activated), parameter 1016

bError

BOOL

Axis error, parameter 1030

bErrorAckn

BOOL

Acknowledge error (fault reset), parameter 1032

dwRatioTechUnitsDenom

DWORD

The number of increments [inc] that correspond to iRatioTechUnits units, parameter 1051

iRatioTechUnitsNum

DINT

The number of technical units [u] that correspond to dwRatioTechUnitsDenom increments, parameter 1052

fScalefactor

LREAL

The factor by which the position in [u] is multiplied to convert to axis units, [inc/u], parameter 1054

fScalefactorVel

LREAL

The factor by which the velocity in [u/s] is multiplied to co convert to axis units, [?/u], parameter 1055. Built from fScalefactor (1054) and fConstVelFactor (2210) during initialization. May be overwritten by the user.

fScalefactorAcc

LREAL

The factor by which the set acceleration is multiplied to co convert to axis units, [?/u], parameter 1056. Built from fScalefactor (1054) and fConstAccFactor (2220) during initialization. May be overwritten by the user.

iMovementType

SML_MovementType

The movement type: SML_MT_MODULO or SML_MT_FINITE, parameter 1060

fModuloPeriodU

LREAL

Length of a modulo period in [u], parameter 1061

eRampType

SML_RAMPTYPE

Velocity ramp type, parameter 1062

fActPosition

LREAL

Actual position in [u], only needed for modulo axes, parameter 1101

diActPosition

DINT

Actual position in [inc], only needed for modulo axes, parameter 1109

rpHomeOffset

SML_RmtPrm

The home offset in [u], parameter 1211

dwModuloOffsetInt

DWORD

Offset of start of closest modulo period, integral part, parameter 1230

udiModuloPeriodIncInt

UDINT

Length of a modulo period in [inc], integral part, parameter 1231

udiModuloPeriodIncNum

UDINT

Length of a modulo period in [inc], numerator of fractional part, parameter 1234

udiModuloOffsetNum

UDINT

Offset of start of closest modulo period, numerator of fractional part, parameter 1235

bNewSetPoint

BOOL

Tells the axis that a new set point has been given, only used in position mode, parameter 2010

bRelativeSetPoint

BOOL

Tells the axis whether the set point is relative, only used in position mode, parameter 2011

bStartHoming

BOOL

Tells the axis to start homing, only used in homing mode, parameter 2012

bHalt

BOOL

Tells the axis to halt using a quick stop, used in all modes, parameter 2013

bSetPointAck

BOOL

Set if the new set point has been acknowledged, only used in position mode, parameter 2020

bTargetReached

BOOL

Set if the target is reached, only set in position and homing mode, parameter 2021

bInVelocity

BOOL

Set if it has reached the commanded velocity, only set in velocity mode, parameter 2022

bHomingDone

BOOL

Set if homing has been performed successfully (implies bTargetReached), only set in homing mode, parameter 2023

bErrorInOperation

BOOL

Set if an error occured, used in all modes, parameter 2024

rpTargetPosDist

SML_RmtPrm

The target position or distance in [u], parameter 2030

rpTargetVelocity

SML_RmtPrm

The target velocity in [u/s], used in velocity mode, parameter 2040

rpProfileVelocity

SML_RmtPrm

The profile velocity in [u/s], used in position mode, parameter 2050

rpProfileAcceleration

SML_RmtPrm

The profile acceleration in [u/s²], parameter 2060

rpProfileDeceleration

SML_RmtPrm

The profile deceleration in [u/s²], parameter 2070

rpQuickStopDeceleration

SML_RmtPrm

The deceleration for a quick stop in [u/s²], parameter 2090

fModuloOffsetInc

LREAL

The modulo offset in increments, built from dwModuloOffsetInt and udiModuloOffsetNum, parameter 2100

bInvertHomeOffset

BOOL

Whether the home offset is inverted when writing it to or reading it from the drive, parameter 2200

fConstVelFactor

LREAL

A constant factor multiplied to the velocity scale factor (parameter 1055), dimensionless. Example: the drive expects the velocity in inc/(64*s) instead of inc/s. Then this parameter should be set to 64. The value is only used during initialization to compute fScalefactorVel (1055). Parameter 2210.

fConstAccFactor

LREAL

A constant factor multiplied to the acceleration scale factor (parameter 1056), dimensionless. Example: the drive expects the velocity in 16*inc/(s) instead of inc/s. Then this parameter should be set to 1/16. The value is only used during initialization to compute fScalefactorAcc (1056). Parameter 2220.

usiLogicalDevice

USINT

The 0-based logical device index (6000)

Methods:

Structure: