Limiting

Limiting 1:

This Corefunction is responsible for limiting all axis functions. The type of limitation depends on the drive technology. For example, the torque of electric axes and the pressure of hydraulic axes can be limited. The following function blocks are automatically available internally for axes of type FB_AxisNcBase:

This Corefunction is one of the permanently active Corefunctions.

Syntax:

FUNCTION_BLOCK FB_Limiting EXTENDS FB_Corefunction

Limiting 2: Properties

Name

Type

Access

Description

InitState

BOOL

Get, Set

The core function is not completely and successfully initialized.

FB_Limiting

Actual

LREAL

Get

Current actual value of the limited variable (torque/pressure)

CmdReference

LREAL

Get, Set

Reference value for scaling the value commanded in a Corefunction. Typically, 100% is specified here.

EffectiveSetpoint

LREAL

Get

The effective value currently being passed to the output.

ExternalMode

BOOL

Get

TRUE as soon as external limiting has been assigned according to the outdated scheme using I_LimitingFb.

IdleValue

LREAL

Get, Set

The idle value for the limitation to which the axis returns after a command.

MaxValue

LREAL

Get, Set

The effective limit of the limit for each command.

Mode

I_LimitingMode

Get

Choice of the operation mode for the limiting function.

Output

I_LimitingOutput

Get, Set

Interface to the output element for the limit.

SetpointCmded

LREAL

Get, (Set)

Setpoint currently specified by the active Corefunction.

SetpointDirection

E_AdaptableDirection

Get, (Set)

The direction currently specified by the active core function.

Transition

I_LimitingTransition

Get

Configuration of the transition between command-based and idle-mode limiting.

ActualTorque1

LREAL

Get, Set

Current actual torque value of the axis.

Alternatively: Actual

Activate1

BOOL

Get, Set

Activates the use of the ActiveValue as an active limit.

Alternatively: Cmd()

ActiveValue1

LREAL

Get

Limitation value currently available

Alternatively: EffectiveSetpoint

ConnectedToDrive1

BOOL

Get

An internal connection to a drive unit has been established.

Alternatively: MotionParams.HasAutoLimiting

DefaultFb1

I_LimitingFb

(Get, Set)

Access to the standard function block for torque limitation if specific handling is used.

Alternatively: SetExternal()

Direction1

E_AdaptableDirection

Get, Set

Direction in which the torque limit should act.

Alternatively: SetpointDirection

NominalValue1

LREAL

Get, Set

The value specified by a core function

Alternatively: SetpointCmded

ReferenceValue1

LREAL

Get, Set

Reference value for the maximum command value of the limit.

Alternatively: CmdReference

FB_Corefunction

FailedState

BOOL

Get, Set

If IsActivated is TRUE at the same time: Signals the failure of an accepted command.

If IsActivated is FALSE at the same time: Signals the rejection of a command.

HasFeedback

BOOL

Get

The core function has responded to a pending command.

IsActivated

BOOL

Get

The core function has an accepted command pending.

IsLocalCmd

BOOL

Get

Signals that the axis is assigned with a command of this core function.

ReadyState

BOOL

Get, Set

The Corefunction is ready for operation, but is not commandable at this time.

Possible reasons are:
- The axis is not enabled.
- Another Corefunction is active.
- The Corefunction does not support any commands.

1Obsolete

Limiting 3: Methods

Name

Description

[INTERN] Cmd(bActivate)

Enables/disables the default limit set by a core function.

This method should not be called from within the application.

Limiting 4: Interfaces

Type

Description

I_Corefunction

Standard interface on FB_Corefunction.

I_Limiting

Standard interface to FB_Limiting.

I_LimitingDev

Extended interface for integration with Corefunction.

I_LimitingOutput

Internal implementation to the output interface

I_LimitingFb1

Interface for the implementation of an external limiting function

Alternatively: /

1Obsolete

Example:

// configuration of some settings
iAxisBase.Limiting.CmdReference := 100.0; // %
iAxisBase.Limiting.Mode.Adaptive := TRUE;
iAxisBase.Limiting.Transition.HoldLow := TRUE;

Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.4024.71
TwinCAT v3.1.4026.19

PC or CX (x64, x86)

Tc3_PlasticFunctions (>= v12.14.0.0)