At a glance
| Item | Typical answer |
|---|---|
| Problem | Water is pumped up through several stages of sumps and stations. The main stations show in the control room, but face sumps, pontoon pumps and boreholes are checked by crews, and nobody sees the whole cascade or how fast water is coming in. |
| What is connected | Sump levels, pump run, fault and auto states, motor current and power, discharge pressure, flow and totals, bearing temperatures, mains and PLC health, borehole levels and a rain gauge. |
| Who uses it | Control room operators, shift supervisors and pump attendants, electrical and mechanical maintenance, the hydrogeologist and the mine manager. |
| Typical first scope | The main pump station and the two or three sumps that feed it, plus one surface rain gauge, read-only. |
| Time to first screen | Typically one to two weeks once PLC register maps and a network path to the surface exist. Budget six to eight weeks for a pilot whose inflow estimate the hydrogeologist trusts. |
The situation
An underground mine lifts water in stages: small submersible pumps at the faces and in development ends feed level sumps, settlers remove the solids, and multi-stage centrifugal pumps at the main stations push the water up the shaft or a borehole to the surface. Open pits add pontoon pumps on the pit lake and dewatering boreholes around the rim. Each station has a PLC that starts and stops pumps on sump level. The control room SCADA usually shows the main stations; the satellite sumps are walked by pump attendants.
The failure modes are familiar. A face pump trips and a heading floods before the next shift. A main pump runs with a worn impeller, delivers less water for the same power, and the sump climbs slowly over a week. A heavy storm doubles the inflow into an open pit, and nobody can tell how many hours of storage are left. Power interruptions stop several stations at once, and restart order matters. Pumping is also one of the largest energy users on a mine, yet energy per cubic metre is rarely known per station.
This setup gives everyone one live view of the cascade, alarms that reach the crew responsible for each level, and stored data good enough to estimate inflow, plan pump overhauls and compare stations on energy.
Goals and measures
- Inflow estimate per sump = pumped-out flow + sump plan area × rate of level rise. Measured in m³/h; summed over the cascade it shows how much water the mine is making.
- Time to overflow = free volume above the current level up to the overflow (plan area × (overflow level − level)) ÷ (inflow − outflow), when inflow exceeds outflow. The single most useful number during a storm or a pump failure.
- Pumping margin = available pumping capacity (rated flow of pumps that are healthy and in auto) ÷ current inflow. Below 1.5 deserves attention; agree the value with the mine's water management plan.
- Specific energy = kWh used by a station ÷ m³ pumped, per day. A rising value at the same lift points to impeller wear, a partly blocked suction or a valve left throttled.
- Pump availability = hours healthy and in auto ÷ hours in the period, from hourly averages of the fault and auto states sent as 0/1 numbers, and starts per hour from the PLC start counter.
- Rain to inflow response: rainfall per hour from the surface gauge against estimated inflow, to learn how quickly the mine responds to storms.
One-minute, hourly and daily aggregates are kept for every numeric key; daily pumped volume comes from the increase of the flow totaliser and daily energy from the energy counter.
Architecture
Underground, the best path is usually the mine's own Ethernet or fibre network. A licensed gateway running Hermetry Edge sits in a surface building, reads each station PLC over Modbus TCP across the mine network and reports every station as a child device of itself, over one outbound MQTT connection with TLS. No new electronics go underground in the first phase, which avoids most certification questions. Where a station has no PLC data worth reading, a gateway in the station panel can read contacts and 4-20 mA signals directly, but only if its enclosure and location meet the mine's rules for electrical equipment underground.
On the surface and around a pit, battery LoRaWAN sensors fit well: submersible level sensors in boreholes, pressure or level sensors on pit lake pontoons and a weather station for rainfall, heard by a LoRaWAN gateway on a mast. Pontoon pumps with their own starter panel can use a 4G licensed gateway.
| Component | Role | Notes |
|---|---|---|
| Station PLCs | Run pumps on sump level; keep all protections | Read-only from Hermetry. Register map per station type. |
| Surface licensed gateway with Edge | Reads underground PLCs over Modbus TCP, reports stations as child devices | One per shaft area or network segment. Up to 500 children per gateway by default. |
| Panel gateway (optional) | Reads contacts and analog signals where no PLC exists | Only where underground equipment rules allow. |
| Energy meters or drives | kW, kWh, current per pump or station | Modbus RTU or TCP, usually via the PLC. |
| 4G licensed gateway | Pontoon pump panels | Your own SIM. eSIM management is in development (Hermetry Connect). |
| LoRaWAN gateway and sensors | Borehole levels, pit lake level, rainfall | EU868, OTAA, class A; decoded by library codecs. |
| Mine network | Path from underground PLCs to the surface | Agree firewall rules with the mine's OT team; Modbus TCP stays inside the mine network. |
| Hermetry | Storage, alarms, rules, flows, dashboards, SCADA | EU, US or Türkiye region, or on your own servers. |
The gateway authenticates with an X.509 certificate from the platform's authority and keeps one connection out of the mine network; nothing underground is reachable from the internet. Profiles can require TLS and limit the source networks of devices.
Point list
A typical three-pump main station. Face sump pumps use a short subset (level, run, fault, current). Registers are illustrative.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Sump level | sump_level_m | m | Level transmitter via PLC, 40001 | 60 s | Range 0 to sump depth in the profile. |
| Sump level, percent | sump_level_pct | % | PLC or root flow | 60 s | For drawings and boards. |
| Settler mud level | mud_level_m | m | Sludge blanket sensor, if fitted | 15 min | Optional. |
| Pump 1 running | p1_run | 0/1 | PLC | on change | Heartbeat every 15 min. |
| Pump 1 fault | p1_fault | 0/1 | PLC, motor protection trip | on change | |
| Pump 1 in auto | p1_auto | 0/1 | PLC | on change | |
| Pump 1 motor current | p1_current_a | A | Drive or protection relay | 60 s | |
| Pump 1 motor power | p1_power_kw | kW | Drive or meter | 60 s | |
| Pump 1 bearing temperature, drive end | p1_de_temp_c | °C | RTD via PLC | 60 s | Non-drive end as p1_nde_temp_c. |
| Pump 1 vibration | p1_vib_mms | mm/s | 4-20 mA vibration transmitter, if fitted | 60 s | Overall velocity. |
| Pump 1 run hours, starts | p1_hours, p1_starts | h, count | PLC counters | 15 min | Daily figures from the increase. |
| Pumps 2 and 3 | p2_*, p3_* | as pump 1 | as pump 1 | as pump 1 | Same key pattern. |
| Discharge pressure | discharge_bar | bar | Transmitter on the rising main | 60 s | Sudden fall while running points to a burst. |
| Station flow | flow_m3h | m³/h | Magnetic flow meter | 60 s | |
| Station flow total | flow_total_m3 | m³ | Flow meter totaliser | 15 min | |
| Station energy | energy_kwh | kWh | Energy meter | 15 min | |
| Mains present | mains_ok | bool | PLC or phase monitoring relay | on change | |
| PLC communication | plc_comm_ok | bool | Gateway Modbus status | 60 s | False when the gateway cannot read the PLC. |
| Inflow estimate | inflow_m3h | m³/h | Derived in the root flow | 60 s | Stored as its own key. |
| Time to overflow | tto_h | h | Derived in the root flow | 60 s | Empty or high when the sump is falling. |
| Borehole water level | bh_level_m | m | LoRaWAN submersible level sensor | 30 min | Borehole profile. |
| Pit lake level | lake_level_m | m | LoRaWAN radar or ultrasonic distance sensor | 15 min | Converted from distance in the root flow. |
| Rainfall | acc_rainfall, rain_intensity | mm, mm/h | LoRaWAN weather station | 10 min | Weather station profile. |
Asset model
- Mine (Site) with location, time zone and
water_plan_ref. - Level (Area, for example 450 Level) with
depth_m. - Pump station (free kind) with
lift_m,criticality,installed_capacity_m3handrestart_order. - Sump (Area) with
plan_area_m2,overflow_level_mandworking_area_below(what floods first). - Pump (Machine) with
rated_flow_m3h,rated_head_m,rated_kw,max_starts_per_hour,impeller_fitted(date). - Pit (Area) with boreholes and the pit lake pontoon, and the weather station under the mine.
Add Feeds relations from each sump to the station that empties it and from each station to the sump it delivers into, so the cascade can be followed from face to surface. Placement decides which level's status a station counts toward and which Rules-card rules may act on it. Values the root flow needs (plan_area_m2, overflow_level_m) also go on the station device as server attributes, where an enrich block can add them to each message and alarm rules can use them as thresholds.
Device setup
Profiles and provisioning
Create Surface gateway, Main pump station, 3 pumps, Face sump pump, Pontoon pump, Borehole level (LoRaWAN) and Weather station (LoRaWAN). The gateway names each station when it connects it and sends a type that selects the profile. Claim the surface gateway with its factory identity; stations appear on their first report and are renamed and placed on the tree. LoRaWAN sensors are added with their join keys, singly or by batch import, with the library codec chosen per model; rename vendor output names to your keys in the root flow or a saved codec copy. If you also want ready boards for rainfall, the Weather stations ready solution installs a station profile and boards you can adapt.
Settings and intervals
On the licensed gateway, remote device settings show the Modbus targets, polling intervals and register blocks with their current values. Keep a baseline per station type and apply changes in waves. Poll stations every 60 seconds; level moves slowly enough, and contacts are reported on change with a heartbeat. If the gateway model supports deadbands, use small ones (1 cm on level) so the inflow estimate stays smooth. Use the Recent message online rule with a heartbeat-based interval for every child.
Inflow and time to overflow in the root flow
The station profile's root flow computes the derived keys for each message. A delta block takes the change of sump_level_m since the previous reading; an enrich block adds plan_area_m2 and overflow_level_m; a script computes the level rate in m/h, inflow_m3h = flow_m3h + area × rate, and, when inflow exceeds flow, tto_h = area × (overflow − level) ÷ (inflow − flow). A save-telemetry block stores both keys on the station. Smooth the inflow over 10 to 15 minutes with a statistics block if pump starts make it jumpy. Test the flow with recorded readings in the flow test runner before relying on it.
Outages, time and firmware
If the surface gateway loses its uplink, licensed gateways can buffer readings with a capacity that depends on the model, and send them later with their original time stamps; alarm rules evaluate them as backfill without paging for the past. If the mine network between the PLC and the gateway breaks, nothing reaches the gateway, which is why plc_comm_ok and the offline rule matter. Synchronise the gateway clock from the mine's time source. Firmware is signed and rolled out in waves with a soak time; with one surface gateway per shaft, update them one at a time during low-risk periods.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Dewatering overview | Control room, shift supervisors | The cascade drawing; stat cards for total estimated inflow, available pumping capacity and the lowest time to overflow; table of sumps with level, inflow, time to overflow and pumps in auto, sorted by time to overflow; alarm table of Critical and Major. |
| Station page | Pump attendants, maintenance | Opened by drill-down with the station as a parameter. Gauges for sump level and discharge pressure; state cards per pump (running, fault, auto); line chart of level, inflow and flow over 48 hours; the station drawing; activity feed. |
| Pump health | Mechanical and electrical maintenance | Scatter chart of flow against power per pump to show wear; line charts of bearing temperatures and vibration; daily run hours and starts per pump; attributes card with rated values and impeller date. |
| Energy | Mine manager, energy engineer | Bar chart of daily kWh per station; stat with trend of kWh per m³ against the previous period; table sorted by specific energy, exportable to Excel. |
| Rain and inflow | Hydrogeologist | Bar chart of hourly rainfall and line chart of summed inflow on the same time range; borehole and pit lake levels over 90 days. |
Entity parameters let one station page serve every station. Put the overview on a control-room screen through a read-only display link.
SCADA screens
Draw the cascade as one overview: levels stacked vertically, each sump as a tank, each station's pumps beside it, rising mains drawn as pipe connections to the next sump up and finally to the surface dam or treatment. Draw a detail screen per station type. Submersible pumps come from the Process pack's fluid family; electric motors, variable-speed drives and bearing housings from the Process pack; plain tanks, pumps and valves from the core set; the Heavy industry pack's mining family adds a thickener for surface water treatment. See the SCADA library.
- States: pumps show running, stopped or fault from
p1_runandp1_fault; a pump not in auto is drawn grey by a rule; sumps fill fromsump_level_pct. - Second readings: each sump prints time to overflow; each pump prints motor current; the rising main prints flow.
- Warnings on the drawing: a rule blinks a sump red when
tto_hfalls under 4 and turns the discharge pressure label amber when it drops while a pump runs. - Reuse: attach the station detail drawing as a view on the station profile, so every station gets its own bound view; Match everything binds the rest.
- 3D: a 3D view from the cascade drawing helps in training and in emergency planning discussions.
Rules and alarms
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| Sump high | sump_level_m >= attribute high_level_m | Debounce 2 samples; hysteresis 0.1 m | Major | Shift supervisor of the level, push | Critical tier below |
| Sump overflow imminent | sump_level_m >= attribute overflow_level_m minus margin, entered as attribute hh_level_m | Debounce 2 samples | Critical | Shift supervisor, control room, SMS | Reminder every 10 min until acknowledged |
| Time to overflow short | tto_h < 4 (Major), < 1 (Critical) | Debounce 5 samples | Major / Critical | Control room, hydrogeologist on Critical | Severity rise re-notifies |
| Pump fault | p1_fault == 1 | Debounce 1 sample | Major | Electrical maintenance, push | Reminder every 30 min |
| Pump not in auto | p1_auto == 0 | Debounce 30 min | Warning | Shift supervisor, in-app | None |
| Rising main pressure lost | all of: p1_run == 1, discharge_bar < attribute min_discharge_bar | Debounce 2 samples | Critical | Control room, mechanical maintenance, SMS | Reminder every 10 min |
| Bearing temperature high | p1_de_temp_c > 85 (Major), > 95 (Critical) | Debounce 3 samples; hysteresis 3 °C | Major / Critical | Mechanical maintenance | Severity rise re-notifies |
| Vibration high | p1_vib_mms > attribute vib_alert_mms | Debounce 5 samples; dampening | Minor | Mechanical maintenance, e-mail | None |
| Mains failure | mains_ok == false | Debounce 20 s | Critical | Control room, electrical on duty, SMS | Reminder every 10 min |
| PLC unreachable | plc_comm_ok == false | Debounce 3 samples | Major | Control room, OT team | Reminder every 30 min |
| Station offline | Inactivity rule, no message for 5 min | Major | Control room, OT team | Reminder every 30 min | |
| Heavy rain | rain_intensity > 20 | Debounce 2 samples | Warning | Hydrogeologist, control room | None |
Severities are Critical, Major, Minor, Warning and Info; one rule can carry several severities, so a bearing that keeps heating moves from Major to Critical on the same alarm and notifies again. Reminders repeat until someone acknowledges. Recipients are users, roles (Owner, Admin, User) or e-mail addresses, at most 20 per rule; list the users or a shared crew address per level or shift crew so the right people are paged, or notify a team per crew from a Rules-card rule on the alarm. There are no on-call rotations behind IoT alarms, so keep the duty recipients current.
Alarms open after the debounce, are acknowledged (User role) with an optional note, and resolve when the condition clears. They cannot be latched; a pump fault that reset itself resolves on its own, so make the review of unacknowledged resolved alarms part of the shift handover. Alarm rules compare values; they cannot do arithmetic, which is why the root flow stores tto_h and alarm rules use attribute thresholds such as hh_level_m instead of "overflow minus 0.3 m".
Some conditions need a timer. A Rules-card rule on the level asset can say: when p1_run stays 1 for 20 minutes and sump_level_pct is still above 90, then raise a Major alarm "Pump running without effect" and notify maintenance. Alarm debounce counts only arriving readings, so this timer-based form is the right tool for "no change for X".
Floods of alarms. A power dip stops several stations at once. Keep mains failure Critical and the follow-on alarms (pumps stopped, levels rising) at lower severity with longer delays; above 20 notifications a minute Hermetry sends a five-minute digest. Mute a station during planned maintenance; alarms are still recorded.
Automation and integrations
- Read-only. Pump starts, stops and restart sequencing stay in the station PLCs and the control room SCADA. Commands to devices behind a gateway are in development, and this design does not need them.
- Maintenance: webhooks
alarm.createdandalarm.cleared, signed with HMAC, open and close CMMS work orders for pump faults and bearing alarms. A flow can post to the CMMS through an HTTP endpoint with OAuth 2 client credentials. - Hydrogeology: the water management model can pull hourly inflow, borehole and rain data from the REST series API with a read-only API key.
- Energy: daily kWh and m³ per station go to the energy management system by API or as Excel exports. Scheduled, e-mailed reports are not built in today.
- Storm notice: a Rules-card rule notifies the mine manager's team when summed rainfall passes a set value, so pumping margins are checked before inflow arrives.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Control room operator | User + IoT operator group | See all stations, acknowledge alarms, switch a level's rules to Manual. |
| Shift supervisor, pump attendant | User | See their levels, acknowledge alarms, add notes. |
| Maintenance | User | See pump health, acknowledge equipment alarms. |
| Hydrogeologist, mine manager | User + IoT viewer group | Read everything, export history. |
| OT engineer | Admin | Profiles, alarm rules, flows, drawings, gateway settings, firmware, mutes. |
| IT owner | Owner | Members, sign-in policy, API keys, signing keys. |
Policies can narrow a contractor running one level's pumps to that level's assets; test them with the policy simulator first. The audit log keeps sign-ins, acknowledgements, rule versions, attribute writes, mutes and firmware actions in a verifiable hash chain.
Sizing and data
As an order of magnitude for one mine with 8 main stations, 12 face sump pumps, 4 pontoon pumps, 10 boreholes and one weather station:
- Main stations: one message a minute: 8 × 1,440 = 11,520 a day.
- Face sumps: one a minute: 12 × 1,440 = 17,280 a day.
- Pontoon pumps: one a minute: 4 × 1,440 = 5,760 a day.
- Boreholes every 30 minutes and the weather station every 10 minutes: about 620 a day.
- Total: about 35,000 messages a day, roughly 1.1 million a month, counted as one message per device per reading.
- Values: about 580,000 a day, around 210 million a year, most of them from the main stations.
The plan's retention class sets history length: raw readings for up to 90 days, minute aggregates for 31 days, and hourly and daily aggregates (sum, count, minimum, maximum, last) for the full class, one or three years. That is enough to compare wet seasons on hourly inflow and daily pumped volume. Per-device rate limits are far above these rates even if the gateway reports all stations in the same second.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Survey | 1-3 | PLC register maps per station type, network path and firewall rules, sump plan areas and overflow levels, existing alarm limits. | Signed point list; OT team approves the network path. |
| 1. Pilot | 4-9 | Main station and the sumps feeding it, rain gauge; profiles, inflow flow, alarm rules, overview and station page. | Two weeks of data; levels match local displays; inflow estimate reviewed by the hydrogeologist; every alarm tested. |
| 2. Underground cascade | 10-16 | Remaining main stations and face sumps, level by level. | All stations online; duty recipients tested on night shift; nuisance alarms under the agreed level. |
| 3. Pit and surface | 17-22 | Pontoon pumps, boreholes, energy board, CMMS webhooks. | Energy per m³ accepted by the energy engineer; work orders created from alarms. |
Commissioning checklist
- Gateway claimed, certificate active; each station child on the right profile, renamed and placed on its level.
- Attributes
plan_area_m2,overflow_level_m,high_level_m,hh_level_m,min_discharge_barpresent on every station. - Sump level compared with the local display at two points; flow and pressure compared with local indicators.
- Pump run, fault and auto states seen with the right sense during a planned changeover.
- Inflow estimate checked against a timed level rise with pumps stopped, done by the station crew under their own procedure.
- Mains failure indication seen during a planned switching, never by switching for Hermetry's sake.
- PLC unreachable alarm tested by blocking the gateway's Modbus path briefly with the OT team.
- Gateway uplink removed for 15 minutes; offline alarms and backfill behave as expected.
- LoRaWAN sensors: RSSI and SNR checked in each device's LoRaWAN tab; readings arrive at the set interval.
- Notifications reach each level's crew on SMS, push and e-mail; runbooks filled in.
Pitfalls
- Alarming on level only. A level alarm comes late in a storm; time to overflow gives hours of warning instead of minutes.
- Wrong sump area. The inflow estimate is only as good as
plan_area_m2; sumps with sloping walls need an area for the working band. - Putting electronics underground without approval. Read PLCs from the surface first; any new equipment underground follows the mine's certification rules.
- Ignoring the network path. If the mine network fails, every station goes quiet together; alarm on PLC communication and offline separately.
- Different key names per station. Fix the key pattern before the first station is configured.
- Everything Critical. Reserve Critical for overflow, short time to overflow, lost rising main and mains failure.
What Hermetry does not replace
Hermetry monitors and alerts. Pump control, motor protection, dry-run and overload trips, the mine's flood and inrush emergency plans, gas monitoring, ventilation control and every personnel safety function stay in the PLCs, certified safety systems and procedures that own them, and must keep working when the network or the platform is down. Equipment placed underground must meet the mine's rules for electrical equipment, including explosion protection where it applies. Discharge permits and environmental reporting stay in the systems that hold them.

