Controls — Tag database
| Field | Detail |
|---|---|
| Primary artifact(s) | controls/water/tags/tags.csv |
| Spec | RO-SPEC-001 §5.2 ; WIRE-001 §4–§9 |
Summary
140 rows mapping physical I/O per WIRE-001 slot tables plus Modbus VFD mirrors, alarms, CM5 recipe NV, and internal ST symbols. All ten .st files under controls/water/st/ resolve against this CSV (zero gaps).
| Module | WIRE § | Points populated | address_ref pattern |
|---|---|---|---|
| P2-16ND3-1 Slot 1 | §5 | X1–X9 (9 DI) | DI:Slot1:Xn |
| P2-08TRS Slot 2 | §8 | Y1–Y8 (8 relay) | DQ:RelayM1:Yn |
| P2-08TRS Slot 3 | §9 | Y1–Y5 (5 relay) | DQ:RelayM2:Yn |
| P2-08AD-2 Slot 4 | §6 | CH1–CH8 (8 AI) | AI:Slot4_CHn |
| P2-06RTD Slot 5 | §7 | CH1–CH2 (2 RTD) | RTD:Slot5_CHn |
Test
Import CSV in Productivity Suite after hardware config readback.
Offline validation (from repo root):
python3 - <<'PY'
import csv
from collections import Counter
rows = list(csv.reader(open("controls/water/tags/tags.csv", encoding="utf-8")))
assert rows[0] == "tag_name,data_type,address_ref,scope,scaling_notes,eng_units,description,alarm_class".split(",")
names = [r[0] for r in rows[1:] if r]
assert not [n for n,c in Counter(names).items() if c>1]
open("controls/water/tags/tags.csv","rb").read().decode("utf-8")
print("OK:", len(names), "tags, UTF-8, no duplicate tag_name")
PY
Changelog
- 2026-05-24 — Added
SP_PT102_RO_SET_PSIandSP_VFD101_RAMP_SECRetain setpoints for RO sequence SK02 (ro-sequence.st). 140 uniquetag_namevalues. - 2026-05-24 — Normalised physical
address_refto AGENTS schema (DI:Slot1:Xn,AI:Slot4_CHn,RTD:Slot5_CHn,DQ:RelayM1/M2:Yn↔ WIRE-001 §5–§9). Expanded relay/DO descriptions to device tags (BV-101, UV-101, MP-101…103, SV-, FAN-). Cross-checked all tencontrols/water/st/*.stfragments: 56 tag references, zero missing from CSV. Offline validation: UTF-8, 138 uniquetag_namevalues.
Open items
- Cross-check unnamed spare columns post hardware readback
- Add
RCP_APPLY_TRIGwhen HMI commissioning wires Apply button (seehmi/screens.md)
Reviewer sign-off
- Tag CSV reviewed against WIRE-001 §5–§9 slot tables — _______________