Show TOC

Arrière-planScripts de gamme pour la sélection de l'étape suivante

 

Le système supporte le scripting pour la sélection de l'étape suivante dans la gamme.

Certains points de la gamme peuvent avoir plusieurs étapes suivantes selon la manière dont sont traités les défauts au niveau de votre installation. Ce processus peut varier d'une installation à l'autre, ainsi que dans une même gamme. Le système vous permet cette flexibilité par le biais de la logique de scripting personnalisée. Dès qu'une étape est terminée au niveau d'une opération, la logique personnalisée effectue la sélection d'étape lorsque plusieurs étapes suivantes sont possibles.

Lorsqu'une étape a plusieurs étapes suivantes, il y a plusieurs connecteurs qui partent de l'étape. Chacun des connecteurs (lignes) peut avoir un script de décision qui lui est associé. Ces scripts sont analysés lorsqu'un SFC termine l'étape. Les valeurs de retour de toutes ces étapes suivantes sont utilisées pour déterminer l'étape suivante pour les SFC.

Chaque script est associé aux chemins d'accès entre les étapes. Dans la Gestion des gammes, pour afficher la boîte de dialogue de scripting pour l'étape suivante, affichez le panneau Gamme et double-cliquez sur l'étiquette de la ligne représentant le chemin d'accès à l'étape suivante.

Exemple

Le graphique suivant représente un exemple de la gamme incluant la logique de reprise :

Dans l'exemple ci-dessus, la gamme inclut un ensemble simple de logique pour déterminer l'étape suivante après l'opération TEST. Lorsqu'un SFC termine l'étape TEST, il peut le faire de quatre manières différentes.

Supposez que l'ingénieur de production a inclus le scripting suivant pour les possibilités d'étape suivante :

  • Pour le passage d'étape TEST-to-SCRAP, le SFC doit être mis au rebut s'il est testé sans succès un trop grand nombre de fois (3 fois). Par conséquent, la définition d'étape suivante entre TEST et SCRAP pourrait inclure le code de scripting suivant :

    if (NC_CODE!=null && LOOP_COUNT>=3) exit(true);

  • L'étape suivante TEST-to-PMR_ROUTER est définie pour couvrir le cas où le SFC échoue, mais le nombre de boucles est inférieur à 3, comme indiqué dans cet exemple de code source :

    if (NC_CODE!=null && LOOP_COUNT<3) exit(true);

  • L'étape suivante TEST-to-PMR_ASSEMBLE est définie pour traiter le cas spécial où la défaillance (NC) qui est journalisée est MISSING_COMPONENT, pour renvoyer le SFC directement à ASSEMBLE. La logique de script pour cela serait la suivante :

    if (NC_CODE =="MISSING_COMPONENT") exit(true);

  • L'étape suivante TEST-to-PMR_ASSEMBLE est définie dans cet exemple de codage sans scripting. Si aucune des exceptions décrites ci-dessus n'est rencontrée, le SFC peut être transmis à SHIP.

Voici d'autres exemples de sélection d'étape suivante :

Test simple/boucle de débogage

Le graphique suivant représente une gamme simple qui commence par une opération TEST suivie de l'étape SHIP ou DEBUG :

Notez que l'étape DEBUG retourne toujours à TEST pour un test ultérieur.

Le tableau suivant décrit la logique de script associée à l'étape TEST :

Passage entre étapes

Script

De TEST à SHIP (aucune défaillance n'est identifiée)

if (NC_CODE==null) exit(true);

De TEST à DEBUG (une défaillance est identifiée)

if (NC_CODE!=null) exit(true);

Aucun script n'est associé aux autres passages entre étapes. Deux scénarios sont possibles avec cette gamme :

  • Le SFC passe le TEST avec succès et avant vers l'étape SHIP.

  • Le TEST échoue et le SFC est envoyé à l'étape DEBUG. Le SFC est réparé au niveau de l'étape DEBUG par l'ajout d'un code NC de catégorie réparation. Le SFC est alors renvoyé à l'étape TEST. Il passe le TEST avec succès et avance jusqu'à l'étape SHIP.

Gamme dépendante de la défaillance

Le graphique suivant représente une gamme qui envoie le SFC défaillant vers deux étapes différentes, en fonction du NC_CODE :

Notez qu'il est possible de faire de même avec l'ID défaillance associé au NC_CODE.

Le tableau suivant décrit la logique de script associée à la sélection de l'étape qui doit suivre l'étape TEST :

Passage entre étapes

Script

De TEST à SHIP (aucune défaillance n'est identifiée)

if (NC_CODE==null) exit(true);

De TEST à DEBUG (une défaillance est identifiée)

if (NC_CODE==null) exit(false);

if (NC_CODE!="MISSING_COMP" )

exit(true);

else

exit(false);

De TEST à ASSEMBLE (une défaillance d'assemblage est identifiée)

if (NC_CODE==null) exit(false);

if (NC_CODE=="MISSING_COMP")

exit(true);

else

exit(true);

Aucun script n'est associé aux autres passages entre étapes. Les scénarios possibles avec cette gamme sont les suivants :

  1. Le SFC passe le TEST avec succès et avance jusqu'à l'étape SHIP.

  2. Le TEST échoue, le SFC reçoit le code de non-conformité MISSING_COMP et est envoyé à l'étape ASSEMBLE. Le problème d'assemblage est réparé sur le SFC à l'étape ASSEMBLE. Le SFC est alors renvoyé à l'étape TEST. Il passe le TEST avec succès et avance jusqu'à l'étape SHIP.

  3. Le TEST échoue et le SFC est envoyé à l'étape DEBUG. Le SFC est réparé au niveau de l'étape DEBUG par l'ajout d'un code NC de catégorie réparation. Le SFC est alors renvoyé à l'étape TEST. Il passe le TEST avec succès et avance jusqu'à l'étape SHIP.

Utilisation de zones de données personnalisées

Cette gamme utilise la zone personnalisée associée à l'article du SFC pour déterminer où envoyer le SFC lorsque le test échoue.

La logique de script associée à la sélection de l'étape qui suit l'étape TEST est représentée ci-dessous :

Passage entre étapes

Script

De TEST à SHIP (aucune défaillance n'est identifiée)

if (NC_CODE==null) exit(true);

De TEST à DEBUG (une défaillance est identifiée)

if (NC_CODE==null) exit(false);

// Appelle la propriété personnalisée COST

cost=getCustomItemProperty("COST");

// Affecte une valeur par défaut, 100 $, au coût si celui-ci n'est pas défini

if (cost==null) cost =100;

// Si l'article a une valeur inférieure à 500 $, passe à DEBUG

if (cost<500)

exit(true);

else

exit (false);

De TEST à MRB (une défaillance est identifiée - article dont la valeur est élevée)

if (NC_CODE==null) exit(false);

// Appelle la propriété personnalisée COST

cost=getCustomItemProperty("COST");

// Affecte une valeur par défaut, 100 $, au coût si celui-ci n'est pas défini

if (cost==null) cost =100;

// Si l'article a une valeur supérieure à 500 $, passe à Material Review Board (MRB)

if (cost>=500)

exit(true);

else

exit (false);

Les deux scripts les plus longs en cas de défaillance montrent comment récupérer des données pour les objets du système, notamment les zones de données personnalisées.

Le script du passage de TEST à MRB est décrit ci-dessous :

  1. S'il n'y a aucune défaillance, le SFC ne doit pas suivre le chemin TEST vers MRB :

    if (NC_CODE==null) exit(false);

  2. Cette instruction appelle la propriété personnalisée COST de l'article à l'aide de la méthode getCustomItemProperty() :

    cost=getCustomItemProperty("COST");

  3. L'instruction suivante définit une valeur par défaut pour le coût de l'article si aucune valeur n'a été donnée à la propriété COST :

    if (cost==null) cost =100;

  4. La dernière instruction inclut la logique permettant de décider s'il faut envoyer le SFC à l'étape MRB :

    if (cost>=500) exit(true); else exit (false);

La taille du script n'est pas limitée, mais les scripts plus longs sont exécutés plus lentement.