Wo ist der Unterschied?

ck.poorboy

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde,

ich muss mich in ein ProConOS Porojekt reinfuchsen, welches allerdings in AWL programmiert ist.
Dank diverser Internet Seiten habe ich viele Anweisungen verstanden.
Aber kann mit bitte einer erklären was folgende CodeZeilen bedeuten bzw. warum man das so macht?

LD TRUE
AND "irgendein Merker"
JMPC "irgendwohin"

Vielen Dank schonmal im Voraus
 
Hallo,

Nicht alle Hersteller unterstützen das Abfragen von nur einer einzigen Bedingung:

Code:
LD "Merker1"
JMPC "Sprungmarke"


Wenn Dein Hersteller das so nicht kann, könntest Du den "Merker1" mit sich selbst verknüpfen:

Code:
LD "Merker1"
AND "Merker1"
JMPC "Sprungmarke"

Damit hättest du das Verhalten wie der von Dir gezeigte Code.
Aus Gründen der Lesbarkeit würde ich dann aber auch den ersten Merker durch den Boolschen Zustand "TRUE" ersetzen - das ändert die Funktion nicht, zeigt aber, das das Verknüpfungsergebnis nur von einem Merker abhängt.
Und schon bist Du bei Deinem Code-Schnipsel :D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Statt TRUE könnte früher mal ein anderes Signal/Merker gestanden haben, das weggefallen ist und (provisorisch und dann vergessen?) durch TRUE ersetzt wurde. Vielleicht wollte sich der Programmierer damit Test-Eingriffsstellen kennzeichnen. Vielleicht läßt sich der Programmcode dadurch besser beobachten, weil bei der neuen Verknüpfung zunächst 1 im Status angezeigt wird.

Oder es ist ein Unwissenheits-"Angst"-TRUE (kommt dieses Konstrukt öfters vor?), so wie manche Programmierer bei anderen Programmiersystemen auch OR-Verknüpfung mit UND beginnen, weil sie mal gehört haben, daß man das angeblich so tun muß (oder bei mehreren Verknüpfungen in einem S7-Netzwerk grundsätzlich SET dazwischenschreiben).

Harald
 
Zurück
Oben