Hallo zusammen,
ich bin am Entwickeln eines Prüfstandes für meine Bachelorarbeit. Für
die Steuerung des Prüfstandes setzen wir das Programm "LabView" ein. Da
mit dem Programm über eine Messkarte mehrere Druckluftventile (bis zu
16bar --> große Energie) angesteuert werden, muss neben der
Funktionalität auch die Sicherheit bzw. die Sicherheitsrichtlinen
gewährleistet sein.
Da ich eher vom Maschinenbau bzw. von der Mechatronik komme, habe ich
noch nicht soviele Erfahrungen mit der Programmierung. Die eigentliche
Funktion des Programmes kann ich schon programmieren, aber ich verstehe
nicht, was für Sicherheitsmechanismen/systeme es bei der
Programmierung/Informatik gibt.
Die Mechanik und Elektrik wurde konstruktiv so ausgelegt, dass bei
Systemausfällen das Gesamtsystem in einen sicheren Zustand geht
(-->FMEA).
Nun die Frage: Was für Sicherheitsaspekte/-richtlinen gibt es
diesbezüglich in der Informatik? Was für Szenarien müssen hier
berücksichtigt werden? Netzausfall, DeadLock, Überspannung, usw.???
Wie kann die Sicherheit gewährleistet werden? Mit einem Watchdog?
Ich hoffe ihr könnt mir ein bischen helfen.
Vielen Dank.
Thomas
Thomas H. schrieb:> Nun die Frage: Was für Sicherheitsaspekte/-richtlinen gibt es> diesbezüglich in der Informatik?
Die Informatik ist nur ein Hilfsmittel, eigene Sicherheitsrichtlinien
gibts da nicht. Du mußt dein Programm entsprechend den
Sicherheitsrichtlinien deiner Anwendung auslegen.
Der Watchdog soll verhindern, daß sich das Programm irgendwo verläuft /
hängenbleibt / verselbständigt. Er erzeugt einen Interrupt, oder setzt
den Prozessor zurück. Du mußt dann selbst dafür sorgen, daß die
Fehlersituation erkannt wird und die Gesamtanlage in einen sicheren
Zustand kommt.
Uhu Uhuhu schrieb:> Die Informatik ist nur ein Hilfsmittel, eigene Sicherheitsrichtlinien>> gibts da nicht.
Falsch!
Zur Sicherheit von Software gibt es die DIN EN 61508-3 "Funktionale
Sicherheit sicherheitsbezogener
elektrischer/elektronischer/programmierbarer elektronischer Systeme -
Teil 3: Anforderungen an Software" auch als internationale Norm (IEC).
Thomas H. schrieb:> Mit einem Watchdog?
Ein SW-Wachhund funktioniert nur so lange schööön, wie er lebt. Wenn
Dein Bus z.B. durch einen kleinen Zinnklumpen blockiert ist, wird er Dir
nicht mehr helfen. Die große Kunst ist rechtzeitig diese Leichen zu
finden bevor Schaden entsteht. Dazu ist oft zusätzliche HW nötig, die
unabhängig funktionieren sollte.
oszi40 schrieb:> Ein SW-Wachhund
Das ist Hardware - sonst würde das nicht sicher funktionieren. Die
Software muß nur regelmäßig die Toter-Mann-Taste drücken...
Thomas H. schrieb:> Ein Hardware-Watchdog ist doch immer besser wie ein Software-Watchdog> oder irre ich mich da?
Nein, das ist völlig korrekt, bloss haben die meisten PCs keinen, ausser
teuren Spezial-Ausführungen z.B. für Steuerungen. Selbst wenn ist die
Bootzeit für PCs ein Problem, solang ist das System ungesteuert, oder
man muss zusätzliche (Hardware-) Massnahmen treffen.
Gruss Reinhard
Ein PC zu Steuerung von sicherheitskritischen Maschinen .... was fuer
eine unrealistische Idee. Wie soll ein PC das System in jedem Fall in
einen sicheren Zustand bringen koennen wenn er nicht mal zuverlaessig
laeuft ?
Es gibt PC's die sind derart konfiguriert, der
Computer-Sicherheits-Beauftragte will das auch so, dass immer die neuste
Version des Betriebssystemes laeuft. Dann kann Windows irgendwann
unterbrechen, sich die neuen Patches und Zeug runterladen und ein paar
Mal neu booten. Wenn dabei ein Ventil offen bleibt, das besser zu sein
sollte...
Labview ist nur fuer bemannte Systems, wo jemand daneben steht. Da muss
jemand hinstehen und sagen - ich hab's im Griff. Weil er eben daneben
steht.
Thomas H. schrieb:> Ein Hardware-Watchdog ist doch immer besser wie ein Software-Watchdog> oder irre ich mich da?
Solange das Ding im/am selben PC ist, ist es zu 100% unzuverlässig wenn
z.B. das PC-Netzteil Fehler hat.
LABVIEW und PC/Windows ist für sicherheitsrelevante Systeme völlig
ungeeignet und würde niemals vom TüV anerkannt werden. Dein Betreuer
scheint keinerlei Ahnung zu haben. Lies mal die Maschinenrichtlinie und
die besagte EN61508.
Hallo,
Du kannst einen Drehzahlwächter als Watchdog nehmen
(Sicherheitskategorie beachten).
Ein Ausgang vom PC schaltet einen oder 2 Schütze je nach Kategorie (in
Reihe)
Weiter in Reihe kommt der Wächter.
Weiter in Reihe kommt deine Last.
Der Wächter wird vom PC im Takt getriggert.
Das sollte eigentlich Fail-out sein, oder sieht da jemand ein Problem?
heinz schrieb:> oder sieht da jemand ein Problem?
Das wird nicht reichen. Es beweist zunächst nur, dass der PC überhaupt
läuft, nicht dass die Steuerungssoftware korrekt abgearbeitet wird. Der
nächste Schritt wäre, die Befehle an den/die Wachhunde so in relevanten
Routinen des Programms zu verteilen, dass sie ausbleiben, wenn die
Routine nicht mehr aufgerufen wird. Letztlich bleibt das ein Kompromiss
und es wird drauf ankommen, was der Prüfingenieur dazu meint.
Gruss Reinhard
Das würde schon ein Abschalten auslösen wenn die Software nicht
ordnungsgemäss läuft. Ein Wächter kontrolliert auf Einhalten der
Frequenz +/-
Der Watchdog wird normalerweise vom Scheduler getriggert. Wie das unter
Windows / Labview funktoniert ??? Gibts da ein Loop der durchlaufen
wird? Und nächste Frage wäre dann wird / kann unter Windows der Jitter
so gross werden das der Watchdog auslöst.
Deshalb gibts ja auch RTOSe.
Einmal mehr, Danke für die Antworten. :-) Also so wie ich sehe, lässt es
sich nicht so einfach, wenn überhaupt mit LabView realisieren.
ttl schrieb:> LABVIEW und PC/Windows ist für sicherheitsrelevante Systeme völlig> ungeeignet und würde niemals vom TüV anerkannt werden.
Ja, wie wird es dann bei großen Prüfständen gemacht?
Da wird ja zum Teil auch LabView bzw. TestStand eingesetzt. Werden dort
die Funktionen auf unterschiedliche Systeme aufgeteilt? Die
sicherheitsrelevanten Funktionen über eine Steuerung z.B. SPS und die
messtechnischen Aufgaben z.B. über LabView, oder wie?
heinz schrieb:> Deshalb gibts ja auch RTOSe.
Können mit allen Echtzeitsystemen sicherheitskritische Funktionen
überwacht und gesteuert werden? z.B. mit diesem System
http://sine.ni.com/nips/cds/view/p/lang/de/nid/210000
Bisher war meine Erwartung oder Hoffnung immer, dass bei einem
PC-Absturz/Netzausfall/Bootvorgang die Messkarten von NI immer auf
logisch "Null" gehen. Die Annahme stimmt nicht oder gibt es dafür
bestimmte "Formulierungen" bzw. Bezeichnungen auf den Datenblätter der
Messkarte?
Für die Ansteuerung der Magnetventile hätte ich folgende Messkarte
vorgesehen: NI9476 http://sine.ni.com/nips/cds/view/p/lang/de/nid/208824
Die eigentliche Pneumatik ist von mir so ausgelegt, dass sie im
stromlosen Zustand sicher ist.
Für die eigentliche Programmüberwachung und vor dem Hintergrund das bei
µC auch Watchdogs eingesetzt werden, rührte die Idee mit einem Wachtdog
in Kombination PC/LabView (in LabView gibt es ja auch ein eigenes VI
Names "Watchdog").
Also zunächst mal ist realtime sowas wie ein Glaubensktieg :)
Du hast je nach System eine garantierte Antwortzeit. Bei harter Echtzeit
ist Sie garantiert bei weichen hast Du sie meistens. Der Übergang ist
fliessend.
Zur Frage Absturz.
Dafür ist eben der Watchdog da. PC stürzt ab -> kein retriggern -> die
Last wird abgeworfen.
Netzabfall -> Lastabwurf
Booten -> keine Freigabe der Last und der Warchdog.
Was Du immer machen mußt - wenn die Last abgeworfen wird darf Sie auf
keinen Fall nach Wegfall der Störung wieder zuschalten.
Ich kenne kein (Industrie) System wo die Eingänge high gehen bevor das
System initialisiert ist (mußt Du aber vorher abklären) Begriff kenn ich
da auch nicht.
aus dem Datenblatt obiger Karte
Power-on output state Channels off
sollte passen
> Nein, das ist völlig korrekt, bloss haben die meisten PCs keinen,> ausser teuren Spezial-Ausführungen z.B. für Steuerungen.
Inzwischen hat eigentlich jeder einen, ist in der Intel-Southbridge
(bzw. IO-Hub) drin.