At a glance
| Item | Typical answer |
|---|---|
| Problem | Conveyors, crushers and fans report trips to the control room, but the slow signs before a failure (a warming bearing, a slipping belt, falling lube pressure, airflow drifting below need) are seen only on inspection rounds, if at all. |
| What is connected | Run states, speeds, belt scale tonnage, motor current and power, bearing and gearbox temperatures, vibration, alignment and blocked-chute switches, crusher lube oil, fan airflow and pressure, and gas readings from the certified gas system for indication. |
| Who uses it | Control room, mechanical and electrical maintenance, the ventilation officer, the production superintendent and reliability engineers. |
| Typical first scope | The primary crusher, the two or three conveyors it feeds, and the main ventilation fans, read-only. |
| Time to first screen | Typically one to two weeks after the PLC register maps and a network path are agreed. Budget six to eight weeks for a pilot with trusted alarm limits. |
The situation
Ore moves from the primary crusher over a chain of belt conveyors to the stockpile and plant; underground, main fans and booster fans move the air that makes the workings habitable. Each conveyor has a drive with one or more motors and gearboxes, pulleys on rolling bearings, belt scales, and protection switches for alignment, blocked chutes, belt rip and pull cords. The crusher has a lube oil system and a feed hopper. The fans have drives, bearings and an airflow or pressure measurement. PLCs run all of it and trip it when a protection acts.
The control room sees that a conveyor tripped, but not why it was heading that way. Bearing temperatures and drive currents are in the PLC and rarely trended. A head pulley bearing runs hotter each week until it seizes and stops the whole chain for a shift. A belt slips on a wet morning and wears the lagging. The crusher's oil pressure sags with a clogging filter. A booster fan runs, but delivers less air than the section needs because a regulator door was left open. Maintenance walks inspection routes with handheld instruments and finds some of this in time.
The aim here is to put the condition data that already exists, plus a few retrofit sensors, into one place with clear limits, so that maintenance plans on trends and the control room gets early, specific alarms instead of only trips.
Goals and measures
- Conveyor availability = hours the conveyor could run (healthy, not tripped, not under maintenance mute) ÷ scheduled hours.
- Utilisation = hours running with load (belt scale above a minimum, for example 10 % of design tonnage) ÷ hours running. Running empty wastes energy and wears the belt.
- Tonnes per shift and per day = increase of the belt scale totaliser over the period.
- Specific energy = kWh of the conveyor or crusher ÷ tonnes conveyed or crushed.
- Stoppages = count of trips per conveyor per week, by trip code where the PLC provides a first-out code; mean time between stoppages from the same history.
- Belt slip = (drive pulley speed − tail pulley speed) ÷ drive pulley speed × 100.
- Airflow compliance = minutes with measured airflow at or above the section's required airflow ÷ minutes the fan should run.
Minute, hour and day aggregates (sum, count, minimum, maximum, last) are stored for every numeric key, so shift tonnes and daily maxima of bearing temperatures come directly from stored data. Align shift reporting by pulling hourly values and summing them into your shift times.
Architecture
Most of the data is already in the PLCs. A licensed gateway running Hermetry Edge in a surface building reads each conveyor, crusher and fan PLC over Modbus TCP across the mine network and reports each machine as a child device of itself, over one outbound MQTT connection with TLS. Each conveyor, crusher and fan then has its own readings, alarms and history in Hermetry, while the site maintains one gateway per network segment.
Retrofit sensors fill the gaps. On surface conveyors, battery LoRaWAN temperature probes on pulley bearing housings avoid long cable runs; the codec library decodes common probe and PT100 transmitter types. Vibration is best measured by wired 4-20 mA transmitters into the PLC or the gateway's analog inputs. Underground, any new device must meet the mine's rules for electrical equipment, including explosion protection where it applies, so start with what the PLCs already measure.
| Component | Role | Notes |
|---|---|---|
| Conveyor, crusher and fan PLCs | Control, protections, trip codes | Read-only from Hermetry. Register map per machine type. |
| Drives and motor protection relays | Speed, current, power, energy | Usually read through the PLC; direct Modbus where available. |
| Belt scale integrator | Tonnage rate and totaliser | Via the PLC or Modbus RTU. |
| Licensed gateway with Edge | Reads PLCs over Modbus TCP, reports machines as child devices | On the surface. Up to 500 children per gateway by default. |
| LoRaWAN gateway and temperature probes | Bearing temperatures on surface conveyors | EU868, OTAA, class A. |
| Ventilation monitoring | Airflow, fan differential pressure | Velocity sensors and pressure transmitters wired to the fan PLC. |
| Certified gas monitoring system | Methane, carbon monoxide and other gases | Summary values or alarm states read for indication only. |
| 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; nothing on the mine network accepts connections from outside. Agree with the OT team which PLCs the gateway may reach, and limit the Modbus traffic to those addresses.
Point list
Representative points for one conveyor, one crusher and one main fan. Register numbers come from your PLC maps; intervals are starting values.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Conveyor running | run | 0/1 | PLC | on change | Heartbeat every 5 min. Send as a 0/1 number, not true/false, so hourly averages give run hours. |
| Drive pulley speed | drive_speed_ms | m/s | PLC from drive encoder | 30 s | |
| Tail pulley speed | tail_speed_ms | m/s | Speed sensor on the tail pulley | 30 s | Needed for slip. |
| Belt slip | slip_pct | % | Derived in the root flow | 30 s | Stored as its own key. |
| Belt scale rate | tph | t/h | Belt scale integrator | 30 s | |
| Belt scale total | total_t | t | Integrator totaliser | 5 min | Shift and daily tonnes from the increase. |
| Drive motor current | motor_a | A | Drive or protection relay | 30 s | Per motor on multi-drive conveyors: m1_a, m2_a. |
| Drive power | power_kw | kW | Drive | 30 s | |
| Drive energy | energy_kwh | kWh | Drive or meter | 15 min | |
| Gearbox oil temperature | gbx_oil_c | °C | RTD via PLC | 60 s | |
| Head pulley bearing temperature | head_brg_c | °C | RTD via PLC, or LoRaWAN probe | 60 s or 10 min | Tail and bend pulleys alike: tail_brg_c. |
| Drive vibration | drive_vib_mms | mm/s | 4-20 mA transmitter | 60 s | Overall velocity. |
| Belt misalignment | misalign | bool | Alignment switches via PLC | on change | Any switch active. |
| Blocked chute | chute_blocked | bool | Chute switch via PLC | on change | |
| Pull cord tripped | pullcord | bool | PLC | on change | Indication only; the stop is hard-wired. |
| Trip code | trip_code | code | PLC first-out register | on change | Numeric so it keeps history. |
| Crusher running | cr_run | bool | Crusher PLC | on change | Crusher profile. |
| Crusher power | cr_power_kw | kW | Drive or meter | 30 s | |
| Lube oil pressure | lube_bar | bar | Transmitter | 30 s | |
| Lube oil return temperature | lube_c | °C | RTD | 60 s | |
| Feed hopper level | hopper_pct | % | Radar level | 30 s | Too low starves, too high chokes. |
| Fan running | fan_run | bool | Fan PLC | on change | Fan profile. |
| Fan speed | fan_rpm | rpm | Drive | 60 s | |
| Airflow | airflow_m3s | m³/s | Velocity sensor × duct area, in the PLC | 60 s | Compare with required_m3s. |
| Fan differential pressure | fan_dp_pa | Pa | Pressure transmitter | 60 s | |
| Fan bearing temperatures | fan_de_c, fan_nde_c | °C | RTDs via PLC | 60 s | |
| Fan vibration | fan_vib_mms | mm/s | 4-20 mA transmitter | 60 s | |
| Methane, return airway | ch4_pct | % | Certified gas system summary | 60 s | Indication only. |
| Carbon monoxide, return airway | co_ppm | ppm | Certified gas system summary | 60 s | Indication only. |
Charts and series read numbers, and text values show only as the latest reading. That is why the trip code is a number: it keeps a history, and a state card on the board turns each code into words such as "Misalignment" or "Belt rip".
Asset model
- Mine (Site) with location and time zone.
- Area (Area): Crushing, Overland conveyors, Plant feed, Underground ventilation, with
area_supervisor_role. - Conveyor (Machine) with
belt_length_m,design_tph,rated_speed_ms,belt_installed(date) andcriticality(whether it stops the chain). - Crusher (Machine) with
design_tph,liner_changed(date) and lube limits. - Fan (Machine) with
required_m3s,fan_type(main or booster) and the section it ventilates. - Ventilation section (Area) under the underground area, with
required_m3sas agreed by the ventilation officer.
Add Feeds relations crusher → CV-01 → CV-02 → stockpile so a drill-down can follow material flow, and fan → section for air. Placement decides area status and which Rules-card rules may act on a machine. Limits that differ per machine (brg_alert_c, brg_trip_c, vib_alert_mms, required_m3s, min_lube_bar) go on the devices as server attributes, so the same alarm rule works for every conveyor or fan of a profile.
Device setup
Profiles and provisioning
Create Surface gateway, Conveyor, Crusher, Main fan, Booster fan and Bearing probe (LoRaWAN). Main and booster fans get separate profiles because Rules-card rules target all devices of a profile and the two need different responses. The gateway sends a type for each child when it connects it, which selects the profile. Claim the gateway with its factory identity; children appear on their first report and are renamed to their tags (CV-01, FAN-MV-1) and placed on the tree. LoRaWAN probes are added with their join keys and the library codec for their model; map the vendor's output name to head_brg_c in the root flow, or relate each probe to its conveyor on the asset tree and show it beside the conveyor's own values.
Intervals, deadband and settings
Speeds, tonnage and currents every 30 seconds give useful slip and utilisation figures; temperatures every 60 seconds are plenty, because bearings warm over minutes. Contacts go on change with a heartbeat. If the gateway model supports a deadband, use one on temperatures (0.5 °C) but not on speeds, where slip needs paired readings. Remote device settings show the gateway's polling intervals and register blocks; keep a baseline per segment and apply changes in waves that stop if too few gateways apply them. Use the Recent message online rule for every child, with an interval matched to its heartbeat.
Derived keys in the root flow
The conveyor profile's root flow computes slip_pct with a short script from drive_speed_ms and tail_speed_ms when both are in the message and the drive speed is above a minimum, and stores it with a save-telemetry block. A statistics block over a 15-minute window can store an average of tph per conveyor for steadier utilisation charts. Test both with recorded readings in the flow test runner before go-live.
Time, outages and firmware
Synchronise the gateway clock with the mine's time source so trip sequences across conveyors line up. If the uplink drops, licensed gateways can buffer readings, with a capacity that depends on the model; they arrive later with their original time stamps, and alarm rules evaluate them as backfill without paging for the past. Gateway firmware is signed and rolled out in waves with a soak time; schedule the waves for planned shutdowns.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Material flow | Control room, production superintendent | The flow-sheet drawing; stat cards for current tonnes per hour at the stockpile feed and tonnes this shift; state cards for each conveyor with its trip code in words; alarm table of Critical and Major. |
| Conveyor page | Mechanical and electrical maintenance | Opened from the material flow board with the conveyor as a parameter. Line chart of bearing and gearbox temperatures over 14 days; line chart of slip and tonnage; gauge of motor current; bar chart of daily tonnes; activity feed; attributes card with belt length and belt installation date. |
| Crusher page | Crushing supervisor, maintenance | Gauges for lube pressure and power; line chart of power against hopper level; lube temperature over 7 days; daily tonnes and kWh per tonne. |
| Ventilation | Ventilation officer, control room | Table of fans with running state, airflow, required airflow and last reading; line chart of airflow against requirement per section; state cards for gas indications; alarm table of ventilation alarms. |
| Reliability | Reliability engineer | Alarm table over 90 days filtered to stoppage and condition alarms; heatmap of bearing temperatures by conveyor and hour; table of run hours from hourly averages of run (starts where the PLC keeps a start counter); history tables exported to Excel. |
Entity parameters let one conveyor page, one crusher page and one fan page serve every machine of the kind. A read-only display link puts the material flow board on a wall screen in the crusher control room.
SCADA screens
Draw the flow sheet as one screen: the haul truck and feed hopper at the start, the jaw or cone crusher, the vibrating screen, the chain of mining belt conveyors, and the stockpile or stockyard stacker and reclaimer at the end. These symbols come from the Heavy industry pack's mining family. Drive details use electric motor, variable-speed drive, belt drive, shaft coupling, bearing housing and lubrication unit symbols from the Process pack; fans use its fan and blower symbols; gas detector, emergency stop and siren symbols come from its safety family. See symbols and industry packs.
- States: belts animate while
runis 1 and show fault colour whentrip_codeis not zero; the crusher shows running and fault; fans spin whilefan_runis true. - Second readings: each conveyor prints tonnes per hour; the crusher prints power and lube pressure; each fan prints airflow.
- Rules on symbols: a bearing housing turns amber above its alert temperature and blinks red above its trip value; a fan's airflow label turns red under a value set in the drawing, for example 25 m³/s.
- Reuse: draw one conveyor detail screen (drive, pulleys, bearings, scale) and attach it as a view on the Conveyor profile, so every conveyor gets its own bound view. Match everything proposes the bindings.
- 3D: a 3D view of the flow sheet helps in inductions and shutdown planning.
Rules and alarms
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| Bearing temperature | head_brg_c > attribute brg_alert_c (Minor), > attribute brg_trip_c (Major) | Debounce 3 samples; hysteresis 3 °C | Minor / Major | Mechanical maintenance, push | Severity rise re-notifies; reminder every 60 min |
| Gearbox oil hot | gbx_oil_c > 85 | Debounce 3 samples; hysteresis 3 °C | Major | Mechanical maintenance | Reminder every 60 min |
| Belt slip | all of: run == 1, slip_pct > 3 | Debounce 4 samples | Minor | Control room, mechanical maintenance | None |
| Belt misalignment | misalign == true | Debounce 2 samples; dampening on chattering switches | Warning | Control room, in-app | None |
| Blocked chute | chute_blocked == true | Debounce 1 sample | Major | Control room, area supervisor, push | Reminder every 15 min |
| Conveyor tripped | trip_code != 0 | Debounce 1 sample | Major | Control room, area supervisor | Reminder every 30 min |
| Pull cord operated | pullcord == true | None | Info | Control room, in-app | None |
| Vibration high | drive_vib_mms > attribute vib_alert_mms | Debounce 5 samples | Minor | Reliability, e-mail | None |
| Crusher lube pressure low | all of: cr_run == true, lube_bar < attribute min_lube_bar | Debounce 2 samples | Critical | Crushing supervisor, maintenance, SMS | Reminder every 10 min |
| Crusher lube oil hot | lube_c > 60 | Debounce 3 samples; hysteresis 2 °C | Major | Maintenance | Reminder every 30 min |
| Main fan stopped | fan_run == false | Debounce 1 sample | Critical | Control room, ventilation officer, SMS | Reminder every 5 min |
| Airflow below requirement | airflow_m3s < attribute required_m3s | Debounce 5 samples; hysteresis 1 m³/s | Major | Ventilation officer, control room | Reminder every 30 min |
| Gas indication high | ch4_pct >= 1.0 or co_ppm >= 30 (agree values with the ventilation officer) | Debounce 1 sample | Critical | Control room, ventilation officer, SMS | Reminder every 5 min |
| Machine offline | Inactivity rule, no message for 5 min | Major | Control room, OT team | Reminder every 30 min |
Severity levels are Critical, Major, Minor, Warning and Info. One rule can hold several severities, so a bearing that keeps heating goes from Minor to Major on the same alarm and notifies again. Reminders repeat until someone acknowledges. Recipients are users, roles (Owner, Admin, User) or e-mail addresses, up to 20 per rule; list the users or a shared address per area and per trade so a gearbox alarm reaches mechanical, not electrical, maintenance, or notify a team from a Rules-card rule on the alarm. There are no on-call rotations behind IoT alarms.
Alarms open after the debounce, are acknowledged with an optional note and resolve by themselves when the condition clears; they cannot be latched. A gas indication or fan stop that cleared before anyone looked is still in the history, so the control room should review resolved Critical alarms with no acknowledgement at each shift change. Each rule carries a runbook text, for example the inspection steps for a hot pulley bearing.
Conditions that depend on time go in a Rules card. Running empty: when tph stays below 50 for 15 minutes, only if run is 1 and the time is within production shifts, then notify the area supervisor's team. A booster fan that stays stopped for 2 minutes while the section's main fan runs can raise a Major alarm the same way. Rules-card conditions compare with fixed values and target one device or all devices of a profile.
Floods and maintenance. A conveyor trip stops everything upstream, and each stopped conveyor would alarm. Raise the trip alarm only on the conveyor that tripped (the one with a trip code), and let interlocked stops show as states. Mute a conveyor during planned shutdowns or belt splicing; alarms are still recorded, marked as muted, and the mute ends by itself. Above 20 notifications a minute, Hermetry sends a five-minute digest.
Automation and integrations
- Read-only. Starts, stops, interlocks, fan control and ventilation on demand stay in the PLCs and the ventilation control system. Commands to devices behind a gateway are in development and are not part of this design.
- Maintenance: webhooks
alarm.createdandalarm.cleared, signed with HMAC, open CMMS work orders for bearing, vibration and lube alarms and close them when the condition clears. A flow can call the CMMS directly through an HTTP endpoint with bearer or OAuth 2 client credentials. - Production: the production reporting system can pull hourly tonnes and run hours from the REST series API with a read-only API key limited to its network.
- Reliability reviews: history tables and alarm lists export to Excel for weekly stoppage reviews. Scheduled, e-mailed reports are not built in today.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Control room operator | User + IoT operator group | See all machines, acknowledge alarms, switch an area's rules to Manual. |
| Mechanical and electrical maintenance | User | See their areas, acknowledge equipment alarms, add notes. |
| Ventilation officer | User | See fans, airflow and gas indications; acknowledge ventilation alarms. |
| Reliability engineer, superintendent | 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 (2FA, SSO), API keys, signing keys. |
A contractor maintaining the conveyors can be narrowed to the conveyor assets with an attribute-based policy; check it in the policy simulator before inviting them. The audit log keeps sign-ins, acknowledgements, alarm rule versions, attribute writes, mutes and firmware actions in a verifiable hash chain.
Sizing and data
As an order of magnitude for 10 conveyors, 2 crushers, 4 main fans, 12 booster fans and 40 LoRaWAN bearing probes:
- Conveyors at one message every 30 seconds: 10 × 2,880 = 28,800 a day.
- Crushers at the same rate: 2 × 2,880 = 5,760 a day.
- Fans at one message a minute: 16 × 1,440 = 23,040 a day.
- LoRaWAN probes every 10 minutes: 40 × 144 = 5,760 a day.
- Total: about 63,000 messages a day, roughly 1.9 million a month, counted as one message per device per reading.
- Values: about 720,000 a day, around 260 million a year.
If the allowance matters, a 60-second interval on conveyors halves their share; slip and utilisation still work. Raw readings are kept for up to 90 days, minute aggregates for 31 days and hourly and daily aggregates for the plan's full class (one or three years), which is what bearing trends across seasons need. Per-device rate limits are far above these rates.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Survey | 1-3 | PLC maps, existing sensors, trip code lists, network path, retrofit needs; agree limits with maintenance and the ventilation officer. | Signed point list and limit sheet per machine type. |
| 1. Pilot | 4-9 | Primary crusher, two or three conveyors, main fans; profiles, slip flow, alarm rules, material flow and ventilation boards. | Two weeks of data; values match local displays; every alarm tested; maintenance accepts the limits. |
| 2. Conveyor chain | 10-15 | All conveyors and crushers; retrofit LoRaWAN probes on surface conveyors; reliability board; CMMS webhooks. | Work orders created from alarms; nuisance alarms under the agreed level. |
| 3. Ventilation network | 16-22 | Booster fans and sections; ventilation board on the control-room screen. | Airflow compliance reported weekly; ventilation officer signs off fan alarms. |
Commissioning checklist
- Gateway claimed, certificate active; each machine child on the right profile, renamed to its tag and placed on its area.
- Attributes for bearing, vibration, lube and airflow limits present on every device.
- Speeds, currents and tonnage compared with local displays; belt scale total compared with the integrator.
- Slip checked during a normal start, when a short slip is expected, and on a steady run, when it should be near zero.
- Trip codes checked during planned stops: each code shows the right words on the board.
- Alignment and chute switches seen in Hermetry during the PLC's own protection tests, never operated for Hermetry alone.
- Fan stop and airflow readings checked during a planned fan changeover with the ventilation officer.
- Gas indications compared with the gas system's own display; Hermetry raises its indication alarm when the gas system reports a test value.
- LoRaWAN probes: RSSI and SNR checked in each device's LoRaWAN tab; readings arrive every 10 minutes.
- Offline test with the uplink removed; buffered readings fill the gap; notifications reach each role.
Pitfalls
- Alarming on every stopped conveyor. Interlocked stops are states, not faults. Alarm on the conveyor with a trip code.
- Bearing limits copied from a datasheet. Use a few weeks of data to set alert limits per bearing position, then adjust.
- Text trip codes. Text values keep no history; send numbers and translate them on the board.
- Slip from unpaired readings. Compute slip only when both speeds are in the same message.
- Running retrofit devices underground without approval. Start with PLC data; add devices only under the mine's equipment rules.
- Treating gas indications as gas monitoring. The certified system raises the alarms that matter; Hermetry repeats them for awareness.
What Hermetry does not replace
Hermetry monitors and alerts. Pull cords, belt interlocks, emergency stops, guarding, motor protection, fan control, ventilation on demand, gas monitoring with its trips and evacuation alarms, and every other safety function stay in the PLCs, certified safety systems and mine procedures that own them, and must keep working when the network or the platform is down. Gas readings in Hermetry are for indication only. Equipment placed underground must meet the mine's rules for electrical equipment, including explosion protection where it applies.

