ED ARENA v5
ED ARENA v5
ED ARENA v5
I. Système à modéliser........................................................................................................ 3
Processus de fabrication :
Opérations de réglages
Temps de Réglage
Fraiseuse 5 minutes
Perceuse 2 minutes
Objectif :
En+1 En
Block
Block « DISPOSE » (fin
« CREATE » Entité non visible Entité visible
du programme)
(début du
programme)
Le block CREATE crée des Entités. L’Entité devient visible à partir du moment qu’une image
est assignée à entity.picture (dans le 1er block ASSIGN).
Une Entité possède des paramètres / caractéristiques internes appelés ATTRIBUTES. Il est
possible de créer des attributs ! (Dans l’exemple, nous avons créé l’Attribut ETAT et
changeons sa valeur dans les ASSIGN).
Entity.SerialNumber : En
…
Etat : Valeur affectée par ASSIGN
…
-Onglet « reports »
Pour remplir ce bloc ASSIGN il faut créer les paramètres que l’on veut associer à la pièce
RAPPEL : Un ATTRIBUT est un paramètre qui est paramètre lié à une pièce.
Pour les Entités, c’est l’équivalent sur notre carte d’identité au paramètre
« NOM »
pour moi, l’attribut « NOM » a pour valeur « KREMER » …
• cliquez sur OK
Vérification :
L’’affectation est correcte si le nom de l’élément « picture » est à côté de l’image !
Arnaud KREMER v5 Page 10 sur 42
VII. CODE DE FIN DU MODELE
Un modèle Arena doit toujours commencer par un CREATE et finir par un DISPOSE
VIII. SIMULATION
Processus de fraisage
Si nous ne mettons pas de block QUEUE, le système gérera quand même les files d’attentes
avant les blocks SEIZE, mais il n’y aura pas de données sur celles-ci.
Pour ce processus, il est décidé de modéliser une file d’attente. Il faut donc insérer :
Element Block
QUEUES QUEUE
SEIZE
RESSOURCES
RELEASE
EXPRESSIONS DELAY
Dans l’element QUEUES, définir une file d’attente nommée « Q_fraisage » avec une gestion
de type FIFO (First In First Out).
Dans l’element RESSOURCES, définir une ressource nommée « R_fraisage » avec une
capacité de 1 (« capacity », « real or Sched ID »= 1).
Si « 1D array » et « 2D array » sont vides, cela correspondra à une variable classique (pasun
tableau.
Blocks SEIZE
Pour ce process nous aurons besoin d « 1 unité »de la ressource « R_fraisage ».
Blocks DELAY
Le temps est fonction du type de pièce. Pour la pièce 1, le temps a été rentré dans la
céllule 1 …
Il faut donc ecrire « tps_fraisage(type de piece) »
en fonction de chaque de la valeur de l’attribut, la cellule cible changera
Blocks RELEASE
Nous n’avons plus besoin de « R_fraisage », il faut donc la libérer (1 unité)
« variable »
La case FORMAT permet de gérer le format de l’affichage (nombre entier, à virgules …).
Dans le rapport de simulation, plusieurs résultats sont déjà donnés par défaut.
o L’ordonnée
Minimum : 0
Maximum : 1 (le taux de charge varie de 0 à 1)
Majorincrement : 0.1
Autoscroll : False
Pour cette opération, 2 machines sont disponibles, mais une seule est
nécessaire.
Il s’agit d’un processus, il faut donc ajouter les blocks classiques d’un processus (entre la fin
du fraisage et le DISPOSE)
FRAISAGE
Nous choisissons de ne PAS gérer de file d’attente en perçage ! Donc pas de Block QUEUE.
Dans l’element RESSOURCES (le même que précédemment, ou vous pouvez en créer un
autre), définir les ressources nommées
- « R_percage1» avec une capacité de 1 (« capacity », « real or Sched ID »= 1).
- « R_percage2» avec une capacité de 1 (« capacity », « real or Sched ID »= 1).
Les ressources sont créées, mais pour choisir une ressource parmi d’autre il faut définir un
groupe de ressources.
Ce groupe est constitué à partir d’un SETS
Il reste à choisir le nombre d’unité. Nous avons 2 perceuses, mais une seule est nécessaire.
Number of Units = 1
Il est nécessaire de savoir pour quel type de pièce la machine est réglée. Nous allons donc
créer une variable Reglage_F.
Processus de réglage
Dans le cas présenté nous avons testé la différence (représenté par « <> »).
Corriger si besoin !
Le temps de contrôle est de 5 min par pièce quelle que soit le type de pièce (il
faudra donc ajouter un DELAY !).
Les pièces mauvaises doivent aussi être envoyées à un block Dispose (mais il peut être
différent).
L’insertion de compteur peut aussi être utilisé pour debugger un programme (et détecter des
endroits où les pièces ne passent pas ou peu).
Element Block
COUNTERS COUNT
Insérer le block COUNT sur la sortie du DECIDE de contrôle correspondant aux pièces
mauvaises, et y affecter le compteur défini précédemment.
Il est possible de trier en fonction d’un paramètre avec un block DECIDE, mais cela oblige
d’insérer des COUNT sur chaque chemin !!!
« Set_pieces_finies(type de piece) »
L’objectif est de mesurer les temps de passage entre 2 entité. L’utilisation d’un TALLY
permet d’obtenir des statistiques sur la valeur entre 2 passage.
Element Block
TALLIES TALLY
Insérer le bloc TALLY à l’endroit où vous souhaiter mesurer le temps de cycle (entre le
fraisage et percage, par exemple)
Il faut donc définir le point de « départ » du chronomètre. Ce point sera défini comme étant le
CREATE.
Il faut donc avoir pour chaque pièce la connaissance de la date d’entrée dans le système.
Il faut créer un ATTRIBUT nommé « date d’entree »
Dans les ASSIGN juste après les CREATE, affecter TNOW à l’ATTRIBUT
« date d’entree »
Créer les pannes pour les perceuses. (1 seul élément FAILURES sera
nécessaire pour les perceuses car elles suivent les mêmes lois de panne)
Une station est une intersection ou le système peut charger ou décharger des pièces.
Avant le premier transport il faut indiquer la position initiale. Pour les transports suivant ce
n’est plus nécessaire car le système gère les déplacements et connait la position à chaque
instant.
Processus de Transport
(départ)
Processus de Transport
(Arrivée)
Affecter au block STATION le nom de la station d’arrivée « St_fraisage »
Ouvrir le block FREE et cliquer sur OK (ne rien à renseigner par défaut, en
cas de soucis entrer « transpalette(numfilo) »)
Créer l'ensemble des Transports
On veut transporter les pièces par lots de 10 pièces entre la perceuse et le stock de
produits fini.
Séparation du lot
Si nous désirons savoir combien de temps la machine est en attente d’un régleur, ou en
réglage … il est nécessaire de définir des états machines spécifiques.
Etat pause