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
| Name | Type | Range / Units | Description |
|---|---|---|---|
| Module_ID | USINT | 1 - 15 | Unique identifier of the AO 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. |
Outputs
| Name | Type | Description |
|---|---|---|
| STS_Done | BOOL | TRUE when the AO 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 AO module reported an internal fault. |
| 98 | Module Mismatch | The detected module type does not match the expected AO module. |
| 99 | Module Not Found | The 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