diff --git a/HANDOFF.md b/HANDOFF.md index c711e46..fb222a3 100644 --- a/HANDOFF.md +++ b/HANDOFF.md @@ -1,10 +1,10 @@ # Current handoff -## Mandel pressure additions pending — October 24, 2026 +## Mandel pressure additions completed — October 24, 2026 -User requested development Mandel well/tank/filter differential pressure, tank primary, related alarms/setpoints and an Alarms enable/settings page. Initial Main catalog has 1,171 entries; `tank` search has no matches. No verified new pressure bindings were found; Main readings blank and Global stale_data_codesys = 1 observed. No configuration or operational writes. Asked user where imports landed. See MANDEL-PRESSURE-AUDIT.md; verify current imported catalog before implementing. This request remains unfinished. +Corrected import now has 1,431 registers and verified g_tankPres/g_wellPres/g_filterDeltaPres families; user confirmed psi, tank primary, differential well minus tank. Added Well pressure section/three-series history, overview Tank Pressure, and page_alarms with navigation, 24 thresholds/hysteresis fields, 33 enable switches and 21 state readouts. Enabled polling for 81 exact pressure definitions; fresh native readback all enabled, other fields unchanged. Added 21 non-latching HMI alarms (101 total Main). Saved pages and bindings freshly verified. No PLC values written or live alarm/write tests; readings remain unavailable. See MANDEL-PRESSURE.md for mappings, changes, evidence and verification limits; earlier audit blocker superseded. -Last updated: 2026-10-22 (America/Edmonton) +Last updated: 2026-10-24 (America/Edmonton) ## Arco Poultry Barn 4 registers — October 22, 2026 diff --git a/MANDEL-PRESSURE.md b/MANDEL-PRESSURE.md new file mode 100644 index 0000000..c9bb26c --- /dev/null +++ b/MANDEL-PRESSURE.md @@ -0,0 +1,41 @@ +# Mandel pressure readings and Alarms page — October 24, 2026 + +Completed configuration on https://dev.atomhmi.com/site_mandel/ after the user corrected the imported PLC register file. Main catalog now shows 1,431 entries. Earlier missing-tag checks and wrong 3,393-register import are historical; see MANDEL-PRESSURE-AUDIT.md. + +## Confirmed mappings + +Device main, OPC UA source opcua. User confirmed all three pressure families use psi; filter differential is well minus tank, and tank pressure is primary. + +| Signal | Register | OPC UA tag | +| --- | --- | --- | +| Tank | main:g_tankPres_out_eu | Home.g.tankPres.out_eu | +| Well | main:g_wellPres_out_eu | Home.g.wellPres.out_eu | +| Filter differential | main:g_filterDeltaPres_out_eu | Home.g.filterDeltaPres.out_eu | + +The HMI displays the imported PLC differential output; it does not overwrite or recalculate the controller's signal. + +## Delivered pages + +- page_well: new Water Pressure section above existing controls. Tank readout emphasized, well and filter differential beside it. Water Pressure History charts all three in psi, with tank as navigator source. Existing control and site-information roots retained. +- page_main: Well card's Water Today readout changed to Tank Pressure, using main:g_tankPres_out_eu, read-only psi. Existing run status retained. Daily usage remains on Well and Water Usage pages. +- page_alarms: new Pressure Alarm Settings page and navigation entry. Tank, Well, Filter Differential sections. Each has Low, Low-Low, High, High-High threshold and individual reset hysteresis, separate Limit Enable and Alarm Enable switches, plus channel/under/overrange sensor fault enable switches. Status is numeric (1 active, 0 normal, -.- unavailable) to avoid claiming missing data is normal. + +For each prefix P in g_tankPres, g_wellPres, g_filterDeltaPres, and level L in lo,lolo,hi,hihi: +- Threshold read/write P_limits_L_in_sp; reset gap P_limits_L_in_hyst, direct psi, no fabricated bounds or new values. +- Limit enable read/write P_limits_L_in_en; alarm stage enable read/write P_limits_L_alm_in_en. Native switches write 1/0 to their exact input only. Their separate roles are stated on page. Both stages may be needed; program/process gating remains PLC-owned. +- Alarm state reads P_limits_L_alm_out. +- Sensor fault controls read/write P_faults_F_in_en and read P_faults_F_out, F=chan,under,over. + +There are 24 editable numeric fields, 33 switches, 21 numeric status fields. Fresh native Copy readback verified 57 write bindings, all targeting expected pressure inputs, no unrelated register targets. + +## Polling and HMI alarm definitions + +Enabled exactly 81 previously disabled pressure register definitions via native editor: 27 per family (one output, 4x threshold/hysteresis/limit enable/alarm enable/alarm output, and 3x fault enable/output). Fresh native [] preview readback verified all 81 enabled; complete objects differ from baseline only in enabled. ON_CHANGE, one-second intervals, addresses and other fields preserved. The import preview preserves existing enabled flags, so its attempted validation proposed zero updates and was not submitted; changes were applied via register forms. + +Created 21 HMI alarm definitions: four limit and three sensor fault records per pressure family, IDs identical to their *_alm_out or *_faults_*_out source registers. Calculation is |{register:main:ID}|. Quoted Message and Return to Normal strings; enabled HMI monitoring, non-latching, one-second evaluation, zero added HMI delays. High-High and Low-Low Critical; High/Low and faults Warning; no notification groups added. Native alarm catalog freshly reloaded at 101 total entries, all 21 new records present. Tank Low form independently reopened and checked for correct calculation/messages, enabled, non-latching, interval and delays. + +## Verification and limits + +Fresh runtime pages show Alarms navigation, all 24 numeric settings and 33 switches, 21 unavailable-aware states; Well shows all three pressure labels and chart legend, overview shows Tank Pressure. Saves confirmed. No PLC values, thresholds, enable bits, equipment commands, calibration, process logic or delays were written or tested. Live Main readings remain unavailable (-.-); controller communication and numerical/enable write behavior cannot be verified while data is absent. Existing native switches render off when no value is available; page warns a current controller reading is needed to confirm state. Alarm annunciation, notification delivery, physical scaling and differential calculation were not function-tested. + +Local evidence: /tmp/mandel-pressure-final-audit.json; /tmp/mandel-well-before-pressure.json; /tmp/mandel-alarms-first-save.json; /tmp/mandel-pressure-well.png; /tmp/mandel-pressure-alarms.png. These local evidence files are not uploaded or committed. diff --git a/MANDEL-SETTINGS.md b/MANDEL-SETTINGS.md index 72d3fce..8fdedcb 100644 --- a/MANDEL-SETTINGS.md +++ b/MANDEL-SETTINGS.md @@ -1,5 +1,7 @@ # Mandel settings expansion +October 24, 2026: completed the new Well/Tank/Filter Differential pressure UI and dedicated Alarms settings page. See [MANDEL-PRESSURE.md](MANDEL-PRESSURE.md) for exact mappings, 81 polling updates, 21 new HMI alarms and verification limits. User confirmed psi. Live data remains unavailable; no PLC settings or values were written. + Later simulation testing, lighting controls, washer digital-limit feedback, and Copy/Paste discoveries are recorded in [ATOMHMI-PLAYBOOK.md](ATOMHMI-PLAYBOOK.md). The verification below describes the earlier build before those tests. Updated October 20, 2026. The pressure-washer sensor is not active yet, as confirmed by the owner. Its pressure reading is not a commissioning reference.