DirectOutput
![]() | Exclusive function for hydraulic axes This core function is only available for hydraulic axis types. |

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
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 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. |
Methods
Name | Description |
---|---|
[ | This method is called cyclically by the axis. |
FB_DirectOutput | |
This method enables and disables the direct output. |
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 |