easy-forum
Deutsch - Software => easySoft => Thema gestartet von: isi am August 14, 2006, 11:02:27 Vormittag
-
Hallo,
Als Programmzähler oder "State counter" verwende ich ein Merkerbyte. Je nachdem, wohin ich in meinem Programm will, setze ich diesen Programmzähler auf einen bestimmten Wert.
Nun gibt es Ereignisse, die automatisch einen Zustandswechsel auslösen sollen und den Programmzähler um 1 erhöhen sollen. So erscheint dann z.B. eine andere Maske (MFD).
Wenn es nur ums Inkrementieren geht, ist es einfach:
Zählerbaustein C, vorne und hinten das gleiche Merkerbyte "anhängen", dann wird dies jeweils mit einem Impuls erhöht.
Wenn ich aber zwischendurch manuell umschalten möchte (mit Tastatur), d.h. ich möchte dieses Merkerbyte auf einen festen Wert setzen, dann funzt es nicht mehr. Und zwar genau wegen diesem Loop mit dem Zählrelais: Dieses setzt nämlich das Byte nach kurzer Zeit wieder auf den ursprünglichen Wert zurück.
Kurz: Wie kann ich ein Merkerbyte so verdrahten, dass ich es sowohl mit einem (automatisch ausgelösten) Impuls inkrementieren als auch manuell auf einen festen Wert setzen kann?
Danke und Gruss, Ismar
-
Hallo isi
Das ist mit Überspringen der Bausteine möglich. Siehe Demoprogramm:
I1: Zählt das MW10 im Zähler hoch.
I2 Ein: Setzt das MW10 auf den Wert von 100 (I1 wird stillgelegt)
I2 Aus: Im MW10 ist wieder der Wert vom Zähler.
Achtung:
Der Zähler muss nicht nur im Programm, sondern auch in der Bausteinansicht übersprungen werden. Absprung: JC, Sprungziel, LB. Siehe Bilder im Anhang.
Gruss
KressSwiss