Sepasoft's SPC module for Ignition collects quality samples, from operators, lab instruments or PLC tags, plots them on control charts and checks every new sample against out-of-control rules, so that a drifting process raises a signal while the line is still running. This article explains how the module is organised, from the SPC pages of Sepasoft's MES Module Suite user manual: sample definitions and locations, the ways samples are collected, the charts and control limits, the signals and the Vision and Perspective screens. Which Sepasoft module fits which plant need: Sepasoft MES modules.
1. What the module does
Sepasoft describes SPC as the core of a quality management system built on Ignition, the platform from Inductive Automation; the module itself is a product of Sepasoft, Inc. Measurements of product and process are collected during production and plotted against control limits. Sepasoft separates two kinds of limit: control limits come from what the process is capable of, while specification limits come from what the customer requires. Each sample can also carry Additional Factors: data such as the raw material vendor, maintenance work, humidity or temperature that may explain a quality result. Where SPC sits among the other MES functions is covered in What is MES.
2. Sample definitions, attributes and locations
A sample definition holds everything that describes one type of sample: the attributes to measure, the locations where it is taken, the control limits and the rules for detecting abnormal variation. Each attribute is one measured quantity, such as pH, temperature, weight or a defect count, and has a data type that decides which charts it can feed:
| Data type | Used for |
|---|---|
| Integer, Real, Boolean | numeric and true or false values |
| Non Conforming Count | defective items, for p and np charts |
| Nonconformity Count | defects per item, for c and u charts |
An attribute also has a measurement count, a default value and an optional minimum and maximum that entered values are checked against. The sample definition sets the interval type, the minutes before a sample is flagged as coming due or overdue, the time needed to take it, and whether its values are approved automatically.
A location is the point in the production equipment model where samples are taken. It is added under an Area or a Line in the MES Equipment Manager, an option that appears only when SPC is installed, and one location can collect several samples. The Additional Factors active at a location are stored with every sample, and their values can come from memory tags, barcode readers, databases, calculations, PLCs or scripts.
3. Collecting samples
Sepasoft lists PLCs and other OPC-connected devices, lab instruments,
For values that already exist in Ignition, a Tag Sample Collector reads an Ignition tag and creates one sample, holding one measurement of one attribute, each time its interval fires. Sepasoft's examples are a checkweigher value recorded after every 100 value changes and a temperature recorded every 10 minutes while a process runs. The collector is configured on the location in the MES Equipment Manager, with a tag path, an interval and the control limits and signals to evaluate. Its samples are approved at once and go straight to the charts.
Manual samples are scheduled by the sample definition and appear in a colour-coded sample list as coming due, due, overdue, waiting for approval or approved. Operators fill in a scheduled sample or add a new one. When approval is required, values reach the control charts only after approval, and are then checked for out-of-control conditions. Sepasoft also describes reminders by e-mail, SMS or a flashing screen indicator, and the option of stopping production when a sample is overdue.
The default interval types, managed on the Enterprise node under the Quality tab in the Designer, are:
| Interval | When a sample is taken |
|---|---|
| Every Value Change, Every x Value Changes | when the tag value changes, or after x changes; Tag Sample Collectors only |
| Manual | only when an operator or a script enters it |
| Once at Production Start, Once at Production End | at the start or end of production; the interval script creates a sample when SPC trace is enabled, which system.production.setLocationProductCode switches on and cancelLocationProductCode switches off |
| Shift Change | at each shift change, from the shifts set in the production model |
| Timed Interval (Days, Hours, Minutes, Seconds) | every x of the chosen unit |
Intervals are Python scripts that can be edited or added; Sepasoft warns that edits to the prebuilt intervals revert to the defaults when the MES module restarts.
4. Which control chart for which data
The user manual groups the charts into three families and gives guidance on when each fits:
| Chart | Data and measurements per sample |
|---|---|
| X Bar Range | measured values, several measurements per sample, frequent sampling |
| X Bar Standard Deviation | measured values in larger samples; Sepasoft suggests about ten or more measurements |
| Individual | one measurement per sample, for slow or destructive tests |
| Median | costly or slow data, or data that is not normally distributed |
| Process Capability, Process Performance | Cp and Cpk, Pp and Ppk on one chart |
| P, NP | proportion of defective units with varying sample size (P), count with fixed sample size (NP) |
| C, U | defects with fixed sample size (C), defects per unit when size or opportunity varies (U) |
| Histogram, Pareto, Box and Whisker | analysis of distribution and causes |
5. Control limits and specification limits
Control limits in the module are usually drawn three standard deviations above and below the mean of the plotted statistic, and are calculated from past process data. Specification limits, entered as LSL, Target and USL, are requirements of the customer or the company and do not depend on how the process behaves. Sepasoft notes that control limits can be calculated, typed in or set by script to act as specification limits.
The limits are defined at the Enterprise level and each one is calculated by its own Python script. The default scripts use factors that depend on the measurements per sample, A2 for X Bar, D3 and D4 for Range and B3 and B4 for standard deviation; Individual limits are the average plus or minus 2.66 times the average moving range. On p and u charts the limits change from point to point with the number of items inspected. Authorised users can also set a limit by right-clicking it on the chart. Sepasoft advises dealing with problems on the dispersion chart (range or standard deviation) first, since unstable spread is likely to give false signals on the average chart.
6. Signals and what happens next
Signals are the out-of-control rules. Sepasoft says its built-in signals cover the standard Nelson and Western Electric rules, and a new project contains defaults such as Individual Nelson Rule 1 to 8, XBar Nelson Rule 1 to 8, WE Zone Rule 1 to 4, XBar 8 Above Control Line and rules for c, np, p and u charts. Each signal is a Python script tied to one chart kind and can be edited, copied or written from scratch. A signal is evaluated each time a sample is recorded when its sample definition selects it and its Look Back Period is set to a value other than No Auto Evaluation and a Look Back Duration is set; signals are also calculated when a chart is displayed.
When a signal fires, the Signal Out of Control tag of the location goes true. There is one such tag set per location, true when any sample definition there is out of control, and an Ignition alarm on that tag can notify people or stop a process. On the chart the point takes the colour and shape set for that signal, and a user can right-click it to record an assignable cause and a note.
7. Screens in Vision and Perspective
For Vision, which needs the Ignition Vision module, SPC adds two component tabs in the Designer: Quality components for creating and capturing sample data, and SPC components for analysing it. The Perspective component page dates its components by MES version: SPC Controller and SPC Charts from 3.81.7 RC1, SPC Analysis Selector and SPC Location Sample List from 3.81.10, and SPC Sample Entry from 3.81.11 RC2. The two pages disagree on one point: the Sample Definitions page says the Sample Definition Manager is currently a Vision component only, while the Perspective list also includes one, so check the release you install. Sepasoft's product page also describes SPC working with its OEE, recipe and traceability modules, such as Settings and Changeover and OEE Downtime, to reduce entering the same data twice.
What TDL checks first
These are our working habits on a project, not Sepasoft requirements:
- With the quality team, we list the characteristics worth charting and choose the data type, chart and measurements per sample for each.
- We check whether each value can come from a PLC tag that holds a settled measurement at the right moment, or whether it has to be entered by an operator or a lab.
- We agree the interval for each sample, who is reminded when it is overdue, and whether an overdue sample should stop the line.
- We keep the customer's specification limits separate from control limits, and agree who may recalculate control limits and when.
- We agree which signals each chart uses, who responds when a location goes out of control, and which Additional Factors are stored.
How TDL approaches it
TDL Industrial Automation is a Sepasoft MES Certified Integrator and an Ignition Certified Integrator. Our quality-related work so far has been on Rockwell Automation platforms: barcode and OCR checks, vision, checkweigher and reject stations on packing lines. Where a plant chooses SPC, we connect the sample sources to the line PLCs. More on this service: MES on Ignition with Sepasoft and Ignition integrator in Vietnam.
Frequently asked questions
Which control charts does Sepasoft SPC provide?
Value charts (X Bar Range, X Bar Standard Deviation, Individual, Median, Process Capability and Process Performance), attribute charts (P, NP, C and U) and analysis charts (Histogram, Pareto, Box and Whisker).
Can SPC samples come straight from a PLC?
Yes. A Tag Sample Collector reads an Ignition tag, which can be an OPC tag from a PLC, and creates a sample each time its interval fires, for example after a set number of value changes or every few minutes. These samples are approved at once.
How are control limits calculated?
Each limit is a Python script defined at the Enterprise level, and the default scripts calculate the limits from past data, with factor tables that depend on the measurements per sample. A limit can also be set by hand on the chart or by script.
Are control limits the same as specification limits?
No. Control limits come from how the process behaves; specification limits (LSL, Target, USL) are requirements of the customer or the company.
What happens when a sample breaks a rule?
The Signal Out of Control tag of the location goes true, the point is marked on the chart, and an alarm on that tag can notify people or stop the process. A user can then record a cause and a note on the point.
Sources
- Sepasoft, Statistical Process Control (SPC) and SPC Module Overview, MES Module Suite user manual
- Sepasoft, Sample Definitions and MES Locations for SPC in Production Equipment Model
- Sepasoft, Tag Sample Collectors, Sample Intervals and Scheduling and Entering Samples
- Sepasoft, Control Charts, Control Limits and Signals
- Sepasoft, SPC Perspective Components and SPC Vision Components
- Sepasoft, SPC product page
Read 13 November 2026. This article paraphrases the sources and does not quote them; read the original documents before designing or working on a system.