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.
Inputs and outputs
| Tag | Type | Default | Description |
|---|---|---|---|
| In_ManualRequest | BOOL | — | Requests Manual mode |
| In_SemiAutoRequest | BOOL | — | Requests SemiAuto mode |
| In_AutoRequest | BOOL | — | Requests Auto mode |
| In_Fault | BOOL | — | Active machine fault |
| In_Reset | BOOL | — | Leaves Fault after In_Fault is off |
| Sts_Mode | DINT | — | 0=Manual, 1=SemiAuto, 2=Auto, 3=Fault |
| Sts_Manual | BOOL | — | 1 only in Manual mode |
| Sts_SemiAuto | BOOL | — | 1 only in SemiAuto mode |
| Sts_Auto | BOOL | — | 1 only in Auto mode |
| Sts_Faulted | BOOL | — | 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.