Controls — PID P-103
| Field | Detail |
|---|---|
| Primary artifact(s) | controls/water/st/p103-pid.st |
| Spec | RO-SPEC-001 §5.6 ; WIRE-001 VFD§ |
Summary
VFD-103 / P-103 distribution-header pressure loop. Process variable AI_PT104_DIST_HEADER (PT-104) is regulated against Retain setpoint SP_PT104_DIST_SET_PSI by writing frequency command MB_WRITE_FREQ_X100_V103 (×0.01 Hz per gs21-registers.md). Actual output frequency MB_READ_OUTFREQ_V103 is read-only for HMI/trend.
| Element | Behaviour |
|---|---|
| PV | AI_PT104_DIST_HEADER (psi) |
| SP | SP_PT104_DIST_SET_PSI (Retain, default 42 psi) |
| CV | MB_WRITE_FREQ_X100_V103 — Hz × 100 before Modbus write |
| Gains | SP_P103_PID_KP / SP_P103_PID_KI / SP_P103_PID_KD (Retain starter constants) |
| Anti-windup | Conditional integration — I-term frozen when output saturated against error sign |
| Rate limit | CV slew capped at 2 Hz/s (local constant; promote to Retain tag if field tuning needs it) |
| Inhibit | ALM_T102_LEVEL_CRITICAL — asserted by fill-state-machine.st when AI_LT102_LEVEL_PCT ≤ SP_T102_LOW_ALARM_STOP_P103_PCT; zeros CV and clears integrator |
Interlock ties
T-102 low-level annunciation and P-103 stop threshold are owned by fill-state-machine.st. This routine must not run the distribution pump when treated storage is critically low.
Test
Tune on wet bench Phase C — step SP_PT104_DIST_SET_PSI with T-102 level above stop band; verify no integrator windup when CV hits 0 or 60 Hz; force ALM_T102_LEVEL_CRITICAL and confirm MB_WRITE_FREQ_X100_V103 holds at 0.
Open items
- Bumpless transfer on
DO_VFD103_RUN_AUXrun/stop merge (interlocks TBD) - Promote CV rate-limit constant to Retain tag if operators need HMI access
- Field-verify
SP_P103_PID_*vs CRN1S pump curve and header hydraulics
Reviewer sign-off
- P-103 PID reviewed against RO-SPEC-001 §5.6 — _______________