D Buter Avec ARENA
Introduction à la simulation des flux sur ARENA Introduction ARENA est un logiciel de simulation et d’automatisation basé sur la simulation ? événements discrets, développé par Systems Modeling et acquis par Rockwell Automation en 2000. Le logiciel emploie le processeur et le langage de simulation SIMAN. Ce dernier est un langage de simulatio 1982 par C. D.
Pedge e or 15 System Modellng Co Sni* to nen graphique » de SIMA description du modèl d’un assemblage constitu processus, conçu en entant la version « imulé se fait à l’aide de mise en série, en parallèle ou en feedback de différents blocs onctionnels, issus de bibliothèques (templates) d’ARENA. Une telle approche de modélisation permet d’obtenir une structure du modèle (logiciel) proche de celle du système (réel) à simuler. À partir de 2010 le logiciel est dans sa version 13. 0. Notion de base 1.
Entité Une entité est un objet qui évolue dans les différents blocs représentant une pièce circulant dans un atelier, peut avoir les attributs suivants: – Type_de_piece afin de désigner le type d’une pièce (par exemple, = A ou B) ; – Indice de_priorite afin de désigner l’indice de priorité d’une pièce (par exemple, Indice de_priorite = faible ou importante) ; – Date_arrivee_ds_le_modele (par exemple, Date_arrivee ds_le modele = TNOW). 3. Variable globale Une variable globale concerne l’ensemble du modèle.
Par exemple, la variable TNOW (variable prédéfinie dans SIMAN) désigne la date à laquelle se trouve la simulation, c’est le temps courant – mis à jour à chaque avancée dans l’échéancier des événements – s’écoulant durant une simulation du modèle. Principe de fonctionnement Le principe de fonctionnement du logiciel ARENA est de suivre chacune des entités évoluant d’un bloc fonctionnel vers un autre dans le modèle, de a création à sa destruction.
L’ordonnancement dans le temps des différents événements rattachés à l’évolution des entités dans les blocs constituant le modèle se fait au travers d’un écheancier. Quand une entité est introduite dans un bloc fonctionnel, elle déclenche/active le « sen,’ice » qui lui est associ que une modification de PAGF 15 modèle logiciel. Par exemple, le passage d’une entité dans un bloc Delay provoque un retard pur, ce qui aura une conséquence sur la variable TNOW. n programme (ou modèle logiciel) élaboré avec ARENA est sauvegardé dans un ichier ayant pour extension . doe et est constitué d’une partie modèle, qui représente l’algorithme décrivant les caractéristiques statiques et dynamiques des différents blocs fonctionnels composant le modèle , – du cadre expérimental, qui regroupe les données précisant les paramètres spécifiques à une smulation donnée (conditions initiales, durée de la simulation, En fait, les entités traversent uniquement les blocs fonctionnels de la partie modèle.
Pour la définition d’un projet, il suffit à travers le menu Run/ Setup/Project Parameters de donner : un titre au projet (champ Project Title), – le nom du programmeur (champ Analyst Name), – un commentaire (champ Project Description). pour fixer le nombre de réplications ainsi que la durée de la simulation, il suffit ? travers le menu Run/Setup/ReplicationParameters de donner : le nombre de réplications (champ Number of Replications), – le temps où se termine une réplication (champ ReplicationLength). IV.
Construction d’un modèle ARENA permet de construire un modèle en proposant des primitives de représentation (appelées par la suite, blocs ou modules) plus ou moins détaillées. Il permet également de différentes bibliothèques (templates). Afin de bénéficier d’une animation, nous allons utiliser les templates Basic Process et Advanced process. 1 . Template Basic Process Create Le bloc Create permet de créer des entités. Pour éditer le bloc, il suffit d’un double clic pour ouvrir la boite de dialogue (Figure 1). Le champ name représente : Le nom de l’entité, -Time Between Arrivals : la période de création des lots d’entités, – Entities per Arrival : la taille des lots, Max Arrivals : le nombre total de lots à créer, First Creation : la date de création du premier lot. 2 Les valeurs considérées sont telles qu’I entité est créée toute les 2 unités de temps à partir de l’instant 0, ceci une infinité de fois. Figure 1 – Bloc create Dispose Le bloc Dispose permet de détruire des entités.
Celui représenté dans la figure 2 est intitulé Dlspose 1 (champ Name – Dispose 1), une entité entrant dans ce bloc est immédiatement détruite. Figure 2 – Bloc Dispose 5 Resource Assign Le bloc Assign permet d’assigner (attribuer) une valeur, notamment, à un attribut, une variable, durant l’exécution d’une simulation. Quand une entité entre dans un bloc Assign, l’expression – logique ou mathématique spécifiée dans le champ New Value est évaluée et assignée, selon le contenu du champ Type (Attribute, Variable, à un attribut (rattaché à l’entité « activant » le bloc) ou une variable.
Pour éditer le bloc, il suffit d’un double clic pour ouvrir la boite de dialogue (Figure 5). e champ Name représente : Le nom du bloc, Add : Permet l’ajout d’une variable, – Variable Name : Le nom de la variable, – New Value : L’expression logique ou mathématique assigner Figure 5 – Bloc Ass’gn Variable Le bloc Variable permet de déclarer des variables (Figure 6). Figure 6 – Bloc Ass•gn 4 Decide Le bloc Decide permet d’ai d’entités vers différents aiguillée vers le bloc correspondant. Si aucune branche n’est satisfaite, l’entité est détruite. ialogue (Figure 7). – Le champ Name représente : Le nom du bloc, Type :Type de critère (Condition, ou probabilité). Le critère utilisé par le bloc Decide2 est de type probabilité (2 sorties, ayant chacune une probabilité égale à 0. 5, sont possibles). Figure 7 – Bloc Decide Notons que toutes les sorties d’un bloc Decide doivent être onnectees à un bloc (éventuellement un bloc Dispose si la sortie n’est pas « utile h). Separate Le bloc Separate permet de dupliquer des entités lorsque le champ Type = Duplicate Original.
Lorsqu’une entité entre dans ce bloc et comporte des attributs, les attributs de toutes les entités dupliquées sont identiques aux valeurs courantes des attributs de l’entité ? dupliquer. L’entité originale sort par la sortie Original, les copies (celles dupliquées) sortent par la sortie Duplicate. dialogue (Figure 8). – Type : Type de duplication, – # of Duplicates : Le nombre de duplication créée, Fieure 8 – Bloc Separate 6 5 pour ouvrir la boite de dialogue (Figure 9). Le champ Action contient quatre cas de figures : – Delay : la machine se ramène à un simple bloc Delay, ce qui permet de simuler un temps de traitement (voir le cadre Delay Type pour assigner un temps de traitement) et le fait qu’il n’y a pas de contrainte vis-à-vis de la ressource de la machine, Seize Delay : la machine nécessite une, voire plusieurs ressources (voir le cadre Resources pour assigner le type, ainsi que le nombre, de ressources concernées) durant un temps (relatif au temps de traitement) minimum indiqué dans e cadre Delay (le relâchement de la ressource est supposé réalisé en aval), Seize Delay Release : idem au cas (Seize Delay) avec une gestion au niveau du relâchement de la ressource « saisie – Delay Release :idem au cas (Seize Delay Release) sans la gestion de l’allocation de la, voire des ressources nécessaires au traitement d’une pièce (cette gestion est supposée réalisée en amont du bloc). 6 Figure 9 – Bloc Process 2.
Template Advanced Process Delay Le bloc Delay permet de retarder le passage d’entités. Quand une entité entre dans ce bloc, elle y reste inconditionnell t la durée (aléatoire ou 15 ; en attendant l’entité est stockée (« patiente ») dans une file d’attente interne au bloc Seize. Le fait qu’une entité sorte du bloc indique que les ressources, disponibles en nombre suffisant, sont « saisies » (et donc plus disponibles). pour éditer le bloc, il suffit d’un double clic pour ouvrir la boite de dialogue (Figure 11). – Add : Permet l’ajout d’une ressource, Resource Name : le nom de la ressource, – Quantity : le nombre (minimum) de ressources disponibles, – Queue type : Permet de déterminer une file d’attente. uisqu’une ressource peut ne pas être isponible, les entités, en attente d’un nombre suffisant de ressources disponibles, sont stockées dans cette file d’attente, intégrée (en amont) au bloc Seize, – Queue Name : nom de la file d’attente. Figure 11 – Bloc Seize Release Le bloc Release permet de « relâcher » des ressources. Quand une entité entre dans ce bloc, elle libère (relâche) la, ou les ressources dont le nom est spécifié dans le champ Resource (Figure 12). Le champ Name représente : Le nom du bloc, – Add : permet d’ajouter les ressources à relâcher, – Resource Name : Nom de la ressource, Quantity : Nombre de ressources à libérer.
On peut noter que l’exécution de cette tâche est instantanée, autrement dit le temps de passa e d’une entité dans un bloc d’attentes. Quand toutes les files d’attentes, associées au bloc Match, ont une, voire plusieurs entités, ces entités sont libérées, de façon synchrone, vers les sorties correspondantes (Figure 13). – e champ Name représente : le nom du bloc, – Number to Match : le Nombre d’entrées (entités en files d’attentes à synchroniser), Type : le type de synchronisation. Dans notre exemple, la synchronisation se produit lorsqu’au moins une entité est présente ans chacune des deux files d’attente, à savoir Match 1. Queue1 et Match 1. Queue2. Les entités à l’origine de la synchronisation sont ensuite dirigées vers les sorties correspondantes.
Figure 13 – Bloc Match Les sorties d’un bloc Match doivent être connectées à un bloc (éventuellement un bloc Dispose si la sortie n’est pas « utile Analyse d’un modèle Le chapitre d’avant nous a permis de modéliser le système physique, sans pour autant fournir d’informations. La collecte d’informations spécifiques se fait en utilisant des blocs supplémentaires qui vont nous permettre de modéliser tout le ystème. 1 . Template Basic process nombre d’entitésqui transitent par ce bloc. o Value : Valeur d’incrémentation du compteurà chaque passage d’une entité, o Counter Name : Le nom du compteur. – Time Between : Le blocpermet de recueillir les temps de passage entre deux entités successives, o Tally Name : Le nom du tally. – Time Interval : le bloc permet de recueillir les temps mis par les entités traversant une partie (ou l’ensemble) d’un modèle. Attribute Name : Le nom d’attribut, Figure 14 — Bloc Record Statistic Le bloc Statistic permet de collecter durant la simulation des tatistiques issues de variables SIMAN et de spécifier les fichiers dans lesquels seront sauvegardées les données d’observations individuelles. Lorsque le champ Type = Frequency et Frequency Type Value, le bloc permet : À travers la variable NQ (abréviation de Number in Queue) : La mise à jour automatiquement par SIMAN, de disposer du nombre d’entités contenues dans une file d’attente. par exemple, en supposant défini une file d’attente intitulée Processl . Queue, la variable Statistic3 (champ Name = Statistic3 ermet de connaître le nombre d’entités présent