TIA Datenaustausch Sicherheitsprogramm mit Standardprogramm

Andy79

Level-2
Beiträge
153
Reaktionspunkte
20
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe eine Frage zum Datenaustausch zwischen Standard- und Sicherheitsprogramm unter TIA.
An verschiedenen Stellen habe ich gelesen dass man dies idealerweise über Datenbausteine handhabt um die Programme sozusagen sauber voneinander zu entkoppeln. Soweit so gut.
Wie sieht das nun idealerweise in der Praxis aus?
Ich lege einen nicht sicheren DB mit meinen benötigten Signalen an (z.B. Not-Halt ausgelöst für die Bildung einer Störmeldung) und verknüpfe diese in meinem Standardprogramm.
Wo übertrage ich nun die Signale aus meinem F-DB in den nicht sicheren DB? Mach ich dies im Sicherheitsprogramm, oder im Standardprogramm?
Und umgekehrt wo übertrage ich meine nicht sicheren Signale in den DB für das F-Programm.
Aktuell greife ich im Standardprogramm lesend auf meine F-DB´s zu, was prinzipiell auch funktioniert, aber nach dem was ich so gelesen habe als unsauber gilt.

Ich bedanke mich schon mal im voraus für etwaige Ratschläge.

Gruß Andy
 
Also ich muss dir sagen, dass es bei meinen Steuerungen bislang immer nur einige wenige Signale zwischen dem Standard-Programm und dem Safety-Teil zu übertragen gab. Das habe ich dann mit Merkern erledigt.
Lesend auf die F-DB's zugreifen gibt keinen Stress mit dem Safety-Teil - bei Schreibend ist das schon etwas Anderes - machen tue ich beides nicht. Die F-DI's benutze ich allerdings schon durchaus auch im Standard-Programm für Verriegelungen etc.
Wie du es letztendlich machst liegt aber bei dir.

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Andy

Wir handhaben das bei unseren Anlagen so, dass wir für Signale vom Standardprogramm ins Safetyprogramm einen DB (Standard) anlegen und darin all die Signale für diese "Richtung"definieren. Die SIgnale werden dann im Standardprogramm einmalig zugewiesen und im Safetyprogramm nur lesend darauf zugegriffen.
Für die Signale in die andere Richtung (Safety nach Standard) ist es eigentlich gerade umgekehrt. Dafür legen wir FDBs an, welche vom Safetyprogramm geschrieben und vom Standardprogramm ausschliesslich gelesen werden (z.B. für Störungsmeldungen). Bisher haben wir damit eigentlich keine Probleme gehabt.
Es ist einfach zu berücksichtigen, dass die Standard-DBs nicht dauern geändert werden sollten, da ansonsten das Safetyprogramm auch wieder neu übersetzt und übertragen werden muss. Und das ist bei einer laufenden Anlage eher suboptimal.

Gruss Thomas
 
Danke für die Rückmeldungen.
Ich hatte eigentlich eher den Gedanken die Signale vom Sicherheitsprogramm für das Standardanwenderprogramm auch in einem Standard-DB abzulegen und somit alles Gelbe im Standardanwenderprogramm zu eliminieren.
Finde das irgendwie sauberer.
Im Siemens Handbuch steht leider auch nicht wie es konkret sauber programmiert wird:

Entkopplung des Sicherheitsprogramms vom Standardprogramm

Wir empfehlen Ihnen für den Datenaustausch zwischen Standardanwenderprogramm und Sicherheitsprogramm spezielle Datenbausteine (Übergabe-Datenbausteine) zu definieren, in denen die auszutauschenden Daten abgelegt werden. Durch diese Maßnahme haben Sie die Bausteine des Standard- und des Sicherheitsprogramms entkoppelt. Solange diese Datenbausteine nicht verändert werden, wirken sich Änderungen im Standardprogramm nicht auf das Sicherheitsprogramm (und umgekehrt) aus.

SIMATIC Safety - Projektieren und Programmieren
Programmier- und Bedienhandbuch 03/17
 
Sauber ist es wenn es sich an die Spielregeln hält UND nachvollziehbar ist. Ob mit Merkern oder einem DB ist dabei Banane ... Und, wie schon geschrieben : mit den F-DB's selber würde ich im Standard-Programm nicht arbeiten (auch wenn lesender Zugriff kein Problem ist).

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sauber ist es wenn es sich an die Spielregeln hält UND nachvollziehbar ist. Ob mit Merkern oder einem DB ist dabei Banane ... Und, wie schon geschrieben : mit den F-DB's selber würde ich im Standard-Programm nicht arbeiten (auch wenn lesender Zugriff kein Problem ist).

Gruß
Larry

Nein das ist nicht Banane.

Der F Compiler hat ein sehr spezielles verhalten zu Merkern. Weshalb die Syntax diesen auch immer rot markiert und ständig drauf hinweißt das einer verwendet wird. Es wird heutzutage als unsauber betrachtet Merker zu verwenden. Zumal Wenn Merker in Safety verwendet werden immer in ganzen Speicherbereichen getrennt wird. Wenn man das nich genau Dokumentiert wird das sehr schnell unübersichtlich.

Die elegentere Lösung sind da tatsächlich die DBs die man klarersichtlich als "Transfer" DBs definieren kann, da sie entweder nur lesend oder nur schreibend verwendet werden dürfen.

Merker sind ein relikt aus der Vergangenheit.

Das stellt natürlich nur meine persönliche Erfahrung und Meinung da :cool:
 
Geht eigentlich der Zugriff mit Simatic Safety (TIA) auf 'normale' DBs auch bei S7-300/400 oder nur bei den neuen S7-1200/1500 unter TIA?

Unter Distributed Safety kam man um Merker ja nicht herum, dort gab es ja aber auch nur S7-300/400

Gruss,
Michael
 
Umgesetzt habe ich es jetzt wie folgt:

Einen F-FC für das Übertragen der sicheren Signale vom F-Programm in einen normalen DB. Auf diesen DB greift das Standardprogramm zu um Störmeldungen zu bilden etc. . Dies könnte im Prinzip auch ein normaler FC sein, bin mir nicht sicher was hier besser ist.
Dann habe ich einen weiteren F-FC für das Übertragen von Signalen aus dem Standardprogramm in einen F-DB für das F-Programm.
Die DB´s sind entsprechend als Transfer-DB´s gekennzeichnet.
Somit habe ich im Standardprogramm nur "noch weiße" Variablen, im F-Programm nur noch "gelbe".
Nicht sichere Signale sind nun allerdings im F-Programm nicht mehr auf den ersten Blick als solche zu erkennen. Ist das eine gute Idee?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe es einfach so gemacht:
Die paar Sachen die ich aus dem Safety-Bereich brauche packe als Kopie in einen F-DB und die Sachen die ich vom Standard Bereich brauche in einem normalen DB (also wie oben schon beschrieben). Ich weis nicht was daran unsauber sein soll. Wobei bei den Standardvairablen das die DB sind die ich eh auch für anderen "Merker"/Daten benötige. Ich sehe keinen Sin darin die extra noch mal in einen anderen DB zu kopieren.
Mir ist nur wichtig, dass ich auf die safe-Daten nur als Kopie drauf zugreife.

Ich finde es gerade gut wenn ich jeweils sehe welches Signal safe ist oder nicht.
Wenn du es umkopierst damit alles gleich aussieht hast du nur einen optischen Vor- oder Nachteil. Je nachdem wie man es betrachtet. ich denke as hat schon eine Berechtigung wenn du im safety-Programm gleich erkennst welches nur eine Standardvariable ist und umgekehrt.
 
Zurück
Oben