"Not-Aus" auf SCL Softwarebene auslösen?

FrankTheTank

Level-1
Beiträge
41
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Mitforisten!

Ich brauche Rat! Es geht darum, dass ich "unvorhergesehenes Streckenverhalten" irgendwie bearbeiten muss.

Zunächst ein paar Grundlagen, damit mein Anliegen besser verstanden wird:

In einem SCL Programm wird festgestellt, dass ein Sensorereignis eintritt, dass zu diesem Zeitpunkt überhaupt nicht auftreten dürfte (z.B. Bauteil wird eigentlich gerade lackiert aber der Sensor am Auswurf stellt fest, dass dort irgendwas durch die Lichtschranke gefahren ist).

Einen solchen unspezifierten Fehlerfall muss ich abfangen. Das Problem dabei ist, dass dieses Abfangen so allgemein wie möglich sein muss.

Zuerst hatte ich daran gedacht die SPS einfach in den "Stop"-Modus zu versetzen und eine Art Fehlermeldungsstring zu erzeugen.

Dann kam mir allerdings der Gedanke, dass ein globaler Stopp in einigen Fällen (auch wenn arg konstruiert) ziemlich schlecht wäre (z.B. Ausschalten eines dicken Elektromagneten während ein Autowrack dran hängt => Dings fällt runter).

Nun stellt sich mir die Frage:
Was mache ich da am besten? Soll ich in einem solchen Fall einfach eine Art Fehlerbehandlungs FB mit einplanen, die dann der jeweilige Anwender selbst erstellen muss?
Gibt es überhaupt eine von der Endanwendung unabhängige Möglichkeit, eine Art Not-Stop auszulösen, wenn mir die Anlage vorher nicht bekannt ist?

Aufgabenstellung wurde mir gegenüber so formuliert: "Wenn ein unerwartetes Ereignis eintritt, dann müssen wir das irgendwie abfangen. Dann darf das SPS Programm nicht weiterlaufen.".

Leider ist "nicht weiterlaufen lassen" aber m.E. nach nicht pauschal eine zulässige Lösung!

Bin für jeden Ratschlag dankbar

mfg,
Frank
 
Hallo,
so wie du es erstmal beschreibst hat das für mich nichts mit Not-Aus oder so zu tun sondern ist schlicht und ergreifend eine Fehlerbehandlung.
Du mußt eigentlich ganz generell in einem Ablauf die Möglichkeit vorsehen, das etwas mal schiefläuft. Im einfachsten fall wäre das ein Timeout des Ablaufs, wo du ihn z.B. nach einer Laufzeitüberschreitung abbrichst.

Von was sprechen wir denn konkret ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nur mal so am rande ... schonmal was von maschinenrichtlinien gehört?

Sicherheits abfragen sind mit entsprechenden baugruppen zu lösen!
Die baugruppen greifen dann aktive in den vorgang ein.
deine SPS darf dies nur wenn es eine Sicherheits-SPS ist und auch nur begrenzt kommt auf die jeweilige gefahrenstufe an.

wenn ein elektromagnet etwas fallen lassen würde wenn die SPS in Stop geht wäre das, wenn dabei ein Mensch zu schaden kommt, ein aufenthalt im knast jenachdem wer den fehler verbockt hat meist elektriker oder halt der wo die sicherheitsabnahme macht.

klar kannst du wenn deine lichtschranke sagt hier ist was durch dies in der sps auswerten und auch die anlage stoppen aber wenn z.b. ein robo dahinter steht muss die lichtschranke auf ein sicherheitsrelais und dieses auf dem robo z.b. not-stop.


Ich habe nur keine lust mal wieder irgendwo reinzurennen und zu merken das teil bewegt sich immernoch obwohl hier alles mit schönen gelben lichtschranken zugemauert ist :D
 
Konkret geht es darum, dass der Nutzer ein Anlagenmodell erstellt (in Form eines deterministischen Automaten, http://de.wikipedia.org/wiki/Deterministischer_endlicher_Automat) und eine Konfigurationsdatei anlegt, in der er einzelnen "Symbolen" (= Ereignisse) Eingänge bzw. Ausgänge der SPS zuweisen kann.
Aus diesen wird dann ein lauffähiges SPS Programm erzeugt.

Die SPS liest nun alle Eingänge und ändert dann den Zustand, z.B. so:

Zustand 1 (= Aus) => Ereignis: Einschaltknopf wurde gedrückt => Zustand 2 (= Ein), usw.

Nun könnte es ja passieren, dass sich die Anlage anders verhält, als es modelliert wurde, z.B.

Zustand 2 (= Behälter X nicht leer) => Ereignis: letztes WS verlässt Behälter X => Zustand 1 (= Behälter X leer) => Ereignis: weiteres WS verlässt Behälter X

Bis einschließlich Zustand 1 hat der Benutzer sein Modell richtig erstellt. Leider stellt das Programm jedoch fest, dass ein weiteres Werkstück aus dem Behälter kommt, obwohl dies nicht passieren dürfte.

Diesen Fall muss ich irgendwie bearbeiten. Nur eben ohne das Modell zu kennen. Das erstellt ja dann erst der Nutzer.

Natürlich könnte ich sagen: Wer falsche Streckenmodelle erstellt ist selbst schuld! :ROFLMAO: Aber ein Programm, das Nutzerfehler nicht einkalkuliert, ist kaum bzw. überhaupt nicht praxistauglich.
 
Zustimmen kann ich Larry und erzteufel was die Sicherheit angeht, da ist nicht mit zu spaßen. Und bei einem unspezifizierter Fehler kann eine Gefährdung für Leib und Leben wohl schlecht auszuschließen sein.

Anders verhält es sich, wenn das Durchfahren der Lichtschranke am Auswurf definitiv keine Konsequenzen hat, außer dass das Teil aus der Lakierung nicht weitertransportiert werden kann. Aber damit ist der Fehler auch schon spezifiziert und es kann überlegt werden wie weiter verfahren werden soll.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Problem hat sich dahingehend gelöst, dass ich jetzt "von Oben" die Anweisung bekommen habe, einfach ein "Flag" zu setzen, dass feststellt das ein Ereignis zu einem im Modell nicht vorgesehenen Zeitpunkt aufgetreten ist und die Verantwortung für diesen Fall wird an denjenigen weitergegeben, der das Modell erstellt. Der muss sich dann um alle relevanten Sicherheitsrichtlinien kümmern, denn der kennt die Strecke und wir nicht.
 
Also erstmal ist es wichtig, das die begriffe "Not-Aus" und "Not-Halt" halt aus Sicherheitstechnik kommen, deswegen bekommst du hier auch erstmal keine richtigen Antworten.

Ich verstehe dein Problem so, wie soll die Anlage reagieren, wenn etwas unvorhergesehendes passiert?

In der Praxis wird soetwas über den Automatik / Nicht-Automatik Betrieb geregelt. Beispiel: Ein Motor hat überstrom. Darauf muss die Maschine stehen bleiben, damit nicht ein Folgefehler entsteht.

Wenn dein "Fehler" keine schlimmen Auswirkungen hat, wäre auch soetwas wie ein Zykluss-Betrieb denkbar. > Die Maschine macht den Zykluss zuende, würde aber nicht neu starten.

Ob man solche Programmbausteine automatisch erstellen kann würde ich mal stark bezweifeln. Dazu brauchst du echt 101% Serienmaschinen.

Ist das ne Arbeit für die Unität? "Deterministischen Automaten" hab ich ja noch nie gehört ;)
 
Vermutlich stifte ich totale Verwirrung aber wurde für solche Funktionalitäten nicht die Funktion des MCR vorgesehen - auch wenn ich nicht damit arbeite und auch niemand kenne der das tut. Aber die MCR Funktionalität bietet doch die Möglichkeit das in einem als MCR-Block (Master Control Block) alle logischen Verknüpfungen 0 sind wenn MCR ausgeschaltet wird. Bei dem abstrakten Beispiel würde es bedeuten MCR OFF wenn eine nicht vorhergesehene Konstelation vorliegt.

... in der Regel wird das zwar mit einer Bedingung FREIGABE Ausgänge oder NichtAutomatik oder wie auch immer gelöst.

Aber MCR Funktionen sind immer nur Maschinenschutz und nie Personenschutz.

mfg ASAB
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob man solche Programmbausteine automatisch erstellen kann würde ich mal stark bezweifeln. Dazu brauchst du echt 101% Serienmaschinen.

Ist das ne Arbeit für die Unität? "Deterministischen Automaten" hab ich ja noch nie gehört ;)

Das ganze KANN sehr gut funktionieren. Am einfachsten kannst du sowas z.B. bei einer Fördertechnik umsetzen. ABER: Es erfordert eine Durchgängigkeit in der gesamten Konstruktionskette. Angefangen von der Anlagenkonzeption, über die mechanische Konstruktion und elektrische Konstruktion bis hin zur Inbetriebnahme. Es steht und fällt mit der Qualität der erzeugten "Gewerke". Du kannst dir automatisch deinen EPlan und dein SPS-Programm erzeugen lassen. Wenn ich hier "Deterministischen Automaten" lese, dann sehe ich auch keine große Chancen für einen großen Erfolg.

Gruß
Dieter
 
Zurück
Oben