Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROL DEVICE OF A MACHINE AND MACHINE COMPRISING A CONTROL DEVICE
Document Type and Number:
WIPO Patent Application WO/2014/202572
Kind Code:
A1
Abstract:
The invention relates to a control device (10) of a machine (1). Said control device (10) comprises a microprocessor (11) comprising at least one main processor core (12) and at least one secondary processor core (13). Said control device (10) is configured with a security control programme comprising a first programme part and a second programme part for monitoring a component part (2) of the machine (1) which can be driven by means of the control device (10), the first programme part thereof being only associated with the at least one main processor core (12) and the second programme part being only associated with the at least one second processor core (13).

Inventors:
SCHREIBER GÜNTER (DE)
Application Number:
PCT/EP2014/062658
Publication Date:
December 24, 2014
Filing Date:
June 17, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KUKA LAB GMBH (DE)
International Classes:
G05B9/03
Foreign References:
DE102006012042A12007-09-20
US20100324733A12010-12-23
EP2533154A22012-12-12
US20020161492A12002-10-31
EP1456720B12007-11-14
Attorney, Agent or Firm:
Funk & Böss GbR (DE)
Download PDF:
Claims:
Patentansprüche

1. Steuervorrichtung einer Maschine, wobei die Steuervorrichtung (10) einen Mikroprozessor (11) umfasst, welcher wenigstens einen Hauptprozessorkern (12) und wenigstens einen Nebenprozessorkern (13) umfasst, wobei die Steuervorrichtung (10) mit einem einen ersten Programmteil und einen zweiten Programmteil aufweisenden Sicherheitssteu¬ erprogramm zum Überwachen eines mittels der Steuervorrichtung (10) ansteuerbaren Maschinenbestandteils (2) der Maschine (1) konfiguriert ist, dessen erster Pro¬ grammteil nur dem wenigstens einen Hauptprozessorkern (12) und dessen zweiter Programmteil nur dem wenigstens einen Nebenprozessorkern (13) zugeordnet ist.

2. Steuervorrichtung nach Anspruch 1, bei der der wenigstens eine Nebenprozessorkern (13) als ein Grafikpro¬ zessorkern, ein Vektorprozessorkern oder ein Streampro- zessorkern ausgebildet ist.

3. Steuervorrichtung nach Anspruch 1 oder 2, bei der das Sicherheitssteuerprogramm eingerichtet ist, mittels je¬ weils des ersten und des zweiten Programmteils die Ma¬ schine (1) zu Überwachen und eine Sicherheitsreaktion auszulösen, wenn eine erste Berechnung basierend auf dem ersten Programmteil oder eine zweite Berechnung basie¬ rend auf dem zweiten Programmteil ein Sicherheitsrisiko für das Betreiben des Maschinenbestandteils (2) detek- tiert .

4. Steuervorrichtung nach einem der Ansprüche 1 bis 3, bei der das Sicherheitssteuerprogramm eingerichtet ist, mittels jeweils des ersten und des zweiten Programmteils die Maschine (1) zu überwachen und eine Sicherheitsreaktion auszulösen, wenn sich eine erste Berechnung basie- rend auf dem ersten Programmteil und eine zweite Berech¬ nung basierend auf dem zweiten Programmteil um einen vorgegeben Wert unterscheiden.

5. Steuervorrichtung nach einem der Ansprüche 1 bis 4, bei der der wenigsten eine Hauptprozessorkern (12) den ersten Programmteil und der wenigstens eine Nebenprozessor- kern (13) den zweiten Programmteil in Echtzeit ausführt.

6. Maschine, aufweisend einen Maschinenbestandteil (2) und eine zum Ansteuern des Maschinenbestandteils (2) vorge¬ sehene Steuervorrichtung (10) nach einem der Ansprüche 1 bis 5.

7. Industrieroboter, aufweisend einen Roboterarm (2) und eine zum Bewegen des Roboterarms (2) vorgesehene Steuer¬ vorrichtung (10) nach einem der Ansprüche 1 bis 5.

8. Mobile Plattform, aufweisend einen Fahrzeugkörper mit mehreren Rädern und wenigstens einem Antrieb zum Bewegen wenigstens einer der Räder, und eine zum Ansteuern des wenigstens einen Antriebs vorgesehene Steuervorrichtung (10) nach einem der Ansprüche 1 bis 5.

Description:
Steuervorrichtung einer Maschine und Maschine mit einer Steuervorrichtung

Die Erfindung betrifft eine Steuervorrichtung einer Maschine und eine Maschine, insbesondere einen Industrieroboter und/ oder eine mobile Plattform, mit einer Steuervorrichtung.

Steuerungen von Maschinen insbesondere von Industrierobotern umfassen in der Regel eine Sicherheitssteuerung, die einen sicheren Zustand der Maschine überwacht und gegebenenfalls eine Sicherheitsreaktion zur Überführung der Maschine in einen sicheren Zustand auslöst, insbesondere eine Bewegung der Maschine stoppt bzw. verhindert, eine Reversierbewegung der Maschine durchführt und/oder Ausgangssignale der Maschine auf einen sicheren Zustand setzt.

Die DE 10 2006 012 042 AI offenbart eine Steuervorrichtung zur fehlersicheren Steuerung einer Maschine mit mindestens zwei Kanälen zum Abarbeiten von unabhängigen Codes. Die Steuervorrichtung umfasst einen Mehrkernprozessor mit wenigstens zwei Prozessorkernen. Die wenigstens zwei Kanäle sind jeweils durch einen der Prozessorkerne realisiert.

Die Aufgabe der vorliegenden Erfindung ist es, eine verbes- serte Steuervorrichtung einer Maschine anzugeben.

Die Aufgabe der Erfindung wird gelöst durch eine Steuervorrichtung einer Maschine, wobei die Steuervorrichtung einen Mikroprozessor umfasst, welcher wenigstens einen Hauptpro- zessorkern und wenigstens einen Nebenprozessorkern umfasst, wobei die Steuervorrichtung mit einem einen ersten Programmteil und einen zweiten Programmteil aufweisenden Sicherheitssteuerprogramm zum Überwachen eines mittels der Steuervorrichtung ansteuerbaren Maschinenbestandteils der Maschine konfiguriert ist, dessen erster Programmteil nur dem wenigs- tens einen Hauptprozessorkern und dessen zweiter Programmteil nur dem wenigstens einen Nebenprozessorkern zugeordnet ist . Die Maschine ist insbesondere eine elektrische Maschine, beispielsweise ein Roboter bzw. ein Industrieroboter und/ oder eine mobile Plattform. Die Maschine umfasst den mittels der Steuervorrichtung ansteuerbaren Maschinenbestandteil. Im Falle des Roboters bzw. des Industrieroboters ist dieser Ma- schinebestandteil als ein Roboterarm ausgeführt. Die mobile Plattform umfasst insbesondere einen Fahrzeugkörper mit wenigstens einem Rad und wenigstens einem Antrieb zum Bewegen wenigstens einer der Räder. In diesem Fall stellt der Antrieb mit bewegtem Rad den Maschinenbestandteil dar.

Ein weiterer Aspekt der Erfindung betrifft demnach eine Maschine, insbesondere eine elektrische Maschine, aufweisend einen Maschinenbestandteil und die erfindungsgemäße Steuer ¬ vorrichtung zum Ansteuern des Maschinenbestandteils. Die Ma- schine ist insbesondere ein Roboter bzw. Industrieroboter, dessen Maschinenbestandteil als ein Roboterarm ausgeführt ist. Die Maschine kann insbesondere auch eine mobile Platt ¬ form sein. Der Roboterarm umfasst insbesondere mehrere, hintereinander angeordnete, mittels Gelenke verbundene Glieder, welche ins ¬ besondere mittels Antrieben, vorzugsweise elektrischen An ¬ trieben bewegt wird. Die Antriebe können geregelte elektri ¬ sche Antriebe sein.

Die erfindungsgemäße Steuervorrichtung ist vorgesehen, mittels des Sicherheitssteuerprogramms den Maschinenbestandteil zu überwachen. Die erfindungsgemäße Steuervorrichtung basiert insbesondere auf einem PC-Computersystem, also auf ei- nem Standard-PC mit einem Mikroprozessor. Mikroprozessoren können neben dem Hauptprozessorkern (CPU) bzw. den Hauptprozessorkernen auch wenigstens einen Nebenprozessorkern aufweisen, der vorzugsweise für Grafikanwen- düngen und/oder Multimediaunterstützung gedacht ist. All das befindet sich in einem Chip bzw. integrierten Schaltkreis. Der Nebenprozessorkern stellt neben dem Hauptprozessorkern ein weiteres, vom wenigstens einen Hauptprozessorkern unabhängiges Rechenwerk dar. Solche Mikroprozessoren werden bis- weilen auch als sogenannte APUs (Advanced Processing Unit) bezeichnet .

Die Architektur des wenigstens einen Hauptprozessorkerns un ¬ terscheidet sich somit wesentlich von der Architektur des wenigstens einen Nebenprozessorkerns . Der Nebenprozessorkern ist beispielsweise ein Grafikprozessor, ein Vektorprozessor, oder ein Streamprozessor . Der wenigstens eine Nebenprozessorkern ist insbesondere frei programmierbar. Somit ist insbesondere der wenigstens eine Nebenprozessorkern zur Be- rechnung von universellen Aufgaben abseits von reinen Grafikprozessen geeignet. Damit das Sicherheitssteuerprogramm (Sicherheitssteuerung) zuverlässiger arbeitet, ist dies erfindungsgemäß auf dem wenigstens einen Hauptprozessorkern und dem wenigstens einen Nebenprozessorkern verteilt.

Dadurch ergibt sich nicht nur eine redundante Ausführung des Sicherheitssteuerprogramms, sonders dieses ist, da sich die Architektur des Hauptprozessorkerns von der des Nebenpro ¬ zessorkerns unterscheidet, auch diversitär ausgeführt.

Dadurch verringert sich z.B. das Risiko eines Ausfalls der Sicherheitssteuerung.

Die Erfindung bietet somit eine Sicherheitsberechnung aufgrund Diversität von verschiedenartigen Prozessorkernen eines Mikroprozessors. Gemäß einer Variante der erfindungsgemäßen Steuervorrichtung ist das Sicherheitssteuerprogramm derart eingerichtet, dass die Steuervorrichtung mittels jeweils des ersten und des zweiten Programmteils die Maschine überwacht und eine Si- cherheitsreaktion auslöst, wenn eine erste Berechnung basierend auf dem ersten Programmteil oder eine zweite Berechnung basierend auf dem zweiten Programmteil ein Sicherheitsrisiko beim Betreiben des Maschinenbestandteils detektiert. Gemäß dieser Variante überwachen beide Programmteile der Sicher- heitssteuerung unabhängig voneinander die Maschine bzw. den Maschinebestandteil und lösen dann eine Sicherheitsreaktion, insbesondere das Anhalten der Maschine bzw. des Maschinenbe ¬ standteils, aus, wenn eines der beiden Programmteile, die z.B. identisch sein können, ein Sicherheitsrisiko der Ma- schine erkennt.

Gemäß einer bevorzugten Ausführungsform der erfindungsgemäßen Steuervorrichtung ist das Sicherheitssteuerprogramm eingerichtet, dass die Steuervorrichtung mittels jeweils des ersten und des zweiten Programmteils die Maschine überwacht und eine Sicherheitsreaktion auslöst, wenn sich eine erste Berechnung basierend auf dem ersten Programmteil und eine zweite Berechnung basierend auf dem zweiten Programmteil um einen vorgegebenen Wert unterscheiden. Dadurch werden die beiden Berechnungen gegenseitig überwacht und nur dann ein Betreiben der Maschine bzw. dessen Maschineteils erlaubt, wenn beide Berechnungen im Wesentlichen zum selben Ergebnis gelangen. Dadurch wird die Sicherheit der Sicherheitssteue ¬ rung erhöht.

Vorzugsweise kann die erfindungsgemäße Steuervorrichtung derart ausgeführt sein, dass sie mittels jeweils des ersten und des zweiten Programmteils die Maschine überwacht und nur dann ein Betreiben des Maschinebestandteils erlaubt, wenn sowohl die erste Berechnung und die zweite Berechnung ein sicheres Betreiben des Maschinenbestandteils ergeben und sich gleichzeitig die erste Berechnung und die zweite Be ¬ rechnung um maximal einen vorgegebenen Wert unterscheiden. Andernfalls wird eine Sicherheitsreaktion ausgelöst, die beispielsweise die Maschine bzw. das Maschinenbestandteil, beispielsweise eine Bewegung des Roboterarms, automatisch stoppt .

Vorzugsweise führt der wenigsten eine Hauptprozessorkern den ersten Programmteil und der wenigstens eine Nebenprozessor- kern den zweiten Programmteil in Echtzeit aus. Dadurch wird sicher gestellt, dass ein unsicherer Zustand der Maschine in Echtzeit erkannt und gegebenenfalls die Maschine gestoppt wird .

In der Informatik wird zwischen den Begriffen "Echtzeit" und "Modellzeit" unterschieden. Echtzeit bezieht sich auf die Zeit, die Abläufe in der "realen Welt" verbrauchen. Modell ¬ zeit hingegen bezieht sich dagegen auf die von einem Rechen- programm selbstverwaltete Laufzeit.

Unter einem echtzeitfähigen System kann man ein System verstehen, das auf ein Ereignis innerhalb eines vorgegebenen Zeitrahmens reagieren muss. Der vorgegebene Zeitrahmen hängt von der jeweiligen Aufgabe ab, die mit Echtzeit verarbeitet werden soll, und kann beispielsweise im Mikrosekundenbereich z.B. für schnelle digitale Steuerungs und/oder Regelungsauf ¬ gaben oder auch im Sekundenbereich z.B. für Temperaturregelungen oder Füllstandsüberwachungen liegen.

Bisweilen unterscheidet man zwischen weicher und harter Echtzeit. Bei der so genannten harten Echtzeit bedeutet ein überschreiten des vorgegebenen Zeitrahmens einen Fehler. Bei der sogenannten weichen Echtzeit arbeitet dagegen das System die relevanten Eingaben in der Regel innerhalb des vorgege- benen Zeitrahmens ab, wobei grundsätzlich ein vereinzeltes Überschreiten des vorgegebenen Zeitrahmens möglich ist und zu keinem Fehler führt. Ein Ausführungsbeispiel der Erfindung ist exemplarisch in den beigefügten schematischen Zeichnungen dargestellt, deren einzige Figur einen Roboter mit einer Steuervorrichtung zeigt . Die Figur zeigt einen Roboter, insbesondere einen Industrie ¬ roboter 1, als Beispiel einer Maschine, insbesondere einer elektrischen Maschine in einer perspektivischen Darstellung.

Der Industrieroboter 1 weist einen Roboterarm 2 auf, der im Falle des vorliegenden Ausführungsbeispiels mehrere, nachei ¬ nander angeordnete und mittels Gelenke verbundene Glieder umfasst. Bei den Gliedern handelt es sich insbesondere um ein ortsfestes oder bewegliches Gestell 3 und ein relativ zum Gestell 3 um eine vertikal verlaufende Achse AI drehbar gelagertes Karussell 4. Weitere Glieder des Roboterarms 2 sind im Falle des vorliegenden Ausführungsbeispiels eine Schwinge 5, ein Ausleger 6 und eine vorzugsweise mehrachsige Roboterhand 7 mit einer z.B. als Flansch 8 ausgeführten Befestigungsvorrichtung zum Befestigen eines nicht näher dar- gestellten Endeffektors. Die Schwinge 5 ist am unteren Ende z.B. an einem nicht näher dargestellten Schwingenlagerkopf auf dem Karussell 4 um eine vorzugsweise horizontale Achse A2 schwenkbar gelagert. Am oberen Ende der Schwinge 5 ist wiederum um eine ebenfalls vorzugsweise horizontale Achse A3 der Ausleger 6 schwenkbar gelagert. Dieser trägt endseitig die Roboterhand 7 mit ihren vorzugsweise drei Achsen A4, A5, A6.

Um den Roboter 1 bzw. dessen Roboterarm 2 zu bewegen, um- fasst dieser in allgemein bekannter Weise mit einer Steuer- Vorrichtung 10 (Robotersteuerung) verbundene elektrische Antriebe. In der Figur sind nur einige der elektrischen Motoren 9 dieser elektrischen Antriebe gezeigt, welche im oder am Roboterarm 2 befestigt sind. Leistungselektroniken der elektrischen Antriebe sind z.B. innerhalb eines Gehäuses ei ¬ nes nicht näher dargestellten Steuerschranks angeordnet, in ¬ nerhalb dem z.B. auch die Steuervorrichtung 10 angeordnet ist. Die elektrischen Motoren 9 sind im Falle des vorliegenden Ausführungsbeispiels Drehstrommotoren, beispielsweise Drehstrom-Synchronmotoren. Die Leistungselektroniken können aber auch im und/oder am Roboterarm 2 angeordnet sein.

Auf der Steuervorrichtung 10 läuft ein Rechenprogramm, mittels dem der die Steuervorrichtung 10 die Antriebe derart steuert bzw. regelt, so dass der Flansch 8 des Industriero ¬ boters 1 eine vorgegebene Bewegung durchführt. Die Antriebe sind gegebenenfalls geregelte elektrische Antriebe.

Die Steuervorrichtung 10 weist im Falle des vorliegenden Ausführungsbeispiels einen Mikroprozessor 11, der insbesondere als eine APU ausgebildet ist, auf, welcher wenigstens einen Hauptprozessorkern 12 und wenigstens einen Nebenpro- zessorkern 13 umfasst. Die Architektur des Hauptprozessorkerns 12 bzw. der Hauptprozessorkerne 12 unterscheidet sich wesentlich von der Architektur des wenigstens einen Neben- prozessorkerns 13. Der Nebenprozessorkern 13 ist insbesonde ¬ re ein Grafikprozessor, ein Vektorprozessor oder ein Stream- prozessor. Der wenigstens eine Nebenprozessorkern 13 ist insbesondere frei programmierbar. Somit ist insbesondere der wenigstens eine Nebenprozessorkern 13 zur Berechnung von universellen Aufgaben abseits von reinen Grafikprozessen geeignet. Der Hauptprozessorkern 12 und der Nebenprozessorkern 13 sind somit eigenständige Recheneinheiten. Im Falle des vorliegenden Ausführungsbeispiels handelt es sich bei der Steuervorrichtung 10 im Wesentlichen um einen PC. Der Haupt- und der Nebenprozessorkern 12, 13 werden im Falle des vorliegenden Ausführungsbeispiels zusätzlich zur Steue ¬ rung bzw. Regelung des Industrieroboters 1 als je ein Kanal einer zweikanaligen Sicherheitsteuerung eingesetzt. Jeder der Kanäle der Sicherheitssteuerung berechnet unabhängig voneinander, ob zur Zeit eine sichere Bewegung des Indust ¬ rieroboters 1 bzw. dessen Roboterarms 2 möglich ist, und er ¬ laubt nur dann die Bewegung, wenn beide Berechnungen auf eine sichere Bewegung schließen. Ist dies nicht möglich, dann wird eine Bewegung des Industrieroboters 1 bzw. dessen Robo- terarms 2 gestoppt. Im Falle des vorliegenden Ausführungs ¬ beispiels werden zusätzlich die beiden Berechnungen noch miteinander verglichen und nur dann eine Bewegung des Roboterarms 2 erlaubt, wenn beide Berechnungen im Wesentlichen dasselbe Ergebnis liefern. Bei einer Abweichung um einen vorgegebenen Wert wird ebenfalls die Bewegung automatisch gestoppt .

Der wenigstens eine Hauptprozessorkern 12 und der wenigstens eine Nebenprozessorkern 13 sind im Falle des vorliegenden Ausführungsbeispiels wie folgt konfiguriert:

Der Hauptprozessorkern 12 wird als System Core verwendet. Auf ihm läuft ein Standardbetriebssystem und ein erster Teil eines EchtZeitbetriebssystems . Der Hauptprozessorkern 12 stellt dem EchtZeitbetriebssystem vorrangig bezüglich dem

Standardbetriebssystem Rechenzeit, wenn benötigt, zur Verfügung .

Auf dem Standardbetriebssystem läuft die Benutzeroberfläche der Steuervorrichtung 10 und der Echtzeitteil der Steuervor- richtung 10, ein erster Teil (erster Kanal) der Sicherheitssteuerung des Industrieroboters 1 als geschützter "Real Time Process" (Echtzeitprozess ) und der sogenannte File und Com- munication Helper für die Sicherheitssteuerung.

Der Nebenprozessorkern 13 wird als Controller Core verwendet. Der Nebenprozessorkern 13 wird im Falle des vorliegenden Ausführungsbeispiels ausschließlich von einem zweiten Teil des EchtZeitbetriebssystems verwendet, nämlich dem Reg ¬ 1er für die Robotersteuerung und dem zweiten Kanal der Sicherheitssteuerung als geschützter "Real Time Process" (Echtzeitprozess ) .

Im Falle des vorliegenden Ausführungsbeispiels ist das BIOS der Steuervorrichtung 10 derart konfiguriert, dass es seinen nicht näher dargestellten Speicher-Controller so initialisiert, dass zwei nicht näher dargestellte DRAM Speicherrie ¬ gel zu zwei unterschiedlichen Adressräumen beitragen.

Dadurch wird ermöglicht, dass der dem Hauptprozessorkern 12 zugeordnete erste Teil der Sicherheitssteuerung im Bereich des ersten DRAM Speicherriegels und der dem Nebenprozessorkern 13 zugeordnete zweite Teil der Sicherheitssteuerung im Adressraum eines zweiten DRAM Speicherriegel abgelegt und ausgeführt wird.




 
Previous Patent: YEAST EXTRACT

Next Patent: METHOD FOR MODULATING GENE EXPRESSION