0% ont trouvé ce document utile (0 vote)
201 vues22 pages

Simulation de Flux avec Flexsim

Transféré par

misterspirithell
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
201 vues22 pages

Simulation de Flux avec Flexsim

Transféré par

misterspirithell
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Simulation de Flux

Initiation à Flexsim

1. Description du système de production à modéliser . . . . . . . . . . . . . . . . . . . . 2


1.1 Détails des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Files d’attente et Réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Pour aller plus loin ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Créer et Configurer la simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Première modélisation Basique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1 Création des Capots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1 Intégrer les éléments dans le modèle . . . . . . . . . . . . . . . . . . 4
3.1.2 Configurer la SOURCE . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Visualisation de résultats de simulation . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Lancement de la simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Création du processus de Fraisage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.1 Le bloc QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Le bloc PROCESSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5. Création du processus de Perçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6. Ajout d’une étape de réglage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1 Associer une ressource additionnelle . . . . . . . . . . . . . . . . . . . . . . . 11
6.2 Affecter cette ressource au réglage . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.3 Taux de charge du régleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. Utilisation spéciale du bloc QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.1 QUEUE à capacité limitée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2 Gérer des flux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.3 Gérer les variables - labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8. Utilisation de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1 Les Paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2 Les GlobalTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.3 Créer une GlobalTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
8.4 Utilisation de GlobalTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9. Processus imbriqués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.1 Avec une variable globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2 Process Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

A. KREMER v1.0
1
1. Description du système de production à modéliser
Le système de production à modéliser est un atelier d’usinage réalisant 2 types de pièces :

• des capots ;
• des carters.

1.1 Détails des processus


Ces 2 pièces ont la même gamme de fabrication, mais avec des temps d’usinage différents :

• Phase 10 : Fraisage
• Phase 20 : Perçage
• Phase 30 : Contrôle Qualité

Nombre
Capot Embase
de postes
Inter-arrivée 27 minutes (lot de 1) 20 minutes (lot de 1)
des pièces
Ph10 : Fraisage Loi Normale(7 ;1) Loi Normale(5 ;3) 1 Fraiseuse
(durée en min)
Ph20 : Perçage Loi Uniforme(7 ;8) Loi Triangulaire(10 ;12 ;15) 2 Perceuses
(durée en min)
Ph30 :
pièces bonnes à 95%
Contrôle Qualité
TABLEAU 1 – Données des processus

1.2 Files d’attente et Réglage


La règle de gestion des files d’attente est FIFO (First In First Out). Afin d’usiner les pièces il est
nécessaire que la machine soit réglée pour le type de pièce. Ce temps est fonction de la machine-
outils (Cf. Tableau 2).

Fraiseuse Perceuse
Temps de réglage 5 min 2 min
TABLEAU 2 – Temps de réglage des machines-outils

1.3 Simulation
Simuler le système sur une durée de 6h et :

• déterminez le nombre de pièces de chaque type produites ;


• estimez la cadence de chaque unité de production (Fraisage / groupe de perceuses)
• estimez le Taux de charge du Régleur.

1.4 Pour aller plus loin ...


il est possible de modéliser

• Les pannes (MeanTimeBetweenFailures et MeanTimeToRepair ;


• estimez la cadence de chaque unité de production (Fraisage / groupe de perceuses)

2
2. Créer et Configurer la simulation
File
Apres avoir lancé le logiciel FLEXSIM, créez une simulation (::::  New Model).
:::::::::::

Unité de temps : Minutes


(correspond à l’unité de
description des processus,
Tableau 1 – page 2)

Les autres paramètres ne seront


pas utilisés dans cette
modélisation.

F IGURE 1 – Configurer les unités.

Il reste à configurer la durée de simulation (fixée à 6h).


La configuration retenue consiste à ne prendre en compte que le temps écoulé et pas la date ni
l’heure.

F IGURE 2 – Configurer la durée de simulation.

3
3. Première modélisation Basique
La modélisation évoluera au fur et à mesure, ce qui permettra de valider les ajouts progressive-
ment.

3.1 Création des Capots


Pour que la simulation puisse s’effectuer il est nécessaire d’avoir un flux entrant : les pièces
(Capot, Embase). Il est aussi nécessaire de générer un flux sortant (pièces ayant finies d’évoluer
dans la système).

3.1.1 Intégrer les éléments dans le modèle

Les éléments à inserer (par glisser-déposer) sont les blocs Source et Sink (Figure 3) qui se
Library
trouvent dans le menu situé à gauche :::::::: 
Fixed ressources (ou via double-clic dans la
::::::::::::::::::
fenêtre principale).

Arrivée des pièces Sortie des pièces du système

F IGURE 3 – Blocs de début et de Fin

Une fois ces éléments déposés il faut connecter la sortie de Source à l’entrée de Sink (comme
sur la Figure 4). Pour ce faire :

1. Rester appuyé sur la touche A

2. Cliquer sur l’élément de départ (ici Source)

3. Cliquer sur l’élément d’arrivée (ici Sink )

La connexion est
créée !

F IGURE 4 – Blocs de début et de Fin

3.1.2 Configurer la SOURCE

Il faut maintenant configurer l’arrivée des pièces :

• pour respecter les valeurs indiquées Tableau 1 (page 2) ;


• pour pouvoir identifier visuellement les différentes pièces ;
• pour que le système différencie les différentes pièces.

Si la fenêtre Properties
:::::::::::
View puis Properties
n’apparaît pas à droite de l’écran, faire ::::: :::::::::::
pour l’affi-
cher (ou cliquer sur l’engrenage brun dans la barre d’outils du haut).
En sélectionnant la Source, ses propriétés s’affichent et peuvent être modifiées (Figure 5).

4
Modifie le nom d’affichage

Création d’une variable « Type_de_piece »

Choix du visuel « FlowItem Class »


Définition des temps

Affectation du « Type_de_piece »

• Ajouter 1 Trigger « On exit »


• Ajout de DATA et Set Label
• Remplir avec les valeurs affichées

F IGURE 5 – Propriétés d’une SOURCE

3.2 Visualisation de résultats de simulation


Effectuer une modélisation permet, à partir d’un modèle, d’obtenir des informations sur les per-
formances du système de production (Choix des indicateurs).
Pour commencer nous visualiserons le nombre de pièces arrivées en fin de simulation (fin de
simulation pour 1 pièce = arrivée à Sink1).
Les résultats s’affichent dans un « tableau de bord ». Il faut donc le créer (si il n’y en a pas déjà
un !) en cliquant sur Dashboards,
::::::::::::
puis Add blank Dashboard
:::::::::::::::::::::::
Library propose différents
Lorsque le Dashboard est actif (en cliquant dans la fenêtre) le menu ::::::::
indicateurs, parmi lesquels nous utiliserons :

• Output by Type : Nombre d’élément sortis du bloc, classés par type (Figure 6)
• Output by hour by Type : Nombre d’éléments sortis du bloc sur un pas de temps défini, classé
par type (Figure 7)

5
• Glisser - Déposer Output by Type dans
Dashboard
:::::::::::

• Cliquer sur la « Pipette »dans Properties


:::::::::::
Objects
- ::::::::
• Cliquer sur l’élément à ajouter (ici sink1)
• Configurer Type Label et Value Type

F IGURE 6 – Afficher le nombre de pièces par type

Procéder de la même façon pour l’autre indicateur : Output by hour by Type. Un exemple de pa-
ramétrage de cet indicateur est fourni Figure 7.

Paramétrage Résultat (à l’issue de la simulation)

F IGURE 7 – Exemple de paramétrage d’un ::::::::


Output :::
by :::::
Hour::::
By :::::
Type

6
3.3 Lancement de la simulation
Pour cette simulation l’élément Sink1 a été renommé en Pièces finies.
Le lancement de la simulation s’effectue à partir de la barre de simulation (bouton RUN).

Il est possible de modifier la vitesse de simulation avec cette glissière :

La simulation s’arrête automatiquement au temps réglé (voir Figure 2.), mais en cliquant à nou-
veau sur RUN la simulation se continue au delà de la limite programmée.
La figure 8 présente les résultats que vous devez obtenir après avoir ajouter la création des
embases.

F IGURE 8 – Résultats de simulation

7
4. Création du processus de Fraisage
Le processus va nécessiter l’ajout d’autres ressources qu’il faudra insérer dans le flux existant. Il
est donc nécessaire de supprimer les connexions existantes afin d’en créer de nouvelles.
Les ressources à ajouter sont :

• une Queue : permet de stocker les pièces le temps que la ressource suivante se libère.
• un Processor : correspond à la ressource utilisée par le processus et intègre le temps
pris par le processus.

F IGURE 9 – Modèle avec le processus de Fraisage

4.1 Le bloc QUEUE


Pour cette simulation ce bloc ne nécessite pas de configuration autre que celle par défaut. Les
paramètres réglables sur un bloc QUEUE sont :

• le mode gestion de la file d’attente FIFO / LIFO


• la taille de la file d’attente
• le port de sortie
• les actions Triggers

8
4.2 Le bloc PROCESSOR
Ce bloc doit être configuré pour correspondre à la modélisation définie. Les points importants de
cette modélisation pour le processus de Fraisage sont :

• Les temps de processus changent avec le type de pièce


• La durée de fraisage pour une pièce donnée suit une loi statistique

Indiquer que la durée varie ET l’unité de


temps !
Le réglage sera pris en compte ultérieure-
ment (Setup Time=0).

Il faut définir :

• la variable dont dépends la durée (ici


Type_de_piece)
• les différents cas
• la durée de processus correspondante
(loi statistique ...)

F IGURE 10 – Configuration du bloc PROCESSOR

9
5. Création du processus de Perçage
La modélisation du processus de Perçage n’ajoute que peu de complexité. L’évolution du modèle
est la suivante :

• Ajout des 2 perceuses (Processor). La configuration de ces perceuses est similaire à la


fraiseuse : durée du processus variant avec Type_de_piece, seules les lois statistiques
diffèrent.
• Ajout d’une Queue (nommée Q_Percage) pour servir de stock tampon entre le fraisage
et le perçage. Cette file d’attente devra aussi définir vers quelle ressource de perçage
envoyer les pièces !

F IGURE 11 – Modèle avec le processus de Perçage.

Lorsqu’une QUEUE est connectée à plusieurs ressources en sortie, la configuration par défaut
consiste à envoyer la pièce vers la première ressource disponible.

Connexions en sortie de Q_Percage

Règle de flux de sortie des pièces

F IGURE 12 – Configuration de sortie de la QUEUE

Cette règle convient parfaitement pour cette modélisation. Toutefois d’autres regles sont pos-
sibles :

• Le port de sortie dépends d’un Label : Type_de_piece (Les capots sur la perceuse 1 et
les embases sur la perceuse 2) « Port by case ».
• Répartition par pourcentage (75% des pièces sur le port 1....)  « Random »
• ...

10
6. Ajout d’une étape de réglage
Lorsque 2 pièces consécutives sont de types différents il est nécessaire de régler la machine. Pour
ce faire un Régleur intervient sur la machine. Le temps nécessaire au réglage est indiqué page 1. Il
n’y a que 1 régleur pour l’ensemble des machines à régler (Fraiseur + les 2 perceuses).
Il faut donc :

• Créer une ressource (le régleur). Le régleur est modélisé par un OPERATOR (dans le
menu TASK EXECUTERS).
• Associer le régleur pour le réglage des différentes machines.

6.1 Associer une ressource additionnelle


Les ressources fixes (de type PROCESSOR par exemple) peuvent nécessiter des ressources
additionnelles

• pour transporter les pièces ;


• pour régler la machine ;
• pour utiliser la machine (durant le temps du processus)

Ces ressources additionnelles sont des Task executers, tels que les opérateurs, les robots, les
:::::::::::::::
transporteurs, les grues ...
Pour utiliser le régleur dans un processus il faut l’associer au processus (le connecter via les
« center points », Cf. Figure 13). Puis il faut configurer le processus pour affecter cette ressource
additionnelle à une tache spécifique (Réglage, utilisation de la ressource ...) (Figure 14).

Connecter le régleur et la Fraiseuse via les


« centerpoints »(Carrés Rouges) :

• Rester appuyé sur la touche « S »


• Cliquer sur le Régleur
• Cliquer sur la Fraiseuse

F IGURE 13 – Affecter un OPERATOR au PROCESSOR

11
6.2 Affecter cette ressource au réglage
Maintenant la fraiseuse peut utiliser le régleur, mais il faut lui indiquer quelle tâche effectuer ainsi
que la durée du réglage.

• La durée de réglage est définie par


« Setup Time »
• Il faut cocher « Use Operator »en des-
sous de la durée du réglage. Si il n’y a
qu’un OPERATOR associé au proces-
sus il prendra forcément celui-la

F IGURE 14 – Affecter l’OPERATOR au réglage

Si, pour fonctionner, la fraiseuse a besoin d’un opérateur (en plus du régleur qui n’effectuera QUE
le réglage) il suffit d’associer ce nouvel opérateur et de bien répartir les tâches (Cf. Figure 15).

Les 2 OPERATOR sont bien associés à la


Fraiseuse

Il faut activer l’opérateur pour le Pro-


cessus ET indiquer si les opéra-
teurs sont différents Different Operator
for Setup and Processing

Il ne reste plus qu’à indiquer qui fait quoi !

F IGURE 15 – Configuration pour un régleur ET un opérateur

12
6.3 Taux de charge du régleur
Un indicateur très utile pour les ressources est le Taux de charge.
Charge de travail attribuée
T aux de charge = Capacité réelle de travail

Pour visualiser cet indicateur, il suffit d’ajouter au DashBoard un élément de type :::::::
STATE comme
une State Bar.

F IGURE 16 – Visualisation du Taux de charge des Ressources

L’ajout de l’usineur ne modifie en rien la simulation : il est utilisé en dehors des temps de réglage
(Temps Utilize U sineur = Temps Processing F raiseuse ).

Pour finaliser la prise en compte du réglage, il faut la configurer sur les Perceuses, mais toujours
avec la même ressource Régleur !

13
7. Utilisation spéciale du bloc QUEUE
Un bloc QUEUE permet de base de créer un stock tampon entre deux processus, cela permet au
premier processus de déposer la pièce dans la QUEUE sans avoir besoin que le second processus
soit libre. Cela correspond à l’utilisation standard d’une QUEUE.
Étant donné que l’utilisation d’une QUEUE ne nécessite ni ressource et ne rajoute pas de temps,
il est possible d’utiliser une QUEUE pour :

• Répartir le flux de pièces (en fonction d’une variable, d’une loi ...)
• Modifier des variables, des labels ...

Ces différentes actions peuvent s’effectuer via

• les Triggers (cf. Figure 17.a)


• l’Output (cf. Figure 17.b)

(a) (b)
F IGURE 17 – Paramètres réglables du bloc QUEUE.

7.1 QUEUE à capacité limitée


Une QUEUE est par défaut de capacité illimitée (valeur Max Content = 1000). Il est possible de
limiter le nombre de pièces dans la file d’attente (valeur entrée dans Max Content), la modélisation
se déroule donc comme suit :

1. les pièces arrivent dans la QUEUE

2. la valeur de Max Content est atteinte

3. l’entrée dans la QUEUE est bloquée

En terme de comportement du modèle, si la sortie d’un PROCESSOR est connectée en entrée


de la QUEUE bloquée, la pièce restera sur le PROCESSOR qui s’arrêtera avec la pièce bloquée
prête à sortir du PROCESSOR. Si on souhaite que les pièces en surplus suivent un autre flux il faut
ajouter une seconde QUEUE au modèle (Cf. Figure 18).

14
Les détails de la configuration de la Figure 18 sont les suivants :

• Q_limitée : Max Content réglé à 3 (par exemple)


• Q_Echappement : Capacité infinie. Cette QUEUE permet de rediriger les pièces si
Q_limitée est pleine

– point clé 1 : Q_limitée est connecté au port 1


– point clé 2 : Debordement_Queue est connecté au port 2
– point clé 3 : dans :::::::
Output - Send To Port configuré à « First Avalaible »

• Debordement_Queue : Correspond au flux emprunté par les pièces ne pouvant rentrer


dans Q_limitée

F IGURE 18 – Modèle pour QUEUE à capacité limitée avec flux différentiel.

7.2 Gérer des flux


Il est possible d’utiliser une QUEUE pour gérer les flux, mais cela peut aussi être effectuer par les
Output). Se servir d’une QUEUE pour gérer les flux permet de séparer
autres blocs (toujours via les :::::::
les fonctions effectuées par les blocs : 1 Bloc = 1 Fonction.

F IGURE 19 – Réglages de sortie de QUEUE.

7.3 Gérer les variables - labels


Pour les mêmes raisons il est intéressant de gérer ou modifier les labels ou les variables via un
bloc spécifique tel que le bloc QUEUE.
L’utilisation des Triggers permet de choisir dans un premier temps l’élément déclencheur, et d’y
associer une action.

15
Les actions sont multiples et varient avec les Triggers :

• Les Data :

– définir un Label (directement ou par pourcentage)


– écrire dans une GlobalTable
– ...

• Les Controls :

– Ouvrir ou fermer les ports


– stopper la simulation
– ...

• Les Visual :

– Modifier la couleur
– Modifier la forme
– ...

• ...

F IGURE 20 – Les déclencheurs (TRIGGERS).

16
8. Utilisation de variables
La modélisation de systèmes complexes peut nécessiter l’utilisation de variables afin de gérer le
flux ou de moduler les conditions facilement et de manière automatique pour comparer des modèles.

8.1 Les Paramètres


La table des paramètres est générée par défaut lors de la création d’un modèle. Ces paramètres
peuvent être utilisés pour des plans d’expériences.
Règles de nommage :

• ne pas contenir d’espace ;


• ne pas commencer par un chiffre.

F IGURE 21 – Résultats d’un plan d’expériences (source : https: // answers. flexsim. com/ )

Ces paramètres sont des variables globales qui permettent aussi de configurer les éléments du
modèle 3D. En cas de répétition cela permet de modifier une caractéristique commune très rapide-
ment.

(a) (b)

F IGURE 22 – Accès aux paramètres (a) et détails sur les paramètres (b).

17
Utiliser les Paramètres dans le modèle

Voici les différentes façons d’appeler un paramètre nommé « MyParameter »dans une simulation :

• Model.parameters.MyParameter
• Model.parameters["My Parameter"].evaluate()

Il est aussi possible que « MyParameter »prenne en compte des paramètres internes :

• « MyParameter = uniform(10, 20, param(1)) »


• dans ce cas l’appel se fait exclusivement avec Model.parameters["MyParameter"].evaluate(2)
• La loi entrée sera donc « uniform(10, 20, 2) »

8.2 Les GlobalTables


Les GlobalTables sont aussi des variables globales, mais elles peuvent facilement être modifiées
en cours de simulation via les Triggers (par exemple). Comme leur nom l’indique il s’agit d’un tableau.

8.3 Créer une GlobalTables


A partir de ToolBox il est possible d’ajouter un outil GlobalTables via le bouton "plus" vert de la
figure 23.

F IGURE 23 – Ajout d’outils (GlobalTables ... entres autres)

Il est possible de créer plusieurs GlobalTables, et il est conseillé de les renommer pour plus de
clarté.

18
8.4 Utilisation de GlobalTables
Les données dans la GlobalTables peuvent être de différents types (Entier, chaîne de caractères
...).
Dans cette partie nous utiliserons une GlobalTables pour limiter le nombre d’entités dans une
zone. Cela peut correspondre au décompte des personnes dans un supermarché, avec blocage des
entrées lorsque le nombre maximal est atteint.
Une GlobalTables a été créée et renommée "encours". il faudra incrémenter cette variable à
l’entrée de la zone et la décrémenter à la sortie. De plus un blocage / déblocage des ports d’entrée
en fonction de la valeur de cette variable.
La figure 24 montre l’incrémentation de la variable dans un Trigger.
Attention : il existe une fonction « increment »qui ne fonctionne pas sur les GlobalTables. Il faut
donc utiliser la méthode décrite Figure 24.

F IGURE 24 – Incrémenter une GlobalTable

19
9. Processus imbriqués
Un processus est caractérisé par l’utilisation de ressources (avec le risque de non disponibilité)
pendant une certaine durée.
Les processus imbriqués correspondent à un processus « global »à l’intérieur duquel d’autres
processus interviennent. Le processus « global »nécessitera des ressources qui lui sont spécifiques
mais sa durée sera conditionnée par les durée des processus internes.
Un exemple est la modélisation d’un restaurant :le processus « global »consiste en l’utilisation des
tables du restaurant (les ressources), et la durée dépends des autres processus (prise de commande,
préparation du repas, service, paiement ...).
La modélisation du processus global consiste donc à gérer la disponibilité de ressources (nombre
de tables, de places de parking ....).

9.1 Avec une variable globale


le processus qui sera simulé dans la suite sera un parc de jeux avec des activités, mais dont le
prérequis pour accéder à ces activités est que les personnes puissent se garer sur le parking. Le
processus « global »correspond donc à la possibilité d’avoir une place de parking. Si il n’y a pas de
place disponible seuls 3 personnes attendront qu’une place se libère, les autres partiront.
Ce processus peut être modélisé en utilisant une variable pour gérer le nombre de places actuel-
lement occupées. La figure 25 correspond à la modélisation de ce système.

F IGURE 25 – Modèle 3D de gestion d’un processus global (parking)

Une GlobalTables nommée « Encours »(1 seule cellule) permet de connaître le nombre de places
de parking occupées. La figure 26 montre les réglages mis en place pour faire évoluer cette variable.
Ce nombre de places de parking occupées doit donc être comparée au nombre de places dis-
ponibles. Le nombre de places disponible a été enregistré comme un paramètre de la simulation.
L’utilisation d’un paramètre dans ce cas permet :

• d’optimiser ce nombre via un plan d’expériences


• de centraliser cette information

20
Trigger défini à l’entrée de la
QUEUE « je suis garé ». La variable
« Encours »est incrémentée de 1.

Trigger défini à l’entrée de la SINK


« je suis garé ». La variable « En-
cours »est décrémentée de 1.

F IGURE 26 – Évolution du nombre de places de parking occupées

Une GlobalTables nommée « Encours »(1 seule cellule) permet de connaître le nombre de places
de parking occupées. La figure 26 montre les réglages mis en place pour faire évoluer cette variable.
A chaque fois qu’une place est prise ou qu’une place se libère il faut vérifier si il faut fermer ou
ouvrir le port d’entrée sur le parking. La figure 27 montre les Triggers utilisés permettant la gestion
de ce port.

Fermeture de l’INPUT port de la


QUEUE « je suis garé »si toutes les
places sont prises. Il faut compa-
rer « Encours »avec le paramètre
du nombre de places totales

Ouverture de l’INPUT port de la


QUEUE « je suis garé »si au moins
1 place est disponible. Il faut com-
parer « Encours »avec le paramètre
du nombre de places totales

F IGURE 27 – Gestion du port d’entre vers les places de parking

21
9.2 Process Flow
ProcessFlow est un processus qui fonctionne en parallèle du model3D
Un ::::::::::::: :::::::::
mais qui interagit
avec lui, comme sur la figure 28 :

• des « jetons »sont créés lors d’événements particuliers :

– au début de la simulation (« à t=0 ») pour initialiser la variable


– à la prise de place de parking (« Entree Pkg »)
– à la libération du parking (« Sortie Pkg »)

• des actions s’effectuent sur le modèle :

– fermeture d’un port d’un élément du Model3D (« Ferme Port acces pkg »)
– ouverture d’un port d’un élément du Model3D (« ouvre Port acces pkg »)

ProcessFlow qui gère des places de parking. Lorsqu’un élément entre


La figure 28 représente un ::::::::::::::
ou sort sur le parking il y a modification d’une GlobalTable. Les ports d’entrée sur le parking sont
ouvert / fermés en fonction de la valeur de cette variable.

F IGURE 28 – ProcessFlow
:::::::::::::
pour un processus imbriqué

Un ProcessFlow
:::::::::::::
model3D suivant des règles particulières.
permet de piloter le ::::::::::

22

Vous aimerez peut-être aussi