Beispiel: Unterprozeduren (Pseudo-Treiber-Technik)

adminZuletzt aktualisiert: 15.06.2026
metcalbeispielcallfldfindunterprozedur

Dieses Beispiel zeigt die Pseudo-Treiber-Technik: Ein Hauptprogramm übergibt Parameter an ein Unterprogramm, das je nach Eingabe automatisch die passende Messung wählt. So lässt sich dieselbe Unterprozedur wiederverwenden, Code reduzieren und die Struktur vereinfachen. Schlüsselbefehle: CALL, FLD(), FIND(), JMPL, LABEL.

Hauptprogramm

1.001  MATH   MEM2="200V 2%"      Parameter fuer Spannung uebergeben
1.002  CALL   Unterprogramm       Unterprogramm aufrufen
1.003  MATH   MEM2="1kZ 1.5%"     Parameter fuer Widerstand uebergeben
1.004  CALL   Unterprogramm       Unterprogramm aufrufen

Unterprogramm

1.001  MATH   MEM=FLD(MEM2,1," ")        Ersten Wert extrahieren (z. B. 200)
1.002  MATH   M[1]=FLD(MEM2,2," ")       Zweiten Wert extrahieren (z. B. 2)
1.003  JMPL   VOLT_FUNKTION   FIND(MEM2,"V",1) > 0    Spannung?
1.004  JMPL   OHM_FUNKTION    FIND(MEM2,"Z",1) > 0    Widerstand?
1.005  LABEL  VOLT_FUNKTION
1.006  JMPL   MILLI_VOLT      FIND(MEM2,"m",1) > 0    Millivolt?
1.007  5500   V    M1%   2W    Messung durchfuehren
2.001  JMPL   ENDE
2.002  LABEL  MILLI_VOLT
2.003  5500   mV   M1%   2W    Messung durchfuehren
3.001  JMPL   ENDE
3.002  LABEL  OHM_FUNKTION
3.003  JMPL   KILO_OHM        FIND(MEM2,"k",1) > 0    Kiloohm?
3.004  5500   Z    M1%   CW    Messung durchfuehren
4.001  LABEL  KILO_OHM
4.002  5500   kZ   M1%   2W    Messung durchfuehren
5.001  LABEL  ENDE

Erklärung

  • MATH MEM=FLD(MEM2,1," ") – extrahiert das erste Feld der Zeichenkette in MEM2, getrennt durch Leerzeichen. Da MEM nur Zahlen aufnimmt, bleibt z. B. aus „200V" der Wert 200.
  • FIND(MEM2, "V", 1) – prüft, ob „V" (für Spannung) im String MEM2 vorkommt. Falls ja, erfolgt der Sprung zum Label VOLT_FUNKTION.
  • CALL Unterprogramm – ruft das Unterprogramm auf und übergibt die zuvor definierten Parameter.
  • JMPL [Bedingung] – springt zu einem Label, wenn die Bedingung wahr ist.
  • LABEL – definiert einen Zielpunkt für bedingte oder bedingungslose Sprünge.

Logik in Kürze

  • Das Hauptprogramm legt die Messparameter in MEM2 ab.
  • Das Unterprogramm zerlegt sie in Wert und Toleranz, erkennt Spannung oder Widerstand und führt die passende Messung aus.
  • Labels strukturieren die Logik und erlauben gezielte Sprünge.

So lassen sich Unterprozeduren wiederverwenden, Code reduzieren und komplexe Prozeduren effizienter gestalten.