Herunterladen Inhalt Inhalt Diese Seite drucken

ZES ZIMMER LMG600 Serie Benutzerhandbuch Seite 135

Präzisions-leistungsmessgeräte mit 1 bis 7 kanälen
Vorschau ausblenden Andere Handbücher für LMG600 Serie:
Inhaltsverzeichnis

Werbung

Listen
Das Skript kann Listen fester Länge erstellen und diese für interne Berechnungen verwenden oder zum
Anzeigen veröffentlichen (siehe V [3→126]). Eine solche Liste wird erstellt, indem die Größe
in spitzen Klammern, gefolgt von dem anfänglichen Wert in runden Klammern, geschrieben wird. Das
folgende Beispiel zeigt Teile der Berechnung eines gleitenden Durchschnitts mit einer Fensterlänge von
32 Werten. Der momentane Fensterinhalt wird als öffentliche Liste definiert. Falls eine Veröffentlichung
nicht erwünscht ist, kann dem Namen ein Dollarzeichen vorangestellt werden, so wie auch bei anderen
Variablen. Dadurch werden wesentlich größere Listen von einigen Tausend Werten möglich (die exakte
Größe hängt von der Größe des Skriptes ab), da die mögliche Anzahl an veröffentlichten Werten
limitiert ist.
def { U_win = <32>( utrms ?) "V"; }
// shift all values by one
for($i=len(U_win) -1;$i >0; $i=$i -1)
U_win[$i] = U_win [$i -1]
// Insert the current value of utrms ?
U_win [0] = utrms?
Speichert eine Variable einmal einen Listenwert, muss dieser Listenwert in der Variablen gespeichert
bleiben und kann nicht überschrieben werden. Der Grund hierfür liegt in dem nötigen Speicherbedarf
der Listen, welcher ansonsten wieder freigegeben werden müsste, was ein nicht-deterministisches
Ausführen des Skriptes nicht mehr garantieren würde. Das folgende Beispiel demonstriert
das.
// Invalid : Overwrites itself in the next cycle !
example1 = <32>( utrms ?)
// Invalid : Discards the already stored list value !
example1 = 0
// Invalid : The list cannot be copied to another variable
example2 = example1
Diese Einschränkungen gelten nicht für Messwertlisten, da diese aus Prinzip nicht durch das
Skript modifiziert werden können, und daher keinen eigenen Speicher im Skript erforderlich
machen.
// Retrieve a read -only measurement list
sum = buam? (1:10)
$tmp_sum = 0
for($i =0;$i <len(sum);$i=$i +1)
$tmp_sum = $tmp_sum + sum[$i]
// Valid: sum now contains the average value
sum = $tmp_sum / len(sum)
Zugriff auf Messwerte
Um auf Messwerte zuzugreifen (z.B. auf
(I S [9.2→219]). Das Fragezeigen in der SHORT Notation signalisiert, dass
auf einen Messwert zugegriffen werden soll. Nach dem Fragezeigen können zusätzliche Parameter
angegeben werden, beispielsweise Listenparameter. Die Notation wird durch das Zeilenende, Semikolon
oder einen anderen Skriptoperator beendet. Manche SHORT-Kommandos können mehrere parameter
akzeptieren. Diese werden dann durch ein Komma getrennt (wie unter I S
[9.2→219] beschrieben). Wenn ein Komma als bestandteil des übrigen Skripts interpretiert werden
soll, muss das SHORT Kommando davor geklammert werden.
MyTwiceUtrms = utrms1 ? * 2
// SHORT command is "buam ?", index by 0
dc = buam ?[0]
// First sample of scope 2, first trace
s0 = spval2 ? 0 [0]
// First ten samples : len(s010) == 10
s010 = spval2 ? 0 ,(0:9)
// The max of buam ?[1] and buam ?[3]
m = max (( buam ?[1]) , (buam ?[3]) )
www.zes.com
Benutzerhandbuch Gerätefamilie LMG600
UTRMS [9.10.217→324]
), wird die SHORT Notation verwendet
135/472

Werbung

Inhaltsverzeichnis
loading

Verwandte Produkte für ZES ZIMMER LMG600 Serie

Inhaltsverzeichnis