Files
atom-hmi-ui-chatgpt/MANDEL-PRESSURE.md
T

53 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mandel pressure readings and Alarms page — October 24, 2026
Latest changes: see [MANDEL-TUNING.md](MANDEL-TUNING.md). Alarm values now readable; zero new-pressure thresholds confirmed. Numeric status fields replaced by native three-state badges and differential trend has a separate right axis. Two compressor thresholds changed to110/120psi. Proposed water-pressure thresholds remain pending exact approval.
## Live review follow-up — October 24, 2026
User reported variables working and requested assessment. Read-only review confirmed Well pressure readouts and three-series history now populate. Observed snapshots: tank 49.4–50.1 psi, well about 50.6 psi, differential 0.6–1.2 psi; consistent with well minus tank within display rounding/asynchronous updates. Pump Off, flow 0.0 gpm, water level 54.6 ft. This idle snapshot does not establish filter restriction under flow or physical sensor calibration.
Pressure Alarms page still shows -.- for all numeric settings/states. Native register table independently showed blank tank limit input/output values despite Enabled Yes; tank output g_tankPres_out_eu returned 49.55425262451172. No page console errors observed. Active alarm modal lists High and High-High for Tank, Well and Filter Differential (six records), each timestamp 2026-10-24 17:44:22. Cause, current threshold values and why limit source values are not readable remain unverified; do not assume normal or default-zero thresholds. No acknowledgment/reset or configuration/PLC writes performed.
Assessment: primary tank display works and trends render. Suggest a separate differential chart scale to reveal small changes near 1 psi alongside absolute pressures near 50 psi; suggestion only, not applied. Highest priority is restoring readable alarm settings/states and checking threshold appropriateness before claiming alarm commissioning complete.
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.