Vous êtes sur la page 1sur 98

Formation FlexSim

www.flexsim.com/fr
france@flexsim.com
+33 (0)970 406 405
Simulation de flux avec

Plan de la formation

1 Introduction la simulation

2 Dmarrer avec FlexSim

3 Modlisation par tapes

4 Ressources fixes & convoyeurs

5 Ressources mobiles

6 Diagramme logique Process Flow

7 Langage de programmation FlexScript

2
1 Introduction la simulation

objectifs
Etude dun
comprendre/prdire le comportement
systme
dimensionner/optimiser

existence ? Exprimentation Exprimentation


perturbations ? sur le systme sur un modle
cots/dlais ? rel du systme

maquette
Modle Modle
physique mathmatique

Modle champ
analytique dapplication limit

Modle de souplesse
simulation flexibilit

Quest-ce que la simulation ?

La simulation consiste :
imiter, mimer le comportement dun systme rel
prdire le comportement dun systme encore non existant

La simulation de flux est un domaine spcifique de


simulation:
le flux dsigne le dplacement dune entit physique ou
immatrielle, par exemple:
le chargement dune pice sur une machine
lenvoi informatique dun ordre de fabrication

4
Simulation par vnements discrets

Chaque vnement se produit un instant t prcis


exemple:

Si plusieurs vnements se produisent au mme instant t,


ils seront excuts dans un ordre bien prcis et non pas
simultanment au sens strict du terme !

Quest-ce quun modle de simulation ?

Une reprsentation simplifie dun systme rel (ou


encore non existant), dfinie par:
des frontires dlimitant le systme simul

modle

systme rel
des variables dentre
capacits de stockage, nombre doprateurs...
des variables de sortie (mesures de performance)
volution des niveaux de stock, taux doccupation des oprateurs...

6
Exemples dapplications de la simulation

Analytique
identifier un goulot dtranglement
dimensionner un systme de production
mesurer les ruptures de stock
Prdictif
anticiper limpact dune augmentation de production
tester un ordonnancement de production
slectionner des alternatives pour des nouveaux investissements
Communication
dmontrer le potentiel de linstallation dun nouvel quipement

2 Dmarrer avec FlexSim

Librairie de modlisation
ressources fixes, mobiles, rseaux de dplacement
Liste de produits
colis, caisses, palettes...
Interactions avec un modle FlexSim
Navigation la souris dans la vue 3D
Insertion d'objets dans le modle
Connexion des ressources fixes

8
Librairie de modlisation

Ressources Fixes (Fixed Resources)


Ressources Mobiles (Task Executers)
Rseaux de dplacement (Travel Networks)
Convoyeurs
Visuel
A*
algorithme de recherche de chemin
AGV (Automated Guided Vehicle)
rseaux de dplacement pour les AGVs
Fluide
9

Ressources Fixes (Fixed Resources)

Caractristiques:
position fixe dans le modle
fonctions:
cration de produits (objet Source)
stockage, assemblage, dsassemblage...
destruction de produits (objet Sink)
rgles de routage en flux pouss/tir
envoi de missions des ressources mobiles:
appel dun oprateur pour un rglage
transport par chariot lvateur

10
Ressources Mobiles (Task Executers)

Caractristiques:
mobilit de tout ou partie de la ressource
excution des missions ordonnes par les
ressources fixes
rgler une machine
dplacer une palette
gestion des missions:
mise en attente
transmission une autre ressource disponible
ordonnancement des tches par niveau de priorit

11

Liste de produits (FlowItem Bin)

Bouton > FlowItem Bin


ou raccourci
Contient les classes dobjets qui
peuvent circuler dans le modle
palette, personne, camion...
Liste extensible avec tout produit
import de votre choix
bouteille, pneu, pice mcanique...

Toute sorte dinformation peut tre attache aux produits:


rfrence article, poids, n de commande...

12
Manipulations avec la souris

Navigation dans une fentre 3D


Translation Rotation Zoom

ou ou

Astuces
perdu dans la vue ? puis View > Reset View
vue de dessus: puis Model Views > Top
naviguer sans slectionner dobjet laide du raccourci
13

Insertion d'objets dans le modle

1. Par glisser-dposer dans la vue 3D


2. Par double clic dans la vue 3D
puis slectionner lobjet choisi
3. Mode rapide de cration
clic gauche sur un objet de la libraire
puis chaque clic dans la vue 3D une copie est cre
trs pratique si vous avez plusieurs objets identiques insrer

pour quitter le mode rapide de cration, clic droit dans la vue


14
Translation dobjet(s)

Translation dans le plan XY

Translation en Z

ou

15

Redimensionnement dun objet

tirement / rtrcissement sur 1


axe
clic gauche sur un cne X, Y, ou Z

Redimensionnement
proportionnel
clic gauche & droit sur un des
cnes X, Y, ou Z

16
Rotation dun objet

Rotation sur 1 axe


clic droit sur un cne X, Y, ou Z

17

Slection dobjet(s)

Slection simple

Slection multiple

ou

ou

dselection: + clic dans le vide

18
Astuce: renommer plusieurs objets la fois

Mthode
slectionner les objets renommer avec
clic gauche sur un des objets slectionns
cliquer sur le bouton droite du nom
renommer tous les objets slectionns avec une
indexation

dselection: + clic dans le vide


19

Ports dentre/sortie

Une connexion entre 2 ressources fixes relie un port de


sortie de lobjet amont un port dentre de lobjet aval
Ports dentre Ports de sortie

20
Connexions d'entre/sortie

Connexion Dconnexion

ou ou

connecter de l'objet metteur dconnecter de l'objet


vers l'objet receveur metteur vers l'objet receveur
21

Astuce: crer plusieurs connexions la fois

Slectionner les objets connecter avec


connexion de la
source aux 4
postes

connexion
des 4 postes
la sortie
22
Astuce: connecter & crer

Crer simultanment une connexion et un objet


insrer une Source
maintenir le raccourci
cliquer sur la Source
cliquer vers la position de
cration de lobjet aval tout en
maintenant le raccourci
cliquer sur le Processor

23

Raccourcis clavier usuels

Duplication
Copier
Coller

Modification des changements


Annuler
Rtablir
ou menu Edit

24
Vue

Vues
ajouter, mettre jour ou supprimer des
points de vue prdfinis
Paramtres de vue
mode de travail / de prsentation
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

Gestion des fentres

Agencez vos fentres... comme bon vous semble !


mises en onglet, mosaques, dplacement sur 2nd cran...

Espace de travail par dfaut


menu View > Open Default Workspace
26
3 Modlisation par tapes

1. Choisir les objets FlexSim


2. Crer les connexions de flux
3. Editer les proprits des objets
4. Lancer la simulation
5. Visualiser les rsultats

27

Modle 1

Objectif
introduire aux tapes basiques de la construction et de lexploitation des
rsultats dun modle avec lexemple dun 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 darrive des clients suit une loi exponentielle
sil y a dj 10 clients dans la file dattente, 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
Units du modle

Dterminer les units les plus


adaptes au systme modlis
units de temps: secondes, minutes...
unit de longueur: mtres, millimtres...
Fixer la date et lheure du dbut du
modle
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

tape 1. Choisir les objets FlexSim

Arrive de clients Sortie de clients


Source Sink
1 sortie pour les clients qui ont
attendu et sont passs au guichet
File dattente 1 sortie pour les clients qui
Queue nattendent pas et quittent
directement le bureau de poste

Guichet
Processor

30
Disposition du modle 1

Glisser les objets de la fentre de librairie et les dposer


dans la vue 3D laide de la souris

Pensez donner des noms explicites vos objets !


Note: vitez les accents de la langue franaise

31

tape 2. Crer les connexions de flux

Crer les connexions de flux pour dfinir les diffrentes


routes que peuvent emprunter les clients

Attention au sens de connexion: crer la connexion de flux de


lobjet metteur vers lobjet receveur

32
Excution du modle

Boutons de contrle
rinitialiser le modle
lancer la simulation
arrter/mettre en pause la simulation
avancer pas pas

Raccourcis clavier

33

tape 3. Editer les proprits des objets

Fentre Quick Properties


accs aux proprits les plus
usuelles de lobjet slectionn:
nom
forme 3D
couleur
position, rotation, dimension
labels
proprits comportementales
(routage des produits...)

34
Source

Lobjet Source cre des arrives


de clients dans le modle
rappel nonc: arrive d1 client
par minute en moyenne,
distribution exponentielle
modification du temps dinter-arrive
(Inter-Arrivaltime) en ditant les
proprits
attention tre cohrent avec lunit
de temps choisie la cration du
modle !
astuce: cocher Arrival at time 0
pour forcer l'arrive du 1er client t0

35

Gnration de nombres alatoires

Comment est gnre une squence alatoire ?


l'aide d'un gnrateur alatoire (random stream)
ce paramtre est optionnel
Exemple avec 5 lancers de pile ou face
stream = 1

stream = 2

stream = 3

Rpter les squences alatoires


dans ce cas chaque simulation est strictement identique

36
Queue

Lobjet Queue modlise la file dattente de clients


rappel nonc: sil y a dj 10 clients dans la file dattente, les
nouveaux clients quittent directement le bureau de poste
capacit maximale (Max Content) de la file dattente 10

Bonus visuel
pour que les clients se mettent en file au lieu de sempiler

37

Processor

Lobjet Processor modlise le


guichet
rappel nonc: les temps de service au
guichet suivent une loi exponentielle
avec une moyenne de 55 secondes
modification du temps opratoire (Process
Time) en slectionnant une distribution
statistique
attention tre cohrent avec lunit de
temps choisie la cration du modle !

38
tape 4. Lancer la simulation

Dfinir la date et lheure darrt de la simulation


rappel nonc: la poste ferme 17:00
pour commencer: simuler une seule journe

Lancer le modle vitesse maximum pour collecter les


rsultats le plus vite possible
39

tape 5. Visualiser les rsultats

Afficher des statistiques avec les noms des objets

Rappel des questions


quel est le temps d'attente moyen des clients ?
quel est le taux d'occupation du guichet ?
combien de clients sont partis insatisfaits ?

40
Tableau de bord (Dashboard)

Le tableau de bord sert :


restituer de nombreuses statistiques, sous forme
d'histogrammes, courbes, camemberts...
crer une interface conviviale pour modifier des
donnes d'entres (Model Input)
Il est possible dajouter plusieurs tableaux
de bord
bouton > Add a dashboard

41

Cration dun tableau de bord

Glisser-dposer des graphes de


la fentre de librairie vers le
tableau de bord
temps dattente moyen dans la file
dattente (Average Staytime)
volution du nombre de clients dans
la file dattente (Content vs Time)
taux doccupation du guichet
(State Pie)
satisfaction des clients
insrer un diagramme Output per hour,
changer la statistique en Total Input

42
Export des rsultats vers Excel

Exporter les donnes d'un graphe au format .csv


clic droit sur un graphe du tableau de bord, option Export to CSV

Autres formats d'export


page web (Export to HTML)
image (Export to PNG)
43

Variabilit des rsultats

Est-il sage danalyser les rsultats sur la base de la


simulation dune seule journe du bureau de poste ?
SURTOUT PAS !
comme dans la ralit, toutes les journes ne se ressemblent pas et
sont sujettes des phnomnes alatoires

dans le modle, les phnomnes alatoires sont reprsents par


des distributions statistiques
44
Concept de rplication

Une rplication est une rptition dune exprience


pour avoir des rsultats fiables, il est indispensable de rpter
plusieurs fois la simulation dune journe dactivit du bureau de
poste
Pour jouer plusieurs rplications, utiliser lExperimenter
menu Statistics > Experimenter

45

Configuration de lExperimenter

Dans le cas prsent, aucun


scnario

Mesures de performance
possibilit de rutiliser toutes
les statistiques du tableau de
bord, ou den ajouter dautres

Lancement de lexprience
8h douverture
100 rplications

46
Rsultats (sur 100 rplications)

Temps d'attente moyen des clients


environ 3 min

Taux d'occupation du guichet


86.4 % en moyenne

Clients insatisfaits
20 par jour en moyenne, minimum 1 maximum 63 !

47

Bonus visuel

Nhsitez pas personnaliser laspect visuel du modle


pour le rendre plus convaincaint lors dune prsentation !
Exemple:
sol (Model Floor)

guichet 3D (Shape)

48
Importer des formes 3D

Objet Shape
glisser-dposer partir de la bibliothque visuelle
Formats 3D compatibles
.wrl; .3ds; .stl; .skp; .dae; .obj; .ac; .x; .ase; .ply; .ms3d; .cob; .fbx;
.stp; .step; .igs; .iges; .md5mesh; .irr; .irrmesh; .ter; .lxo; .csm; .scn;
.q3o; .q3s; .raw; .off; .mdl; .hmp; .scn; .xgl; .zgl; .lvo; .lvs; .blend
Bibliothques 3D en ligne
3dwarehouse.sketchup.com, www.traceparts.com...
Logiciels de conception 3D
www.sketchup.com, www.blender.org...

49

Importer un arrire plan

Arrire-plan Background
glisser-dposer partir de la bibliothque visuelle
Formats compatibles
plan AutoCAD: dwg ou dxf
image: png, jpg ou bmp

50
4 Ressources fixes & convoyeurs

Approfondissement des connaissances sur les ressources


fixes les plus couramment utiliss
Source
Queue
Processor
Sink
Combiner
Separator
MultiProcessor
Rack
Cration de systmes de convoyage
51

Bons rflexes

Besoin daide sur les proprits d'un objet ?


survoler le champ de proprit avec la souris

cliquer sur le bouton dans la fentre de proprits


accs direct la section du manuel utilisateur sur l'onglet concern

52
Source

Cration de produits / clients


Paramtrage des arrives avec au choix:
un temps dinter-arrive (Inter-Arrival Time)
une planification des arrives (Arrival Schedule)
une squence darrives (Arrival Sequence)

53

Queue

Stockage de produits
capacit maximale
En option
LIFO (Last In First Out)
mise en lot (Perform Batching)
Placement des produits
lintrieur de la zone
empiler verticalement
ligne horizontale

54
Processor

Capacit maximale de produits


Dlais
temps de rglage (Setup Time)
temps opratoire (Process Time)

Appels doprateur(s) pour


le rglage et/ou lopration
Visuel
convoyer les produits sur la
machine

55

Sink

Lobjet Sink est utilis pour dtruire les produits qui


sortent du modle

56
Conveyors

Modlisation de systmes de convoyage


convoyeur droit (straight)
convoyeur courb (curved)
jonction de convoyeurs
point de dcision
station
cellule photolectrique (Photo Eye)
moteur
contrle des lignes de convoyage qui rejoignent une ligne
principale (Merge Controller)

57

Proprits des convoyeurs

2 types de convoyeurs:
accumulation (par dfaut): les produits saccumulent au bout
du convoyeur
modlise par exemple un convoyeur rouleaux
sans accumulation: le convoyeur sarrte ds quun produit
atteint le bout du convoyeur
modlise par exemple un convoyeur bande
Paramtres
vitesse de convoyage
rgles despacement entre les
produits
au contact, avec un intervalle

58
Modle 2

Description
les pices arrivent intervalles denviron 30 s (loi exponentielle)
il arrive 4 types de pices dans les proportions suivantes: 20% de type 1, 30%
de type 2, 40% de type 3, 10% de type 4
il y a 4 machines, une pour chaque type de pices
aprs lusinage, les pices sont mises en attente pour tre controles. La dure
du contrle est constante: 10 s. Si la qualit de la pice est bonne, elle quitte
cet atelier. Les pices dfectueuses (10%) sont renvoyes en production pour
tre rectifies.
les temps dusinage sont identiques pour toutes les machines: uniform (100,
120). Pour une pice dfectueuse rectifier, le temps dusinage est plus long:
uniform (120, 130).
les pices dfectueuses sont prioritaires sur les autres pices
Question
o se situe le goulot dtranglement ? Comment le rsorber ?

59

Disposition du modle 2

60
Type de produit (ItemType)

Attribut numrique pour identifier les diffrents types de


produits
exemple: rfrence darticle, n de commande...

Lors de la cration dun produit par la Source, une valeur


est attribue au type de produit

61

Dclencheurs (Triggers)

Chaque ressource a un ensemble de dclencheurs


permet lutilisateur dajouter / supprimer des actions
personnalises suite un vnement donn
exemples de dclencheurs
linitialisation (OnReset)
lentre dun produit (OnEntry)
la fin dun rglage (OnSetupFinish)...
les dclencheurs disponibles sont spcifiques chaque ressource

62
Quand assigner les types de pices ?

Lors de la cration des pices la source... OnCreation !

Bonus visuel
pour mieux visualiser les diffrents types de produits dans la vue
3D, choisir loption qui donne aussi une couleur spcifique

63

Flux aval (Send To Port)

Par quel port de sortie envoyer le produit ?


paramtre Send To Port
Exemples de rgles de flux
Premier port disponible (First available)
Vers la file dattente la plus courte (Shortest Queue)
Alatoirement (Random) par pourcentage
(By Percentage)
64
Routage en fonction du type de pice

Envoyer vers le port de


sortie (Send To Port)
en fonction du type de
produit (Port By Case)
type 1 sur machine 1
type 2 sur machine 2
etc...

attention lordre des


ports de sortie ! Il peut tre
vrif et modifi dans
longlet General des
proprits
65

Retourner la valeur du type de pice

Fonction getitemtype
prend en paramtre lobjet dont il faut retourner le type
Rfrence la pice: item
Expression: getitemtype(item)
littralement: obtenir (get) le type de produit (itemtype) de la
pice (item)

66
Variables current et item

current
la variable current est une rfrence la ressource sur laquelle
est dclench l'vnement
item
la variable item est une rfrence au produit qui dclenche
l'vnement
Exemples
dclencheur OnProcessFinish Chargement (OnLoad)

current
item
item
current
67

Pices dfectueuses

Rappel nonc
10% des pices sont dfectueuses et renvoyes en production
pour tre rectifies
choisir et paramtrer la bonne option dans le flux en sortie du
poste de contrle
Comment marquer les pices dfectueuses ?
dans la suite du modle, les pices dfectueuses ont des proprits
spcifiques (priorit, temps dusinage plus long), il est donc
ncessaire de stocker linformation de dfaut sur ces pices
la rponse: utiliser un label !

68
Labels

Stockage de donnes locales sur les objets


nombre (Number Label)
texte (String Label)
tableaux

69

Cration de labels sur les pices

Dans la liste de produits (FlowItem Bin)


la Source cre des copies des objets de la liste de produits, donc si
ce produit contient des labels, le produit cr par la Source aura
exactement les mmes labels
Ou dynamiquement au cours de lexcution du modle
un label peut tre cr sur la pice une fois le contrle pass
choisir quel moment crer ce label sur la pice, cest dire sur quel
dclencheur de quelle ressource
paramtrer un label (Set Label ) sur la pice (item)

70
Bonus visuels

Coloriser les machines de la mme couleur que les pices

Changer la forme 3D des pices dfectueuses


par exemple en cylindre
Activer le rendu des convoyeurs
slectionner une section de convoyeur
bouton System Properties
onglet General, cocher Draw Render Mode

71

Reconnatre les pices dfectueuses

Lecture du label sur la pice


getlabel(item,"defectueux")
littralement: obtenir (get) la valeur du label sur la pice (item)
nomm "defectueux"
Exemple
getlabel(item,"defectueux") retourne la valeur 1

si le label n'existe pas, getlabel(item,"defectueux") retourne la


valeur 0

72
Temps d'usinage

Plus long pour les pices dfectueuses


slectionner toutes les machines avec la touche
diter le temps de process

le nouveau temps de process est appliqu toutes


les machines slectionnes

73

Priorit des pices dfectueuses

Lorsqu'une pice rentre en stock (OnEntry)


classer (sort) en fonction (by expression) de la valeur du label

74
Modle 2 - Rponses

O se situe le goulot dtranglement ?


saturation de lutilisation des machines 2 et 3

consquence: accumulation de pices de types 2 et 3 en stock


Comment le rsorber ?
amliorer la qualit des pices ? Pas suffisant
rduire le temps dusinage aux machines 2 et 3
75

Modle 2 - Bonus

Diagrammes de Gantt
utilisation des machines (State Gantt)

suivi des produits (Item Trace Gantt)


comment reprer un produit dfectueux dans le diagramme ?

76
Flux (Flow)

Toutes les ressources fixes ont dans leurs poprits un


onglet Flow pour contrler:
le flux en sortie (Output)
le flux en entre (Input), si la logique de flux tir (Pull) est coche

77

Flux tir

Activation du flux tir


si la case pull est coche, la ressource fixe va
tirer les produits prsents dans les ressources
fixes amont
Stratgie
dtermine le ou les ports d'entre par
lesquels tirer le flux
Condition de flux tir (Pull Requirement)
value si un produit en amont peut tre
accept sur la base d'une condition dfinie
par exemple: tirer uniquement un type de produit
spcifique

78
Modle 3

Objectif
grer la production en flux tir (pull)
Description
un atelier produit 2 types de composants lectroniques
40% de type 1, usins sur 2 machines A
60% de type 2, usins sur 3 machines B
les composants arrivent intervalles de 2.5 s (loi exponentielle) dans un stock
tampon en amont des machines
chaque machine prlve dans le stock tampon un type de pice spcifique en
flux tir
l'usinage automatique dure exactement 10 s, quelque soit la machine
Questions
quel est le taux d'utilisation de chaque machine ?
quel est le taux d'utilisation combin du groupe de machines A ? du groupe
de machines B ?
79

Disposition du modle 3

80
Fermeture/ouverture de ports

Les ports d'entre/sortie peuvent tre manuellement


ferms/ouverts
option Control > Close and Open Ports dans les dclencheurs
Ports dentre ferms

Ports de
sortie ferms

81

Messages

Pour envoyer un message d'un objet un autre


Option Control > Send Message dans les dclencheurs
expditeur (From)
destinataire (To)
dlai
condition
3 paramtres optionnels
Par dfaut le destinataire est l'objet
connect au port central n1
Lorsqu'un objet reoit un message, son
dclencheur OnMessage est activ
82
Modle 4

Objectif
contrler les ouvertures/fermetures de ports
se familiariser avec l'envoi de message
Description
des pices arrivent intervalles de 30 s (loi exponentielle) dans un stock
tampon
une cellule compose de 2 postes en ligne ne traite qu'un seul produit la fois
la pice passe 10 s sur le 1er poste, 10 s sur le 2me poste
aprs avoir quitt le 2me poste, il faut nettoyer la cellule pendant 10 s avant
d'accepter une nouvelle pice (aide: envoyer un message diffr pour rouvrir le
port d'entre du 1er poste)

83

Disposition du modle 4

84
Modle 5

Objectif
se familiariser avec la librairie de convoyeurs
Description
des colis arrivent sur un convoyeur intervalles de 10 s (loi exponentielle)
il y a 3 types de colis en proportions uniformes, chaque type de colis est rout
sur une ligne de convoyage spcifique (aide: utiliser des points de dcision
pour le routage)
les 3 lignes de convoyage sont des lignes d'accumulation pour crer un train
(slug) d'au moins 4 colis (aide: crer un nouveau type de convoyeur et activer
le mode Slug Builder)
lorsque 4 colis au moins sont accumuls, le train est relch sur une ligne de
convoyage
Bonus
comment viter de relcher plusieurs train de colis en mme temps ? (aide:
utiliser un objet Merge Controller)

85

Disposition du modle 5

86
Combiner

Le port dentre n1 du Combiner est rserv au produit


de rfrence, dont la quantit cible est toujours gale 1
3 modes pour grouper des composants
mode Pack
liste de composants emballer/palletiser
sur le produit entr par le port 1
mode Join
liste de composants fusionner avec le
produit entr par le port 1
mode Batch
liste de composants mettre en lot avec
le produit entr par le port 1

87

Combiner - 3 modes

Pack
Join

Batch

88
Separator

2 modes
Unpack
dballer/dpalettiser des produits prcdemment groups sur un
conteneur (ex: palette, caisse) avec un Combiner en mode Pack
le conteneur ne peut pas quitter le Separator avant que tous les produits
contenants soit spars du conteneur
Split
crer un nombre dfini de copies du produit entr sur le Separator

89

MultiProcessor

Plusieurs tapes raliser sur 1 seul produit en 1 seul


endroit
capacit du MultiProcessor = 1
un nouveau produit ne sera accept que lorsque le prcdent produit aura
pass par toutes les tapes et quitt le MultiProcessor
Pour chaque tape
nom de ltape
temps opratoire
nombre doprateurs requis

90
Rack

Stockage de produits
par compartiments en tagres ou au sol (Floor Storage)
capacit maximale
paramtrage de rgles de placement
temps minimum de stockage (minimum dwell time)

91

Dimensionnement dun Rack

Dimensionnement basique (homogne) ou avanc


Colonnes (Bays)
nombre
largeur
Niveaux (Levels)
nombre
hauteur

92
Modle 6

Objectif
importer des donnes issues d'un fichier Excel
palettiser, stocker en tagres, dpalettiser
Description
des quantits de palettes arrivent des dates et heures donnes
chaque palette contient 8 articles
les palettes sont ranges dans une tagre une colonne spcifique
l'tagre dispose de 5 colonnes de 10 niveaux, 4 palettes maximum par
cellule
les articles sont dpalettiss et dposs sur un convoyeur
Donnes Excel
la planification des arrives de palettes avec les colonnes de rangement
assignes
temps de manutention, de stockage et de dpalettisation

93

Disposition du modle 6

94
Modle 6: Planification des arrives

importer dans la planification des arrives sur la source


de palettes

95

Modle 6: Temps de cycle

A importer dans une table globale de FlexSim


les temps indiqus sont en secondes

96
Tables Globale (Global Tables)

Stockage de donnes numriques et/ou textuelles,


accessibles dans tout le modle (do le terme global)
bouton

Possibilit d'ajouter la table l'import/export Excel


MTEI = Multiple Table Excel Import
MTEE = Multiple Table Excel Export
97

Interface Excel

Importation / exportation de donnes


partir / vers de multiples onglets ou
fichiers Excel
importation dans des tables globales de
FlexSim ou locales des objets
exemple: planning d'arrive d'une Source
Conseil
fermer le fichier Excel avant
importation / exportation pour viter un
conflit en lecture / criture

98
Pipette

Outil convivial et simple d'utilisation


pour prlever une couleur
pour rfrencer un objet
pour pointer vers une valeur d'un tableau...

99

5 Ressources mobiles

Approfondissement des connaissances sur les ressources


mobiles les plus couramment utilises
Dispatcher
TaskExecuter
Operator
Transporter

100
Dispatcher

Reoit des missions (transport, rglage...) et les dlgue


des ressources mobiles

qui envoyer la mission ? (Pass To)


la 1re ressource disponible (First Available)
la ressource la plus proche (Shortest Distance)
chacun son tour (Round Robin)...
stratgie de file d'attente des missions (Queue Strategy)
ordonner par niveau de priorit (Sort by TaskSequence Priority)
pas d'ordonnancement: FIFO (First In First Out)...

101

TaskExecuter

Assimilable un AGV
Automated Guided Vehicle
Transport
capacit, vitesse,
acclration...
seuil de rotation au-dessus
duquel l'AGV recule plutt
que de faire demi-tour (Flip
Thresold)
temps de chargement /
dchargement

102
Operator

Mmes proprits que le TaskExecuter


Un oprateur peut tre appel pour:
le transport d'une pice vers la ressource fixe suivante
le rglage d'une machine...
Visuel: homme / femme

103

Transporter

Mmes proprits que le TaskExecuter


capacit, vitesse, acclration...
seuil de rotation au-dessus duquel le transporteur recule plutt
que de faire demi-tour (Flip Thresold)
temps de chargement / dchargement...
Un seul paramtre diffrent
la vitesse d'lvation des fourches (Lift Speed) du chariot

104
Port central

Une connexion dite centrale cre une rfrence relative


entre 2 objets, par exemple pour:
envoyer une mission de transport une ressource mobile
envoyer des messages entre ressources

Port central

105

Connexions centrales

Connexion Dconnexion

ou ou

peu importe le sens de connexion peu importe le sens de dconnexion

106
... Pourquoi ?

Facile retenir sur les claviers


anglais (US) franais (Suisse)

Schma diffrent sur le clavier franais (France)

107

Transport par une ressource mobile

Mthode
cocher sur le stock
crer une connexion centrale entre le stock et l'oprateur

connexion
centrale

108
Transport par plusieurs ressources mobiles

Mthode
crer une connexion centrale entre le stock et le dispatcher
crer une connexion entre/sortie du dispatcher vers les
oprateurs attention au sens !

connexion
entre/sortie

connexion
centrale

109

Priorit des tches

Niveau de priorit
un niveau de priorit peut tre dfini lorsqu'une ressource fixe
envoie une mission (transport, rglage...) une ressource mobile
Premption
si une ressource mobile reoit une tche premptive, elle va
suspendre la tche en cours et:
mettre cette mission suspendue en attente (preempt only)
annuler la mission en cours (preempt, aborting active)
annuler la mission en cours et toutes les missions en attente (preempt,
aborting all)

110
Modle 7

Objectif
ajuster les priorits des tches pour qu'un oprateur effectue les rglages en
priorit sur le rapprovisionnement du stock
Description
un oprateur transporte les pices d'un stock permanent de 10 pices vers un
stock tampon en amont d'une machine
l'oprateur doit effectuer un rglage de 10 s toutes les 5 pices
le rglage est prioritaire sur le rapprovisionnement du stock tampon
l'usinage est automatique et dure 10 s
Bonus
enregistrer la position initiale de l'oprateur
crer une courte vido du modle

111

Disposition du modle 7

112
Emplois du temps (Time Tables)

Membres
les objets du modles qui sont
affects cet emploi du temps
Fonctions
prcisent le comportement lors
d'un arrt / redmarrage
arrt complet (Stop Object)
arrt d'approvisionnement (Stop
Input) ou de sortie (Stop Output)
Table
dition graphique des horaires de
service quotidiens/hebdomadaires
113

Profil de panne MTBF MTTR

Membres
les objets du modles qui sont
affects ce profil de pannes
Fonctions
occurence de la 1re panne
MTBF = Mean Time Between
Failures = Up Time
MTTR = Mean Time To Repair
= Down Time
Breakdowns
choix des tats statistiques

114
Modle 8

Objectif
grer l'emploi du temps d'une quipe d'oprateurs et les arrts machine
Description
2 oprateurs travaillent dans un atelier de 3 postes disposs en U
l'atelier en amont produit des pices de 8:00 17:00 qui arrivent dans un stock
tampon intervalles de 40 s (loi exponentielle)
les oprateurs approvisionnent et dchargent les machines
l'usinage automatique dure en moyenne 10 s, entre 5 et 15 s (loi triangulaire)
afin d'viter l'arrt complet de l'atelier, un oprateur prend sa pause de midi de
12:00 13:00 et le second de 13:00 14:00
toutes les 15 minutes d'usinage, une machine est arrte 5 minutes pour
vacuer les copeaux
Question
quelle quantit de pices est accumule dans le stock tampon cause de la
baisse de productivit entre 12:00 et 14:00 ?
Cette accumulation est-elle rsorbe en fin de journe ?
115

Disposition du modle 8

116
6 Diagramme logique Process Flow

117

Dfinitions

Process Flow
organigramme logique - alternative la programmation
Jeton (token)
les jetons sont les entits qui parcourent le diagramme logique
Process Flow
peuvent reprsenter des entits physiques ou abstraites
ordre de fabrication, commande client, ordre de dstockage...
Activit
opration logique
dlai, dcision, attente d'un vnement...
les jetons avancent d'activit en activit dans la logique

118
Exemple simple avec un feu tricolore

Jeton
entit abstraite qui rgule le plan de feu
Logique de plan de feu
un jeton est cr T = 0 et est associ un
objet 3D
le jeton avance d'activit en activit dans la
logique du plan de feu et boucle
indfiniment
vert - orange - rouge

119

Cration pas pas

Insertion des activits


ajouter un Process Flow Gnral
renommer la logique, par exemple:
glisser-dposer les activits dans le plan de feu et les renommer

120
Cration pas pas

Connexion logique
organiser en bloc toutes les activits qui vont tourner en boucle
crer les connexions logiques: clic sur le bord d'une activit

121

Cration pas pas

Relier la logique la 3D
insrer une Shape dans la vue 3D, la renommer Feu3D
dans l'activit Source, ajouter un label appel Feu et pointer sur
le Feu3D l'aide de la pipette

122
Cration pas pas

Changements de couleur
l'objet coloriser est dsign par le label
"Feu" sur le jeton (token)

Dlais
vert: 10s, orange: 4s, rouge: 10s

123

Aide sur Process Flow

Manuel utilisateur (menu Help > User Manual)


1 chapitre ddi + 7 tutoriels

124
4 types de logiques Process Flow

Gnral
logique centrale de contrle du modle
Ressource Fixe
logique locale de contrle de ressources fixes
associe une machine, un rack...
Ressource Mobile
logique locale de contrle de ressources mobiles
associe un oprateur, un cariste...
Sous-routine (Sub Flow)
sous-ensemble logique appele par une logique parente

125

Modle 9

Objectif
comparer les alternatives de cration de logiques personnalises: Triggers
versus Process Flow
Description
mme disposition que dans le modle 4: 1 source, 1 stock, 2 postes, 1 sortie
des pices arrivent intervalles de 30 s (loi exponentielle) dans un stock
tampon
une cellule compose de 2 postes en ligne ne traite qu'un seul produit la fois
(aide: crer un Process Flow gnral pour contrler les ouvertures/fermetures
de ports)
la pice passe 10 s sur le 1er poste, 10 s sur le 2me poste
aprs avoir quitt le 2me poste, il faut nettoyer la cellule pendant 10 s avant
d'accepter une nouvelle pice (aide: utiliser lactivit Delay dans le
logigramme Process Flow)

126
Disposition & logique du modle 9

127

Modle 10

Objectif
crer un Process Flow Gnral pour modliser une zone de rception
Description
des colis 1.5m x 1.5m x 1m (L x l x h) arrivent intervalles de 20 s en
moyenne (loi exponentielle) dans une zone de rception de 5 emplacements de
2m x 2m
un oprateur doit d'abord contrler le colis, cette opration dure 10 s
une fois que le colis est contrl, un cariste peut emmener le colis hors de la
zone de rception

128
Disposition & logique du modle 10

129

7 Langage de programmation FlexScript

Types de variables
Oprateurs
mathmatiques, de comparaison, logiques
Fonctions
Blocs conditionnels
if / else if / else
switch
Boucles
for
while

130
FlexScript

Langage de programmation de syntaxe similaire au C++


Contrairement au C++, le code FlexScript n'a pas besoin
d'tre compil
Besoin d'aide pour dmarrer la programmation ?
section FlexSim Coding du manuel utilisateur
syntaxe logique
fonctions basiques de modlisation

131

Rgles gnrales du langage FlexScript

langage sensible la casse: A a


les chanes de caractres (string) sont entre guillements
exemple: "ceci est du texte"
les accolades dlimitent un { bloc de code }
la fin d'une instruction est marque par un point virgule ;
commentaires
ligne: // ceci est une ligne de commentaire
paragraphe: /* ceci est un paragraphe de commentaires sur
plusieurs lignes */
usage de parenthses comme en mathmatiques
exemple: ((x+3)*y)/(z-2)
132
Conseils de programmation FlexScript

commenter votre code


facilite la comprhension de votre code par un collgue... ou pour
vous-mmes !
le formatage du code est libre
l'utilisation de tabulations et retours la ligne est vivement
conseille pour augmenter la lisibilit du code
utiliser le tiret _ la place d'espaces
exemple: Machine_1 au lieu de Machine 1
ne pas dmarrer le nom d'un noeud avec un nombre
exemple: Machine_1 au lieu de 1Machine
viter les accents (, , ...) sauf texte entre guillemets
133

Types de variables

dclaration d'un nombre


entier: int
dcimal: double
dclaration de texte: string
rfrence un noeud dans l'arbre: treenode
exemples
int index = 1;
double poids = 175.8;
string caracteristique = "matire premire";
treenode noeud_position_x = spatialx(item);

134
Oprateurs mathmatiques

x + y - z addition, soustraction 1.6 + 4.2 3.1 2.7


x * y multiplication 1.2 * 4 4.8
x % y modulo entier 11.5 % 3 2.0
fmod(x, y) modulo dcimal fmod(11.5, 3) 2.5
pow(x, y) x la puissance y pow(3, 2) 9.0
sqrt(x) racine carr sqrt(9) 3.0
round(x) arrondi round(5.6) 6.0
frac(x) partie dcimale frac(5.2) 0.2
fabs(x) valeur absolue fabs(-2.3) 2.3
min(x, y) minimum min(4.2, 3.6) 3.6
max(x, y) maximum max(4.2, 3.6) 4.2
135

Oprateurs de comparaison

Est-ce que x est... ... y ?


x > y strictement suprieur
x < y strictement infrieur
x >= y suprieur ou gal
x <= y infrieur ou gal
== test d'galit
x == y gal
= attribution de valeur
x != y diffrent
comparetext(x, y) texte x gal texte y ?

Rponse binaire: vrai 1 true ou faux 0 false

136
Oprateurs logiques

Pour relier plusieurs comparaisons


&& et logique x > 5 && y < 10
|| ou logique x == 32 || y > 45
! ngation !(x == 32 || y > 45)

Rponse binaire: vrai 1 true ou faux 0 false

137

Paramtrages de variable

Oprations couramment utiliss


Oprateur Exemple Forme condense
= x = 2
++ x = x + 1 x++
-- x = x - 1 x--

Autres
+= x = x + 2 x += 2
-= x = x 2 x -= 2
*= x = x * 2 x *= 2
/= x = x / 2 x /= 2

138
Fonction

Syntaxe
fonction(paramtre1, paramtre2, paramtre3...);
Types de paramtres
nombre (num)
texte (str)
objet (obj)
noeud (node)
Exemple
senddelayedmessage(Machine_3, 4.0, Operateur_1, "prt");

139

Aide sur les fonctions

Suggestions de fonctions en cours de frappe

Encadr d'aide sur les paramtres donner


le paramtre courant est surlign en rouge
les paramtres optionnels sont [ entre crochets ]

140
Documentation sur les fonctions (Commands)

Liste complte des fonctions


class par ordre alphabtique, catgorie

Recherche rapide
menu Help > Command Helper
raccourci F1 sur une fonction

141

Programmation assiste

Construction de code par glisser-dposer


partir de la librairie
expressions logiques
ports
fonctions lies aux tables, labels...
Exemple boucle for
la boucle est pr-programme
les /*commentaires*/ indiquent les expressions
complter

142
Modle 11

Objectif
crire son propre code pour router des produits sans utiliser les options
prconfigures
Description
1 source, 1 poste, 2 aires de stockage

envoyer 30% des produits vers le stock n1 et le reste vers le deuxime stock
aide: utiliser la fonction bernoulli

143

Lire/modifier le type de produit (ItemType)

Rappel
tous les produits ont un attribut numrique ItemType

Fonction getitemtype(objet)
renvoie la valeur de type de produit de l'objet pass en paramtre
exemple: getitemtype(item)
Fonction setitemtype(objet, nouvelle_valeur)
modifie la valeur de type de produit de l'objet pass en paramtre
exemple: setitemtype(item, 7)

144
Bloc conditionnel if

Logique
excute un bloc de code si if(/*test_1*/){
(if) un test est juste bloc de code
excute un autre bloc de code }
sinon si (else if) un autre else if(/*test_2*/)
test est juste {
bloc de code
excute un autre bloc de code
}
sinon (else)
else
les expressions else if et {
else sont optionnelles
bloc de code
si besoin, plusieurs blocs else }
if peuvent tre ajouts

145

Exemple de condition if

if(budget == 0)
{
msg("Budget", "Epuis");
}
else if(budget < 1000)
{
msg("Budget", "Faible");
}
else
{
msg("Budget", "Normal");
}

146
Oprateur ternaire

Syntaxe
condition ? instruction si vrai : instruction si faux;
Logique
fonctionne comme un bloc if/else mais plus condens et plus
rapide crire
Exemple
budget == 0 ? msg("Budget", "Epuis") : msg("Budget",
"Non puis");

147

Modle 12

Objectif
coder un bloc conditionnel if pour grer le flux en fonction du type de
produit
Description
1 source, 1 poste, 2 aires de stockage comme dans le modle prcdent
la source cre 60% de produits de type 7, le reste de type 3 (aide: utiliser la
fonction bernoulli)
pour faciliter le suivi visuel des diffrents types de produits, attribuer une
couleur spcifique par type de produit (aide: voir la fonction colorarray)
envoyer les produits de type 7 vers le stock n1 et les produits de type 3 vers
le stock n2
Bonus
remplacer le bloc conditionnel if par un oprateur ternaire

148
Lire/modifier un label

Fonction getlabel(objet, "nom_label")


renvoie la valeur du label appel "nom_label" de l'objet
exemples:
getlabel(item, "poids")
getlabel(item, "destination")

Fonction setlabel(objet, "nom_label", nouvelle_valeur)


modifie la valeur du label appel "nom_label" de l'objet
cre le label "nom_label" s'il n'existe pas dj
exemples:
setlabel(item, "poids", 320)
setlabel(item, "destination", "Paris")

149

Bloc conditionnel switch

Logique switch(/*nom_variable*/)
excute un bloc de code si la {
variable est gale au cas test case /*valeur_test*/:
la variable doit tre de type {
nombre entier, et les cas tests bloc de code
sont des valeurs entires littrales break;
autant de cas (case) que ncessaires }
peuvent tre ajouts default:
la commande break arrte {
l'excution du switch bloc de code
break;
si besoin, un cas par dfaut
}
(default) peut tre ajout la fin
}
150
Exemple de condition switch

switch(nb_pneus)
{
case 0:
{
msg("Etat", "Aucun pneu disponible");
break;
}
case 4:
{
msg("Etat", "Un lot complet de pneus disponible");
break;
}
default:
{
msg("Etat", "Un lot partiel de pneus disponible");
break;
}
}

151

Modle 13

Objectif
coder une expression logique switch pour grer le flux en fonction d'un
label
Description
1 source, 1 poste, 2 aires de stockage comme dans l'exercice prcdent
les produits sont uniformments rpartis pour 4 clients, l'aire de stockage avant
expdition est spcifique:
pour les clients 2 et 4: au stock n1
pour les clients 1 et 3: au stock n2
lorsqu'un produit est cr, donner une valeur entire alatoire entre 1 et 4 au
label "client" de ce produit (aide: voir la fonction duniform)
pour faciliter le suivi visuel des produits, attribuer une couleur spcifique par
valeur de label client (aide: voir la fonction colorarray)

152
Rfrence un objet par son chemin

Fonction model()
renvoie une rfrence au noeud racine du modle
Fonction node("chemin relatif", _partir_du_noeud)
renvoie une rfrence un noeud de l'arbre par son chemin

model() ou simplement model

node("/Convoyeur_1", model)

node("/Convoyeur_1/Paquet_9", model)

153

Rfrence un objet par son rang

Fonction rank(conteneur, index)


renvoie une rfrence au nime objet dans le conteneur
Fonctions first(conteneur) et last(conteneur)
renvoie une rfrence au premier / dernier objet du conteneur
(pour afficher les rangs, clic droit puis View > Show Node Ranks)

treenode current = rank(model, 3)


rank(current, 1) first(current)

rank(current, 3)

rank(current, 5) last(current)

154
Rfrences relatives par les connexions

outobject(current, 1)
inobject(current, 1) current

outobject(current, 2)

inobject(current, 2)

centerobject(current, 1)

centerobject(current, 2)

155

Lecture de statistiques

Fonction content(objet)
renvoie le nombre de produits contenus
Fonctions getinput(objet) et getoutput(objet)
renvoie le nombre de produits entrs / sortis
Exemples
int stock = content(current);
int produits_sortis = getoutput(current);

156
Boucle for

Excute un bloc de code un nombre dfini d'itrations


for(/*dpart*/; /*test*/; /*incrment*/)
{
bloc de code
}

au dpart, 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 dfini d'itrations
si ce test est faux, la boucle s'arrte. Evitez les boucles infinies en
vous assurant que ce test sera finalement faux.
chaque fin de tour, le compteur est incrment

157

Exemple de boucle for

for(int index = 1; index <= 5; index++)


{
msg("Tour n", numtostring(index));
}

158
Boucle while

Excute en boucle un bloc de code tant que l'expression


test est juste
while(/*test*/)
{
bloc de code
}

vitez les boucles infinies en vous assurant que ce test sera


finalement faux
pour forcer l'arrt de la boucle, les commandes break ou return
peuvent tre utilises

159

Exemple de boucle while

while(content(current) > 0)
{
destroyobject(last(current));
}

160
Modle 14

Objectif
apprendre programmer une boucle for
Description
palettisation de 8 cartons par palette
hypothse: il y a toujours des palettes et des cartons disponibles
aprs palettisation, les palettes circulent sur 1 convoyeur
au milieu du convoyeur, ajouter un point de dcision
l'arrive au point de dcision (On Arrival), programmer une boucle for pour
donner une couleur alatoire (voir la fonction colorrandom) chacun des
cartons de la palette

161

Disposition du modle 14

162
Lire/crire dans une table globale

Fonction gettablenum("nom_tableau", ligne, colonne)


renvoie la valeur enregistre la ligne et colonne du tableau
spcifi
exemple:
gettablenum("Inventaire", 2, 4)
si la cellule lire contient du texte, utiliser gettablestr
Fonction settablenum("nom_tableau", ligne, colonne, valeur)
crit la nouvelle valeur la ligne et colonne spcifie du tableau
pour modifier le texte d'une cellule, utiliser settablestr
exemples:
settablenum("Inventaire", 2, 4, 347)
settablestr("Inventaire", 1, 2, "joint plastique")

163

Lire/crire un nombre/du texte


getitemtype
getlabel
gettablenum
itemtype gettablestr
getvarnum
get label
getvarstr
num getnodenum
table
getnodestr
set var setitemtype
str setlabel
node settablenum
settablestr
etc...

164
Annexe: Arborescence

Vue 3D

Vue
Arborescente

165

Arborescences

Navigation dans l'arbre diffrents niveaux:


Modle
Principal
Vue (interfaces graphiques)
Fonctionnalits de recherche/remplacement
texte
portion de code, variable, label...
noms de noeuds

166
Vue arborescente

Larbre est la colonne vertbrale dun


modle
Toutes les informations sont stockes,
organises, hirarchises dans larbre:
ressources fixes et mobiles, palettes,
produits...
variables, statistiques, logiques de flux...
tables de donnes, units du modle...
Un objet peut tre masqu dans la vue
3D, mais sera toujours prsent dans la
vue arborescente
167

Stockage d'information

Toutes les informations


sont stockes dans l'arbre

Les interfaces graphiques


refltent des donnes
contenues dans l'arbre

Briques de construction
d'un arbre: les noeuds

168
Noeud d'arbre (treenode)

Types de noeuds
dossier
objet
attribut (nombre, texte, pointeur) d'un objet
code FlexScript
code C++
fonction DLL (Dynamic Link Library)
Navigation
pour afficher l'arborescence du niveau infrieur
pour afficher les attributs d'un objet ( )

169

Crer une arborescence lisible

Donner des noms explicites


Ordonner votre modle
monter/descendre d'un rang un
objet l'aide des boutons

Hirarchiser les objets


grouper des objets par atelier,
affinits... l'aide d'un objet Plane

170
Hirarchiser un modle

Au cours de la construction du modle


glisser-dposer un objet Plane
glisser-dposer des objets l'intrieur de l'objet Plane
Grouper des objets dj existants
glisser-dposer un objet Plane, le renommer par ex. Atelier_1
slectionner les objets regrouper ( + clic)
slectionner l'Atelier_1 (clic gauche)
ouvrir la fentre Edit Selected Objects (menu View) et cliquer sur
le bouton Move into Highlighted

171

Annexe: Rseaux de dplacement (Travel Networks)

Navigation par dfaut


dplacement des ressources mobiles en utilisant le chemin le plus
court, c'est--dire en ligne droite

Navigation sur un rseau


dplacement sur des chemins construits l'aide de points: les
noeuds de rseau (NetworkNode)

172
NetworkNode

2 noeuds de rseaux connects = 1 chemin


Proprits d'un noeud
maximum de voyageurs
cart latral (Side Offset)
Proprits d'un chemin
vitesse limite
espacement
type
dpassement autoris (Passing)
interdiction de dpasser (Non-Passing)
sens interdit (No Connection)

173

Connecter 2 noeuds de rseau

Comme pour une connexion de flux


touche

Par dfaut
dplacements et dpassements autoriss dans les 2 sens,
reprsents par des flches directionnelles vertes

174
Connecter une Ressource Fixe au rseau

Comme pour une connexion de flux


touche
sens indiffrent
de la ressource fixe vers le noeud de rseau
ou du noeud de rseau vers la ressource fixe

Reprsentation de la connexion
ligne de couleur bleue

175

Connecter une Ressource Mobile au rseau

Comme pour une connexion de flux


touche
sens indiffrent
de la ressource mobile vers le noeud de rseau
ou du noeud de rseau vers la ressource mobile

Reprsentation de la connexion
ligne de couleur rouge
le point auquel est connecte la ressource
mobile devient sa position initiale

176
Interdiction de dpasser (NonPassing)

Clic droit sur une flche directionnelle


NonPassing pour interdire les
dpassements dans ce sens
Contrainte d'espacement (Spacing)
dans les paramtres du chemin
Reprsentation
flche directionnelle orange

177

Sens interdit (No_Connection)

Clic droit sur une flche directionnelle


No_Connection pour interdire ce sens de
dplacement

Reprsentation
flche directionnelle rouge

178
Analogie routire

Passing
dpassements
autoriss

Non Passing
interdiction de
dpasser

No Connection
sens interdit
179

Dconnecter 2 noeuds de rseau

Comme pour une dconnexion de flux


touche

dconnecter dans un sens interdit la circulation dans ce sens


dconnecter dans les 2 sens supprime la connexion entre les 2
noeuds de rseau

180
Chemin curviligne

Clic droit sur une flche directionnelle


ligne droite (Straight)
courbe (Curved)

Points de splines

181

Clic droit sur un noeud de rseau

Mode d'affichage du rseau


tout afficher
ou raccourci + clic gauche sur un noeud du rseau
bords du trac pour permuter entre ces 3 modes d'affichages
ne rien afficher
Connexion par dfaut
Taille d'affichage des noeuds
Proprits du navigateur rseau

182
Annexe: Librairie AGV

Construction d'un rseau de circulation d'AGVs


chemins droit et courbe
jonction de chemins
pour crer un virage entre 2 chemins
point de contrle
lieu de chargement, dchargement, parking...
arrt avant d'entrer dans un carrefour
dcision pour la route suivre
aire de contrle
gestion du traffic des intersections
limitation du nombre d'AGVs dans une zone

183

Aide sur la librairie AGV

Manuel utilisateur (menu Help > User Manual)


3 tutoriels, aussi disponibles en vido sur
vimeo.com/album/2515161

chapitre sur les proprits AGV

184
Chemin droit (Straight Path)

Mode de cration
clic gauche dans la librairie
Proprits
double sens (Two Way)
permuter de sens (Switch Direction)
classe de chemin
droit, courbe ou en pi
type d'accumulation
avec ou sans accumulation d'AGVs sur le chemin
orientation AGV
marche avant, arrire, ou les 2

185

Chemin courbe (Curved Path)

Mode de cration
clic gauche dans la librairie
Proprits
double sens (Two Way)
permuter de sens (Switch Direction)
classe de chemin
droit, courbe ou en pi
type d'accumulation
avec ou sans accumulation d'AGVs sur le chemin
orientation AGV
marche avant, arrire, ou les 2

186
Jonction de chemins (Join Paths)

Mode de cration
clic gauche dans la librairie
cliquer sur le 1er chemin puis le 2me

en cas de sens unique, attention crer la jonction des chemins


dans le mme sens
sinon possible de permuter la direction (Switch Direction)

187

Point de contrle (Control Point)

Mode de cration
clic gauche dans la librairie ou glisser-dposer
Proprits
nombre maximum d'AGVs qui peuvent
rserver le point de contrle
logiques pour librer le point de contrle
l'arrive au prochain point de contrle
(logique par dfaut)
aprs avoir pass le point de contrle actuel
connexions
destination, points de chargement/dchargement,
parking

188
Aire de contrle (Control Area)

Mode de cration
clic gauche dans la librairie, puis dans la vue 3D un clic pour
dfinir le 1er coin de l'aire et un 2me clic pour l'autre coin
Proprits
nombre maximum d'AGVs qui peuvent
rserver l'aire de contrle
logiques pour librer l'aire de contrle
l'arrive au prochain point de contrle
(logique par dfaut)
aprs avoir pass l'aire de contrle actuelle

189

Proprits du rseau AGV

Accs
clic droit sur un chemin ou un point de contrle
ou bouton dans le panneau droit
Onglets

types d'AGVs: vitesse en marche avant/arrire, charg/ vide...


logiques personnalises des points de passage (Way Points)
types de connexion entre points de contrle
types d'accumulation des AGVs sur les chemins
types de dsallocation des points ou aires de contrle
au prochain point de contrle ou aprs avoir pass le point courant

190
Connecter un AGV un point de contrle

Comme pour une connexion de flux


touche
sens indiffrent
de l'AGV vers le point de contrle
ou du point de contrle vers l'AGV

Reprsentation de la connexion
ligne de couleur rouge
le point de contrle auquel est connect
l'AGV devient sa position initiale

191

Connecter une destination un point de contrle

Comme pour une connexion de flux


touche
sens indiffrent
de la destination vers le point de contrle
ou du point de contrle vers la destination

Reprsentation de la connexion
ligne de couleur bleue

192
Modle AGV 1

Description
2 AGVs ont pour mission de transporter des caisses vers la sortie
il y a en permanence 10 caisses dans le stock
les temps de chargement et de dchargement sont de 5 secondes
les AGVs circulent 1 m/s en marche avant et 0.5 m/s en marche arrire
Questions
comment rendre plus fluide la circulation des AGVs ? Changer la logique de
dsallocation des points de contrle, rajouter des points ou une aire de contrle

193

Disposition du modle AGV 1

194