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
MATH FUNCTIONS
Alle Mathematischen Funktionen und Operationen sind auf Byte oder Word Grösse beschränkt. Das
bedeutet, dass selbst wenn Einggangs und Ausgangsgrössen im Wertebereich eine Byte/Word liegen, dafür
Sorge getragen werden muss, dass Zwischenergebnisse bei Berechnungen keinen Überlauf erzeugen.
bedeutet, dass selbst wenn Einggangs und Ausgangsgrössen im Wertebereich eine Byte/Word liegen, dafür
Sorge getragen werden muss, dass Zwischenergebnisse bei Berechnungen keinen Überlauf erzeugen.
Beispiel für Byte Variablen: x=100*3/2
Das Ergebnis ist 150 und ist im gültigen Wertebereich. Die Berechnung 100*3 jedoch führt zu einem
Überlauf und damit zu einem falschen Ergebnis. Hier sieht man deutlich dass die Reihenfolge der
Berechnung eines Term durchaus von Bedeutung ist.
Überlauf und damit zu einem falschen Ergebnis. Hier sieht man deutlich dass die Reihenfolge der
Berechnung eines Term durchaus von Bedeutung ist.
x=100/2*3 führt zu einem richtigen Ergebnis
Die MATH FUNCTIONS für Float Variablen sind im Kapitel FOATING POINT MODULE beschrieben.
Die MATH FUNCTIONS für Float Variablen sind im Kapitel FOATING POINT MODULE beschrieben.
GRUNDRECHENARTEN
Syntax: Variable = value1 [operator] value2
Variable: Variable Byte oder Word typ
value1: Variable, Wert oder Konstante, Byte oder Word Typ
value2: Variable, Wert oder Konstante, Byte oder Word Typ
operator: division /
value1: Variable, Wert oder Konstante, Byte oder Word Typ
value2: Variable, Wert oder Konstante, Byte oder Word Typ
operator: division /
multiplikation *
addition +
subtraktion
subtraktion
INC DEC (INKREMENT , DECREMENT)
Für eine Inkrementierung um 1, wie sie häufig vorkommt gibt es die eine bedeutend schnellere und Speicher
sparende Variante. INC erhöht dabei den Wert der Variablen, DEC verringert den Wert der Variablen um
jeweils eins.
sparende Variante. INC erhöht dabei den Wert der Variablen, DEC verringert den Wert der Variablen um
jeweils eins.
Traditionelle Variante
Variante mit INC
Syntax: INC(Variable)
Variable: Variable Byte oder Word Typ
INC und DEC haben eine deutliche höhere Ausführungsgeschwindigkeit ( 66us gegenüber 196us ) und
benötigen auch weniger Token ( 2 Token gegenüber 8 Token )
Bei vielen Anwendungen welche eine FOR TO NEXT Schleife benutzen ist die Schrittweite (STEP) gleich
eins. Auch für diese Fälle sind die wesentlich schnelleren Befehle INC und DEC zu bevorzugen.
Variable: Variable Byte oder Word Typ
INC und DEC haben eine deutliche höhere Ausführungsgeschwindigkeit ( 66us gegenüber 196us ) und
benötigen auch weniger Token ( 2 Token gegenüber 8 Token )
Bei vielen Anwendungen welche eine FOR TO NEXT Schleife benutzen ist die Schrittweite (STEP) gleich
eins. Auch für diese Fälle sind die wesentlich schnelleren Befehle INC und DEC zu bevorzugen.
Die FOR TO NEXT Variante: 650us Die Variante mit INC: 230us
2
FOR MyByte= 0 to 10
NEXT
NEXT
MyByte=0
#LOOP
INC MyByte
IF MyByte<10THEN GOTO LOOP
#LOOP
INC MyByte
IF MyByte<10THEN GOTO LOOP
MyWord=MyWord + 1
INC MyWord
MyWord=Value1 / Value2
MyWord=Value1 * Value2
MyWord=Value1 + Value2
MyWord=Value1 - Value2
MyWord=Value1 * Value2
MyWord=Value1 + Value2
MyWord=Value1 - Value2