DirectOutput

DirectOutput 1:

Exclusive function for hydraulic axes

This core function is only available for hydraulic axis types.

DirectOutput 2:

This core function is used to directly control the output of a hydraulic axis. There will be no monitoring of position limits.

This core function is a member of the group of statically-controlled core functions.

Syntax:

FUNCTION_BLOCK FB_DirectOutput EXTENDS FB_CorefunctionFeedback

DirectOutput 3: Properties

Name

Type

Access

Description

InitState

BOOL

Get, Set

The core function is not completely and successfully initialized.

FB_DirectOutput

OutputReference

LREAL

Get, Set

This property defines the value that must be specified as OutPutValue to cause a full-scale output to the controlled device.

OutputValue

LREAL

Get, Set

This property is used to define the output to the device. OutputReference as a scaling here.

Ramptime

LREAL

Get, Set

RampTime is used to define the time for ramping from zero to the full-scale value.

FB_CorefunctionFeedback

AbortedState

BOOL

Get, Set

Signals the abort of a command by another Corefunction.

BusyState

BOOL

Get, Set

Signals the active execution of a command.

DoneState

BOOL

Get, Set

Signals the successful execution of a command.

IdleState

BOOL

Get, Set

The Corefunction is ready for operation and commandable.

IsCommanded

BOOL

Get

Signals the pending of a command.

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.

DirectOutput 4:

The output value is influenced by RampTime

Any change in the output whose amount is less than the full-scale value requires a proportional part of RampTime.

DirectOutput 5: Methods

Name

Description

[INTERN] Cyclic()

This method is called cyclically by the axis.

FB_DirectOutput

DoActivate()

This method enables and disables the direct output.

DirectOutput 6: Interfaces

Type

Description

I_Corefunction

Standard interface on FB_Corefunction.

I_DirectOutput

Standard interface on FB_DirectOutput.

I_CorefunctionFeedback

Standard interface on FB_CorefunctionFeedback.

Example:

// Get specific interface I_AxisHydraulicBase from general interface I_AxisBase
IF __QUERYINTERFACE(iAxisBase, iAxisHydraulic) THEN
    
    IF bDirectOutput THEN
        
        // in this example, the reference is the electrical unit used
        iAxisHydraulic.DirectOutput.OutputReference := 10.0;    // [V] 
        iAxisHydraulic.DirectOutput.Ramptime := 1.0;            // [s]
        iAxisHydraulic.DirectOutput.DoActivate(TRUE);
        
        // the set value will switch after 2 seconds
        fbTon.Pt := T#2S;
        IF fbTon.Q THEN
            iAxisHydraulic.DirectOutput.OutputValue := 3.0;    // [V]
        ELSE
            iAxisHydraulic.DirectOutput.OutputValue := 1.0;    // [V]
        END_IF
        
    ELSIF iAxisHydraulic.DirectOutput.IsCommanded THEN
        
        iAxisHydraulic.DirectOutput.DoActivate(FALSE);
    END_IF
    
    fbTon.In := bDirectOutput;
    fbTon();

ELSE
    // interface is not set to an instance of FB_AxisHydraulicBase
    bIncompatible := TRUE;
END_IF

Requirements

Development environment

Target platform

PLC libraries to include

TwinCAT v3.1.4024.35

PC or CX (x64, x86)

Tc3_PlasticFunctions v3.12.4.26 or higher

Tc3_PlasticHydraulic v3.12.4.26 or higher