Step 7 Frage zu Awl Code

MatthiasNm

Level-1
Beiträge
19
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich arbeite mit dem Simatic Manager mit der Version 5.5 SP4. Ich versuche einen AWL Code zu verstehen. Dieser lautet:

m001: NOP 0
O M0.1
U E0.1
SPBN m002
L DB2.DBX1.0
T DB3.DBX1.0

Der untere Teil ist mir klar "lade und transferiere DB2.DBX1.0 nach DB3.DBX1.0. Die Sprungmarke ist auch klar, springe wenn nicht. Aber warum steht ganz am Anfang NOP 0? Und die Oder Verknüpfung steht ganz alleine da. Wie lautet der Befehl in KOP?

Gruß
 
Moin MatthiasNm,

das ist wahrscheinlich nur wegen der Übersichtlichkeit gemacht worden.
Nach einer Sprungsmarke muss zwingend in der gleichen Zeile eine Operation stehen.
Hier steht eine 0-Operation (Nop 0). Die macht gar nichts. Nur wollte man wohl "O M0.1" nicht in der gleichen Zeile stehen haben.
Ist eine Frage der eigenen Vorlieben.

VG

MFreiberger
 
sollte man nicht 2 ODER Befehle schreiben? Also A ODER B .. dann ... Hier steht aber als nächstes ein UND. Wie ist das gemeint?
ACHTUNG. Das ist eine UND-Verknüpfung! Wenn schon gleich machen dann 2x UND.
Bei einer VKE-Verknüpfung in S7 ist es egal, ob die erste Anweisung U oder O oder X heißt, da wird nur der Wert ins VKE geladen (Erstabfrage! siehe Statusbit /ER)

Vielleicht standen da mal mehrere O und die wurden weggelöscht bis nur noch eine Zeile stand?? Oder der Programmierer hatte so eine Vorliebe für O... meistens sieht man aber, daß grundsätzlich mit U begonnen wird, ist aber wie gesagt egal.

Harald
 
Moin MatthiasNm,

die Operation verknüpft das vorhergehende Verknüpfungsergebnis (VKE) mit dem Operanden.

Also:
O M0.1 veroder M0.1 mit dem Ergebnis der vorherigen Verknüpfung.
U E0.1 verundet E0.1 mit dem Ergebnis der vorherigen Verknüpfung.

Also:
Das ODER bezieht sich auf die vorherige Verknüpfung.
Das UND verundet E0.1 dazu. Offensichtlich soll E0.1 nicht verodert werden, deshalb steht da nicht O E0.1

VG

MFreiberger
 
Zuletzt bearbeitet:
Zurück
Oben