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

4.7 KiB

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.