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 Datenbogen
Produktcode
198822
PRINT
Standard Ausgabe von Variablen
Ein einfacher PRINT Befehl gibt die Variable mit vier Stellen hinter dem Komma aus und unterscheidet sich
in der Anwendung nicht von einem Print für Byte/Wort-Variablen. Bei einer Ausgabe auf das LCD muss es
also hier heißen:
in der Anwendung nicht von einem Print für Byte/Wort-Variablen. Bei einer Ausgabe auf das LCD muss es
also hier heißen:
Anmerkung:
Bei der Ausgabe von Gleitkommazahlen mit PRINT ist es nicht möglich einen Term wie z.B.
PRINT (MyVar1*MyVar2) auszugeben. Es muss immer eine Variable ausgegeben werden.
Eingaben über ein Terminal, in der Form wie es mit INPUT für Wortvariablen möglich ist, werden für
Floatvariablen nicht unterstützt.
Bei der Ausgabe von Gleitkommazahlen mit PRINT ist es nicht möglich einen Term wie z.B.
PRINT (MyVar1*MyVar2) auszugeben. Es muss immer eine Variable ausgegeben werden.
Eingaben über ein Terminal, in der Form wie es mit INPUT für Wortvariablen möglich ist, werden für
Floatvariablen nicht unterstützt.
Ein kleines Beispiel zur Zuweisung und Ausgabe:
Starten Sie das
Programm FP_INPUT_OUTPUT. Ändern Sie Werte und Formatierung um einen ersten Eindruck zu
bekommen.
bekommen.
DATENWANDLUNG FLOAT<-> INTEGER WORD/BYTE
Je nach Anwendung kann es erforderlich sein die beiden Datentypen umzuwandeln. Zu beachten ist dabei,
das z.B. die Zahl 691234 natürlich nicht als Wort dargestellt werden kann und das Ergebnis einer
solchen Zuweisung oder Umwandlung natürlich fehlerhaft ist. Sehen sie dazu auch das Thema "Floating
Point Errors". Das INTEGER muss nicht zwingend eine Variable vom Typ WORD sein. Eine Bytevariable
darf es hier auch sein, aber diese hat natürlich einen anderen Wertebereich und trägt kein Vorzeichen.
das z.B. die Zahl 691234 natürlich nicht als Wort dargestellt werden kann und das Ergebnis einer
solchen Zuweisung oder Umwandlung natürlich fehlerhaft ist. Sehen sie dazu auch das Thema "Floating
Point Errors". Das INTEGER muss nicht zwingend eine Variable vom Typ WORD sein. Eine Bytevariable
darf es hier auch sein, aber diese hat natürlich einen anderen Wertebereich und trägt kein Vorzeichen.
Grundsätzlich gilt:
Unbedingt erforderlich ist die Umwandlung immer innerhalb eines Terms da hier immer gleiche Datentypen
stehen müssen. Der Compiler gibt hier keine Hinweise bzw. Fehlermeldungen. Der Anwender muss selbst
darauf achten. Die Folgen solcher Fehler sind in der Regel unerklärlich falsche Rechenergebnisse und auch
Programmabstürze als Folge von Stackfehlern.
Unbedingt erforderlich ist die Umwandlung immer innerhalb eines Terms da hier immer gleiche Datentypen
stehen müssen. Der Compiler gibt hier keine Hinweise bzw. Fehlermeldungen. Der Anwender muss selbst
darauf achten. Die Folgen solcher Fehler sind in der Regel unerklärlich falsche Rechenergebnisse und auch
Programmabstürze als Folge von Stackfehlern.
4
LCD.PRINT MyVar & "VOLT"
option float
define FV1 as float
define FV2 as float
define FV1 as float
define FV2 as float
LCD.INIT
'------ EINGABE IN WISSENSCHAFTLICHER NOTATION -------------------------
FV1=exp(1.23456789,4) '1.23456789E04
'------ EINGABE IN ÜBLICHER DEZIMALDARSTELLUNG ------------------------
FV2=12345.6789
'------------ AUSGABE MIT VOLLER STELLENZAHL --------------------------------
LCD.POS 1,1
LCD.PRINT FV1 & " VOLT "
LCD.POS 2,1
LCD.PRINT FV2 & " VOLT "
LCD.PRINT FV1 & " VOLT "
LCD.POS 2,1
LCD.PRINT FV2 & " VOLT "