Datenaustausch Standartanwendung mit Failsafeanwendung

Smurf

Level-1
Beiträge
19
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich hätte mal eine kurze Verständnisfrage. Ich hab in der Anleitung zu Distributet Safety gelesen das ich nur Daten zwischen der Standartanwendung und dem Sicherheitsteil austauschen darf, wenn ich sicherstelle, das sich die Daten während der Abarbeitung des Sicherheitsteils nicht Ändern. Ist das so korrekt? Oder hab ich da etwas missverstanden?

Ich habe eine 315F-2DP. Und den F-Call rufe ich über einen OB35 auf. Meines Wissens nach wird dieser alle 100ms ausgeführt und unterbricht den OB1 (also die Standartanwendung). Dann könnte ich doch zum Anfang des Sicherheitsteils einen DB in einen F-DB kopieren, im Sicherheitsteil mit dem F-DB arbeiten und ihn nach dem Sicherheitsteil, quasi als letzte Operation, wieder zurückschreiben oder? Oder verletzte ich damit die Sicherheitsregeln?

Schonmal danke für Eure hilfe,


mfg
Smurf

Hardware: 315F-2DP
Software: Step 7 V5.4 SP4; Distributed Safety Programming V5.4 SP5; S7 F ConfigurationPack V5.5 SP6 HF1
 
Also ich habe mir immer Koppelmerker geschaffen, um Daten zwischen den beiden Anwendungen auszutauschen.
Bei der generierung deines F-Teils wird aber glaube ich auch eine Meldung ausgegeben, wenn dein F-Teil nicht den Sicherheitsrichtlinien entspricht. Also es taucht dann nicht die Meldung "Sicherheitsbetrieb aktiv" nach einer Generierung auf.

Nebenbei bemerkt, es ist der Standard. "Standart" war etwas anderes ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi Mecki

stimmt... meinte auch Standard. War schon etwas zu lange auf der Arbeit gestern ;-)

Also beim Generieren gibt das Programm keine Fehler. Hab nur Warnungen, aber da geht es um die Wiedereingliederung von I/Os. Das hat dann damit nichts zu tun. Das Programm kann ich auch in den Simulator laden und der geht auch nicht in Stop.

Die Daten die ich zugäglich machen will sind Daten wie zum Beispiel Störmeldungen und Alarme. Oder Werte durch die Bedienung von WinCC geschrieben werden. Das ganze wurde in dem alten System durch einen Merkerbereich realisiert. In der S7 hab ich einen DB angelegt um die Informationen mit passendem Namen zu speichern. Da es sich um ca 256 Bytes an Daten handelt wollte ich das nicht alles in die Merker schreiben.

mfg
Smurf
 
Die ganze Geschichte funktioniert aber auch nur wenn die Daten im F-Teil geschrieben und im S-Teil gelesen werden.
Im F-Teil kannst du keine S-DBs lesen oder schreiben, im S-Teil darfst du keine F-DBs schreiben.
 
Also so wie ich es mir Gedacht habe, funktioniert es auch nicht. Hab die Steuerung geladen und getestet. Aber die geht bei gewissen Aktionen in Stopp und sagt das die Daten Manipuliert werden. Ich kann aber die Bits in einen Merker schreiben und sie mir von dort abholen. Dann geht die CPU auch nicht in Stop. Jetzt die Frage, ist es dann noch zulässig?

Also ich hab die Situation das der Einschaltbefehl für ein Ventil aus einem Touchpanel kommt. Das Ventil darf aber nur geöffnet werden wenn bestimmte Sicherheitkreterien erfüllt sind... z.B. der Druck darf nicht zu hoch sein. Der Eingang für den Druckgrenzwert und der Ausgang für das Ventil liegen auf der F-Perepherie. Das Auf-Signal liegt im Standartprogramm in einem DB. Ich wollte mir jetzt das Signal welches ich zum Aufsteuern des Ventils benötige auf einen Merker legen und im F-Programm dann in einen F-DB legen und damit die weitere Verschaltung machen. z.B.

Code:
[I]F-FC200: Füllen des F-DB[/I]
//----------------------------------------------
U M 0.0             // Befehl "Auf" aus Standardteil/Panel (MP 370 Touch)
= DB200.0          // F-DB im Sicherheitsteil
//----------------------------------------------


[I]F-FC201: Anst. Ausgang[/I]
//----------------------------------------------
U DB200.0
S A xx.yy           // Ausgang auf F-Perepherie

U Abschaltung 1  // z.B. Grenzwert Druck min Signal,eingelesen über F-Perepherie
O Abschaltung 2  // z.B. Grenzwert Druck max Signal,eingelesen über F-Perepherie
O Abschaltung 3  // z.B. Notaus Signal,eingelesen über F-Perepherie
R Axx.yy            // Ausgang auf F-Perepherie
//----------------------------------------------
Damit wäre ja die Sichere Abschaltung des Ausgangs gewährleistet. Die Sicherheitsschaltung hat in jedem Fall vorrang und ist Sicher ausgeführt. Oder Irre ich mich da?

Um es noch Sicherer zu machen könnte ich ja auch das Signal aus dem Standardteil über eine F-Positive Flanke machen... damit wäre es dann auch kein Permanent anstehendes Signal mehr. Wobei dies ja in dem Fall keine Rolle spielen sollte.

mfg
Smurf
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Smurf,

ist das ein Code aus Deinem Standard-Teil? Falls ja, ist der Fehler erklärbar, weil (wie schon von Deltal erwähnt) im S-Teil nicht auf F-Daten geschrieben werden darf.

Um solche Fehler zu finden kannst Du im Sicherheitsprogramm-Dialog die Funktion 'Auf Zugriffe vom Standard prüfen' aufrufen (versteckt sich hinter dem Pfeil am 'Generieren'-Button)
 
Hallo YY1,

das habe ich schon geändert. Ich habe im Standardteil keine schreibenden zugriffe auf die F-Daten. Den Code den ich da geschrieben habe den würde ich in F-FC setzen, also in den Sicheren Bereich.

Das was ich jetzt vor habe ist die Signale im Merkerbereich zwischenzulagern und dann im F-Teil in F-DBs zu schreiben und Auszuwerten, so wie Mecki es vorgeschlagen hat. Mich intressiert dabei halt ob diese Koppelmeker auch die Tüvprüfung bestehen ;-)

mfg
Smurf
 
Das Problem ist, das die Merker asynchron zum OB1 beschrieben werden.
Das gleiche hat man z.B. bei den Taktmerkern.

Zur Lösung solltest du einmal im OB1 (am besten am Anfang) die Daten vom OP auf die Merker kopieren.

Den Umweg über den F_DB brauchste nicht zu nehmen.


Ob ein F-Programm für deine Anwendung überhaupt notwenig ist, möchte ich mal bezweifeln. Die Sicherheit kommt durch die Auswahl der Sensoren und Aktoren. Sicherlich gibt ein Eingangsmodul mit Taktversorgung schon etwas "mehr" Sicherheit, aber wenn der Druckschalter festhängt, dann ist schlecht mit Sicherheit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Dental,

Die Daten die ich in meinem F-Teil brauche würde ich im OB35 unmittelbar vor dem F-Call in die Merker kopieren. Da der OB35 das Standardprogramm unterbricht würden sich die informationen zur Laufzeit des F-Teils ja nicht mehr ändern. Der umweg über den F-DB wollte ich machen um wirklich sicher zu gehen das sich keine Daten zur Laufzeit des F-Programms ändern können.

Ich kenn es von anderen Steuerungen wie zum Beispiel Hima so, das sichergestellt werden muss, dass das Ventil im Fehlerfall sicher zu macht. Der Schaltbefehl der das Ventil aufmacht muss nicht sicher sein, der kann z.B. über Modbus oder Profibus kommen. Haupsache die Signale, die zur Abschaltung führen, entsprechen dem Sicherheitsstandard. Dies wäre ja mit der Schaltung auch gewährleistet. Der Schaltbefehl könnte ja machen was er will....es wird immer sicher Abgeschaltet. Ich würde mit der Abschaltung auch das einschalten blockieren das dies nur wieder mit einer Quittierung geschehen kann.

Das Beispiel war jetzt vereinfacht dargestellt. Der Druck ist mit einer Doppelten Armatur ausgeführt und hat auf der F-Eingangskarte einen 2v2 schaltung. Würde heissen wenn einer der beiden Drücke schlecht wird, wird Abgeschaltet.

mfg
Smurf
 
Zuletzt bearbeitet:
Die Daten die ich in meinem F-Teil brauche würde ich im OB35 unmittelbar vor dem F-Call in die Merker kopieren. Da der OB35 das Standardprogramm unterbricht würden sich die informationen zur Laufzeit des F-Teils ja nicht mehr ändern. Der umweg über den F-DB wollte ich machen um wirklich sicher zu gehen das sich keine Daten zur Laufzeit des F-Programms ändern können.

Hmm, wenn die Merker nur dort beschrieben werden, sollte da eigentlich nichts passieren.
Wenn du die Merker in F-DB schreibst und sich die Merker ändern, wirst du jedoch genau so einen Fehler bekommen > Bringt also nix.

Und solange dein Programm über die sicheren Eingänge abschaltet, kann man ruhig einen Merker davor setzen.
Was man nicht machen sollte ist z.B. einen Eingang mit einem Merker zu überbrücken.. und wenn, dann nur über eine sichere Zeit. (z.B. wenn man einen Antrieb nach STOP Kat. 2 abschaltet)
 
Ich werde das jetzt mal so machen mit den Merkern. Ich warte nebenbei noch auf den Rückruf vom Siemens Supportcenter. Dort habe ich auch mal eine Anfrage gestellt. Die in Köln im Center konnten mir da nicht wirklich weiter helfen. Ich denke aber auch mal das ich mich da vielleicht nicht ganz klar ausgedrückt habe und etwas Missverstanden wurde bei Siemens. Wenn ich von Siemens noch eine Antwort bekomme, poste ich mal was Siemens dazu gesagt hat.

Vielen Danke für Hilfe :p

mfg
Smurf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Während der Abarbeitung des OB35 kann ja nur noch ein höher priorisierter OB aktiv werden, was man auch sperren könnte, während der Bearbeitung des OB35.
Wenn Du nun aber dafür Sorge trägst, daß in keinem anderen OB Daten bearbeitet werden, die Du im F-Teil benötigst, kann es keine Probleme geben.
 
Zurück
Oben