TIA TRUE und FALSE für Bitverknüpfüngen im F-Programm

PLCOsman

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

wisst ihr wie man TRUE und FALSE für Bitverknüpfungen verwenden kann bei Sicherheitsprogrammen? Im Step7 V5.5 hat man dafür auf Variablen VKE0 und VKE1 über einen vollqualifizierten DB-Zugriff zugegriffen (F-GLOBDB.VKE0 bzw. F_GLOBDB.VKE1).
F_GLOBDB.VKE0 und F_GLOBDB.VKE1 wurde nun bei den s7-1500er Steuerungen ersetzt durch TRUE und FALSE. Die Verwendung klappt auch soweit ganz gut wenn es um Bausteinaufrufe geht, doch wenn ich im F-Programm eine Bitverknüpfung habe kann ich TRUE und FALSE nicht verwenden und F_GLOBDB.VKE0 und F_GLOBDB.VKE1 gibt es ja nicht mehr.

Zu diesem Problem steht im SimaticSafety Handbuch:
" Wenn Sie für Bitverknüpfungen die boolsche Konstante 1 benötigen, können Sie den
entsprechenden Eingang der Bitverknüpfung mit der Anweisung "Zuweisung" verschalten.
Lassen Sie den Boxeingang der Anweisung "Zuweisung" in FUP unverschaltet."

bzw.

"Wenn Sie für Bitverknüpfungen die boolsche Konstante 0 benötigen, können Sie den
entsprechenden Eingang der Bitverknüpfung mit der Anweisung "Zuweisung" verschalten.
Negieren Sie den Ausgang der Anweisung "Zuweisung". Lassen Sie den Boxeingang der
Anweisung "Zuweisung" in FUP unverschaltet."

Nur damit kann ich nicht wirklilch viel anfangen. Ich könnte mir natürlich auch ein TRUE und FALSE temporär deklarieren nur möchte ich das nicht wirklich gerne weil es sich um ein Sicherheitsprogramm handelt und ich mir nicht sicher bin, ob das auch so erlaubt ist.

Um mein Problem etwas zu verdeutlichen habe ich im Anhang ein Bild eingefügt.

LG
PLCOsman
 

Anhänge

  • Unbenannt2.PNG
    Unbenannt2.PNG
    23,5 KB · Aufrufe: 386
warum nicht einfach so
 

Anhänge

  • Zwischenablage03.jpg
    Zwischenablage03.jpg
    37,4 KB · Aufrufe: 606
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker,

vielen Dank für deine Antwort. Deinen Vorschlag kenne ich schon, nur wollte ich das ungern so umsetzen da es sich um ein Safety-Programm handelt und ich nicht weiß ob das so erlaubt ist.
Aufjedenfall habe ich die Lösung gefunden. Hab es schließlich so umgesetzt wie Siemens es beschrieben hat :) (siehen Anhang)

MfG
PLCOsmanTrueFalse.PNG
 
Ich bin heute heute über das selbe Problem gestolpert, weil ich mich nun leider auch mit TIA befassen muss. Nachdem mein Kopf sich vom Schütteln darüber erholt hat, dass man die SUPERTOLLEN NEU ERFUNDENEN BOOLSCHEN KONSTANTEN 'TRUE' UND 'FALSE' NICHT für binäre Verknüpfungen verwenden darf, habe ich ebenfalls nach einer sinnvollen Lösung gesucht. Die Empfehlung von Siemens ist für mich schon allein deshalb völlig inakzeptabel, weil sie für KOP nicht funktioniert.:) Daher gefällt mir Volkers Lösung wesentlich besser. Für mich steht die Frage 'im Safety-Programm ERLAUBT' eigentlich nicht. Ich glaube, wenn ich Bits aus eigenem Safety-Datenbaustein benutze, welche permanent (da 'Safety-OB1') auf 'FALSE' bzw. 'TRUE' gehalten werden, dann kann nach menschlichem Ermessen nicht viel schief gehen. Sicher könnte man im eigenen Safetyprogramm 'mutwillig' die Bits falsch zuweisen - von da an wären sie dann im restlichen Safetyprogramm falsch, aber dafür wäre ich ja dann auch selbst verantwortlich. Optimal wären natürlich noch schreibgeschützte Bits im eigenen DB... Oder, wer ganz auf Nummer sicher gehen will, der muss eben statt VKE0 die UND/UND_NICHT-Lösung für irgendein Bit/Bool direkt ins Programm schreiben, statt VKE1 dann ODER/ODER_NICHT ;-) Mit freundlichen Grüßen Udo123884
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
beschäftige mich erst seit kurzem mit Tia und fand diesen interessanten Beitrag.Wo habt ihr diese Bausteine erzeugt? In jedem Safety Baustein wo er bebraucht wird oder wo?Als was sind diese deklariert Temp oder Stat

Gruß C+P
 
Hallo,
ich beschäftige mich erst seit kurzem mit diesem Thema. Es geht doch um eine s7-1500er Steuerung. Ich finde keinen "F-Allgemein" wie bei der s7-300er. Soll man, wie C+P sagt, in jedem F-Baustein als Lokal es erzeugen? Die Lösung von Volker funktioniert bei mir nicht.
Danke im Voraus!
 
Man kann das Ganze auch auf Hardwareeben machen, indem man einfach einen äquivalenten fehlersicheren Eingang als "True" nimmt. Sprich eine 24V Brücke auf einen Eingang. Dann hat man ein Inbetriebnahme-True und beim ziehen der Brücke wird es automatisch deaktiviert.
 
Das würde ich auf keinen Fall so machen und ist auch grob fahrlässig. Man darf keinesfalls in einem F-Programm irgendwelche Inbetriebnahme Merker verwenden. Man kann ja nicht einfach die Merker entfernen, die Prüfsumme würde sich ändern und somit wäre eine erneute Abnahme erforderlich.
Außerdem würde dann einfach alles wieder gesetzt werden wenn, aus welchem Grund auch immer, plötzlich wieder 24V an dem Eingang anliegen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo PLCOsman,
warum bist du der Meinung, dass die Verwendung von "true" oder "false" im F-Programm bei Bit-Operationen nicht funktioniert?
Ich sehe hier kein Problem.

mfg IB_techniker
 
Zurück
Oben