Variablen und Register in MET/CAL
adminZuletzt aktualisiert: 15.06.2026
metcalvariablenregistermath
Diese Übersicht beschreibt die Register und Variablen, die in MET/CAL verwendet werden können – mit grundlegenden Operationen, Typen, Konventionen und Beispielen.
1. Registertypen
| Typ | Bezeichnung | Beschreibung |
|---|---|---|
| Globale numerische Register | MEM, MEM1, M[1] … M[255] |
Numerische Werte, global in der gesamten Prozedur verfügbar. |
| Lokale numerische Register | L[1] … L[32] |
Nur innerhalb einer Prozedur oder eines Subprozeduraufrufs gültig. |
| Globale Zeichenkettenregister | MEM2, S[1] … S[32] |
Zeichenketten, global verfügbar. |
Wichtige Details:
- Globale Register sind prozedurübergreifend verfügbar.
- Lokale Register (
L[1]bisL[32]) werden bei jedem Eintritt in eine Prozedur zurückgesetzt. MEM2ist auf 4096 Zeichen beschränkt;S[1]bisS[32]fassen bis zu 32.767 Zeichen.
2. Benannte Variablen
Mit MET/CAL 7.20 kamen benannte Variablen für zusätzliche Flexibilität.
| Typ | Beschreibung |
|---|---|
| Globale Variablen | Beginnen mit @ (z. B. @spannung), in der gesamten Prozedur verfügbar. |
| Lokale Variablen | Ohne @ (z. B. strom), nur in der aktuellen Prozedur gültig. |
Regeln für Variablennamen:
- Maximal 32 Zeichen.
- Nur alphanumerische Zeichen und Unterstriche; keine Sonderzeichen.
- Case-sensitive:
spannungundSpannungsind verschieden. - Verwendbar in MATH-Operationen:
MATH @spannung = 10.0
MATH strom = 2.0
MATH leistung = @spannung * strom
3. Operatoren
| Operation | Symbol | Beispiel |
|---|---|---|
| Addition | + |
MATH MEM = 5 + 3 |
| Subtraktion | - |
MATH MEM = 10 - 4 |
| Multiplikation | * |
MATH MEM = 3 * 2 |
| Division | / |
MATH MEM = 9 / 3 |
| Exponentiation | ^ |
MATH MEM = 2 ^ 3 |
| String-Verkettung | & |
MATH MEM2 = MEM2 & "Text" |
| Relational | < <= > >= == != |
MATH MEM = M[1] > 5 |
| Logisch | && || |
UND-/ODER-Verknüpfung |
4. Beispiele
Numerische Berechnung:
MATH MEM = 5 + 3
MATH MEM1 = MEM / 2
Zeichenketten:
MATH MEM2 = "Kalibrierung: " & "Erfolgreich"
DISP [MEM2]
Lokale Register in Subprozeduren:
L[1] = 10
L[2] = 20
MATH MEM = L[1] + L[2]
Globale und lokale Variablen:
MATH @spannung = 230.0
MATH strom = 10.0
MATH leistung = @spannung * strom
DISP Leistung: [V leistung]
5. Hinweise
- Kontext: Variablen und Register sind in MATH, EVAL, IF, JMPL, WHILE und UNTIL nutzbar.
- Debugging: Werte lassen sich im Testlauf in der S-Reg-Anzeige prüfen. Globale Variablen erscheinen alphabetisch, lokale mit Subprozedurlevel.
- Zahl/String-Umwandlung: MET/CAL wandelt automatisch um. Nicht-numerische Zeichenketten im numerischen Kontext führen zu Laufzeitfehlern.
- Operator-Priorität: per Klammern steuerbar, z. B.
MATH MEM = (5 + 3) * (10 - 2).
