Navigation: CL-Studio Software > Die Programmierung des Systems >

Variablen

 

 

 

 

 

Variablen

 

Variablen dienen der Zwischenspeicherung von Werten. Variablen werden mit der Anweisung VARDEF in Scripten definiert. Einer Variablen kann im Script ein Wert zugewiesen werden. Dieser Wert kann der Inhalt einer anderen Variablen, ein Objektzustand oder eine Konstante sein. Die in einem Script definierten Variablen können von allen anderen Scripten in anderen Objekten benutzt werden. Wenn der Name des Objekts, in dem die Variable definiert wurde der Variablen getrennt durch einen Punkt vorangestellt wird.

Der Name einer Variablen kann die Buchstaben A-z, Ziffern und den Unterstrich beinhalten. Er muss mit einem Buchstaben beginnen, landesspezifische Buchstaben und Sonderzeichen sind nicht erlaubt (Beispiel: Var_99).

 

Für jede Variable muss ein Typ festgelegt werden. Es können dieselben Typen wie für Objekte verwendet werden. Zusätzlich zu diesen Typen können für Variablen auch Zeittypen (Uhrzeit, Datum) benutzt werden.

Bei Zuweisungen zwischen nicht gleichen Typen erfolgt die Zuweisung entsprechend der Reihenfolge der für diesen Typ definierten Zustände, unabhängig von der Bezeichnung des Zustands. Intern werden Zustande als Zahl entsprechend der Reihenfolge in der Definition des Typs behandelt. Bei Zuweisungen wird diese Zahl zugewiesen.

 

Es gibt eine vordefinierte Variable des Typs Uhrzeit für jedes Objekt. Der Name der Variablen ist CT (für ChangeTime). In dieser Variablen wird die jeweils letzte Änderungszeit eines Objekts gespeichert. Mit der Funktion STOPPUHR(Objektname.CT) kann ermittelt werden wie lange ein Objekt sich in seinem aktuellen Zustand befindet. Die aktuelle Schaltdauer eines Objekts kann auch mit der Funktion SCHALTDAUER(Objektname) ermittelt werden.

Bitte beachten Sie:

Wenn Sie eine Variable vom Typ Zahl definieren, gibt es zwei unterschiedliche Typen von Zahlen:

Zahlen mit Komma (Gleitkommazahlen) und Zahlen ohne Komma. Von welchem Typ die Zahl ist, wird durch den Startwert festgelegt. Wird als Startwert eine Zahl mit Komma angegeben (z.B. 1,0) so wird die Variable als Zahl mit Kommastellen behandelt, andernfalls als Zahl ohne Kommastelle.

Als Dezimaltrennzeichen kann anstelle eines Kommas auch ein Punkt (amerikanische Schreibweise für Gleitkommazahlen) verwendet werden.

Es macht bei Rechenoperationen und Zuweisungen einen grossen Unterschied wie eine Zahl definiert ist. Wenn einer Zahl ohne Kommastellen eine Zahl mit Kommastellen zugewiesen wird, werden die Kommastellen einfach abgeschnitten.

Wenn eine Rechenoperation nicht das gewünschte Ergebnis liefert, prüfen Sie wie die in der Anweisung verwendeten Zahlen definiert sind.

 

Variablen werden in Skripten mit folgender Anweisung definiert:

vardef Typ:Variablenname = Startwert

Beispiele:

vardef Zeichen:Dauer = 00:05:00

vardef Licht:Stehlampe=aus

vardef Zahl:Temperatur = 21,5

 

Es gibt vordefinierte Variablen, die verwendet werden können. Jedes Objekt hat beispielsweise eine Variable vom Typ Zeit mit dem Namen CT, in der die letzte Schaltzeit des Objekt abgespeichert ist. Um die aktuelle Schaltdauer eines Objekts zu ermitteln kann man folgende Anweisung verwenden:

 

Anzeige:=Schaltdauer(Lampe.CT)

 

Ein Beispiel zur Verwendung von Variablen :

Die minimal und maximal-Temperatur sollen jede Stunde auf einer Anzeige ausgegeben werden.

Im Script des Objekts TempWG sind die Variablen MIN und MAX als Zahl definiert.

Das Script des Objekts TempWG:

 

wenn TempWG > MAX dann

  MAX:=TempWG

endewenn

wenn TempWG < MIN dann

  MIN:=TempWG

endewenn

 

Variablen sind dem Objekt zugeordnet, in dessen Script es definiert wird, kann jedoch auch in anderen Scripten verwendet werden, wenn der Name der Variablen qualifiziert, d.h. mit vorangestelltem zugehörigem Objektnamen, von der Variablen durch einen Punkt getrennt, angegeben wird.

Wenn Beispielsweise im Script Gartenlicht die Variable Autoschalter definiert ist, so kann diese in anderen Scripten unter dem Namen Gartenlicht.Autoschalter verwendet werden.

 

 

 

 

 

 

Copyright © 2024 CL-control