Einführung in die Simulationstechnik - Prozessvisualisierung mit WinGPSS und Proof Animation
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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