WENN SIE ES GENAUER WISSEN WOLLEN:

Simulation technischer Prozesse mit LabVIEW

Numerische Differentiationen und Integrationen als wichtige Operationen zur Simulation physikalischer Systeme erfordern Programmschleifen, über die frühere Abtastwerte in die Berechnung einfließen. Darüber hinaus enthalten Simulationen aber auch viele Rechenoperationen, die als Einschrittoperationen innerhalb eines Schleifendurchlaufs berechnet werden können. Beispiele sind die Grundrechenarten oder mathematische Funktionen. Wenn wir also die programmiertechnische Methodik des numerischen Differenzierens bzw. Integrierens mit ihrer Schleifenstruktur kombinieren mit solchen Einschrittoperationen, sind wir in der Lage, jeden technischen Prozess in ein entsprechendes Programm abzubilden, das uns z.B. zu vorgegebenen Eingangssignalverläufen ein oder mehrere Ausgangssignal/e berechnet. Dieses Vorgehen würde jedoch bedeuten, dass wir für jeden Prozess ein neues Programm entwickeln müssten. Fertige Simulationstools nehmen uns einen Teil dieser Arbeit ab. Bei ihnen modellieren wir den Prozess grafisch in Form eines Signalflussplans. Wir wollen uns dies nachfolgend anhand einer in LabVIEW integrierten „Spezialfunktion“ zu Simulationszwecken anschauen.

Regel- und Simulationsschleife

Innerhalb der Funktionen-Palette von LabVIEW, die alle in das Blockdiagramm einer LabVIEW-Applikation einfügbaren Funktionen in Form grafischer Symbole enthält, gibt es eine Unterpalette „Regelung & Simulation“. Eine zentrale Funktion darin ist die „Regel- und Simulationsschleife“. Es handelt sich hierbei eigentlich um eine komplette Simulationsoberfläche, in der das Simulationsmodell als Signalflussplan gezeichnet und über welche die Simulation selbst parametriert und durchgeführt werden kann.

Regel- und Simulationsschleife

Regel- und Simulationsschleife

Was ist nun das Besondere an der Regel- und Simulationsschleife? Die in ihr definierte Struktur wird als Schleife wiederholt im Rhythmus einer Abtastzeit aufgerufen. Alle Einschrittoperationen werden dabei in jedem Schleifendurchlauf neu berechnet. Differentiationen und Integrationen, für die es jeweils ein spezielles Funktionssymbol ausschließlich zur Verwendung in der Regel- und Simulationsschleife gibt, werden entsprechend den Prinzipien des letzten Kapitels numerisch gerechnet. Die dahinter liegende Schleifenstruktur merkt sich dazu automatisch die relevante Signalhistorie, also frühere Abtastwerte, die für die Berechnung notwendig sind.

Zur Parametrierung der Simulation kann per Mausklick ein Konfigurationsmenü aufgerufen werden. Alternativ kann man auch programmatisch die Parametrierung vornehmen. Wichtigste Einstellungen sind die Startzeit der Simulation („Initial Time“, in den meisten Fällen mit 0 belegt), die Endzeit („Final Time“) und die Abtastzeit („Step Size“).

Simulation eines RC-Glieds

In obigem Bild ist exemplarisch bereits der Signalflussplan zur Simulation einer mit der Eingangsspannung ue(t) gespeisten Serienschaltung eines ohmschen Widerstands R mit einer Kapazität C, an welcher die Ausgangsspannung ua(t) abgegriffen wird, gezeigt. Die Differentialgleichung hierfür ist:

Zur Abbildung dieses Zusammenhangs in den Signalflussplan empfiehlt sich die Auflösung der ersten Ableitung auf der linken Seite durch Integration. Durch dies sowie eine Division durch RC ergibt sich:

Genau diese Struktur der Formel ist im Bild innerhalb der Regel- und Simulationsschleife implementiert, wobei als Eingangssignal zusätzlich ein Sprungsignal modelliert wurde.

Ein Simulationsergebnis zeigen die im ansonsten nicht weiter abgebildeten Frontpanel enthaltenen Signalverlaufsgraphen gemäß nachfolgendem Bild. Die Graphen wurden so konfiguriert, dass sie außer den Abtastwerten selbst waagrechte bzw. senkrechte Verbindungslinien im Sinne einer Treppenkurve zeichnen.

Simulierte Signale „Eingangsspannung“ und „Ausgangsspannung“ zum RC-Glied

Simulierte Signale „Eingangsspannung“ und „Ausgangsspannung“ zum RC-Glied

Linearisierte Modelle aus der Regel- und Simulationsschleife

Da viele reale technische Prozesse auch nichtlineare Operationen beinhalten, macht es bei deren Simulation mitunter Sinn, ihr Verhalten um einen Arbeitspunkt herum zu linearisieren. Dies ist insbesondere notwendig, wenn man das sog. Frequenzverhalten (siehe nächstes Kapitel) analysieren möchte. LabVIEW erlaubt es, innerhalb einer Regel- und Simulationsschleife modellierte Systeme komplett oder als Teil zu linearisieren. Hierzu muss das zu linearisierende System als Simulations-Subsystem gespeichert werden. Ein solches Subsystem wird bei LabVIEW in einer eigenen VI-Datei gespeichert, kann jedoch für sich nicht ausgeführt werden, sondern macht nur Sinn innerhalb der übergeordneten VI-Datei mit der Regel- und Simulationsschleife. Ein Subsystem kann nun über ein Menü oder auch programmatisch linearisiert sowie z.B. auch in einer Datei mit der Kennung *.lti gespeichert werden. Dies steht für „linear time invariant“ und weist auf den Fachbegriff eines linearen zeitinvarianten Systems hin.

Außerhalb der Regel- und Simulationsschleife, also im normalen Blockdiagramm, kann ein solches linearisiertes Modell mit diversen Funktionen weiter ausgewertet werden. Nachfolgendes Bild zeigt beispielsweise Funktionen zur Umwandlung in eine sog. Pol-Nullstellen-Darstellung („Zero-Pole-Gain Model“) und eine Übertragungsfunktion („Transfer Function Model“), die Berechnung von Impuls- und Sprungantworten sowie Berechnungen zum Frequenzverhalten, dem wir uns im nächsten Kapitel separat widmen. Diese Funktionen greifen jeweils auf ein Modell zurück, das zu Beginn (Funktionssymbol ganz links) aus einer *.lti-Datei (lti: linear time invariant system) eingelesen wurde. Die Konfiguration auf „SS“ bei den Funktionen bezieht sich auf das sog. State-Space Model als beim Abspeichern verwendete Modellvariante.

Exemplarische Auswertungen eines linearisierten Modells

Exemplarische Auswertungen eines linearisierten Modells

WENN SIE ES GENAUER WISSEN WOLLEN: