|
Wesentliche Eigenschaften der
Simulink Blockbibliothek Funktionsplan
- alle Rechte vorbehalten - Dr. Geitner ETI/TU Dresden |
Das Softwarewerkzeug FUP Blockbibliothek wurde für
Entwurf, Simulation, Echtzeitkodegenerierung und Dokumentation
von ereignisgesteuerten Systemen, speziell in Maschinenbau,
Mechatronik und Elektrotechnik entwickelt. Es stellt eine Erweiterung
zu
MATLAB/Simulink dar. Wesentliche Eigenschaften sind:
- Es handelt sich um ein offenes System mit blockorientiertem
Aufbau und der Möglichkeit zur Generierung von C-Kode
für den Echtzeiteinsatz. Die Blöcke werden wie Simulink
Standardblöcke gehandhabt, d.h. es gibt kein spezielles
Entwurfsfenster, keine Kompilierung bei Simulation und keinen
speziellen Funktionsplan Kodierer bei Erzeugung von Echtzeitkode.
- Für die graphische Darstellung (Blockikonen) wird die Nähe zur
VDI /
VDE - Richtlinie
3684 "Beschreibung ereignisgesteuerter Bewegungsabläufe mit Funktionsplänen"
angestrebt. Diese Richtlinie wurde durch den
GMA Fachausschuß 4.20
"Bewegungssteuerungen für Be- und Verarbeitungsmaschinen" ausgearbeitet und kann über
den Beuth Verlag bezogen werden.
- Beispiele für wesentliche unvermeidbare Abweichungen der
graphischen Darstellung zwischen Blockbibliothek Funktionsplan
und Richtlinie 3684 sind die Anschaltung des
Kommentarblockes
KB
an den Zustandsausgängen (statt an der rechten Seite eines
Zustandsblockes, z.B.
ZA),
die generelle graphische Kennzeichnung der Wirkungsrichtung durch
Pfeile (statt nur bei Wirkungsrichtung nach oben) und die Zuführung
von Ereignissen an die Ereignisblöcke mittels "Goto"-Blöcken
(Ereignisnamen statt ohne Klammern in eckigen Klammern und in Blockumrandung).
Der Kommentarblock kann Parameter unterschiedlicher Definition
übergeben, im Gegensatz zur Richtlinie jedoch keine weiteren
mathematischen Beziehungen.
- Hinsichtlich der Verschachtelung von Verzweigungen und Zusammenführungen in
einem Funktionsplan bestehen keine Restriktionen, d.h. entsprechend der Syntax können
Parallel- und Alternativverzweigungen verschachtelt sein.
- Bezüglich der Bildung von Teilfunktionsplänen (Untersystemen) werden keine
Restriktionen vorgegeben. Damit können große Funktionspläne beliebig aufgeteilt
werden. Zu beachten ist, daß die Block-Ikonen der Untersysteme dann keine spezielle
Blockgraphik aufweisen. Zu empfehlen ist die Wahl eines Textes (disp-Befehl in Maskierung)
zur gut wiedererkennbaren Kennzeichnung.
- Die Zustandsnummern sind, unter Ausschluß von Null, als natürliche Zahl
(i.R. 4-stellig) frei wählbar. Es besteht kein Zusammenhang zwischen der
Simulink-internen, automatischen
Blocknumerierung und den frei wählbaren Zustandsnummern.
- Durch Vorgabe von Funktionsplannummer und Zustandsnummer besteht die Möglichkeit der
gleichzeitigen Simulation mehrerer Funktionspläne. In unterschiedlichen
Funktionsplänen können dabei wahlweise gleiche Zustandsnummern vergeben werden.
Als Funktionsplannummer ist eine natürliche Zahl zwischen 1 und 9 zulässig.
- Die durch den
Kommentarblock
KB
- als Schnittstelle zu den Bewegungszellen (Antrieben) -
generierten Parameter können sowohl logische, als auch numerische Steuervariablen
darstellen. Bei Bedarf sind diese Steuervariablen im Gegensatz zu Zustandsnummern zwischen
unterschiedlichen Funktionsplänen und Prozeßmodellen gültig, wenn gleiche Namen
vereinbart werden.
- Die durchgängige Programmierung der Funktionalität mit S-Funktionen und MEX-Files
auf Basis von C-Kode und ein sparsamer Einsatz von Standardblöcken tragen zu
minimierten Laufzeiten bei.
- Die Fehlerbehandlung ist in vom Normalablauf separaten
Teilfunktionsplänen möglich. Von jedem Zustand aus kann ein
Übergang in einen von mehreren Pfaden zur Fehlerbehandlung erfolgen,
ohne daß dabei die Übersichtlichkeit der graphischen
Darstellung leidet. Wenn ein Fehlersignal auftritt, wird im
betreffenden Funktionsplan eine Deaktivierung aller aktiven
Zustände des Normalablaufes ausgelöst, der diesem Funktionsplan
zugeordnete
allgemeine Fehlerzustand
ZF vorübergehend aktiviert und in
Abhängigkeit von Boolschen Gleichungen einer von mehreren
Fehlerbehandlungszuständen eingenommen. Die Wiedereintrittspunkte
in den Normalablauf nach Beseitigung des Fehlers können entsprechend
den technologischen Erfordernissen frei gewählt werden.
- Mittels Anzeige aktiver Zustände ist eine Überprüfung
des funktionellen Ablaufes möglich. Hierzu zeigt Block
AZFx alle
aktiven Zustände eines Funktionsplanes an, während Block
DA
die Anzeige ausgewählter Zustände mehrerer
Funktionspläne realisiert.
- Die Blockbibliothek Funktionsplan bietet eine umfangreiche
Entwurfsunterstützung. Für jeden Block stehen on-line
Hilfetexte zu Verwendungszweck und Einsatzgrenzen mittels
Browser zur Verfügung. Einfache Fehler bei der
Blockparametrierung bewirken ein akustisches Signal und die Ausgabe
einer Fehlermeldung. Weitere Eingabefehler undStrukturfehler werden
mit Hilfe von Zusatzsoftwarewerkzeugen erkannt und angezeigt. Das
betrifft z.B. definierte Variablennamen und entsprechende Zugriffe,
definierte Zustandsnummern und entsprechende Boolsche
Fehlergleichungen, Zustandssackgassen (Verklemmungen) oder
konkurierende Steuersignale.
- Die Generierung von Echtzeitkode kann so einfach erfolgen, wie sie
für Simulink Standardblöcke vorgesehen ist, d.h. ohne spezielle
Kenntnisse eines gesonderten Fensters oder zusätzlicher
Kodierungssoftware. Erfolgt der Entwurf der Bewegungssteuerung für
eine PC-kompatible Hardware, so empfiehlt sich der MATLAB Kompiler zusammen
mit der Zusatzsoftware
Simulink Coder
(vormals RTW, Real-Time Workshop) und
xPC-Target
(vormals RealLink/32) als Target Support und Hardware Treiber-Bibliothek.
Mitgelieferte xPC-Target Make-Files können unverändert
verwendet werden, lediglich die Bibliotheksfiles von Funktionsplan
sind anzumelden.
- Kompilerschalter zur Ausblendung der Erkennung von einfachen Fehlern
bei der Blockparametrierung ermöglichen die Verkürzung der
Echtzeitzykluszeit am Ende des Entwurfsprozesses. Der Anwender kann
auch die notwendige Größe des Speicherbereiches bei
Echtzeiteinsatz beeinflussen. Hierzu sind z.B. die maximale Anzahl
paralleler Zustände, die Anzahl paralleler Funktionspläne
oder die Anzahl der zu übertragenden Steuervariablen in
Headerfiles vorgebbar.
- Funktionsplan bietet Hilfe bei der Fehlersuche im technologischen
Ablauf und bei der einfachen Realisierung von technologischen
Varianten. In frühen Entwurfsstadien und bei bestimmten
Fehlern kann die Ereignisgenerierung durch on-line Schalter ersetzt
werden. Alternative Pfade und Variantenschalter ermöglichen
den Vergleich unterschiedlicher technologischer Abläufe bei
Simulation und Echtzeitbetrieb. Beide Betriebsarten
können mittels über on-line Schalter generierte Ereignisse
ganz oder teilweise im Schrittbetrieb arbeiten, wenn technologisch
zulässig. In beiden Betriebsarten können sowohl Zustandsvariablen
als auch Ereignisse aufgezeichnet werden.