en de
04. Veröffentlichung des ADµP® Entwicklernetzwerkes
Bitte wählen Sie in der Kopfzeile eine Sprachversion, eine der nachfolgenden Internet-Verknüpfungen oder Überschriften aus dem Inhaltsverzeichnis aus!
(«) Erste Veröffentlichung (<) Vorhergehende Veröffentlichung (>) Nachfolgende Veröffentlichung (») Letzte Veröffentlichung (^) Autor (=) Redaktion ($) Bestellung des ausführlichen Textes (&) Liste der Veröffentlichungen (§) Liste der Firmenschriften
Art der Veröffentlichung:
Veröffentlichung in der Sonderausgabe der Zeitschrift SAMS in 9/94 (Auszug)
Thema:
Die interdisziplinäre Simulation kontinuierlicher und diskontinuierlicher technischer Systeme
Autor:
Christian E. Jacob
Inhaltsverzeichnis: (0) Zusammenfassung  (1) Auflösungsebenen zur Modellierung und grafischen Eingabe  (2) Typische Strukturen von Graphennetzen  (3) Geschlossene Graphennetzen  (4) Ein typisches offenes Graphennetz  (5) Abarbeitungsreihenfolge von Netzelementen  (6) Extremwerterfassung  (7) Periodendauermessung  (8) Pulsbreitenmodulator  (9) Literaturverzeichnis 
topic   (0) Zusammenfassung
Die Simulation interdisziplinärer Zusammenhänge in technischen Systemen erfordert notwendige Fachsprachen für die Modellierung auf Bauelemente- funktioneller und Verhaltensebene. Dabei werden kontinuierliche Systeme (netzwerk-orientiert) mittels Netzwerkstrukturen konzentrierter Bauelemente und diskontinuierlicher Systeme (ereignisorientiert) mittels Graphennetzen beschrieben werden. Der Simulator muss beide Beschreibungssprachen vereinen und gleichzeitig abarbeiten können. Die interdisziplinäre Simulation ermöglicht es kontinuierliche elektrische Systeme, die durch Schalter, Hystereseeigenschaften u.ä. erweitert wurden, zu modellieren. Sie ermöglicht es aber auch kontinuierliche mechatronische Gebilde, die nichtlineare Reibungskoeffizienten, Getriebespiele u.ä. enthalten, zu modellieren.
Die Anwendungen ereignisorientierter Strukturen (in Form von Zustandsgraphen oder Petri-Netzen) für die Modellierung ist (noch) nicht alltäglich geworden. Mit dem Artikel soll eine Einführung gegeben werden. Es werden einige Anwendungsbeispiele vorgestellt, die mit dem Simulationsprogramm IDAS (Fa. SIMEC Chemnitz) modelliert wurden. Die Notation und Implementation auf dem Rechner werden kurz vorgestellt.
topic   (1) Auflösungsebenen zur Modellierung und grafischen Eingabe
Die Diskussion, auf welcher Auflösungsebenen modelliert werden soll, ist noch nicht beendet. Ausgehend von der untersten Ebene, in der die (Halbleiter-) Physik im Kontinuum beschrieben wird, hebt die Modellierung immer weiter ab über die Bauelemente- und funktionellen Ebene bis zur Verhaltensebene (siehe Tabelle 1.1). Die Verhaltenssimulation ermöglicht die Untersuchung komplexer Systeme wie z.B. Mikrosysteme, mechatronische Gebilde, Antriebe, Stromversorgungen usw. Verhaltensmodelle sind allerdings von der Physik bzw. dem eigentlichen technische Gebilde "abgehoben". Sie setzt entsprechende Erfahrungen des Anwenders voraus.

Tabelle 1.1: Abstraktionsebenen der analogen und diskreten Simulation
 Abstraktionsebene   Charakteristik   Analogmode   Diskretmode 
 Verhaltensebene   Gleichungen zur Beschreibung einer "Black-Box"   Signalflusspläne mit rückwirkungsfreien Blöcken   Graphennetze zur Prozessüberwachung und Steuerung der Berechnung 
 Funktionelle Ebene   (Makro-) Modelle mit idealisierten (Bau-) Elementen   Netzwerk mit konzentrierten idealen Bauelementen   verzögerungsfreie Logikschaltung (notiert mit Boolescher Algebra) 
 Bauelementeebene   1:1-Nachbildung der Struktur   Netzwerk mit Blockprogrammen und/oder Graphennetzen   gekoppelte Graphennetze zur Steuerung von Verzögerungszeiten von Logikgattern 
 Physikalische Ebene   Blockprogramme für räumlich begrenzte Gebilde   simulatorunabhängige Halbleitermodelle   simulatorunabhängige Halbleitermodelle 

Die algorithmische Beschreibung von physikalischen und technischen Sachverhalten ist trotz strukturierter oder objektorientierter Programmierung schwer nachvollziehbar. Es ist oft so, dass Programme nur vom Autor selbst verstanden werden. Außenstehende "programmieren eher neu", als dass sie sich in vorhandene Programme einarbeiten.
Abhilfe schafft die Beschreibung des physikalischen bzw. technischen Sachverhaltes mittels Graphennetzen (Zustandsgraphen, Petri-Netzen, modifizierte B/E-Netze bzw. Prozessnetze). Diese Graphennetze können auch direkt visuell in den Rechner (mit einem Grafikeditor / CAD-Programm) eingegeben werden.
Die Anwendung der Graphennetze zur Modellierung physikalischer bzw. technischer Gebilde ist noch nicht so verbreitet. Sie werden zur direkten Eingabe von Steuerungsabläufen in der Steuerungstechnik, zur Unterstützung der Systemanalyse (Prototyping), zum Notieren nebenläufiger Modelle (chaotische Problemstellungen) und für nichtlineare Modelle (ideale und nichtideale Schalter, Hysterese der Magnetisierungskennlinie, nichtlineare Reibungskoeffizienten, Getriebespiele usw.) verwendet. Sie eignen sich insbesondere für die Verhaltenssimulation, weil sie die erforderliche Modellierungsfreiheit gewährleisten und wenig rechenintensiv sind.
Im 2. Abschnitt möchte der Autor eine kurze Einführung in die Anwendung von Graphennetzen geben und im 3. Abschnitt einige leicht verständliche Beispiele vorstellen.
topic   (2) Typische Strukturen von Graphennetzen
Der einfachste Zustandsgraph besteht aus einem Start- und einem Endzustand (siehe Bild 2.1). Beide Zustände sind über eine Kante (gerichtete Verbindung) miteinander verbunden. Die Anordnung von Start-, Endzustand und Kante wird auch Netzelement (ubNE) genannt. Der Startzustand gibt seine Markierung weiter an den Endzustand wenn die Übergangsbedingung an der Kante bNE = true wird. Die Marke verbleibt dann für alle Zeit im Endzustand.
Sollen mehre Zustände gleichzeitig markiert werden, muss ein Weg gefunden werden, Marken zu vermehren. Dazu wird eine Netzelement nach Bild 2.2 verwendet. Ist der Eingangszustand zE1/m markiert und die Übergangsbedingung wird bNE = true, verlässt die Marke den Zustand zE1 und gleichzeitig werden die Zustände zA1, zA2, . . . , zAj markiert.
Sollen mehre Marken zu einer Marke zusammengefasst werden, wird eine Netzelement nach Bild 2.3 eingesetzt. Dieses Netzelement schaltet dann, wenn alle Eingangszustände zE1, zE2, . . . , zEi markiert sind und die Übergangsbedingung bNE = true wird. Die Marken verschmelzen zu einer und wandern zu Zustand zA1.
Aus den Bildern 2.2 und 2.3 kann die allgemeine Definition eines Petri-Netz-Elementes abgeleitet werden. Es vereint die dort beschriebenen Eigenschaften: Sind alle Eingangszustände zE1, zE2, . . . , zEi markiert und die Übergangsbedingung wird bNE = true, werden alle Ausgangszuständen zA1, zA2, . . . , zAj markiert. Die Übergangsbedingung wird von einem Ereignis, dass in einem überwachten Prozess und/oder in einem hierarchisch "übergeordneten" Zustand eines Graphennetzes eintritt, bNE = true gesetzt.
Existiert nur ein Eingangszustand zE1 und ein Ausgangszustand zA1, wird dieses Netzelement auch Zustandsgraph genannt [Grud89]. Das Netzelement eines Zustandsgraphen ist also ein Spezialfall eines Petri-Netz-Elementes.
topic   (3) Geschlossene Graphennetzen
Ein Petri-Netz-Element hat eine gerichtete Markenbewegung. D.h. es kann Marken nur von Eingangs- zu Ausgangszuständen bewegen. In den physikalischen und technischen Strukturen gibt in dem Sinne aber keinen Anfang und kein Ende. Einfach ausgedrückt, die Marken wandern immer "im Kreis" durch die Graphennetze. Bild 2.5 zeigt den einfachsten geschlossenen Zustandsgraphen. In diesem Zustandsgraphen wandert die Marke zwischen den beiden Zuständen z1 und z2 hin und her. Wird bNE1 = true, wandert die Marke von z1 nach z2. Und wenn bNE2 = true wird, wandert die Marke von z2 nach z1. Die Übergangsbedingungen bNE1 und bNE2 dürfen allerdings nicht gleichzeitig true werden: Da die Marke unendlich schnell zwischen den Zuständen wechselte, währe ihr Aufenthaltsort unbestimmt. Das schießt die Petri-Netz-Theorie ausdrücklich aus [Reisig82]. Dem Programmierer von Graphennetzen obliegt hier eine besondere Sorgfaltspflicht!
Das Gesagte gilt auch sinngemäß für gerichtete Ringstrukturen z.B. nach Bild 2.6 und freie Ringstrukturen nach Bild 2.7.
Obwohl die Ringstrukturen in den Bildern 2.6 und 2.7 in der graphischen Darstellung anschaulich sind, ist die Notation in der Fachsprache IDL aufwendig. Es muss jedes einzelne Netzelement mit allen Eingangszuständen und Ausgangszuständen beschrieben werden. Hier hilft eine Online-Konvertierung, bei der der IDL-Quelltext direkt aus der grafischen Darstellung erzeugt wird. Es ist also nur noch das Petri-Netz mit einem grafischen Editor einzugeben. Die verwendeten Symbole werden vom Hersteller mitgeliefert.
topic   (4) Ein typisches offenes Graphennetz
Ein Petri-Netz besteht normalerweise aus einer Vielzahl geschlossener Graphennetze wie sie u.a. unter Pkt. 2.2 beschrieben wurden. Nachfolgend sollen nur der Ausschnitt aus einem Petri-Netzen betrachtet werden. Diese Struktur soll als offenes -sprich: unvollständiges - Graphennetz bezeichnet werden.
Eine typische Anwendung von Graphennetzen ist die Überwachung analoger Signale. Sie erfolgt gewöhnlich innerhalb größerer Graphennetze um bestimmte Prozesszustände "in Erfahrung zu bringen" . Eine Ausschnitt mit den Zuständen z0, z1, z2, . . . zk enthält Bild 2.8. Die Marke soll ausgehend von z0 in Abhängigkeit vom Betrag der analogen Größe jeweils an einen der Zustände z1, z2, . . . zk weitergegeben werden. Diese Struktur enthält die Netzelemente ubNE1, ubNE2, . . . ,ubNEk.
Die Übergangsbedingungen bNE1, bNE2, . . . ,bNEk werden vom Programmierer so gewählt, dass immer genau eine Übergangsbedingung true ist. Gesetzt den Fall, es würden gleichzeitig zwei Übergangsbedingungen true werden und z0/m ist markiert, bleibt die Weitergabe der Marke dem Zufall überlassen. Dies lässt die Petri-Netz-Theorie nicht zu [Reisig82]. Anders ausgedrückt, der Markenfluss muss eindeutig sein!.
Für den Fall, dass keine der Übergangsbedingungen true ist, ist folgendes zu bedenken: An den Netzelementen ubNE1, ubNE2, . . . ,ubNEk würde der Markenfluss unterbrochen. Das kann eventuell erhebliche Auswirkungen auf die Funktion der nachfolgenden Netzelemente haben, die auf die Bereitstellung der Marke angewiesen sind.
topic   (5) Abarbeitungsreihenfolge von Netzelementen
Es wurde bereits darauf verwiesen, dass Netzelemente Ereignisse in anderen Netzelementen überwachen und in Abhängigkeit dieser Ereignisse schalten können. Die Abarbeitungsreihenfolge von Petri-Netzen muss in diesem Fall über eine Prioritätenkette gesteuert werden. Übergeordnete Petri-Netze, Zustandsgraphen und/oder Petri-Netz-Elemente steuern untergeordnete. Das gilt für Steuerungs- und Regelungsaufgaben in der Automatisierungstechnik, genauso wie für die Anwendung entsprechender Modelle im Rahmen einer Simulationsaufgabe.
Grundsätzlich muss die Abarbeitungsreihenfolge entsprechend Tabelle 2.1 eingehalten werden: Typische Aufgaben der Prozessüberwachung, -analyse und -steuerung werden bei entsprechenden Simulationen durch Modelle zur Testsignalbildung (Sollwertquellen, Testvektoren, . . .) ergänzt, die in bezug auf die Abarbeitungsreihenfolge vorgeschaltet sind.

Tabelle 2.1: Abarbeitungsreihenfolge von Petri-Netzen, Zustandsgraphen und/oder Petri-Netz-Elementen (gilt für jeden Rechenschritt)
 Abarbeitungsreihenfolge   Funktion   Beispiele 
 1   Testsignalbildung   Sollwertvorgabe 
 2   Prozessüberwachung & -analyse   Istwerterfassung & -filterung 
 3   Prozesssteuerung   Adaption & Regelung 
 4   Auswertung von Simulationsdaten   Extremwerterfassung, Integralbildung 

Die in Tabelle 2.1 genannten Funktionen haben folgende Aufgaben:

1.) Mittels einer Testsignalbildung und -erfassung wird die Prozesssteuerung auf Führungs- und Störgrößen synchronisiert. U. a. werden Führungs- und Störgrößen und weitere Eingangssignale gebildet.
2.) Die Prozessüberwachung und -analyse dient dazu, Signale für die Prozesssteuerung zu gewinnen. U. a. werden Prozesszustände, Verfahrensgrößen, Schaltzuständen von Stromrichterventilen u.s.w. ermittelt.
3.) In der Prozesssteuerung werden technische Steuerungsaufgaben programmiert sowie parallele und von Ereignissen abhängige Berechnungen notiert [Jacob89.1].
4.) Die Online-Auswertung von Simulationsdaten bedarf der besonderen Erwähnung. Sie ermöglicht, vorgreifend auf dem Postprozess, Kennwerte simulierter zeitabhängiger Größen zu ermitteln. Die Online-Auswertung während des Simulationslaufes macht aus einen Simulationsprogramm ein Berechnungs- und/oder Optimierungsprogramm [Jacob92].

Nicht zuletzt entscheidet die Abarbeitungsreihenfolge von Petri-Netzen, Zustandsgraphen und/oder Petri-Netz-Elementen über die exakte Funktion eines ereignisorientierten Modells. Wir vergleichen die Funktionen, die der 2. und 4. Abarbeitungsreihenfolge in Tabelle 2.1 zugeordnet sind. Die Prozessanalyse (2) und Auswertung von Simulationsdaten (4) haben gleichartige Aufgaben zu erfüllen. Insofern sind sie untereinander fast austauschbar. Allerdings unterscheidet sich die Abarbeitungsreihenfolge in den Berechnungsphasen für jedes Modell:

a) Modelle zur Prozessüberwachung und -analyse (2) liefern Daten und Ereignisse, die für weitere Berechnungen und/oder Steuerungsaufgaben in der Prozesssteuerung (3) benötigt werden. Diese Daten und Ereignisse müssen also zu Beginn jedes Rechenschrittes bereitgestellt werden.
b) Modelle zur Auswertung von Simulationsdaten (4) benötigen Daten und Ereignisse aus den vorgeordneten Modellen (1), (2) und (3). Im einfachsten Fall können ausgewertete Simulationsdaten zur Anzeige gebracht werden. Es werden aber auch große Datenmengen von Worst-Case-, Multisimulations- und Optimierungsläufen ausgewertet. Diese Auswertemodelle sollten bezüglich des Simulationslauf rückwirkungsfrei sein, sonst entstehen u.U. systematische Messfehler. Diese Daten dürfen erst am Ende jedes Rechenschrittes gewonnen werden.

Die in Tabelle 2.1 dargestellte vierstufige Reihenfolge kann dann noch verfeinert werden. In IDAS können lineare, verzweigte und nebenläufige Strukturen von Steuergraphen mittels entsprechenden Netzelementen notiert werden. Die Abarbeitungsreihenfolge der Netzelemente wird vom Anwender vorgegeben [Knorr91].
Von einem Simulationsprogramm kann heute erwartet werden, dass die Aufgabenstellung nur soweit wie nötig detailliert werden muss [Jacob90]. Dies betrifft, sowohl die Auflösung der Struktur, als auch die zu untersuchende Zeitauflösung. Diese Forderung wird vom IDAS ausdrücklich unterstützt [Knorr91][Jacob89.2]. Nachfolgend werden drei ereignisorientierte Modelle vorgestellt, die mit dem Simulationsprogramm IDAS getestet wurden.
top    (6) Extremwerterfassung
Die Notwendigkeit, Extremwerte bereits während des Simulationslaufes zu ermitteln, wurde bereits in Abschnitt 2.4 besprochen. Dazu wird beispielhaft für das Erfassen von Maxima ein Zustandsgraph gemäß Bild 3.1 näher betrachtet.
Er enthält zwei Netzelemente, die in Abhängigkeit vom Scheitelwert einer Testfunktion Signal schalten. Dabei wird die Markierung /m von Zustand zHLT/m zu zWZW weitergeben. Ist Signal größer als MaxWert, wird der jeweils aktuelle Scheitelwert im Zustand zWZW an die Variable MaxWert übergeben. Bild 3.2 zeigt einen Ausschnitt eines Testlaufes: Der Extremwert MaxWert wird ohne Verzögerung nachgeführt.
Dieser Zustandsgraph wird für jeden zu erfassenden Maximalwert einmal notiert. Die Variablen Signal und MaxWert müssen sich natürlich jeweils auf die entsprechenden Größen beziehen. Zum Erfassen von Minima wird der Startwert (MinWert := +1E37) und die Übergangsbedingung (Signal kleiner MinWert) geändert werden.
top    (7) Periodendauermessung
Schwingungen (mit periodischen Zeitverläufen) entstehen durch Resonanzen in physikalischen und technischen Gebilden mit Energiespeichern (z.B. bewegte und/oder rotierende Massen, Induktivitäten, Kapazitäten, . . . ). Amplitude  und Periodendauer T lassen Rückschlüsse auf Größe, Verteilung und eventuell weitere Eigenschaften (Linearität) dieser Speicher zu.
Die Amplitude  kann u.a. mit Hilfe der Extremwertmessung unter Punkt 3.1 bestimmt werden. Die Periodendauer T wird oft über eine Frequenzmessung T = 1/f bestimmt. Das entspricht einer Mittelwertbildung der Periodendauer, weil über einen Messzeit (z.B. in einer Sekunde werden f Schwingungen) gemessen wird. Das setzt, um eine genaue Aussage zur Periodendauer T zu erhalten, lineares Verhalten des physikalischen bzw. technischen Gebildes voraus. Praktisch ist die Natur nichtlinear. Das bedeutet, dass die Periodendauer T nicht konstant ist. Sie ist von verschiedenen Faktoren u.a. der Amplitude  selbst abhängig ist.
Bild 3.3 enthält ein Modell zum Test eines Zustandsgraphen zur direkten Periodendauermessung ohne Mittelwertbildung. Dazu wird ein Schwingkreis verwendet. Die Induktivität verringert sich nach der Funktion Magnet. Mit den Wert der Induktivität verringert sich auch die Periodendauer.
Bild 3.4 zeigt den zeitlichen Verlauf der gemessenen Periodendauer des gedämpften Schwingkreises in Bild 3.3. Nach einer Einschwingzeit, die der maximal der Länge von T entspricht, erfolgt die exakte Messung. Der Simulator des Programms IDAS versucht die Übergangsbedingung u"cKonst" = 0 so genau wie möglich zu bestimmen. Dabei wird die Rechenschrittweite h bis auf die minimale Schrittweite hmin reduziert. D.h., die Genauigkeit der Periodendauermessung wird vom Anwender durch die minimale Schrittweite hmin vorgegeben.
top    (8) Pulsbreitenmodulator
Wechselrichter benötigen ein Steuergerät zur Steuerung der dort eingesetzten Halbleiterschalter. Die Dauer der Ein- und Ausschaltzeit für den jeweiligen Halbleiterschalter wird von einem Pulsbreitenmodulator (PWM) vorgegeben (siehe Bild 3.5).
Dem Pulsbreitenmodulator (PWM) werden Frequenz fa(1) soll und Amplitude einer Spannung Ua(1) soll als Sollwerte vorgeben. Er erzeugt daraus einen Wahrheitswert bZP für die Zweigpaarkontrolle (ZPK). Die Zweigpaarkontrolle (ZPK) bildet wiederum die Signale iTr1 und iTr2 für die Halbleiterschalter. In transistorvisierten Wechselrichtern entsprechen die Signale iTr1 und iTr2 den Basisströmen der Schalttransistoren. Es gelten folgende statische Zustände für die Halbleiterschalter Tr1 und Tr2: bZP = true bedeutet: Tr1 = ein und Tr2 = aus und bZP = false bedeutet Tr1 = aus und Tr2 = ein. Die Schaltfrequenz der Halbleiterschalter wird durch die sogenannte Pulsfrequenz fp vorgeben (synchrones Pulsverfahren). Istgrößen der Steuerungsaufgabe sind Frequenz fa(1) und Amplitude der 1. Harmonischen der Ausgangsspannung Ua(1).
Bild 3.6 zeigt das Modell des Pulsbreitenmodulators für eine Phase _L1. Der Wahrheitswert bZP wird aus dem Vergleich einer analytischen Führungsfunktion mit einer Dreiecksfunktion drei der Frequenz fp und konstanter Amplitude gebildet. Das Modell wird u.a. dazu benutzt den Grundschwingungsgehalt vgua der verketteten Spannung zu ermitteln. Bild 3.7 zeigt den Verlauf des genannten Grundschwingungsgehaltes. Für kleine n wird das günstigste Verhältnis zwischen Grund- und Oberschwingungen erzeugt. Mit kleiner werdenden n nähert sich die Führungsfunktion sUA10 einer Rechteck-Funktion an. Demnach ist für die Pulsbreitenmodulation eines Wechselrichters ein Rechteck-Dreieck-Vergleich günstiger als ein Sinus-Dreieck-Vergleich.
top    (9) Literaturverzeichnis
[Grud89] Grunde, Ullrich: Ausführungen zu Petri-Netzen; Firmenschrift PSI Berlin

[Reisig 82] Wolfgang Reisig: Petrinetze - eine Einführung, Springer-Verlag Heidelberg 1982

[Jacob89.1] Christian Jacob; Dietrich Möller: Anwendung des Simulationssystems IDAS (LENE) für den Entwurf von Stromrichtern; Vortrag auf der 10. Tagung "Industrielle Automatisierung - Automatisierte Antriebe" der TU Chemnitz 14./16.02.89

[Jacob89.2] Christian Jacob: CAD-Lösungen für Entwurf, Konstruktion und Technologie von Leistungselektronik; Artikel in der Zeitschrift "VEM-Technische Information" 1989, Heft 19, Seiten 39 - 41

[Jacob90] Christian Jacob: Entwicklungstendenzen auf dem Gebiet CAE für Leistungselektronik und Weiterentwicklungen am Simulationssystem IDAS; Vortrag zum Workshop der Anwendergruppe IDAS an der TU Chemnitz 5./7.06.1990 und Artikel in der Zeitschrift "ELEKTRIE" Heft 4/1991 Seiten 127 - 131

[Jacob92] Christian Jacob: Anwenderbezogene Architekturen bei Mehrsprachensimulatoren; Vortrag zum 8. Workshop "Simulationsmethoden und -Sprachen für verteilte Systeme und parallele Prozesse" der ASIM am FhG-IIS in Dresden 27./28.04.92

[Knorr91] Birgit Knorr, u.a.: Referenzhandbuch für das Simulationssystem IDAS zur Simulation elektronischer und leistungselektronischer Schaltungen und Anlagen mit Steuer- und Regeleinrichtungen; Fa. SIMEC GmbH & Co.KG Chemnitz, 1991

Christian E. Jacob