Page 1 of 1
Stabilität bei Stromausfall & Flash-Zugriffe
Posted: 05 Jul 2017, 21:49
by gregor_le
Guten Abend,
ich plane derzeit ein etwas größeres Projekt, bei dem ich gerne auf den RevolutionPi setzen würde. Ich habe verstanden, dass der Pi eine Mischung zwischen IPC und SPS darstellen soll - er ist also keine "richtige" SPS.
Zwei Fragen habe ich leider noch nicht geschafft zu beantworten und hoffe deshalb hier auf Auskunft:
#1: Wie gut kommt der Pi mit Stromausfällen zurecht? Bzw wie zuverlässig startet der Pi nach einem Stromausfall und nimmt wieder seinen Dienst auf? Eine SPS startet hier ohne wenn und aber durch. Schafft das ein Pi auch, oder ist dort ggf. das Systeme/OS zerschossen?
#2: Aus eigener Erfahrung und aus dem Umfeld geben die Flashkarten durch den ständigen Zugriff bei einem (normalen) Pi erstaunlich schnell auf. Wie sieht es hier mit der "Lebenserwartung" beim verbauten eMMC aus?
Vielen herzlichen Dank für die Auskunft.
Gregor
PS: Ich finde es genial, dass es Kunbus wagt "Konsumerware" als Basis für industrielle Produkte zu nehmen. Chapeau für diese mutige und richtungsweisende Entscheidung!
Re: Stabilität bei Stromausfall & Flash-Zugriffe
Posted: 05 Jul 2017, 23:43
by volker
Hallo Gregor,
danke für das Lob.
Zu Deinen Fragen:
1) Wenn der RevPi als PLC arbeiten soll, ist ja eine entsprechende Software notwendig. Wir haben aktuell logic.cad3 dafür vorgesehen, welche auf der EN61131-3 basiert, also der Norm, die die Programiierbarkeit von SPSen definiert. Auf dieser Software wird dann natürlich noch die eigentliche Steuerungssoftware erstellt und dem Runtimesystem bereitgestellt. Alle 3 Komponenten einer solchen "Soft-SPS" spielen eine Rolle bei der Frage nach dem Systemverhalten bei Stromausfall und Wiederanlauf. Für die Komponente des Steuerungsprogramms können wir natürlich keine Aussage treffen, da dies im Verantwortungsbereich des Systemintegrators oder Endkunden liegt. Aber es ist eigentlich mit der wichtigste Bereich. Wenn die Steuerungsabläufe nicht erkennen, dass ein Neustart aus einem nicht sicheren Zustand erfolgt ist und dementsprechend dann nicht in einen definierten sicheren Anfangszustand gehen, bevor die Abläufe weiter gesteuert werden, dann nutzt alle Ausfallsicherung darunter wenig. Auf Ebene des Runtimesystems stellen EN61131-3 Programmiersysteme (wie auch logi.cad3) Variablen zur Verfügung, dies als "retain" definierbar sind und welche ihren Inhalt auch bei Stromausfall behalten. Solche Variablen setzen aber eigentlich das Vorghandensein eins nichtflüchtigen RAM Bereichs in der Hardware voraus. Solche ienen Bereich hat der RevPi Core nicht zu bieten. Daher muss man sich über andere Mechanismen solche nichtflüchtigen Variablen bauen. Wir empfehlen den Einsatz einer USV mit Meldekontakt. Bei Stromausfall kann dann die Steuerungssoftware die relevanten Variablen wegspeichern und geordnet das System herunterfahren. Bei Wiederanlauf kann das Steuerungsprogramm die gespeicherten Variablenzustände wiederherstellen. Dieser Mechanismus muss allerdings im Steuerungsprogramm realisiert werden. Wir planen für die RevPi Serie aktuell ein USV-Modul, welches über die PiBridge alle wichtigen Informationen des Ladezustands und der Restenergie dem Steuerungsprogramm im Prozessabbild bereitstellt. Eine Zerstörung der Firmware bei Stromausfall ist nicht zu erwarten, dafür sind das Netzteil und die restlichen Systemkomponenten zu robust gebaut.
2) Deine Erfahrungen mit SD-Cards beruhen wahrscheinlich nicht auf der Nutzung industrietauglicher Speicherkarten, wie sie z.B., auch in Steuerungen von Siemens eingesetzt werden, sondern auf Consumerprodukten. Diese haben gänzlich andere Ansteuerungen Firmware, die nicht für "Hotplug" oder Stromausfall beim Schreibvorgang sicher ausgelegt sind. Die von Raspberry im CM verbauten eMMC wurden speziell für die insustrielle Nutzung ausgsucht und verfügen über extrem sichere Zellen-logik, bei der z.B. die Zellen rotierend verwendet werden (davon markt halt der Nutzer und der Prozessor gar nichts), um die Nutzungsdauer zu maximieren. Defekte Zellen werden eleminiert und durch einen reservepool ersetzt, etc. Tatsache ist, dass es weder den Mitarbeitern von Raspi noch uns gelungen ist (trotz zum Teil hundertfachem Ein- und Ausschalten des Stroms pro Tag) auch nur einen einzigen eMMC zu zerschießen. Man wird ein komplexes Linux-System sicher niemals mit einer elektronisch und softwaretechnisch veil einfach aufgebauten "nur-SPS" nicht vergleichen können, denn höhere Komplexität bedeutet immer ein höheres Ausfallrisiko. Aber generell möchte ich in Zweifel stellen, ob moderne "Consumertechnik" geringere Reliabilität haben muss, also "robuste Indsutrietechnik". Es beefinden sich um viele Größenordnungen mehr Mobilfunktelefone im Einsatz, auf die sich Millionen Menschen täglich voll verlassen. Wenn man sie nicht gerade in die Toilette faleen läst oder mit einem Auto drüber fährt, dann ist die Ausfallquote der Geräte bis auf bekannte Schwachstellen (Ladebuchse etc.) extrem niedrig und durchaus vergleichbar mit Industrieware. Selbst die Umweltbedingungen, die wir diesen geräten zumuten sind oft härter als die der meisten SPSen in Industriehallen. Allerdings verwenden wir unsere Mobilfunktelefone auch nur wenige Jahre und entsorgen sie dann. SPSen leben oft 20 Jahre, bevor sie ersetzt werden. Aber muss das so sein? Wenn Preise sinken und die Software über Apps etc. gekapselt wird, so dass ein Wechsel der Hardware kein Abenteuer ist, dann wird man auch im industriellen Bereich immer mehr bereit sein, veraltete Hardware fürhzeitig durch leistungsfähigere neue Komponenten zu ersetzen. Deiser Wandel zeichnet sich schon jetzt immer mehr ab und lässt sich nicht vermeiden, wenn wir bei I4.0 konkurrenzfähig bleiben wollen.