You are on page 1of 3

ENSEM

Projet de simulation dun systme vnement discret


Systme de production : Fabrication de deux types de Produits
sur la plate-forme CPN Tools

La simulation vnements discrets consiste concevoir un modle logiciel dun systme rel puis
construire des expriences sur ce modle de manire apprhender et anticiper son comportement et
ainsi den amliorer ses performances. Au-del de la question de savoir comment utiliser au mieux
loutil par rapport aux objectifs de performance qui ont t fixs sur les diffrents systmes piloter,
lentreprise se pose galement de plus en plus la question de savoir comment formaliser un processus
de type Simulation de flux pour itrer efficacement les diffrents projets de simulation mener.

1. Prsentation du projet

Vous tes charg de modliser et de simuler le processus de dcoupage des produits A et B sur le
logiciel CPN Tools. Le systme de production se dcompose en sous-systmes suivants : rception des
pices, lexcution de dcoupage ainsi que le stockage des produits dans des bacs.

1.1. Rception des produits

Un poste amont a pour rle la prparation des pices pour leur dcoupe. Les produits prpars sont
mises en attente pour les transfrer la machine de dcoupage. Elles sont reues une aprs autre.

1.2. Dcoupage et stockage des produits

La machine ralise deux types de produits: A et B. Le sous processus de dcoupage commence par
deux vnements : dbut et fin. Les produits ainsi dcoupes sont stockes dans des bacs.

2. Objectifs du projet

Nous cherchons par ce projet de simulation de tester les performances du systme de production par
le calcul du :
temps total du systme ;
taux dutilisation des ressources machine.

3. Logiciel CPN Tools

Nous utilisons le logiciel CPN Tools pour raliser la modlisation et la simulation du systme
tudier. Cest un logiciel Open source, produit et distribu par le laboratoire de recherche (DAIMI),
Eindhoven University of Technology, Netherlands. Il permet dditer, de simuler et danalyser les
modles de rseaux de Petri Colors. Vous pouvez dcouvrir toutes les informations sur le site web :
http://cpntools.org/contact.

4. Cahier de charge

Pour raliser la modlisation, vous devez dclarer les Colsets, les variables et les fonctions. Pour
simuler le modle ainsi dvelopp, vous utilisez les outils de monitoring. Vous trouvez ci-dessous le
modle principal et les sous-modles.

1
ENSEM

Figure 1 : Modle principale et le sous modle Rception des produits

Figure 2 : le sous modle dcoupage et stockage des produits

4.1. Les Colsets :

colset Unit= unit timed;


colset INT = int;
colset Machine = with machine timed;
colset ProductType = with A | B;
colset Product = record productType : ProductType * AT : INT;
colset Products= list Product;
colset MachinexProduct = product Machine * Products timed;

4.2. Les variables:

var proctime : INT;(dclare la variable du processus du temps)


var pdt: Produits; (dclare la variable du colset Products)

2
ENSEM

4.3. Les fonctions :

fun expTime ():la dclaration de la fonction pour initialiser le processus de temps


fun expTime (mean: int) =
let
val realMean = Real.fromInt mean
val rv = exponential((1.0/realMean))
in
floor (rv+0.5)
end;

fun intTime():la dclaration de la fonction pour initialiser le processus de temps


fun intTime() =
IntInf.toInt (time());

fun newProducts():la dclaration de la fonction dun nouveau produit

{produitsType = ProduitsType.ran(),
AT = intTime()}

4.4. Les dclarations de Monitoring

globref longdelaytime = 200;

(La variable de rfrence longdelaytime est utilise pour indiquer la limite infrieure de ce qui sera
considr les longs dlais d'attente pour les produits dans la file d'attente).

globref fileid = (NONE : TextIO.outstream option);


(La variable fileid est une rfrence une option TextIO.outstream. qui fournit une interface
Input/Output de caractre ou de chaine (String)).

fun getfid () = (* this will raise Option exception


* if fileid = NONE *)
Option.valOf(!fileid)
(La fonction getfid retourne l'identifiant de fichier qui se rfre fileid , en supposant que fileid
ne fait pas rfrence la valeur NONE).

fun initfile () =
let
val filename = OS.Path.concat (Output.getSimOutputDir(),
"Trans_Log_File.txt")
in
Output.initSimOutputDir();
fileid := SOME (TextIO.openOut filename)
end
La fonction initfile initialise un fichier quun utilisateur met jour lors de la simulation. Le nom du
fichier est Trans_Log_File.txt et il sera sauvegard dans un rpertoire de sortie de simulation. Le nom
du rpertoire de sortie de simulation est accessible via le Output.getSimOutputDir fonction qui est
l'une des fonctions de gestion de sortie.

5. Votre mission

En utilisant le logiciel CPN Tools, laide en ligne de loutil et votre cours, vous devez modlisez et
simulez ce systme de production.
N.B : Aucune politique de gestion de production nest mise en place, le temps dinter-arrivs des produits suit une distribution exponentielle.