Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DATA PROCESSING STRUCTURE
Document Type and Number:
WIPO Patent Application WO/2002/097641
Kind Code:
A2
Abstract:
The invention relates to a data processing structure comprising a plurality of processors (20i) and a data bus (100) for a data communication with a serial data structure. The plurality of processors (20i) can be respectively coupled in parallel to the data bus (100), and a data communication via said data bus (100) with one of the processors (20i), preferably a programming of said processor (20i), is authorised for the same (20i), but is blocked for all of the other (20j) processors.

Inventors:
KRUG ANDREAS (DE)
KALKER THOMAS (DE)
Application Number:
PCT/EP2002/001937
Publication Date:
December 05, 2002
Filing Date:
February 25, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
WITTENSTEIN AG (DE)
KRUG ANDREAS (DE)
KALKER THOMAS (DE)
International Classes:
G06F15/173; B25J9/16; G05B19/04; G05B19/042; G05B19/414; G06F9/445; G06F13/14; G06F13/36; G06F13/40; H04L12/40; (IPC1-7): G06F13/40
Domestic Patent References:
WO2001023971A12001-04-05
WO2000077585A12000-12-21
Foreign References:
US6055633A2000-04-25
DE19750365A11999-05-20
EP0361142A21990-04-04
Attorney, Agent or Firm:
Weiss, Peter (Engen, DE)
Download PDF:
Claims:
Patentansprüche
1. Eine Datenverarbeitungsstruktur mit einer Vielzahl von Prozessoren (20i) und einem Datenbus (100) für eine Datenkommunikation mit einer seriellen Datenstruktur, dadurch gekennzeichnet, dass die Vielzahl von Prozessoren (20i) jeweils in paralleler Anschlussweise an den Datenbus (100) ankoppelbar sind, und eine Datenkommunikation über den Datenbus (100) mit einem der Vielzahl von Prozessoren (20i), vorzugsweise eine Programmierung dieses Prozessors (20i), für diesen Prozessor (20i) zugelassen und für alle anderen (20j) der Vielzahl von Prozessoren unterbunden wird.
2. Die Datenverarbeitungsstruktur nach Anspruch 1, dadurch gekennzeichnet, dass für die Datenkommunikation über den Datenbus (100) mit einem der Vielzahl von Prozessoren (20i) dieser Prozessor (20i) an den Datenbus (100) ankoppelt wird, während alle anderen (20j) der Vielzahl von Prozessoren von dem Datenbus (100) getrennt werden.
3. Die Datenverarbeitungsstruktur nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass zwischen jedem Prozessor (20i) und dem Datenbus (100) jeweils eine Schalteinheit (120i) gekoppelt ist, wobei die Schalteinheit (120i) den Prozessor (20i) entweder an den Datenbus (100) ankoppelt oder von dem Datenbus (100) trennt.
4. Die Datenverarbeitungsstruktur nach Anspruch 3, dadurch gekennzeichnet, dass die Vielzahl von Prozessoren (20i) über einen Feldbus (30) in paralleler Anschlussweise gesteuert werden können.
5. Die Datenverarbeitungsstruktur nach Anspruch 4, dadurch gekennzeichnet, dass jedem Prozessor (20i) jeweils eine Steuerungseinheit (110i) zugeordnet ist, die Steuerungseinheiten (llOi) an den Feldbus (30) gekoppelt sind, und die Steuerungseinheiten (llOi) über den Feldbus (30) Steuerungssignale empfangen können, um über die dazugehörigen Schalteinheiten (120i) die jeweiligen Prozessoren (20i) entweder an den Datenbus (100) anzukoppeln oder von dem Datenbus (100) abzutrennen.
6. Eine Datenverarbeitungsstruktur mit einer Vielzahl von Prozessoren (20i), die über einen Feldbus (30) in paralleler Anschlussweise gesteuert werden können, und einem Datenbus (100) für eine Datenkommunikation mit einer seriellen Datenstruktur, dadurch gekennzeichnet, dass die Vielzahl von Prozessoren (20i) jeweils in paralleler Anschlussweise sowohl an den Feldbus (30) als auch an den Datenbus (100) ankoppelbar sind, und für eine Datenkommunikation über den Datenbus (100) mit einem der Vielzahl von Prozessoren (20i) dieser Prozessor (20i) an den Datenbus (100) angekoppelt wird, während alle anderen (20j) der Vielzahl von Prozessoren von dem Datenbus (100) getrennt werden.
7. Eine Antriebssteuerung, vorzugsweise für einen Roboter, mit einer Datenverarbeitungsstruktur nach einer der vorangegangenen Ansprüche.
8. Verfahren zur Datenkommunikation in einer Datenverarbeitungsstruktur mit einer Vielzahl von Prozessoren (20i) und einem Datenbus (100) für eine Datenkommunikation mit einer seriellen Datenstruktur, wobei die Vielzahl von Prozessoren (20i) jeweils in paralleler Anschlussweise an den Datenbus (100) ankoppelbar sind, gekennzeichnet durch die Schritte : (a) Zulassen einer Datenkommunikation über den Datenbus (100) für einen (20i) der Vielzahl von Prozessoren, und (b) Gleichzeitiges Unterbinden einer Datenkommunikation über den Datenbus (100) für alle anderen (20j) der Vielzahl von Prozessoren.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Datenkommunikation über den Datenbus (100) für den einen (20i) der Vielzahl von Prozessoren eine Programmierung dieses Prozessors (20i) ist.
Description:
Datenverarbeitungsstruktur Die vorliegende Erfindung betrifft eine Datenverarbeitungsstruktur mit einer Vielzahl von Prozessoren und einem Datenbus für eine Datenkommunikation mit einer seriellen Datenstruktur.

Antriebssysteme bestehen zumeist aus einer Antriebssteuerung mit einer Regelelektronik, einem Getriebe und einem Motor. Insbesondere bei komplexen Systemen können dabei eine Vielzahl derartiger Antriebssysteme auf kleinem Raum auftreten, wie z. B. in einem Roboterarm mit einer Vielzahl von Freiheitsgraden"in der Bewegungsrichtung.

Figur 1 zeigt ein im Stand der Technik bekanntes Antriebssystem für Roboter mit einer Vielzahl von

Antriebssteuerungen 10A, 10B,..., etc. Jede der Antriebssteuerungen 10i (mit i = A, B, etc.) weist einen Microcontroller (oder Microprozessor) 20i auf, der wiederum z. B. einen Motor oder Motor und Getriebe steuert (in Figur 1 angedeutet durch den Pfeil 25i). Jeder der Microcontroller 20i ist jeweils parallel mit einem Feldbus 30 verbunden, über den jeder einzelne der Microcontroller 20i zentral von einer zentralen Steuerung 50 gesteuert werden kann. Für den Feldbus 30 wird hier beispielsweise ein CAN (Control Area Network) Bussystem verwendet, wie dies insbesondere aus dem Automobilbereich bekannt ist.

Insofern die Microcontroller 20i nicht bereits konfiguriert sind oder falls diese einzeln oder kollektiv umkonfiguriert werden sollen, muss jeweils von außen Zutritt zu dem oder den entsprechenden Microcontrollern 20i erfolgen, da eine Konfiguration über den Feldbus 30 nicht möglich ist. Der Microcontroller 20i braucht eine Minimal-Betriebssoftware, um den Feldbus zu 30 betreiben.

Um ein Vonaußenherantreten an die Microcontroller 20i zu vermeiden und den Programmierungsaufwand damit zu reduzieren, kann jeder zu programmierende Microcontroller 20i mit einem separaten Datenbus 40i angefahren werden, typischerweise einem seriellen Datenbus mit Punkt zu Punkt Struktur, wie einer RS232-Schnittstelle. Hierdurch wird für jeden zu programmierenden Microcontroller 20i jeweils eine Zuleitung eines Datenbusses 40i von einer zentralen Programmierungseinheit 60 erforderlich, wie in Fig. 1 dargestellt.

Obgleich durch das Hinzufügen der Datenbusse 40i zur Programmierung der Microcontroller 20i der Aufwand für die

Programmierung deutlich herabgesetzt werden kann und die Microcontroller 20i einzeln und flexibel programmiert werden können, erweist sich gerade der erhöhte Verdrahtungsaufwand durch die Einzelzuführungen der Datenbusse 40i als für viele Fälle unpraktikabel, insbesondere wenn nur wenig Raum zur Verfügung steht, wie bei einem Roboterarm. Da sich die Anzahl der erforderlichen Datenbusse 40i jeweils aufaddiert, werden sehr schnell die vorhandenen Platzreserven aufgebraucht, und es muss entsprechend dem Platzangebot eine Auswahl an Microcontrollern 20i getroffen werden, die mit jeweils einem Datenbus 40i ausgestattet und deshalb frei programmierbar sind.

Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Antriebssystem mit einer Vielzahl von Antriebssteuerungen, insbesondere für Roboteranwendungen, zu schaffen, bei dem die Antriebssteuerungen jeweils frei programmierbar sind und das auch gerade bei Anwendungen mit hohen Anforderungen an die Kompaktheit des Systems einsetzbar ist.

Zur Lösung dieser Aufgabe führt, dass die Vielzahl von Prozessoren jeweils in paralleler Anschlussweise an den Datenbus ankoppelbar sind, und eine Datenkommunikation über den Datenbus mit einem der Vielzahl von Prozessoren, vorzugsweise eine Programmierung dieses Prozessors, für diesen Prozessor zugelassen und für alle anderen der Vielzahl von Prozessoren unterbunden wird.

Entsprechend der vorliegenden Erfindung wird jeder einer Vielzahl von Microcontrollern sowohl von einem Feldbus zur Steuerung der Microcontroller als auch von einem seriellen Datenbus zur Programmierung der Microcontroller jeweils in

paralleler Anschlussweise angekoppelt. Dabei ist jedem Microcontroller eine Steuerungseinheit und eine Schalteinheit zugeordnet. Zur Programmierung eines der Microcontroller wird dessen zugeordnete Steuerungseinheit über den Feldbus angesteuert, so dass dieser auf die entsprechende Schalteinheit wirkt und eine Datenkommunikation über den Datenbus hin zu dem entsprechenden Microcontroller zugelassen wird. Alle anderen über den Datenbus verbundenen Microcontroller werden gleichzeitig durch deren entsprechende Steuerungseinheiten und Schalteinheiten von dem Datenbus abgetrennt, so dass ausschließlich eine Datenkommunikation mit dem einen zu programmierenden Microcontroller zugelassen wird. Die Programmierung des entsprechenden Microcontrollers erfolgt dann über den seriellen Datenbus.

Obgleich demnach erfindungsgemäß die Zuführung des seriellen Datenbusses zu den Microcontrollern in Form einer parallelen Anschlußweise erfolgt, wird erfindungsgemäß durch das entsprechende Zuschalten des zu programmierenden Microcontrollers an den Datenbus und das gleichzeitige Trennen der anderen (nicht zu programmierenden) Microcontrollers von dem Datenbus sichergestellt, dass die serielle Datenübertragung zur Programmierung des einen Microcontroller sicher und ungestört durchgeführt werden kann. Zur Programmierung eines weiteren Microcontrollers, wird entsprechend dieser zu dem Datenbus zugeschaltet und alle anderen Microcontroller von dem Datenbus getrennt.

Auf diese Weise kann ein Microcontroller nach dem anderen einfach und flexibel programmiert werden, ohne dass es eines Eingriffes von außen bedarf. Gleichzeitig wird durch die parallele Anschlussweise des Datenbusses die

erforderliche Zuleitungsmenge auf ein Minimum reduziert, so dass gerade auch Anwendungen mit starken Einschränkungen im Raumangebot für derartige Kabelzuführungen ermöglicht werden, wie z. B. Roboteranwendungen.

Die Erfindung ermöglicht damit durch das Zusammenwirken des Feldbus mit den Microcontrollern jeweils zugeordneten Steuerungseinheiten und Schalteinheiten, dass der serielle Datenbus trotz paralleler Anschlussweise für eine Datenkommunikation mit einem der Microcontroller physisch genau diesem in serieller Anschlussweise zugeordnet ist und alle anderen Microcontroller von dem seriellen Datenbus physisch abgekoppelt sind. In anderen Worten emuliert die Erfindung damit eine serielle Busankopplung für eine serielle Datenstruktur bei einer parallelen Anschlussweise des Busses.

Es ist damit ersichtlich, dass die Erfindung nicht auf Antriebssysteme oder Roboteranwendungen begrenzt ist, sondern allgemein überall dort Einsatz finden kann, wo eine Vielzahl von Prozessoren (wie Microcontroller oder Mikroprozessoren) über einen Feldbus gesteuert werden und eine Datenkommunikation (z. B. zur Programmierung) mit den Prozessoren über einen weiteren Datenbus mit einer seriellen Datenstruktur erfolgen soll. Weitere Einsatzgebiete der Erfindung sind somit insbesondere Druckmaschinen, Verpackungsmaschinen, Medizintechnik, Halbleiterherstellung etc..

Weitere Vorteile, Merkmale und Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiele sowie anhand der Zeichnungen ; diese zeigen in : Figur 1 ein im Stand der Technik bekanntes Antriebssystem für Roboteranwendungen ; und Figur 2 ein erfindungsgemäßes System zur Programmierung eines Antriebssystems insbesondere für Roboter.

Figur 2 stellt exemplarisch eine bevorzuge Ausführungsform gemäß der Erfindung für das Beispiel einer Antriebssteuerung insbesondere für Roboteranwendungen dar.

Wie auch in Figur 1 dargestellt, weist das Antriebssystem gemäß Figur 2 eine Vielzahl von Antriebssteuerungen 10i (mit i = A, B,..., etc.) auf. Jede der Antriebssteuerungen 10i ist in paralleler Anschlussweise an den Feldbus 30 angeschlossen und kann über diesen zentral von der zentralen Steuerung 50 gesteuert werden.

Ferner ist jede der Antriebssteuerungen 10i ebenso in paralleler Anschlussweise mit einem Datenbus 100 mit serieller Datenstruktur verbunden, über den eine Datenkommunikation zu einer der Antriebssteuerungen 10i durchgeführt werden kann. In dem Ausführungsbeispiel nach Fig. 2 ist der Datenbus 100-ebenso wie der Feldbus 30- mit der zentralen Steuerung 50 verbunden, die neben der zentralen Steuerung auch zum Datenaustausch und zur Programmierung der Antriebssteuerungen 10 dient. Es bedarf jedoch keiner Erwähnung, dass anstelle der zentralen Steuerung 50, der Datenbus 100 auch ebenso mit einer separaten Datenaustausch-und/oder Programmierungseinheit

verbunden sein kann.

Da wie aus Figur 2 zu erkennen ist, der Feldbus 30 und der Datenbus 100 völlig parallel zueinander aufgebaut sein können, können diese physisch zusammengefasst und beispielsweise als ein gemeinsamer Kabelstrang verlegt werden.

Wie aus der vergrößerten Darstellungsweise auf der rechten Seite in Figur 2 für die Antriebssteuerung 10B zu erkennen ist, weist jede der Antriebssteuerungen 10i einen Microcontroller 20i auf, der beispielsweise zur Steuerung eines Motors oder Motor und Getriebe Verwendung finden kann (wie durch Pfeil 25i angedeutet ist). Es ist jedoch ersichtlich, dass der erfindungsgemäße Aufbau nicht auf Antriebssteuerungen im Allgemeinen oder solche wie sie in der Robotertechnologie Anwendung finden, beschränkt ist, sondern auf jegliche Systeme anwendbar ist, bei denen eine Vielzahl von Microcontrollern oder anderer entsprechender programmierbarer Bauteile über einen Feldbus gesteuert und durch einen Datenbus mit serieller Datenstruktur einzeln programmiert werden können.

Neben dem Microcontroller 20i weist jede der Antriebssteuerungen 10i ein Steuerungseinheit 110i und eine Schalteinheit 120i auf. Die Steuerungseinheit 110i ist an den Feldbus 30 gekoppelt und weist einen Steuerungsausgang 130i zu dem Microcontroller 20i und einen Anforderungsausgang 140i zu der Schalteinheit 120i hin auf.

Die Schalteinheit 120i istz auf der einen Seite mit dem Datenbus 100 und auf der anderen Seite mit dem Microcontroller 20i gekoppelt. Gesteuert wird die Schalteinheit 120i über den Anforderungsausgang 140i, wobei

der Microcontroller 20i durch die Schalteinheit 120i entweder zu dem Datenbus 100 hin verbunden oder von diesem abgetrennt wird.

Im normalen Betriebsfall werden die Antriebssteuerungen 10i zentral über den Feldbus 30 gesteuert, wobei die entsprechenden Steuerungssignale von dem Feldbus 30 über die jeweilige Steuerungseinheit 110i an den dazugehörigen Microcontroller 20i über den Steuerungsausgang 130i weitergeleitet werden.

Zur Programmierung des Microcontrollers 20i erhält die dazugehörige Steuerungseinheit 110i über den Feldbus 30 ein entsprechendes Anforderungssignal und stellt dieses oder ein davon abgeleitetes Signal an den Anforderungsausgang 140i. Durch dieses Anforderungssignal schaltet die Schalteinheit 120i den Microcontroller 20i an den Datenbus 100, so dass eine Datenkommunikation zwischen der zentralen Steuerung 50 und dem Microcontroller 20i über den Datenbus 100 erfolgen kann.

Gleichzeitig mit dem Absenden des Anforderungssignals für die Steuerungseinheit 110i erhalten die anderen Steuerungseinheiten 110j (mit j = A, B,..., etc., aber j i) entsprechende Abtrennsignale, um dementsprechend über die dazugehörigen Schalteinheiten 120j die jeweiligen Microcontroller 20j von dem Datenbus 100 zu trennen.

Es ist klar, dass anstelle der Abtrennsignale auch aus dem Nichtvorhandensein eines"Anforderungssignals für eine entsprechende Antriebssteuerung 10j geschlossen werden kann, dass der dazugehörige Microcontroller 20j von dem Datenbus 100 zu trennen ist. So können beispielsweise

grundsätzlich alle Microcontroller 20 durch die Schalteinheiten 120 von dem Datenbus 100 getrennt werden, und nur bei einem positiven (oder negativen) Anforderungssignal für einen der Antriebssteuerungen 10i wird der dazugehörige Microcontroller 20i über die Schalteinheit 120i an den Datenbus 100 gekoppelt.

Der Feldbus 30 ist vorzugsweise ein CAN-Bus, und der Datenbus 100 ist vorzugsweise eine serieller RS232- Datenbus.

Über den Feldbus 30 in Verbindung mit der jeweiligen Steuerungseinheit 110i kann der Microcontroller 20i vorzugsweise in einen Bootstrap-Modus für die Programmierung versetzt werden.