L MW 202
INVI
L MW 200
T MW 202
UW
U <>0
S M 14.7
L #speicher
INVI
L MW 200
T #speicher
UW
U <>0
S M 14.7
Eine Temp-Variable ist nur in dem Baustein gültig, in dem sie deklariert wurde.
Bevor du sie im Baustein verwendest, mußt du sie initialisieren, denn es steht sonst ein zufälliger Wert darin.
Das bedeutet, wenn der Baustein aufgerufen wird, wird für die Temp-Var ein Bereich auf dem lokalen Stack belegt. Dort kann vorher ein anderer Baustein Werte zwischengelagert haben, also nehmen die Temp-Var des aktuellen Bausteins, diese "zufälligen" Werte an. Wenn du dann die Temp-Var als Zwischenspeicher im Baustein nutzt, mußt du also zuerst einmal etwas darauf schreiben.
L 0
T #speicher
L #speicher
INVI
L MW 200
T #speicher
UW
U <>0
S M 14.7
Warum willst du absolut das #Speicher ein TEMP ist ??
... Mal abgesehen davon ob temp. Variable oder nicht aber so hat das Harald sicher nicht aufgeschrieben! Du schreibst immer den Inhalt von deinem MW 200 in deinen Speicher und das vor der Wortverknüpfung! Der Sinn dahinter ist ja dass du im Speicher dann deine geflankten Bits stehen hast.
Garnicht. Es geht nicht mit TEMP.Frage: Wie müsste ich das dann umschreiben, dass ich #speicher als TEMP so an dieser Stelle einsetzen kann?
Du kannst das Programm kürzen wie ein optimierender Compiler.Wenn ich das jetzt so mache, dann steht in der Temp-Variable ja kein zufälliger Wert mehr drin:
Code:L 0 T #speicher L #speicher INVI L MW 200 T #speicher UW U <>0 S M 14.7
Geht aber trotzdem nicht.
L 0
// T #speicher
// L #speicher
INVI
L MW 200
T #speicher
UW
U <>0
S M 14.7
Doch, das hat Harald genauso aufgeschrieben.... Mal abgesehen davon ob temp. Variable oder nicht aber so hat das Harald sicher nicht aufgeschrieben! Du schreibst immer den Inhalt von deinem MW 200 in deinen Speicher und das vor der Wortverknüpfung! Der Sinn dahinter ist ja dass du im Speicher dann deine geflankten Bits stehen hast.
Garnicht. Es geht nicht mit TEMP.
Der Sinn des Codes ist es, einen Zustand der jetzt vorliegt mit einem Zustand der vorher vorlag zu vergleichen. Um zu wissen, welcher Zustand vorher vorlag ist es unumgänglich, den Zustand vorher zu speichern, damit man ihn später (also jetzt) auswerten kann. TEMP kann aber nicht zuverlässig speichern.
Harald
Ok, das verstehe ich!
Wenn ich das jetzt so mache, dann steht in der Temp-Variable ja kein zufälliger Wert mehr drin:
Code:[COLOR=#ff0000]L 0 T #speicher [/COLOR] L #speicher INVI L MW 200 T #speicher UW U <>0 S M 14.7
Geht aber trotzdem nicht.
Frage: Wie müsste ich das dann umschreiben, dass ich #speicher als TEMP so an dieser Stelle einsetzen kann?
Grundsätzlich, mit in TEMP kann man nicht abspeichern zwischen Program-scans.Das ist nur eine Übung! Ich wollte das mit den TEMP-Var einfach nur mal verstehen...
Mir ist es klar, dass es auch über IN_OUT geht. Hätte es halt gerne über Temp versucht. Insofern muss es doch auch irgendwie über Temp machbar sein, oder nicht?
Doch, das hat Harald genauso aufgeschrieben.
Der Sinn ist tatsächlich, den Inhalt des MW200 in den Speicher zu schreiben und sich zu merken, nicht die geflankten Bits.
Harald
korrektOk dann wird wohl der Befehl "U <> 0" dafür verantwortlich sein das hier eine Flankenerkennung bemerkt wird
U <>0
U "VKE 0"
L #speicher
INVI
L MW 200
T #speicher
UW
U <>0
S M 14.7
L ACTUAL_WERT
L PROZENT
+I
T TEMP_WERT
L ACTUAL_WERT
L PROZENT_2
+I
T TEMP_WERT_2
L TEMP_WERT
L TEMP_WERT_2
T OUT
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?