Set_AO_Mode

Overview

The Set_AO_Mode function block configures the operating mode of each channel of an AO module. Each channel can operate in:

  • Voltage mode (0-10 V)1
  • Current mode (4-20 mA)0
💡 AO Channels

Each AO module provides four output channels.

Module_ID           :=  (USINT)
Ch0_Mode            :=  (BOOL)
Ch1_Mode            :=  (BOOL)
Ch2_Mode            :=  (BOOL)
Ch3_Mode            :=  (BOOL)
STS_Done            =>  (BOOL)
STS_Failed          =>  (BOOL)
STS_Fault_Code      =>  (USINT)

Interface

Inputs

NameTypeRange / UnitsDescription
Module_IDUSINT1 - 15Unique identifier of the AO module.
Ch0_ModeBOOL0 / 1Operating mode for channel 0: 1 = 0-10 V, 0 = 4-20 mA.
Ch1_ModeBOOL0 / 1Operating mode for channel 1.
Ch2_ModeBOOL0 / 1Operating mode for channel 2.
Ch3_ModeBOOL0 / 1Operating mode for channel 3.

Outputs

NameTypeDescription
STS_DoneBOOLTRUE when the AO mode configuration was successfully applied.
STS_FailedBOOLTRUE if the mode configuration operation failed.
STS_Fault_CodeUSINTDiagnostic code indicating the reason for failure.

Fault Codes

CodeMeaningDescription
97Module FaultedThe AO module reported an internal fault.
98Module MismatchThe detected module type does not match the expected AO module.
99Module Not FoundThe specified Module_ID is not part of the current hardware configuration.

Example

PROGRAM PROG_Set_AO_MODE
    VAR
        AO_Mode_Block : Set_AO_Mode;
    END_VAR

    AO_Mode_Block(
        Module_ID := 5,
        Ch0_Mode := TRUE,     (* 0-10V *) 
        Ch1_Mode := TRUE,     (* 0-10V *)
        Ch2_Mode := FALSE,    (* 4-20mA *) 
        Ch3_Mode := FALSE     (* 4-20mA *)
        );
END_PROGRAM

CONFIGURATION Config0
    RESOURCE Res0 ON PLC
        TASK task1_20ms(INTERVAL := T#20ms, PRIORITY := 1);
        PROGRAM Prog_Instance_SET_AO_Mode WITH task1_20ms : PROG_Set_AO_MODE;
    END_RESOURCE
END_CONFIGURATION