Imaginez que j'ai un processus en plusieurs étapes, comme peut-être un processus de distribution d'additifs, où j'utilise des pompes bien caractérisées pour fournir des volumes définis au conteneur, puis à la fin, je vérifie la masse du conteneur. Ce que j'aimerais savoir, c'est à quelle variation s'attendre dans le poids de remplissage final. Dans mon précédent Blog J'ai montré comment simuler un niveau catégoriel. Étendre cette approche à plusieurs entrées sera un peu délicat et demandera beaucoup plus de travail. Il existe une autre façon d'aborder le problème en utilisant plusieurs outils dans JMP ensemble.
Étape 1. Créez un tableau de données comme celui-ci :
Dans ce tableau, il n'y a que 2 lignes ! La colonne :Final a une formule qui additionne les 4 premières colonnes. Il y a aussi un formatage spécial. Je suis allé dans Column Info et Properties et j'ai ajouté une propriété Sigma (environ 2/3 de la liste déroulante des propriétés). Comme j'utilise une pompe similaire bien définie pour chaque étape, j'ai réglé sigma à 0,25 ml.
Exécutez ce morceau de JSL pour créer la table :
dt=New Table( "Propagation of Error Profiler",
Add Rows( 2 ),
New Column( "Step 1", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Step 2", Set Property( "Sigma", 0.25 ), Set Values( [4, 5] )),
New Column( "Step 3", Set Property( "Sigma", 0.25 ), Set Values( [20, 22] )),
New Column( "Step 4", Set Property( "Sigma", 0.25 ), Set Values( [10, 12] )),
New Column( "Final",Formula( :Step 1 + :Step 2 + :Step 3 + :Step 4 ))
);
Étape 2. Profil de la formule
Dans le menu Graph, choisissez Profiler. Ajoutez la colonne "Final" à la boîte de dialogue et cliquez sur OK.
Dans le menu Triangle rouge du profileur (RTM), une option spéciale est disponible pour aider à visualiser l'erreur connue à partir des entrées. (c'est-à-dire qu'il n'est présent que lorsque sigma est spécifié comme propriété de colonne.) Choisissez l'option Prop of Error Bars.
L'étape suivante dans le profileur consiste à activer le simulateur. Cette option se trouve sous la barre de contour du Prediction Profiler RTM. Étant donné que sigma est spécifié, le simulateur commence automatiquement par une simulation de distribution normale de chaque variable au milieu des valeurs spécifiées dans le tableau et le sigma dans la propriété de colonne. (économise beaucoup de clics)
À ce stade, votre profileur devrait ressembler à ceci :

Étape 3 Commencez à simuler
C'est là que ça devient intéressant. Je dois simuler l'exécution du processus suffisamment de fois pour pouvoir bien comprendre la variation du poids final. Pour obtenir un nombre représentatif d'exécutions, remplacez les 5 000 dans N Runs par quelque chose comme 500 000. (1 million, c'est bien mais 100 millions prendront du temps, bien que l'estimation à la fin soit un peu meilleure)
Ouvrez ensuite la barre de contour Simuler vers un tableau et cliquez sur le bouton "Créer un tableau".
Maintenant, j'ai une table avec 500 000 exécutions. Chaque exécution est à un niveau aléatoire différent pour chacune des entrées de processus. En vérifiant la distribution des entrées et des sorties, je peux voir que le côté haut de mon poids de remplissage final provient principalement de la course où les entrées se situent sur le côté haut de leur plage.
Maintenant que j'ai une assez bonne idée de la variation du poids de remplissage final, je peux utiliser le flux de travail typique de la plate-forme de distribution pour calculer une plage raisonnable que je peux m'attendre à ce que les poids de remplissage occupent.
Étape 4 Obtenir des limites 4 sigma
Donc, oui, je pourrais simplement calculer une plage d'écart type de 4 sur une calculatrice presque aussi vite que je peux faire ce que je vais faire ensuite. Mais c'est un peu mieux et beaucoup plus cool.
Analyse> Distribution> choisissez la colonne finale simulée.
Dans la barre de contour Distribution, sélectionnez Fit Continuous et sélectionnez Normal.
Dans la barre de contour de la normale ajustée, cliquez sur Définir les limites de spécification pour k Sigma.
Dans ce cas, je vais choisir 4 sigma. Je veux un poids de remplissage final qui est extrêmement peu susceptible de déclencher une alarme ou une action de contrôle.
Dernière étape, sous la barre de contour Fitted Normal, choisissez l'option "Save Spec Limits"
et ne fermez pas ce rapport. (idéalement, JMP mettrait dynamiquement la propriété spec limit à la disposition du simulateur du profileur, mais ce n'est pas le cas et nous devrons transférer manuellement les valeurs.)
Étape 5
Techniquement, j'ai terminé. J'ai fait une simulation massive de Monte Carlo de l'effet des entrées de processus sur mon poids de remplissage final, puis j'ai estimé un ensemble de limites qui ne se produiront probablement pas par hasard.
Mais attendez, il y a plus.
Je vais revenir au rapport du profileur. En bas, sous la barre de contour du simulateur, activez deux options. 1. Limites des spécifications, et 2. Mise à jour automatique de l'histogramme.
Dans la boîte de dialogue des limites de spécification, utilisez 45,5 et 49,5 comme LCL et UCL. Ce sont les valeurs arrondies que nous avons dérivées de l'analyse dans la plate-forme de distribution.
Ensuite, en haut à droite du profileur, il y a un bouton Simuler à côté des graphiques du profileur, cliquez dessus. Essayez également de déplacer les curseurs pour les entrées de processus, en faisant cela, je peux voir la tolérance du processus à la dérive dans une ou plusieurs pompes. Je peux aussi voir assez facilement que si j'avais des pompes de plus haute précision, je pourrais tolérer beaucoup plus de dérive ou d'erreur d'étalonnage sans risquer des poids de remplissage finaux élevés ou faibles.
Ceci est le script pour générer le profileur dans les figures
dt<<PROFILER></PROFILER>
Ce script va générer l'analyse depuis la plateforme de distribution
dt<<DISTRIBUTION></DISTRIBUTION>
J'espère que vous trouvez ça utile. Je suis sûr que quelqu'un (ou moi) a déjà écrit ce flux de travail, mais je n'ai pas pu le faire plus tôt cette semaine, alors le revoilà.
Acclamations,
B