Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MICROPROCESSOR-CONTROLLED CONTROL DEVICE FOR AN INJECTION MOLDING SYSTEM, COMPRISING A MULTI-CORE COMPUTER
Document Type and Number:
WIPO Patent Application WO/2014/111418
Kind Code:
A1
Abstract:
A microprocessor-controlled control device for an injection molding system (70; 71, 72, 73, 74) has at least one user interface (20, 21), at least one multi-core computer (100) and at least one I/O controller (50) for a sensor/actuator unit (60) of an injection molding machine (71) in order to cover in a coordinated manner a substantial process step during which plastics parts are produced. The I/O controller (50) is connected directly or indirectly to at least one core (102) of the multi-core computer (100) of the control device via a real-time ethernet connection (41). The multi-core computer (100) comprises at least two cores (101, 102), each core provided with its own operating system. At least one core (102) is provided with a real-time operating system (RT-OS) and one core (101) with a non-real-time operating system (nRT-OS). The at least one core (102) with the real-time operating system manages virtualization of the resources of the multi-core computer (100) in real time.

Inventors:
WERFELI FRIEDRICH (CH)
Application Number:
PCT/EP2014/050694
Publication Date:
July 24, 2014
Filing Date:
January 15, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
NETSTAL AG MASCHF GIESSEREI (CH)
International Classes:
G05B19/042; G06F9/38
Foreign References:
DE102006040416A12008-03-20
EP2546029A22013-01-16
US20090132057A12009-05-21
CN102393656A2012-03-28
Attorney, Agent or Firm:
WILHELM, LUDWIG (DE)
Download PDF:
Claims:
PATENTANSPRÜCHE

1 . Mikroprozessor-gesteuerte Steuerungseinrichtung für eine Spritzgiessanla- ge (70; 71 , 72, 73, 74) mit mindestens einem Bedien interface (20, 21 ), mindestens einem Mehrfachkern-Rechner (100) und mindestens einem I/O-Controller (50) für eine Sensor/Aktor-Einheit (60) einer Spritzgiessmaschine (71 ), um in einer koordinierten Weise einen wesentlichen Prozessschritt abzudecken, in dem Kunststoffteile hergestellt werden, wobei der mindestens eine I/O-Controller (50) mit mindestens einem Kern (102) des Mehrfachkern-Rechners (100) der Steuerungseinrichtung über eine Echtzeit-Ethernet-Verbindung (41 ) direkt oder indirekt verbunden ist, wobei der Mehrfachkern-Rechner (100) mindestens zwei Kerne (101 , 102) um- fasst, und auf jedem Kern ein eigenes Betriebssystem aufgesetzt ist, wobei mindestens ein Kern (102) mit einem Echtzeitbetriebssystem (RT-OS) und ein Kern (101 ) mit einem nicht echtzeitfähigen Betriebssystem (nRT-OS) aufgesetzt ist, wobei der mindestens eine Kern (102) mit echtzeitfähigem Betriebssystem eine Virtualisierung der Ressourcen des Mehrfachkern-Rechners (100) echtzeitfähig verwaltet.

2. Steuereinrichtung nach Anspruch 1 , dadurch gekennzeichnet, dass der oder die Nicht-Echtzeitkerne (nRT-OS) untereinander und mit den Echtzeitkernen (RT-OS) mit Internet-Protokollen, vorzugsweise TCP/IP und TELNET, kommunizieren und dass der oder die Echtzeitkerne (RT-OS) untereinander mit einem echtzeitfähigen Verfahren über Shared-Memory in einer Weise kommunizieren, dass ein ausgewählter Echtzeitkern (RT-OS) als Koordinationsrechner funktioniert und die anderen Echtzeitkerne (RT-OS) über Shared-Memory synchronisiert und mit ihnen in Echtzeit Daten austauscht und alle Echtzeitkerne (RT-OS)s taktsynchron zusammenarbeiten.

3. Steuereinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ausgewählte Echtzeitkerne (RT-OS) einen oder mehrere Echtzeit-Ethernet-Master besitzen, die diesen Echtzeitkern (RT-OS) ermöglichen, über, von der Virtualisierung zugeteilten, ein oder mehreren Standard-Ethernet-Controller ein oder mehre- re Echtzeit-Ethernet-Busse zu betreiben.

4. Steuereinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass einem oder mehreren Nicht-Echtzeitkernen (nRT-OS), dem oder denen von der Virtualisierung kein graphisches Ausgabegerät zugewiesen ist, das graphische Ausgabegerät eines Kerns, welcher im Besitz eines Ausgabegerätes ist, zur Nutzung zuweisbar ist, indem der Kern ohne grafisches Ausgabegerät als Appletserver vorgesehen ist und der Kern mit dem grafischen Ausgabegerät die Applets im entsprechenden Kontext laufen lässt.

5. Steuereinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass mehr als ein Echtzeit-Ethernet-Bus vorgesehen ist und dass die Busse über synchrone Uhren synchronisierbar sind, sodass ein minimaler Jitter entsteht und die Kerne alle auf den Bussen auftretenden Signale unabhängig vom Bus verwendet werden können.

6. Steuereinrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein vorbestimmter Echtzeit-Ethernet-Bus durch einen Echtzeitkern mit einem Echtzeit-Ethernet-Master bereitstellbar ist, der nur ausgewählte Teilnehmer, vorzugsweise ausgewählte I/O-Controller (50), hat und dadurch der Bus häufiger mit kleineren Telegrammen bedient werden kann und der Kern-Regler die Bus-Operationen und die Regleralgorithmen in einem höheren Takt als der Takt des Koordinations-Kerns abarbeiten kann, aber trotzdem synchron zum restlichen Echtzeit-System bleibt.

7. Steuereinrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass mindestens genau zwei unterschiedliche Bus-Ausführungen verwendet werden, für den Teil des Systems, der durch den Benutzer nicht verändert wird, indem automatisch eine Busstopologie beim Aufstarten der Steuerung erstellt wird, die durch die kundenspezifische Ausrüstung vorgegeben ist und dem Bereich des Systems in dem der Benutzer Veränderungen vornehmen kann, eine durch den Benutzer beeinflussbare Topologie anhand von Knotenadressen die der Benutzer selbst festlegen und einstellen kann.

8. Steuereinrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Koordinations-Kern zyklisch von allen Kernen intelligente Lebenszeichen verlangt und so den Zustand des Systems kennt und verwaltet.

9. Steuereinrichtung nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass das Aufstarten und das Herunterfahren der Speisung des Systems durch einen Infrastruktur-Teilnehmer im Echtzeit-Ethernet-Bus steuerbar ist, sowie die Funktion eines Hardwatchdogs anbietbar ist, welche vom Koordinations-Kern zyklisch bedient wird.

Description:
MIKROPROZESSOR-GESTEUERTE STEUERUNGSEINRICHTUNG FÜR EINE SPRITZGIESSANLAGE MIT EINEM

MULTI-CORE RECHNER

TECHNISCHES GEBIET

Die vorliegende Erfindung betrifft eine mikroprozessor-gesteuerte Steuerungsein- richtung für eine Spritzgiessanlage mit mindestens einem Bedien interface, mindestens einem Prozessor und mindestens einem I/O-Controller für eine Sensor/Aktor-Einheit eines Werkzeuges einer Produktionszelle der Spritzgiessmaschine, um in einer koordinierten Weise einen wesentlichen Prozessschritt abzudecken, in dem Kunststoffteile hergestellt werden, wobei der mindestens eine l/O- Controller mit mindestens einem Echtzeit-Prozessor der Prozessoren der Steuerungseinrichtung über eine Echtzeit-Ethernet-Verbindung direkt oder indirekt verbunden ist.

STAND DER TECHNIK

Die Steuerung der Spritzgiessmaschine übernimmt immer mehr Aufgaben und wird dadurch komplexer. Es werden zunehmend Maschinen und Produktionszellen aus einem Modulbaukasten mit vordefinierten Funktionen zusammengesetzt. Die Ausrüstung variiert dabei von Maschine zu Maschine und von Produktionszelle zu Produktionszelle stark.

Die Fig. 1 zeigt gemäß dem Stand der Technik eine Steuerung einer Spritzgiessmaschine mit einer Bedienerkonsole und mit einem Industrie-PC. Die Steuerung kommuniziert mit Echtzeitrechnern, die ihrerseits die I/O-Controller bedienen, die mit den Sensoren und Aktoren verbunden sind. Dabei findet zusätzlich zur Maschine auch ein Informationsaustausch mit Werkzeug, Handling- und weiteren Pe- ripheriegeräten statt oder diese werden direkt gesteuert. Peripheriegeräte können ihrerseits eigene Bedienkonsolen haben.

Es ist bekannt, eine Steuerung zu skalieren, indem der Industrie-PC in der Mensch-Maschine-Schnittstelle direkt mit weiteren Echtzeit-Prozessoren (embed- ded CPUs) kommuniziert, die ihrerseits Echtzeitaufgaben erledigen und über l/O- Controller die Eingänge und Ausgänge bedienen. Die Anzahl der I/O-Controller und Anschlüsse für Eingänge und Ausgänge sowie der weiteren Echtzeit- Prozessoren hängt von der Komplexität der Aufgabe ab. Dabei werden als Teil- nehmer am Feldbus unter I/O-Controller auch Umrichter und Sicherheitsgeräte angesehen.

Aus der US 6'466'962 ist eine Steuerungsvorrichtung zur Unterstützung der Echtzeit-Datenverarbeitung innerhalb eines allgemein üblichen (Nichtechtzeit)- Betriebssystems bekannt. Insbesondere wird ein Mehrkern-Prozessor verwendet, auf dem zwei virtuelle Maschinen aufgesetzt werden, wobei die eine Maschine ein im wesentlichen unverändertes allgemeines Nicht-Echtzeit-Betriebssystem verwendet, und wobei die zweite Maschine einen Echt-Zeit-Kernel verwendet, wobei der Zugriff auf die körperliche Hardware der virtuellen Maschinen im Multiplex ge- steuert ist.

Aus der EP 2 017 733 ist ein Computerhardwaresystem bekannt, das dazu ausgelegt ist, eine virtuelle Maschinenumgebung zu betreiben, um eine Echtzeit- Betriebssystemumgebung an ein natives Host-Betriebssystem zu koppeln, wobei das Echtzeit-Betriebssystem auf dem nativen Host-Betriebssystem läuft.

DARSTELLUNG DER ERFINDUNG Ausgehend von diesem Stand der Technik ist es eine Aufgabe der vorliegenden Erfindung, einen Weg aufzuzeigen, wie die Situation auf der Seite der Steuerungsarchitektur verbessert werden kann, um dem Einrichter einen schnelleren und sicheren Aufbau einer neuen oder ergänzten Produktionszelle zu ermöglichen.

Die Steuerungsarchitektur sollte einfacher skalieren, das heißt gemäß neuen An- forderungen in die gewünschte Richtung wachsen können: Anzahl und Typen von I/O-Controllern, Rechenleistung, Systemreaktionszeit, Anzahl Domänen, Regelqualität u.s.w. . Die Hardware sollte zwar ebenfalls skalieren, aber eine möglichst kleine Technologiefront haben und zu vertretbaren Kosten realisierbar sein. Dabei sollte die Komplexität der einzusetzenden Steuersoftware möglichst klein gehalten werden, indem möglichst unabhängige Domänen ermöglicht werden. Auch sollte die Freiheit bestehen, schnelle Echtzeit-Busse mit wenigen Teilnehmern und etwas langsamere mit vielen Teilnehmern zu realisieren .

Der Begriff Domäne wird verwendet um einen abgeschlossenen Themenbereich zu bezeichnen innerhalb welchem eine Spezialisierung erarbeitet wird und alle Aspekte dieses Themenbereiches behandelt. Die Domäne ist ein wirksames Mittel um Komplexität zu verstecken und die Wiederverwendbarkeit zu fördern. Als Beispiele könnte die Bewegung der beweglichen Aufspannplatte einer Spritzgießmaschine und/oder der Kraftaufbau als abgeschlossener Themenbereich behandelt werden. Als weitere Domäne könnte zusätzlich oder alternativ das Betreiben eines Temperiergerätes definiert werden. Als ein Aspekt der Skalierung kann die Anzahl der unterschiedlichen Themenbereiche betrachtet werden. Als weiterer Aspekt, beispielsweise, wie häufig die einzelnen Themenbereiche eingesetzt werden (z. B. Anzahl Temperiergeräte).

Diese Ziele und Aufgaben werden für eine Steuerung der eingangs genannten Art durch die Merkmale des Anspruchs 1 gelöst.

Eine mikroprozessor-gesteuerte Steuerungseinrichtung für eine Spritzgiessanlage hat mindestens ein Bedien interface, mindestens einen Mehrfachkern-Rechner (oder Multikern-Rechner) und mindestens einen I/O-Controller für eine Sensor/Aktor-Einheit einer Spritzgiessmaschine (z.B. für eine Sensor/Aktor-Einheit eines Werkzeuges einer Produktionszelle der Spritzgiessmaschine), um in einer koordinierten Weise einen wesentlichen Prozessschritt abzudecken, in dem Kunststoffteile hergestellt werden. Dabei ist der mindestens eine I/O-Controller mit mindestens einem Kern des Mehrfachkern-Rechners der Steuerungseinrichtung über eine Echtzeit-Ethernet-Verbindung direkt oder indirekt verbunden. Der Mehr- fachkern-Rechner umfasst mindestens zwei Kerne, wobei auf jedem Kern ein eigenes Betriebssystem aufgesetzt ist, wobei mindestens ein Kern („Echtzeit- Prozessor") mit einem Echtzeitbetriebssystem (RT-OS) und ein Kern mit einem nicht echtzeitfähigen Betriebssystem (nRT-OS) aufgesetzt ist, wobei der mindestens eine Kern mit echtzeitfähigem Betriebssystem eine Virtualisierung der Res- sourcen des Mehrfachkern-Rechners echtzeitfähig verwaltet.

Ressourcen des Mehrfachkern-Rechners können beispielsweise Kerne, Speicher und/oder Devices sein. Die Erfindung basiert auf der Einsicht, dass Multikern-CPUs genutzt werden können, ohne dabei die erhöhte Komplexität des symmetrischen Multiprozessing einsetzen zu müssen. Dafür umfasst die Steuerungseinrichtung einen Mehrfachkern- Rechner mit mindestens zwei Kernen, wobei auf jedem Kern ein eigenes Betriebssystem aufgesetzt ist, wobei mindestens ein Kern mit einem Echtzeitbe- triebssystem und ein Kern mit einem nicht echtzeitfähigen Betriebssystem aufgesetzt ist, wobei mindestens ein Kern als Echtzeit-Prozessor eine Virtualisierung der Ressourcen des Mehrfachkern-Rechners wie Kerne, Speicher und Devices echtzeitfähig verwaltet. Die Virtualisierung kann alle Ressourcen welche von mehr als einem Benutzer (Kern) angefordert werden behandeln. Die Virtualisierung kann ein Interface erzeugen, sodass jeder Kern virtuell seine eigene Ressource sieht und nutzen kann. Die Virtualisierung kann Konflikte die durch gleichzeitigen Zugriff auf dieselbe Ressource entstehen können verhindern.

Eine Ausprägung/Ausgestaltung der Virtualisierung kann beispielsweise das sha- red Memory (gemeinsam genutzter Speicher) sein. Indem mehr als ein Kern allein auf den Speicher zugreifen kann, entsteht ein sehr effizienter Informationsaus- tausch zwischen den Echtzeitkernen. Die Information kann auch über RT-Ethernet ausgetauscht werden. Dies ist dann aber weniger effizient. Eine vorteilhafte Ausprägung/Ausgestaltung benutzt beispielsweise das TCP/IP-Protokoll und wendet es auf shared Memory an. Dies kann anstelle der Übertragung der Information über eine serielle Verbindung erfolgen.

Eine weitere Ausprägung/Ausgestaltung der Virtualisierung ist z.B. das virtuelle Anbieten eines graphischen Benutzerinterfaces für Kerne die keinen direkten Zugriff auf ein Interface haben. Ein Peripheriegerät könnte aus Kostengründen auf ein eigenes Bedienerinterface verzichten. Damit es aber bedient werden kann, braucht der Kern eine Möglichkeit ein Bedienerinterface zu nutzen. Dazu kann er sich von der Virtualisierung eines Kerns welcher einen Zugriff auf das Bedienerinterface hat die Möglichkeit geben lassen, in einem eigenen Bereich (z.B. Fenster) dieses mitzunutzen. Wird auf dem Bedienerinterface das entsprechende Fenster aufgerufen hat der Kern und damit das Peripheriegerät ein eigenes Bedieninterface. Diese Bereitstellung kann z. B. auch mittels Appletserver und Applets realisiert werden.

Die Idee besteht darin, eine Architektur zu schaffen, die es ermöglicht, ähnlich wie die Steuerungen nach aktuellem Stand mit einzelnen Rechnereinheiten zu skalieren, ohne dass die Hardwarekosten entsprechenden ansteigen. Dazu soll auch eine Ausprägung/Ausgestaltung der Virtualisierung beitragen, welche die Hardware-Ressourcen wie Kerne, Speicher und Devices (z. B. HD-Controller, Ethernet- Controller, USB-Controller verwalten u.s.w.) verwalten und gegen unzulässige Zugriffe schützen kann, ohne die Echtzeitfähigkeit zu verlieren.

Die Erfindung gestattet, dass die heute mit verteilten Rechnern verwendete Software-Architektur im Wesentlichen unverändert weiterverwendet werden kann und der Übergang zur symmetrischen Multiprozessing-Architektur vermieden werden kann.

Es ist damit eine flexible, hochgradig skalierbare Steuerungsplattform angegeben. Weitere Ausführungsformen sind in den abhängigen Ansprüchen angegeben. KURZE BESCHREIBUNG DER ZEICHNUNGEN Bevorzugte Ausführungsformen der Erfindung werden im Folgenden anhand der Zeichnungen beschrieben, die lediglich zur Erläuterung dienen und nicht einschränkend auszulegen sind. In den Zeichnungen zeigen: eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten einer bekannten Steuerung; eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten gemäss einem ersten Ausführungsbeispiel der Erfindung;

eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten gemäss einem zweiten Ausführungsbeispiel der Erfindung; und

eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten gemäss einem dritten Ausführungsbeispiel der Erfindung.

BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN

Fig. 1 zeigt eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten einer bekannten Steuerung. Mit dem Bezugszeichen 10 ist ein Industrie-PC bezeichnet, welcher mit einer Bedienerkonsole 20 über eine computergestützte Benutzerschnittstelle 21 als Mensch-Maschine-Schnittstelle (HMI) verbunden ist. Die Spritzgiessmaschine kann weiter über angebundene Komponenten 30 für ein Produktionsleitsystem (MES) und die Überwachung und Steuerung der technischen Prozesse in einer Leitebene (SCADA) verbunden sein. Diese Verbindung des Industrie-PC 10 mit der Leitsystem-Komponente 30 kann durch eine Ethernetverbindung 31 basierend auf TCP/IP realisiert sein. Der Industrie-PC 10 der Spritzgiessmaschine kommuniziert des Weiteren über ein nicht Echtzeit-Ethernet 31 mit Echtzeitrechnern 40, die ihrerseits eine Vielzahl von I/O-Controllern 50 bedienen, die mit Sensoren und Aktoren verbunden sind, die in der schematischen Darstellung der Fig. 1 pauschal mit dem Bezugszeichen 60 versehen sind. Die Aktoren / Aktuatoren bilden die Stellglieder im Regelkreis der nachfolgend beschriebenen Einheiten der schematisch dargestellten Produktionszelle 70. Für die Realisierung der Echt-Zeit-Ethernet 41 Verbindungen und den Schnittstellen der Echtzeitrechner 40 sind aus dem Stand der Technik verschiedene Feldbussysteme mit benötigten Buszyklen von weniger als 1 Millisekunde bis hinab zu 100 Mikrosekunden bekannt, wie Ethernet/IP als offener Industriestandard, für das Komponenten insbesondere durch Mitglieder der ODVA (Open Devi- ceNet Vendor Association) zu beziehen sind.

Dabei sind die Verbindungen zwischen I/O-Controllern 50 und Sensor/Aktor- Einheiten 60 mit einer Vielzahl von hier jeweils fünf Verbindungsleitungen 51 dargestellt. Sowohl diese Anzahl als auch die Anzahl und Ausgestaltung der I/O Controller 50 ist beispielhaft gewählt. Die technische Umsetzung der Spritzgiessmaschine ist mit dem alle Baugruppen verbindenden Bezugszeichen 70 für die Maschine insgesamt bezeichnet, welche die Sensor-Aktor-Baugruppen 60 umfasst, die der Kunststoff-Spritzgiessmaschine 71 , den Werkzeugen 72, den Handlings- Einheiten 73 und/oder allfälligen Peripheriegeräten 74 zugeordnet sind. Dabei ist zu notieren, dass üblicherweise eben zusätzlich zur Maschine 71 selber auch ein Informationsaustausch mit Werkzeug-, Handling- und/oder weiteren Peripheriegeräten 72, 73 und 74 stattfindet oder dass diese direkt gesteuert werden. Periphe- riegeräte können ihrerseits eigene Bedienkonsolen haben (hier nicht dargestellt; in der Umsetzung der Erfindung siehe Fig. 4).

Die Fig . 2 zeigt nun eine schematische Darstellung einer Spritzgiessmaschine mit dem Schaltbild der Komponenten gemäß einem ersten Ausführungsbeispiel der Erfindung. Dabei soll die verfügbare Technologie von Multikern-CPUs zu Hilfe genommen werden. Bei einem Multikern-Rechner 100 spricht man von 2 bis n Kernen pro CPU, z.B. Intel core2 Duo besitzt n=2 Kerne. In der Fig. 2 dargestellt ist ein n=4 Vierkernrechner 100. Dieser ist über einen Ethernetcontroller 1 10 an die Leitsystemkomponenten 30 angeschlossen. Ein Echtzeit-Ethernet-Controller 1 1 1 , auch als RT-Ethernet- Controller bezeichnet, verbindet einen Echtzeitausgang 1 12 des Multikernrechners 100 mit den einzelnen I/O Controllern 50, hinter denen, wie im konventionellen Fall der Fig. 1 die Spritzgiessmaschine vorgesehen ist.

Die Mensch-Maschine-Schnittstelle 20, 21 sind ebenfalls aus Fig. 1 so übernommen worden.

Gleiche Merkmale sind in allen Fig. mit denselben Bezugszeichen versehen.

Es ist aus der Fig. 2 ersichtlich, dass die Anwendungen, die konventionell wie bei der Fig. 1 heute auf mehreren Industrierechnern 10 und getrennten als„embedded CPUs" bezeichneten Echtzeitrechnern 40 vorgenommen worden sind, nun auf einem einzigen Industrie-PC in Gestalt eines Multikern-Rechners 100 betrieben werden können.

Der Multikernrechner 100 hat in dem vorgestellten Ausführungsbeispiel vier Kerne 101 , 102, 103 und 104. Um die Ziele der Erfindung zu erreichen, ist eine spezifische Vorgehensweise notwendig. Von den vier Kernen ist der Kern 101 als einziger Kern mit einem nicht echtzeitfahigen Betriebssystem geladen, in der Folge auch mit nRT-OS abgekürzt. Die drei anderen Kerne 102, 103 und 104 sind mit einem echtzeitfahigen Betriebssystem geladen, in der Folge auch mit RT-OS ab- gekürzt.

Als geeignete Betriebssysteme werden vorzugsweise Windows XP oder Windows 7 oder Linux (oder die embedded Versionen davon) für ein nicht echtzeitfähiges Betriebssystem, mit nRT-OS bezeichnet, und vorzugsweise VxWorks oder RT- Linux für ein echtzeitfähiges Betriebssystem, mit RT-OS bezeichnet, eingesetzt. Für die Virtualisierung (oder Hypervisor) werden vorzugsweise Produkte wie VxWin, AT-RTOSVisor eingesetzt aber auch andere Produkte sind für den Fachmann geläufig und einsetzbar. Der Einsatz von mehreren Betriebsystemen verlangt nach erheblichem Arbeitsspeicher. Um davon genügend bereitstellen zu können sind vorzugsweise Betriebssysteme mit einem 64 bit Speicheradressbereich zu verwenden.

Die Kommunikation zwischen den Kernen wird über sogenannten gemeinsam genutzten Speicher oder auch Shared Memory 120 ausgeführt, wobei die Kommunikation zwischen dem oder in andern Ausführungsbeispielen„den" nRT-OS-Kernen

101 und von nRT-OS-Kernen 101 zu RT-OS-Kernen 102, 103, 104 vorzugsweise über Standard-Internet-Protokolle 131 (Internet Protokolle decken den ganzen Bereich der OSl-Model-Layers ab) wie z. B. TCP/IP abgewickelt werden. Beim Kern

102 ist mit RTE-M die Schnittstelle als Realtime Ethernet Master bezeichnet worden. Der Realtime Ethernet Master sorgt dafür, dass die Echtzeit-Kommunikation geordnet abläuft und die Pioritaten der Informationsübertragung berücksichtigt werden.

Die Kommunikation zwischen RT-OS-Kernen 102, 103 und 104, dargestellt als Interkern-Kommunikation 131 ' ist vorzugsweise echtzeitfähig und soll synchron stattfinden (sie ist aber auch über Internet-Protokolle möglich). Auch hier werden Shared Memory 120 verwendet auf denen Strategien wie FIFO, Shared Events, Interlocked Data Access, Synchronisation von Datum und Uhrzeit, Synchronisation von verteilten Echtzeituhren und von virtuellen seriellen Datenkanälen realisiert werden. Shared Memory 120 sind Speicherbereiche auf die mehr als ein Kern 102, 103, 104 Zugriff hat. Es werden dabei (z.B. softwareseitig) Maßnahmen eingesetzt, die sicherstellen, dass nur ein einzelner Kern gleichzeitig Zugriff auf den Speicherbereich erhält. Der Speicherbereich kann sich an einem beliebigen Ort befinden, auf der CPU oder außerhalb, wo der Zugriff gewährleistet ist, vorzugsweise auf dem Arbeitsspeicher-Speicher (DRAM).

Dass die einzelnen Kerne noch reaktiv sind, wird durch eine zyklische Aufforderung des Koordinationsrechners an alle Kerne, ihren Zustand zu melden, über- wacht. Der Koordinationsrechner wertet die Antworten aus und bedient den Hard- watchdog zyklisch. Als Hardwatchdog betätigt sich ein Infrastruktur-Teilnehmer am RT-Ethernet-Bus, der das Aufstarten und Herunterfahren der Speisung der Steuerung ausführt.

Wenn mindestens zwei Rechner (bzw. Kerne) im Verbund Aufgaben lösen, muss einer (z.B. als Koordinationsrechner oder Koordinationskern) die Koordination der Aufgaben übernehmen, dafür sorgen, dass gültige Daten verarbeitet werden und die Resultate aus Daten entstehen die zum gleichen Zeitpunkt und unter den glei- chen Rahmenbedingungen (z. B. Sollwerte) ermittelt wurden und Resultate erst verwendet werden, wenn alle verteilten Aufgaben erledigt sind.

Wenn mindestens zwei Rechner im Verbund arbeiten, muss sichergestellt werden, dass alle Rechner bestimmungsgemäß arbeiten. Dies kann durch die Kombination von Soft- und Hard-Watchdog erreicht werden. Der Koordinations-Kern kann zyklisch von allen Kernen intelligente Lebenszeichen (Softwatchdog) verlangen und so den Zustand des Systems kennen und verwalten.

Dies wird anhand der Fig. 3 näher erläutert. Der Koordinationsrechner (bzw. Koor- dinationskern) 203 koordiniert seine Aufgaben und die Aufgaben der Kerne 201 , 202, 204, 205, 206. Damit der Koordinationsrechner 203 feststellen kann, ob die anderen Kerne 201 , 202, 204, 205, 206 bestimmungsgemäß arbeiten, sendet er periodisch in kurzen Abständen codierte Anfragen z. B. über das Ethernet oder shared Memory, an alle anderen Kerne 201 , 202, 204, 205, 206. Die Kerne 201 , 202, 204, 205, 206 müssen auf diese Anfrage innerhalb einer Reaktionszeit eine vereinbarte individuelle Reaktion zurücksenden. Solange die richtigen Antworten rechtzeitig eintreffen, kann der Koordinationsrechner 203 davon ausgehen, dass die Kerne 201 , 202, 204, 205, 206 ihre Aufgaben bestimmungsgemäß erfüllen. Würde der Koordinationsrechner 203 nicht mehr richtig arbeiten und die Anfragen nicht mehr absetzen, würde die Störung nicht festgestellt. Deshalb ist es angebracht dies mittels eines Hardwatchdog abzusichern. Der Hardwatchdog ist eine unabhängige Hardware-Funktion (HW-Funktion) die üblicherweise in einem I/O-Controllermodul 50' untergebracht ist, das am Echtzeit- Ethernetbus 41 hängt. Auf diesem Modul 50 ist eine Zeitfunktion in Hardware realisiert. Nach einer bestimmten Verzögerungszeit (z. B. 10 ms) werden die Maschine und die Geräte stillgelegt. Damit die Maschine nicht stillgelegt wird, muss der Koordinationsrechner 203 periodisch die Zeitfunktion zurücksetzen, indem (z. B. alle 5 ms) der Befehl zum Zurücksetzen der Zeitfunktion ausgegeben wird.

Weiter sollen auch Situationen beherrscht werden, bei denen mehrere weitgehend unabhängige Domänen auf einer einzigen Steuerung betrieben werden sollen, ohne dass die Komplexität der Steuerung und der Software explodiert. Als weitere Domänen könnte beispielsweise eine multivariante Echtzeit-Fehlererkennungs- und Ausscheidungs-Anwendung bezeichnet werden, die dazu beiträgt, dass eine O-Fehler-Produktion erreicht werden kann oder eine Füllsimulation von Werkzeugen.

Eine multivariante Fehlererkennung und Ausscheidungs-Anwendung bedeutet in diesem Zusammenhang eine Anwendung welche aus ausgewählten Prozessdaten anhand einer Modellrechnung die zu erwartenden Eigenschaften der produzierten Teile errechnet und diese anhand der Daten nach Eigenschaften klassiert (z. B. Rundheit einer Bohrung und Dicke einer Membran). Die Teile können somit in entsprechende Gebinde gleicher Teile überführt werden. Als einfachste Variante wird eine Gut-/Schlecht-Teil Selektion vorgenommen.

Die Fig. 3 zeigt ein Ausführungsbeispiel gemäß der Erfindung, die die multivariante Echtzeit-Fehlererkennung ermöglicht. Im Falle eines konventionellen Aufbaus wären zwei Industrie-PC 10, ein Echtzeit-Rechner 40 mit Master-Funktion und drei Echtzeit-Rechner 40 mit Slave-Funktion notwendig, was durch den einzelnen Mehrkernrechner 200 hat ersetzt werden können. Anstelle einer Master-Slave Konfiguration kann in anderen Ausführungsbeispielen auch eine„Publish-Subscribe" Funktion realisiert werden, was im Gegensatz zur Master-Slave Konfiguration keine feste hierarchische Struktur vorgibt, so dass flexibel auf Veränderungen reagiert werden kann, was beispielsweise mit TwinCAT realisierbar ist.

Weitere Ausprägung der Domäne ist eine abgegrenzte Funktionalität z. B. ein Regler mit seinen I/Os, der weitgehend autonom seine Aufgabe erledigt und durch Kommandos und Parameter vom Koordinations-Rechner gesteuert wird. Diese Domäne ist auch synchronisiert durch den Koordinationsrechner, kann aber in einer höheren Taktrate arbeiten als der Kommunikations- und Synchronisations- Takt. So kann auf erhöhte Anforderungen der Reaktivität reagiert werden, ohne dass das ganze System reaktiver werden muss. Die Fig. 4 zeigt schließlich ein weiteres Ausführungsbeispiel der Erfindung für den Einsatz einer zusätzlichen Domäne, ohne dass mehrere Zusatzrechner eingesetzt werden müssten. Es bliebt auch hier bei einem Mehrkernrechner 300 mit insgesamt sechs Kernen 301 bis 306 im Beispiel. Dabei wird ein Kern 303 eingesetzt, der zwei Echtzeit-Ethernet-Master besitzt und damit zwei RT-Ethernet-Busse erzeugt, die jeder für sich eine eigene Domäne bilden, z. B. kann in einer ersten Domäne die ganze Netzwerktopologie bestimmt werden, indem die auftragsspezifischen Anforderungen in Schaltpläne umgesetzt werden, die wiederum die Information über die Topologie der Steuerung liefern. Wird das Netzwerk und die Knoten (Slaves) anhand dieser Information konfiguriert, kann in diesem Umfeld jeder Teilnehmer ausgewechselt werden ohne weitere Maßnahme, aber es kann die Topologie nicht verändert werden ohne einen neuen Schaltplan. In der zweiten Domäne, wo z. B. der Benutzer der Maschine bestimmt, welche Geräte er anschließen will, ist die Topologie des Busses nicht vorausbestimmbar. In diesem Umfeld wird eine andere Strategie angewendet, indem jeder Teilnehmer eine Knotenadresse haben muss, anhand der ein Teilnehmer festgestellt und die Identität und die Eigenschaften des Gerätes aus diesem ausgelesen werden kann.

Die zweite Domäne wird über den zweiten Ethernet-Controller 1 1 1 ' zu der Ansteu- erung der aus der Produktionszelle 70 der Fig. 1 herausgezogenen Peripherie- Geräte 74 verwendet, wobei ein getrenntes Sensor/Aktor-Paar 60' beschaltet wird.

Eine weitere Ausprägung von Domänen ermöglicht die Intel Hyperthreading - Technologie. Dadurch kann zusätzlich eine weitere unabhängige Applikation pa- rallel auf dem gleichen Kern verarbeitet werden, ohne dass dazu ein zusätzlicher Verwaltungsaufwand notwendig ist.

Eine Weitere Ausprägung einer Domäne wird durch die Intel VT-Technologie ermöglicht. Mit dieser Technologie kann z. B. Fernwartung auf der Maschine betrie- ben werden, obwohl die Steuerungs-Applikation nicht mehr funktionsfähig ist.

Durch Bilden von Domänen kann die Steuerung bei wachsender Anzahl von Aufgaben und unterschiedlichen Anforderungen an die Reaktivität des Systems den Anforderungen folgen, ohne dass die Komplexität und die notwendige Rechenleis- tung des Gesamtsystems aus Rechnern stark ansteigen.

BEZUGSZEICHENLISTE

Industrie-PC 1 10 Ethernet-Controller

Bedienerkonsole 1 1 1 RT-Ethernet-Controller

Benutzerschnittstelle 1 12 Echtzeitausgang

Leitsystem-Komponenten 1 13 RTE-S

Ethernet-Verbindung 120 Shared Memory

Echtzeitrechner 131 Standard Internet-Protokoll

Echtzeit-Ethernet 131 ' Interkern-Kommunikation l/0-Controller 200 Multikern-Rechner

' Slave I/O-Controller 201 Kern mit nRT-OS

Verbindungsleitung 202 Kern mit nRT-OS

Sensor/Aktor 203 Kern mit RT-OS

' getrennter Sensor/Aktor 204 Kern mit RT-OS

Produktionszelle 205 Kern mit RT-OS

Kunststoff- 206 Kern mit RT-OS

Spritzgiessmaschine 300 Multikern-Rechner

Werkzeug 301 Kern mit nRT-OS

Handlings-Einheit 302 Kern mit nRT-OS

Peripheriegerät 303 Kern mit RT-OS

0 Multikern-Rechner 304 Kern mit RT-OS

1 Kern mit nRT-OS 305 Kern mit RT-OS

2 Kern mit RT-OS 306 Kern mit RT-OS

3 Kern mit RT-OS

4 Kern mit RT-OS