DE102006012042A1 - Steuervorrichtung zur fehlersicheren Steuerung einer Maschine - Google Patents

Steuervorrichtung zur fehlersicheren Steuerung einer Maschine Download PDF

Info

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
Application number
DE200610012042
Other languages
English (en)
Inventor
Uwe Bonin
Udo Dettmering
Heinrich Munz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Roboter GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KUKA Roboter GmbH filed Critical KUKA Roboter GmbH
Priority to DE200610012042 priority Critical patent/DE102006012042A1/de
Publication of DE102006012042A1 publication Critical patent/DE102006012042A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety 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

Die Erfindung betrifft eine Steuerungsvorrichtung zur fehlersicheren Steuerung einer Maschine oder Anlage mit zumindest zwei Kanälen zum Abarbeiten von unabhängigen Codes mit einer wechselseitigen Sicherheitsüberwachung und mit Eingangs- und Ausgangsschnittstellen zum Kommunizieren der durch die Codes ausgewerteten Eingangssignale und daraufhin generierten Steuersignale an die Maschine oder Anlage. Es wird vorgeschlagen, dass die Steuerungsvorrichtung einen Mehrkernprozessor mit wenigstens zwei Prozessorkernen aufweist, wobei die wenigstens zwei Kanäle jeweils durch einen der Prozessorkerne eines Mehrkernprozessors realisiert sind.

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 Maschine 10 mit zumindest zwei Kanälen 16, 18 zum Abarbeiten eines Codes 12, 14 mit einer wechselseitigen Sicherheitsüberwachung und mit einer Ausgangsschnittstelle 20 zum Kommunizieren der durch den Code 12, 14 generierten Steuersignale an die Maschine 10.
  • Die Steuerungsvorrichtung umfasst als zentrales Element einen Mehrkernprozessor 22 mit wenigstens zwei Anwendungs-Prozessorkernen 24, 26, wobei die wenigstens zwei Kanäle 16, 18 jeweils durch einen der Prozessorkerne 24, 26 eines Mehrkernprozessors 22 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 Hauptspeicher 28 (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 Prozessorkerne 24, 26 verteilen. Alle Prozessorkerne 24, 26 haben gleichberechtigten Zugriff auf die gesamte Peripherie des den Mehrkernprozessor 22 umfassenden Computers. Liegt keine gleichberechtigte Verteilung der Aufgaben auf die Prozessorkerne 24, 26 vor, weil beispielsweise auf den Prozessorkernen 24, 26 unterschiedliche Betriebssysteme oder unterschiedliche Betriebs-Software laufen, so spricht man von „Asymmetric Multi Processing" (AMP).
  • Jeder Prozessorkern 24, 26 besitzt einen lokalen Interrupt Controller 30, 32, 34 (local APIC-„Advanced Programmable Interrupt Controller") und es gibt mindestens einen – im vorliegenden Fall zwei – zentrale Interrupt Controller 36, 38 (I/O-APIC), welche die Interrupts der Peripherie des den Mehrkernprozessor 22 umfassenden Computers an die lokalen Interrupt Controller 30, 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"-Prozessorkern 40 (BSP) startet, der dann später die weiteren Prozessorkerne 24, 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 Hauptspeicher 28 sicher für sich reservieren. Wenn die übrigen Prozessorkerne 24, 26 diese Speicherzelle zu diesem Zeitpunkt für sich beanspruchen, warten sie so lange, bis der Prozessorkern 24, 26 die Speicherzelle wieder abgibt. Der entsprechende Synchronisationsvorgang wird auch als „Spin Lock" bezeichnet. Die Informationen über die reservierten Speicherzellen erhalten die Prozessorkerne 24, 26 über Bits im Hauptspeicher 28, die allen am Spin-Lock beteiligten Prozessorkernen 24, 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 Mehrkernprozessors 22 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 Prozessorkerne 24, 26 im Sinne eines „Shared Memory" zugreifen. Der Hauptspeicher 28 kann besonders vorteilhaft als flüchtiger „Random Access Memory" (RAM) ausgebildet sein, in welchen die auszuführenden Codes 12, 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 Prozessorkerne 24, 26 zugeordnete Ausführungsvarianten 42, 44 des Codes 12, 14 abgelegt, wobei die Ausführungsvarianten 42, 44 des Codes 12, 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ührungsvarianten 42, 44 des Codes 12, 14 müssen nicht auf einer zusammenhängenden Folge von Adressen des Hauptspeichers 28 abgelegt sein.
  • Durch die getrennten Ausführungsvarianten 42, 44 der Codes 12, 14 handelt es sich bei dem vorgeschlagenen Betriebsmodus nicht um einen redundanten Modus, in dem beide Prozessorkerne 24, 26 identische Befehle aus demselben Code 12, 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 Prozessorkerne 24, 26 ihren jeweiligen Code 12, 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 Prozessorkernen 24, 26 gemeinsam genutzten „Shared Memory" Bereich 46, 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.
  • Durch diese im Code 12, 14 implementierte wechselseitige Sicherheitsüberwachung sind die Prozessorkerne 24, 26 oder ein Überwachungsprozessor dazu ausgelegt, ein Stoppsignal zum Unterbrechen der Steuerung der Maschine 10 zu generieren, wenn die von den wenigstens zwei Prozessorkernen 24, 26 ermittelten Zwischenergebnisse oder Endergebnisse nicht übereinstimmen. Das Stoppsignal löst einen Haltevorgang der im vorliegenden Ausführungsbeispiel als Industrieroboter ausgebildeten Maschine 10 aus, in dem die Maschine 10 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 Prozessorkerne 24, 26 jeweils ein gleichlautendes Steuersignal, das in je einem Kanal 16, 18 der zweikanaligen Ausgangsschnittstelle 20 an die Maschine 10 ausgegeben wird.
  • Der Code 12, 14 fügt zu jeder sicherheitsrelevanten, von einem Prozessorkern 24, 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 Prozessorkern 24, 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 Prozessorkern 24, 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 Mehrkernprozessor 22 der oben beschriebenen Art. Der Mehrkernprozessor 22 besteht unter anderem aus dem ersten Prozessorkern 24, dem zweiten Prozessorkern 26, dem Bootstrap-Prozessorkern 40 und einem Hauptspeicher 28. Über einen Kommunikationsverteiler (Switch) 58 kann der Mehrkernprozessor 22 über einem Systembus 48 sowie mit einem portablen Bedienhandgerät 50 über ein durch Prüfzeichen oder ähnliches abgesichertes Protokoll kommunizieren. Zusätzlich umfasst die Steuerungsvorrichtung einen Netzwerkanschluss 52 zur sicheren Anlagenanschaltung.
  • Die Prozessorkerne 24, 26 können zusätzlich zum Abarbeiten des die Sicherheitsüberwachung durchführenden Codes 12, 14, unabhängig von dem jeweils anderen Prozessorkern 24, 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 Prozessorkern 26 eine schnelle, einkanalige Regelungssoftware abarbeitet, beispielsweise unter dem Betriebssystem VxWorks, wobei die Regelungssoftware die Steuerung unterstützt. Eine Regeleinheit 54 ist daher als Software ausgeführt und in den zweiten Prozessorkern 24, 26 integriert. Die Steuersignale an einen an die Ausgangsschnittstelle 20 angeschlossenen Roboter bzw. an eine Maschine 10 mit einer Einheit 56 zur sicheren Positionserfassung werden über die Regeleinheit 54 durch einen Antriebsbus an die Ausgangsschnittstelle 20 übermittelt.
  • Die 3 und 4 zeigen weitere Ausführungsbeispiele der Erfindung. In der nachfolgenden Beschreibung wird im Wesentlichen auf Unterschiede zu dem in den 1 und 2 dargestellten Ausführungsbeispiel verwiesen. Im Hinblick auf gleich bleibende Merkmale wird auf die Beschreibung zu den 1 und 2 verwiesen.
  • 3 zeigt ein alternatives Ausführungsbeispiel einer Steuerungsvorrichtung, in dem eine Regeleinheit 54 zur sicheren Steuerung eines Roboters bzw. einer Maschine 10 als separate Baugruppe getrennt von einem Mehrkernprozessor 22 der Steuerungsvorrichtung angeordnet ist. Die Kommunikation zwischen dem Mehrkernprozessor 22 und der Regeleinheit 54 erfolgt zweikanalig über einen Kommunikationsverteiler 58.
  • 4 zeigt ein alternatives Ausführungsbeispiel einer Steuerungsvorrichtung, in dem eine Regeleinheit 54 zur sicheren Steuerung eines Roboters bzw. einer Maschine 10 in eine Einheit 56 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)

  1. 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.
  2. Steuerungsvorrichtung nach Anspruch 1, gekennzeichnet durch wenigstens einen Hauptspeicher (28), auf welchen die wenigstens zwei Prozessorkerne (24, 26) zugreifen.
  3. 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.
  4. Steuerungsvorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Ausführungsvarianten (42, 44) des Codes (12, 14) unabhängig voneinander sind.
  5. 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 Bereich 46 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. Steuerungsvorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass die Einzelaufgabe im Abarbeiten eines Betriebssystems oder einer sonstigen Betriebs-Software besteht.
  11. 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.
  12. 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.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass bei nicht übereinstimmenden Zwischenergebnissen ein Stopsignal zur Unterbrechung der Bewegung der Maschine oder Anlage generiert wird.
  14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass bei nicht übereinstimmenden Zwischenergebnissen die Maschine oder Anlage in einen fehlersicheren Zustand gefahren wird.
  15. 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.
DE200610012042 2006-03-16 2006-03-16 Steuervorrichtung zur fehlersicheren Steuerung einer Maschine Withdrawn DE102006012042A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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