DE3852433T2 - Funktionsverteiltes Steuergerät. - Google Patents

Funktionsverteiltes Steuergerät.

Info

Publication number
DE3852433T2
DE3852433T2 DE3852433T DE3852433T DE3852433T2 DE 3852433 T2 DE3852433 T2 DE 3852433T2 DE 3852433 T DE3852433 T DE 3852433T DE 3852433 T DE3852433 T DE 3852433T DE 3852433 T2 DE3852433 T2 DE 3852433T2
Authority
DE
Germany
Prior art keywords
processing unit
dual
bus
port memory
control device
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.)
Expired - Fee Related
Application number
DE3852433T
Other languages
English (en)
Other versions
DE3852433D1 (de
Inventor
Masatsugu Kametani
Takashi Kogawa
Kengo Sugiyama
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3852433D1 publication Critical patent/DE3852433D1/de
Application granted granted Critical
Publication of DE3852433T2 publication Critical patent/DE3852433T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4141Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by a controller or microprocessor per axis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33104Tasks, functions are distributed over different cpu
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33129Group spindles, axis into motion groups, nc channel structure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33156Communication between two processors over shared, dualport ram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33168Two bus, master bus and local servo bus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34076Shared, common or dual port memory, ram

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control By Computers (AREA)
  • Multi Processors (AREA)

Description

  • Hintergrundmaterial für die vorliegende Erfindung ist in den zugehörigen Anmeldungen mit der laufenden Nr. 86106190.1, eingereicht am 6. Mai 1986, und der laufenden Nr. 87101841.2, eingereicht am 10. Februar 1987, enthalten, die beide von dem gleichen Anmelder stammen wie die vorliegende Anmeldung. Die hier offenbarte Steuervorrichtung ist eine Weiterentwicklung der in der Anmeldung mit der laufenden Nr. 87101841.2 offenbarten Steuervorrichtung und kann vorteilhaft als ein Slave- Modul des in der Anmeldung mit der laufenden Nr. 86106190.1 offenbarten Master-Slave-Steuersystems eingesetzt werden, obwohl sie ebenso zufriedenstellend als eigenständige Steuervorrichtung arbeiten kann.
  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung zur Echtzeit-Steuerung einer automatisierten Maschine und insbesondere auf eine Hochleistungs-Steuervorrichtung, die für eine komplexe Steuerung wie z.B. die Steuerung eines Roboterarms ausgelegt ist.
  • Die frühere Vorrichtung zur Steuerung einer automatisierten Maschine kann mit einer Robotersteuerung verwirklicht werden, wie sie z.B. in "Development of New Type Robot Control Console (Model 4)" von K. Aizawa u.a. TOKIKO REVIEW, Band 28, Nr. 1, 1984, Seiten 20 - 26 offenbart ist. Wie dort in Fig. 3 gezeigt ist, besteht die Steuerkonsole grundsätzlich aus einer Haupt-CPU, die als Master-Prozessor dient, deren Peripherieeinheiten sowie einer Servoeinheit. Die Peripherieeinheiten umfassen verschiedene Typen von E/A-Einheiten und sind über Schnittstellenschaltungen an einen lokalen Bus in der Haupt-CPU angeschlossen, wobei der lokale Bus mit einem Mikroprozessor verbunden ist. Die Servoeinheit ist an einen extern erweiterten Bus angeschlossen, der über einen Bus-Treiber mit dem lokalen Bus verbunden ist. An den extern erweiterten Bus können als optionale Einheiten zusätzlich eine Hochgeschwindigkeits-Recheneinheit und eine Festplatten-Steuereinheit angeschlossen werden.
  • Die obenerwähnte herkömmliche Steuervorrichtung besitzt keine Erweiterungsmöglichkeit hinsichtlich der Verarbeitungskapazität der Haupt-CPU. Um die Funktionen zu erweitern, kann an den lokalen Bus ein intelligentes Untersystem mit einer CPU als einer E/A-Einheit angeschlossen werden. Das so angeschlossene intelligente Untersystem kann jedoch nur passiv als E/A-Einheit für die Haupt-CPU betrieben werden. Für eine gewünschte Kommunikation des intelligenten Untersysterns init der Haupt-CPU stehen keine Einrichtungen zur Verfügung. Deshalb muß die Haupt-CPU das intelligente Untersystem in Top-Down-Weise steuern. Dementsprechend wächst der Software-Platzbedarf zur Systemsteuerung trotz der im intelligenten Untersystem enthaltenen Fähigkeit zu selbständigen Operationen.
  • Überdies bringt eine Konfiguration, die nur mit einem einzigen extern erweiterten Bus versehen ist, beträchtliche Einschränkungen für die Erweiterung der Hardware mit sich. Aufgrund elektrischer Gegebenheiten ist die Anzahl der erfolgreich an einen Bus anschließbaren Elemente begrenzt. Ferner sind sowohl die Hardware-Architektur als auch deren Software-Bedienung bezüglich der Komiriunikationseinrichtungen zwischen dem Prozessor in der Haupt-CPU und den verschiedenen Einheiten nicht gleich.
  • Aufgrund dieser Umstände ist es auch schwierig, Funktionen hinzuzufügen, und mühselig, das System zu warten.
  • Diese Nachteile sind schädlich für die Verwirklichung vieler für eine Hochleistungs-Steuervorrichtung benötigter Eigenschaften, wie z.B. der Erweiterbarkeit von Verarbeitungskapazität und der Funktion, der Funktionsaufteilung und Modularisierung, die für die Verbesserung der Wartungsfähigkeit der Hardware hilfreich sind, sowie der Einfachheit bei Vorbereitung und Wartung der Software, welche die individuellen Funktionen implementiert.
  • Die WO 87/00311 offenbart eine Steuervorrichtung, die einen ersten Bus, einen zweiten Bus, eine an den ersten Bus angeschlossene erste Verarbeitungseinheit (CPU-A), eine an den zweiten Bus angeschlossene zweite Verarbeitungseinheit (CPU-R) sowie einen an die erste und die zweite Verarbeitungseinheit angeschlossenen, gemeinsamen Speicher umfaßt. Die erste Verarbeitungseinheit empfängt von einem Sensorsystem die Steuerungsdaten in serieller Form und speichert diese Daten im gemeinsamen Speicher. Die zweite Verarbeitungseinheit liest ihrerseits diese Daten aus dem gemeinsamen Speicher, setzt diese in Korrekturdaten für jede Roboterachse um und erzeugt ein korrigiertes Bewegungssteuerprogramm. Diese Konfiguration ermöglicht es, die Schleifen für den Empfang serieller Daten von einer externen Befehlseinrichtung parallel zu den Schleifen für die Umsetzung dieser seriellen Daten in Korrekturdaten für jede Roboterachse und die Verteilung derselben auszuführen.
  • Diese erste Verarbeitungseinheit (CPU-A) ist jedoch nicht mehr als ein bloßes Eingabe-Untersystem. Alle Roboter- Steuerfunktionen und die für diese Steuerfunktionen benötigten Berechnungen muß allein die zweite Verarbeitungseinheit (CPU-B) durchführen. Außerdem muß diese zweite Verarbeitungseinheit in Top-Down-Weise den Roboter in Echtzeit mit Antriebssignalen versorgen, was für diese Verarbeitungseinheit eine zusätzliche Belastung darstellt. Demzufolge besitzt diese Vorrichtung zu wenig Flexibilität, Erweiterbarkeit und Wartungsfähigkeit.
  • Die EP-A-201081 offenbart eine Steuervorrichtung, die einen Host-Prozessor und mehrere intelligente Slave-Module umfaßt, welche eigene Prozessoren besitzen und über einen Bus-Treiber und eine Interrupt-Steuerschnittstelle und entsprechende Dual-Port-Speicher mit dem Host-Prozessor verbunden sind. Diese Konfiguration verbessert die Flexibilität, Erweiterbarkeit und Wartungsfähigkeit erheblich.
  • Jedoch bedient ein einzelner Host-Prozessor mehrere Slave-Module, weshalb für den Host-Prozessor ein Hochleistungsprozessor eingesetzt werden muß, wenn die Anzahl der Slave-Module zunimmt. Ferner ist dessen Interrupt- Steuermechanisnus ziemlich kompliziert. Diese Faktoren schränken die Erweiterbarkeit ein.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Hochleistungs-Steuervorrichtung zur Steuerung automatisierter Maschinen zu schaffen, die eine hohe Erweiterbarkeit hinsichtlich der Verarbeitungskapazität und der Funktionen aufweist und die eine ausgezeichnete Wartungsfähigkeit sowohl der Hardware als auch der Software bietet.
  • Eine weitere Aufgabe der vorliegende Erfindung ist es, eine Steuervorrichtung zu schaffen, bei der die Funktionen effektiv verteilt werden, so daß die obenerwähnte Erweiterbarkeit und Wartungsfähigkeit erreicht werden können.
  • Eine weitere Aufgabe der vorliegende Erfindung ist es, eine Steuervorrichtung zu schaffen, die mit einem einheitlichen und effizienten Kommunikationsmechanismus ausgestattet ist, so daß die obenerwähnte Erweiterbarkeit und Wartungsfähigkeit erreicht werden können.
  • Eine weitere Aufgabe der vorliegende Erfindung ist es, eine Steuervorrichtung zu schaffen, welche den eigenständigen Betrieb der verschiedenen Module verbessert, so daß die obenerwähnte Erweiterbarkeit und Wartungsfähigkeit erreicht werden können.
  • Die Steuervorrichtung gemäß der vorliegenden Erfindung umfaßt einen ersten Bus, einen zweiten Bus sowie wenigstens einen an diese beiden Busse angeschlossenen Basis- Prozessor, wobei das Basis-Prozessorelement eine wenigstens mit dem ersten Bus verbundene erste Haupt-CPU, eine wenigstens mit dem zweiten Bus verbundene zweite Haupt- CPU und einen an diese zwei Haupt-CPU's angeschlossenen Dual-Port-Speicher umfaßt.
  • Ein Merkmal dieser Erfindung besteht darin, daß der erste Bus und die erste Haupt-CPU mit der Durchführung der intelligenten Verarbeitung, die zur Steuerung einer Maschine erforderlich ist, befaßt sind, wobei die erste Haupt-CPU insbesondere einen allgemeinen Ablauf der Bewegungssteuerung einer Maschine festlegt, während der zweite Bus und die zweite Haupt-CPU mit der zeitkritischen Steuerung der Bewegung der Maschine befaßt sind, wobei die zweite Haupt-CPU insbesondere einen detaillierten Anlauf zur Verwirklichung des allgemeinen Ablaufs festlegt. Zwischen dem ersten Bus und dem zweiten Bus können ein oder mehrere Basis-Prozessorelemente eingefügt werden, die jeweils ein solches Paar von Haupt-CPU's umfassen, wodurch das System hinsichtlich Funktion und Leistung erweitert wird.
  • Ein intelligentes Untersystem mit einer CPU kann über einen Dual-Port-Speicher mit einem beiderseitigen Interrupt-Mechanismus entweder mit dem ersten oder dem zweiten Bus verbunden sein. Der Dual-Port-Speicher mit einem beiderseitigen Interrupt-Mechanismus antwortet auf einen Zugriff auf den entsprechenden Dual-Port-Speicherbereich durch eine der beiden daran angeschlossenen CPU's und erzeugt ein Interrrupt-Signal, das an die andere CPU gesendet wird.
  • Der zwischen den Haupt-CPU's angeschlossene Dual-Port- Speicher kann ebenfalls einen beiderseitigen Interrupt- Mechanismus enthalten.
  • Die vorliegende Erfindung umfaßt folgende Merkmale und Vorteile.
  • (a) Das Basis-Prozessorelement ist mit zwei unabhängigen System-Bussen verbunden, um elektrisch einen hohen Grad an Erweiterbarkeit und einen deutlich erhöhten Kommunikationsdurchsatz zu erzielen, was zur Erhöhung der Erweiterbarkeit der gesamten Verarbeitungskapazität des Systems und der Erweiterbarkeit der Funktionen beiträgt.
  • (b) Das Basis-Prozessorelement ist aus zwei Haupt-CPU's aufgebaut, die über einen Dual-Port-Speicher miteinander verbunden sind, wobei eine Anzahl unabhängiger Verarbeitungsfunktionen oder Tasks, die bisher nach Art des herkömmlichen Multi-Tasking oder ähnlichem verarbeitet worden sind, in eine Funktionsgruppe für intelligente Verarbeitung und eine Funktionsgruppe für Bewegungssteuerung eingeteilt und auf die beiden CPU's verteilt werden.
  • Dadurch werden ein Anwachsen des Platzbedarfs verhindert und die Leistungsfähigkeit des Basis-Prozessors verdoppelt.
  • (c) Für den Kommunikationsmechanismus, der die Haupt- CPU's im Basis-Prozessorelement verbindet und das Basis-Prozessorelement mit dem an den Systembus angeschlossenen intelligenten Untersystem koppelt, werden Dual-Port-Speicher verwendet, um die Kommunikationsbelastung auf dem Kommunikationssystem einschließlich des Systembusses zu verringern und um das Kommunikationsprotokoll und die Prozedur zu vereinheitlichen. Außerdem entspricht die Funktionsaufteilung explizit der Hardware-Anordnung, wodurch es möglich wird, verschiedene Eigenschaften der Software wie z.B. die Wartungsfähigkeit, Funktions-Beschreibungsmöglichkeit, Funktionserweiterbarkeit und Einheitlichkeit zu verbessern.
  • (d) Der beiderseitige Interrupt-Mechanismus ergibt in Kombination mit dem Dual-Port-Speicher eine dynamische, wechselseitige Task-Startfunktion mit wenig Platzbedarf, wodurch jedes intelligente Modul eigenständige Operationen effizient durchführen kann. Somit werden nicht nur die Verarbeitungskapazität, sondern auch die Unabhängigkeit der Hardwaremodule und der Softwaremodule verbessert, wodurch es möglich wird, eine hohe Erweiterbarkeit und Wartungsfähigkeit der Funktionen zu erreichen.
  • Andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden im folgenden aus der genauen Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm, das die Hardwarekonfiguration gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 2 ist ein Blockdiagramm, das die funktionelle Struktur der Vorrichtung der Fig. 1 zeigt;
  • Fig. 3 ist ein Blockdiagramm, das eine weitere Ausführungsform eines Basis-Prozessorelements zeigt;
  • Fig. 4 ist ein Blockdiagramm eines Dual-Port-Speichers mit einem beiderseitigen Interrupt-Mechanismus; und
  • Fig. 5 ist ein Flußdiagramm, das einen Task-Startablauf zeigt, welcher unter Verwendung des Dual-Port-Speichers mit einem beiderseitigen Interrupt-Mechanismus in der Ausführungsform der Fig. 1 ausgeführt wird.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Im folgenden wird in Verbindung mit den Zeichnungen eine Ausführungsform der vorliegenden Erfindung beschrieben.
  • Fig. 1 ist ein Blockdiagramm, das die Hardwarekonfiguration gemäß einer Ausführungsform der vorliegenden Erfindung zeigt. Ein Basis-Prozessorsystem einer Basis-Steuerung 1 gemäß der vorliegenden Erfindung besteht aus wenigstens einen Basis-Prozessorelement 2a sowie wenigstens zwei System-Bussen 8 und 9, auf die das Basis-Prozessorelement 2a zugreifen kann. Zwischen den System-Bussen 8 und 9 können eine beliebige Anzahl von Basis-Prozessorelementen 2a, 2b usw. mit derselben Struktur angeschlossen sein. Das Basis-Prozessorelement 2a umfaßt zwei Haupt- CPU's 3 und 4 sowie einen Dual-Port-Speicher (DPS) 5a, auf den diese CPU's frei zugreifen können. Die Haupt-CPU 3 und die Haupt-CPU 4 können über den Dual-Port-Speicher 5a miteinander kommunizieren.
  • Die CPU 3 kann über eine Leitung 6a wenigstens auf den Systembus 8 zugreifen. Eine Zugriffsleitung 6b zum Systembus 9 kann, wenn nötig, vorgesehen sein. Annlich kann die CPU 4 über eine Leitung 7a wenigstens auf den Systembus 9 zugreifen. Ebenso kann eine Zugriffsleitung 7b zum Systembus 8 vorgesehen sein, falls erforderlich.
  • Der Systembus 8 ist hauptsächlich mit Peripherieschaltungen und Schnittstellenschaltungen verbunden, die an der Ablaufsteuerung und der intelligenten Steuerung beteiligt sind. An den Systembus 8 sind z.B. ein Datenbank-Speichersystem 10 für die intelligente Verarbeitung, eine Kommunikations-Schnittstellenschaltung 11, die einen Host-Prozessor oder irgendein anderes externes intelligentes System 12 anbindet, und eine intelligente Eingangs/Ausgangsschaltung 13 mit einer CPU 15a angeschlossen, welche ein gemeinsames Sensorsystem, ein Mehrzweck- Eingabe/Ausgabesystem für die intelligente Verarbeitung oder ein Hilfs-Datenverarbeitungssystem 14 anbindet. Kurz, der Systembus 8 wird für die intelligente Ablaufsteuerung einschließlich der Steuerung des intelligenten Systems und des Mensch-Maschine-Systems verwendet. Deshalb wird der Systembus 8 als intelligenter Verarbeitungsbus bezeichnet. Der Hauptprozessor, der den Systembus 8 verwendet, ist die CPU 3 (intelligente Verarbeitungs-CPU) im Basis-Prozessorelement.
  • Andererseits ist der Systembus 9 hauptsächlich mit den Peripherieschaltungen und Schnittstellenschaltungen verbunden, die an der Bewegungssteuerung beteiligt sind. An den Systembus 9 sind z.B. eine intelligente Servosteuerung 16 mit einer CPU 15b, die die Servosteuerung für einen zu steuernden Mechanismus 18 (z.B. Roboter) durchführt, und eine intelligente Eingabe/Ausgabe-Steuerschaltung 17 mit einer CPU 15c angeschlossen, die ein lokales Sensorsystem 19 (z.B. einen an der Fingerspitze der Roboterhand angebrachten Kraftsensor) steuert, welches Daten bereitstellt, die die Parameter der Bewegungssteuerung beeinflussen, oder die ein Mehrzweck-Eingabe/Ausgabesystem für die Daten steuert, welche direkt für die Bewegungssteuerung verwendet werden. Kurz, der Systembus 9 ist derjenige, der Daten für die Bewegungssteuerung zur Verfügung stellt oder an den die Untersysteme für die direkte Bewegungssteuerung des zu steuernden Objektes angeschlossen sind. Deshalb wird der Systembus 9 als Bewegungssteuerbus bezeichnet. Der Hauptprozessor, der den Systembus 9 verwendet, ist die CPU 4 (Bewegungssteuer-CPU genannt) im Basis-Prozessorelement.
  • Im Basis-Prozessorelement kann zusätzlich zu den Haupt- CPU's eine CPU für die Eingabe/Ausgabe-Verarbeitung als Unter-CPU vorgesehen sein. Die Unter-CPU ist als ein intelligentes Eingabe/Ausgabe-Untersystem für die Haupt- CPU zu betrachten. Ein solches Untersystem ist üblicherweise mit dem Systembus 8 oder 9 verbunden. Das für eine bestimmte Anwendung hinzugefügte Untersystem sollte jedoch aus Kostengründen oft besser als Untersystem im Basis-Prozessorelement entworfen und hergestellt werden. Im Gegensatz dazu sollte das Untersystem, dessen Funktion und Verarbeitungsmöglichkeit erweitert oder modifiziert werden sollen, besser an den Systembus 8 oder 9 angeschlossen werden, wobei der Erweiterbarkeit und der Vielfältigkeit Vorrang gegeben wird.
  • Eines der Merkmale der vorliegenden Erfindung ist, daß nicht nur die Haupt-CPU's 3 und 4, sondern auch die CPU's in den intelligenten Untersystemen (in Fig. 1 mit 13, 16 und 17 bezeichnet) und die Haupt-CPU's miteinander über Dual-Port-Speicher gekoppelt sind, wodurch ein Daten- Kommunikationsnetz entsteht. Genauer ist die intelligente Eingabe/Ausgabe-Steuerschaltung 13 über den Dual-Port- Speicher 5b an den Systembus 8 angeschlossen. Das Basis- Prozessorelement 2a darf über den Systembus 8 direkt auf den Dual-Port-Speicher 5b zugreifen und kann den Inhalt des Dual-Port-Speichers 5b mit dem intelligenten Eingabe/Ausgabesystem 13 teilen. Annlich besitzt die intelligente Servosteuerung 16 einen Dual-Port-Speicher 5c und die intelligente Eingabe/Ausgabe-Steuerschaltung 17 einen Dual-Port-Speicher 5d. Das Basis-Prozessorelement 2a kann sich über den Systembus 9 die benötigten Daten mit diesen Untersystemen teilen.
  • Aufgrund des obenerwähnten Aufbaus kann die Belastung auf dem Kommunikationssystem einschließlich der Belastung auf dem Systembus stark verringert werden, ohne die feste Kopplung zwischen dem Basis-Prozessorelement und den intelligenten Untersystemen zu beeinträchtigen. Wenn z.B. an einem Systemous viele intelligente Untersysteme als Bus-Master anliegen, wird die Kommunikationskapazität des Busses überschritten und das gesamte System arbeitet nicht effizient. Dieses Problem kann jedoch mit dem vorher erwähnten Aufbau gelöst werden. Ahnlich ist der Dual- Port-Speicher 5a zur Kopplung der Haupt-CPU's 3 und 4 im Basis-Prozessorelement 2a als eine Hotline für den Austausch und das Aufteilen der erforderlichen Daten zwischen den Haupt-CPU's 3 und 4 ohne Umweg über die Systembusse 8 und 9 vorgesehen und dient zur Optimierung des Kommunikationsdurchsatzes zwischen den Haupt-CPU's.
  • Fig. 2 ist ein funktionales Blockdiagramm, das die Funktionen zeigt, die mit der in der Fig. 1 gezeigten Hardwarestruktur bewerkstelligt werden. Als zu steuerndes Objekt wird ein Roboter betrachtet. In Fig. 2(a) bearbeitet die intelligente Verarbeitungsfunktion 20 als Hauptjobs oder Hintergrundjobs Funktionen wie z.B. Schlußfolgern, Lernen, Überwachen der Systembedingungen und Überwachen des gesamten Systems unter Verwendung der Daten von einer Intelligenzbasis 22 oder von einem Sensorium (Sensorsystem) 23, gibt mit Hilfe dieser Funktionen geeignete Bewegungsbefehle an eine Bewegungssteuerfunktion 24 aus und erhält von der Bewegungssteuerfunktion 24 die auf den Betriebszustand bezogenen Daten und reflektiert diese auf den nächsten Befehl.
  • Die Kommunikation mit dem externen System einschließlich eines Mensch-Maschine-Systems wird von der intelligenten Verarbeitungsfunktion 20 bewerkstelligt. Somit kann die intelligente Verarbeitungsfunktion 20 als ein Entscheidungen ausführendes System betrachtet werden, das einen allgemeinen Bewegungsablauf festlegt. Wenn die Bus- Steckplätze nicht ausreichen, kann z.B. ein Untersystem für die intelligente Verarbeitungsfunktion an den Systembus 9 für die Bewegungssteuerfunktion angeschlossen werden. Die grundlegende Systemkonfiguration besitzt jedoch einen hierarchischen Aufbau, bei dem die intelligente Verarbeitungsfunktion und die Bewegungssteuerfunktion voneinander unabhängig arbeiten, wobei die letztgenannte Funktion unter der Führung der erstgenannten Funktion arbeitet. Natürlich kann es erforderlich sein, die zur Bestimmung des nächsten Operationsbefehls benötigten Daten von der Bewegungssteuerfunktion 24 zur intelligenten Verarbeitungsfunktion 20 zurückzuführen. Deshalb muß der Datenaustausch zwischen diesen beiden Funktionen bidirektional erfolgen. Diese Kommunikation wird durch den Dual-Port-Speicher 5a unterstützt.
  • Andererseits ist die Bewegungssteuerfunktion 24 hierarchisch mit einem Servosystem 25, das die Servosteuerung für einen Mechanismus 26 ausübt, und auch mit einem Sensorsystem 27 verbunden, das direkt an der Bewegungssteuerung beteiligt ist. Die Kommunikation wie z.B. das Senden von Befehlen an diese Untersysteme und das Erhalten erforderlicher Daten von diesen Untersystemen wird direkt über den Dual-Port-Speicher 5c oder 5d ausgeführt. Die Bewegungssteuerfunktion 24 erhält von der intelligenten Verarbeitungsfunktion 20 einen Grobablauf der Operation und interpoliert einen Abstand zwischen den gewünschten Operationspunkten, wobei eine geforderte Genauigkeit eingehalten wird. In einer untergeordneten Schleife zur Interpolation wird eine eigenständige Bewegungssteuerung bewerkstelligt, um durch Datenaustausch 28 bezüglich des Sensorsystems 27 oder ähnlichem eine optimale Interpolationskurve zu erzeugen. Ferner ist dort, wo die Daten eines Untersystems für die Bewegungssteuerfunktion den Grobablauf der Operation beeinflussen, welcher durch die intelligente Verarbeitungsfunktion festgelegt ist, eine adaptive Steuerungsschleife eingerichtet, die die intelligente Verarbeitungsfunktion enthält.
  • Um die obenerwähnte hierarchische Struktur zu verwirklichen, müssen in der in der Fig. 1 gezeigten Hardwarekonfiguration nicht notwendigerweise eine Leitung 6b zur Kopplung der Haupt-CPU 3 im Dienst der intelligenten Verarbeitungsfunktion mit dem Systembus 9 für die Bewegungssteuerung und eine Leitung 7b zur Kopplung der Haupt-CPU 4 im Dienst der Bewegungssteuerfunktion mit dem Systembus 8 für die intelligente Verarbeitung vorgesehen sein. Wenn die Haupt-CPU 3 jedoch eine Supervisorfunktion besitzt, ist es vorteilhaft, wenn die Haupt-CPU 3 fähig ist, direkt auf ein Untersystem für die Bewegungssteuerfunktion zuzugreifen, wie in der Fig. 2(a) mit den Punktlinien 29a und 29b gezeigt ist. Zu diesem Zweck wird der Haupt-CPU 3 durch Hinzufügen der Leitung 6b erlaubt, direkt mit allen Untersystemen zu kommunizieren. In einem besonderen Fall kann die Supervisorfunktion auf der Haupt-CPU 4 eingerichtet sein. In diesem Fall wird die Leitung 7b hinzugefügt, so daß der Haupt-CPU 4 erlaubt wird, direkt mit allen Untersystemen zu kommunizieren.
  • Fig. 2(b) zeigt eine Kernstruktur eines Softwaresystems, das die obenerwähnte Supervisorfunktion enthält. Ein Bewegungssteuerungs-Softwaresystem 31, das die Bewegungssteuerung bewerkstelligt, ist im intelligenten Verarbeitungs-Softwaresystem zwischen einem Hintergrund-Unterstützungssystem 30 und einem Supervisorsystem 32 eingebettet. Wie oben beschrieben, ist die Hardwarestruktur so ausgelegt, daß die Software mit dieser Kernstruktur effizient ausgeführt wird.
  • Somit kann eine intelligente automatische Maschine wie z.B. ein intelligenter Roboter auf eine menschenähnlichere Weise gesteuert werden.
  • Fig. 3 zeigt eine weitere Ausführungsform des Basis-Prozessorelements 2a für eine umfassendere Implementierung des obenerwähnten Konzeptes. Wenn in die Haupt-CPU 3 ein Supervisorsystem geladen wird, benötigt die Haupt-CPU 3 praktisch nur im Supervisor-Modus direkten Zugriff auf die Untersysteme für die Bewegungssteuerung. Deshalb ist zur Steuerung des Zugriffsrechts auf den Bewegungssteuerbus 9 ein Busumschalter 34 vorgesehen, wobei normalerweise die Haupt-CPU 4 das Zugriffsrecht besitzt. Wenn sich die Haupt-CPU 3 im Supervisor-Modus befindet und ein direkter Zugriff auf das Bewegungssteuerungs-Untersystem auf dem Systembus 9 erforderlich ist, sendet die Haupt- CPU 3 eine Buszugriffs-Anforderung an den Busumschalter 34. Der Busumschalter 34 sendet ein Signal 36 an einen Multiplex-Bustreiber 33 und verbindet statt der Leitung 7a der Haupt-CPU 4 die Leitung 6b der Haupt-CPU 3 mit der Buszugriffsleitung 35. In diesem Fall muß die Zugriffsleitung 7b der Haupt-CPU 4 nicht notwendigerweise mit dem intelligenten Verarbeitungsbus 8 verbunden sein.
  • Die Haupt-CPU kann im Supervisor-Modus in eine Situation geraten, in der sie andere intelligente Systeme steuern muß. In dem in der Fig. 3 gezeigten Basis-Prozessorelement 2a kann der Busumschalter 34 mit einer Funktion zum hardware- oder softwaremäßigen Sperren (z.B. Zwingen in einen Wartestatus oder eine Warteschleife) der Haupt-CPU 4 in Abhängigkeit von einer Buszugriffsanforderung der Haupt-CPU 3 ausgestattet sein. Folglich kann die Hardwarestruktur so ausgelegt sein, daß die Bewegungssteuerfunktion der Steuerung des Supervisors unterstellt ist. Wie oben beschrieben worden ist, ist die Struktur des in der Fig. 3 gezeigten Basis-Prozessorelements hinsichtlich der in der Fig. 2 gezeigten funktionalen Struktur und Kernstruktur ideal.
  • Ein weiteres Merkmal der vorliegenden Erfindung besteht darin, daß jeder der Dual-Port-Speicher 5a - 5d für den Datenaustausch einen Mechanismus für die Anforderung von Hardware-Interrupts in beiden Richtungen als Vorrichtung für den eigenständigen Betrieb der intelligenten Systeme umfaßt.
  • Fig. 4 zeigt einen beiderseitigen Interrupt-Mechanismus bezüglich des Dual-Port-Speichers 5a, der im Basis-Prozessorelement 2a zwischen der Haupt-CPU 3 und der Haupt- CPU 4 angeordnet ist. Zusätzlich zu den Zugriffsleitungen 37a von der Haupt-CPU 3 zum Dual-Port-Speicher 5a und den Zugriffsleitungen 37b von der Haupt-CPU 4 sind ferner beiderseitige Interruptschaltungen 40, eine Interruptleitung 38a von der Haupt-CPU 4 zur Haupt-CPU 3, eine Interruptleitung 38b von der Haupt-CPU 3 zur Haupt-CPU 4, eine Ende-Status-Leitung 39a, um die Haupt-CPU 3 zu informieren, ob die Haupt-CPU 4 den Interrupt akzeptiert hat, sowie eine Ende-Status-Leitung 39b vorhanden, um die Haupt-CPU 4 zu informieren, ob die Haupt-CPU 3 den Interrupt akzeptiert hat. Bestimmte Adressen im Dual-Port- Speicher 5a werden als Interrupt-Schaltregister verwendet, mit welchen die Haupt-CPU 3 einen Interrupt der Haupt-CPU 4 bzw. die Haupt-CPU 4 einen Interrupt der Haupt-CPU 3 anfordert.
  • Sobald in irgendeines dieser Register Interrupt-Daten (z.B. die Startadresse einer Interrupt-Serviceroutine, die von der unterbrochenen CPU ausgeführt werden soll) geschrieben werden, wird die Interruptleitung 38 der zu unterbrechenden CPU aktiv und die CPU wird unterbrochen, um einen erforderlichen Task auszuführen. Die unterbrochene CPU greift während der Interrupt-Behandlungsroutine auf das entsprechende Interrupt-Schaltregister zu und verwendet die darin gespeicherten Daten in irgendeiner Weise (oder es wird oft einfach auf die Daten zugegriffen, ohne sie wirklich zu verwenden). Sobald die unterbrochene CPU auf dieses besondere Interrupt-Schaltregister zugreift, wird die Interruptleitung 38 dieser CPU automatisch zurückgesetzt und somit inaktiv. Gleichzeitig wird die Ende-Status-Leitung 39 der einen Interrupt fordernden CPU aktiv, um anzuzeigen, daß die CPU, an die die Interruptanforderung ausgegeben worden ist, den Interrupt nun akzeptiert hat. Die Ende-Status-Leitung 39 wird zurückgesetzt und kehrt in den inaktiven Zustand zurück, sobald auf das Interrupt-Schaltregister zugegriffen wird, um einen zweiten Interrupt anzufordern.
  • Zum Anregen der Ende-Status-Leitung kann eine andere Adresse als die des Interrupt-Schaltregister verwendet werden. Ferner können andere Adressen als Register zum Rücksetzen der Interruptleitung und zum Rücksetzen der Ende-Status-Leitung verwendet werden. Bei einer solchen Modifikation wird die Interruptleitung zurückgesetzt und die Ende-Status-Leitung angeregt und zurückgesetzt, indem entsprechende Befehle ausgeführt werden, die auf die zugehörigen Adressen zugreifen.
  • Der gleiche beiderseitige Interrupt-Mechanismus ist auch in den Dual-Port-Speichern 5b, 5c und 5d enthalten, welche die Kommunikation zwischen den intelligenten Untersystemen und den Haupt-CPU's bedienen.
  • Gemäß der vorliegenden Erfindung, wie sie oben beschrieben worden ist, ist der beiderseitige Interrupt-Mechanismus untrennbar mit dem Dual-Port-Speicher kombiniert, so daß im Laufe der minimal für die Interruptoperation notwendigen Prozeduren sowohl die Interruptanforderung als auch der Ende-Status automatisch von der Hardware erzeugt und zurückgesetzt werden und der Software-Platzbedarf minimiert wird. Ein ähnlicher Interrupt-Mechanismus kann jedoch in Verbindung mit E/A-Ports implementiert werden. Zum Beispiel werden den Interrupt-Schaltregistern und den anderen Registern verschiedene E/A-Portadressen zugewiesen, wobei die Interruptleitung und die Ende- Status-Leitung angeregt und zurückgesetzt werden, indem Befehle ausgeführt werden, die darauf zugreifen. Die Interrupt-Daten können direkt über einen bestimmten E/A- Port oder indirekt über eine bestimmte Adresse im Dual- Port-Speicher übertragen werden.
  • Wenn für diese Register verschiedene Adressen verwendet werden oder wenn E/A-Ports verwendet werden, müssen die Signale auf der Interruptleitung und der Ende-Status- Leitung von der Software umgeschaltet werden. Für manche Anwendungen sollte das Umschalten dieser Signale besser von der Software gesteuert werden. Der Automatisierungsgrad beim Umschalten dieser Signale ändert sich in Abhängigkeit davon, wie das Protokoll und das Verfahren des Taskstarts bestimmt werden. Es wird jedoch als sehr vorteilhaft angesehen, den Software-Platzbedarf zu verringern und die Hardware einzusetzen, die das Signalumschalten automatisch durchführt, um bei Bedarf ein Statusregister und ein Semaphor-Register im Dual-Port- Speicher 5 vorzusehen und das Protokoll und das Verfahren starr zu steuern.
  • Fig. 5 zeigt einen Ablauf eines Task-Startverfahrens und einer Task-Verarbeitung, die von der Haupt-CPU 3 und der Haupt-CPU 4 unter Verwendung des Dual-Port-Speichers 5a mit einem beiderseitigen Interrupt-Mechanismus durchgeführt werden. Bei diesem Beispiel fordert die Haupt-CPU 3 einen Interrupt der Haupt-CPU 4 an, um einen erforderlichen Task zu starten. Wenn der Fall eintritt, daß die Haupt-CPU 3 einen Interrupt der Haupt-CPU 4 anfordern muß, prüft die Haupt-CPU 3, ob die Ende-Status-Leitung 39a aktiv ist. Wenn sie aktiv ist, wurde der zuvor angeforderte Interrupt bereits akzeptiert und es wird festgestellt, daß der nächste Interrupt ange fordert werden kann. Wenn die Ende-Status-Leitung 39a inaktiv ist, entscheidet die Haupt-CPU 3, daß der zuvor ange forderte Interrupt noch nicht akzeptiert worden ist und es nicht erlaubt ist, den nächsten Interrupt anzufordern, und wartet darauf, daß die Ende-Status-Leitung 39a aktiv wird. Wenn bestätigt wird, daß die Ende-Status-Leitung 39a aktiv ist, werden die Interrupt-Daten in die Interrupt-Schaltregister geschrieben. Als Folge davon wird die Interruptleitung 38b automatisch aktiv, um der Haupt-CPU 4 eine Interruptanforderung anzuzeigen, und der Start des Tasks wird angefordert. Gleichzeitig wird die Ende-Status-Leitung 39a zurückgesetzt. Bis zu diesem Zeitpunkt müssen die für die Verarbeitung des gestarteten Tasks erforderlichen Daten bereits in den Dual-Port-Speicher 5a geschrieben worden sein.
  • Daraufhin führt die Haupt-CPU 3 die Verarbeitung durch, die gleichzeitig mit dem von der Haupt-CPU 4 ausgeführten Task durchgeführt werden kann. Wenn es erforderlich ist, einen anschließenden Task zu starten, kehrt die Prozedur zur Überprüfung der Ende-Status-Leitung 39a zurück, wie durch den Pfeil al angedeutet ist. Wenn es erforderlich ist, ein Ergebnis der der Haupt-CPU 4 anvertrauten Task- Verarbeitung zu erhalten, überprüft die Haupt-CPU 3, ob die Task-Verarbeitung abgeschlossen ist. Wenn der Task abgeschlossen ist, wird der Taskstatus von der Haupt-CPU 4 in den Dual-Port-Speicher 5a geschrieben. Nach der Bestätigung für das Abschließen der Taskverarbeitung führt die Haupt-CPU 3 unter Verwendung des Ergebnisses der Taskverarbeitung die erforderliche Verarbeitung durch. Dann kann es wieder erforderlich sein, die Haupt- CPU 4 einen Task starten zu lassen. Wenn die obenerwähnte Bestätigung für das Abschließen der Taskverarbeitung auch die Bestätigung für das Akzeptieren des zuvor angeforderten Interrupts bedeutet, kann gemäß Pfeil a3 ganz einfach der nächste Interrupt angefordert werden. Falls nicht, wird gemäß Pfeil a2 die Überprüfung der Ende-Status- Leitung 39a gestartet.
  • Infolge der Interruptanforderung von der Haupt-CPU 3 wird die Haupt-CPU 4 vom einfachen Verarbeitungsmodus in den Interrupt-Verarbeitungsmodus versetzt, wobei die für die Taskverarbeitung erforderlichen Daten einschließlich der Daten im Interrupt-Schaltregister aus dem Dual-Port-Speicher 5a gelesen werden und die ange forderte Taskverarbeitung ausgeführt wird. Wenn die Interruptverarbeitung gemäß dieser Ausführungsform gestartet werden soll, veranlaßt der Lesevorgang der Interrupt-Daten aus dem Interrupt-Schaltregister, daß die Interruptleitung 38b in den inaktiven Zustand zurückversetzt und die Ende-Status- Leitung 39a in den aktiven Zustand versetzt wird. In einem System, in welchem verschiedene Adressen für die Interrupt-Schaltregister und die anderen Register verwendet werden, müssen jedoch die zugehörigen Anweisungen ausgeführt werden, um die Interruptleitung zurückzusetzen und die Ende-Status-Leitung zu setzen und zurückzusetzen.
  • Mit einem ähnlichen Prozeß wird auch der Taskstart mittels Interruptanforderung von der Haupt-CPU 4 an die Haupt-CPU 3 sowie zwischen verschiedenen intelligenten Untersystemen und irgendeiner Haupt-CPU durchgeführt.
  • Die obenerwähnte Kommunikation und das Starten der Tasks über den Dual-Port-Speicher mit beiderseitigem Interrupt- Mechanismus erfordern ein gemeinsames Hardware-Kommunikationsprotokoll zwischen den über den Dual-Port-Speicher gekoppelten CPU's, fördern erheblich den eigenständigen Betrieb der Haupt-CPU's und der intelligenten Untersysteme und verringern die Belastung auf dem Kommunikationsmechanismus einschließlich der Systembusse.

Claims (15)

1. Steuervorrichtung (1), die für die Steuerung einer Maschine (18) geeignet ist, mit:
einem ersten Bus (8);
einem zweiten Bus (9); und
wenigstens einem Prozessorelement (2a, 2b), das eine erste Verarbeitungseinheit (3), die wenigstens mit dem ersten Bus verbunden ist, eine zweite Verarbeitungseinheit (4), die wenigstens mit dem zweiten Bus verbunden ist, sowie einen ersten Dual-Port-Speicher (5a), der mit der ersten Verarbeitungseinheit und der zweiten Verarbeitungseinheit verbunden ist, enthält;
und dadurch gekennzeichnet:
daß die erste Verarbeitungseinheit in der Weise organisiert ist, daß sie einen allgemeinen Ablauf einer Bewegungssteuerung der Maschine (18) bestimmt, und die zweite Verarbeitungseinheit in der Weise organisiert ist, daß sie Information bezüglich des allgemeinen Ablaufes von der ersten Verarbeitungseinheit erhält und einen genauen Ablauf zur Ausführung des allgemeinen Ablaufs bestimmt;
und daß die Vorrichtung ferner enthält:
ein Bewegungssteuerungs-Untersystem (16), das eine dritte Verarbeitungseinheit (15b) enthält und von der zweiten Verarbeitungseinheit Information bezüglich konstitutiver Schritte des genauen Ablaufs erhält und die Schritte in der Maschine ausführt, wobei die dritte Verarbeitungseinheit mit dem zweiten Bus über einen zweiten Dual-Port- Speicher (5c) verbunden ist;
wobei der zweite Dual-Port-Speicher (5c) versehen ist mit einer Einrichtung (40), die auf einen Zugriff auf einen entsprechenden Bereich im zweiten Dual-Port-Speicher entweder durch die dritte Verarbeitungseinheit (15b) oder durch das Prozessorelement (2a, 2b) anspricht und, falls der Zugriff durch das Prozessorelement erfolgt, an die dritte Verarbeitungseinheit oder, falls der Zugriff durch die dritte Verarbeitungseinheit erfolgt, an das Prozessorelement ein Interrupt-Signal (38a, 38b) überträgt; und ein Informationsaustausch-Untersystem (11, 13), das mit dem ersten Bus verbunden ist und mit einem externen System (12, 14), das bei der Bestimmung des allgemeinen Ablaufs mit der ersten Verarbeitungseinheit zusammenwirkt, einen Informationsaustausch ausführt.
2. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß der erste Dual-Port-Speicher (5a) eine Einrichtung (40) enthält, die auf einen Zugriff auf einen entsprechenden Bereich des ersten Dual-Port-Speichers entweder durch die erste oder die zweite Verarbeitungseinheit anspricht und, falls der Zugriff durch die zweite Verarbeitungseinheit erfolgt, an die erste Verarbeitungseinheit oder, falls der Zugriff durch die erste Verarbeitungseinheit erfolgt, an die zweite Verarbeitungseinheit ein Interrupt-Signal (38a, 38b) überträgt.
3. Steuervorrichtung nach Anspruch 2, ferner dadurch gekennzeichnet, daß der erste und der zweite Dual-Port- Speicher (5a, 5c) jeweils eine Einrichtung (40) enthalten, die auf einen Zugriff auf einen entsprechenden Bereich des Dual-Port-Speichers durch die Verarbeitungseinheit, die das Interrupt-Signal (38a, 38b) empfangen hat, anspricht und an die Verarbeitungseinheit, welche den Interrupt angefordert hat, ein Quittierungssignal (39a, 39b) überträgt.
4. Steuervorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß die Einrichtung (40) für die Übertragung eines Quittierungssignals aufgrund eines Zugriffs arbeitet, der auf denselben Bereich erfolgt, auf den durch die Verarbeitungseinheit zugegriffen wurde, welche den Interrupt angefordert hat.
5. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß das Prozessorelement (2a, 2b) weiterhin eine zusätzliche Verarbeitungseinheit für die Eingabe-/Ausgabe-Verarbeitung enthält.
6. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß die erste Verarbeitungseinheit (3) weiterhin die Vorrichtung überwacht und sowohl mit dem ersten Bus (8) als auch mit dem zweiten Bus (9) verbunden ist.
7. Steuervorrichtung nach Anspruch 6, ferner dadurch gekennzeichnet, daß das Prozessorelement (2a, 2b) weiterhin eine Einrichtung (33, 34) enthält, die wahlweise die erste Verarbeitungseinheit (3) oder die zweite Verarbeitungseinheit (4) mit dem zweiten Bus (9) verbindet.
8. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß die Vorrichtung ein Eingabe-/Ausgabe- Untersystem (17) enthält, das seinerseits eine vierte Verarbeitungseinheit (15c) enthält, die einen Datenaustausch ausführt, der direkt auf die Verarbeitung durch die zweite Verarbeitungseinheit (4) bezogen ist, wobei die vierte Verarbeitungseinheit mit dem zweiten Bus (9) über einen dritten Dual-Port-Speicher (5d) verbunden ist und der dritte Dual-Port-Speicher eine Einrichtung (40) enthält, die auf einen Zugriff auf einen entsprechenden Bereich des dritten Dual-Port-Speichers entweder durch die vierte Verarbeitungseinheit oder das Prozessorelement anspricht und, falls der Zugriff durch die vierte Verarbeitungseinheit erfolgt, an das Prozessorelement oder, falls der Zugriff durch das Prozessorelement erfolgt, an die vierte Verarbeitungseinheit ein Interrupt-Signal (38a, 38b) überträgt.
9. Steuervorrichtung nach Anspruch 8, ferner dadurch gekennzeichnet, daß das Bewegungssteuerungs-Untersystem (16) eine Servosteuerung ist.
10. Steuervorrichtung nach Anspruch 9, ferner dadurch gekennzeichnet, daß das Eingabe-/Ausgabe-Untersystem (17) mit einem ersten Sensorsystem (19) verbunden ist, das an der Maschine (18) angebracht ist.
11. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß das Informationsaustausch-Untersystem (13) eine fünfte Verarbeitungseinheit (15a) enthält, die mit dem ersten Bus (8) über einen vierten Dual-Port-Speicher (5b) verbunden ist, und der vierte Dual-Port-Speicher eine Einrichtung (40) enthält, die auf einen Zugriff auf einen entsprechenden Bereich des vierten Dual-Port- Speichers entweder durch die fünfte Verarbeitungseinheit oder das Prozessorelement anspricht und, falls der Zugriff durch das Prozessorelement erfolgt, an die fünfte Verarbeitungseinheit oder, falls der Zugriff durch die fünfte Verarbeitungseinheit erfolgt, an das Prozessorelement ein Interrupt-Signal (38a, 38b) überträgt.
12. Steuervorrichtung nach Anspruch 11, ferner dadurch gekennzeichnet, daß das Informationsaustausch-Untersystem (13) mit einem zweiten Sensorsystem (14) verbunden ist, das an der Maschine (18) angebracht ist.
13. Steuervorrichtung nach Anspruch 11, ferner dadurch gekennzeichnet, daß das Informationsaustausch-Untersystem (13) mit einem Hilfs-Datenverarbeitungssystem (14) verbunden ist.
14. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß die Vorrichtung weiterhin ein Datenbank-Untersystem (10) enthält, das mit dem ersten Bus (8) verbunden ist.
15. Steuervorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß das externe System (12) ein Host- Prozessor ist.
DE3852433T 1987-07-08 1988-07-01 Funktionsverteiltes Steuergerät. Expired - Fee Related DE3852433T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62168704A JP2834122B2 (ja) 1987-07-08 1987-07-08 制御装置

Publications (2)

Publication Number Publication Date
DE3852433D1 DE3852433D1 (de) 1995-01-26
DE3852433T2 true DE3852433T2 (de) 1995-06-01

Family

ID=15872904

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3852433T Expired - Fee Related DE3852433T2 (de) 1987-07-08 1988-07-01 Funktionsverteiltes Steuergerät.

Country Status (4)

Country Link
US (1) US4953074A (de)
EP (1) EP0298396B1 (de)
JP (1) JP2834122B2 (de)
DE (1) DE3852433T2 (de)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US6379998B1 (en) * 1986-03-12 2002-04-30 Hitachi, Ltd. Semiconductor device and method for fabricating the same
JPS6457314A (en) * 1987-08-27 1989-03-03 Fanuc Ltd Numerical controller
JPH01217605A (ja) * 1988-02-26 1989-08-31 Fanuc Ltd 多軸多系統工作機械用数値制御装置
US4878002A (en) * 1988-10-27 1989-10-31 Advanced Engineering Systems, Operations & Products, Inc. Multi-axis DSP-based parallel processing servo controller for machine tools and robots
CH677047A5 (de) * 1988-12-16 1991-03-28 Asea Brown Boveri
ATE115305T1 (de) * 1989-01-14 1994-12-15 Gutehoffnungshuette Man Digitales steuer- und regelverfahren für eine gas- oder dampfdurchströmte turbomaschine sowie vorrichtung zur durchführung des verfahrens.
US4896087A (en) * 1989-01-31 1990-01-23 Staubli International Ag. Robotic workcell control system having improved input/output interfacing for better workcell operation
US5025390A (en) * 1989-01-31 1991-06-18 Staubli International Ag Robotic workcell control system with a binary accelerator providing enhanced binary calculations
JP2855633B2 (ja) * 1989-02-03 1999-02-10 ミノルタ株式会社 マルチプロセッサシステムにおけるデュアルポートメモリの故障診断装置
JPH02278306A (ja) * 1989-04-19 1990-11-14 Fanuc Ltd 数値制御装置
GB8913048D0 (en) * 1989-06-07 1990-04-25 Marconi Co Ltd Processor
US5283869A (en) * 1989-07-25 1994-02-01 Allen-Bradley Company, Inc. Interrupt structure for network interface circuit
US5249138A (en) * 1991-01-07 1993-09-28 Computational Systems, Inc. Analog signal preprocessor
JP3310990B2 (ja) * 1991-04-15 2002-08-05 キヤノン株式会社 電子機器
ATE121855T1 (de) * 1991-06-28 1995-05-15 Siemens Ag Verfahren zum betreiben eines automatisierungsgeräts.
DE59107794D1 (de) * 1991-07-26 1996-06-13 Siemens Ag Konfigurierbare Werkzeugmaschinensteuerung
DE4125374C2 (de) * 1991-07-31 1995-03-09 Siemens Ag Automatisiert arbeitende, mehrere Anlagenteile aufweisende Kokerei
US5359715A (en) * 1991-09-16 1994-10-25 Ncr Corporation Architectures for computer systems having multiple processors, multiple system buses and multiple I/O buses interfaced via multiple ported interfaces
EP0657043B1 (de) * 1992-08-31 1997-03-05 Siemens Aktiengesellschaft Konfigurierbarer mensch-maschine-kommunikationsbereich für werkzeugmaschinen- oder robotersteuerungen
EP0590175B1 (de) 1992-09-28 1996-07-24 Siemens Aktiengesellschaft Prozesssteuerungssystem
US6098113A (en) * 1992-10-22 2000-08-01 Ncr Corporation Apparatus and method for address translation and allocation for a plurality of input/output (I/O) buses to a system bus
FR2704077B1 (fr) * 1993-04-13 1995-06-02 Armand Audrand Commande numérique à contrôle d'axes par programmes différentiels.
ES2118170T3 (es) * 1993-10-11 1998-09-16 Siemens Ag Modulo de procesamiento para un sistema de automatizacion modular.
ES2101595T3 (es) * 1994-08-12 1997-07-01 Siemens Ag Procedimiento e instalacion para la transmision periodica de datos con funcion de radiodifusion para el intercambio independiente de datos entre unidades externas.
DE59407059D1 (de) * 1994-10-25 1998-11-12 Rieter Ingolstadt Spinnerei Backplane-Steuerung für Spinnereimaschine
AU4510696A (en) * 1994-12-08 1996-06-26 Intel Corporation A method and an apparatus for enabling a processor to access an external component through a private bus or a shared bus
DE19504404C1 (de) * 1995-02-10 1996-06-20 Pilz Gmbh & Co Systemarchitektur
US5805442A (en) * 1996-05-30 1998-09-08 Control Technology Corporation Distributed interface architecture for programmable industrial control systems
IT1288076B1 (it) * 1996-05-30 1998-09-10 Antonio Esposito Multicalcolatore elettronico numerico parallelo multiprocessore a ridondanza di processori accoppiati
US7146408B1 (en) 1996-05-30 2006-12-05 Schneider Automation Inc. Method and system for monitoring a controller and displaying data from the controller in a format provided by the controller
US6032271A (en) 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US5973696A (en) * 1996-08-08 1999-10-26 Agranat Systems, Inc. Embedded web server
US6456308B1 (en) 1996-08-08 2002-09-24 Agranat Systems, Inc. Embedded web server
US20020152289A1 (en) * 1997-09-10 2002-10-17 Schneider Automation Inc. System and method for accessing devices in a factory automation network
US6282454B1 (en) 1997-09-10 2001-08-28 Schneider Automation Inc. Web interface to a programmable controller
US7035898B1 (en) 1997-09-10 2006-04-25 Schneider Automation Inc. System for programming a factory automation device using a web browser
US6151625A (en) * 1997-09-10 2000-11-21 Schneider Automation Inc. Internet web interface including programmable logic controller for controlling output devices based on status of input devices
US7058693B1 (en) 1997-09-10 2006-06-06 Schneider Automation Inc. System for programming a programmable logic controller using a web browser
US6732191B1 (en) 1997-09-10 2004-05-04 Schneider Automation Inc. Web interface to an input/output device
US6587884B1 (en) 1997-09-10 2003-07-01 Schneider Automation, Inc. Dual ethernet protocol stack for maximum speed access to a programmable logic controller (PLC)
US20020091784A1 (en) * 1997-09-10 2002-07-11 Baker Richard A. Web interface to a device and an electrical network control system
US7162510B2 (en) * 1998-03-16 2007-01-09 Schneider Automation Inc. Communication system for a control system over Ethernet and IP networks
US6434157B1 (en) 1998-10-06 2002-08-13 Schneider Automation, Inc. MODBUS plus ethernet bridge
US6233626B1 (en) 1998-10-06 2001-05-15 Schneider Automation Inc. System for a modular terminal input/output interface for communicating messaging application layer over encoded ethernet to transport layer
US6327511B1 (en) 1998-12-30 2001-12-04 Schneider Automation, Inc. Input/output (I/O) scanner for a control system with peer determination
US6853867B1 (en) 1998-12-30 2005-02-08 Schneider Automation Inc. Interface to a programmable logic controller
US6845401B1 (en) 1998-12-30 2005-01-18 Schneider Automation Inc. Embedded file system for a programmable logic controller
US7032029B1 (en) 2000-07-07 2006-04-18 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
US7181487B1 (en) 2000-07-07 2007-02-20 Schneider Automation Inc. Method and system for transmitting and activating an application requesting human intervention in an automation network
US7519737B2 (en) * 2000-07-07 2009-04-14 Schneider Automation Inc. Input/output (I/O) scanner for a control system with peer determination
US20020167967A1 (en) * 2000-09-06 2002-11-14 Schneider Electric Method for managing bandwidth on an ethernet network
US7028204B2 (en) * 2000-09-06 2006-04-11 Schneider Automation Inc. Method and apparatus for ethernet prioritized device clock synchronization
US7023795B1 (en) 2000-11-07 2006-04-04 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
US10173008B2 (en) 2002-01-29 2019-01-08 Baxter International Inc. System and method for communicating with a dialysis machine through a network
US8775196B2 (en) 2002-01-29 2014-07-08 Baxter International Inc. System and method for notification and escalation of medical data
US8234128B2 (en) 2002-04-30 2012-07-31 Baxter International, Inc. System and method for verifying medical device operational parameters
US20040210664A1 (en) * 2003-04-17 2004-10-21 Schneider Automation Inc. System and method for transmitting data
EP1832398B1 (de) * 2006-03-10 2008-05-07 Abb Research Ltd. Robotersteuerung, Rechnereinheit und Basismodul für eine Robotersteurung
US8057679B2 (en) 2008-07-09 2011-11-15 Baxter International Inc. Dialysis system having trending and alert generation
US10089443B2 (en) 2012-05-15 2018-10-02 Baxter International Inc. Home medical device systems and methods for therapy prescription and tracking, servicing and inventory
US8554579B2 (en) 2008-10-13 2013-10-08 Fht, Inc. Management, reporting and benchmarking of medication preparation
US10552577B2 (en) 2012-08-31 2020-02-04 Baxter Corporation Englewood Medication requisition fulfillment system and method
EP3346444B1 (de) 2012-10-26 2020-09-23 Baxter Corporation Englewood Verbesserte bilderfassung für system zur zubereitung einer medizinischen dosis
NZ707430A (en) 2012-10-26 2016-04-29 Baxter Corp Englewood Improved work station for medical dose preparation system
EP3161778A4 (de) 2014-06-30 2018-03-14 Baxter Corporation Englewood Verwalteter austausch medizinischer informationen
US11107574B2 (en) 2014-09-30 2021-08-31 Baxter Corporation Englewood Management of medication preparation with formulary management
US11575673B2 (en) 2014-09-30 2023-02-07 Baxter Corporation Englewood Central user management in a distributed healthcare information management system
WO2016090091A1 (en) 2014-12-05 2016-06-09 Baxter Corporation Englewood Dose preparation data analytics
EP3800610A1 (de) 2015-03-03 2021-04-07 Baxter Corporation Englewood Pharmaziearbeitsflussverwaltung mit integrierten alarmen
CN107810536B (zh) 2015-06-25 2023-01-24 甘布罗伦迪亚股份公司 具有分布式数据库的医疗装置系统和方法
JP6396276B2 (ja) * 2015-11-19 2018-09-26 ファナック株式会社 サーボ制御性能を向上にした数値制御装置
JP6457376B2 (ja) * 2015-11-19 2019-01-23 ファナック株式会社 サーボ制御部における外部信号の入出力を高速にした数値制御装置
WO2018114346A1 (en) 2016-12-21 2018-06-28 Gambro Lundia Ab Medical device system including information technology infrastructure having secure cluster domain supporting external domain

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1062827B (it) * 1976-03-29 1985-02-11 Olivetti Controllo Numerico Sistema di controllo numerico per macchine utensili
US4058711A (en) * 1976-04-16 1977-11-15 Cincinnati Milacron Inc. Asynchronous dual function multiprocessor machine control
IN155236B (de) * 1981-03-20 1985-01-12 Gould Inc
JPS59154564A (ja) * 1983-02-24 1984-09-03 Hitachi Ltd プログラマブルコントロ−ラ
US4568866A (en) * 1983-10-26 1986-02-04 Allen-Bradley Company Programmable controller for stepping motor control
JPS61198303A (ja) * 1985-02-28 1986-09-02 Mitsubishi Heavy Ind Ltd ロボツト装置
JP2528813B2 (ja) * 1985-05-10 1996-08-28 株式会社日立製作所 制御装置
JPS625408A (ja) * 1985-07-01 1987-01-12 Fanuc Ltd 関節形ロボツトの制御方式

Also Published As

Publication number Publication date
EP0298396B1 (de) 1994-12-14
DE3852433D1 (de) 1995-01-26
EP0298396A3 (en) 1990-04-25
JPS6414605A (en) 1989-01-18
JP2834122B2 (ja) 1998-12-09
US4953074A (en) 1990-08-28
EP0298396A2 (de) 1989-01-11

Similar Documents

Publication Publication Date Title
DE3852433T2 (de) Funktionsverteiltes Steuergerät.
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE2760322C2 (de)
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3687426T2 (de) Mehrprozessorsystem-architektur.
DE69535187T2 (de) Speichersteuergerät und Bussteuerungsverfahren dafür
DE68927626T2 (de) Hierarchisches Mehrfachbus-Computersystem
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
EP0577919B1 (de) Zugriffssteuerung für gekoppelte maskenprogrammierte Mikrocontroller
DE69809254T2 (de) Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE3688789T2 (de) Numerisches steuersystem.
DE69122142T2 (de) Steuerungsanlage für ein Mehrprozessorsystem
DE3726168C2 (de)
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE4005042C2 (de) Mehrrechnersystem zur Durchführung von Bewegungssteuerungen
DE69521262T2 (de) Steuersystem
DE3938950C2 (de)
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE3855284T2 (de) Direktspeicherzugriffssteuerung
DE3786583T2 (de) Prozessor.
DE69129566T2 (de) Hochgeschwindigkeitsbussystem
DE68926382T2 (de) Steuerungssystem für Übertragungsbefehle zwischen zentralen Verarbeitungseinheiten
DE69320732T2 (de) Verfahren zur Gerätadressierung und zur Datensignalübertragung auf einem Bus

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee