Dans ce modèle, une logique de gestion de production est implémentée
pour décider quand arrêter/redémarrer la production en fonction de seuils de niveau de stock.
À la fin du tutoriel, voici à quoi ressemblera votre simulation:
Créer un nouveau modèle
Dans la barre d'outils, cliquez sur le bouton pour créer un
nouveau modèle:
Une fenêtre vous propose de choisir les unités et la date de début du modèle.
Pour ce tutoriel, gardez les unités proposées par défaut et cliquez sur OK.
Dans la barre d'outils, cliquez sur le bouton pour
enregistrer votre modèle:
Au fil des étapes du tutoriel, pensez à enregistrer régulièrement l'avancement de votre modèle.
Etape 1 Ajouter les objets 3D
Dans cette étape, vous allez commencer par construire l'implantation 3D de votre modèle.
Glissez-déposez les objets suivants de la librairie vers la vue 3D:
1 Source
1 Processor
1 Queue
1 Processor
1 Sink
Si besoin, déplacez les objets pour avoir approximativement les mêmes espacements que dans
l'image ci-dessous:
Cliquez sur le Processor1 pour le sélectionner.
Dans les propriétés à droite, renommez le Processor1:
Nom: Machine1
De la même manière, renommez les objets suivants:
Objet
Nouveau nom
Queue1
Stock1
Processor2
Machine2
Sink1
Sortie1
Voici la ligne de production avec les nouveaux noms:
Etape 2 Créer les connexions de flux
Dans cette étape, vous allez créer des connexions pour définir le flux des produits.
Dans la vue 3D, pressez et maintenez la touche enfoncée. Votre pointeur de souris
affiche un nouveau symbole:
Tout en maintenant la touche enfoncée,
cliquez successivement sur la source, la machine 1, le stock 1,
la machine 2, puis la sortie:
Ceci crée 4 connexions de flux:
de la source vers la machine 1
de la machine 1 vers le stock 1
du stock 1 vers la machine 2
de la machine 2 vers la sortie
Etape 3 Editer les propriétés des objets
Dans cette étape, vous allez paramétrer l'arrivée des produits et les temps de process des machines.
Cliquez sur la Source pour la sélectionner.
On suppose que l'on ne manque jamais de produits, comme s'il y avait un
stock infini de matières premières. Dans les propriétés à droite, paramétrez le
temps d'inter-arrivée des produits à
0 secondes:
Inter-Arrivaltime: 0
Astuce: utilisez le raccourci standard Windows Ctrl + A pour sélectionner tout le texte.
Cliquez sur la machine 1 pour la sélectionner.
Dans les propriétés à droite, paramétrez le
temps de process à
4 secondes:
Process Time: 4
Veillez bien à laisser le paramètre
Setup Timetemps de réglage
par défaut à 0 secondes.
Cliquez sur la machine 2 pour la sélectionner.
Dans les propriétés à droite, paramétrez le
temps de process à
14 secondes:
Process Time: 14
Veillez bien à laisser le paramètre
Setup Timetemps de réglage
par défaut à 0 secondes.
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run pour lancer la simulation.
Remarquez qu'au fil du temps, des produits s'accumulent dans le stock 1:
Ceci est logique puisque la machine 2 est plus lente que la machine 1.
Avant de passer à l'étape suivante, cliquez sur le bouton Reset
pour réinitialiser le modèle.
Etape 4 Mesurer l'évolution du stock
Dans cette étape, vous allez créer un tableau de bord pour afficher le nombre
de produits dans le stock 1 en fonction du temps.
Dans la barre d'outils, cliquez sur le bouton
Dashboardstableaux de bord
, puis sur
Add Blank Dashboardajouter un tableau de bord vide
pour créer un nouveau tableau de bord:
Double-cliquez dans le tableau de bord pour ouvrir
la libraire de graphes:
Dans la catégorie
Contentcontenu
, cliquez sur l'indicateur
Content:
Trois choix de graphiques apparaissent:
Bar Chart: diagramme à barres
Line Chart: courbe en fonction du temps
Table: tableau
Cliquez sur Line Chart:
Cliquez sur le rectangle blanc pour sélectionner le graphe. Remarquez que le panneau de droite se met à jour
pour afficher les propriétés du graphe sélectionné.
Dans les propriétés à droite, cliquez sur la pipette,
puis dans la vue 3D cliquez sur le stock 1:
Dans les propriétés à
droite, section Text, cochez la case
Custom Titletitre personnalisé
et tapez le nouveau titre du graphique:
Custom Title: Nombre de produits
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run
pour lancer la simulation afin de vérifier que la courbe est bien affichée:
Comme remarqué précédemment, le nombre de produits dans le stock 1 augmente puisque
la machine 2 est plus lente que la machine 1.
Avant de passer à l'étape suivante, cliquez sur le bouton Reset
pour réinitialiser le modèle.
Etape 5 Déclencher un arrêt de production
Dans la suite du tutoriel, on souhaite programmer la logique suivante:
lorsque le stock 1 atteint 5 produits, on arrête la machine 1
puis quand le stock 1 redescend à 2 produits, on redémarre la machine 1,
après un délai de redémarrage de 7 secondes
Voici cette logique représentée sous forme d'organigramme:
Le but principal de ce tutoriel est de vous faire découvrir comment programmer votre propre logique, avec l'outil
Process Flow. Process Flow est un mode de
programmation par logigramme, particulièrement bien
adapté pour visualiser de façon séquentielle et logique les actions à mener.
Dans cette étape, vous allez implémenter la 1ère partie de la logique:
lorsque le stock 1 atteint 5 produits, on arrête la machine 1.
Dans la barre d'outils, cliquez sur le bouton Process Flow,
puis sur Add a General Process Flow pour créer une nouvelle logique:
À présent, vous avez 3 onglets ouverts dans votre espace de travail:
De préférence, organisez ces 3 fenêtres comme ci-dessous:
à gauche: l'onglet et en-dessous l'onglet
à droite: l'onglet
Ceci vous permettra de garder un oeil sur chaque fenêtre pour la suite du tutoriel.
Cliquez dans la fenêtre Process Flow. Remarquez que le panneau de gauche se met
à jour pour afficher la librairie d'activités:
Pour cette 1ère partie de la logique, 3 activités seront nécessaires:
Glissez-déposer une activité Schedule Source de la librairie vers la fenêtre
Process Flow:
Le rôle de cette activité est de créer des jetons en suivant un planning(schedule).
Dans notre logigramme, cette activité va nous servir à créer 1 seul jeton au temps t = 0 secondes,
pour démarrer la logique dès le début de la simulation.
Cliquez sur l'icône de l'activité Source pour ouvrir ses propriétés, et
renommez l'activité:
Nom: démarrer logique à t=0
Laissez tous les autres paramètres par défaut. Remarquez qu'au temps t = 0, cette activité va créer une quantité
de 1 jeton:
Cliquez dans le vide à côté de l'activité pour fermer ses propriétés. Comme le nouveau nom de l'activité est plus long,
n'hésitez pas à augmenter la largeur de l'activité pour que le texte soit plus lisible:
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run
pour lancer la simulation.
Remarquez que, comme prévu, 1 jeton est créé dès le début de la simulation:
Cliquez sur le bouton Reset pour réinitialiser le modèle.
Glissez-déposer une activité Wait for Event en-dessous
de l'activité précédente:
Le rôle de cette activité est d'attendre un événement.
Ici, cette activité va nous servir à attendre que le stock 1 monte à
5 produits.
Remarquez qu'il y a un symbole à côté de l'activité
Wait for Event, pour
vous avertir que vous devez préciser l'événement à attendre:
Déplacez votre curseur sur le symbole : la
pipette apparaît.
Cliquez sur la pipette, puis cliquez sur le
stock 1 dans la vue 3D.
Choisissez l'événement
Stock1 > On Content Changequand le contenu du stock 1 change
.
Cliquez sur l'icône de l'activité
Wait for Event pour ouvrir ses propriétés, et modifiez les 3 paramètres suivants:
renommez l'activité: attendre seuil d'arrêt
Change Rulerègle de changement:
Increase To Exact Valueaugmenter à une valeur exacte
Value: 5
Cliquez dans le vide à côté de l'activité pour fermer les propriétés. Déplacez l'activité pour
l'aligner à gauche avec la précédente activité, et redimensionnez l'activité pour
avoir la même largeur que la précédente:
Connectez les 2 activités à l'aide de la méthode suivante:
Déplacez votre curseur sur la 1ère activité. Remarquez que
4 points d'accroche apparaissent:
Déplacez votre curseur sur le point d'accroche inférieur de la 1ère activité.
Votre pointeur de souris affiche le symbole de connexion:
Cliquez et glissez, tout en maintenant le clic enfoncé, jusqu'au bord supérieur
de la 2ème activité.
Glissez-déposez une activité Custom Code en-dessous de
l'activité précédente:
Le rôle de cette activité est de créer une action personnalisée.
Ici, cette activité va nous servir à arrêter la machine 1.
Déplacez l'activité Custom Code pour la coller
en-dessous de l'activité précédente:
Les 2 activités collées forment un bloc d'activités.
Former un bloc ou créer une flèche entre 2 activités est équivalent.
Cliquez sur l'icône de l'activité
Custom Code pour ouvrir ses propriétés, et modifiez les paramètres suivants:
renommez l'activité: arrêter machine 1
Cliquez sur le bouton et choisissez l'option
Control > Stop Objectarrêter l'objet
:
Pour désigner l'objet à arrêter, cliquez sur la pipette
du paramètre Object, puis cliquez sur la
machine 1 dans la vue 3D:
Laissez tous les autres paramètres par défaut, et cliquez dans le vide à
côté de l'activité pour fermer ses propriétés.
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run
pour lancer la simulation.
Dans la vue 3D, vérifiez que la machine 1 est bien arrêtée dès qu'il y a 5 produits dans le stock:
Dans la fenêtre Process Flow, remarquez aussi que le
jeton attend dans l'activité
attendre seuil d'arrêt. Et dès qu'il y a 5 produits en stock, le jeton avance vers l'activité suivante
pour commander l'arrêt de la machine 1.
Dans le tableau de bord, n'hésitez pas à augmenter la hauteur du graphique pour affiner
l'échelle des ordonnées:
Le graphique montre bien que le stock est monté à 5 produits. Puis, comme la machine 2 continue de consommer
des produits alors que la machine 1 est à l'arrêt, le stock redescend à zéro.
Et quand le dernier produit quitte la machine 2, la simulation s'arrête toute seule, car il n'y a plus aucun événement à venir.
Avant de passer à l'étape suivante, cliquez sur le bouton Reset
pour réinitialiser le modèle.
Etape 6 Redémarrer la production
Dans cette étape, vous allez implémenter la logique suivante:
lorsque le stock 1 descend à 2 produits, on redémarre la machine 1.
Pour l'instant, nous souhaitons tester de redémarrer la machine 1 sans délai.
Le délai de redémarrage de 7 secondes sera ajouté ultérieurement.
Cliquez dans la fenêtre Process Flow. Remarquez que le panneau de gauche se met
à jour pour afficher la librairie d'activités.
Pour cette partie de la logique, 2 activités seront nécessaires:
Glissez-déposer une activité Wait for Event en-dessous
de l'activité précédente:
Ici, cette activité va nous servir à attendre que le stock 1 descende à
2 produits.
Déplacez l'activité Wait for Event pour la coller
en-dessous de l'activité précédente:
Pour préciser l'événement à attendre, la méthode est la même qu'en
1ère partie de la logique:
Déplacez votre curseur sur le symbole : la
pipette apparaît.
Cliquez sur la pipette, puis cliquez sur le
stock 1 dans la vue 3D.
Choisissez l'événement
Stock1 > On Content Changequand le contenu du stock 1 change
.
Cliquez sur l'icône de l'activité
Wait for Event pour ouvrir ses propriétés, et modifiez les 3 paramètres suivants:
renommez l'activité: attendre seuil de redémarrage
Change Rulerègle de changement:
Decrease To Exact Valuediminuer à une valeur exacte
Value: 2
Glissez-déposez une activité Custom Code en-dessous de
l'activité précédente:
Ici, cette activité va nous servir à redémarrer la machine 1.
Déplacez l'activité Custom Code pour la coller
en-dessous de l'activité précédente:
Cliquez sur l'icône de l'activité
Custom Code pour ouvrir ses propriétés, et modifiez les paramètres suivants:
renommez l'activité: redémarrer machine 1
Cliquez sur le bouton et choisissez l'option
Control > Resume Objectredémarrer l'objet:
Pour désigner l'objet à redémarrer, cliquez sur la pipette
du paramètre Object, puis cliquez sur la
machine 1 dans la vue 3D:
Laissez tous les autres paramètres par défaut, et cliquez dans le vide à
côté de l'activité pour fermer ses propriétés.
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run
pour lancer la simulation.
Dans la vue 3D, vérifiez que la machine 1 redémarre bien dès que le stock redescend à
2 produits:
Dans la fenêtre Process Flow, remarquez aussi que le jeton attend dans l'activité
attendre seuil de redémarrage. Et dès que le stock descend à 2 produits, le jeton avance vers l'activité suivante
pour commander le redémarrage de la machine 1.
Par contre, pour l'instant toute la logique ne s'exécute qu'une seule fois, elle ne tourne pas en boucle.
Avant de passer à l'étape suivante, cliquez sur le bouton Reset
pour réinitialiser le modèle.
Etape 7 Exécuter la logique en boucle
Dans cette étape, vous allez configurer la logique pour tourner en boucle:
Déplacez votre curseur sur le bord gauche de l'activité
redémarrer machine 1. Votre pointeur de souris affiche le
symbole de connexion:
Cliquez et glissez, tout en maintenant le clic enfoncé, jusqu'au bord gauche
de l'activité attendre seuil d'arrêt:
Puis vous pouvez cliquer dans le vide à côté du bloc pour le déselectionner.
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run pour lancer la simulation.
Quand le stock descend à 2 produits, la machine 1 redémarre, et vérifiez bien que le jeton
revient à l'activité
attendre seuil d'arrêt:
Pendant la simulation, vous n'avez pas le temps de voir le jeton passer sur les activités
arrêter machine 1 et redémarrer machine 1,
car ces activités sont exécutées instantanément.
Cliquez sur le bouton Reset pour réinitialiser le modèle.
Dans le tableau de bord , cliquez sur le graphique Nombre de produits pour le sélectionner.
Remarquez que le panneau de droite se met à jour pour afficher les propriétés du graphe sélectionné.
Dans les propriétés à droite, cliquez sur la pipette,
puis dans la vue 3D cliquez sur la machine 1:
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run pour lancer la simulation.
Maintenant le graphique montre 2 courbes en fonction du temps:
le nombre de produits dans le stock 1
le nombre de produits sur la machine 1, qui ici ne varie qu'entre 0 et 1
Ce graphique est aussi un excellent outil pour bien vérifier que:
lorsque le stock 1 monte à 5 produits, la production de la machine 1 est arrêtée
puis quand le stock 1 redescend à 2 produits, la production redémarre sur la machine 1
et ainsi de suite en boucle
Avant de passer à l'étape suivante, cliquez sur le bouton Reset
pour réinitialiser le modèle.
Etape 8 Ajouter un délai de redémarrage
Dans cette dernière étape, vous allez ajouter un délai de
7 secondes avant de redémarrer la machine 1:
Cliquez dans la fenêtre Process Flow. Remarquez que le panneau de gauche se met
à jour pour afficher la librairie d'activités.
Dans la catégorie Basic, glissez-déposer une activité
Delay en-dessous
des activités précédentes:
Déplacez l'activité Delay pour la glisser
juste au-dessus de l'activité redémarrer machine 1:
Cliquez sur l'icône de l'activité
Delay pour ouvrir ses propriétés, et modifiez les paramètres suivants:
renommez l'activité: délai de redémarrage
Delay Time: 7
Cliquez sur le bouton Reset pour réinitialiser le modèle,
puis cliquez sur le bouton Run
pour lancer la simulation.
Vérifiez que lorsque le stock descend à 2 produits,
la machine 1 ne redémarre pas immédiatement, mais après le délai défini.
Dans la fenêtre Process Flow, remarquez qu'il y a une animation sur
le jeton pendant le délai de redémarrage:
Vous pouvez aussi constater ce délai de redémarrage dans le graphique: