Upload
almerich-schiferl
View
105
Download
0
Embed Size (px)
Citation preview
1
Synchronisation einer 3D-Visualisierung
mit einer realen Anlage auf der Basis von Petrinetzmodellen
Frank Nillies
Betreuer: Ekkart Kindler
Abschlussvortrag zur Studienarbeit
2
Motivation
PNSim
HAL
PNK
3
Motivation
PNSim
HAL
PNK
4
Motivation
PNSim Coordination
SimulationInterface
HardwareHandlerInterface
VisualisationHandlerInterface
5
Übersicht Visualisation
PNSim
PNK
6
Die Modelleisenbahn
7
Vom Gleisplan zum Petrinetz
Schienenstrang vor der Weiche
Schienenstrang nach runder Weiche
Schienenstrang nach gerader Weiche
Überfahre gerade Weiche
Überfahre runde Weiche
Weiche rund
Weiche gerade
8
Vom Gleisplan zum Petrinetz
geometry:track3dynamicShape:train
animation:move()
geometry:track4dynamicShape:train
animation:move()
geometry:track2dynamicShape:train
animation:move()
geometry:track1dynamicShape:train
animation:move()
geometry:signal1greendynamicShape:signalGo
animation:appear()
geometry:signal1reddynamicShape:signalStop
animation:appear()
Gleisgerade
Gleisgerade
Gleishalbrund Gleishalbrund
Lichtsignalrot
LichtsignalgrünLichtsignal
rot
Lichtsignalgrün
9
Erweiterte Funktionalität
keepAnimation()
keepAnimation()
{..}
{..}
{..}
{..}
{..}
{..}
{..}
{..}
Gleisgerade
Gleisgerade
Gleishalbrund Gleishalbrund
Lichtsignalrot
LichtsignalgrünLichtsignal
rot
Lichtsignalgrün
10
Kommunikation PNSim PNVisPNSim VisuHandler
animateObject(Item)
deleteObject(Item)
sendMessage(Item) Item.setResult()
startAnimation()
firetransition
11
Beispiel
12
Übersicht ToyTrain
PNSim
HAL
PNK
13
Event – Action, ein Konzept
animateObject(signalGreen)
PNSim HAL
onAdd:doAction(switchToGreen)
endEvent: handleEvent(arrive26)
deleteObject(signalGreen)
zug.setResult()
onRemove:doAction(switchToRed)
Petrinetz
14
Petrinetz mit Eigenschaften der Hardware
Schienenstrang 1 Schiene mit Sensor1 Schienenstrang 2
Lichtsignal
endEvent: arrive1
onAdd: switchToRed
onAdd: switchToGreen
endEvent: departure1 endEvent: arrive2
Event:<arrive1, value=(1,1)><departure1, value=(1,0)>
Action:<switchToRed, perform=switchS(1,1)><switchToGreen, perform=switchS(1,0)>
grün
rot
15
Beispiel
16
Event – Action, ein KonzeptPNSim HWHandler HAL
sendEvent(arrive26)
zug.setResult()sendMessage(zug)
deleteObject(zug)
animateObject(zug)
doAction(switchSignalGreen)
signal.setResult()sendMessage(signal)
deleteObject(signal)
animateObject(signal)
deleteObject(zug)
animateObject(zug)
sendEvent(departure26)
sendMessage(zug) zug.setResult()
17
Polling
Die fertigen Komponenten
PNSim
HAL
PNK
18
Der CoordinationHandler
PNSimCoordination
Handler
Super-Handler
Multi-Simula-
tor
SlaveHandler
MasterHandler
19
Die Koordination zweier HandlerPNSim Coordination MasterHandler SlaveHandler
cloneItem(Item)animObject(Item)
animObject(Item)animObject(ClonedItem)
ClonedItem.setResult()
Item.setResult()
sendMessage(Item)
deleteObject(Item)
sendMessage(Item)
sendMessage(ClonedItem)
deleteObject(Item)deleteObject(ClonedItem)
fireTransition
20
HAL Polling
Übersicht
PNSim
Modelleisenbahn
CoordinationHandler
PNToyTrainHWHandler
Petrinet
PNK
PNVisVisuHandler
21
HAL Polling
Noch Fragen?
PNSim
Modelleisenbahn
Coordination
PNHardware
Petrinet
PNK
PNVis
Abschlusspräsentation auf D2.216