Step 5 Vergleich von Zählerständen unter Step 5

Tüftlergeist

Level-2
Beiträge
45
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo in die Runde!

Ich hab nun eine Frage zu den Arithmetikfunktionen unter S5 (AG 95u).

Es sollen zwei Zählerstände verglichen werden und bei Überschreiten einer bestimmten Differenz ein Ereignis auslösen. Dabei kann Z1 >= Z2 aber auch Z2>=Z1 sein.

Das Zählen selbst ist dabei nicht das Problem, vielmehr das Handling der beiden Integerwerte mit den Artihmetikfunktionen.


Turbo Pascal :
max_diff:=5;
if abs(z2 - z1)>=max_diff then
begin
anweisung;
end else ...

Wie sieht die Umsetzung von […] in AWL aus?

[ABS(Z1-Z2)>=5]
S M 1.0 oder =A 33.0 o.ä.


[O (Z2-Z1) >= 5
O (Z1-Z2) >= 5]
= M 1.0 oder = A 33.0 o.ä.


Mir fehlt leider eine Art Referenzhandbuch zu Step 5. Hat jemand auch dazu eine Idee?
Herzlichen Dank!

Gruß
Andreas
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
:L Z1
:L Z2
:-F
:T MW200
:O(
:L MW200
:L 5
:>=F
:)
:O(
:L MW200
:L -5
:<=F
:)
:=M202.0

So, oder so ähnlich könnte das funktionieren.
Der M202.0 stellt den Zustand dar, also ob die Differenz der Zähler >=5 ist.
Wenn man daraus eine Flanke bilden will, bleibt einem das selbst überlassen.
 
Vielen Dank für den Handbuchlink!Und den Code! Funktioniert, wenn man in der Zeile „L 5“ noch ein „KF“ zwischen L und 5 einfügt. War wohl wieder S7-Syntax…

Mir war das mit den Lade- und Transferbefehlen nicht klar.
Wer was zum Lesen hat ist klar im Vorteil ...

Ich habe ein wenig herum probiert:

Man kann auch vom OB1 aus z.B. FB3 und FB4 mit SPA aufrufen


FB3:
:L Z 2
:L Z 1
:-F
:T AW 13
:L AW 13
:L KF +20 //oder was auch immer
:>=F
:S A 33.0 //oder was auch immer
:BE

FB4:
:L Z 1
:L Z 2
:-F
:T AW 12
:L AW 12
:L KF +20 //oder was auch immer
:>=F
:S A 33.0 //oder was auch immer
:BE

Ist etwas umständlich, funktioniert aber auch…
 
t, wenn man in der Zeile „L 5“ noch ein „KF“ zwischen L und 5

drum schrieb ich: "so, oder so ähnlich"
:D

ABER:
als Zwischenergebnis das AW12 oder AW13 zu verwenden ist schlimm (nein, ganz schlimm)!
Erstens ist AW13 Teil von AW12 und daher zu vermeiden, und zweitens, und vor allem, greift es auf die Peripherie zu!
 
Zurück
Oben