1 Synchronisation einer 3D-Visualisierung mit einer realen Anlage auf der Basis von...

Preview:

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

Recommended