La capabilité de processus vous indique si votre processus de fabrication peut produire des unités de manière fiable dans les limites de spécification. Le Cp mesure le potentiel, le Cpk mesure la réalité. Ensemble, ils révèlent si votre processus est capable et centré.
Les formules
Cp mesure quelle proportion de la fenêtre de spécification est utilisée par la variation de votre processus :
Cp = (USL - LSL) / 6σ
Où USL est la limite de spécification supérieure, LSL est la limite de spécification inférieure, et σ est l'écart-type du processus.
Le Cp ne regarde que la dispersion. Il ignore si votre processus est centré entre les limites. C'est là qu'intervient le Cpk.
Cpk = min((USL - μ) / 3σ, (μ - LSL) / 3σ)
Où μ est la moyenne du processus. Le Cpk prend le côté le plus défavorable. Si votre processus dérive vers une limite, le Cpk baisse même si le Cp reste élevé.
Signification des valeurs de Cpk
| Valeur Cpk | Interprétation | Taux de défauts (approx.) |
|---|---|---|
| < 1,0 | Le processus n'est pas capable. Des unités sortent des limites. | > 2 700 ppm |
| 1,0 | À peine capable. Le bord à 3 sigma touche la limite de spécification. | ~2 700 ppm |
| 1,0 - 1,33 | Marginalement capable. Acceptable pour les dimensions non critiques. | 2 700 - 63 ppm |
| 1,33 | Minimum communément accepté pour les processus de production. | ~63 ppm |
| 1,33 - 1,67 | Bonne capabilité. Marge raisonnable pour la dérive du processus. | 63 - 0,6 ppm |
| > 1,67 | Excellent. Le processus a une marge significative dans les spécifications. | < 0,6 ppm |
Une façon pratique de comprendre : un Cpk de 1,33 signifie que votre processus utilise 75 % de la fenêtre de spécification, laissant 25 % de tampon pour la dérive et la variation. La plupart des normes automobiles et aéronautiques exigent un Cpk >= 1,33 en production, avec 1,67 pour les paramètres critiques pour la sécurité.
La relation entre Cp et Cpk
Quand le Cp est égal au Cpk, votre processus est parfaitement centré entre les limites de spécification. Quand le Cpk est nettement inférieur au Cp, votre processus a dérivé hors du centre.
| Scénario | Cp | Cpk | Diagnostic |
|---|---|---|---|
| Centré et capable | 1,5 | 1,5 | État idéal |
| Décentré mais dispersion capable | 1,5 | 0,9 | La moyenne du processus a dérivé. Recentrer. |
| Variation large, centré | 0,8 | 0,8 | Trop de variation. Réduire σ. |
| Variation large, décentré | 0,8 | 0,4 | Les deux problèmes. Corriger la variation d'abord. |
Cette distinction est importante pour l'action corrective. Si le Cp est correct mais le Cpk est bas, vous devez ajuster la moyenne du processus (problème d'étalonnage). Si le Cp lui-même est bas, vous devez réduire la variation (problème fondamental de processus).
Alimenter TofuPilot en données de mesure
Pour que TofuPilot calcule le Cpk, votre code de test doit définir des mesures avec des limites supérieures et inférieures. Voici un test OpenHTF qui mesure les paramètres critiques d'un module capteur :
# Test de calibration de capteur avec limites pour l'analyse Cpk
import openhtf as htf
from openhtf.util import units
from tofupilot.openhtf import TofuPilot
@htf.measures(
htf.Measurement("output_voltage")
.in_range(minimum=2.45, maximum=2.55)
.with_units(units.VOLT),
htf.Measurement("offset_voltage")
.in_range(minimum=-5.0, maximum=5.0),
htf.Measurement("sensitivity")
.in_range(minimum=195, maximum=205),
htf.Measurement("noise_floor")
.in_range(maximum=500),
htf.Measurement("response_time")
.in_range(maximum=10.0),
)
def sensor_validation(test):
test.measurements.output_voltage = 2.501
test.measurements.offset_voltage = 0.8
test.measurements.sensitivity = 200.3
test.measurements.noise_floor = 320
test.measurements.response_time = 4.7
def main():
test = htf.Test(sensor_validation)
with TofuPilot(test):
test.execute(test_start=lambda: "SENSOR-2024-1587")
if __name__ == "__main__":
main()Les appels in_range() définissent USL et LSL. Quand vous définissez minimum et maximum, TofuPilot obtient les deux limites et peut calculer Cp et Cpk. Quand vous ne définissez que maximum, TofuPilot calcule un indice de capabilité unilatéral.
Lire le Cpk dans TofuPilot
Une fois que suffisamment de runs de test se sont accumulés (typiquement 30+ points de données pour la significativité statistique), l'analytique de mesure de TofuPilot vous montre :
- Valeur de Cpk par mesure calculée à partir de vos données de production. Vous pouvez voir d'un coup d'œil quelles mesures sont capables et lesquelles ne le sont pas.
- Histogrammes de mesures superposés aux limites de spécification, pour que vous puissiez évaluer visuellement la forme de la distribution, le centrage et la dispersion.
- Cartes de contrôle qui suivent les valeurs de mesure dans le temps, révélant les dérives avant que le Cpk ne tombe sous votre seuil.
Pas besoin d'exporter les données et de calculer le Cpk dans un tableur. Définissez vos limites dans OpenHTF, exécutez vos tests, et TofuPilot calcule le reste.
Pièges courants
Pas assez de données. Un Cpk calculé à partir de 10 unités n'est pas fiable. Attendez au moins 30 points de données, idéalement 50+, avant de prendre des décisions de processus basées sur le Cpk.
Confondre limites de spécification et limites de contrôle. Les limites de spécification (USL/LSL) viennent de vos exigences produit. Les limites de contrôle viennent de vos données de processus. Le Cpk utilise les limites de spécification.
Ignorer les distributions non normales. La formule standard du Cpk suppose une distribution normale. Si vos données de mesure sont asymétriques (courant avec les spécifications unilatérales comme le bruit de fond), la formule standard peut surestimer la capabilité.
Mélanger les populations. Si vous calculez le Cpk à partir de données de deux stations de test avec des étalonnages différents, le σ combiné sera gonflé. Vérifiez d'abord le Cpk par station.