Imaginez que j'ai un processus en plusieurs étapes, comme peut-être un processus de distribution d'additifs, dans lequel j'utilise des pompes bien caractérisées pour délivrer 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 simultanément plusieurs outils de JMP.
É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 existe également un formatage spécial. Je suis allé dans les informations sur la colonne et les propriétés et j'ai ajouté une propriété Sigma (environ les 2/3 de la liste déroulante des propriétés). Puisque 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 le tableau :
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 Graphique, choisissez Profileur. Ajoutez la colonne "Final" à la boîte de dialogue et cliquez sur OK.
Dans le menu Triangle rouge (RTM) du Profiler, une option spéciale est disponible pour aider à visualiser l'erreur connue à partir des entrées. (c'est-à-dire que ce n'est là que lorsque sigma est spécifié comme propriété de colonne.) Choisissez l'option Prop of Error Bars.
L'étape suivante du profileur consiste à activer le simulateur. Cette option se trouve sous la barre de présentation RTM du Prediction Profiler. Puisque 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 du sigma dans la propriété de colonne. (évite beaucoup de clics)
À ce stade, votre profileur devrait ressembler à ceci :

Étape 3 : Commencez la simulation
C’est ici que cela devient intéressant. Je dois simuler l'exécution du processus suffisamment de fois pour pouvoir bien comprendre dans quelle mesure le poids final variera. Pour obtenir un nombre représentatif d'exécutions, remplacez le chiffre 5 000 dans les N exécutions par quelque chose comme 500 000. (1 million, c'est bien, mais 100 millions prendront du temps, même si l'estimation à la fin sera un tout petit peu meilleure)
Ensuite, ouvrez la barre contextuelle Simuler dans un tableau et cliquez sur le bouton "Créer un tableau".
Maintenant, j'ai une table avec 500 000 exécutions. Chaque exécution se déroule à un niveau aléatoire différent pour chacune des entrées du processus. En vérifiant la répartition des entrées et des sorties, je peux voir que le côté haut de mon poids de remplissage final provient principalement de l'exécution où les entrées se trouvaient 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 les limites de 4 sigma
Donc, oui, je pourrais simplement calculer une plage de 4 écarts types sur une calculatrice presque aussi vite que je peux faire ce que je vais faire ensuite. Mais c'est un peu mieux et bien plus cool.
Analyse>Distribution> choisissez la colonne Finale simulée.
Dans la barre contextuelle Distribution, sélectionnez Ajuster continu et choisissez Normal.
Dans la barre de contour Fitted Normal, cliquez sur Set Spec Limits for k Sigma.
Dans ce cas, je vais choisir 4 sigma. Je souhaite qu'un poids de remplissage final extrêmement improbable puisse déclencher une alarme ou une action de contrôle.
Dernière étape, sous la barre de contour Fitted Normal, choisissez l'option "Enregistrer les limites des spécifications".
et ne fermez pas ce rapport. (idéalement, JMP rendrait dynamiquement la propriété de limite de spécification disponible au simulateur du profileur mais ce n'est pas le cas et nous devrons transférer manuellement les valeurs.)
Étape 5
Techniquement, j'ai fini. J'ai effectué une simulation Monte Carlo massive de l'effet des entrées du processus sur mon poids de remplissage final, puis j'ai estimé un ensemble de limites qui sont peu susceptibles de se produire par hasard.
Mais attendez, il y a plus.
Je vais revenir au rapport du profileur. En bas, sous la barre de présentation 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écifications, 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 plateforme 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 du processus, ce faisant, je peux voir le degré de tolérance du processus à la dérive dans une ou plusieurs pompes. Je peux également constater assez facilement que si j'avais des pompes de plus grande précision, je pourrais tolérer beaucoup plus de saletés ou d'erreurs d'étalonnage sans risquer des poids de remplissage finaux élevés ou faibles.
C'est le script pour générer le profileur dans les figures
dt<<PROFILER></PROFILER>
Ce script générera 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à rédigé ce flux de travail, mais je n'ai pas pu le faire plus tôt cette semaine, alors le voici à nouveau.
Acclamations,
B