C Control I Unit-M 2.0 BASIC 5 Vdc Inputs / outputs 16 x digital I/Os/8 x analog or digital I/Os/2 x analogue outputs (s 198822 Data Sheet

Product codes
198822
Page of 73
WAIT
Eine wesentliche Voraussetzung für ein Programm ist eine Steuerung des Programmflusses, z.B. 
Verzweigungen. Die WAIT Anweisug ist die kurze Ausführung einer Bedingungsabfrage mit anschliessendem 
GOTO. Sie wartet bis die Bedingung erfüllt, also TRUE ist
Syntax: WAIT [expression]                         
Weil ein Bitport immer Typ Bool ist kann man 
auch schreiben:
GOTO
Sprungmarken sog. „Labels“ werden Ihnen beim Programmieren von Basic++ nicht so häufig begegnen, wie 
beim klassischen BASIC. BASIC++ ist viel modularer strukturiert und damit übersichtlicher. Hin und wieder 
sind Sprungmarken dennoch ganz nützlich. Sprungmarken werden mit dem Hash-Zeichen („#“) deklariert, 
wobei beim Aufruf der Sprungmarke das Hash-Zeichen nicht Bestandteil des Namens ist.
Achten Sie darauf, dass ein Label niemals lokal, sondern nur global initialisiert wird. Sie können auf eine 
Sprungmarke verweisen, die noch nicht deklariert wurde. Wenn nach der Kompilierung die Sprungmarke 
jedoch nicht gefunden wurde erscheint ein Fehler.
Mit Hilfe des GOTO Befehls gelangen Sie zu einer Sprungmarke, es wird keine Rücksprungadresse 
gesichert.
Syntax: GOTO Label
Das kleine Beispiel entspricht:   WAIT MyBitPort.
FUNCTION 
ein Unterprogramm leiten Sie mit dem Befehl FUNCTION ein. Jedes Unterprogramm benötigt einen 
eindeutigen Namen, wobei der Name den allgemeinen Namenskonventionen entspricht, die Sie auch schon 
für Variablen- und Sprung-markennamen kennen gelernt haben.Wie Sie an der Syntaxdefinition schon 
erkennen können müssen auch Funktionen mit END FUNCTION geschlossen werden.
Mit RETURN können Sie einer Funktion einen Rückgabewert zuweisen. Verwechseln Sie das RETURN nicht 
mit dem RETURN des standard BASIC
Eine FUNCTION kann vorzeitig mit EXIT FUNCTION verlassen werden.
Zwischen der geöffneten und geschlossenen Klammer hinter dem Funktionsname können Sie optional 
Parameter listen, die beim Aufruf der Funktion gesetzt werden müssen. Parameter sind lokale Variablen, die 
nur innerhalb der Funktion verwendet werden können. Der Umgang und die Gebrauchskonventionen von
Parameter entspricht dem von normalen Variablen, die mit DEFINE erstellt wurden.
Syntax: Function [Name] ([[Parameter] As [Data type] | [Parameter] Ref [Variable], ...])
              
[instructions]
             Return [expression]
             End Function 
Name:         Erforderlich, Gültiger Bezeichner 
Parameter:  Optional, Gültiger Bezeichner für eine Parametervariable 
Data type:   Erforderlich, wenn kein Ref bei Parametervariable. Gültiger Datentyp 
Variable:     Erforderlich, wenn Ref bei Parametervariable. Bezeichner einer schon deklarierten Variable 
Expression
 
Optional, Term, Variable, Zahl oder Konstante als Rückgabewert 
Bei der Parameterübergabe lassen sich Variablen auch Referenzieren
3
WAIT (MyBitPort)
WAIT (Mybitport = ON)
  MyLabel:       IF (MyBitPort=OFF  THEN  GOTO MyLabel
FUNCTION MyFunction(X as byte, Y as byte)
         X=2*Y
         RETURN 2*X
END FUNCTION
-----------------------------------------------------------
PRINT MyFunction(1,2)
FUNCTION MyFunction(X Ref MyByte, Y Ref MyWord)
         X=2*Y
         RETURN 2*X
END FUNCTION
-----------------------------------------------------------
PRINT MyFunction(1,2)