Manufacturing and machineryMuvia Industrial
The control chart that warns you first
Weighings from the checkweigher become an X̄-R chart with 3σ limits and the Western Electric rules, recalculated at every shift change. A worn nozzle shows up hours before the scrap does, and Cpk shift by shift tells you where to act.
Illustrative scenario: it describes a typical case, not a customer project.
Scrap is counted at the end of the shift. The drift started hours earlier.
Every fifteen minutes a filler weighs a sample of bottles, and the figure ends up in a log someone reads at the end of the shift or when a customer complains. A wearing nozzle moves the mean by a few tenths of a gram an hour: no single bottle is out of specification until it is too late.
Control charts exist for exactly this, but kept by hand or in a spreadsheet they come too late. In Muvia the weighings arrive from the line, the chart recalculates itself and the Western Electric rules flag a mean that is starting to move, not bottles that are already out.
- Who it's for
- Quality managers, process engineers, shift supervisors and maintenance on filling and packaging lines.
In Muvia, step by step
Real product screens, recorded on a project with sample data.
The video · Weighings from the checkweigher become an X̄-R chart with 3σ limits and the Western Electric rules, recalculated at every shift change. A worn nozzle shows up hours before the scrap does, and Cpk shift by shift tells you where to act.
What you get
- Drift is seen before the scrap
- A mean that moves trips a rule while the bottles are still in specification, not afterwards.
- A chart that is always current
- Nobody copies weighings into a spreadsheet: the chart recalculates itself every shift.
- The shift to look at first
- Cpk shift by shift shows where the process is least capable and where to act.
- Rules written once
- Limits and rules live in one function: they apply the same way to every line you connect.
For the technical team
How it is built in Muvia
- 1
Connect checkweigher and filler
On the edge node you configure the checkweigher's OPC UA driver and the filler's S7 driver: every weighing arrives with its timestamp and its subgroup. If the connection drops, the node keeps the readings in a local buffer.
- 2
Compute the chart in Python
A Python function computes the mean and range of each subgroup, the 3σ limits from the reference period and the Western Electric rules. A flow runs it at every shift change and writes the result to a table.
- 3
Watch the drift in Analysis
In Analysis the chart shows the mean, the limits and the centre line; each rule is a condition that colours the out-of-control stretches, and annotations record what happened, such as a nozzle being replaced.
- 4
Alert the line
A threshold on the violated-rules column opens an episode in the alarm register: the shift supervisor takes it on and notes what was done to the filler.
- 5
Measure capability by shift
A notebook brings together Cp and Cpk for each shift, the mean hour by hour and the actions agreed, and prints to PDF for the quality meeting.
Python function
import pandas as pd
A2 = 0.577 # subgroups of 5 weighings
def at_least(mask, n, k):
"""True where at least k of the last n subgroups meet the mask."""
return mask.astype(int).rolling(n).sum() >= k
def transform(inputs, params, ctx):
d = inputs["rows"]
g = d.groupby("subgroup").agg(
start=("ts", "min"), mean=("weight_g", "mean"),
range=("weight_g", lambda s: s.max() - s.min()))
ref = g[g["start"] < pd.Timestamp(params["reference_end"])]
centre = ref["mean"].mean()
sigma = A2 * ref["range"].mean() / 3
z = (g["mean"] - centre) / sigma
g["centre_line"] = centre
g["upper_limit"] = centre + 3 * sigma
g["lower_limit"] = centre - 3 * sigma
g["rule_1"] = z.abs() > 3
g["rule_2"] = at_least(z > 2, 3, 2) | at_least(z < -2, 3, 2)
g["rule_3"] = at_least(z > 1, 5, 4) | at_least(z < -1, 5, 4)
g["rule_4"] = at_least(z > 0, 8, 8) | at_least(z < 0, 8, 8)
g["out_of_control"] = g.filter(like="rule_").any(axis=1)
return {"rows": g.reset_index()}- The data it needs
- The net weight of 5 bottles every 15 minutes from the checkweigher, over OPC UA
- Filler speed and nozzle status from the Siemens S7 PLC
- The weight specification and the Cpk target from an Excel file
- Shifts and the reference period used to compute the limits
More cases in this line
All use cases- Process quality and traceabilityProcess parameters from the PLC, lots from the line database, orders and scrap from the ERP, all in the same engine. Every lot has its process history, and an alarm goes off when a parameter leaves its window while the lot is being made.
- Connected machines for machine buildersEvery machine you sell carries a Muvia node, and every customer gets a company of its own, kept apart from the others. Your service team follows the whole fleet with one login, and each customer gets dashboards and reports on their machine.
- A measurement campaign from the edge nodeAn edge node acquires the load, vibration and temperature of a compressor installed offshore every second, and Muvia analyses them as they arrive. Overlaid load steps and correlations tell you the same day what drives the bearing: the load or the motion of the sea.
Tell us which machines you run. We'll tell you how to read them.
PLC brand, protocol, how the floor is connected: with those three answers, in a demo with one of our engineers, we show you how Muvia Industrial puts line data next to the rest of the business.