Einführung in die Simulationstechnik - Prozessvisualisierung mit WinGPSS und Proof Animation

Die Seite wird erstellt Alexander Schulz
 
WEITER LESEN
Handelshochschule                      Otto-von-Guericke-
  Stockholm                              Universität
                                         Magdeburg

         Einführung in die
        Simulationstechnik

Prozessvisualisierung mit WinGPSS und
          Proof Animation™

                      Dr. Henry Herper
Animation
„Der Begriff Animation wird vom lateinischen Wort „animare“
abgeleitet und bedeutet zum Leben erwecken. Die Animation
bezeichnet die Erzeugung und Präsentation von Bildfolgen, in
denen Änderungen (z.B. Zustandsänderungen und Bewegungen
von Modellelementen) einen visuellen Effekt bedingen. Unter
visuellem Effekt kann eine über die Zeit variierende Position, die
Änderung von Form, Farbe, Transparenz, Struktur und
Musterung eines Objektes, die Änderung der Beleuchtung sowie
der Position, Orientierung und Brennweite der Kamera
verstanden werden.
In diesem Kontext setzt sich Computeranimation mit der Technik
zur synthetischen Erzeugung von bewegten und belebten
Bildern mit Hilfe des Rechners und geeigneter Programme
auseinander.“
/VDI-Richtlinie 3633 Blatt 11, Seite 2/                              2
Animationssystem proof
Das Animationssystem Proof-Animation™ gehört zur
Klasse der 2D-Animationssysteme. Dieses
Werkzeug ist wegen seiner Einfachheit und
Leistungsfähigkeit für den Einsatz in der schulischen
Ausbildung geeignet. Es erlaubt die Darstellung
gleichzeitiger, flüssiger Bewegungen für hunderte von
Objekten. Die Animation läuft mit einstellbarem, zur
Realzeit proportionalem Tempo.
Proof Animation™ ist ein Produkt der

                                                        3
proof-Animationsmodell
  Layout des           Layout des
realen Systems      Animationsmodells

                                             proof-
                                        Animationsmodell

   WinGPSS          Animation-Trace-
Simulationsmodell         File

                                                           4
Wann sollten Animationssysteme
eingeführt werden?
Aus didaktischer Sicht kann die Animation auch vor
der Simulationssprache eingeführt werden. Die
Animation selbst ist eine einfache Form der
Taktsimulation.
Die Animation bietet sich zur Eingewöhnung in die
Welt der Simulation an, weil sie die unmittelbare
visuelle Kontrolle der geschaffenen Modelle erlaubt.
Das Animationssystem Proof kann unabhängig von der
Simulation zur Visualisierung von Daten verwendet
werden.

                                                       5
Arbeitsschritte zur Entwicklung des
Animationsmodels
1.   Erstellen eines (maßstabsgetreuen) Layouts
2.   Definition und Gestaltung der Objektklassen
3.   Definition der Pfade
4.   Festlegung der Sichten
     Die Schritte 1 – 4 können mehrfach in beliebiger
     Reihenfolge durchgeführt werden.

                                                        6
Modi von Proof-Animation™
Zur Entwicklung, zum Test und zur Präsentation von
Animationsmodellen ist Proof Animation™ in sechs
verschiedenen Modi nutzbar. Das sind:
• Run – Modus, in dem ein Animationslauf stattfinden und
gesteuert werden kann.
• Presentation – ist ein Modus, in dem vorbereitete
Präsentationsanweisungen, die zu einem Präsentationsfile
(name.psf) zusammengefasst sind, vorgeführt und gesteuert
werden können.
• Draw – ist ein Modus, in dem ein Bildhintergrund, eine feste
Szenarie gezeichnet wird. Neben statischen, unveränderlichen
Komponenten werden im Draw-Modus auch Messages, Bars und
Plots definiert, die während der Animation variable Werte
annehmen können.
                                                                 7
Modi von Proof-Animation™
• Class – dient zur Definition von graphischen Klassen. Instanzen
dieser Klasse kann man im Draw-Mode erzeugen und fest in das
Layout einfügen und mit Animationsanweisungen während eines
Animationslaufes erzeugen (Create), bewegen und verändern und
wieder vernichten (Destroy).
• Path – ist ein Modus, in dem Pfade (Paths) definiert werden
können, auf denen sich Objekte bewegen.
• Debug – ist ein Modus, der die Abarbeitung einer Animation
(eines .atf-Files) in Zeitschritten oder in Einzelschritten erlaubt und
dabei die Auswahl und Identifikation von Objekten ermöglicht.

                                                                      8
1. Erstellung des Layouts
Das Layout wird aus graphischen Elementarobjekten
zusammengesetzt. Die Gestaltung des Layouts erfolgt im Draw-
Modus von Proof Animation™ interaktiv.
Im Draw-Modus erscheint eine neue Werkzeug-Leiste und ein
leeres Zeichenblatt, auf dem ein Layout gestalten kann.

         Auszoomen (stufenweise)                Scrollbar ein/aus
                                   Zoom-Box Home-View
       Einzoomen (stufenweise)
    Speichern einer Datei                   (Originalansicht,
                                            vom Nutzer
 Öffnen einer Datei                                                 9
                                            einstellbar)
1. Erstellung des Layouts
Arbeitsschritte:
1. Erstellen des Bildhintergrundes oder einer festen Szenerie.
   Damit wird der Betrachter dabei unterstützt, das reale System
   wieder zu erkennen, das im Modell nachgebildet wird.
2. Durch Linien und Bögen werden die Verläufe von Pfaden
   vorbereitet. Pfade lassen sich nur auf vorbereitet Linien legen.
   Sollen sie bei der Animation unsichtbar sein, so müssen sie
   mit der speziellen Farbe Backdrop gezeichnet werden.
3. Objekte werden als Instanzen vorher definierter Klassen
   erzeugt und sie erhalten Namen und feste Positionen.
4. Nachrichten (Messages), Balken (Bars) und Diagramme
   (Plots) werden definiert.
5. Ansichten werden definiert, die Ausschnitte der Szenarien mit
   unterschiedlichem Maßstab und mit unterschiedlicher
   Unterteilung in Fenster zeigen.                                10
1. Erstellung des Layouts - Arbeitsblatt
Das Arbeitsblatt verfügt über ein Koordinatensystem. Dieses
Arbeitsblatt kann über die Zoomeinstellung beliebig skaliert
werden. Der Wert 1 entspricht einer Einheit im
Koordinatensystem. Proof Animation™ arbeitet mit einem
Gleitkommakoordinatensystem, das Maßstabsänderungen in
einem große Wertebereich unterstützt. Daher ist es
zweckmäßig, jedes Anwendungsbeispiel mit realen
geometrischen Maßeinheiten zu identifizieren.
Für die Verwendung in Verbindung mit WinGPSS ist es
zweckmäßig, nur den ersten Quadranten zu nutzen. Das
Bedeutet, das ausschließlich positive X- und Y-Werte
verwendet werden.
Das Arbeitsblatt wird im Layout-File gespeichert.
                                                               11
1. Erstellung des Layouts - Linien
                     Linien werden über den
                     Menüpunkt „Linie“ erzeugt. Der
                     Anfangs- und Endpunkt kann
                     mit der Maus oder über das
                     Linienmenü festgelegt werden.
                     Weiterhin kann eine Farbe für
                     die Linien definiert werden.
                     Linien können beliebig editiert
                     werden.
                     Eine Sonderform der Linie ist
                     der Polygonzug. Damit können
                     mehrere zusammenhängende
                     Linien gezeichnet werden.
                     Editiert werden die Linien als
                     Einzellinie.                    12
1. Erstellung des Layouts - Kreisbogen
                   Für das Zeichnen eines
                   Kreisbogens wird der Menüpunkt
                   „Kreisbogen“ erzeugt. Es stehen
                   mehrere Möglichkeiten zur
                   Verfügung den Kreisbogen zu
                   parametrisieren. Dazu kann wieder
                   die Maus oder die Tastatur
                   verwendet werden.

                                                   13
1. Erstellung des Layouts - Text
                   Einen Text gibt man ein, indem
                   man zunächst die mit A markierte
                   Schaltfläche anklickt. Dabei öffnet
                   sich ein Fenster, in das der
                   darzustellende Text einzugeben
                   ist. Anschließend wird der Text
                   positioniert und parametrisiert.
                   Ein Text ist statisch. Er kann
                   während des Animationslaufes
                   nicht verändert werden.

                                                         14
1. Erstellung des Layouts -
Zusatzfunktionen
               Snap ist eine Hilfsfunktion, die mittels
               eines Gitters die Orientierung beim
               Zeichnen erleichtert oder das
               Zusammenfügen von Endpunkten der
               darzustellenden graphischen Objekte
               unterstützt.
               Trim ist eine Funktion zum Entfernen
               überstehender Stücke von Linien und
               Kreisbögen. Wenn Trim eingeschaltet
               ist, braucht man überstehende Enden
               nur anzuklicken, um sie zu entfernen.

                                                          15
1. Erstellung des Layouts -
Zusatzfunktionen
                  Box Edit ist eine Hilfsfunktion, die
                  mittels eines Gitters die
                  Orientierung beim Zeichnen
                  erleichtert oder das
                  Zusammenfügen von Endpunkten
                  der darzustellenden graphischen
                  Objekte unterstützt.
                  Undo macht die vorhergegangene
                  Operation rückgängig. Die Undo-
                  Funktion ist einstufig.

                                                         16
1. Erstellung des Layouts -
Zusatzfunktionen
                  Fillet ist eine Funktion, die zwei
                  sich schneidende Geraden durch
                  einen Kreisbogen mit
                  einstellbarem Radius miteinander
                  verbindet und dabei optional eine
                  Trim-Funktion ausführt.
                  Bei der Anwendung ist es
                  zweckmäßig, einen geeigneten
                  Radius einzustellen und
                  anschließend in den Raum
                  zwischen den beteiligten Linien in
                  der Nähe des Schnittpunktes
                  klicken.
                                                       17
2. Objektklassen und Objekte
Proof-Animationen beruhen auf der Bewegung von Instanzen
benutzerdefinierter Objektklassen. Klassen werden im Class-
Modus gestaltet und definiert. Sie sind Komponenten des
Layout-Files. Nachdem man eine Objektklasse definiert hat,
kann man beliebig viele Objekte dieser Klasse erzeugen,
positionieren, bewegen und vernichten.
Die Objektklassen werden im Class-Modus erzeugt. Die in der
Werkzeugleiste verfügbaren Tools entsprechen fast vollständig
denen des Draw-Modus. Der voreingestellte Maßstab
unterscheidet sich von dem des Draw-Modus im Verhältnis
10:1. Die Klassen sind die Muster die Objekte.
Vorhandene Klassen können im Class-Modus bearbeitet
werden.
                                                                18
2. Objektklassen und Objekte -
Klassendefinition
              Für jede Klasse kann ein eigenes Koordinaten-
              system definiert werden. Dieses gilt auch für die
              Objekte der Klasse. Angaben zur Bewegung
              eines Objektes beziehen sich immer auf den
              Nullpunkt seines lokalen Koordinatensystems.
              Schritte zur Klassendefinition:
              1. Auswahl von New Class
              2. Eingabe des Klassennamens
              3. Definition der Klasse mit Hilfe von Linien,
              Bögen, Texten und Nachrichten
              4. Festlegen der Klassenattribute
 Für den Klassennamen müssen Großbuchstaben verwendet
 werden. Bei Verwendung mit WinGPSS darf der Name nicht
 mehr als 6 Zeichen haben.                                    19
2. Objektklassen und Objekte –
Klassendefinition - Attribute
           Orientierung
           Directional: Direktionale Objekte orientieren ihre
           lokale x-Achse immer an der Tangente des
           Pfades, auf dem sie sich bewegen.
           Non-Directional: Nicht direktionale Objekte
           halten den Winkel zwischen ihrer x-Achse und
           der globalen x-Achse bei Wegbiegungen
           unverändert.
           For Clr, Aft Clr: For Clearence und Aft
           Clearence bestimmen den Abstand, der beim
           Auftreffen auf andere Objekte auf einem
           akkumulierenden Pfad einzuhalten ist.

                                                            20
2. Objektklassen und Objekte –
Klassendefinition - Attribute
           Orientierung
           RGP Offset: Der Abstand des Rear Guidance
           Point, des zweiten Führungspunktes für die
           Bewegung auf Pfaden, vom
           Koordinatenursprung wird festgelegt. Er liegt
           immer links vom Ursprung auf der lokalen x-
           Achse.
           Speed: Ein positiver oder negativer Wert, der
           die Geschwindigkeit von Objekten der Klasse
           auf einem Pfad festlegt, kann angegeben
           werden. Objekte dürfen individuelle
           Geschwindigkeiten haben. Diese können über
           die Simulation bestimmt werden und an Stelle
           der Klassengeschwindigkeit zur Steuerung der
           Bewegung genutzt werden.                        21
2. Objektklassen und Objekte -
Nachrichten
                 Klassen können Besitzer von
                 Nachrichten (Messages) sein.
                 Auf diese Weise kann man z.B.
                 verschiedene Instanzen einer
                 Klasse unterscheidbar machen
                 oder Werte anzeigen, die sich im
                 Lauf der Zeit verändern können.
                 Diese Nachrichten werden im
                 lokalen Koordinatensystem
                 positioniert und vollziehen alle
                 Bewegungen eines Objektes mit
                 diesem gemeinsam.
                 Diese Funktion ist in WinGPSS
                 zur Zeit noch nicht verfügbar.
                                                    22
2. Objektklassen und Objekte -
Layoutobjekte
               Es gibt zwei Möglichkeiten, Objekte zu
               erzeugen:
               • vor Beginn des Animationslaufes im
               Draw-Modus
               Im Draw-Modus wird über die Taste
               „Layoutobjekt einfügen“ ein neues
               Layoutobjekt erzeugt. Dieses wird
               positioniert und ggf. mit einem neuen
               Farbattribut versehen.
               • während des Animationslaufes durch
               Create (vom Simulationsprogramm
               gesteuert)
                                                        23
2. Objektklassen und Objekte – Erzeugen
von Objekten im Simulationsmodell
 Jedes Objekt muss eine eindeutige Nummer haben. Über
 diese Nummer werden alle Attributänderungen und
 Operationen mit diesem Objekt durchgeführt.
 Es ist zweckmäßig, der Transaktion, die durch das
 Graphikobjekt visualisiert werden soll, die gleiche Nummer in
 einem Parameter zuzuweisen. Da jede Nummer nur einmal
 vergeben werden darf, sollte die Nummerierung fortlaufend
 erfolgen. Dazu ist ein Skalar als Zähler geeignet.

                                                                 24
2. Objektklassen und Objekte – Erzeugen
von Objekten im Simulationsmodell

                                              Erzeugung eines
                                                  Objektes

Bei der Erzeugung des Objektes wird eine Verknüpfung zwischen
Objektnummer und Klassentyp hergestellt. Die Erzeugung erfolgt
mit dem Create-Kommando des Help-Blockes. Das Objekt wird
noch nicht dargestellt. Es steht jetzt für weitere Operationen zur
Verfügung. Die Daten werden im Animations Trace.File (.atf)
gespeichert.                                                       25
2. Objektklassen und Objekte – Entfernen
von Objekten aus dem Simulationsmodell

                                             Entfernen eines
                                                Objektes

 Beim Entfernen des Objektes wird das Objekt, unabhängig von
 seinem Zustand, aus der Animation entfernt. Die Identifikation
 erfolgt über die Objektnummer. Zum Entfernen wird der Befehl
 Help-Destroy verwendet.
                                                                  26
2. Objektklassen und Objekte – Bewegen
eines Objektes

                                           Bewegen eines
                                             Objektes

Zum Bewegen kann der Befehl Help-Move verwendet werden.
Das Objekt wird mit geradlinig, gleichförmiger Bewegung von
seinem Ausgangspunkt zum angegebenen Zielpunkt in der
vorgegeben Zeit bewegt.

                                                              27
2. Objektklassen und Objekte – Färben
eines Objektes

                                           Färben eines
                                             Objektes

Zum Färben kann der Befehl Help-Color verwendet werden.
Damit kann während des Animationslaufes die Farbe von
Objekten verändert werden, um z.B. Zustandsänderungen
anzuzeigen.

                                                          28
2. Objektklassen und Objekte –
Verändern der Objektzuordnung

                                               Ändern eines
                                                 Objektes

Zustandsänderungen im Modell können durch unterschiedliche
Graphikobjekte visualisiert werden. Mit dem Help-Change-
Block kann während des Animationslaufes der Transaktion ein
anderes Graphikobjekt zugeordnet werden.

                                                              29
3. Pfade

Objekte können sich frei, oder auf Pfaden bewegen Pfade
werden im Path-Modus definiert und im Layoutfile gespeichert.
Pfade besitzen verschiedene Attribute. Die Bewegung von
Objekten auf Pfaden wird durch Animationstracekommandos
gesteuert.
Pfade müssen aus Linien und Kreisbögen im Draw-Modus
konstruiert werden. Die graphischen Primitive müssen immer
zuerst gezeichnet werden. Es können beliebige Farben
verwendet werden. Wird als Farbe Backdrop gewählt, so ist die
Pfadlinie im Run-Modus unsichtbar.

                                                                30
3. Pfade - Menü
   erstes      vorhergehendes           nächstes          letztes
  Segment         Segment               Segment          Segment
 auswählen       auswählen             auswählen        auswählen

                                                                Pfad vor dem
                                                                  aktuellen
                                                                  Segment
                                                                  erweitern

                                                                 Pfad nach
                                                               dem aktuellen
 neuen Pfad                              aktuelles
                        Pfad                                     Segment
 hinzufügen                              Segment
                      löschen                                    erweitern
                                         löschen

      Kontrollieren             Editieren der          Richtung des
      des aktiven               Segmente im              aktuellen
        Pfades                  Draw-Modus           Segmentes ändern     31
3. Pfade – Pfade erstellen
Zur Erstellung eines neuen Pfades wird in den Path-Modus
gewechselt. Es wird nur der Menüpunkt Pfad hinzufügen
angeboten. Wird dieser ausgewählt, so wird man zur Eingabe
eines Pfadnamens aufgerufen.
Der Pfad sollte nur aus Großbuchstaben bestehen und in
Verbindung mit WinGPSS maximal 6 Zeichen lang sein.
Anschließend sind die Funktionen der Menüleiste aktiv.

                                                             32
3. Pfade – Pfade erstellen
Um einen Pfad zu spezifizieren klickt man zunächst auf einen
Punkt im hinteren Teil des ersten Wegsegmentes. Dieses
Wegsegment erscheint nun in roter Farbe und man kann die
Wegbestimmung fortsetzen, indem man auf ein dahinter liegenden
Teil des geplanten Weges klickt. Pfade, deren Definition
abgeschlossen ist, erscheinen in blauer Farbe.
Anschließend sollte man die Korrektheit des Pfades mit der
Kontrollfunktion prüfen.
Im nächsten Schritt werden die Wegattribute festgelegt.
Nach der Definition der benötigten Wege wird das Layoutfile
gespeichert.

                                                              33
3. Pfade – Platzieren eines Objektes

                                           Platzieren eines
                                               Objektes

Zum Platzieren wird der Befehl Help-Place verwendet. Durch
Angabe der Koordinaten erfolgt eine Platzierung auf die
entsprechende Position im Layoutfile.
Wird ein Pfadname angegeben, so wird das Objekt auf den
Anfangspunkt dieses Pfades gesetzt.                           34
3. Pfade – Platzieren eines Objektes
Für einen akkumulierenden Pfad werden Objekte, die sich schon
am Ende des Pfades befinden, zurückgeschoben, um Platz zu
machen, falls squeeze angegeben ist.
Wenn squeeze nicht angegeben ist und das Ende des Pfades
schon besetzt ist, erfolgt eine encroachement-Warnung.
Zum aktuellen Zeitpunkt der Animationszeit beginnt das Objekt
seine Bewegung auf dem Pfad. Die Bewegung dauert solange,
bis das Ende des Pfades erreicht ist, oder ein neues .ATF-
Kommado die Bewegung unterbricht.

                                                                35
3. Pfade – Platzieren eines Objektes
Die Bewegungsgeschwindigkeit ist bestimmt durch
• die definierte Pfadgeschwindigkeit. Sei wird ignoriert, falls
• eine Klassengeschwindigkeit für diese Objektklasse
festliegt. Diese ist überschreibbar durch
• eine Objektgeschwindigkeit, welche dem Objekt direkt
zugeordnet ist.

                                                                  36
3. Pfade – Bewegen eines Objektes

                                             Festlegen der
                                            Geschwindigkeit

Jedem Objekt kann eine individuelle Objektgeschwindigkeit
zugewiesen werden. Dazu wird der Befehl Help-Speed
verwendet. Die Objektgeschwindigkeit wird in Wegeinheit pro
Einheit der Animationszeit angegeben.

                                                              37
3. Pfade – Bewegen eines Objektes

                                              Festlegen der
                                             Bewegungszeit

Mit dem Befehl Help-TIME wird die Zeit festgelegt, in der sich
ein Objekt über einen angegebenen Pfad bewegt bzw. die
Restzeit, die das Objekt noch auf dem Pfad verbringen soll. Es
ist zu beachten, dass Kollisionen vermieden werden.

                                                                 38
3. Pfade - Attribute
           • Length – nicht direkt, sondern nur durch
           Änderung der Geometrie des Pfades
           beeinflussbar
           • Speed – kann direkt eingegeben werden. Mit
           Eingabe von Speed wird automatisch das
           Attribut Time berechnet
           • Time – kann direkt eingetragen werden.
           Damit ändert sich automatisch Speed.
           • LagTime – ist ein Attribut, das nur für
           akkumulierende Pfade sinnvoll ist. Es definiert
           eine Verzögerungszeit für Objekte auf dem
           akkumulierenden Pfad. Die Lag-Time bestimmt
           die Zeitlücke zwischen dem Starten der
                                                             39
           Objekte aus einem Stau.
3. Pfade - Attribute
           • Accum/Non-Accum – bezieht sich immer auf
           das Attribut akkumulierend (accumulating).
           Diese Eigenschaft betrifft das Verhalten von
           Objekten beim Aufeinandertreffen auf einem
           Pfad. Wenn sich Objekte mit unterschiedlicher
           Geschwindigkeit auf einem akkumulierenden
           Pfad bewegen, können sie einander nicht
           überholen. Sie müssen einen Abstand
           einhalten, der durch den Clearance-Parameter
           der Objekte bzw. der entsprechenden Klasse
           bestimmt ist. Das gilt auch für das Erreichen
           des Pfadendes.
           Auf einem nicht akkumulierenden Pfad
           überholen Objekte einander, indem sie sich
           bildlich durchdringen.                          40
3. Pfade - Attribute
           • Validation ON/OFF – entscheidet über die
           Kontrolle von Objektbewegungen auf
           akkumulierenden Pfaden. Die Ausgabe einer
           Warnung erfolgt nur, wenn Validation ON
           gesetzt ist. Dabei können folgende
           Konfliktsituationen auftreten:
              • Leapfrog – Von einem akkumulierenden
              Pfad wird nicht das führende, sondern ein
              späteres Objekt entfernt.
              • Encroachment – Zwei Objekte auf einem
              akkumulierenden Pfad laufen ineinander.
              Das kann z.B. geschehen, wenn Objekte
              am Anfangspunkt in zu schneller Folge
              eintreffen.                                 41
4. Nachrichten

 Messages (Nachrichten) kann man als vordefinierte
 Objektklassen betrachten. Man kann ebenso wie bei
 nutzerdefinierten Objektklassen beliebig viele Objekte erzeugen
 und spezifizieren. Das erfolgt im Draw-Modus. Die Aktualisierung
 dieser Objekte erfolgt durch ATF-Kommandos. Aktualisierung
 bedeutet hier die Zuweisung aktueller Werte im Verlauf der
 Animation.
 Messages werden benutzt, um während eines Animationslaufes
 Werte anzuzeigen. Die Anzeige ist alphanumerisch.

                                                                42
4. Nachrichten - Definition
                  Die Definition einer Message erfolgt
                  im Draw-Modus. Es wird der Name
                  der Message angegeben. Auch hier
                  ist wieder bei Verwendung von
                  WinGPSS die Einschränkung auf 6
                  Zeichen zu beachten.
                  Es kann ein Prototyp angegeben
                  werden, durch dessen Gestaltung
                  man eine Vorstellung über das
                  spätere Aussehen der Message
                  erhält.
                  Anschließend kann die Message
                  positioniert und gestaltet werden.
                                                         43
4. Nachrichten - Ausgabe

Mit dem Help-Write-Block wird ein numerischer Wert oder eine
Zeichenkette zur Aktualisierung der Nachricht gesendet. Es sind
auch Skalare oder Parameter als Werte zugelassen.
                                                                  44
Sie können auch lesen