-
Die Erfindung betrifft Techniken zur Bereitstellung eines abgesicherten Steuerungsparameters zur mehrkanaligen Steuerung einer Maschine, insbesondere unter Verwendung einer Mehrzahl von verteilten Steuerungen, welche einkanalige Steuerungsparameter ausgeben.
-
Im Bereich der Sicherheitstechnik ist Redundanz und Diversität ein bekanntes Prinzip. Sie sind oftmals Grundlage für den Aufbau sicherer Rechnerarchitekturen. Je höher das Risiko eines Fehlers bzw. das Ausmaß eines Fehlers ist, desto stärkere Maßnahmen müssen getroffen werden.
-
Bekannte Sicherheitssteuerungen sind Bauteile, die sowohl nach IEC 61131-3 bzw. -6, IEC 61508 oder ISO 14849 entwickelt worden sind. Für ihren Aufbau sind zwei grundsätzliche Ansätze bekannt:
- a) Redundante Architektur von mindestens zwei Kanälen, die homogen oder diversitär redundant aufgebaut sind;
- b) Einkanalige Architektur mit zusätzlichem Diagnosekanal.
Beiden Architekturen ist gemeinsam, dass bereits bei der Spezifikation besondere Maßnahmen einzuhalten sind. Diese Maßnahmen müssen konsequent durch den gesamten Entwicklungsprozess bis hin zur Produktion von Sicherheitssteuerungen angewendet werden. Diese Maßnahmen und auch der mehrkanalige Aufbau treiben die Kosten für Sicherheitssteuerungen im Sinne von technischer Komplexität schnell in die Höhe.
-
Es ist die Aufgabe der vorliegenden Erfindung, ein einfach zu realisierendes Konzept für eine verbesserte Sicherheitssteuerung zu schaffen.
-
Diese Aufgabe wird durch die Gegenstände mit den Merkmalen nach den unabhängigen Ansprüchen gelöst. Vorteilhafte Ausführungsformen sind Gegenstand der abhängigen Ansprüche, der Beschreibung und der Zeichnungen.
-
Eine grundlegende Idee der Offenbarung besteht darin, mindestens zwei unterschiedliche, also diversitäre Steuerungsplattformen zu verwenden und ihre Bearbeitung im Wesentlichen so aufeinander zu synchronisieren, dass sich zumindest der erste auftretende Fehler nicht auf den sicherheitsrelevanten Prozess auswirken kann.
-
Gemäß einem ersten Aspekt wird die Aufgabe gelöst durch einen Bereitstellungsserver zur Bereitstellung eines abgesicherten Steuerungsparameters zur mehrkanaligen Steuerung einer Maschine unter Verwendung einer Mehrzahl von verteilten Steuerungen, welche einkanalige Steuerungsparameter ausgeben, wobei die Maschine eine Steuerungseinheit umfasst, welche auf der Basis des abgesicherten Steuerparameters einen Steuerbefehl zur Steuerung der Maschine erzeugt, mit: einer ersten Kommunikationsschnittstelle, welche ausgebildet ist, eine Mehrzahl von einkanaligen Steuerungsparametern von der Mehrzahl von verteilten Steuerungen zu empfangen; einem Prozessor, welcher ausgebildet ist, die empfangenen einkanaligen Steuerungsparameter miteinander zu vergleichen, wobei der Prozessor ausgebildet ist, bei Übereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter einen empfangenen Steuerungsparameter als den abgesicherten Steuerungsparameter auszugeben; und einer zweiten Kommunikationsschnittstelle, welche ausgebildet ist, den abgesicherten Steuerungsparameter über ein Kommunikationsnetzwerk an die Maschine auszusenden.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil einer einkanaligen Architektur mit diversitärer Redundanz erreicht, d.h. die Steuerungen können einfach konstruiert sein, da sie lediglich einkanalige Steuerungsparameter liefern müssen, durch die Nutzung mehrerer solcher Steuerungen kann diversitäre Redundanz erreicht werden, was einen entsprechend hohen Sicherheitsgrad gewährleistet ohne dass eine mehrkanalige Architektur erforderlich ist. Der Vorteil liegt somit darin, dass mindestens zwei unterschiedliche, also diversitäre Steuerungsplattformen verwenden werden und ihre Bearbeitung im Wesentlichen so aufeinander synchronisiert wird, dass sich zumindest der erste auftretende Fehler nicht auf den sicherheitsrelevanten Prozess auswirken kann.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist der Prozessor ausgebildet, bei Übereinstimmung aller einkanaliger Steuerungsparameter einen empfangenen Steuerungsparameter als den abgesicherten Steuerungsparameter auszugeben, oder wobei die Anzahl der zu übereinstimmenden einkanaligen Steuerungsparameter durch einen vorgegebenen Schwellwert, insbesondere prozentualen Schwellwert, vorbestimmt ist.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass im ersten Fall eine besonders hohe Sicherheitsstufe realisiert werden kann, weil alle einkanaligen Steuerungsparameter miteinander übereinstimmen müssen. Im zweiten Fall kann die Sicherheitsstufe flexibel angepasst werden, da nicht alle sondern nur eine bestimmte Anzahl der einkanaligen Steuerungsparameter miteinander übereinstimmen müssen.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die erste Kommunikationsschnittstelle eine drahtgebundene Kommunikationsschnittstelle mit Anschlussports, insbesondere USB-Ports, zum Anschließen der Mehrzahl der verteilten Steuerungen; oder eine drahtlose Kommunikationsschnittstelle für die drahtlose Kommunikation mit den verteilten Steuerungen über ein Kommunikationsnetzwerk, insbesondere über das Kommunikationsnetzwerk.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass sich im ersten Fall die Steuerungen besonders leicht an die Anschlussports der ersten Kommunikationsschnittstelle anschließen lassen und so auch ein Austausch der einzelnen Steuerungen leicht vorgenommen werden kann. Im zweiten Fall der drahtlosen Kommunikationsschnittstelle kann der Austausch der Steuerungen sogar ohne manuelle Einwirkung rein automatisch bewirkt werden, so dass kein Wartungspersonal dafür notwendig ist. Z.B. kann der Prozessor bei einer Fehlfunktion einer Steuerung automatisch eine andere Steuerung an die erste Kommunikationsschnittstelle anschließen.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die zweite Kommunikationsschnittstelle ausgebildet, ein Anforderungssignal zum Aussenden des abgesicherten Steuerungsparameters von der Maschine über das Kommunikationsnetzwerk zu empfangen und ansprechend auf den Empfang des Anforderungssignals den abgesicherten Steuerungsparameter an die Maschine über das Kommunikationsnetzwerk auszusenden.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass der Signalisierungsfluss über die zweite Kommunikationsschnittstelle reduziert wird, da keine permanente Aussendung des abgesicherten Steuerungsparameters notwendig ist, sondern nur auf Anforderung der Maschine. In diesem Fall lässt sich die Maschine als Kommunikationsmaster bzw. Sicherheitsmaster realisieren, welche selbstständig ihre Funktionen überprüft und sich abgesicherte Steuerungsparameter von dem Bereitstellungsserver besorgt, z.B. durch Download des entsprechenden abgesicherten Steuerungsparameters.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die zweite Kommunikationsschnittstelle ausgebildet, ein Bereitstellungssignal an die Maschine auszusenden, das die Bereitstellung des abgesicherten Steuerungsparameters anzeigt.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass die Maschine jeweils darüber informiert ist, dass ein abgesicherter Steuerungsparameter am Bereitstellungsserver zur Verfügung steht. Die Maschine kann dann ihren Synchronisierungsprozess bzw. den Download des abgesicherten Steuerungsparameters entsprechend planen.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die zweite Kommunikationsschnittstelle eine drahtlose Kommunikationsschnittstelle oder eine drahtgebundene Kommunikationsschnittstelle.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass sich der Bereitstellungsserver flexibel an verschiedene Kommunikationsnetze anschließen lässt. Auch können verschiedene Pfade über verschiedene Kommunikationsnetze genutzt werden, um die Sicherheit des Prozesses zu erhöhen, falls z.B. einer der Pfade über das Kommunikationsnetz unterbrochen oder gestört ist.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers umfasst die Mehrzahl von verteilten Steuerungen einen Arduino PC oder Raspberry Pi Prozessor zum Bereitstellen der Mehrzahl von einkanaligen Steuerungsparametern.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass diese Rechnerplattformen auf einfacher Hardware basieren, die kostengünstig und technisch einfach realisierbar sind. D.h. es können basierend auf einfacher Hardware für die Steuerungen bereits hohe Sicherheitsanforderungen realisiert werden.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist der Prozessor ausgebildet, bei Nichtübereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter eine Meldung an eine Diagnoseeinrichtung zu übertragen.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass der Prozessor über den Zustand der jeweiligen Steuerungen informiert ist und bewerten kann, ob eine Steuerung von den anderen Steuerungen abweicht, so dass er (oder die Diagnoseeinrichtung) gegebenenfalls Fehlermaßnahmen ergreifen kann, wie z.B. den Austausch fehlerhafter Steuerungen.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die erste Kommunikationsschnittstelle ausgebildet ist, die Mehrzahl von einkanaligen Steuerungsparametern über ein vorgegebenes Empfangszeitfenster von der Mehrzahl von verteilten Steuerungen zu empfangen.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass sich die Steuerungen effizient aufeinander synchronisieren lassen. Wenn z.B. eine Steuerung einen besonders langen Weg zurücklegen muss, bis ihr einkanaliger Steuerungsparameter beim Bereitstellungsserver eintrifft, kann dies durch ein entsprechend langes Zeitfenster zum Empfang des Steuerungsparameters ausgeglichen werden. Über das Empfangszeitfenster kann ferner eine zeitliche Mittelung der entsprechenden einkanaligen Steuerungsparameter vorgenommen werden, so dass der Mittelwert eine höhere Zuverlässigkeit gegenüber Spikes oder kurzzeitigen Ausfällen auf der Leitung bietet.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die Mehrzahl von verteilten Steuerungen verschiedenen Rechnerplattformen zugeordnet, und austauschbar an die erste Kommunikationsschnittstelle gekoppelt.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass das Sicherheitssystem flexibel aufgebaut sein kann, was die Anforderungen an die Hardware erleichtert. Es kann unterschiedliche Hardware für die jeweiligen Steuerungen genutzt werden, so dass die Steuerungen nicht permanent aufeinander angepasst werden müssen. Beispielsweise können die Steuerungen auch unterschiedliche Softwareversionen umfassen.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist der Prozessor ausgebildet, bei Nichtübereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter die zugehörigen Steuerungen von der ersten Kommunikationsschnittstelle zu entkoppeln und durch andere Steuerungen zu ersetzen.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass der Prozessor das Sicherheitssystem effizient überprüfen und warten kann, so dass die Sicherheit stets auf dem erforderlichen Level ist.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers verfügt die Mehrzahl von verteilten Steuerungen über ein sicherheitsrelevantes Betriebssystem, welches einer Sicherheitsfunktion genügt, insbesondere den Vorgaben der Norm IEC 61131-2 bezüglich Störfestigkeit und Fehlern.
-
Mit einem solchen Bereitstellungsserver wird der technische Vorteil erreicht, dass die relevanten Sicherheitsfunktionen (z.B. entsprechend der Norm IEC 61131-2) erfüllt werden und das Sicherheitssystem so die entsprechende CE-Zertifizierung einhält.
-
Teil 2 der Norm IEC 61131 (abgekürzt: IEC 61131-2) macht Vorgaben zur Störfestigkeit der Steuerungshardware und den angegebenen Fehlern und Testanleitungen. Die Einhaltung des Teils 2 der Norm IEC 61131 ist eine Mindestanforderung, um überhaupt im industriellen Umfeld eingesetzt werden zu können. Eine Steuerungshardware, die alle Anforderungen erfüllt, gilt als sicher im Sinne der Konformitätsbewertung und für die CE-Kennzeichnung (aus Wikipedia).
-
Für sichere Steuerungen (Gesamtheit der die Sicherheitsfunktion ausführende Hardware und / oder Software) ist der Teil 6 der Normenserie (IEC 61131-6) oder noch besser die Normen IEC61508, IEC61511, IEC62061, IS013849 etc. relevanter.
-
Für die verteilten Steuerungen dagegen gilt, dass sie mindestens die Norm 61131-2 erfüllen müssen, was aber kein Sicherheitsstandard ist. Deshalb können diese Steuerungen ja auch kostengünstig bleiben.
-
In einer vorteilhaften Ausführungsform des Bereitstellungsservers ist die Mehrzahl von verteilten Steuerungen auf Basis von Mobiltelefon-Hardware realisiert oder als mobile Kommunikationsendgeräte realisiert oder mit mobilen Kommunikationsendgeräten verbindbar.
-
Dies bietet den Vorteil besonders einfacher Realisierung. Das Sicherheitssystem kann z.B. durch Mobiltelefone oder Smartphones realisiert werden, welche über die Cloud miteinander verbunden sind. Da diese immer kostengünstiger zur Verfügung stehen reduziert sich der Aufwand zur Installation des Sicherheitssystems.
-
Gemäß einem zweiten Aspekt wird die Aufgabe gelöst durch ein Steuerungssystem, mit: einem Bereitstellungsserver gemäß dem ersten Aspekt; und einer Mehrzahl von verteilten Steuerungen, welche ausgebildet sind, eine Mehrzahl von einkanaligen Steuerungsparametern an den Bereitstellungsserver auszusenden.
-
Mit einem solchen Steuerungssystem wird der technische Vorteil einer einkanaligen Architektur mit diversitärer Redundanz erreicht, d.h. die Steuerungen können einfach konstruiert sein, da sie lediglich einkanalige Steuerungsparameter liefern müssen, durch die Nutzung mehrerer solcher Steuerungen kann diversitäre Redundanz erreicht werden, was einen entsprechend hohen Sicherheitsgrad gewährleistet ohne dass eine mehrkanalige Architektur erforderlich ist. Der Vorteil liegt somit darin, dass mindestens zwei unterschiedliche, also diversitäre Steuerungsplattformen verwenden werden und ihre Bearbeitung im Wesentlichen so aufeinander synchronisiert wird, dass sich zumindest der erste auftretende Fehler nicht auf den sicherheitsrelevanten Prozess auswirken kann.
-
Gemäß einem dritten Aspekt wird die Aufgabe gelöst durch ein Verfahren zur Übermittlung eines abgesicherten Steuerungsparameters über ein Kommunikationsnetzwerk an eine Maschine, mit: Empfangen einer Mehrzahl von einkanaligen Steuerungsparametern von einer Mehrzahl von verteilten Steuerungen; Vergleichen der empfangenen einkanaligen Steuerungsparameter miteinander; Ausgeben eines abgesicherten Steuerungsparameters bei Übereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter; und Übermitteln des abgesicherten Steuerungsparameters über ein Kommunikationsnetzwerk an eine Maschine.
-
Mit einem solchen Verfahren wird der technische Vorteil einer einkanaligen Architektur mit diversitärer Redundanz erreicht, d.h. die Steuerungen können einfach konstruiert sein, da sie lediglich einkanalige Steuerungsparameter liefern müssen, durch die Nutzung mehrerer solcher Steuerungen kann diversitäre Redundanz erreicht werden, was einen entsprechend hohen Sicherheitsgrad gewährleistet ohne dass eine mehrkanalige Architektur erforderlich ist. Mit dem Verfahren können mindestens zwei unterschiedliche, also diversitäre Steuerungsplattformen verwendet werden und ihre Bearbeitung kann im Wesentlichen so aufeinander synchronisiert werden, dass sich zumindest der erste auftretende Fehler nicht auf den sicherheitsrelevanten Prozess auswirken kann.
-
Ferner wird der technische Vorteil erreicht, dass das Verfahren einfach in einem Automatisierungssystem eingesetzt werden kann.
-
Gemäß einem dritten Aspekt wird die Aufgabe gelöst durch ein Computerprogramm mit einem Programmcode zum Ausführen eines derartigen Verfahrens, wenn der Programmcode auf einem Computer ausgeführt wird.
-
Das Computerprogramm lässt sich leicht auf einem Bereitstellungsserver gemäß dieser Offenbarung realisieren.
-
Weitere Ausführungsbeispiele werden Bezug nehmend auf die beiliegenden Zeichnungen erläutert. Es zeigen:
- 1 eine schematische Darstellung eines Sicherheitssystems 100 zur Steuerung räumlich verteilter Maschinen;
- 2 eine schematische Darstellung eines mehrkanaligen Steuerungssystems 200 räumlich verteilter Maschinen gemäß einer Ausführungsform,
- 3 eine schematische Darstellung eines Steuerungssystems 300 mit Bereitstellungsserver 310 gemäß einer Ausführungsform, und
- 4 eine schematische Darstellung eines Verfahrens 400 zur Übermittlung eines abgesicherten Steuerungsparameters über ein Kommunikationsnetzwerk an eine Maschine.
-
Die im Folgenden vorgestellten Sicherheitsarchitekturen können unter Nutzung der „Cloud“ verwendet werden. Mit der sogenannten „Cloud“ sind verteilte Netzwerk- und/oder Datenbankressourcen gemeint, welche ausgelagerte Aufgaben wie beispielsweise Steuerung von Informationen umfassen.
-
Ein Vorteil der Cloud ist, dass darin nicht nur Datenverarbeitung durchgeführt werden kann, sondern auch Datenbankfunktionen realisiert werden können, wodurch ein verteilter Speicher realisiert werden kann.
-
Diese Eigenschaft wird erfindungsgemäß zur Steuerung, insbesondere zur sicherheitsrelevanten Steuerung, von Maschinen, welche räumlich verteilt sein können verwendet.
-
Die im Folgenden vorgestellten Sicherheitsarchitekturen können auf den Normen IEC 61508, IEC 61131-6, IS013849, IEC 62061, IEC 61511, etc. basieren. Diese Normen definieren sogenannte Sicherheitsfunktionen, die von einem Sicherheitssystem (hier Bereitstellungsserver, Steuerung bzw. Ein- und Ausgabekomponenten) gebildet werden. Die Norm 61131-2 dagegen stellt nur Anforderungen an die Industrietauglichkeit (EMV, Umwelteinflüsse etc.). Sie ist selbst keine Sicherheitsnorm sondern eher eine SPS-Norm.
-
Die im Folgenden verwendete Sicherheitsanforderungsstufe ist ein Begriff aus dem Gebiet der funktionalen Sicherheit und wird in der internationalen Normung gemäß IEC 61508/IEC61511 auch als Sicherheitsstufe oder Sicherheits-Integritätslevel (safety integrity level, kurz SIL) bezeichnet. Sie dient der Beurteilung elektrischer/ elektronischer/programmierbar elektronischer Systeme in Bezug auf die Zuverlässigkeit von Sicherheitsfunktionen. Aus dem angestrebten Level ergeben sich die sicherheitsgerichteten Konstruktionsprinzipien, die eingehalten werden müssen, damit das Risiko einer Fehlfunktion minimiert werden kann.
-
Die im Folgenden vorgestellten Steuerungen können auf einfachen Computerplattformen oder Einplatinencomputern basieren, wie z.B. Raspberry Pi oder Arduino.
-
Der Raspberry Pi ist ein Einplatinencomputer, der von der britischen Raspberry Pi Foundation entwickelt wurde. Der Rechner enthält ein Einchipsystem von Broadcom mit einem ARM Mikroprozessor. Sein Verkaufspreis beträgt je nach Modell zwischen etwa 5 bis 35 US-Dollar. Als Betriebssystem kommen vor allem angepasste Linux-Distributionen mit grafischer Benutzeroberfläche zum Einsatz. Der Startvorgang erfolgt gewöhnlich von einer wechselbaren SD-Speicherkarte als internes Boot-Medium.
-
Arduino ist eine aus Software und Hardware bestehende Physical-Computing-Plattform. Beide Komponenten sind im Sinne von Open Source quelloffen. Die Hardware besteht aus einem einfachen Eingabe/Ausgabe-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung basiert auf Processing und soll auch technisch weniger Versierten den Zugang zur Programmierung und zu Mikrocontrollern erleichtern. Die Programmierung selbst erfolgt in einer C bzw. C++ - ähnlichen Programmiersprache, wobei technische Details wie Header-Dateien vor den Anwendern weitgehend verborgen werden und umfangreiche Bibliotheken und Beispiele die Programmierung vereinfachen. Arduino kann verwendet werden, um eigenständige interaktive Objekte zu steuern oder um mit Softwareanwendungen auf Computern zu interagieren.
-
1 zeigt eine schematische Darstellung eines Sicherheitssystems 100 zur Steuerung räumlich verteilter Maschinen mit Steuerung 110, Cloud 120 und Maschine(n) 130 gemäß einer Ausführungsform.
-
Das Sicherheitssystem 100 umfasst eine Steuerung 110, welche über die Cloud 120, z.B. einen Server oder eine Datenbank, mit einer oder mehreren räumlich verteilten Maschinen 130 verbunden ist. Die Steuerung 110 übermittelt, beispielsweise über eine gesicherte Datenbankverbindung, eine durch die Maschine 130 auszuführende Funktion, insbesondere eine sicherheitsrelevante Funktion wie z.B. Nothalt, einen Steuerbefehl oder einen Steuerungswert. Diese Funktion wird in der Cloud 120, also beispielsweise in einer über Netzwerk erreichbarer Datenbank, gespeichert. Die Cloud 120 stellt die Funktion der Maschine zum Abruf bereit.
-
Die Maschine 130 kann die Funktion von der Cloud 120 abrufen und ausführen. Dieser Abruf kann regelbasiert erfolgen, beispielsweise zu festen Zeitpunkten oder durch eine Steuerungsvorgabe oder durch ein Ereignis. Ferner kann die Cloud 120 die Maschine 130 über die Funktion informieren. Alternativ oder zusätzlich kann die Funktion auf der Maschine 130 auch schon realisiert sein und bekommt nur Werte von der Cloud 120 bzw. holt diese ab. Damit werden nicht nur abgesicherte Parameter sondern ggf. auch komplette Steuerungsfunktionen an die Maschine 130 übertragen.
-
In einer Ausführungsform kann die Cloud 120 ausgebildet sein, den durch die Steuerung 110 übermittelten Steuerungswert bzw. Steuerungsbefehl zu überprüfen, beispielsweise mit einem Referenzwert zu vergleichen. Ist der überprüfte Wert plausibel, so wird dieser für den Abruf durch die Maschine 130 bereitgestellt. Andernfalls wird der Steuerungswert bzw. Steuerungsbefehl verworfen.
-
In einer Ausführungsform kann die Cloud das Verhalten der Maschine mit dem neuen Steuerungswert emulieren. Führt das Emulieren zu keinem kritischen Zustand, wie beispielsweise einer zu hohen Drehzahl, so wird die Ausgabe freigegeben. Das Emulieren kann anhand von Modellen erfolgen, welche das Verhalten der Maschine (z.B. durch Zustandsübergänge, Petrinetz, etc.) emulieren.
-
Mit der vorgenannten Architektur 100 kann ein weiterer Diagnosekanal über eine weitere Cloud-Verbindung realisiert werden. Die Maschine 130 kann über diesen Kanal Diagnosewerte, welche durch Ausführung einer Diagnosefunktion generiert wurden, an die Cloud 120 übermitteln. Die Cloud 120 kann die Diagnosewerte zum Abruf, beispielsweise durch die Steuerung 110 oder durch eine andere Entität, breitstellen.
-
2 zeigt eine schematische Darstellung eines mehrkanaligen Steuerungssystems 200 räumlich verteilter Maschinen mit Steuerungen 111, 112, Cloud 120 und Maschine(n) 130 gemäß einer Ausführungsform. Die in 2 dargestellten zwei Steuerungen 111, 112 sind beispielhaft zu verstehen. Es versteht sich, dass natürlich auch mehr als zwei Steuerungen zur Steuerung der Maschine(n) 130 an die Cloud 120 angeschlossen sein können. Auch die dargestellte Maschine 130 ist beispielhaft zu verstehen. Es kann sich hierbei um mehrere Maschinen oder Maschinenkomponenten handeln, welche über die Cloud 120 gesteuert werden.
-
Durch die Cloud 120 kann auch eine mehrkanalige Architektur aufgebaut werden. So kann neben der Steuerung 111 eine weitere Steuerung 112 vorgesehen werden, welche ebenfalls mit der Cloud 120 verbunden ist, wie in 2 dargestellt.
-
Der Bereitstellungsserver selbst kann auch mehrkanalig sein. Da er gleichzeitig auch noch für die Kommunikation mit anderen Steuerungen und Maschinen eingesetzt werden kann, ist der Aufwand für Redundanz nur einmal erforderlich. Das Kommunikationssystem kann dann im einfachsten Fall eine Standard-Kommunikation sein oder aber ein sicheres Übertragungssystem z. B. nach der Norm IEC 61784-3.
-
Die Steuerungen 111, 112 können unterschiedliche Rechnerplattformen sein, wie beispielswiese die Plattformen „Raspberry“ oder „Arduino“, welche jeweils einkanalig arbeiten.
-
Die Steuerungswerte werden durch die Steuerungen 111, 112 an die Cloud 120 übermittelt. Die Cloud 120 vergleicht beide Steuerungswerte. Bei Übereinstimmung wird einer der Steuerungswerte für den Abruf bereitgestellt. Ansonsten wird der Abruf unterbunden.
-
Dieses Konzept gilt analog für die N-kanalige Steuerung mit N Kanälen.
-
Die Cloud 120 kann ferner die Rechnerplattformen für die Ausgabe der Steuerungswerte synchronisieren.
-
Auf diese Weise können günstige, einkanalige Rechnerplattformen für die mehrkanalige Steuerung verwendet werden.
-
Darüber hinaus können die Steuerungen 111, 112 mit einer Open Source-Software betrieben werden.
-
In einer Ausführungsform kann die Cloud 120 die Steuerungen 111, 112 auswählen, basierend beispielsweise auf einer Auslastung der Steuerungen 111, 112. Die ausgewählte Steuerung übermittelt dann die Steuerungswerte an die Cloud 120. Auf diese Weise kann aufgrund von temporärer Überlastung der Redundanzgrad zeitweise reduziert werden, ohne dass die mehrkanalige Steuerung aufgegeben wird. Aus einer N-kanaligen Steuerung wird somit eine N-1-kanalige Steuerung bei temporärer Abschaltung einer Steuerung.
-
In einer Ausführungsform kann die Cloud 120 beispielsweise auf der Basis der Rechenauslastung die Steuerungsaufgaben an diejenigen Steuerungen vergeben, welche weniger ausgelastet sind. Ferner kann die Cloud 120 die Verarbeitung entweder auslagern oder teilweise mitübernehmen. Dadurch können bestehende Steuerungsressourcen effizient genutzt werden.
-
Die Steuerungen können verteilt und ausschließlich über ein Kommunikationsnetzwerk erreichbar sein.
-
In einer Ausführungsform kann die Cloud 120 als weitere Redundanz Steuerungsressourcen bereitstellen, beispielsweise für den Fall, dass eine der Steuerungen ausfällt. Die Mehrkanaligkeit wird auch in diesem Fall aufrechterhalten.
-
3 zeigt eine schematische Darstellung eines Steuerungssystems 300 mit Bereitstellungsserver 310 gemäß einer Ausführungsform. Das Steuerungssystem 300 umfasst eine Mehrzahl von verteilten Steuerungen 111, 112, 113, einen Bereitstellungsserver 310, an den die Steuerungen 111, 112, 113 angeschlossen sind, ein Kommunikationsnetz 320, und eine oder mehrere Maschinen 130 oder Maschinenkomponenten, welche mit dem Bereitstellungsserver 310 über das Kommunikationsnetz 320 verbunden sind. Die verteilten Steuerungen 111, 112, 113 sind ausgebildet, eine Mehrzahl von einkanaligen Steuerungsparametern 301, 302, 303 an den Bereitstellungsserver 310 auszusenden.
-
Der Bereitstellungsserver 310 dient der Bereitstellung eines abgesicherten Steuerungsparameters 304 zur mehrkanaligen Steuerung einer Maschine 130 unter Verwendung einer Mehrzahl von verteilten Steuerungen 111, 112, 113, welche einkanalige Steuerungsparameter 301, 302, 303 ausgeben. Die Maschine 130 umfasst eine Steuerungseinheit 131 umfasst, welche auf der Basis des abgesicherten Steuerparameters 304 einen Steuerbefehl zur Steuerung der Maschine 130 erzeugt.
-
Der Bereitstellungsserver umfasst zwei Kommunikationsschnittstellen 311, 312 und einen Prozessor 313. Es versteht sich, dass der Prozessor 313 hier nur beispielhaft steht für Hardware, die nötig ist, um die Aufgaben des Bereitstellungsservers auszuführen. Statt einem einzelnen Prozessor 313 kann der Bereitstellungsserver auch mehrere Prozessoren, z.B. eines Multi-Prozessorsystems umfassen, welche spezifische Aufgaben des Bereitstellungsservers ausführen. Die erste Kommunikationsschnittstelle 311 ist ausgebildet, eine Mehrzahl von einkanaligen Steuerungsparametern 301, 302, 303 von der Mehrzahl von verteilten Steuerungen 111, 112, 113 zu empfangen.
-
Mindestens ein Prozessor (z.B. der in 3 dargestellte Prozessor 313) ist ausgebildet, die empfangenen einkanaligen Steuerungsparameter 301, 302, 303 miteinander zu vergleichen und bei Übereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter 301, 302, 303 einen empfangenen Steuerungsparameter als den abgesicherten Steuerungsparameter 304 auszugeben. Eine Anzahl der einkanaligen Steuerungsparameter 301, 302, 303 kann ein einziger oder eine beliebige Mehrzahl der einkanaligen Steuerungsparameter 301, 302, 303 sein. Die Anzahl kann auch alle der einkanaligen Steuerungsparameter bezeichnen.
-
In Ausführungsformen des Steuerungssystems 300, welche der Norm SIL 2 bzw. 3 genügen, kann auch der Cloud-Server mehrkanalig aufgebaut sein oder sich seinerseits mit anderen Bereitstellungsservern abstimmen.
-
Die zweite Kommunikationsschnittstelle 312 ist ausgebildet, den abgesicherten Steuerungsparameter 304 über ein Kommunikationsnetzwerk 320 an die Maschine 130 auszusenden.
-
In einer Ausführungsform ist der Prozessor 313 ausgebildet, bei Übereinstimmung aller einkanaliger Steuerungsparameter 301, 302, 303 einen empfangenen Steuerungsparameter als den abgesicherten Steuerungsparameter 304 auszugeben. Alternativ kann die Anzahl der zu übereinstimmenden einkanaligen Steuerungsparameter 301, 302, 303 durch einen vorgegebenen Schwellwert, insbesondere prozentualen Schwellwert, vorbestimmt sein.
-
In einer Ausführungsform kann die erste Kommunikationsschnittstelle 311 eine drahtgebundene Kommunikationsschnittstelle mit Anschlussports, insbesondere USB-Ports, zum Anschließen der Mehrzahl der verteilten Steuerungen (111, 112, 113) sein. Alternativ kann die erste Kommunikationsschnittstelle 311 eine drahtlose Kommunikationsschnittstelle für die drahtlose Kommunikation mit den verteilten Steuerungen 111, 112, 113 über ein Kommunikationsnetzwerk, insbesondere über das Kommunikationsnetzwerk 320 sein.
-
In einer Ausführungsform ist die zweite Kommunikationsschnittstelle 312 ausgebildet, ein Anforderungssignal zum Aussenden des abgesicherten Steuerungsparameters 304 von der Maschine 130 über das Kommunikationsnetzwerk 320 zu empfangen und ansprechend auf den Empfang des Anforderungssignals den abgesicherten Steuerungsparameter 304 an die Maschine 130 über das Kommunikationsnetzwerk 320 auszusenden.
-
In einer Ausführungsform kann die zweite Kommunikationsschnittstelle 312 ausgebildet sein, ein Bereitstellungssignal an die Maschine 130 auszusenden, das die Bereitstellung des abgesicherten Steuerungsparameters 304 anzeigt.
-
In einer Ausführungsform kann die zweite Kommunikationsschnittstelle 312 eine drahtlose Kommunikationsschnittstelle oder eine drahtgebundene Kommunikationsschnittstelle sein, z.B. Ethernet, LAN, etc.
-
In einer Ausführungsform kann die Mehrzahl von verteilten Steuerungen 111, 112, 113 einen oder mehrere Arduino PCs oder Raspberry Pi Prozessoren zum Bereitstellen der Mehrzahl von einkanaligen Steuerungsparametern 301, 302, 303 umfassen.
-
In einer Ausführungsform kann der Prozessor 313 ausgebildet sein, bei Nichtübereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter 301, 302, 303 eine Meldung an eine Diagnoseeinrichtung zu übertragen.
-
In einer Ausführungsform kann die erste Kommunikationsschnittstelle 311 ausgebildet sein, die Mehrzahl von einkanaligen Steuerungsparametern 301, 302, 303 über ein vorgegebenes Empfangszeitfenster von der Mehrzahl von verteilten Steuerungen 111, 112, 113 zu empfangen.
-
In einer Ausführungsform kann die Mehrzahl von verteilten Steuerungen 111, 112, 113 verschiedenen Rechnerplattformen zugeordnet sein, und austauschbar an die erste Kommunikationsschnittstelle 311 gekoppelt sein.
-
In einer Ausführungsform kann der Prozessor 313 ausgebildet sein, bei Nichtübereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter 301, 302, 303 die zugehörigen Steuerungen von der ersten Kommunikationsschnittstelle 311 zu entkoppeln und durch andere Steuerungen zu ersetzen.
-
In einer Ausführungsform kann die Mehrzahl von verteilten Steuerungen 111, 112, 113 über ein sicherheitsrelevantes Betriebssystem verfügen, welches einem Sicherheitsstandard genügt, insbesondere der IEC 61131-2, wobei der Sicherheitsstandard die verteilten Steuerungen 111, 112, 113 gegenüber Störungen, Verpolungen und/oder Überspannungen schützt.
-
In einer Ausführungsform kann die Mehrzahl von verteilten Steuerungen 111, 112, 113 auf Basis von Mobiltelefon-Hardware realisiert sein oder als mobile Kommunikationsendgeräte realisiert sein.
-
Derzeit sind verschiedene kostengünstige Steuerungsplattformen bekannt und werden immer populärer. Zu nennen sind hier mindestens der Arduino PC und der Raspberry Pi.
-
Beide Plattformen sind nicht für die Sicherheitstechnik vorgesehen, aber total diversitär aufgebaut. Jede der Plattformen erhält ein Programm zur Steuerung sicherheitsrelevanter Anwendungen, das dieselbe sicherheitsrelevante Aufgabenstellung lösen kann. Die Steuerungen 111, 112, 113 können auf solchen Steuerungsplattformen basieren.
-
Beide (oder auch mehrere der) Plattformen können miteinander synchronisiert werden, so dass vor Ausgabe eines Ausgabewerts an verschiedenen Stellen des Programmablaufs Ausgangswerte miteinander verglichen werden können. Unterscheidet sich nur ein Ausgang der einen Rechnerplattform von dem der anderen Rechnerplattform(en) wird eine Ausgabe des Wertes unterbunden. Eine solche Synchronisierung kann in dem Prozessor 313 des Bereitstellungsservers 310 erfolgen.
-
In Reaktion auf diesen Fehler ist es möglich, den Programmablauf neu zu starten, mittels einer Diagnoseeinrichtung den Fehler zu ermitteln und entweder die Bearbeitung zu unterbrechen oder den Fehler zu beheben. Der Vorteil dieser Architektur besteht im Wesentlichen darin, dass bereits entwickelte, kostengünstige Rechnerplattformen verwendet werden können, um sicherheitsrelevante Prozesse über den Bereitstellungsserver 310 zu steuern, der in der Cloud installiert sein kann.
-
Weiterhin kann auf mindestens einer der Plattformen, d.h. einer der Steuerungen 111, 112, 113, ein sicherheitsgerichtetes Echtzeitbetriebssystem installiert sein. In der OSADL, einer Nutzvereinigung für Open Source-Software in Deutschland, steht ein sicherheitsrelevantes Linux-Betriebssystem zur Verfügung, das einfach auf die genannten Rechnerplattformen portiert werden kann, da beide bereits mit einem Linux Betriebssystem aufgerüstet sind. Damit wird es möglich, auch höhere SILs, d.h. sicherheitsrelevante Anforderungen, abzudecken. Dann können zwei homogen redundante Rechnerplattformen (z.B. die Rechnerplattformen für die Steuerungen 111, 112, 113) mit einem sicheren Betriebssystem arbeiten, was die Forderung diversitär redundanter Rechnerplattformen entfallen ließe oder diesen zumindest gleichwertig wäre.
-
Grundsätzlich kann das Prinzip auch für die Kombination ganz anderer Rechnerplattformen genutzt werden. So ist auch eine Kombination von steuerungsfähigen Komponenten für die Steuerungen 111, 112, 113 möglich, die auf Basis von Android oder iOS arbeiten. Somit können auch sichere Steuerungen auf Basis von Handy-Hardware realisiert werden. Auch braucht wieder nur eine aufgabenidentische Sicherheitsapplikation installiert werden (z.B. durch den Bereitstellungsserver 310), die auch für die Synchronisation dar Verknüpfungsergebnisse der beiden Plattformen eingerichtet ist.
-
In einer Ausführungsform genügen die Rechnerplattformen der IEC 61131-2 Sicherheitsnorm, so dass diese also im Wesentlichen gegen Störungen, Verpolunqen oder Überspannungen geschützt sind. Auch kann ein erweiterter Temperaturbereich von - 40 bis 50 °C bei bis zu 80 Prozent relativer Luftfeuchtigkeit betrieben werden.
-
Die beiden Rechnerplattformen können über eine Cloud über weite Strecken miteinander kommunizieren oder ihre aufgezeichneten Prozessdaten und/oder Diagnosedaten dort für die anderen Steuerungen ablegen, wie in 3 dargestellt, bei welcher der Bereitstellungsserver 310 in der Cloud installiert sein kann. So kann zentral oder dezentral durch Analyse der Daten ein bevorstehender Ausfall rechtzeitig erkannt werden und es können Gegenmaßnahmen eingeleitet werden.
-
Mit der Architektur gemäß 3 kann somit ein Redundanzkonzept geschaffen werden, bei dem mehrere Rechnerplattformen über die Cloud miteinander verbunden sind, wodurch alle auf dieselben Daten zugreifen können (Hot und/oder Cold-Standby). Fällt eine solche Rechnerplattform aus, kann eine andere deren Aufgaben übernehmen.
-
In einer Ausführungsform kann über eine Lastermittlung, also wie stark eine Rechnerplattform bzw. Steuerung 111, 112, 113 gerade ausgelastet ist, auch eine angepasste Lastverteilung erreicht werden, in dem der nahe an einer Überlastsituation stehenden Rechnerplattform bzw. Steuerung Aufgaben abgenommen und einer anderen Rechnerplattform bzw. Steuerung übertragen werden. Dies ist umso leichter, wenn Ein- und Ausgangsmodule bzw. Kommunikationsschnittstellen 311 über Funk mit der Rechnerplattform bzw. Steuerung 111, 112, 113 verbunden sind und diese Module eine Steuerung von unterschiedlichen Rechnerplattformen erlauben (Multi-Slave). Im Fehlerfall oder bei einer bestimmten Benachrichtigung werden die E/A-Module dann flexibel einer anderen Steuerungsplattform zugeordnet. Auch kann ein Time Sharing erfolgen, so dass der Zugriff auf die mobilen E/A-Geräte einem vorgegebenen Muster (Zeitscheiben, Token-Mechanismus, etc.) folgt.
-
Eines der Hauptvorteile liegt darin, dass eine solche Rechnerplattform deutlich flexibler ist, als proprietäre Sicherheitssteuerungen mit einem proprietären Betriebssystem. Durch die konsequente Nutzung von Linux sowohl als Standard- als auch als Sicherheits-(„Safety“) Version können auf äußerst kostengünstige Weise skalierbare Sicherheitssteuerungen realisiert werden, die auf die stetig steigende Anzahl von Modulen für diese Plattform immer flexibler reagieren.
-
Ein weiterer Vorteil besteht darin, dass die Hardware selbst keinem aufwändigen Test unterzogen werden muss. Es kann entweder diversitäre Redundanz genutzt werden oder die Rechner können mit einem sicheren Linux-Betriebssystem ausgerüstet werden. Dann können beide Rechnerplattformen auch homogen redundant sein, da das Safety-Linux gleichzeitig den Test der nicht-sicherheitsrelevanten Hardware-Plattform übernehmen kann. Damit kann bereits die Sicherheitsanforderung SIL 2 durch diversitär redundante miteinander synchronisierte Standardsteuerungen erreicht werden, sofern die Plattformen die IEC 61131-2 Anforderungen erfüllen.
-
4 ist eine schematische Darstellung eines Verfahrens 400 zur Übermittlung eines abgesicherten Steuerungsparameters 304 über ein Kommunikationsnetzwerk 320 an eine Maschine 130.
-
Das Verfahren 400 umfasst die folgenden Schritte: Empfangen 401 einer Mehrzahl von einkanaligen Steuerungsparametern 301, 302, 303 von einer Mehrzahl von verteilten Steuerungen 111, 112, 113, wie z.B. in 3 beschrieben; Vergleichen 402 der empfangenen einkanaligen Steuerungsparameter 301, 302, 303 miteinander; Ausgeben 403 eines abgesicherten Steuerungsparameters 304 bei Übereinstimmung von einer Anzahl der einkanaligen Steuerungsparameter 301, 302, 303; und Übermitteln 404 des abgesicherten Steuerungsparameters (304) über ein Kommunikationsnetzwerk 320 an eine Maschine 130.
-
Bezugszeichenliste
-
- 100
- Steuerungssystem
- 110
- Steuerung
- 120
- Cloud, z.B. Server, Datenbank, etc.
- 130
- Maschine
- 200
- Steuerungssystem
- 111
- Steuerung 1
- 112
- Steuerung 2
- 300
- Steuerungssystem
- 113
- Steuerung n
- 310
- Bereitstellungsserver
- 301
- einkanaliger Steuerungsparameter
- 302
- einkanaliger Steuerungsparameter
- 303
- einkanaliger Steuerungsparameter
- 311
- erste Kommunikationsschnittstelle
- 312
- zweite Kommunikationsschnittstelle
- 313
- Prozessor
- 304
- abgesicherter Steuerungsparameter
- 320
- Kommunikationsnetzwerk
- 131
- Steuerungseinheit
- 400
- Verfahren zur Übermittlung eines abgesicherten Steuerungsparameters
- 401
- Empfangen erster Steuerungsparameter
- 402
- Empfangen zweiter Steuerungsparameter
- 403
- Vergleichen
- 404
- Übermitteln