next up previous
Next: Mehrfach-Umschalter Up: Interaktive Blöcke mit Simulink Previous: Mehrfach-Oszilloskop

Digital-Taste

Für kleinere digitale Anwendungen benutze ich gerne eine Taste, die bei Doppelklick zwischen den Zuständen 0 und 1 hin und her springt und den aktuellen Wert gleich anzeigt. Das läßt sich ganz einfach lösen, indem der Simulink-Block Constant mit folgender Open Function versehen wird:

function [] = taste

blk = gcbh;
sw  = get_param(blk,'Value');

if sw=='1', sw='0'; else sw='1'; end
set_param(blk,'Value',sw);

Mit get_param wird der aktuelle Wert des Value-Parameters geholt, d.h. der Wert der Konstanten. Die nächste Zeile wechselt zwischen den Werten 0 und 1 hin und her und mit set_param wird der neue Wert dem Value-Parameter zugewiesen.

Der aktuelle Wert wird im Block angezeigt, das erledigt der Constant-Block automatisch. Der Anfangswert ist bei Constant 1, ich hätte aber gern 0. Dazu setze ich den aktuellen Wert auf 0, ändere noch die Bezeichnung Constant des Blocks auf Taste und speichere ihn in meiner Bibliothek nützlicher Blöcke.



cb
6/14/1999