Set_AI_Mode

Overview

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

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

Each AI module provides eight input channels.

Module_ID           :=  (USINT)
Ch0_Mode            :=  (BOOL)
Ch1_Mode            :=  (BOOL)
Ch2_Mode            :=  (BOOL)
Ch3_Mode            :=  (BOOL)
Ch4_Mode            :=  (BOOL)
Ch5_Mode            :=  (BOOL)
Ch6_Mode            :=  (BOOL)
Ch7_Mode            :=  (BOOL)
STS_Done            =>  (BOOL)
STS_Failed          =>  (BOOL)
STS_Fault_Code      =>  (USINT)

Interface

Inputs

NameTypeRange / UnitsDescription
Module_IDUSINT1 - 15Unique identifier of the AI 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.
Ch4_ModeBOOL0 / 1Operating mode for channel 4.
Ch5_ModeBOOL0 / 1Operating mode for channel 5.
Ch6_ModeBOOL0 / 1Operating mode for channel 6.
Ch7_ModeBOOL0 / 1Operating mode for channel 7.

Outputs

NameTypeDescription
STS_DoneBOOLTRUE when the AI 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 AI module reported an internal fault.
98Module MismatchThe detected module type does not match the expected AI module.
99Module Not FoundThe specified Module_ID is not part of the current hardware configuration.

Example

PROGRAM PROG_Set_AI_MODE
    VAR
        AI_Mode_Block : Set_AI_Mode;
    END_VAR

    AI_Mode_Block(
        Module_ID := 4,
        Ch0_Mode := TRUE,       (* 0-10V *) 
        Ch1_Mode := TRUE,       (* 0-10V *)
        Ch2_Mode := FALSE,      (* 4-20mA *) 
        Ch3_Mode := FALSE,      (* 4-20mA *)
        Ch4_Mode := FALSE,      (* 4-20mA *)
        Ch5_Mode := FALSE,      (* 4-20mA *)
        Ch6_Mode := FALSE,      (* 4-20mA *)
        Ch7_Mode := FALSE       (* 4-20mA *)
        );
END_PROGRAM

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