next up previous
Next: Digital-Taste Up: Interaktive Blöcke mit Simulink Previous: Interaktive Blöcke mit Simulink

Mehrfach-Oszilloskop

Will man mehrere Signale auf einem Oszilloskop darstellen, braucht man die Eingänge nur über einen Multiplexer zu einem Vektorsignal zusammenzuschalten. Das Osziloskop zeigt dann alle Signale gleichzeitig, jeweils mit anderer Farbe. Ich möchte aber häufig die Signale bildlich übereinander darstellen. Dazu bastele ich ein kleines Subsystem, das auch gleich den Multiplexer mit aufnimmt:

Bei einem Doppelklick soll sofort das Oszilloskop-Fenster erscheinen, nicht das Subsystem von Oszi6. Dazu schreibe ich eine Funktion open_oszi, die den Open-Befehl an den Scope-Block von Oszi6 weiterreicht:

function [] = open_oszi

blk = gcbh;
oszi_h = find_system(blk, 'Name', 'Scope');
open_system(oszi_h)

Das Kommando gcbh gibt einen Zeiger ("Handle") auf den aktuellen Block zurück, das ist hier derjenige, der geöffnet werden soll. Der find_system-Aufruf liefert damit einen Zeiger auf den Scope-Block. Mit open_system wird die entsprechende Open-Funktion aufgerufen, in unserem Fall also das Oszilloskop-Fenster aufgemacht.


Diese Funktion steht im File open_oszi.m, das in einem Verzeichnis des Matlab-Suchpfads (bei mir einfach im aktuellen Verzeichnis) abgelegt wird. Schließlich muß sie noch als Open Function eingetragen werden (unter Edit/ BlockProperties), und das eigene Mehrfach-Oszilloskop ist fertig.



cb
6/14/1999