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
| Name | Type | Range / Units | Description |
|---|---|---|---|
| Module_ID | USINT | 1 - 15 | Unique identifier of the AI module. |
| Ch0_Mode | BOOL | 0 / 1 | Operating mode for channel 0: 1 = 0-10 V, 0 = 4-20 mA. |
| Ch1_Mode | BOOL | 0 / 1 | Operating mode for channel 1. |
| Ch2_Mode | BOOL | 0 / 1 | Operating mode for channel 2. |
| Ch3_Mode | BOOL | 0 / 1 | Operating mode for channel 3. |
| Ch4_Mode | BOOL | 0 / 1 | Operating mode for channel 4. |
| Ch5_Mode | BOOL | 0 / 1 | Operating mode for channel 5. |
| Ch6_Mode | BOOL | 0 / 1 | Operating mode for channel 6. |
| Ch7_Mode | BOOL | 0 / 1 | Operating mode for channel 7. |
Outputs
| Name | Type | Description |
|---|---|---|
| STS_Done | BOOL | TRUE when the AI mode configuration was successfully applied. |
| STS_Failed | BOOL | TRUE if the mode configuration operation failed. |
| STS_Fault_Code | USINT | Diagnostic code indicating the reason for failure. |
Fault Codes
| Code | Meaning | Description |
|---|---|---|
| 97 | Module Faulted | The AI module reported an internal fault. |
| 98 | Module Mismatch | The detected module type does not match the expected AI module. |
| 99 | Module Not Found | The 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