Formation Flex Sim
www.flexsim.com/fr
[email protected] +33 (0)970 406 405
Simulation de flux avec
1
Plan de la formation
1
• Introduc Introduction tion à la simula simulation tion
2
• Démarrer Démarrer avec avec Flex FlexSim Sim
3
• Modélisa Modélisation tion par par étapes étapes
4
• Ressources Ressources fixes fixes & convoyeur convoyeurss
5
• Ressour Ressources ces mobiles mobiles
6
• Diagra Diagramme mme logiue logiue !rocess !rocess Flo" Flo"
7
• #angage #angage de programmation programmation FlexScript FlexScript
2
Simulation de flux avec
1
Plan de la formation
1
• Introduc Introduction tion à la simula simulation tion
2
• Démarrer Démarrer avec avec Flex FlexSim Sim
3
• Modélisa Modélisation tion par par étapes étapes
4
• Ressources Ressources fixes fixes & convoyeur convoyeurss
5
• Ressour Ressources ces mobiles mobiles
6
• Diagra Diagramme mme logiue logiue !rocess !rocess Flo" Flo"
7
• #angage #angage de programmation programmation FlexScript FlexScript
2
1
Introduction à la simulation
Etude d’un système
• exis existe tenc ncee ? • pe pert rtur urba bati tion onss ? • co coût ûts/ s/dé déla lais is ?
Expérimentation sur le système réel
• maqu queette
objectifs • compr comprendre/ endre/prédir prédiree le compo comportem rtement ent • dim dimens ension ionner ner/opt /optim imise iserr
Expérimentation sur un modèle du système
Modèle
Modèle
physique
mathématique
Modèle analytique
Modèle de simulation
• champ d’application limité • soup souple less ssee • fl flex exib ibil ilit itéé 3
Qu’est-ce Qu’est-ce que la simulation simulation ?
• La simulation consiste à: »
»
imiter, mimer le comportement d’un système réel prédire le comportement d’un système encore non existant
• La simulation de flux est un domaine spécifique de simulation: »
le flux désigne le déplacement d’une entité physique ou immatérielle, par exemple: • le charge chargemen mentt d’une d’une pièce pièce sur sur une mach machine ine • l’envoi l’envoi in inform formatique atique d’un ordre de fabricat fabrication ion
4
Simulation ar !v!nements discrets
• Chaque événement se produit à un instant t précis »
exemple:
• Si plusieurs événements se produisent au même instant t, ils seront exécutés dans un ordre bien précis et non pas simultanément au sens strict du terme !
≠ 5
Qu’est-ce qu’un mod"le de simulation ?
• Une représentation simplifiée d’un système réel (ou encore non existant), définie par: »
des frontières délimitant le système simulé modèle
système réel »
des variables d’entrée • capacités de stockage, nombre d’opérateurs...
»
des variables de sortie (mesures de performance) • évolution des niveaux de stock, taux d’occupation des opérateurs... 6
#xemles d’alications de la simulation
• Analytique »
identifier un goulot d’étranglement
»
dimensionner un système de production
»
mesurer les ruptures de stock
• Prédictif »
anticiper l’impact d’une augmentation de production
»
tester un ordonnancement de production
»
sélectionner des alternatives pour des nouveaux investissements
• Communication »
démontrer le potentiel de l’installation d’un nouvel équipement
7
2
Démarrer avec FlexSim
• Librairie de modélisation »
ressources fixes, mobiles, réseaux de déplacement
• Liste de produits »
colis, caisses, palettes...
• Interactions avec un modèle FlexSim »
Navigation à la souris dans la vue 3D
»
Insertion d'objets dans le modèle
»
Connexion des ressources fixes
8
$i%rairie de mod!lisation
• • • • • •
Ressources Fixes (Fixed Resources) Ressources Mobiles (Task Executers) Réseaux de déplacement (Travel Networks) Convoyeurs Visuel A* »
algorithme de recherche de chemin
• AGV (Automated Guided Vehicle) »
réseaux de déplacement pour les AGVs
• Fluide 9
&essources 'ixes (Fixed Resources)
• Caractéristiques: »
position fixe dans le modèle fonctions:
»
• création de produits (objet Source) • stockage, assemblage, désassemblage... • destruction de produits (objet Sink ) règles de routage en flux poussé/tiré
»
»
envoi de missions à des ressources mobiles: • appel d’un opérateur pour un réglage • transport par chariot élévateur
10
&essources (o%iles (Task Executers)
• Caractéristiques: »
»
»
mobilité de tout ou partie de la ressource exécution des missions ordonnées par les ressources fixes • régler une machine • déplacer une palette gestion des missions: • mise en attente • transmission à une autre ressource disponible • ordonnancement des tâches par niveau de priorité
11
$iste de roduits (FlowItem Bin)
• Bouton »
> FlowItem Bin
ou raccourci
• Contient les classes d’objets qui peuvent circuler dans le modèle »
palette, personne, camion...
• Liste extensible avec tout produit importé de votre choix »
bouteille, pneu, pièce mécanique...
• Toute sorte d’information peut être attachée aux produits: »
référence article, poids, n de commande... °
12
(aniulations avec la souris
• Navigation dans une fenêtre 3D Translation
Rotation
Zoom
ou
ou
• Astuces »
perdu dans la vue ?
»
vue de dessus:
»
puis View > Reset View
puis Model Views > Top naviguer sans sélectionner d’objet à l’aide du raccourci 13
)nsertion d*o%+ets dans le mod"le
• 1. Par glisser-déposer dans la vue 3D • 2. Par double clic dans la vue 3D puis sélectionner l’objet choisi • 3. Mode rapide de création clic gauche sur un objet de la libraire puis à chaque clic dans la vue 3D une copie est créée très pratique si vous avez plusieurs objets identiques à insérer »
»
»
»
»
pour quitter le mode rapide de création,
clic droit dans la vue 14
,ranslation d’o%+ets.
• Translation dans le plan XY
• Translation en Z ou
15
&edimensionnement d’un o%+et
• Étirement / rétrécissement sur 1 axe »
clic gauche sur un cône X, Y, ou Z
• Redimensionnement proportionnel clic gauche & droit sur un des cônes X, Y, ou Z »
16
&otation d’un o%+et
• Rotation sur 1 axe »
clic droit sur un cône X, Y, ou Z
17
S!lection d’o%+ets.
• Sélection simple
• Sélection multiple ou
ou »
déselection:
+ clic dans le vide 18
/stuce0 renommer lusieurs o%+ets la fois
• Méthode »
»
»
»
»
sélectionner les objets à renommer avec clic gauche sur un des objets sélectionnés cliquer sur le bouton à droite du nom renommer tous les objets sélectionnés avec une indexation
déselection:
+ clic dans le vide 19
Ports d’entr!esortie
• Une connexion entre 2 ressources fixes relie un port de sortie de l’objet amont à un port d’entrée de l’objet aval Ports d’entrée
Ports de sortie
20
onnexions d*entr!esortie
Déconnexion
Connexion ou
ou
connecter de l'objet émetteur vers l'objet receveur
déconnecter de l'objet émetteur vers l'objet receveur 21
/stuce0 cr!er lusieurs connexions la fois
• Sélectionner les objets à connecter avec »
connexion de la source aux 4 postes
»
connexion des 4 postes à la sortie 22
/stuce0 connecter cr!er
• Créer simultanément une connexion et un objet »
»
»
»
»
insérer une Source maintenir le raccourci cliquer sur la Source cliquer vers la position de création de l’objet aval tout en maintenant le raccourci cliquer sur le Processor
23
&accourcis clavier usuels
• Duplication »
»
Copier Coller
• Modification des changements »
»
»
Annuler Rétablir ou menu Edit
24
ue
• Vues »
ajouter, mettre à jour ou supprimer des points de vue prédéfinis
• Paramètres de vue »
mode de travail / de présentation
»
perspective
»
»
»
afficher les connexions aligner les objets sur la grille (Snap to Grid) afficher/masquer les noms des objets et leurs statistiques
• Capture d'écran de la vue 3D 25
estion des fentres
• Agencez vos fenêtres... comme bon vous semble ! »
mises en onglet, mosaïques, déplacement sur 2 nd écran...
• Espace de travail par défaut »
menu View > Open Default Workspace 26
3
Modélisation par étapes
1. 2. 3. 4. 5.
Choisir les objets FlexSim Créer les connexions de flux Editer les propriétés des objets Lancer la simulation Visualiser les résultats
27
(od"le 1 • Objectif »
introduire aux étapes basiques de la construction et de l’exploitation des résultats d’un modèle avec l’exemple d’un guichet de poste
• Description » »
»
»
la poste est ouverte de 9:00 à 17:00 sans interruption les clients arrivent au bureau de poste à intervalles de 1 minute en moyenne. La distribution d’arrivée des clients suit une loi exponentielle s’il y a déjà 10 clients dans la file d’attente, les nouveaux clients qui arrivent quittent directement le bureau de poste les temps de service au guichet suivent une loi exponentielle avec une moyenne de 55 secondes
• Questions » » »
quel est le temps d'attente moyen des clients ? quel est le taux d'occupation du guichet ? combien de clients sont partis insatisfaits ? 28
8nit!s du mod"le
• Déterminer les unités les plus adaptées au système modélisé »
unités de temps: secondes, minutes...
»
unité de longueur: mètres, millimètres...
• Fixer la date et l’heure du début du modèle »
»
rappel énoncé: la poste ouvre à 9:00 peut être modifié a posteriori dans le menu Edit > Model Settings, ainsi que le format d'heure • HH = format 24h au lieu de 12h • tt = indication AM/PM 29
9tae 1: ;oisir les o%+ets 'lexSim
• Arrivée de clients »
Source
• File d’attente »
Queue
• Sortie de clients »
Sink • 1 sortie pour les clients qui ont attendu et sont passés au guichet • 1 sortie pour les clients qui n’attendent pas et quittent directement le bureau de poste
• Guichet »
Processor
30
Show Node Ranks )
treenode current = rank( model, 3) rank(current, 1) first(current) rank(current, 3) rank(current, 5)
last(current) 154
%é"érences relati(es par les connexions outobject(current, 1) inobject(current, 1)
current
outobject(current, 2) inobject(current, 2)
centerobject(current, 1) centerobject(current, 2) 155
4ecture de statistiques • Fonction content(objet) »
renvoie le nombre de produits contenus
• Fonctions getinput(objet) et getoutput(objet) »
renvoie le nombre de produits entrés / sortis
• Exemples »
int stock = content(current);
»
int produits_sortis = getoutput(current);
156
#oucle for • Exécute un bloc de code un nombre défini d'itérations for(/*départ*/; /*test*/; /*incrément*/) { bloc de code } »
au départ, un compteur de tours de boucle est initialisé
»
avant chaque tour, un test est effectué pour continuer la boucle • par exemple: tours de boucle ≤ nombre défini d'itérations
»
»
si ce test est faux, la boucle s'arrête. Evitez les boucles infinies en vous assurant que ce test sera finalement faux. à chaque fin de tour, le compteur est incrémenté 157
Exemple de boucle for for(int index = 1; index 0) {
destroyobject(last(current)); }
160
Modle 1, • Objectif »
apprendre à programmer une boucle for
• Description » » » » »
palettisation de 8 cartons par palette hypothèse: il y a toujours des palettes et des cartons disponibles après palettisation, les palettes circulent sur 1 convoyeur au milieu du convoyeur, ajouter un point de décision à l'arrivée au point de décision (On Arrival), programmer une boucle for pour donner une couleur aléatoire (voir la fonction colorrandom ) à chacun des cartons de la palette
161
Disposition du modle 1,
162
4ire5écrire dans une table lobale • Fonction gettablenum ("nom_tableau", »
»
ligne, colonne)
renvoie la valeur enregistrée à la ligne et colonne du tableau spécifié exemple: ("Inventaire", 2, 4) • gettablenum
»
si la cellule à lire contient du texte, utiliser
• Fonction settablenum ("nom_tableau",
gettablestr
ligne, colonne, valeur)
»
écrit la nouvelle valeur à la ligne et colonne spécifiée du tableau
»
pour modifier le texte d'une cellule, utiliser
»
exemples:
settablestr
("Inventaire", 2, 4, 347) • settablenum • settablestr("Inventaire", 1, 2, "joint plastique") 163
4ire5écrire un nombre5du texte getitemtype getlabel gettablenum itemtype get
getvarnum
label table
set
gettablestr getvarstr num
getnodestr
var
setitemtype str
node
getnodenum
setlabel settablenum settablestr etc... 164
*nnexe9 *rborescence
Vue 3D
Vue Arborescente
165
*rborescences • Navigation dans l'arbre à différents niveaux: »
Modèle
»
Principal
»
Vue (interfaces graphiques)
• Fonctionnalités de recherche/remplacement »
texte • portion de code, variable, label...
»
noms de noeuds
166
:ue arborescente • L’arbre est la colonne vertébrale d’un modèle • Toutes les informations sont stockées, organisées, hiérarchisées dans l’arbre: »
ressources fixes et mobiles, palettes, produits...
»
variables, statistiques, logiques de flux...
»
tables de données, unités du modèle...
• Un objet peut être masqué dans la vue 3D, mais sera toujours présent dans la vue arborescente 167
3tockae d;in"ormation • Toutes les informations sont stockées dans l'arbre • Les interfaces graphiques reflètent des données contenues dans l'arbre • Briques de construction d'un arbre: les noeuds
168