Binäre Konstante

manas

Level-1
Beiträge
128
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
wie bekannt kennen AWL, FUP, KOP und GRAPH kein FALSE bzw. TRUE. Oft werden am OB1-Anfang dafür zwei Merker benutzr (z.B. SET = "HI" ; NOT "HI"="LO") wobei z.B. "HI" =>M0.1, "LO"=>M0.0. Hab letztens in einem Programm nach Fehler gesucht und da stelle sich heraus dass an einer Stelle im Programm der Merker "HI" einfach zurückgesetzt wurde. Meine Frage : kann eine Binäre Variable (Merker) als Konstante deklariert werden? Dann kann sie nicht so einfach aus Versehen überschrieben werden.
Danke
Gruß
manas
 
Nein, Konstanten und ähnliches sind im Plan von Siemens nicht vorgesehen.
Du kannst zwar den Programmierer der das getan hat, einen Arschtritt verpassen,
aber verhindern kann man sowas nur durch "Selbstdisziplin".

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo manas,

wenn Du den low und high folgender maßen definierst kann es doch zu keinem überschreiben kommen. Oder:confused:

U M0.0
UN M0.0
= M0.0 (low)

O M0.1
ON M0.1
= M0.1 (high)

Gruß
Sven
 
bin. Konstante

hallo Manuel, hallo Swen.
Danke für euer feedback.
Swen, das funktioniert nur biz zum nächsten (in Aufrufreihenfolge gesehen) Netzwerk, in dem die oben werwendete Merker überschrieben werden können. Das auch der Fall war.
Danke
Gruß
manas
 
OK, aber wie bekommst Du damit den hi auf lo und den lo auf hi ?
Das verstehe ich noch nicht so ganz...

Gruß
Sven

Das war ein Beispiel von zotos. Soll zeigen, daß an jeder Stelle im Programm der "Low-Merker" wieder auf High gesetzt werden kann. Hier mit einer 1 an Eingang 0.0 Im restlichen Programm nach der neuen Zuweisung wäre der "Low-Merker" dann High. Bis das Programm wieder an deiner Anweidung vorbeikommt und der "Low-Merker" wieder auf Low gebracht wird.
 
Also ich schreibe meine Anweisung in den OB1, dann wir irgendwo im Programm der low-Merker auf high gesetzt. Ist es denn nicht so das vor jedem Zyklus ein Abbild genommen wird und dadurch die von mir verwendete & Verküpfung ein high Signal am low-Merker verhindern würde?
In etwa so wie bei einem SR Filp Flop der R Vorrang hat.

Gruß
Sven
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich schreibe meine Anweisung in den OB1, dann wir irgendwo im Programm der low-Merker auf high gesetzt. Ist es denn nicht so das vor jedem Zyklus ein Abbild genommen wird und dadurch die von mir verwendete & Verküpfung ein high Signal am low-Merker verhindern würde?
In etwa so wie bei einem SR Filp Flop der R Vorrang hat.

Gruß
Sven

Nein, das ist nicht so, zumindest bei der S5 und S7 nicht. Das SPS-Programm wird linear abgearbeitet, immer eine Anweisung nach der Anderen. Wenn mitten im Programm Daten geändert werden, dann wirkt sich das auf alle folgenden Operationen aus, die mit diesen Daten weiterarbeiten. Ist das Programm am Ende angelangt, geht es am Anfang des OB 1 weiter. Das ist wie ein Ring, das Ende des OB1 ist mit dem Anfang des OB 1 verknüpft, vereinfacht und bildlich ausgedrückt.
 
Danke Ralle

ich habe es jetzt verstanden, war ein gedanken Fehler von mir. Habe es auch mal im Step 7 mit PLCSIM getestet.

U M0.0
UN M0.0
= M0.0

U E0.0
= M0.0

U M0.0
S M0.2

Beim betätigen von E0.0 wird M0.0 high und setzt M0.2
Das ist jetzt bei mir angekommen:)


Aber gibt es denn eine Möglichkeit "Sichere" low und high Merker zu bilden?

Gruß + Danke
Sven
 
...
Aber gibt es denn eine Möglichkeit "Sichere" low und high Merker zu bilden?
...

Da Step7 keine selbst definierten Konstanten kennt, kann man sich keine Symbolischen Konstanten bauen.

Aber das Thema hatten wir vor wenigen Tagen schon mal auch wenn es sich da speziell auf SCL (S7) bezogen hat: http://www.sps-forum.de/showthread.php?t=17626

Wobei Step7 in SCL TRUE und FALSE anbietet was einem sicheren High und Low entspricht.

Warten wir auf Sepp9 oder eine Sepp7++ ;o)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wobei, das nur der Vollständigkeit halber, es in AWL auch sowas ähnliches wie High/Low Konstanten gibt.

In Verknüpfungen wären da SET/CLR,
und bei FB-Aufrufen funktioniert sogar TRUE/FALSE.

Mfg
Manuel
 
...
wie bekannt kennen AWL, FUP, KOP und GRAPH kein FALSE bzw. TRUE.
...

Einen Bausteinaufruf kann ich mit FALSE bzw. mit TRUE beschalten. In AWL nutze ich SET bzw. CLR, wenn ich das VKE mal zwischendurch irgendwo forcen will/muss. Ich persönlich habe schon lange den Null- und Einsmerker abgeschafft.

EDIT: Himmel, schreibt der Manuel schnell ...
 
Zuletzt bearbeitet:
Zurück
Oben