Step 7 S7 FUP Variablen zeigen falsch an

whsbremen

Level-1
Beiträge
13
Reaktionspunkte
0
Ich vergebe mit Hilfe von Merkern und dem Move Baustein Werte an eine bestimmte Variable( zb MW1) die Werte stimmen bei der ersten Variable, sobald ich aber zb MW2 erstelle werden die Werte reingeschrieben jedoch stimmen sie in der Beobachtungstabelle nicht(stimmen Nur bei der ersten Variable).Woran könnte das liegen ? Ich programmiere mit FUP..
 
Das liegt daran das MW2 ein Teil von MW1 ist...die Adressen werden Byteweise gezählt!
Du kannst also nur "jedes 2. Wort" verwenden.
MW1 besteht also aus Byte 1&2, daher kannst du erst wieder MW3 verwenden. (Wobei ich bei 0 beginnen würde)

Edit: Da war wohl wer schneller. :p
 
Ich vergebe mit Hilfe von Merkern und dem Move Baustein Werte an eine bestimmte Variable( zb MW1) die Werte stimmen bei der ersten Variable, sobald ich aber zb MW2 erstelle werden die Werte reingeschrieben jedoch stimmen sie in der Beobachtungstabelle nicht(stimmen Nur bei der ersten Variable).Woran könnte das liegen ? Ich programmiere mit FUP..

Einzelne Merker von MW1 (MB2) überschreiben das MW2.
Besser nur gradzahlige Anfangsadressen verwenden.
Bsp. MW0, MW2, MW4 ... etc.


Gesendet von iPhone mit Tapatalk
 
Im Zweifelsfall wird immer die Funktion "Go to location" empfohlen. Es zeigt auch die Verwendung (Read/Write) von Bereichen wie Bits, Bytes, Words, ...
 
Ja, ein sehr hilfsbereites Forum! Wenn man nicht gerade erwartet das einem die ganze Arbeit abgenommen wird. ;)

Was die Adressierung betrifft: über kurz oder lang hat sich jeder mal mit der Thematik beschäftigt oder ist gar darüber gestolpert.
Viel schlimmer ist dann noch die Bytereihenfolge. :rolleyes:

Falls du dann mal mit Double Integer oder Real arbeitest: Da sind es dann natürlich 4er Sprünge. :ROFLMAO:
 
Im Zweifelsfall wird immer die Funktion "Go to location" empfohlen. Es zeigt auch die Verwendung (Read/Write) von Bereichen wie Bits, Bytes, Words, ...

Gehe zu Verwendungsstelle heißt das! :ROFLMAO:

Ich verwende auch sehr gerne die Referenzdaten- Belegungstabelle, da sieht man es auch grafisch:
belegung.PNG
 
Das Programm läuft mittlerweile ganz gut ( soll ein Automatischer Kabelprüfer werden der alle möglichen Fehler wie : Kurzschluss ,Ader nicht Angeklemmt und Ader mit einer anderen Vertauscht anzeigen soll)

5 meiner Variablen MW30,MW32....MW40 setzen sich aber nicht zurück obwohl keine 1 mehr am Eingang anliegt.
Sind die Variablen ab 30 irgendwie nicht zurücksetzbar? alle anderen Funktionieren..oder könnte es ein anderer denkfehler sein

danke schonmal

Danke schonmal
 
Ich schreibe mit dem Move Baustein eine zahl in eine Variable, diese ist mit dem E/A Feld verknüpft und gibt einen bestimmten Text aus bei verschiedenen Fehlern, das klappt auch aber die Zahl setzt sich nicht zurück obwohl der Merker der vor dem Move Baustein geschaltet ist 0 ist.
Bei ein paar move bausteinen setzt er es jedoch zurück ^^ obwohl alles gleich ist.
 
Wenn die Bedingungen die in deiner Screenshots MW12 beschreibt nicht mer erfüllt sind, wird MW12 nicht mehr beschreibt.
D.h. das Einhalt von MW12 wird behalten, bleibt unverändert.
Du musst überlegen unter welche Bedingungen MW12 zürüchgesezt werden soll, und dementsprechend programmieren.

edit: Vielleicht habe ich es falsch verstanden.
bei dem ersten Bild wird die Variable zurückgesetzt, bei dem zweiten nicht..man sieht jedoch kein unterschied
Was meinst du mit "zurückgesetzt" ?
Meinst du auf 0 ?
In ersten Bild wird MW12 mit 11, 12 oder 13 beschrieben, kein 0.
Kannst du eventuell ein Bildaufnahme machen wenn online, so das man sehen kann was du meinst.
 
Zuletzt bearbeitet:
Bemerk das MW12 mit dieser Merkeraddressen auch überlappt:

M12.0 .. M13.7
MB12
MB13
MW11 (*)
MW13 (*)
MD9 (*)
MD10
MD11 (*)
MD12
MD13 (*)

Schreibst du eventuell zu einer von dieser Adressen ?

*: 'Faule' ungerade INT und DINT Adressen sollte vermeidet werden.
 
Zuletzt bearbeitet:
Zurück
Oben