DE102008043530A1 - Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter - Google Patents
Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter Download PDFInfo
- Publication number
- DE102008043530A1 DE102008043530A1 DE200810043530 DE102008043530A DE102008043530A1 DE 102008043530 A1 DE102008043530 A1 DE 102008043530A1 DE 200810043530 DE200810043530 DE 200810043530 DE 102008043530 A DE102008043530 A DE 102008043530A DE 102008043530 A1 DE102008043530 A1 DE 102008043530A1
- Authority
- DE
- Germany
- Prior art keywords
- machine
- control
- program
- ram
- processor
- 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.)
- Granted
Links
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2205—Multicore
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34482—Redundancy, processors watch each other for correctness
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
Description
- Die Erfindung betrifft eine Maschinensteuerung und eine elektrische Maschine, insbesondere einen Industrieroboter.
- Aus Kostengründen ist es erstrebenswert, möglicht keine Speziallösungen, sondern allgemein verfügbare Produkte oder Lösungen zu verwenden. Aus diesem Grund existiert bereits seit Mitte der 1990er Jahre die Tendenz, in der industriellen Maschinensteuerung Produkte aus der Büroumgebung, wie z. B. PCs (PC basierende Computersysteme) für die Steuerung und Ethernet als Kommunikationstechnologie, zu verwenden.
- Bei einem Einsatz von Software in Büroumgebungen kommt es jedoch hauptsächlich auf die korrekte Funktion der Software und nicht so sehr auf einen genauen zeitlichen Aspekt an. Die Software sollte ihre Aufgabe lediglich in einem für menschliche Verhältnisse angemessenen Rahmen, also im einstelligen Sekundenbereich oder knapp darunter, erledigen. Da bei einer Maschinensteuerung die Software die Bewegung der Maschine vorgibt, muss sie zeitlich relativ genau und synchron zur Maschinenbewegung arbeiten. Je schneller und genauer sich die Maschine bewegen soll, um so zeitlich genauer muss die Software sein. Bei modernen, relativ hochgenauen Maschinen ist es nicht unüblich, dass Motoren der Maschinen in einer Sekunde 8.000 Mal (entspricht 125 Mikrosekunden Zykluszeit) oder auch öfters von der Software nachgeregelt werden müssen. Hier ist es also nicht nur wichtig, dass eine Software ihre Aufgabe relativ korrekt erfüllt, sondern muss dies auch möglichst schnell tun. Man spricht in diesem Zusammenhang von der Echtzeitfähigkeit der Software. Je strikter diese Echtzeitfähigkeit ist, umso schneller und genauer kann sich die Maschine bewegen.
- Außerdem weisen Maschinesteuerungen Sicherheitssteuerungen auf, die einen sicheren Zustand der Maschine überwachen und z. B. gegebenenfalls eine Bewegung der Maschine stoppen oder eine Bewegung der Maschine verhindern.
- Die Aufgabe der vorliegenden Erfindung ist es daher, eine Maschinensteuerung mit einer Sicherheitssteuerung basierend auf einem PC-Computersystem anzugeben.
- Die Aufgabe der Erfindung wird gelöst durch eine Maschinensteuerung basierend auf einem PC-Computersystem, aufweisend ein erstes RAM, ein zweiten RAM und einen Mehrkernprozessor mit einem ersten Prozessorkern und einem zweiten Prozessorkern, wobei das Computersystem mit einer einem einen ersten Programmteil und einen zweiten Programmteil aufweisenden Sicherheitssteuerprogramm zum Überwachen einer Maschine konfiguriert ist, dessen erster Programmteil nur dem ersten Prozessorkern und dem ersten RAM und dessen zweiter Programmteil nur dem zweiten Prozessorkern und dem zweiten RAM zugeordnet ist.
- Ein weiterer Aspekt der Erfindung ist eine elektrische Maschine, insbesondere ein Industrieroboter, aufweisend die erfindungsgemäße Maschinensteuerung.
- Die erfindungsgemäße Maschinensteuerung basiert demnach auf einem PC-Computersystem, also auf einem Standard-PC mit einem Mehrkernprozessor. Damit das Sicherheitssteuerprogramm (Sicherheitssteuerung) zuverlässig arbeitet, ist dies auf die beiden Prozessorkerne verteilt. Um z. B. einen Hardware-Fehler des RAMS, z. B. einen Common Cross Fehler des RAMs zu vermeiden, umfasst die erfindungsgemäße Motorsteuerung die zwei separaten RAMs und ist derart konfiguriert, so dass ein Teil des Sicherheitssteuerprogramms dem ersten Prozessorkern und dem ersten RAM und der andere Teil dem zweiten Prozessorkern und dem zweiten RAM zugeordnet ist.
- Das erste bzw. zweite RAM kann ein erstes bzw. zweites dynamisches RAM (DRAM) sein. Das erste bzw. zweite RAM kann auch ein erster bzw. zweiter Speicherriegel sein. Ein Speicherriegel umfasst mehrere individuelle RAM-Bausteine.
- Gemäß einer Variante der erfindungsgemäßen Maschinensteuerung sind dem ersten Programmteil zugeordnete erste Daten und erste Programmcodes nur im ersten RAM und dem zweiten Programmteil zugeordnete zweite Daten und zweite Programmcodes nur im zweiten RAM gespeichert.
- Nach einer Ausführungsform der erfindungsgemäßen Maschinensteuerung ist das Sicherheitssteuerprogramm eingerichtet, mittels jeweils des ersten und des zweiten Programmteils die Maschine zu überwachen und nur dann eine Bewegung der Maschine zu erlauben und/oder die Maschine automatisch zu stoppen, wenn sowohl eine erste Berechnung basierend auf dem ersten Programmteil als auch eine zweite Berechnung basierend auf dem zweiten Programmteil eine sichere Bewegung der Maschine ergeben. Gemäß dieser Variante überwachen beide Programmteile der Sicherheitssteuerung unabhängig voneinander die Maschine und erlauben nur dann eine Bewegung der Maschine, wenn beide Programmteile, die z. B. identisch sein können, auf einen sicheren Betriebszustand der Maschine schließen.
- Der erste Prozessorkern kann nach einer Variante der erfindungsgemäßen Motorsteuerung den ersten Programmteil und der zweite Prozessorkern den zweiten Programmteil in Echtzeit ausführen. 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. Modellzeit hingegen bezieht sich dagegen auf die von einem Rechenprogramm 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 Regelungsaufgaben oder auch im Sekundenbe reich 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 vorgegebenen Zeitrahmens ab, wobei grundsätzlich ein vereinzeltes Überschreiten des vorgegebenen Zeitrahmens möglich ist und zu keinem Fehler führt.
- Gemäß einer Ausführungsform der erfindungsgemäßen Maschinensteuerung ist diese mit einem insbesondere in Echtzeit ausgeführtes Steuerungs- und/oder Regelungsprogramm konfiguriert, das eingerichtet ist, eine Bewegung der Maschine zu steuern und/oder zu regeln. Das Steuerungs- und/oder Regelungsprogramm kann auf beiden Prozessorkernen laufen und kann auf beide RAMs zurückgreifen.
- Nach einer Variante der erfindungsgemäßen Maschinensteuerung weist das Steuerungs- und/oder Regelungsprogramm einen Steuerungsprogrammteil zum Steuern der Maschine und einen Regelungsprogrammteil zum Regeln der Bewegung der Maschine auf, wobei der Steuerungsprogrammteil nur auf einem der beiden Prozessorkerne und der Regelungsprogrammteil auf dem anderen der beiden Prozessorkerne läuft. Hier ist es möglich, dass ein bestimmtes der beiden RAMs dem Steuerungsprogrammteil und das andere RAM dem Regelungsprogrammteil zugeordnet ist.
- Die Maschinensteuerung ist nach einer weiteren Ausführungsform mit einem so genanntes ”General-Purpose” Betriebssystem konfiguriert, das nur entweder dem ersten Prozessorkern oder nur dem zweiten Prozessorkern zugeordnet ist. Ein ”General-Purpose” Betriebssystem wird auch als Standard-Betriebssystem bezeichnet und ist ein Betriebssystem, das nicht für eine spezielle Anwendung und insbesondere nicht speziell zum Steuern einer Maschine, z. B. eines Industrieroboters, vorgesehen ist. Beispiele von ”General-Purpose” Betriebssystemen sind die Windows® Betriebssysteme der Microsoft Corporation. Die Begriffe ”Windows” und ”Microsoft” sind markenrechtlich geschützte Begriffe der Microsoft Corporation.
- Insbesondere eine Benutzeroberfläche des Sicherheitssteuerprogramms und/oder des Steuerungs- und/oder Regelungsprogramms kann auf dem ”General-Purpose” Betriebssystem laufen.
- Ein Ausführungsbeispiel der Erfindung ist exemplarisch in den beigefügten schematischen Zeichnungen dargestellt, deren einzige Figur einen Industrieroboter mit einem Steuerrechner zeigt.
- Die Figur zeigt einen Industrieroboter
1 mit einer Kinematik für Bewegungen in beispielsweise sechs Freiheitsgraden als Beispiel einer elektrischen Maschine. Der Industrieroboter1 weist in allgemein bekannter Weise einen Roboterarm2 mit sechs Bewegungsachsen, Gelenken, Hebeln4 ,5 und einem Flansch6 auf. In der Figur ist nur eine der Bewegungsachsen mit dem Bezugszeichen7 versehen und der Roboterarm2 ist auf einem Sockel8 befestigt. - Jede der Bewegungsachsen
7 wird von einem nicht näher dargestellten Antrieb bewegt. Die Antriebe umfassen beispielsweise jeweils einen elektrischen Motor und Getriebe, wie es dem Fachmann allgemein bekannt ist. - Der Industrieroboter
1 weist ferner einen Steuerrechner (Robotersteuerung)9 auf, der mit den Antrieben des Industrieroboters1 in nicht dargestellter Weise verbunden ist und diese mittels eines auf dem Steuerrechner9 laufenden Rechenprogramms steuert bzw. regelt, so dass der Flansch6 des Industrieroboters1 eine vorgegebene Bewegung durchführt. - Der Steuerrechner
9 weist im Falle des vorliegenden Ausführungsbeispiels einen Mehrkernprozessor10 auf. Der Mehrkernprozessor10 ist auf einem Motherboard13 befestigt und weist einen ersten Prozessorkern11 und einen zweiten Prozessorkern12 innerhalb seines Gehäuses auf. Die beiden Prozessorkerne11 ,12 sind eigenständige Recheneinheiten. - Der Steuerrechner
9 weist im Falle des vorliegenden Ausführungsbeispiels ferner einen ersten DRAM Speicherriegel14 und einen vom ersten DRAM Speicherriegel14 physikalisch unabhängigen zweiten DRAM Speicherriegel15 auf. Jeder der Speicherriegel14 ,15 weist mehrere einzelne DRAM Bausteine14a bzw.15a auf. - Im Falle des vorliegenden Ausführungsbeispiels handelt es sich bei dem Steuerrechner
9 im Wesentlichen um einen PC mit einem Standard- und einem Echtzeit-Betriebsystem als zentrale Steuerungselemente. Ein Standard Betriebssystem wird auch als ”General Purpose” Betriebssystem bezeichnet. Ein ”General-Purpose” Betriebssystem ist ein Betriebssystem, das nicht für eine spezielle Anwendung und insbesondere nicht speziell zum Steuern einer Maschine vorgesehen ist. Im Falle des vorliegenden Ausführungsbeispiels ist der Steuerrechner9 mit einem Windows® Betriebssysteme der Microsoft Corporation als ”General-Purpose” Betriebssystemen konfiguriert. Als Echtzeitbetriebssystem wird das von Wind River entwickelte ”VxWorks” Echtzeitbetriebssystem verwendet. Die beiden Prozessorkerne11 ,12 werden zusätzlich zur Steuerung und Regelung des Industrieroboters1 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 Industrieroboters1 möglich ist und erlaubt die Bewegung nur dann, wenn beide Berechnungen auf eine sichere Bewegung schließen, gegebenenfalls wird eine Bewegung des Industrieroboters1 gestoppt. - Die beiden Prozessorkerne
11 ,12 sind im Falle des vorliegenden Ausführungsbeispiels wie folgt konfiguriert:
Der erste Prozessorkern11 wird als System Core verwendet. Auf ihm läuft das Standardbetriebssystem und ein erster Teil des Symmetric MultiProcessing(SMP)-fähigen Echtzeitbetriebssystems. Der erste Prozessorkern11 stellt dem Echtzeitbetriebssystem vorrangig bezüglich dem Standardbetriebssystem Rechenzeit, wenn benötigt, zur Verfügung. Auf dem Standardbetriebssystem läuft die Benutzerober fläche der Robotersteuerung und der Echtzeitteil der Robotersteuerung, ein erster Teil (erste Kanal) der Sicherheitssteuerung (SafeOS) des Industrieroboters1 als geschützter ”Real Time Process” (Echtzeitprozess) und der sogenannte File- und Communication Helper für die Sicherheitssteuerung. - Der zweite Prozessorkern
12 wird als Controller Core verwendet. Der zweite Prozessorkern12 wird im Falle des vorliegenden Ausführungsbeispiels ausschließlich von einem zweiten Teil des SMP-fähigen Echtzeitbetriebssystems verwendet, nämlich der Regler für die Robotersteuerung und der zweite Kanal der Sicherheitssteuerung als geschützter ”Real Time Process” (Echtzeitprozess). - Im Falle des vorliegenden Ausführungsbeispiels ist das BIOS des Steuerrechners
9 derart konfiguriert, dass es seinen nicht näher dargestellten Speicher-Controller so initialisiert, dass die beiden separaten DRAM Speicherriegel14 ,15 zu zwei unterschiedlichen Adressräumen beitragen. Dadurch wird ermöglicht, dass der dem ersten Prozessorkern11 zugeordnete erste Teil der Sicherheitssteuerung im Bereich des ersten DRAM Speicherriegels14 und der dem zweiten Prozessorkern12 zugeordnete zweite Teil der Sicherheitssteuerung im Adressraum des zweiten DRAM Speicherriegel15 abgelegt und ausgeführt wird. Dadurch ist sichergestellt, dass sich ein Hardware Fehler in einem Speicherbaustein14a ,15a , welcher meist die Veränderung derselben Bits innerhalb eines Bytes zur Folge hat, nicht als so genannter ”Common Cross” Fehler in beiden Kanälen auswirkt. - Um dies zu erreichen, werden im Falle des vorliegenden Ausführungsbeispiels folgende Maßnahmen ergriffen:
Im Echtzeitbetriebssystem ”VxWin” in der aktuellen Version wird der Start-Code vom Standardbetriebssystem durch entsprechende Konfiguration derart festgelegt, dass ein Speicherbereich mit frei wählbarer Startadresse und Größe reserviert wird. Nachdem das Standardbetriebssystem hochgefahren ist, kennt es den auf diese Weise reservierten Speicher nicht mehr und dieser steht somit der Verwendung unter dem Echtzeitbetriebssystem ”VxWin” zur Verfügung. - Im Falle des vorliegenden Ausführungsbeispiels wird die Startadresse auf ”0×1000000” (16 MB) gewählt. Dies ist dahingehend zu ändern, dass die Startadresse und Größe des Speicherbereiches so unterhalb der relevanten Riegelgrenze gewählt wird, dass der Speicherbereich die Riegelgrenze um die für den zweiten Teil der Sicherheitssteuerung notwendige Speichergröße ab der Riegelgrenze beginnend überlappt.
- Wenn z. B., wie es im Falle des vorliegenden Ausführungsbeispiels der Fall ist, der zweite Teil der Sicherheitssteuerung 2 MB Speicher benötigt und für die restlichen Echtzeitbetriebssystem-Module z. B. 128 MB zur Verfügung stehen sollen, ergeben sich eine Startadresse von 512 MB – 128 MB = 384 MB (0×18000000) und eine Gesamtgröße des zu reservierenden Speicherbereichs von 128 MB + 2 MB = 130 MB.
- Die Speicherverwaltung des Echtzeitbetriebssystems VxWorks ist im Falle des vorliegenden Ausführungsbeispiels so angepasst, dass der Speicherbereich im zweiten DRAM Speicherriegel
15 ausschließlich vom zweiten Teil der Sicherheitssteuerung genutzt wird. - Der Lademechanismus für den relevanten Echtzeitprozess ist so angepasst, dass der Echtzeitprozess des dem zweiten Teil der Sicherheitssteuerung auf die Startadresse des zweiten DRAM Speicherriegels
15 , oder kurz darüber, geladen wird. - Bei der Initialisierung der beiden Teile der Sicherheitssteuerung überprüfen beide, ob sie im richtigen Adressbereich liegen.
- Im Falle des vorliegenden Ausführungsbeispiels erfolgt eine Überwachung der beiden DRAM Speicherriegel
14 ,15 , weshalb im vorliegenden Ausführungsbeispiels DRAM Speicherriegel14 ,15 mit integrierter ECC (”Error Correction Code”) Überwachung verwendet werden. Diese ist im BIOS entsprechend initialisiert. Sollte ein ECC-Fehler im Code-, Daten- oder Stack-Bereich eines der beiden Teile der Sicherheitssteuerung auftreten, dann nimmt die sichere Steuerung den sicheren Zustand ein. - Im Falle des vorliegenden Ausführungsbeispiels ist eine Spannungsüberwachung realisiert. Die diversen Betriebsspannungen auf dem Motherboard
13 werden durch entsprechende, nicht näher dargestellte Überwachungsbausteine überwacht. Sollten die Spannungen außerhalb des zulässigen Wertebereichs geraten, lösen die Überwachungsbausteine einen Reset am System aus, worauf die Steuerung neu startet und die externen sicheren Teilnehmer den sicheren Zustand einnehmen. - Dies erfolgt ohne jegliches Zutun von Software.
- Im Falle des vorliegenden Ausführungsbeispiels ist eine Temperaturüberwachung realisiert. Die Temperaturdaten des Mehrkernprozessors
10 und des Motherboards13 werden von einem separaten Mikrocontroller16 überwacht. Der Mikrocontroller16 agiert dazu als Master auf einem nicht näher dargestellten SMBus und liest darüber einen nicht näher dargestellten Temperatursensor des Mehrkernprozessors10 und gegebenenfalls weitere nicht dargestellte Temperatursensoren, z. B. des Motherboards13 , aus. Sollte die Temperatur außerhalb des zulässigen Wertebereichs geraten, löst der Mikrocontroller16 einen Reset am System aus, worauf die externen sicheren Teilnehmer den sicheren Zustand einnehmen. - Im Falle des vorliegenden Ausführungsbeispiels ist eine Zeitüberwachung durch einen externen Watchdog realisiert. Im Mikrocontroller
16 ist ein Watchdog realisiert. Dieser generiert einen Reset am Steuerrechner9 , falls die zu überwachende Software nicht in gewissen Zeitabständen im Millisekundenbereich den Watchdog zurücksetzt. Dabei löst der Watchdog auch einen Reset aus, wenn der Watchdog von der Software zu früh zurückgesetzt wird (Zeitfenster Funktion). Die Zeitfensterfunktion erlaubt es, nicht nur eine zu langsame bzw. gar nicht mehr reagierende Software zu überwachen, sondern auch eine zu schnell laufende Software (mehrfache harmonische des Prozessortaktgebers). - Im Falle des vorliegenden Ausführungsbeispiels erfolgt eine Zeitüberwachung durch die zwei Kanäle selbst mittels diversitärer nicht näher dargestellter Zeitgeber. Seide redundanten Kanäle, d. h. die beiden Teile der Sicherheitssteuerung, weisen zwei unabhängige Zeitbasen auf. Die beiden Kanäle vergleichen die beiden Uhrzeitwerte der Zeitbasen und gehen bei zu starker Abweichung in den sicheren Zustand über. Damit diese wirklich unabhängig sind, werden sie nicht von demselben Zeitgeber (Quarz) gespeist werden. Auf einer Standard PC Architektur existieren in der Regel mehrere Timer-Bausteine, welche von unterschiedlichen Quarzen gespeist werden und somit für die Zeitüberwachung der beiden Kanäle verwendet werden kann. Gegebenenfalls können auch externe Zeitbasen verwendet werden. Der Hauptaktzeitgeber eines PC wird üblicherweise von einem 14.31818 MHz Quarz gespeist. Von diesem werden die Takte des Mehrkernprozessors
10 , eines nicht näher dargestellten Front Side Busses, einer nicht näher dargestellten South Bridge, etc. abgeleitet. Da diese Geräte somit alle dieselbe Zeitbasis haben, darf nur eines dieser Geräte die Zeitbasis für einen der beiden Kanäle beisteuern. Dies kann z. B. ein High Performance Event Timer (HPET) sein (sitzt in der Southbridge). - Ein weiterer nicht näher dargestellter Taktzeitgeber, welcher von einem anderen Quarz gespeist wird, ist die ebenfalls auf jedem PC vorhandene batterie- oder akkugepufferte CMOS-Uhr. Von diesem Zeitgeber kann die Zeit nur mit einer Auflösung von min. 1 Sekunde ausgelesen werden, was für die Zeitüberwachung der beiden Kanäle zu lange ist.
- Die CMOS-Uhr kann jedoch Interrupts mit programmierbarer Periodendauer ab 122.070 μs generieren (oder 2-er Potenzen davon). Diese Interrupts müssen von einem Kanal initialisiert und bedient werden. Dadurch ein Kanal feststellen, wie viel Zeit seit dem letzten IRQ vergangen ist.
- Eine weitere Möglichkeit ist die Verwendung eines oft in Ethernet Controllern vorhandenen frei laufenden Zählers. Dieser wird von der Ethernet-Zeitbasis getaktet und kann von der Software ausgelesen werden.
- Noch eine andere Möglichkeit ist die Verwendung eines Zählers in einem externen Gerät, wie z. B. dem EtherCAT Clock Master. Dieser befindet sich üblicherweise im ersten EtherCAT Teilnehmer und wird durch einen eigenen Quarz getaktet. Wenn dessen Zählerwert aktuell durch Auslesen über den EtherCAT-Bus zur Verfügung steht, kann der eine Kanal damit seine Zeitüberwachung durchführen.
Claims (10)
- Maschinensteuerung basierend auf einem PC-Computersystem, aufweisend ein erstes RAM (
14 ), ein zweites RAM (15 ) und einen Mehrkernprozessor (10 ) mit einem ersten Prozessorkern (11 ) und einem zweiten Prozessorkern (12 ), wobei das Computersystem mit einer einem einen ersten Programmteil und einen zweiten Programmteil aufweisenden Sicherheitssteuerprogramm zum Überwachen einer Maschine (1 ) konfiguriert ist, dessen erster Programmteil nur dem ersten Prozessorkern (11 ) und dem ersten RAM (14 ) und dessen zweiter Programmteil nur dem zweiten Prozessorkern (12 ) und dem zweiten RAM (15 ) zugeordnet ist. - Maschinensteuerung nach Anspruch 1, bei der das erste RAM ein erstes dynamisches RAM und/oder ein erster Speicherriegel (
14 ) ist, und/oder bei der das zweite RAM ein zweites dynamisches RAM und/oder ein zweiter Speicherriegel (15 ). - Maschinensteuerung nach Anspruch 1 oder 2, bei der dem ersten Programmteil zugeordnete erste Daten und erste Programmcodes nur im ersten RAM (
14 ) und dem zweiten Programmteil zugeordnete zweite Daten und zweite Programmcodes nur im zweiten RAM (15 ) gespeichert sind. - Maschinensteuerung 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 nur dann eine Bewegung der Maschine (1 ) zu erlauben und/oder die Maschine (1 ) automatisch zu stoppen, wenn sowohl eine erste Berechnung basierend auf dem ersten Programmteil und eine zweite Berechnung basierend auf dem zweiten Programmteil eine sichere Bewegung der Maschine (1 ) ergeben. - Maschinensteuerung nach einem der Ansprüche 1 bis 4, bei der der erste Prozessorkern (
11 ) den ersten Programmteil und der zweiten Prozessorkern (12 ) den zweiten Programmteil in Echtzeit ausgeführt. - Maschinensteuerung nach einem der Ansprüche 1 bis 5, die mit einem insbesondere in Echtzeit ausgeführtes Steuerungs- und/oder Regelungsprogramm konfiguriert ist, das eingerichtet ist, eine Bewegung der Maschine (
1 ) zu steuern und/oder zu regeln. - Maschinensteuerung nach Anspruch 6, bei der das Steuerungs- und/oder Regelungsprogramm einen Steuerungsprogrammteil zum Steuern der Maschine (
1 ) und einen Regelungsprogrammteil zum Regeln der Bewegung der Maschine (1 ) aufweist, wobei der Steuerungsprogrammteil nur auf einem der beiden Prozessorkerne (11 ) und der Regelungsprogrammteil auf dem anderen der beiden Prozessorkerne (12 ) läuft. - Maschinensteuerung nach einem der Ansprüche 1 bis 7, die mit einem so genanntes ”General-Purpose” Betriebssystem konfiguriert ist, das nur entweder dem ersten Prozessorkern (
11 ) oder dem zweiten Prozessorkern (12 ) zugeordnet ist. - Maschinensteuerung nach Anspruch 8, bei dem eine Benutzeroberfläche des Sicherheitssteuerprogramms und/oder des Steuerungs- und/oder Regelungsprogramms auf dem ”General-Purpose” Betriebssystem läuft.
- Elektrische Maschine, insbesondere Industrieroboter, aufweisend eine Maschinensteuerung (
9 ) nach einem der Ansprüche 1 bis 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102008043530.9A DE102008043530B4 (de) | 2008-11-06 | 2008-11-06 | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102008043530.9A DE102008043530B4 (de) | 2008-11-06 | 2008-11-06 | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102008043530A1 true DE102008043530A1 (de) | 2010-05-20 |
DE102008043530B4 DE102008043530B4 (de) | 2016-03-10 |
Family
ID=42104765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102008043530.9A Expired - Fee Related DE102008043530B4 (de) | 2008-11-06 | 2008-11-06 | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102008043530B4 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102853831A (zh) * | 2012-09-07 | 2013-01-02 | 中南大学 | 基于双核处理技术的足式机器人状态感知*** |
CN103358309A (zh) * | 2013-07-12 | 2013-10-23 | 杭州金人自动控制设备有限公司 | 一种基于以太网的机械手运动控制*** |
DE102013211422A1 (de) * | 2013-06-18 | 2014-12-18 | Kuka Laboratories Gmbh | Steuervorrichtung einer Maschine und Maschine mit einer Steuervorrichtung |
CN104786221A (zh) * | 2015-04-13 | 2015-07-22 | 浙江工业大学 | 一种基于以太网的开放式机械手控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10332700A1 (de) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit |
DE102006012042A1 (de) * | 2006-03-16 | 2007-09-20 | Kuka Roboter Gmbh | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine |
-
2008
- 2008-11-06 DE DE102008043530.9A patent/DE102008043530B4/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10332700A1 (de) * | 2003-06-24 | 2005-01-13 | Robert Bosch Gmbh | Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit |
DE102006012042A1 (de) * | 2006-03-16 | 2007-09-20 | Kuka Roboter Gmbh | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine |
Non-Patent Citations (1)
Title |
---|
VxWin - Add Windows R XP fundtionality to VxWork R on single or multicore CPUs, KUKA Roboter GmbH, Gersthofen, April 2008, S.1-11 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102853831A (zh) * | 2012-09-07 | 2013-01-02 | 中南大学 | 基于双核处理技术的足式机器人状态感知*** |
CN102853831B (zh) * | 2012-09-07 | 2015-04-15 | 中南大学 | 基于双核处理技术的足式机器人状态感知*** |
DE102013211422A1 (de) * | 2013-06-18 | 2014-12-18 | Kuka Laboratories Gmbh | Steuervorrichtung einer Maschine und Maschine mit einer Steuervorrichtung |
EP3011397B1 (de) * | 2013-06-18 | 2020-05-27 | KUKA Deutschland GmbH | Steuervorrichtung einer maschine und maschine mit einer steuervorrichtung |
CN103358309A (zh) * | 2013-07-12 | 2013-10-23 | 杭州金人自动控制设备有限公司 | 一种基于以太网的机械手运动控制*** |
CN103358309B (zh) * | 2013-07-12 | 2016-06-08 | 杭州金人自动控制设备有限公司 | 一种基于以太网的机械手运动控制*** |
CN104786221A (zh) * | 2015-04-13 | 2015-07-22 | 浙江工业大学 | 一种基于以太网的开放式机械手控制方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102008043530B4 (de) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2504739B1 (de) | Steuerungssystem zum steuern von sicherheitskritischen und nichtsicherheitskritischen prozessen | |
EP2513796B1 (de) | Verfahren zum betreiben einer recheneinheit | |
DE102016108666A1 (de) | Zeitgeber für Peripheriefunktionswächter | |
DE10231938A1 (de) | Computersystem mit mehreren Sicherungs-Verwaltungsprozessoren zur Handhabung eines Ausfalls eines eingebetteten Prozessors | |
DE102008043530B4 (de) | Maschinensteuerung und elektrische Maschine, insbesondere Industrieroboter | |
DE102006052757B4 (de) | Verfahren zum Betrieb eines Automatisierungsgerätes mit einer Verarbeitungseinheit mit mehreren Verarbeitungskernen | |
WO2004034261A1 (de) | Verfahren zur ereignissynchronisation, insbesondere für prozessoren fehlertoleranter systeme | |
EP2648100B1 (de) | Automatisierungsgerät mit Vorrichtungen zur Prozessorüberwachung | |
DE102006012042A1 (de) | Steuervorrichtung zur fehlersicheren Steuerung einer Maschine | |
DE102019103408A1 (de) | Systeme, verfahren und vorrichtungen zum bekämpfen von direkt-speicherzugriffsattacken | |
EP1807760A2 (de) | Datenverarbeitungssystem mit variabler taktrate | |
EP2228723B1 (de) | Verfahren zur Fehlerbehandlung eines Rechnersystems | |
DE102011007467A1 (de) | Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung | |
WO2011154020A1 (de) | Rechenvorrichtung mit koordination des zugriffs auf einen internen speicher und betriebsverfahren | |
DE102017219195B4 (de) | Verfahren zum gewährleisten eines betriebs eines rechners | |
DE102004051991A1 (de) | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms | |
DE102017201621A1 (de) | Integrierte Schaltung für ein Steuergerät eines Kraftfahrzeugs, Verfahren zur Herstellung einer integrierten Schaltung | |
EP1283471B1 (de) | Programmgesteuerte Einheit | |
EP3433682B1 (de) | Sicherheitssteuerung und verfahren zum betreiben einer sicherheitssteuerung | |
EP2806316B1 (de) | Verfahren zum Betreiben eines Automatisierungssystems | |
WO2004034172A2 (de) | Verfahren zur ereignissynchronisation, damit synchronisierte prozessoren und fehlertoleranter systeme mit derartigen prozessoren | |
DE102020116959A1 (de) | Watchdog-schaltung, schaltung, system-auf-chip, verfahren zum betrieb einer watchdog-schaltung, verfahren zum betrieb einer schaltung und verfahren zum betrieb eines systems-auf-chip | |
EP2338111B1 (de) | Verfahren und vorrichtung zum testen eines rechnerkerns in einer mindestens zwei rechnerkerne aufweisenden recheneinheit | |
WO2008128710A1 (de) | Steuervorrichtung für fahrzeuge | |
EP3011397B1 (de) | Steuervorrichtung einer maschine und maschine mit einer steuervorrichtung |
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 |
|
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R082 | Change of representative |
Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, DE Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE |
|
R081 | Change of applicant/patentee |
Owner name: KUKA DEUTSCHLAND GMBH, DE Free format text: FORMER OWNER: KUKA ROBOTER GMBH, 86165 AUGSBURG, DE |
|
R082 | Change of representative |
Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE Representative=s name: EGE LEE & PARTNER PATENTANWAELTE PARTGMBB, 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 |