Σ
SDCalc
IntermediarAplicații·14 min

Diagrame de control și controlul proceselor

Stăpânește controlul statistic al proceselor (SPC) cu diagrame de control. Învață să stabilești limitele de control folosind deviația standard, să aplici regulile Western Electric și să detectezi derivele procesului.

Controlul statistic al proceselor: fundamentul calității

Diagramele de control sunt piatra de temelie a controlului statistic al proceselor (SPC), utilizând deviația standard pentru a monitoriza stabilitatea procesului în timp. Dezvoltate de Walter Shewhart la Bell Labs în anii 1920, aceste instrumente puternice disting între variația din cauze comune (inerentă procesului) și variația din cauze speciale (care indică probleme ce necesită atenție).

Geniulitatea diagramelor de control rezidă în simplitatea lor: trasezi măsurătorile în timp, adaugi limite de control bazate pe deviația standard și urmărești punctele sau tiparele care semnalează probleme. Această monitorizare în timp real previne defectele înainte de a apărea, în loc să le descopere prin inspecție ulterioară.

Industria modernă de producție, sănătatea și serviciile se bazează pe diagrame de control pentru menținerea calității. De la fabricarea semiconductorilor care necesită precizie de nanometri până la ratele de infecții din spitale, SPC oferă un cadru universal pentru îmbunătățirea proceselor.

Cauze comune vs. cauze speciale

Variația din cauze comune este variabilitatea naturală, așteptată, a oricărui proces. Variația din cauze speciale indică o schimbare — un operator nou, o unealtă uzată sau un material contaminat. Diagramele de control te ajută să faci distincția între cele două.

Tipuri de diagrame de control

Tipuri diferite de date necesită diagrame de control diferite. Alegerea diagramei potrivite asigură monitorizarea precisă a procesului:

Tip diagramăTip dateUtilizare
X̄-R (X-bar și Amplitudine)Continue, subgrupuri n≤10Măsurători de producție
X̄-S (X-bar și Dev. Std.)Continue, subgrupuri n>10Eșantionare loturi mari
I-MR (Individuală-Amplitudine mobilă)Măsurători individualeTestare costisitoare/distructivă
Diagrama pProporție defectăInspecție acceptat/respins
Diagrama cNumăr de defecteDefecte per unitate

Pentru date continue (măsurători precum lungime, greutate, temperatură), diagrama X̄-R este cea mai utilizată. Colectezi subgrupuri de eșantioane, trasezi media (X̄) pe o diagramă și amplitudinea (R) pe alta. Împreună, ele monitorizează atât centrarea procesului, cât și variabilitatea.

Calculul limitelor de control

Limitele de control definesc granițele variației așteptate. Se stabilesc la ±3 deviații standard de la linia centrală, cuprinzând 99,73% din puncte când procesul este sub control:

Control Limits

UCL = x̄ + 3σ, CL = x̄, LCL = x̄ - 3σ

Pentru o diagramă X̄ folosind metoda amplitudinii, formulele devin:

X-bar Chart Limits

UCL = X̿ + A₂R̄, LCL = X̿ - A₂R̄

Unde X̿ este media generală, R̄ este amplitudinea medie, iar A₂ este o constantă care depinde de dimensiunea subgrupului (de ex., A₂ = 0,577 pentru n=5).

Limite de control ≠ Limite de specificație

Limitele de control sunt calculate din datele tale și reflectă ce face efectiv procesul. Limitele de specificație sunt stabilite de clienți/ingineri și reflectă ce ar trebui să facă procesul. Un proces poate fi sub control și totuși să producă piese în afara specificațiilor.

Constantele limitelor de control

nA₂D₃D₄
21,88003,267
31,02302,574
40,72902,282
50,57702,114

Regulile Western Electric pentru detectarea problemelor

Un singur punct în afara limitelor de control nu este singurul semnal de alarmă. Regulile Western Electric detectează tipare mai subtile prin împărțirea diagramei în zone bazate pe deviații standard:

  • Zona C:În intervalul de 1σ față de linia centrală
  • Zona B:Între 1σ și 2σ față de centru
  • Zona A:Între 2σ și 3σ față de centru

Cele patru reguli principale

1

Regula 1: Punct singular

Un punct dincolo de 3σ (Zona A sau mai departe). Probabilitatea ca aceasta să apară natural este de doar 0,27%.
2

Regula 2: Serie de 9

9 puncte consecutive de aceeași parte a liniei centrale. Indică o deplasare a mediei procesului.
3

Regula 3: Tendință de 6

6 puncte consecutive în creștere sau descreștere. Sugerează deriva procesului sau uzura sculei.
4

Regula 4: Tipar de zonă

2 din 3 puncte consecutive în Zona A sau mai departe (de aceeași parte). Avertisment timpuriu de deplasare.

Recunoașterea tiparelor frecvente

Practicienii experimentați învață să recunoască tipare vizuale care indică probleme specifice:

TiparAspectCauză probabilă
DeplasareSchimbare bruscă de nivelOperator nou, lot de material, reglare echipament
TendințăDerivă graduală în sus/josUzura sculei, derivă de temperatură, oboseală
CicluriTipar repetitiv sus/josSchimburi de lucru, cicluri de mediu, rotații de program
GruparePuncte grupate lângă centruLimite incorecte, date rotunjite/editate
StratificarePunctele evită centrulFluxuri mixte, mașini multiple

Implementare Python

Crearea unei diagrame de control X̄-R cu verificare automată a regulilor:

python
import numpy as np
import matplotlib.pyplot as plt

def create_xbar_chart(data, subgroup_size=5):
    """Create X-bar control chart with control limits."""
    # Reshape data into subgroups
    n_subgroups = len(data) // subgroup_size
    subgroups = data[:n_subgroups * subgroup_size].reshape(n_subgroups, subgroup_size)

    # Calculate subgroup means and ranges
    xbar = subgroups.mean(axis=1)
    R = subgroups.max(axis=1) - subgroups.min(axis=1)

    # Control chart constants (for n=5)
    A2 = 0.577
    D3, D4 = 0, 2.114

    # Calculate control limits
    xbar_bar = xbar.mean()
    R_bar = R.mean()

    UCL = xbar_bar + A2 * R_bar
    LCL = xbar_bar - A2 * R_bar

    # Check for out-of-control points
    ooc = (xbar > UCL) | (xbar < LCL)

    # Plot
    plt.figure(figsize=(12, 5))
    plt.plot(xbar, 'b-o', markersize=4)
    plt.axhline(xbar_bar, color='g', linestyle='-', label='CL')
    plt.axhline(UCL, color='r', linestyle='--', label='UCL')
    plt.axhline(LCL, color='r', linestyle='--', label='LCL')
    plt.scatter(np.where(ooc)[0], xbar[ooc], color='red', s=100, zorder=5)
    plt.xlabel('Subgroup')
    plt.ylabel('X-bar')
    plt.title('X-bar Control Chart')
    plt.legend()
    plt.show()

    return {'xbar': xbar, 'UCL': UCL, 'LCL': LCL, 'ooc': ooc}

# Example: Monitor a manufacturing process
np.random.seed(42)
# Simulate 100 measurements (20 subgroups of 5)
measurements = np.random.normal(100, 2, 100)
# Add a shift at subgroup 15
measurements[75:] += 3

result = create_xbar_chart(measurements)