DE102006012042A1 - Steuervorrichtung zur fehlersicheren Steuerung einer Maschine - Google Patents
Steuervorrichtung zur fehlersicheren Steuerung einer Maschine Download PDFInfo
- Publication number
- DE102006012042A1 DE102006012042A1 DE200610012042 DE102006012042A DE102006012042A1 DE 102006012042 A1 DE102006012042 A1 DE 102006012042A1 DE 200610012042 DE200610012042 DE 200610012042 DE 102006012042 A DE102006012042 A DE 102006012042A DE 102006012042 A1 DE102006012042 A1 DE 102006012042A1
- Authority
- DE
- Germany
- Prior art keywords
- processor
- processor cores
- control device
- core
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/06—Safety devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
Abstract
Description
- Die Erfindung betrifft eine Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine oder Anlage mit mindestens zwei Kanälen zum Abarbeiten von unabhängigen Codes mit einer wechselseitigen Sicherheitsüberwachung und mit Eingangs- und Ausgangsschnittstelle zum Kommunizieren der durch die Codes ausgewerteten Eingangssignalen und daraufhin generierten Steuersignale an die Maschine oder Anlage. Weiterhin betrifft die Erfindung ein Verfahren zur fehlersicheren Steuerung einer Maschine, wobei in zumindest zwei Kanälen ein Code mit einer wechselseitigen Sicherheitsüberwachung der Kanäle abgearbeitet wird.
- Aus der
DE 197 18 284 C2 ist eine gattungsgemäße Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine bekannt, in der die nach den einschlägigen Sicherheitsnormen für die Sicherheit von Maschinensteuerungen geforderte Zweikanaligkeit dadurch realisiert ist, dass in verschiedenen Funktionseinheiten jeweils ein Prozessor mit einem einzelnen Prozessorkern vorliegt, der einen Code zur Steuerung der Maschine und zur wechselseitigen Sicherungsüberwachung der Funktionseinheiten abarbeitet. - Der Erfindung liegt insbesondere die Aufgabe zugrunde, die zweikanalige Sicherheitsüberwachung durch eine einzige, kostengünstige Funktionseinheit mit nur einem einzigen Prozessor zu realisieren.
- Die Erfindung schlägt eine gattungsgemäße Vorrichtung vor, bei der die Steuerungsvorrichtung einen Mehrkernprozessor mit wenigstens zwei Prozessorkernen aufweist, wobei die wenigstens zwei Kanäle jeweils durch einen der Prozessorkerne eines Mehrkernprozessors realisiert sind.
- Durch die erfindungsgemäße Lösung kann die aufwändige Synchronisation zweier Prozessoren vorteilhaft entfallen und es kann auf kostengünstige Standardbauteile aus der Personal Computer (PC)-Technik zurückgegriffen werden. Es kann eine im Vergleich zur Steuerungsvorrichtungen mit zwei Prozessoren besonders kompakt bauende Steuerungsvorrichtung bereitgestellt werden. Zur Lösung der genannten Aufgabe schlägt die Erfindung bei einem gattungsgemäßen Verfahren vor, dass die zumindest zwei Kanäle in einem Mehrkernprozessor mit wenigstens zwei Prozessorkernen realisiert werden, die jeweils eine Ausführungsvariante des Codes abarbeiten, die unabhängig von der Ausführungsvariante des von dem jeweils anderen Prozessorkern abgearbeiteten Codes ist. Dadurch kann insbesondere die von der Sicherheitsnorm SIL 2 (DIN EN 954-1) geforderte Zweikanaligkeit in einer einfachen Weise gewährleistet werden.
- Obwohl die erfindungsgemäße Lösung der Aufgabe prinzipiell im Zusammenhang mit jeder. dem Fachmann als geeignet erscheinenden Maschine oder Anlage einsetzbar ist, sind wegen der hohen Komplexität der anfallenden Steuerungsaufgaben besondere Vorteile bei der Steuerung von Robotern in der Form frei programmierbarer Mehrzweck-Manipulatoren mit min destens drei Achsen (EN ISO 8373, 2.6), insbesondere von Gelenkrobotern erreichbar.
- Ein Mehrkernprozessor ist dadurch definiert, dass zwei oder mehr Prozessorkerne in einem Prozessorgehäuse realisiert sind.
- Besonders weit verbreitet und kostengünstig sind hier so genannte Hyperthreading, Dual- oder Multi-Core-Prozessoren aus der PC-Technik einsetzbar, die eine „Symmetric Multi Processing" (SMP)-Architektur haben.
- Eine Synchronisation über ein weiter unten beschriebenes Spin-Lock-Verfahren ist ohne eine externe, aktive Synchronisationseinheit erreichbar, wenn die Sicherheitsvorrichtung wenigstens einen Hauptspeicher aufweist, auf welchen die wenigstens zwei Prozessorkerne gemeinsam zugreifen.
- Wenn in dem Hauptspeicher wenigstens zwei, jeweils einem der Prozessorkerne zugeordnete Ausführungsvarianten des Codes abgelegt sind, können durch die zweikanalige Ausführung der Steuerungsvorrichtung neben so genannten weichen Fehlern, die auf häufig durch Höhenstrahlung verursachte Bitfehler zurückzuführen sind, auch Programmierungsfehler in einer der Ausführungsvarianten des Codes erkannt werden. Die beiden Ausführungsvarianten können im einfachsten Fall Kopien des Codes sein, wobei eine weiter erhöhte Sicherheit erreicht werden kann, wenn die Ausführungsvarianten des Codes unabhängig voneinander sind. Die Unabhängigkeit kann beispielsweise dadurch gewährleistet sein, dass die beiden Ausführungsvarianten unabhängig von verschiedenen Programmierern programmiert oder durch unterschiedliche Compiler erstellt wurden. Dadurch kann die in der Sicherheitsnorm SIL 3 geforderte Diversität erreicht werden. Der Mehrkern prozessor wird mit den beiden Ausführungsvarianten des Codes grundsätzlich im „Asymmetric-Multiprocessing„ (AMP)-Modus betrieben, in dem die Verteilung der Aufgaben nicht einem Betriebssystem überlassen wird sondern durch die Programmstruktur vorgegeben ist.
- Wenn der Hauptspeicher wenigstens einen von den wenigstens zwei Prozessorkernen gemeinsam genutzten Bereich, also einen „Shared-Memory-Bereich", aufweist, in welchen zumindest einer der wenigstens zwei Prozessorkerne wenigstens ein Zwischenergebnis oder Endergebnis des abzuarbeitenden Codes schreiben und aus welchem der jeweils andere Prozessorkern das Zwischenergebnis auslesen kann, kann eine wechselseitige Sicherheitsüberwachung über die Zwischenergebnisse erfolgen. Die Prozessorkerne generieren bzw. vergleichen die Zwischenergebnisse jeweils nach dem Ausführen analoger Blöcke des Codes, wobei die Häufigkeit der Vergleiche in besonders sicherheitsrelevanten Phasen höher sein kann als in weniger sicherheitsrelevanten Phasen des Programmablaufs. Im Fall unabhängig entwickelter Codes können die Punkte, an denen ein Vergleich vorgenommen wird, und die Art der zu vergleichenden Zwischenergebnisse den Entwicklern als Rahmen vorgegeben sein.
- In einer weiteren Ausgestaltung der Erfindung können die Prozessorkerne oder ein Überwachungsprozessor dazu vorgesehen sein, beispielsweise an der Ausgangsschnittstelle ein Stoppsignal zum Unterbrechen der Steuerung der Maschine oder Anlage zu generieren oder die Ausgabe von Steuersignalen einfach zu unterbrechen, wenn die von den wenigstens zwei Prozessorkernen ermittelten Zwischenergebnisse oder Endergebnisse nicht übereinstimmen. Das Stoppsignal kann die Maschine oder Anlage durch geeignete Steuersignale an der Ausgangsschnittstelle in einen sicheren Zustand bringen, bis der die unterschiedlichen Zwischenergebnisse ver ursachende Fehler gefunden und behoben ist. Ein weicher Fehler kann einfach erkennt werden, wenn nach dem Unterbrechen der Steuerung durch das Stoppsignal ein vorangegangener Programmblock erneut ausgeführt wird. Stimmen die neu berechneten Zwischenergebnisse überein, so kann die Steuerungsaufgabe fortgesetzt werden.
- Fehler, die während der Nachrichtenübermittlung von einem Prozessorkern nach außen entstehen, können dadurch vermieden werden, dass der Code zu jeder sicherheitsrelevanten, von einem Prozessorkern generierten Nachricht wenigstens ein durch den Inhalt der Nachricht bestimmtes Prüfzeichen hinzufügt. Im einfachsten Fall kann das Prüfzeichen ein Paritätsbit sein, welches angibt, ob die Zahl der Einsen oder Nullen in der Nachricht gerade oder ungerade ist. Es können natürlich auch andere Prüfzeichen, Prüfsummen, Cyclic Redundancy Checks (CRC) oder Verfahren aus dem Bereich der „Error Correcting Codes" eingesetzt werden.
- Fehler, die während der Nachrichtenübermittlung von außen bzw. von der Peripherie an einen der Prozessorkerne entstehen, können dadurch vermieden werden, dass der Code zu jeder sicherheitsrelevanten, von einem Prozessorkern gelesenen oder empfangenen Nachricht wenigstens ein durch den Inhalt der Nachricht bestimmtes Prüfzeichen berechnet und mit einem der Nachricht beigefügten Prüfzeichen vergleicht.
- Eine durchgängige Sicherheit kann insbesondere erreicht werden, wenn alle Nachrichten entweder zweikanalig redundant von beiden Prozessorkernen gelesen oder empfangen werden oder einkanalig vorliegen, dann aber mit einem Prüfzeichen versehen sind.
- Bei Konzentration der Zweikanaligkeit auf sicherheitsrelevante Aufgaben kann eine hohe Leistungsfähigkeit des Mehr kernprozessors im Bereich von nicht sicherheitsrelevanten Aufgaben erreicht werden, wenn wenigstens einer der Prozessorkerne dazu ausgelegt ist, zusätzlich zum Abarbeiten des die Sicherheitsüberwachung durchführenden Codes unabhängig von dem zweiten Prozessorkern wenigstens eine weitere Einzelaufgabe durchzuführen, die insbesondere auch einkanalig durchgeführt werden und nicht sicherheitsrelevant sein kann. Ferner kann einer der Prozessorkerne zusätzlich zu der Sicherheitssteuerung eine schnelle, die Steuerung ergänzende Regelungssoftware abarbeiten.
- Auf kostengünstige Mehrkernprozessoren kann zurückgegriffen werden, wenn der der Mehrkernprozessor als PC-Mehrkernprozessor ausgebildet ist. Dadurch kann die Technik der Sicherheitssteuerung zudem auf die schnellen Entwicklungszyklen der PC-Technik zurückgreifen.
- Weitere Vorteile ergeben sich aus der folgenden Figurenbeschreibung. Die Figuren zeigen Ausführungsbeispiele der Erfindung. Die Figuren, die Beschreibung und die Ansprüche enthalten zahlreiche Merkmale in Kombination, die der Fachmann auch einzeln betrachten und zu sinnvollen weiteren Kombinationen zusammenfassen wird. Dabei zeigen:
-
1 eine schematische Darstellung einer Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine, die einen Mehrkernprozessor umfasst, -
2 eine schematische Darstellung eines Mehrkernprozessors mit einer SMP-Architektur; -
3 eine schematische Darstellung einer alternativen Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine mit einer als eigene Baugruppe aus gebildeten Regelung und -
4 eine schematische Darstellung einer weiteren alternativen Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine mit einer als eigene Baugruppe ausgebildeten Regelung. -
1 zeigt eine als PC ausgebildete Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine10 mit zumindest zwei Kanälen16 ,18 zum Abarbeiten eines Codes12 ,14 mit einer wechselseitigen Sicherheitsüberwachung und mit einer Ausgangsschnittstelle20 zum Kommunizieren der durch den Code12 ,14 generierten Steuersignale an die Maschine10 . - Die Steuerungsvorrichtung umfasst als zentrales Element einen Mehrkernprozessor
22 mit wenigstens zwei Anwendungs-Prozessorkernen24 ,26 , wobei die wenigstens zwei Kanäle16 ,18 jeweils durch einen der Prozessorkerne24 ,26 eines Mehrkernprozessors22 realisiert sind. - Der Mehrkernprozessor
22 weist eine SMP–Architektur auf, wird aber zur Sicherheitssteuerung in einem AMP–Modus betrieben. - Die SMP-Architektur ist insbesondere dadurch charakterisiert, dass alle Prozessorkerne
24 ,26 auf dem selben Hauptspeicher28 (RAM) arbeiten, wobei die Verwaltungseinheiten des PC's – der so genannte Chip Set, für eine leistungsfähige Zugriffsarbitrierung sorgen und wobei die Betriebs-Software die Rechenaufgaben in einer gleichberechtigten Weise auf die Prozessorkerne24 ,26 verteilen. Alle Prozessorkerne24 ,26 haben gleichberechtigten Zugriff auf die gesamte Peripherie des den Mehrkernprozessor22 umfassenden Computers. Liegt keine gleichberechtigte Verteilung der Aufgaben auf die Prozessorkerne24 ,26 vor, weil beispielsweise auf den Prozessorkernen24 ,26 unterschiedliche Betriebssysteme oder unterschiedliche Betriebs-Software laufen, so spricht man von „Asymmetric Multi Processing" (AMP). - Jeder Prozessorkern
24 ,26 besitzt einen lokalen Interrupt Controller30 ,32 ,34 (local APIC-„Advanced Programmable Interrupt Controller") und es gibt mindestens einen – im vorliegenden Fall zwei – zentrale Interrupt Controller36 ,38 (I/O-APIC), welche die Interrupts der Peripherie des den Mehrkernprozessor22 umfassenden Computers an die lokalen Interrupt Controller30 ,32 ,34 versendet (2 ). - Die grundlegende Betriebs-Software (BIOS) eines SMP-Systems ist gewöhnlich so gestaltet, dass es beim Einschalten des Systems zunächst einen der Prozessorkerne
24 ,26 , den so genannten „Bootstrap"-Prozessorkern40 (BSP) startet, der dann später die weiteren Prozessorkerne24 ,26 , die auch als „Application Processor" (AP) bezeichnet werden, startet. - Zu Synchronisationszwecken kann jeder der Prozessorkerne
24 ,26 durch einen unteilbaren atomaren Befehl („Test and Set") eine Speicherzelle im Hauptspeicher28 sicher für sich reservieren. Wenn die übrigen Prozessorkerne24 ,26 diese Speicherzelle zu diesem Zeitpunkt für sich beanspruchen, warten sie so lange, bis der Prozessorkern24 ,26 die Speicherzelle wieder abgibt. Der entsprechende Synchronisationsvorgang wird auch als „Spin Lock" bezeichnet. Die Informationen über die reservierten Speicherzellen erhalten die Prozessorkerne24 ,26 über Bits im Hauptspeicher28 , die allen am Spin-Lock beteiligten Prozessorkernen24 ,26 zugänglich sind. - Der erfindungsgemäß eingesetzte Mehrkernprozessor
22 muss nicht alle Merkmale der oben genannten SMP-Architektur aufweisen. Der Fachmann wird zur Gestaltung des Mehrkernprozessors22 vielmehr einzelne der oben genannten Merkmale aufgreifen und abhängig von der geplanten Anwendung zu neuen Merkmalskombinationen zusammenfassen. - Die Steuervorrichtung hat einen Hauptspeicher
28 , auf welchen die wenigstens zwei Prozessorkerne24 ,26 im Sinne eines „Shared Memory" zugreifen. Der Hauptspeicher28 kann besonders vorteilhaft als flüchtiger „Random Access Memory" (RAM) ausgebildet sein, in welchen die auszuführenden Codes12 ,14 beim Start der Steuervorrichtung von einem nicht flüchtigen Speichermedium, beispielsweise von einer Festplatte, geladen werden. - In dem Hauptspeicher
28 sind zwei, jeweils einem der Prozessorkerne24 ,26 zugeordnete Ausführungsvarianten42 ,44 des Codes12 ,14 abgelegt, wobei die Ausführungsvarianten42 ,44 des Codes12 ,14 in dem Sinne unabhängig voneinander sind, dass sie getrennt entwickelt wurden, aber eine Folge von jeweils analogen Programmblöcken abarbeiten. Die einzelnen Ausführungsvarianten42 ,44 des Codes12 ,14 müssen nicht auf einer zusammenhängenden Folge von Adressen des Hauptspeichers28 abgelegt sein. - Durch die getrennten Ausführungsvarianten
42 ,44 der Codes12 ,14 handelt es sich bei dem vorgeschlagenen Betriebsmodus nicht um einen redundanten Modus, in dem beide Prozessorkerne24 ,26 identische Befehle aus demselben Code12 ,14 abarbeiten, sondern um einen geteilten Modus. Das Prinzip des redundanten Modus sollte in Sicherheitssteuerungen der industriellen Automatisierung eher nicht verwendet werden, da relevante Daten zur Verbesserung der Sicherheit zweikanalig verarbeitet werden sollten. Im geteilten Modus arbeiten beide Prozessorkerne24 ,26 ihren jeweiligen Code12 ,14 unabhängig voneinander ab und müssen Daten jeder für sich, also zweikanalig, erfassen. - Der Hauptspeicher
28 hat wenigstens einen von den wenigstens zwei Prozessorkernen24 ,26 gemeinsam genutzten „Shared Memory" Bereich46 , in welchen zumindest einer der wenigstens zwei Prozessorkerne24 ,26 wenigstens ein Zwischenergebnis oder Endergebnis des abzuarbeitenden Codes12 ,14 schreiben und aus welchem der jeweils andere Prozessorkern24 ,26 das Zwischenergebnis auslesen kann. - Durch diese im Code
12 ,14 implementierte wechselseitige Sicherheitsüberwachung sind die Prozessorkerne24 ,26 oder ein Überwachungsprozessor dazu ausgelegt, ein Stoppsignal zum Unterbrechen der Steuerung der Maschine10 zu generieren, wenn die von den wenigstens zwei Prozessorkernen24 ,26 ermittelten Zwischenergebnisse oder Endergebnisse nicht übereinstimmen. Das Stoppsignal löst einen Haltevorgang der im vorliegenden Ausführungsbeispiel als Industrieroboter ausgebildeten Maschine10 aus, in dem die Maschine10 in einer sicheren Pose arretiert wird. - Stimmt ein Paar von Zwischenergebnissen nicht überein, so generiert der Mehrkernprozessor
22 kein Steuersignal. Nur wenn Übereinstimmung in allen Zwischenergebnissen herrscht, generieren die Prozessorkerne24 ,26 jeweils ein gleichlautendes Steuersignal, das in je einem Kanal16 ,18 der zweikanaligen Ausgangsschnittstelle20 an die Maschine10 ausgegeben wird. - Der Code
12 ,14 fügt zu jeder sicherheitsrelevanten, von einem Prozessorkern24 ,26 generierten Nachricht wenigstens ein durch den Inhalt der Nachricht bestimmtes Prüfzeichen hinzu, das in der einfachsten Ausführungsform eine Zahl oder ein Paritätsbit ist, das die Parität der Anzahl von Einsen oder Nullen in der Nachricht angibt. - Der Code
12 ,14 berechnet ferner zu jeder sicherheitsrelevanten, von einem Prozessorkern24 ,26 gelesenen oder empfangenen Nachricht aus dem Inhalt der Nachricht ein Prüfzeichen und vergleicht es mit dem Nachricht beigefügten Prüfzeichen. Unterscheidet sich das berechnete Prüfzeichen von dem der Nachricht beigefügten Prüfzeichen, so generiert der Prozessorkern24 ,26 ein Warnsignal und führt die in der dadurch als fehlerhaft erkannten Nachricht enthaltenen Befehle nicht aus. -
2 zeigt den Aufbau einer Steuerungsvorrichtung mit einem Mehrkernprozessor22 der oben beschriebenen Art. Der Mehrkernprozessor22 besteht unter anderem aus dem ersten Prozessorkern24 , dem zweiten Prozessorkern26 , dem Bootstrap-Prozessorkern40 und einem Hauptspeicher28 . Über einen Kommunikationsverteiler (Switch)58 kann der Mehrkernprozessor22 über einem Systembus48 sowie mit einem portablen Bedienhandgerät50 über ein durch Prüfzeichen oder ähnliches abgesichertes Protokoll kommunizieren. Zusätzlich umfasst die Steuerungsvorrichtung einen Netzwerkanschluss52 zur sicheren Anlagenanschaltung. - Die Prozessorkerne
24 ,26 können zusätzlich zum Abarbeiten des die Sicherheitsüberwachung durchführenden Codes12 ,14 , unabhängig von dem jeweils anderen Prozessorkern24 ,26 wenigstens eine weitere, einkanalige Einzelaufgabe durchzuführen. - Die Einzelaufgabe des ersten Prozessorkerns
24 besteht dabei beispielsweise im Abarbeiten einer Steuerungsaufgabe, wie dem Betrieb einer Robotersteuerung, z.B. unter Doppel betriebssystem VxWin, während der zweite Prozessorkern26 eine schnelle, einkanalige Regelungssoftware abarbeitet, beispielsweise unter dem Betriebssystem VxWorks, wobei die Regelungssoftware die Steuerung unterstützt. Eine Regeleinheit54 ist daher als Software ausgeführt und in den zweiten Prozessorkern24 ,26 integriert. Die Steuersignale an einen an die Ausgangsschnittstelle20 angeschlossenen Roboter bzw. an eine Maschine10 mit einer Einheit56 zur sicheren Positionserfassung werden über die Regeleinheit54 durch einen Antriebsbus an die Ausgangsschnittstelle20 übermittelt. - Die
3 und4 zeigen weitere Ausführungsbeispiele der Erfindung. In der nachfolgenden Beschreibung wird im Wesentlichen auf Unterschiede zu dem in den1 und2 dargestellten Ausführungsbeispiel verwiesen. Im Hinblick auf gleich bleibende Merkmale wird auf die Beschreibung zu den1 und2 verwiesen. -
3 zeigt ein alternatives Ausführungsbeispiel einer Steuerungsvorrichtung, in dem eine Regeleinheit54 zur sicheren Steuerung eines Roboters bzw. einer Maschine10 als separate Baugruppe getrennt von einem Mehrkernprozessor22 der Steuerungsvorrichtung angeordnet ist. Die Kommunikation zwischen dem Mehrkernprozessor22 und der Regeleinheit54 erfolgt zweikanalig über einen Kommunikationsverteiler58 . -
4 zeigt ein alternatives Ausführungsbeispiel einer Steuerungsvorrichtung, in dem eine Regeleinheit54 zur sicheren Steuerung eines Roboters bzw. einer Maschine10 in eine Einheit56 zur sicheren Positionserfassung des Roboters integriert ist. -
- 10
- Maschine
- 12
- Code
- 14
- Code
- 16
- Kanal
- 18
- Kanal
- 20
- Ausgangsschnittstelle
- 22
- Mehrkernprozessor
- 24
- Prozessorkern
- 26
- Prozessorkern
- 28
- Hauptspeicher
- 30
- Interrupt Controller
- 32
- Interrupt Controller
- 34
- Interrupt Controller
- 36
- Interrupt Controller
- 38
- Interrupt Controller
- 40
- Prozessorkern
- 42
- Ausführungsvariante
- 44
- Ausführungsvariante
- 46
- Bereich
- 48
- Systembus
- 50
- Ein- und Ausgabegerät
- 52
- Netzwerkanschluss
- 54
- Regeleinheit
- 56
- Einheit
- 58
- Kommunikationsverteiler (Switch)
Claims (15)
- Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine oder Anlage (
10 ) mit mindestens zwei Kanälen (16 ,18 ) zum Abarbeiten von unabhängigen Codes (12 ,14 ) mit einer wechselseitigen Sicherheitsüberwachung und mit Eingangs- (50 ) und Ausgangsschnittstelle (20 ) zum Kommunizieren der durch die Codes (12 ,14 ) ausgewerteten Eingangssignalen und daraufhin generierten Steuersignale an die Maschine oder Anlage (10 ), gekennzeichnet durch einen Mehrkernprozessor (22 ) mit wenigstens zwei Prozessorkernen (24 ,26 ), wobei die wenigstens zwei Kanäle (16 ,18 ) jeweils durch einen der Prozessorkerne (24 ,26 ) eines Mehrkernprozessors (22 ) realisiert sind. - Steuerungsvorrichtung nach Anspruch 1, gekennzeichnet durch wenigstens einen Hauptspeicher (
28 ), auf welchen die wenigstens zwei Prozessorkerne (24 ,26 ) zugreifen. - Steuerungsvorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass in dem Hauptspeicher (
28 ) wenigstens zwei, jeweils einem der Prozessorkerne (24 ,26 ) zugeordnete Ausführungsvarianten (42 ,44 ) des Codes (12 ,14 ) abgelegt sind. - Steuerungsvorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Ausführungsvarianten (
42 ,44 ) des Codes (12 ,14 ) unabhängig voneinander sind. - Steuerungsvorrichtung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass der Hauptspeicher (
28 ) wenigstens einen von den wenigstens zwei Prozessorkernen (24 ,26 ) gemeinsam genutzten Bereich46 aufweist, in welchen zumindest einer der wenigstens zwei Prozessorkerne (24 ,26 ) wenigstens ein Zwischenergebnis oder Endergebnis des abzuarbeitenden Codes (12 ,14 ) schreiben und aus welchem der jeweils andere Prozessorkern (24 ,26 ) das Zwischenergebnis auslesen kann. - Steuerungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Prozessorkerne (
24 ,26 ) oder ein Überwachungsprozessor dazu vorgesehen sind, ein Stoppsignal zum Unterbrechen der Steuerung der Maschine oder Anlage (10 ) zu generieren, wenn die von den wenigstens zwei Prozessorkernen (24 ,26 ) ermittelten Zwischenergebnisse oder Endergebnisse nicht übereinstimmen. - Steuerungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Code (
12 ,14 ) zu jeder sicherheitsrelevanten, von einem Prozessorkern (24 ,26 ) generierten Nachricht wenigstens ein durch den Inhalt der Nachricht bestimmtes Prüfzeichen hinzufügt. - Steuerungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Code (
12 ,14 ) zu jeder sicherheitsrelevanten, von einem Prozessorkern (24 ,26 ) gelesenen oder empfangenen Nachricht wenigstens ein durch den Inhalt der Nachricht bestimmtes Prüfzeichen berechnet und mit einem der Nachricht beigefügten Prüfzeichen vergleicht. - Steuerungsvorrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Prozessorkerne (
24 ,26 ) dazu ausgelegt ist, zusätzlich zum Abarbeiten des die Sicherheitsüberwachung durchführenden Codes (12 ,14 ) unabhängig von dem zweiten Prozessorkern (24 ,26 ) wenigstens eine weitere Einzelaufgabe durchzuführen. - Steuerungsvorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass die Einzelaufgabe im Abarbeiten eines Betriebssystems oder einer sonstigen Betriebs-Software besteht.
- Verfahren zur fehlersicheren Steuerung einer Maschine oder Anlage (
10 ), wobei in zumindest zwei Kanälen (16 ,18 ) ein Code (12 ,14 ) mit einer wechselseitigen Sicherheitsüberwachung der Kanäle (16 ,18 ) abgearbeitet wird, dadurch gekennzeichnet, dass die zumindest zwei Kanäle (16 ,18 ) in einem Mehrkernprozessor (22 ) mit wenigstens zwei Prozessorkernen (24 ,26 ) realisiert werden, die jeweils eine Ausführungsvariante (42 ,44 ) des Codes (12 ,14 ) abarbeiten, die unabhängig von der Ausführungsvariante (42 ,44 ) des von dem jeweils anderen Prozessorkern (24 ,26 ) abgearbeiteten Codes (12 ,14 ) ist. - Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass eine wechselseitige Sicherheitsüberwachung der Prozessorkerne dadurch erfolgt, dass ein jeweils anderer Prozessorkern das Zwischenergebnis eines ersten Prozessorkerns ausliest und überprüft, wie durch Vergleich mit dem eigenen Zwischenergebnis eines entsprechenden Verarbeitungsschrittes.
- Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass bei nicht übereinstimmenden Zwischenergebnissen ein Stopsignal zur Unterbrechung der Bewegung der Maschine oder Anlage generiert wird.
- Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass bei nicht übereinstimmenden Zwischenergebnissen die Maschine oder Anlage in einen fehlersicheren Zustand gefahren wird.
- Verfahren nach einem der Ansprüche 12 bis 14, dadurch gekennzeichnet, dass nach dem Unterbrechen des Steuerungsablaufs aufgrund unterschiedlicher Zwischenergebnisse ein vorangegangener Programmblock erneut ausgeführt und bei übereinstimmenden neu berechneten Zwischenergebnissen die Steuerungsaufgabe fortgesetzt wird.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610012042 DE102006012042A1 (de) | 2006-03-16 | 2006-03-16 | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200610012042 DE102006012042A1 (de) | 2006-03-16 | 2006-03-16 | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102006012042A1 true DE102006012042A1 (de) | 2007-09-20 |
Family
ID=38374832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200610012042 Withdrawn DE102006012042A1 (de) | 2006-03-16 | 2006-03-16 | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102006012042A1 (de) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007014478A1 (de) * | 2007-03-22 | 2008-09-25 | Abb Ag | Sicherheitsgerichtete speicherprogrammierte Steuerung |
DE102008043530A1 (de) * | 2008-11-06 | 2010-05-20 | Kuka Roboter Gmbh | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
CN101158920B (zh) * | 2007-11-22 | 2011-02-16 | 杭州华三通信技术有限公司 | 一种检测操作系统故障的方法和装置 |
DE102010004474A1 (de) * | 2010-01-13 | 2011-07-14 | KUKA Laboratories GmbH, 86165 | Steuerung für einen Manipulator |
DE102013211422A1 (de) | 2013-06-18 | 2014-12-18 | Kuka Laboratories Gmbh | Steuervorrichtung einer Maschine und Maschine mit einer Steuervorrichtung |
US9114528B2 (en) | 2011-07-13 | 2015-08-25 | Kuka Roboter Gmbh | Control system of a robot |
CN108572610A (zh) * | 2017-03-13 | 2018-09-25 | 欧姆龙株式会社 | 评价系统、安全控制器、可读取记录媒体及评价方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787041A (en) * | 1985-08-01 | 1988-11-22 | Honeywell | Data control system for digital automatic flight control system channel with plural dissimilar data processing |
EP0355286B1 (de) * | 1988-08-23 | 1995-09-13 | International Business Machines Corporation | Mechanismus zum Prüfpunktwiederversuch |
DE19718284C2 (de) * | 1997-05-01 | 2001-09-27 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Überwachen einer Anlage mit mehreren Funktionseinheiten |
DE10332700A1 (de) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit |
-
2006
- 2006-03-16 DE DE200610012042 patent/DE102006012042A1/de not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4787041A (en) * | 1985-08-01 | 1988-11-22 | Honeywell | Data control system for digital automatic flight control system channel with plural dissimilar data processing |
EP0355286B1 (de) * | 1988-08-23 | 1995-09-13 | International Business Machines Corporation | Mechanismus zum Prüfpunktwiederversuch |
DE19718284C2 (de) * | 1997-05-01 | 2001-09-27 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Überwachen einer Anlage mit mehreren Funktionseinheiten |
DE10332700A1 (de) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102007014478A1 (de) * | 2007-03-22 | 2008-09-25 | Abb Ag | Sicherheitsgerichtete speicherprogrammierte Steuerung |
EP1973017A3 (de) * | 2007-03-22 | 2009-06-10 | Abb Ag | Sicherheitsgerichtete speicherprogrammierte Steuerung |
CN101158920B (zh) * | 2007-11-22 | 2011-02-16 | 杭州华三通信技术有限公司 | 一种检测操作系统故障的方法和装置 |
DE102008043530A1 (de) * | 2008-11-06 | 2010-05-20 | Kuka Roboter Gmbh | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
DE102008043530B4 (de) * | 2008-11-06 | 2016-03-10 | Kuka Roboter Gmbh | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
DE102010004474A1 (de) * | 2010-01-13 | 2011-07-14 | KUKA Laboratories GmbH, 86165 | Steuerung für einen Manipulator |
US9114528B2 (en) | 2011-07-13 | 2015-08-25 | Kuka Roboter Gmbh | Control system of a robot |
EP2546029A3 (de) * | 2011-07-13 | 2015-10-14 | KUKA Roboter GmbH | Steuerung eines Roboter |
DE102013211422A1 (de) | 2013-06-18 | 2014-12-18 | Kuka Laboratories Gmbh | Steuervorrichtung einer Maschine und Maschine mit einer Steuervorrichtung |
WO2014202572A1 (de) * | 2013-06-18 | 2014-12-24 | Kuka Laboratories Gmbh | Steuervorrichung einer maschine und maschine mit einer steuervorrichtung |
CN108572610A (zh) * | 2017-03-13 | 2018-09-25 | 欧姆龙株式会社 | 评价系统、安全控制器、可读取记录媒体及评价方法 |
CN108572610B (zh) * | 2017-03-13 | 2021-05-18 | 欧姆龙株式会社 | 评价系统、安全控制器、可读取记录媒体及评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0972388B1 (de) | Verfahren zur programmierung eines sicherheitsgerichteten steuerungssystems | |
DE10353950C5 (de) | Steuerungssystem | |
EP2422244B1 (de) | Sicherheitssteuerung und verfahren zum steuern einer automatisierten anlage | |
EP3173884B1 (de) | Verfahren zum programmieren einer sicherheitssteuerung | |
EP3841438B1 (de) | Automatisierungssystem zur überwachung eines sicherheitskritischen prozesses | |
DE102006012042A1 (de) | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine | |
EP2447843B1 (de) | Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens | |
EP3475824B1 (de) | Verfahren und vorrichtung zur redundanten datenverarbeitung | |
EP0808482B1 (de) | Systemarchitektur mit einem programm, welches einen peripherieeingang sperrt, solange es infolge von zeitscheibenverfahren nicht auf einem prozessor läuft | |
EP1680736A2 (de) | Verfahren und vorrichtung zur umschaltung zwischen wenigstens zwei betriebsmodi einer prozessoreinheit | |
DE102017109886A1 (de) | Steuerungssystem zum Steuern von sicherheitskritischen und nichtsicherheitskritischen Prozessen mit Master-Slave-Funktionalität | |
EP1043641A2 (de) | Fehlersicheres Automatisierungssystem mit Standard-CPU und Verfahren für ein fehlersicheres Automatisierungssystem | |
EP1246033A1 (de) | Verfahren zur Überwachung konsistenter Speicherinhalte in redundanten Systemen | |
DE102006052757A1 (de) | Automatisierungsgerät mit einer Verarbeitungseinheit und Verwendung einer Verarbeitungseinheit in einem Automatisierungsgerät | |
EP1591849A1 (de) | Redundantes Automatisierungssystem umfassend ein Master- und ein Stand-by-Automatisierungsgerät | |
DE19905841A1 (de) | Vorrichtung zum Verarbeiten sicherheitsrelevanter Daten | |
EP2228723B1 (de) | Verfahren zur Fehlerbehandlung eines Rechnersystems | |
WO2020038627A1 (de) | Automatisierungssystem zur überwachung eines sicherheitskritischen prozesses | |
EP2246761B1 (de) | Verfahren zum sicheren Ändern von Parametern einer fehlersicheren industriellen Automatisierungskomponente | |
WO2016087175A1 (de) | Rechensystem für ein kraftfahrzeugsystem | |
EP0961973B1 (de) | Redundant aufgebautes elektronisches geraet mit zertifizierten und nicht zertifizierten kanaelen und verfahren dafür | |
DE19805819B4 (de) | Verfahren zur Überwachung von integrierten Schaltkreisen | |
EP2133764B1 (de) | Fehlersicheres Automatisierungssystem und Verfahren | |
EP1426862B1 (de) | Synchronisation der Datenverarbeitung in redundanten Datenverarbeitungseinheiten eines Datenverarbeitungssystems | |
DE102006020478A1 (de) | Verfahren zur Entwicklung sicherheitsgerichteter Softwareapplikationen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE |
|
R081 | Change of applicant/patentee |
Owner name: KUKA LABORATORIES GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE Effective date: 20110304 Owner name: KUKA ROBOTER GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE Effective date: 20110304 |
|
R081 | Change of applicant/patentee |
Owner name: KUKA ROBOTER GMBH, DE Free format text: FORMER OWNER: KUKA LABORATORIES GMBH, 86165 AUGSBURG, DE |
|
R082 | Change of representative |
Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE Representative=s name: FUNK & BOESS GBR, DE |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE |
|
R082 | Change of representative |
Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |