Kawalan Proses Statistik: Asas Kualiti
Carta kawalan ialah tunjang kawalan proses statistik (SPC), menggunakan sisihan piawai untuk memantau kestabilan proses dari semasa ke semasa. Dibangunkan oleh Walter Shewhart di Bell Labs pada tahun 1920-an, alat berkuasa ini membezakan antara variasi sebab biasa (yang wujud dalam proses) dan variasi sebab khas (menunjukkan masalah yang memerlukan perhatian).
Kehebatan carta kawalan terletak pada kesederhanaannya: plot ukuran anda dari semasa ke semasa, tambah had kawalan berdasarkan sisihan piawai, dan perhatikan titik atau corak yang menandakan masalah. Pemantauan masa nyata ini mencegah kecacatan sebelum ia berlaku, bukan menangkapnya melalui pemeriksaan selepas itu.
Industri pembuatan, penjagaan kesihatan, dan perkhidmatan moden bergantung pada carta kawalan untuk mengekalkan kualiti. Daripada fabrikasi semikonduktor yang memerlukan ketepatan nanometer hingga kadar jangkitan hospital, SPC menyediakan rangka kerja sejagat untuk penambahbaikan proses.
Sebab Biasa vs Sebab Khas
Jenis Carta Kawalan
Jenis data yang berbeza memerlukan carta kawalan yang berbeza. Memilih carta yang betul memastikan pemantauan proses yang tepat:
| Jenis Carta | Jenis Data | Kes Penggunaan |
|---|---|---|
| X̄-R (X-bar dan Julat) | Selanjar, subkumpulan n≤10 | Ukuran pembuatan |
| X̄-S (X-bar dan Sisihan Piawai) | Selanjar, subkumpulan n>10 | Pensampelan kelompok besar |
| I-MR (Individu-Julat Bergerak) | Ukuran individu | Ujian mahal/musnah |
| carta-p | Perkadaran cacat | Pemeriksaan lulus/gagal |
| carta-c | Bilangan kecacatan | Kecacatan per unit |
Untuk data selanjar (ukuran seperti panjang, berat, suhu), carta X̄-R ialah yang paling biasa. Anda mengumpul subkumpulan sampel, plot purata (X̄) pada satu carta dan julat (R) pada carta yang lain. Bersama-sama, mereka memantau kedua-dua pemusatan proses dan kebolehubahan.
Mengira Had Kawalan
Had kawalan mentakrifkan sempadan variasi yang dijangka. Ia ditetapkan pada ±3 sisihan piawai daripada garis pusat, menangkap 99.73% titik apabila proses dalam kawalan:
Control Limits
Untuk carta X̄ menggunakan kaedah julat, formula menjadi:
X-bar Chart Limits
Di mana X̿ ialah min besar, R̄ ialah julat purata, dan A₂ ialah pemalar bergantung pada saiz subkumpulan (contohnya, A₂ = 0.577 untuk n=5).
Had Kawalan ≠ Had Spesifikasi
Pemalar Had Kawalan
| n | A₂ | D₃ | D₄ |
|---|---|---|---|
| 2 | 1.880 | 0 | 3.267 |
| 3 | 1.023 | 0 | 2.574 |
| 4 | 0.729 | 0 | 2.282 |
| 5 | 0.577 | 0 | 2.114 |
Peraturan Western Electric untuk Mengesan Masalah
Satu titik di luar had kawalan bukan satu-satunya isyarat masalah. Peraturan Western Electric mengesan corak yang lebih halus dengan membahagikan carta kepada zon berdasarkan sisihan piawai:
- Zon C:Dalam 1σ daripada garis pusat
- Zon B:Antara 1σ dan 2σ daripada pusat
- Zon A:Antara 2σ dan 3σ daripada pusat
Empat Peraturan Utama
Peraturan 1: Titik Tunggal
Peraturan 2: Larian 9
Peraturan 3: Aliran 6
Peraturan 4: Corak Zon
Mengenali Corak Lazim
Pengamal berpengalaman belajar mengenali corak visual yang menunjukkan masalah tertentu:
| Corak | Rupa | Punca Kemungkinan |
|---|---|---|
| Anjakan | Perubahan tahap mendadak | Pengendali baharu, kelompok bahan, pelarasan peralatan |
| Aliran | Hanyutan beransur naik/turun | Kehausan alat, hanyutan suhu, keletihan |
| Kitaran | Corak berulang naik/turun | Perubahan syif, kitaran persekitaran, jadual putaran |
| Menghampiri | Titik berkumpul berdekatan pusat | Had tidak betul, data dibundarkan/disunting |
| Bertingkat | Titik menjauhi pusat | Aliran bercampur, pelbagai mesin |
Pelaksanaan Python
Cipta carta kawalan X̄-R dengan pemeriksaan peraturan automatik:
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)