-
ALLGEMEINER STAND DER TECHNIK
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuereinheit und betrifft insbesondere eine numerische Steuereinheit, die einen Mehrkernprozessor aufweist und die Leistung verbessern kann, indem sie bewirkt, dass mehrere Kerne des Mehrkernprozessors eine Achsensteuerroutine auf verteilte Weise durchführen.
-
2. Beschreibung des Standes der Technik
-
Die Verarbeitung einer Steuersoftware einer numerischen Steuereinheit, die Maschinenwerkzeuge steuert, beinhaltet die Verarbeitung von hohen Echtzeit-Eigenschaften, wie sie durch verschiedene Arten von Interpolationsroutinen und Achsensteuerroutinen exemplifiziert sind, um Verteilungsdaten für jede Steuerachse zu erzeugen, und die Verarbeitung von niederen Echtzeit-Eigenschaften, wie sie durch eine automatische Betriebsroutine, die ein Bearbeitungsprogramm analysiert oder Interpolationsvorbereitungsdaten erzeugt, und eine MMS-Routine (MMS = Mensch-Maschine-Schnittstelle), die einen Betrieb gemäß der Bildschirmanzeige oder einem Arbeitsvorgang durchführt, exemplifiziert sind.
-
Die Achsensteuerroutine mit hohen Echtzeit-Eigenschaften muss innerhalb einer spezifizierten Periode abgeschlossen werden und wenn die Zeit der Achsensteuerroutine mit einer ansteigenden Anzahl von Steuerachsen zunimmt, wird es daher schwierig, die Verarbeitungszeit innerhalb der spezifizierten Periode einer anderen automatischen Betriebsroutine oder MMS-Routine mit niederen Echtzeit-Eigenschaften zuzuteilen. Wenn beispielsweise ein Bearbeitungsprogramm, das zur Formbearbeitung angewiesen ist und von Mikrosegmentzeilen gebildet wird, bei einer hohen Geschwindigkeit betrieben wird, ist es erforderlich, das Bearbeitungsprogramm zu analysieren und Interpolationsvorbereitungsdaten in großen Mengen in einer kurzen Zeit zu erzeugen; eine automatische Betriebsroutine oder MMS-Routine wird jedoch in Situationen, in denen die Zeit der Achsensteuerroutine zunimmt, nicht angemessen durchgeführt und folglich entstehen Probleme einer Unerreichbarkeit der Befehlsgeschwindigkeit, einer unregelmäßig maschinell bearbeiteten Oberfläche aufgrund eines unterbrochenen Verteilungsimpulses, einer langsameren Aktualisierung der Bildschirmanzeige und einer langsameren Reaktion auf einen Arbeitsvorgang.
-
Zum Zwecke des reibungslosen Analysierens eines Bearbeitungsprogramms und des Erzeugens von Interpolationsvorbereitungsdaten schlagen
JP 63-181005 A und
JP 1-195507 A eine Technologie vor, die die Analyse eines Bearbeitungsprogramms und die Erzeugung von Interpolationsvorbereitungsdaten in mehrere Vorgänge aufteilt und jeden der aufgeteilten Vorgänge jeder CPU einer Multi-CPU zur Verarbeitung zuteilt.
-
Außerdem offenbart
JP 2014-35564 A zum Zwecke der Senkung der Kosten eine Technologie, die eine numerische Steuereinheit bereitstellt, die einen Mehrkernprozessor aufweist, wobei ein numerischer Steuerprozessor und ein Sequenzsteuerprozessor, die in der Vergangenheit getrennt vorgesehen wurden, jeweils als einer der mehreren Kerne eines Prozessors integriert sind, und außerdem die Integration einer Peripheriesteuerungs-LSI durch Verbinden des Prozessors und der Peripheriesteuerungs-LSI durch einen seriellen Hochgeschwindigkeitsbus ermöglicht, um die Anzahl von Pins der LSI zu verringern.
-
Der Umfang einer Verarbeitung durch eine Steuersoftware einer numerischen Steuereinheit nimmt von Jahr zu Jahr aufgrund des Einsatzes von Maschinenwerkzeugen mit mehreren Achsen oder mehreren Wegen oder der Umsetzung von Wünschen einer hohen Funktionalität zu und eine Zunahme der Achsensteuerroutine aufgrund von mehrachsigen Maschinenwerkzeugen ist besonders bemerkenswert. Darüber hinaus ist eine weitere Verkürzung der spezifizierten Periode der Achsensteuerroutine mit hohen Echtzeit-Eigenschaften erforderlich, um eine hoch präzise maschinelle Bearbeitung bei hoher Geschwindigkeit umzusetzen, und es ist infolgedessen erforderlich, mehr Verarbeitungselemente in einer kürzeren Zeit durchzuführen.
-
In der Hardwarekonfiguration der in den oben erwähnten
JP 63-181005 A und
JP 1-195507 A beschriebenen Multi-CPU nehmen die Kosten mit einer ansteigenden Anzahl von CPU zu und des Weiteren werden periphere Hardwareschaltungen, auf denen die Multi-CPU montiert wird, komplizierter, wodurch die für das Design und die Wartung erforderlichen Arbeitsstunden zunehmen. Derartige Techniken des Standes der Technik verringern die Verarbeitungszeit der Analyse eines Bearbeitungsprogramms und der Erzeugung von Interpolationsvorbereitungsdaten, steuern jedoch nicht direkt die Zunahme der Achsensteuerroutine aufgrund des Einsatzes von mehrachsigen Maschinenwerkzeugen und reichen nicht als Maßnahmen als Reaktion auf Anforderungen in den letzten Jahren aus, und die Verarbeitung kann weiterhin durch Einsatz einer CPU mit einer höheren Betriebsfrequenz schneller gemacht werden, es entstehen jedoch Probleme einer Wärmeerzeugung und eines erhöhten Stromverbrauchs, die die CPU als einen Prozessor, der zum Steuern eines Maschinenwerkzeugs verwendet wird, das in einer ungünstigen Umgebung, wie einem Fertigungswerk, verwendet wird, ungeeignet macht.
-
Im Fall einer in
JP 2014-35564 A beschriebenen numerischen Steuereinheit, die einen Mehrkernprozessor aufweist, andererseits werden die Wärmeerzeugung und der Stromverbrauch auf ein niedriges Niveau gesenkt, während die Kosten gesenkt werden, die Zunahme der Achsensteuerroutine aufgrund des Einsatzes von mehrachsigen Maschinenwerkzeugen wird jedoch nicht direkt gesteuert und die Technologie ist daher wie die in
JP 63-181005 A und
JP 1-195507 A beschriebenen Technologien nicht als Maßnahme als Reaktion auf Anforderungen in den letzten Jahren ausreichend.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Ein Gegenstand der vorliegenden Erfindung besteht darin, eine numerische Steuereinheit bereitzustellen, die einen Mehrkernprozessor verwendet, der die Wärmeerzeugung und den Stromverbrauch auf ein niedriges Niveau mit einer verhältnismäßig niedrigen Betriebsfrequenz senkt und zu niedrigeren Kosten vorliegt als eine Multi-CPU-Konfiguration und Mittel zum Aufteilen einer Achsensteuerroutine in Gruppen einer beliebigen Anzahl von Achsen beinhaltet und bewirkt, dass mehrere Kerne des Mehrkernprozessors die Verarbeitung auf verteilte Weise durchführen.
-
Eine numerische Steuereinheit gemäß der vorliegenden Erfindung beinhaltet einen Mehrkernprozessor mit mehreren Kerne, steuert eine Maschine, die mehrere Achsen beinhaltet, und ist dazu eingerichtet, eine Achsensteuerroutine, die durch eine Routine für einzelne Achsen, die für jede der mehreren Achsen verarbeitet wird, und eine allgemeine Routine, die allgemein unter den Achsen verarbeitet wird, konfiguriert ist, innerhalb einer Zeit einer spezifizierten Periode abzuschließen. Die numerische Steuereinheit beinhaltet weiterhin Folgendes: eine Ausführungsstartanforderungseinheit, die von jedem der mehreren Kerne anfordert, mehrere Elemente einer gruppierten Achsensteuerroutine, die durch Aufteilen der Achsensteuerroutine der mehreren Achsen durch eine Einheit einer beliebigen Anzahl der Achsen erhalten wird, durchzuführen; eine Einheit zur Ausführung einer gruppierten Achsensteuerroutine, die in jedem der mehreren Kerne eingerichtet ist, um die gruppierte Achsensteuerroutine als Reaktion auf eine Anforderung von der Ausführungsstartanforderungseinheit durchzuführen; und eine Ausführungsabschlussüberwachungseinheit, die einen Abschlusszustand der mehreren Elemente einer gruppierten Achsensteuerroutine durch die Einheit zur Ausführung einer gruppierten Achsensteuerroutine überwacht.
-
Die numerische Steuereinheit kann dazu konfiguriert sein, einen Inter-Core-Interrupt (Interrupt zwischen Kernen) zu verwenden, wenn die Ausführungsstartanforderungseinheit eine Anforderung stellt, um zu bewirken, dass jeder der mehreren Kerne die mehreren Elemente einer gruppierten Achsensteuerroutine auf verteilte Weise durchführt.
-
Die Einheit zur Ausführung einer gruppierten Achsensteuerroutine kann dazu konfiguriert sein, den Abschlusszustand der gruppierten Achsensteuerroutine in einen von den Kernen gemeinsam genutzten Speicher zu schreiben, und die Ausführungsabschlussüberwachungseinheit kann dazu konfiguriert sein, den von den Kernen gemeinsam genutzten Speicher zu überwachen.
-
Gemäß der vorliegenden Erfindung kann durch Einbinden der obigen Konfiguration eine Achsensteuerroutine mit hohen Echtzeit-Eigenschaften in einer kurzen Zeit durch Verwendung eines Mehrkernprozessors durchgeführt werden, wenn ein Maschinenwerkzeug mit einer hohen Anzahl von Steuerachsen gesteuert wird, und des Weiteren kann reichlich Zuteilungszeit zum Verarbeiten von niederen Echtzeit-Eigenschaften, wie eine automatische Betriebsroutine und eine MMS-Routine, gesichert werden. Somit kann die Gesamtleistung der numerischen Steuereinheit zu verhältnismäßig niedrigen Kosten verbessert werden, während die Wärmeerzeugung und der Stromverbrauch auf ein niedriges Niveau gesenkt werden, und folglich können Maschinenwerkzeuge mit mehreren Achsen oder mehreren Wegen eingesetzt und außerdem Anforderungen einer höheren Leistung erfüllt werden.
-
Selbst wenn die Anzahl von Steuerachsen in der Zukunft ansteigt, kann des Weiteren der Anstieg der Anzahl von Steuerachsen einfach durch Verteilen einer Achsensteuerroutine für angestiegene Achsen unter Verwendung eines Mehrkernprozessors mit mehreren Kernen bewältigt werden.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die oben beschriebenen und die Gegenstände und die Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung der Ausführungsform durch Bezugnahme auf die begleitenden Zeichnungen offensichtlich werden.
-
1 ist ein Blockdiagramm, das Haupteinheiten einer Ausführungsform einer numerischen Steuereinheit gemäß der vorliegenden Erfindung darstellt;
-
2 ist ein Diagramm, das eine Übersicht über eine Verarbeitung zeigt, die pro spezifizierter Periode während eines normalen Betriebs und während einer erhöhten Achsensteuerroutine von einer herkömmlichen numerischen Steuereinheit durchgeführt wird, die durch eine CPU ohne Verwendung eines Mehrkernprozessors umgesetzt wird;
-
3 ist ein Diagramm, das ein Beispiel der Verarbeitung zeigt, die pro spezifizierter Periode während einer erhöhten Achsensteuerroutine durchgeführt wird, die in 2 gezeigt ist, in der die Achsensteuerroutine durch vier Elemente einer „allgemeinen Routine” und drei Elemente einer „Routine für einzelne Achsen” konfiguriert ist;
-
4 ist ein Diagramm, das ein Beispiel eines Verteilungsbeispiels der Achsensteuerroutine unter Verwendung des Mehrkernprozessors mit vier Kernen für eine „Routine für einzelne Achsen <1>”, die in 3 gezeigt ist, zeigt;
-
5 ist ein Ablaufdiagramm, das den Ablauf einer Ausführungsstartanforderungsroutine zeigt, die von einem beliebigen der Kerne des Mehrkernprozessors in der numerischen Steuereinheit in 1 durchgeführt wird;
-
6 ist ein Ablaufdiagramm, das den Ablauf einer gruppierten Achsensteuerroutine zeigt, die einem eigenen Kern zugeteilt ist und die von einem beliebigen der Kerne des Mehrkernprozessors in der numerischen Steuereinheit in 1 durchgeführt wird; und
-
7 ist ein Ablaufdiagramm, das den Ablauf einer Ausführungsabschlussüberwachungsroutine zum Warten auf den Abschluss der gruppierten Achsensteuerroutine zeigt, die von einem beliebigen der Kerne des Mehrkernprozessors in der numerischen Steuereinheit in 1 durchgeführt wird.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist ein Blockdiagramm, das Haupteinheiten einer Ausführungsform einer numerischen Steuereinheit gemäß der vorliegenden Erfindung darstellt.
-
Eine numerische Steuereinheit 10 beinhaltet einen Mehrkernprozessor 30, eine integrierte Peripheriesteuerungs-LSI 11, eine Motorsteuerung 13, die einen Motorsteuereinheitsprozessor 14 und eine Peripheriesteuerungs-LSI 15 davon beinhaltet, und eine Verstärkerschnittstelleneinheit 16, die die Kommunikation mit einem Motorantriebsverstärker 20 durchführt, und diese Elemente sind jeweils durch einen internen Bus 22 verbunden.
-
Der Mehrkernprozessor 30 beinhaltet vier Kerne, einen ersten Kern 31 bis einen vierten Kern 34, einen Inter-Core-Interrupt-Generator 35, der von Interrupts insbesondere Interrupts zwischen CPU-Kernen erzeugt, und eine Interrupt-Steuereinheit 36, die einen Interrupt zum Kommunizieren von Zustandsänderungen von verschiedenen Geräten und dergleichen erzeugt, und diese Elemente sind durch einen internen Prozessorbus 37 verbunden. Der Mehrkernprozessor 30 beinhaltet weiterhin einen von den Kernen gemeinsam genutzten Speicher, der zur Kommunikation zwischen den Kernen verwendet wird, um Informationen unter den Kernen 31 bis 34 zu teilen. Ein DRAM 12 wird beispielsweise als der von den Kernen gemeinsam genutzte Speicher verwendet.
-
Der Mehrkernprozessor 30 führt eine analytische Verarbeitung eines Bearbeitungsprogramms durch, um den Motorantriebsverstärker 20 zu steuern, der mit der numerischen Steuereinheit 10 verbunden ist, erzeugt einen Bewegungsbefehl durch Durchführen einer Bewegungsbefehlserzeugungsroutine auf der Basis eines Ergebnisses der analytischen Verarbeitung und sendet den erzeugten Bewegungsbefehl an einen RAM (nicht gezeigt) in der Peripheriesteuerungs-LSI 15 der Motorsteuereinheit 13 mittels der integrierten Peripheriesteuerungs-LSI 11 und des internen Busses 22.
-
Der Motorsteuereinheitsprozessor 14 der Motorsteuereinheit 13 liest den Bewegungsbefehl, der in den internen RAM geschrieben wurde, um Motorsteuerdaten zu erzeugen, die an den Motorantriebsverstärker 20 gesendet werden. Dann sendet der Motorsteuereinheitsprozessor 14 die erzeugten Motorsteuerdaten an eine Kommunikationssteuerungs-LSI 17 der Verstärkerschnittstelleneinheit 16 mittels des internen Busses 22.
-
Die Kommunikationssteuerungs-LSI 17 der Verstärkerschnittstelleneinheit 16 sendet Daten, die in einen internen RAM davon geschrieben wurden, an den Motorantriebsverstärker 20. Dann treibt der Motorantriebsverstärker 20 Motoren 21, an, die mehreren Achsen entsprechen, die in einem Maschinenwerkzeug (nicht gezeigt) enthalten sind, um das Maschinenwerkzeug (nicht gezeigt) zu steuern.
-
Der Mehrkernprozessor 30 führt außerdem eine programmierbare Maschinensteuerroutine (PMS-Routine) durch, die ein vorherbestimmtes Sequenzsteuerprogramm auf der Basis von eingegebenen Daten von dem Maschinenwerkzeug (nicht gezeigt) ausführt, das mit der numerischen Steuereinheit 10 oder dergleichen verbunden ist. Dann sendet der Mehrkernprozessor 30 ein Signal, um jedes Maschinenelement zu steuern, an eine E/A-Einheit 18 auf der Maschinenseite auf der Basis der PMS-Routine.
-
Eine Anzeige/MDI-Einheit 19 ist eine manuelle Dateneingabevorrichtung, die eine Anzeige, eine Tastatur und dergleichen beinhaltet. Die integrierte Peripheriesteuerungs-LSI 11 empfängt einen Befehl oder Daten von der Tastatur und liefert den Befehl bzw. die Daten an den Mehrkernprozessor 30 und gibt außerdem einen Anzeigebefehl, der von einer Anzeigeverarbeitung ausgegeben wurde, die von dem Mehrkernprozessor 30 durchgeführt wird, an eine Anzeige der Anzeige/MDI-Einheit 19 aus.
-
2 ist ein Diagramm, das eine Übersicht über eine Verarbeitung zeigt, die pro spezifizierter Periode während eines normalen Betriebs und während einer erhöhten Achsensteuerroutine von einer herkömmlichen numerischen Steuereinheit durchgeführt wird, die durch eine CPU ohne Verwendung eines Mehrkernprozessors umgesetzt wird.
-
Eine in 2 gezeigte „Achsensteuerroutine” ist eine Verarbeitung von hohen Echtzeit-Eigenschaften, wie verschiedenen Arten von Interpolationsroutinen und Verteilungsimpulserzeugungsroutinen, für jede Steuerachse, und eine Verarbeitung für die Anzahl von Achsen, die gesteuert werden sollen, muss unbedingt innerhalb der spezifizierten Periode abgeschlossen werden.
-
Andererseits ist eine „automatische Betriebsroutine” eine Verarbeitung zum Analysieren eines Bearbeitungsprogramms, das von dem Benutzer erstellt wurde, um ein Werkstück durch Antreiben eines Maschinenwerkzeugs maschinell zu bearbeiten, um einen Befehl zu erteilen und Vorbereitungsdaten zur Interpolation zu erzeugen. Eine „MMS-Routine” ist eine Verarbeitung zum Erstellen einer Bildschirmanzeige oder zum Durchführen eines Betriebs gemäß einem Arbeitsvorgang. Bei der „automatischen Betriebsroutine” und der „MMS-Routine” handelt es sich um eine Verarbeitung niederer Echtzeit-Eigenschaften, die nicht unbedingt innerhalb der spezifizierten Periode abgeschlossen werden müssen, und eine Verarbeitung, die verbleibt, ohne abgeschlossen zu werden, wird in der nächsten Periode weiter durchgeführt.
-
In einer numerischen Steuereinheit, die Maschinenwerkzeuge mit einer kleineren Anzahl von Steuerachsen steuert, beispielsweise ein Maschinenwerkzeug, das durch drei Grundachsen der X-Achse, der Y-Achse und der Z-Achse konfiguriert ist, wie auf der linken Seite (während eines normalen Betriebs) von 2 gezeigt, ist das Verhältnis der Achsensteuerroutine innerhalb der spezifizierten Periode verhältnismäßig klein, und somit kann reichlich Zeit der automatischen Betriebsroutine und der MMS-Routine zugeteilt werden.
-
Andererseits stehen auch mehrachsige Maschinenwerkzeuge mit mehreren Drehachsen zum Steuern der Stellung eines Tischs oder eines Werkzeugs und mehrachsige Maschinenwerkzeuge mit den oben erwähnten drei Achsen und mehreren Drehachsen zur gleichzeitigen Verarbeitung durch Platzieren mehrerer Werkstücke zur Verfügung. In einer numerischen Steuereinheit, die derartige Maschinenwerkzeuge mit einer hohen Anzahl von Steuerachsen steuert, wie auf der rechten Seite („während einer erhöhten Achsensteuerroutine”) von 2 gezeigt, ist das Verhältnis der Achsensteuerroutine innerhalb der spezifizierten Periode verhältnismäßig groß, und es ist schwierig, reichlich Zeit der automatischen Betriebsroutine oder der MMS-Routine zuzuteilen.
-
Wenn derartige Gegebenheiten auftreten, wenn beispielsweise ein Bearbeitungsprogramm wie ein Formbearbeitungsprogramm, in dem die Blocklänge kurz ist und die Verarbeitungsgeschwindigkeit hoch ist, betrieben wird, wird eine Analyse des Bearbeitungsprogramms oder eine Erzeugung von Vorbereitungsdaten zur Interpolation nicht rechtzeitig abgeschlossen und somit treten Nachteile, wie eine unregelmäßig bearbeitete Oberfläche, eine langsamere Aktualisierung der Bildschirmanzeige und eine langsamere Reaktion auf einen Arbeitsvorgang, auf.
-
Eine Achsensteuerroutine einer numerischen Steuereinheit beinhaltet eine „allgemeine Routine”, die allgemein ohne Abhängigkeit von jeder Steuerachse durchgeführt wird, und eine „Routine für einzelne Achsen”, die einzeln für jede Steuerachse durchgeführt wird.
-
3 ist ein Diagramm, das ein Beispiel der Verarbeitung zeigt, die pro spezifizierter Periode während einer erhöhten Achsensteuerroutine durchgeführt wird, die in 2 gezeigt ist, in der die Achsensteuerroutine durch vier Elemente einer „allgemeinen Routine” und drei Elemente einer „Routine für einzelne Achsen” konfiguriert ist. In der „Routine für einzelne Achsen” wird eine wiederholte Verarbeitung in einer Achsenschleife der Reihe nach von der ersten Achse zu der 16. Achse durchgeführt. Man beachte, dass „(N”) in 3 (und 4) die N-te Achse darstellt (N = 1, 2, ..., 16).
-
4 ist ein Diagramm, das ein Verteilungsbeispiel der Achsensteuerroutine unter Verwendung des Mehrkernprozessors mit vier Kernen für eine „Routine für einzelne Achsen <1>”, die in 3 gezeigt ist, zeigt.
-
In dem Verteilungsbeispiel der Achsensteuerroutine in 4 werden eine „allgemeine Routine <1>” und eine „allgemeine Routine <2>” von dem ersten Kern durchgeführt und die Routine für einzelne Achsen <1> für 16 Achsen, die in der Zwischenzeit durchgeführt werden soll, wird von vier Kernen auf verteilte Weise durchgeführt; eine gruppierte Achsensteuerroutine <1> für vier Achsen der ersten Achse bis zu der vierten Achse wird von dem ersten Kern, eine gruppierte Achsensteuerroutine <2> für vier Achsen der fünften Achse bis zu der achten Achse wird von dem zweiten Kern, eine gruppierte Achsensteuerroutine <3> für vier Achsen der neunten Achse bis zu der zwölften Achse wird von dem dritten Kern und eine gruppierte Achsensteuerroutine <4> für vier Achsen der dreizehnten Achse bis zu der sechzehnten Achse wird von dem vierten Kern durchgeführt.
-
Im ersten Kern wird, nachdem die „allgemeine Routine <1>” durchgeführt wurde, eine Verarbeitung durch eine Ausführungsstartanforderungseinheit durchgeführt. Abschlussinformationen, die auf den Abschluss einer gruppierten Achsensteuerroutine, die in vier Gruppen aufgeteilt ist, hinweisen, werden in einem von den Kernen gemeinsam genutzten Speicher 40 für vier Gruppen, was der Aufteilungszahl entspricht, eingerichtet. In dieser Verarbeitung werden diese vier Elemente der Abschlussinformationen zunächst initialisiert. Anschließend wird für den zweiten, den dritten und den vierten Kern ein Inter-Core-Interrupt mittels des Inter-Core-Interrupt-Generators 35 bewirkt und der Verarbeitungsstart durch die Einheiten zur Ausführung einer gruppierten Achsensteuerroutine <2>, <3>, <4>, die jedem dieser Kerne zugeteilt sind, wird angefordert. Dann wird eine Verarbeitung durch eine Einheit zur Ausführung einer gruppierten Achsensteuerroutine <1>, die dem ersten Kern zugeteilt ist, gestartet.
-
In dem zweiten, dem dritten und dem vierten Kern wird mit der Erzeugung des obigen Inter-Core-Interrupts eine Verarbeitung durch die Einheiten zur Ausführung einer gruppierten Achsensteuerroutine <2>, <3>, <4>, die mit dem Interrupt assoziiert sind, aktiviert und für jeden Kern durchgeführt.
-
In der Verarbeitung durch die Einheiten zur Ausführung einer gruppierten Achsensteuerroutine <1>, <2>, <3>, <4> wird die gruppierte Achsensteuerroutine <1>, <2>, <3>, <4>, die jedem Kern zugeteilt ist, wiederholt so viele Male wie die Anzahl von zugeteilten Achsen (in der vorliegenden Ausführungsform vier Achsen für alle Kerne) durchgeführt. Wenn die Verarbeitung für die Anzahl von Achsen, die jedem Kern zugeteilt sind, vollständig abgeschlossen ist, werden die Abschlussinformationen, die in dem von den Kernen gemeinsam genutzten Speicher eingerichtet sind, über den Abschluss der gruppierten Achsensteuerroutine, die den relevanten Kernen zugeteilt ist, durch die Einheiten zur Ausführung einer gruppierten Achsensteuerroutine <1>, <2>, <3>, <4> informiert.
-
Wenn andererseits die gruppierte Achsensteuerroutine <1> in dem ersten Kern abgeschlossen ist und die Abschlussinformationen benachrichtigt werden, wird eine Verarbeitung durch eine Ausführungsabschlussüberwachungseinheit durchgeführt. Hier wird die vorliegende Verarbeitung durch Bestätigen der Abschlussinformationen der gruppierten Achsensteuerroutine für alle vier Kerne abgeschlossen, die angeben, dass alle Kerne sich in einem Abschlusszustand befinden; dann fährt die Verarbeitung mit der Ausführung durch eine allgemeine Routineeinheit <2> fort.
-
5 ist ein Ablaufdiagramm, das den Ablauf einer Ausführungsstartanforderungsroutine zeigt, die von der Ausführungsstartanforderungseinheit durchgeführt wird. Die Ausführungsstartanforderungsroutine wird in einem der Kerne (im Fall der vorliegenden Ausführungsform in dem ersten Kern) des Mehrkernprozessors durchgeführt, um die gruppierte Achsensteuerroutine jedem Kern zuzuteilen und eine Startanforderung der gruppierten Achsensteuerroutine zu erstellen.
-
[Schritt SA01] Alle Abschlussinformationen, die in dem von den Kernen gemeinsam genutzten Speicher eingerichtet sind, werden initialisiert.
-
[Schritt SA02] „2” wird einer Variablen n (Zählwert der Aufteilungszahl der gruppierten Achsensteuerroutine) zugeteilt.
-
[Schritt SA03] Ein Inter-Core-Interrupt wird mittels des Inter-Core-Interrupt-Generators 35 an den Kern erteilt, der die n-te gruppierte Achsensteuerroutine durchführt.
-
[Schritt SA04] Der Wert der Variablen n wird um 1 erhöht.
-
[Schritt SA05] Es wird bestimmt, ob der Wert der Variablen n höher als die Aufteilungszahl der gruppierten Achsensteuerroutine ist oder nicht. Wenn die Variable n höher als die Aufteilungszahl der gruppierten Achsensteuerroutine ist, fährt der Vorgang mit Schritt SA06 fort; wenn die Variable n jedoch nicht höher als die Aufteilungszahl ist, kehrt der Vorgang zu Schritt SA03 zurück.
-
[Schritt SA06] Die erste gruppierte Achsensteuerroutine wird von der Einheit zur Ausführung einer gruppierten Achsensteuerroutine, die in dem eigenen Kern arbeitet, aktiviert.
-
6 ist ein Ablaufdiagramm, das die gruppierte Achsensteuerroutine zeigt, die von der Einheit zur Ausführung einer gruppierten Achsensteuerroutine durchgeführt wird. Die gruppierte Achsensteuerroutine wird in jedem Kern durchgeführt und die gruppierte Achsensteuerroutine, die dem eigenen Kern zugeteilt ist, wird sequenziell durchgeführt.
-
[Schritt SB01] „1” wird eine Variable m (Zählwert der Anzahl von Aufteilungsachsen) zugeteilt.
-
[Schritt SB02] Die m-te Achsenroutine wird in der gruppierten Achsensteuerroutine durchgeführt.
-
[Schritt SB03] Der Wert der Variablen m wird um 1 erhöht.
-
[Schritt SB04] Es wird bestimmt, ob der Wert der Variablen m höher als die Anzahl von Aufteilungsachsen, die dem eigenen Kern zugeteilt sind, ist oder nicht. Wenn die Variable m höher als die Anzahl von Aufteilungsachsen, die dem eigenen Kern zugeteilt sind, ist, fährt der Vorgang mit Schritt SB05 fort; wenn die Variable m jedoch nicht höher als die Anzahl von Aufteilungsachsen ist, kehrt der Vorgang zu Schritt SB02 zurück.
-
[Schritt SB05] Die Abschlussinformationen, die auf den Abschluss der gruppierten Achsensteuerroutine, die dem eigenen Kern zugeteilt ist, hinweisen, werden auf einen Abschlusszustand eingestellt.
-
7 ist ein Ablaufdiagramm, das den Ablauf einer Ausführungsabschlussüberwachungsroutine zeigt, die von der Ausführungsabschlussüberwachungseinheit durchgeführt wird. Die Ausführungsabschlussüberwachungsroutine wird von einem der Kerne (im Fall der vorliegenden Ausführungsform in dem ersten Kern) des Mehrkernprozessors durchgeführt, um auf den Abschluss der gruppierten Achsensteuerroutine, die jedem Kern zugeteilt ist, zu warten.
-
[Schritt SC01] „1” wird der Variable n (Zählwert der Aufteilungszahl der gruppierten Achsensteuerroutine) zugeteilt.
-
[Schritt SC02] Es wird bestimmt, ob die n-ten Abschlussinformationen sich in einem Abschlusszustand befinden oder nicht. Wenn die n-ten Abschlussinformationen sich in einem Abschlusszustand befinden, fährt der Vorgang mit Schritt SC03 fort; wenn die n-ten Abschlussinformationen sich jedoch nicht in einem Abschlusszustand befinden, wird die Verarbeitung in Schritt SC02 wiederholt.
-
[Schritt SC03] Der Wert der Variablen n wird um 1 erhöht.
-
[Schritt SC04] Es wird bestimmt, ob der Wert der Variablen n höher als die Aufteilungszahl der gruppierten Achsensteuerroutine ist oder nicht. Wenn die Variable n höher als die Aufteilungszahl der gruppierten Achsensteuerroutine ist, wird diese Verarbeitung beendet; wenn die Variable n jedoch nicht höher als die Aufteilungszahl ist, kehrt der Vorgang zu Schritt SC02 zurück.
-
Im Allgemeinen beinhalten Achsen, die Maschinenwerkzeuge steuern, Achsen mit verschiedenen Verwendungszwecken, wie eine Servoachse, die die Position und die Stellung eines Tischs, auf dem ein maschinell bearbeitetes Erzeugnis platziert wird, und von Werkzeugen steuert, und eine Spindelachse (Hauptachse), die das Wenden eines maschinell zu bearbeitenden Werkstücks und die Drehung von Werkzeugen steuert, und die Achsensteuerroutine in den Beispielen der obigen Ausführungsform kann auf die Achsensteuerung von Achsen mit derartigen verschiedenen Verwendungszwecken angewendet werden.
-
Im Vorstehenden wurden Ausführungsformen der vorliegenden Erfindung beschrieben, die vorliegende Erfindung ist jedoch nicht auf die Beispiele der obigen Ausführungsformen beschränkt und kann in anderen Formen verkörpert werden, indem angemessene Modifikationen vorgenommen werden.
-
Wenn beispielsweise eine unvollständige Ausführung eines Elements einer gruppierten Achsensteuerroutine oder mehr von der Ausführungsabschlussüberwachungseinheit erkannt wird, kann bewirkt werden, dass die Ausführungsabschlussüberwachungseinheit eine Nicht-Echtzeit-Routine auf einer niedrigeren Ebene für eine feststehende Zeit durchführt, bevor sie wieder zur Ausführungsabschlussüberwachung zurückkehrt. Darüber hinaus muss die Anzahl von Achsen, die in der gruppierten Achsensteuerroutine verarbeitet werden sollen, die jedem Kern zugeteilt ist, nicht unbedingt feststehend sein und die Anzahl von Achsen, die jedem Kern zugeteilt werden sollen, kann gemäß der Achsenkonfiguration oder Kernfähigkeiten einstellbar und veränderbar gemacht werden, beispielsweise das Zuteilen von drei Achsen zu dem ersten Kern und vier Achsen zu jedem des zweiten bis vierten Kerns für eine 15-Achsen-Konfiguration.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 63-181005 A [0004, 0007, 0008]
- JP 1-195507 A [0004, 0007, 0008]
- JP 2014-35564 A [0005, 0008]