ich definiere meinen Merker so:
U S1
S M0.0
UN S1
R M0.0
=A0.0
Wieso ist das unlogisch ?
es geht halt drum dass ich den Merker mit ein und demselben Eingang setze und wieder zurücksetze. Das soll wohl unlogisch sein.
WER sagt, daß das unlogisch ist? Das ist nicht unlogisch sondern umständlich.
Oder tut dieses Programm nicht das, was Du erwartest?
(M0.0 hat immer den gleichen Zustand wie S1 / A0.0 hat immer den invertierten Zustand wie S1)
Könntest Du vielleicht mal in UMGANGSPRACHE erklären, was Du eigentlich tun willst (OHNE die Worte "Setzen" und "Rücksetzen" zu benutzen!)?
Meine Glaskugel hat zwei Vorschläge:
GK_1) Solange ich einen Taster drücke soll eine Lampe leuchten.
Dann wäre dies die Standardlösung:
Wozu ist dann aber der M0.0 ???
ähm ja mag sein. Aber jetzt setzt du ja einen Ausgang !! das heißt ein Lämpchen leuchtet obwohl du das ja eigentlich nicht willst !
eigentlich wollte ich ja nur den Merker setzen .
Dann laß doch das =A0.0 einfach weg. Was soll der A0.0 in Deinem Code?
GK_2) Ein Merker soll den gleichen Zustand wie ein Taster an einem Eingang haben.
Dann wäre dies die Standardlösung:
klar wenn ich einen Ausgang verwende wird der durchgeschaltet/ gesetzt
=A0.0 ist kein Setzen, sondern eine
Zuweisung, die IMMER ausgeführt wird. Der Zustand des VKE an der Stelle wird A0.0 zugewiesen. Ist das VKE 0, dann wird auch eine 0 an den A0.0 zugewiesen.
Setzen und Rücksetzen hingegen werden nur BEDINGT ausgeführt; nur wenn das VKE an der Stelle 1 ist. Wenn das VKE 0 ist, dann werden Setzen und Rücksetzen nicht ausgeführt und der A0.0 behält seinen Zustand den er gerade hat.
Im übrigen halte ich dieses Denken in Setzen und Rücksetzen für saublöd, weil das regelmäßig in solchen Stilblüten endet:
Den für diese Funktion vorgesehenen Standardcode siehe GK_2.
Harald
PS: Hast Du immer noch keine Zeit bekommen, Dich mal mit den Grundlagen von SPS zu beschäftigen oder hast Du einfach keine Lust dazu?
PPS: An verschiedene Stellen meines Beitrags gehören noch verschiedene Smileys - doch dazu habe ich jetzt keine Lust.