At a glance
| Item | Typical answer |
|---|---|
| Problem | A bottling line stops many times a shift, mostly for a few minutes. Nobody knows which machine started each stop, so the same small causes repeat for months. |
| What is connected | State, speed, counts, fault numbers and time-in-state counters of every machine from depalletiser to palletiser, the line's first-out code, buffer conveyor levels, and pasteuriser, CIP and filler process values, through a licensed gateway on the line network. |
| Who uses it | Line operators and the line lead, the shift manager, maintenance, quality assurance and the production manager. |
| Typical first scope | One line, starting with the filler and the machines directly before and after it. |
| Time to first screen | Typically a few days after the gateway reads the first PLC. Budget four to six weeks until the line team trusts the stop analysis. |
The situation
A beverage or food bottling line is a chain of machines from different suppliers: depalletiser, rinser or bottle washer, filler and capper, often a pasteuriser, labeller, inspection, case packer and palletiser, joined by accumulation conveyors. The line is designed around the filler: machines upstream and downstream are faster, and the conveyors buffer short stops so the filler keeps running. When that design works, the line runs at filler speed; when it does not, the filler waits.
The daily reality is micro-stops. A labeller jams for 90 seconds, its infeed backs up, the buffer fills and the filler stops on a full outfeed. The operator restarts the labeller, the line recovers, and the shift report says "filler stopped 14 times". Without knowing which machine stopped first, maintenance fixes the wrong machine, and the line's efficiency stays where it is.
Food lines add records that must hold up in an audit: pasteurisation units, CIP temperatures and conductivity, product temperature at filling. These often sit in machine HMIs or paper charts. The goal here is a live picture of the line by machine and state, a reliable answer to "who stopped first", counts per hour and shift, and process records kept together with the stops.
Goals and measures
- Line efficiency = good containers out ÷ (filler rated speed × planned production time). Count good containers after the last inspection or at the case packer, converted to containers.
- Machine availability = time running ÷ (planned time − time blocked − time starved). Blocked and starved time are caused by neighbours, not by the machine itself, and must not be held against it.
- Blocked and starved shares per machine = time in that state ÷ planned time. A filler starved for 6 % of the shift points upstream; blocked points downstream.
- Stops and first-out = number of line stops per shift, and for each the machine whose stop started the chain.
- Mean time between failures per machine = running time ÷ number of fault stops; mean time to repair = fault time ÷ number of fault stops.
- Reject rate per inspection point = rejects ÷ containers inspected (fill level, cap, label, foreign body).
- Changeover and CIP time = time in setup or cleaning state per changeover, against the standard.
The best data source is a set of time-in-state accumulators in each machine PLC (seconds running, blocked, starved, in fault, in setup) plus its in and out counters. Hermetry's increase aggregation turns them into exact figures per hour, shift or day, and copes with resets at power-up. Event timing for first-out is a separate need, covered under device setup.
Architecture
A licensed gateway running Hermetry Edge sits in the line control cabinet or a cabinet on the line network. It polls each machine PLC over Modbus TCP, or a line controller that already gathers machine data, and the process controllers of pasteuriser, CIP and filler over Modbus TCP or RTU. Machines that offer neither give their state through stack-light taps and their counts through counting signals, wired via interposing relays to the gateway's inputs or a remote I/O module. Every machine appears as a child device of the gateway with its own profile and history. The gateway publishes over MQTT with TLS on one outbound connection; nothing on the line network accepts connections from the internet. See Hermetry Edge and the licensed devices.
| Component | Role | Notes |
|---|---|---|
| Licensed gateway with Edge | Polls PLCs and controllers, publishes telemetry | One per line, or one per line section on long lines. Claimed by scanning its code. |
| Machine PLCs | State, speed, counters, time-in-state, fault number | Agree one register block with each machine supplier, ideally at purchase. |
| Line controller, if present | First-out code, line state, format | Already sees every machine; often the simplest source of first-out. |
| Buffer conveyor sensors | Accumulation level | Photo-eyes at 25, 50, 75 and 90 % of each buffer, read as inputs or by the conveyor PLC. |
| Pasteuriser and CIP controllers | Pasteurisation units, zone temperatures, CIP step, temperature, conductivity, flow | Modbus; these are the food-safety records. |
| IP cameras, optional | Live view of jam-prone areas | RTSP cameras or recorders shown next to the line board; live view only. |
| Hermetry | Storage, alarms, rules, flows, boards, SCADA | EU, US or Türkiye region, or on your own servers. |
Point list
The same block for every packaging machine, plus process points for the filler, pasteuriser and CIP. Register addresses depend on each supplier's block.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Machine state | state | code | Machine PLC | on change + 30 s | 1 running, 2 starved, 3 blocked, 4 fault, 5 setup, 6 cleaning, 7 stopped by operator, 0 off. |
| Fault number | fault_no | code | Machine PLC | on change | First fault of the stop, 0 when none. |
| Speed | speed_cph | containers/h | Machine PLC | 30 s | Actual mechanical speed. |
| Containers in | count_in | count | Machine PLC | 30 s | Cumulative. |
| Containers out | count_out | count | Machine PLC | 30 s | Cumulative. |
| Rejects | count_reject | count | Machine PLC or inspector | 30 s | Per reason where the inspector separates them. |
| Time running | t_run_s | s | PLC accumulator | 60 s | Exact run time per hour from increase. |
| Time starved, blocked, fault | t_starved_s, t_blocked_s, t_fault_s | s | PLC accumulators | 60 s | The basis of fair machine availability. |
| Line first-out | first_out | code | Line controller or flow | on change | Machine number that stopped the line first. |
| Buffer level | buffer_pct | % | Conveyor photo-eyes | on change | One device per buffer conveyor. |
| Format or SKU | sku | text | Line controller | on change | Links counts and speeds to the product. |
| Filler bowl temperature | product_temp_c | °C | Filler controller | 60 s | |
| Filler bowl pressure | bowl_bar | bar | Filler controller | 60 s | Carbonated products. |
| Fill level rejects | fill_rejects | count | Fill level inspector | 60 s | Cumulative. |
| Pasteuriser zone temperatures | zone1_c to zone6_c | °C | Pasteuriser controller | 60 s | |
| Pasteurisation units | pu | PU | Pasteuriser controller | 60 s | As computed by the pasteuriser. |
| CIP step | cip_step | code | CIP controller | on change | Pre-rinse, caustic, rinse, acid, final rinse. |
| CIP return temperature | cip_return_c | °C | CIP controller | 30 s | |
| CIP conductivity | cip_cond_ms | mS/cm | CIP controller | 30 s | Confirms detergent strength. |
| CIP flow | cip_flow_m3h | m³/h | CIP controller | 30 s | |
| Data link | plc_comm_ok | bool | Gateway Modbus status per PLC | 60 s |
Declare keys with label, unit, decimals and range in each profile's Telemetry keys tab. Write the state and fault code meanings into the profile so every board and drawing uses the same words, and agree with each supplier that the state codes mean the same on every machine.
Asset model
- Plant (Site) with time zone and shift pattern.
- Bottling hall (Building) with
hall_manager. - Line (Line) with
rated_cph(filler rated speed),bottleneck_machine,formatsandline_lead_group. - Machines (Machine) in flow order, with
machine_no,rated_cph,supplierandcriticality. - Buffer conveyors (free kind) between machines, with
capacity_containersandbuffer_time_sat filler speed. - Process units (Machine): pasteuriser and CIP set, with
pu_min,cip_caustic_min_cand similar limits.
Add Feeds relations along the container flow: depalletiser feeds rinser, rinser feeds filler, and so on, with each buffer conveyor between. Many readers find the first-out answer obvious once the relations are drawn, because a blocked machine always points to the next one down the chain. The line's status is the worst of its machines, so the hall table shows which line has a machine in fault. Rules written on a line act on its machines only, and an access policy on a line gives a line lead exactly that line.
Device setup
Profiles. One profile for packaging machines with the standard block, one per process controller (filler process, pasteuriser, CIP), one for buffer conveyors and one for the gateway. Use the Recent message online rule with a 30-second expected interval and a factor of three.
Provisioning. Claim the gateway by scanning its code and place it on the line. Machines appear as child devices the first time the gateway reports them; name them after the line and machine, such as L2-FILLER and L2-LABELLER.
Settings and polling. Remote device settings on licensed gateways expose the Modbus map per machine, polling intervals and input configuration. Make one baseline per line type and apply it to other lines with a bulk job in waves; the job pauses itself if fewer than 95 % of answering gateways apply it. Poll state words every second and send them on change, with a 30-second repeat; read counters and accumulators every 30 to 60 seconds. If the gateway model supports a deadband, use it on temperatures and pressures only.
First-out timing. On a fast line, a cascade of stops happens within seconds, and a one-second poll cannot always tell which machine stopped first. Get first-out from a source that sees the order: the line controller's first-out code, or a stop time stamp that each machine PLC writes into its block, read with the state. Only as a last resort, a flow can infer it: a branch in the line's flow orders state changes by time stamp and saves the first machine that went to fault as first_out. Agree with the line team which source is authoritative.
Rate limits. In a line stop, ten machines change state in the same second. Have the gateway send all changes of one poll cycle in one message rather than ten, and check the gateway profile's rate limits (by default 10 messages a second and 300 a minute); messages above the limit are dropped, and administrators are told.
Time, buffering, firmware. Synchronise gateway and PLC clocks; first-out and audit records depend on them. Licensed gateways buffer readings during link outages, within a capacity that depends on the model, and send them with their original time stamps; counters and accumulators keep shift figures complete either way. Signed gateway firmware is rolled out in waves with a soak time; schedule it for a planned stop or a CIP.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Line live | Operators, line lead | State card per machine in flow order with speed; stat of good containers this hour against target; progress card of shift output; gauge of each buffer level; current first-out machine and fault number; open alarms. On a line screen through a read-only display link. |
| Stop analysis | Line lead, maintenance | Bar chart of fault, starved and blocked minutes per machine for the chosen shift, from the accumulators; table of first-out machines and fault numbers with counts over 7 days; MTBF and MTTR per machine; activity feed of state changes. |
| Line performance | Shift and production managers | Line efficiency per hour as a bar chart; stat with trend of yesterday's efficiency against the previous period; table per shift and SKU of output, efficiency and rejects, downloadable to Excel. |
| Quality and hygiene | Quality assurance | Pasteuriser zone temperatures and PU against pu_min; CIP return temperature, conductivity and flow per step for the last cleaning; fill level reject rate per hour; product temperature at the filler. |
| Line cameras, optional | Line lead | Live view of the labeller, case packer and palletiser jam areas next to their state cards. |
Entity parameters let one set of boards serve every line, and a click on a machine's state card opens its machine page. A short compute script on a card can turn the hourly accumulator increases into percentages of planned time; keep it in one shared card so every line computes availability the same way. Cameras need the camera module, show live H.264 video only and count toward your plan's live camera limit.
SCADA screens
Draw the line as a flow from left to right, roughly to scale. The Food pack has rotary fillers, cappers, labellers, bottle washers, bottle conveyors, checkweighers, X-ray inspection, metal detectors, pasteurisers, CIP skids and storage tanks; the Factory pack adds case packers, palletisers, pallets, conveyors, code readers and vision cameras; the core set's MES symbols add andon boards, reject bins and WIP buffer lanes. See the SCADA library.
- State colours: every machine coloured by
state: green running, yellow starved, orange blocked, red fault, blue setup, purple cleaning, grey off. Blocked and starved must look different from fault, or every stop looks like five. - First-out: a rule makes the machine whose number equals the line's
first_outblink red, so the operator walks to the cause, not the symptom. - Buffers: each buffer conveyor shows
buffer_pctas a fill and turns amber above 90 % or below 10 %. - Process: the pasteuriser prints PU and the hottest zone; the CIP skid shows its step and return temperature.
- Reuse: identical lines share one drawing attached as a view on the line; Match everything proposes devices for unbound symbols. Clear the Problems tab before applying. A 3D view of the same drawing helps new operators learn the line.
Rules and alarms
Profile alarm rules cover value conditions; Rules cards on the line cover durations and shift windows, because their waits run on timers and fire even when no new reading arrives.
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| Filler stopped | Rules card: filler state not 1 and stays so for 3 min, only in shift hours | Major | Line lead, push | Reminder every 10 min | |
| Machine in fault | state == 4 | Debounce 120 s | Minor | Operators of the line, in-app | Rises through the line rule if the filler stops |
| Line stopped long | Rules card: filler state not 1 and stays so for 15 min | Critical | Shift manager and maintenance, SMS and push | Reminder every 15 min | |
| Pasteurisation low | pu < attribute pu_min | Debounce 2 samples | Critical | Quality assurance and line lead, SMS and push | Reminder every 10 min until acknowledged |
| CIP caustic too cold | cip_step == 2 and cip_return_c < attribute cip_caustic_min_c | Debounce 60 s | Major | Quality assurance, push | Reminder every 30 min |
| CIP detergent weak | cip_step == 2 and cip_cond_ms < attribute cip_cond_min_ms | Debounce 60 s | Major | Quality assurance, push | Reminder every 30 min |
| Product warm at filler | product_temp_c > attribute product_temp_max_c | Debounce 300 s; hysteresis 0.5 K | Minor | Line lead and quality, in-app | None |
| Reject rate high | Flow: fill level rejects above 1 % over 15 min | Major | Quality assurance and line lead, push | Reminder every 30 min | |
| Gateway offline | Inactivity, 3 min | Major | Automation engineer and line lead, push | Reminder every 30 min |
Fault alarms on every machine would flood the line lead with dozens of alarms a shift, most of them self-cleared micro-stops. Keep machine faults at Minor with a two-minute debounce and in-app only, and page people on what matters: the filler stopped, the line stopped long, and anything that touches food safety. One alarm per device and type counts its occurrences, so a labeller that faults twenty times shows one alarm with twenty occurrences on the stop analysis board. Write the first checks per fault number into each rule's runbook text.
Acknowledging needs the User role; resolving by hand, muting and editing rules need Admin. During changeovers and CIP, switch the line to Manual on its Rules card with Manual until the planned end, so the stop rules of the Rules card do not fire. The pasteurisation and CIP alarms are profile alarm rules, which Manual does not stop; a Rules-card rule that only notifies or raises alarms can also be marked Also runs in Manual. Mute single machines during maintenance (at most 90 days). Above 20 notifications a minute, Hermetry sends a five-minute digest.
Automation and integrations
- ERP and MES: hourly good counts per line and SKU are pulled through the REST API with a read-only API key (
agg=increase,bucket=1h) and booked against orders in the ERP or MES. - Stop events: a flow passes
statechanges through an Only changes block and posts them with machine, fault number and time stamp to the MES or a stop-analysis tool with HTTP request. - Maintenance: signed
alarm.createdandalarm.clearedwebhooks for the filler-stopped and line-stopped alarms open and close work requests in the CMMS. - Food-safety records: pasteuriser and CIP readings stay in Hermetry's history for at most 90 days as raw values and for the retention class you choose as hourly and daily aggregates; quality assurance downloads them to Excel per batch or cleaning within the raw window, and alarm times show every deviation. Your HACCP records stay in the system your plan names.
- Reporting: scheduled, e-mailed reports are not built in today; use tables, Excel and the API.
This design sends no commands. Line control, speed regulation between machines and machine safety stay in the PLCs and the line controller.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Line operator | Display link on the line screen | Read-only line board; nothing can be changed from the screen. |
| Line lead | User, policy limited to the line | Line boards and alarms, acknowledge, switch the line to Manual for changeover. |
| Maintenance technician | User + IoT operator group | All machines and alarms, acknowledge, stop analysis. |
| Quality assurance | User + IoT viewer group | Quality board, process history, downloads; acknowledges food-safety alarms. |
| Production manager | User + IoT viewer group | Every board and table. |
| Automation engineer | Admin | Profiles, gateway settings, flows, rules, drawings, firmware, mutes. |
Display links last between 1 and 365 days and can be revoked one by one; create one per screen. The audit log records rule and profile edits, Manual switches with their duration, mutes and setting jobs in a hash chain, which shows an auditor that the monitoring of pasteurisation and CIP was not switched off around a deviation.
Sizing and data
As an order of magnitude, for one line with ten packaging machines, three buffer conveyors and three process controllers, running three shifts:
- Counters and speeds every 30 s: 10 × 2,880 = 28,800 messages a day.
- State changes on a busy line: allow about 500 per machine per day, 5,000 a day, counted as one message per device per reading as a conservative estimate.
- Buffers on change: about 3,000 a day. Process controllers every 30 to 60 s: about 7,000 a day.
- About 44,000 messages a day per line, roughly 1.3 million a month; four lines about 5.3 million a month. Telemetry and attribute messages count toward the allowance; alarms do not.
- Values: about 7 per message, 300,000 a day per line, in the order of 110 million a year.
Raw state changes are the record for stop analysis; raw readings are kept for at most 90 days (in the 365- and 1,095-day classes), so analyse stops within that window or export them. Accumulators and counters roll up into hourly and daily aggregates, kept for the full retention class (up to three years), for long-term trends. Pasteuriser and CIP readings are raw values for at most 90 days too: export each batch's or cleaning's readings to Excel or through the API within that window and keep them as long as your food-safety plan requires. Storage per value depends on the deployment; ask us to confirm the estimate.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Definitions | 1-3 | State model, register block per supplier, first-out source, rated speeds, shift pattern, food-safety limits with quality assurance. | Signed state model and point list; supplier work orders for missing registers. |
| 1. Filler group | 4-7 | Filler, the machines before and after it, buffers, pasteuriser. Line board, drawing, filler rules, quality board. | Counts match the filler's own counter over a shift; first-out agreed correct on 20 observed stops. |
| 2. Whole line | 8-11 | All machines, CIP, stop analysis board, accumulators, cameras if wanted. | Machine availability figures accepted by maintenance; nuisance pages under an agreed level per shift. |
| 3. Integration | 12-14 | ERP counts, MES stop events, CMMS webhooks, quality downloads. | One week without manual shift sheets. |
| 4. Other lines | From 15 | Copy profiles, baselines, drawings and boards. | Each line live within two to three weeks of wiring. |
Commissioning checklist
- Gateway claimed and placed on the line; every machine appears as a child device with its line-and-machine name, placed on its asset in flow order.
- Each state forced with the operator on each machine, including starved and blocked by stopping a neighbour; colours and codes correct.
count_outof the filler over one hour equals the filler's own counter; good containers at the end of the line reconcile with the filler minus rejects.- Accumulators checked: the sum of
t_run_s,t_starved_s,t_blocked_sandt_fault_sover an hour is close to 3,600 s. - First-out checked on a deliberately caused stop (for example a labeller stopped by the operator): the right machine blinks.
- Pasteuriser PU and CIP values compared with the controllers' displays; units and scaling correct.
- Food-safety alarms forced with quality assurance present, with the limit attribute temporarily raised; notifications and acknowledgement work, also while the line is in Manual.
- Cascade test: a full line stop produces no dropped messages (no rate limit notice).
- Gateway uplink unplugged for 10 minutes; afterwards counts and accumulators are complete.
- Line screen display link working; drawing has nothing in the Problems tab.
Pitfalls
- Blocked and starved counted as faults. Every machine looks bad and the real cause is lost. Keep them as separate states and accumulators.
- First-out from polling alone. One-second polling cannot order a cascade reliably; use the line controller or PLC time stamps.
- Every fault paged. Micro-stops are for the stop analysis board, not for phones.
- Different state codes per supplier. Map them once in the gateway, not in every rule and symbol.
- Counting at the wrong place. Filler counts include containers rejected later; report good output from the end of the line.
- Food-safety alarms tied to line rules. Keep them as profile alarm rules, which Manual does not stop, and test them during a CIP in Manual.
What Hermetry does not replace
Hermetry shows and records what the line does; it does not control it. Machine control, line speed regulation, reject gates, pasteuriser control and every safety function stay in the PLCs, the line controller and their safety circuits, and must work when the link or the platform is unavailable. Product release, HACCP records and batch traceability stay in the quality and production systems your food-safety plan names; Hermetry data supports them.

