Die Simulation technischer Prozesse ist ein Eckpfeiler der modernen Entwicklung. Während kommerzielle Pakete oft hohe Lizenzkosten verursachen, bietet das Open-Source-Tool Scilab mit seiner grafischen Erweiterung Xcos eine leistungsstarke, kostenfreie Alternative. Dieser Beitrag zeigt, wie Ingenieure damit komplexe Systeme modellieren und analysieren können.
Simulation: Die Simulation technischer Prozesse ist die Grundlage der Elektronikentwicklung. Scilab und Xcos sind Open-Source-Alternativen zu Matlab/Simulink.
Scilab wurde ursprünglich als Open-Source-Alternative zu MATLAB konzipiert. Das spiegelt sich nicht nur in der Syntax, sondern auch in der Philosophie des Tools wider. Während Scilab die rechnerische Basis liefert, dient Xcos als grafische Oberfläche für die Simulation und ist das Pendant zum bekannten Simulink. Xcos ist ein fester Bestandteil der Scilab-Installation und ermöglicht die Modellierung über Signalflusspläne.
Die Simulation über Scilab-Konsolenbefehle
Bild 1: Eine Simulation mit Scilab-Konsolenbefehlen.
(Bild: Prof. Böttcher)
Innerhalb der Befehlszeilen-orientierten Bedienkonsole von Scilab lassen sich technische Prozesse simulieren, insofern eine mathematische Beschreibung dieser vorliegt. Letzteres ist typischerweise eine Laplace-Übertragungsfunktion. Auf andere in der Systemtheorie verwendeten Systembeschreibungen wie beispielsweise die Zustandsraumbeschreibung (State Space Model) wollen wir hier nicht weiter eingehen. Bild 1 zeigt, wie eine solche Übertragungsfunktion zunächst definiert werden kann.
Dazu wird zunächst s als komplexe Frequenz definiert und anschließend eine mit s als Variablen arbeitende Übertragungsfunktion. Mit dem Befehl syslin wird daraus die systemintern benötigte Darstellung eines linearen Systems generiert. Die weiteren Befehle dienen der Erzeugung von Sprungantwort, Bode-Diagramm und Nyquist-Diagramm. Speziell für die Sprungantwort steht kein eigenständiger Befehl zur Verfügung, diese muss vielmehr über expliziten Aufruf eines Simulationslaufs (noch ohne Xcos) per csim-Befehl berechnet werden.
Per csim lassen sich Systemantworten auf beliebige Eingangssignale berechnen, insofern diese zuvor mit entsprechenden Konsolenbefehlen definiert wurden. Konsolenbefehle, die mit einem Semikolon enden, werden in ihrem Ergebnis übrigens nicht angezeigt, was in der Befehlssequenz des Bildes an einigen Stellen gemacht wurde, um zu lange Zeichenkolonnen im Konsolenfenster zu vermeiden.
Exkurs: Der Weg zur Übertragungsfunktion
Bild 2: Systemdifferenzialgleichungen zu technischen Prozessen.
(Bild: Prof. Böttcher)
Durch Einsetzen der mathematisch formulierten physikalischen Zusammenhänge eines technischen Systems mit einer möglichen Linearisierung nichtlinearer Zusammenhänge um einen Arbeitspunkt lässt sich eine lineare Differentialgleichung zu diesem System ermitteln, insofern man sich um den Zusammenhang zwischen einem Eingangs- und einem Ausgangssignal interessiert. Bild 2 zeigt zwei Beispiele. Im linken Teilbild wird eine Masse m über einen Dämpfer mit dem Dämpfungsbeiwert d in einer Dimension beschleunigt. Eingangsgröße ist die Positionsänderung xe, welche durch eine Krafteinwirkung f bewirkt wird. Im Ergebnis soll f jedoch nicht weiter interessieren. Ausgangsgröße sei die dabei beobachtete Positionsänderung xa der Masse selbst. Das rechte Teilbild zeigt ein aus drei Elementen bestehendes bekanntes elektrisches System, einen Serienschwingkreis.
Allgemein hat eine solche lineare Differentialgleichung die Form:
(Bild: Prof. Böttcher)
Die Laplace-Rechnung zeigt, dass dieser Zusammenhang auch im Laplace-Spektrum (mit der komplexen Laplace-Frequenz s) durch die Übertragungsfunktion F(s) dargestellt werden kann:
(Bild: Prof. Böttcher)
Für die Simulation ist es lediglich wichtig zu wissen, dass die Koeffizienten der Differentialgleichung einfach an die entsprechenden Stellen im Zähler und Nenner der Übertragungsfunktion übertragen und exakt so im Scilab-Konsolenbefehl eingegeben werden.
Grafische Modellierung in Xcos
Bild 3: Simulation mit Signalflussplan in Xcos.
(Bild: Prof. Böttcher)
Der Weg zur grafischen Simulation führt in Xcos über den Signalflussplan (Bild 3). Hierzu stellt die Software neben dem Editor-Fenster eine umfassende Bibliothek an Funktionsblöcken in verschiedenen Paletten bereit. Für die Modellierung sind insbesondere die Paletten „Quellen“ (Sources) zur Signalerzeugung sowie „Senken“ (Sinks) zur Signalausgabe und Visualisierung essenziell.
Das Beispiel des Serienschwingkreises verdeutlicht den Aufbau: Als Eingangssignal dient ein Sprunggenerator, während die Ergebnisse in einem „Scope“ (Oszilloskop-Block) dargestellt werden. Um Ein- und Ausgangssignale für einen direkten Vergleich zu überlagern, wird ein Multiplexer aus der Palette „Signal Routing“ vorgeschaltet. Eine Besonderheit in Xcos ist die Ansteuerung des Scopes: Dieses wird über einen separaten Eingang durch eine „Event Clock“ getriggert, die den Takt für die Datenübernahme aus der laufenden Simulation vorgibt.
Konfiguration und Solver-Auswahl
Bild 4: Simulationsparameter in Xcos.
(Bild: Prof. Böttcher)
Bevor der Simulationslauf gestartet werden kann, ist eine präzise Parametrierung erforderlich (Bild 4). Im Menüpunkt „Simulation“ muss zwingend die Endzeit (im Beispiel 0,01 s) definiert werden. Während einfache Modelle oft mit den Standardeinstellungen operieren, erfordern komplexe Systeme oder hochdynamische Analysen tiefere Eingriffe in die Simulationsparameter.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel Communications Group GmbH & Co. KG, Max-Planckstr. 7-9, 97082 Würzburg einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von redaktionellen Newslettern nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung, Abschnitt Redaktionelle Newsletter.
Dies betrifft vor allem die Wahl des passenden Gleichungslösers (Solver). Je nach Modellcharakteristik stehen unterschiedliche numerische Verfahren zur Verfügung, die sich in ihrem Rechenaufwand und ihrer Eignung für spezifische Probleme (z. B. „steife“ Differentialgleichungen) unterscheiden. Die korrekte Auswahl ist hier entscheidend, um ein optimales Gleichgewicht zwischen Rechenzeit und numerischer Genauigkeit zu erzielen.
Parametrierung von Scope und Zeitbasis
Zusätzlich zu den globalen Parametern sind spezifische Einstellungen direkt im Signalflussplan erforderlich. Beim Scope muss neben der Y-Achsen-Skalierung vor allem der Zeitbereich definiert werden. In der Praxis ist es sinnvoll, den Endpunkt der Zeitachse (hier 0,01 s) mit der zuvor festgelegten Simulationsendzeit zu synchronisieren.
Die Datenerfassung wird über die Event Clock gesteuert: Ein eingestellter Intervall von 0,00001 s bewirkt, dass das Scope in diesem Rhythmus neue Werte aus der Simulation übernimmt. Da im vorliegenden Modell ein Multiplexer genutzt wird, erfasst das Scope simultan jeweils einen Wert für das Eingangs- und das Ausgangssignal. Nach dem Start der Simulation über die Toolbar (Startpfeil) generiert das System somit eine Datenreihe von insgesamt 1.000 Werten pro Signal (0,01 s Simulationszeit / 0,00001 s Abtastrate), wie in Bild 4 dargestellt.
Analyse im Frequenzbereich
Bild 5: Übertragen eines Xcos-Modells in Scilab.
(Bild: Prof. Böttcher)
Für Auswertungen im Frequenzbereich bietet Xcos derzeit keine direkte Ein-Klick-Lösung innerhalb der grafischen Oberfläche. Die Analyse erfolgt stattdessen über die Scilab-Konsole (Bild 5). Hierzu wird das Xcos-Modell zunächst als sogenannte Superblock (ein gekapseltes Untersystem) gespeichert.
Der anschließende Workflow in der Konsole umfasst zwei Schritte:
Import: Über den Befehl xcosDiagramToScilab wird das grafische Modell eingelesen.
Linearisierung: Mit dem Befehl lincos wird das Modell linearisiert, was die Voraussetzung für die klassische Systemanalyse ist.
Im Anschluss können die Befehle für Bode- und Nyquist-Diagramme genutzt werden. Diese lassen sich über zusätzliche Parameter präzise steuern. Das kann zum Beispiel zur Definition des darzustellenden Frequenzbereichs sein. Speziell beim Nyquist-Diagramm ermöglicht die Kennung %f (false), die Anzeige negativer Frequenzen zu unterdrücken, um die Übersichtlichkeit der Darstellung zu erhöhen.
Bedeutung der Linearisierung mit „lincos“
Der Befehl lincos ist ein entscheidendes Werkzeug für die Systemanalyse, da er die Linearisierung von Xcos-Modellen mit nichtlinearen Anteilen ermöglicht. Da Frequenzgänge systemtheoretisch ausschließlich für lineare Systeme definiert sind, überführt lincos das Modell in eine kompatible interne Darstellung.
Bei Modellen, die bereits linear aufgebaut sind, ändert dieser Befehl lediglich die interne Repräsentation, ohne das Systemverhalten zu beeinflussen. Bei der Linearisierung explizit nichtlinearer Modelle bietet lincos zudem die Möglichkeit, über zusätzliche Parameter einen spezifischen Arbeitspunkt zu definieren, um den herum die Linearisierung erfolgen soll. Das ist eine essenzielle Funktion für die Analyse realer technischer Systeme.
Vom mathematischen Modell zum Signalflussplan
Bild 6: Ermitteln eines Signalflussplans aus Systemdifferenzialgleichungen.
(Bild: Prof. Böttcher)
Wie erfolgt der Transfer von einer mathematischen Beschreibung hin zum grafischen Modell? Am Beispiel des Serienschwingkreises (Bild 6) lässt sich das systematische Vorgehen verdeutlichen:
1. Umformung: Die Systemgleichung wird zunächst so nach der Ausgangsgröße aufgelöst, dass im Ergebnis ausschließlich Integrationen und keine Ableitungen mehr vorkommen. Dies ist für die numerische Stabilität in der Simulation von entscheidender Bedeutung.
2. Grafische Umsetzung: Ausgehend vom Ausgangssignal ua(t) werden die benötigten mathematischen Operationen (Integrationen, Summierungen, Verstärkungen) aus der Tool-Palette entnommen und schrittweise verdrahtet.
Flexibilität in der Granularität
Entwickler haben bei der Modellbildung in Xcos volle Freiheit bezüglich der Detailtiefe (Granularität). Während ein Aufbau aus Elementaroperationen (Bild 6) eine hohe Transparenz der internen Abläufe bietet, kann ein komplexes System auch kompakt als ein einziger Block dargestellt werden. Hierfür bieten sich zwei Wege an:
Superblocks: Hierbei wird ein Teilmodell gekapselt und kann als Unterblock in übergeordnete Modelle integriert werden.
Laplace-Transferfunktion-Block: Alternativ lässt sich das Übertragungsverhalten direkt über einen Standardblock definieren. In diesem Fall müssen lediglich die Zähler- und Nennerkoeffizienten der Übertragungsfunktion als Parameter hinterlegt werden – analog zur Vorgehensweise bei den zuvor beschriebenen Scilab-Konsolenbefehlen.
Prof. Dr.-Ing. Jörg Böttcher von der Universität der Bundeswehr in München hat passend zu den Schwerpunkten dieses Beitrags mehrere praxisnahe Fachbücher veröffentlicht. Diese sind in der Reihe „Basiswissen für die intelligente Systemautomatisierung“ (Verlag Books on Demand) erschienen. Details finden Sie auf der Webseite.(heh)
* Prof. Dr.-Ing Jörg Böttcher hat eine Professur für Regelungstechnik und Elektrische Messtechnik an der Universität der Bundeswehr München inne.