Mode Manager
medium
Selects Manual, SemiAuto, or Auto mode and overrides every mode with a resettable fault state.
What it teaches
Manage machine-wide Manual, SemiAuto, Auto, and Fault modes. Unlike Manual/Auto Motor, this block selects a mode but does not control equipment.
Parameters
| Tag | Direction | Type | Default | Description |
|---|---|---|---|---|
| In_ManualRequest | Input | BOOL | 0 | Requests Manual mode |
| In_SemiAutoRequest | Input | BOOL | 0 | Requests SemiAuto mode |
| In_AutoRequest | Input | BOOL | 0 | Requests Auto mode |
| In_Fault | Input | BOOL | 0 | Active machine fault |
| In_Reset | Input | BOOL | 0 | Leaves Fault after In_Fault is off |
| Sts_Mode | Output | DINT | 0 | 0=Manual, 1=SemiAuto, 2=Auto, 3=Fault |
| Sts_Manual | Output | BOOL | 0 | 1 only in Manual mode |
| Sts_SemiAuto | Output | BOOL | 0 | 1 only in SemiAuto mode |
| Sts_Auto | Output | BOOL | 0 | 1 only in Auto mode |
| Sts_Faulted | Output | BOOL | 0 | 1 only in Fault mode |
Required behavior
- A fresh block starts in Manual: Sts_Mode is 0 and only Sts_Manual is 1.
- A request selects its matching mode. If requests conflict, the least automated request wins: Manual before SemiAuto before Auto.
- In_Fault immediately forces Fault mode from any mode. Mode requests are ignored while Fault is latched.
- After In_Fault turns off, In_Reset returns the manager to Manual.
- Exactly one of Sts_Manual, Sts_SemiAuto, Sts_Auto, and Sts_Faulted is 1 every scan.