-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung und im Besonderen eine numerische Steuervorrichtung, die unter Verwendung einer Mehrzahl Mikroprozessor-(CPU-)Kerne eine optimale Lastverteilung durchführt.
-
2. Beschreibung des zugehörigen Standes der Technik
-
Als herkömmlichen Stand der Technik, der eine numerische Steuervorrichtung mit einer Mehrzahl CPU-Kerne betrifft, offenbaren beispielsweise
JP 2014-211721 A und
JP 2014-035564 A ein Schema zum Ausführen eines Verfahrens, das eine numerische Steuerung betrifft, die durchgeführt wird, wenn eine Maschine durch einen CPU-Kern gesteuert wird, der sich von einem CPU-Kern unterscheidet, der ein PMC-Verfahren oder ein Robotersteuerverfahren durchführt.
-
Der Einfluss einer Lasterhöhung aufgrund des PMC-Verfahrens oder des Robotersteuerverfahrens bei Ausführung eines numerischen Steuerverfahrens kann unter Verwendung der Technologien, die in
JP 2014-211721 A und
JP 2014-035564 A offenbart sind, beseitigt werden.
-
Beispiele für das durch die numerische Steuervorrichtung durchgeführte numerische Steuerverfahren umfassen hauptsächlich ein Interpolationsverfahren, das immer zu einem bestimmten Zeitpunkt einen Bewegungsachsenbefehl ausführt, ein Programmbefehlsanalyseverfahren (Vorverarbeitung), das einen Programmbefehl analysiert, und andere numerische Steuerverfahren, wie etwa ein Hilfsfunktionsverfahren und ein Peripheriegerätsteuerverfahren. Unter diesen Verfahren wird das Programmbefehlsanalyseverfahren oder das Interpolationsverfahren als signifikantes Verfahren angesehen, das die Leistung der numerischen Steuervorrichtung stark beeinflusst. Bei den in
JP 2014-211721 A und
JP 2014-035564 A offenbarten Verfahren jedoch ist das numerische Steuerverfahren dafür konfiguriert, durch einen CPU-Kern ausgeführt zu werden. Dadurch werden die Lasten des Programmbefehlsanalyseverfahrens und des Interpolationsverfahrens auf denselben CPU-Kern konzentriert, wenn beispielsweise ein Bearbeitungsprogrammbefehl eines bei einer Gesenkbearbeitung verwendeten Minutensegments etc. verarbeitet wird. Daher besteht das Problem, dass die Leistung der numerischen Steuervorrichtung nicht ausreichend gesteigert werden kann.
-
Zusammenfassung der Erfindung
-
In diesem Zusammenhang besteht ein Ziel der Erfindung darin, eine numerische Steuervorrichtung bereitzustellen, die dazu fähig ist, die Leistung durch Verteilung von Lasten auf eine Mehrzahl CPU-Kerne in Bezug auf ein die numerische Steuerung betreffendes signifikantes Verfahren zu erhöhen.
-
Bei der Erfindung wird die Leistung einer numerischen Steuervorrichtung, in der eine Mehrkern-CPU installiert ist, durch Lastverteilung erhöht. Insbesondere werden ein Programmanalyseverfahren (Vorverarbeitung) und ein Interpolationsverfahren, die signifikant sind und große Verarbeitungslasten umfassen, in CPU-Kernen durchgeführt, die sich von einem CPU-Kern unterscheiden, der ein eine andere numerische Steuerung betreffendes Verfahren durchführt. Es werden CPU-Kerne ausgewählt, denen das Programmanalyseverfahren (Vorverarbeitung) und das Interpolationsverfahren in geeigneter Weise zugewiesen werden.
-
Darüber hinaus ist eine erfindungsgemäße numerische Steuervorrichtung eine numerische Steuervorrichtung zum Durchführen einer numerischen Steuerung einer Maschine basierend auf einem Programm, die einen Mehrkernprozessor mit einer Mehrzahl CPU-Kerne umfasst, wobei jedem einer Mehrzahl die numerische Steuerung betreffenden Verfahren vorab Wichtigkeit zugewiesen und eine Lastverteilung des Mehrkernprozessors durchgeführt wird, indem die jeweiligen Verfahren basierend auf der zugewiesenen Wichtigkeit der Mehrzahl CPU-Kerne zugewiesen werden.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass ein Verfahren mit hoher Wichtigkeit der Mehrzahl Verfahren einem spezifischen der CPU-Kerne zugewiesen wird.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass ein Programmbefehlsanalyseverfahren der Mehrzahl Verfahren einem spezifischen der CPU-Kerne zugewiesen wird.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass ein Interpolationsverfahren der Mehrzahl Verfahren einem spezifischen der CPU-Kerne zugewiesen wird.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass zumindest das Programmbefehlsanalyseverfahren und das Interpolationsverfahren der Mehrzahl Verfahren verschiedenen der CPU-Kerne zugewiesen werden.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass Programmbefehlsanalyseverfahren der Mehrzahl Verfahren an eine Mehrzahl spezifischer CPU-Kerne verteilt und diesen zugewiesen werden.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass beim Start der Verfahren Lasten der CPU-Kerne gemessen werden und das Verfahren mit hoher Wichtigkeit einem CPU-Kern mit geringer Last zugewiesen wird.
-
Die numerische Steuervorrichtung ist dadurch gekennzeichnet, dass eine Zuweisung der Verfahren an die CPU-Kerne durch Wiederholen eines Testbetriebs bei der Lastzuweisung optimiert wird.
-
Erfindungsgemäß können einem signifikanten Verfahren (Vorverarbeitung) maximale Ressourcen zugewiesen und die Leistung einer numerischen Steuervorrichtung gesteigert werden. Darüber hinaus können einem signifikanten Verfahren (Vorverarbeitung, Interpolationsverfahren, etc.) maximale Ressourcen zugewiesen und die Leistung einer numerischen Steuervorrichtung gesteigert werden.
-
Kurzbeschreibung der Zeichnungen
-
Das vorstehend beschriebene Ziel und Merkmal der Erfindung sowie andere Ziele und Merkmale gehen aus der nachstehenden Beschreibung von Beispielen unter Bezugnahme auf die beigefügten Zeichnungen hervor. In den Zeichnungen zeigt:
-
1 ein Blockdiagramm, das einen Hauptteil einer numerischen Steuervorrichtung gemäß einer Ausführungsform der Erfindung darstellt;
-
2A ein Diagramm, das eine Zuweisung eines Verfahrens an jeden Kern eines Mehrkernprozessors gemäß 1 vor dem Start einer Anwendung eines numerischen Steuerverfahrens darstellt;
-
2B ein Diagramm, das eine Zuweisung eines Verfahrens an jeden Kern des Mehrkernprozessors gemäß 1 vor dem Start der Anwendung des numerischen Steuerverfahrens darstellt;
-
3 ein Diagramm, das ein Beispiel (1) einer Verwaltungstabelle signifikanter Verfahren darstellt, die dazu verwendet wird, unter den numerischen Steuerverfahren ein signifikantes Verfahren zu ermitteln;
-
4 ein Diagramm, das ein Beispiel (2) der Verwaltungstabelle signifikanter Verfahren darstellt, die dazu verwendet wird, unter den numerischen Steuerverfahren ein signifikantes Verfahren zu ermitteln; und
-
5 ein Flussdiagramm eines Verfahrens zum Zuweisen eines in der numerischen Steuervorrichtung gemäß 1 durchgeführten numerischen Steuerverfahrens an einen Kern.
-
Genaue Beschreibung der bevorzugten Ausführungsformen
-
Nachstehend ist eine Ausführungsform der Erfindung in Verbindung mit den Zeichnungen beschrieben.
-
1 ist ein Blockdiagramm, das einen Hauptteil einer numerischen Steuervorrichtung mit einem Mehrkernprozessor gemäß einer Ausführungsform der Erfindung darstellt. Ein Mehrkernprozessor 10, der eine Mehrzahl CPU-Kerne umfasst, und eine integrierte periphere Steuer-LSI-(Large Scale Integrated)Schaltung 16 sind in einer numerischen Steuervorrichtung 1 installiert. Des Weiteren umfasst die numerische Steuervorrichtung 1 eine Motorsteuereinrichtung 17, die einen Motorsteuerprozessor 18 und eine periphere Steuer-LSI 19 aufweist, und eine Verstärkerschnittstelleneinheit 20, die mit einem Motorantriebsverstärker 4 kommuniziert. Die jeweiligen Einheiten sind durch einen internen Bus 22 miteinander verbunden. Der Mehrkernprozessor 10 weist beispielsweise vier Kerne 11 bis 14 auf. Darüber hinaus weist der Mehrkernprozessor 10 einen bei der Zwischenkernkommunikation verwendeten gemeinsam genutzten Speicher zum gemeinsamen Nutzen von Informationen zwischen den jeweiligen Kernen 11 bis 14 auf. Beispielsweise wird ein dynamischer Direktzugriffsspeicher (DRAM) 15 als gemeinsam genutzter Speicher verwendet.
-
Im Mehrkernprozessor 10 wird ein Bearbeitungsprogramm zum Steuern des mit der numerischen Steuervorrichtung 1 verbundenen Motorantriebsverstärkers 4 durch Durchführen eines Bearbeitungsprogrammanalyseverfahrens analysiert, ein Bewegungsbefehl durch Durchführen eines Bewegungsbefehlserstellungsverfahrens basierend auf einem Analyseergebnis erstellt und der Bewegungsbefehl über die integrierte periphere Steuer-LSI 16 und den internen Bus 22 an ein RAM (nicht gezeigt) in der peripheren Steuer-LSI 19 der Motorsteuereinrichtung 17 gesendet.
-
Im Motorsteuerprozessor 18 der Motorsteuereinrichtung 17 werden ein in ein RAM im Motorsteuerprozessor 18 geschriebener Bewegungsbefehl ausgelesen, an den Motorantriebsverstärker 4 zu sendende Motorsteuerdaten erstellt und die Daten über den internen Bus 22 in eine Kommunikationssteuer-LSI 21 der Verstärkerschnittstelleneinheit 20 geschrieben.
-
In der Kommunikationssteuer-LSI 21 der Verstärkerschnittstelleneinheit 20 werden die in ein RAM in der Kommunikationssteuer-LSI 21 geschriebenen Daten an den Motorantriebsverstärker 4 gesendet und der Motorantriebsverstärker 4 treibt einen in einer Werkzeugmaschine enthaltenen Motor (nicht gezeigt) an.
-
Darüber hinaus wird im Mehrkernprozessor 10 ein PMC-Verfahren zum Ausführen eines Programms zum Steuern einer vorgegebenen Sequenz basierend auf Eingangsdaten von einer mit der numerischen Steuereinrichtung 1 verbundenen Maschine (nicht gezeigt) etc. durchgeführt. Des Weiteren wird ein Signal zum Steuern jedes Maschinenbauteils der Maschine basierend auf einem PMC-Verfahrensergebnis an eine maschinenseitige I/O-(Ein-/Ausgangs-)Einheit 2 gesendet.
-
Eine Anzeige-/MDI-Einheit 3 ist eine manuelle Dateneingabeeinrichtung, die eine Anzeigeeinrichtung, eine Tastatur, etc. umfasst. Die integrierte periphere Steuer-LSI 16 empfängt einen Befehl und Daten von der Tastatur, führt den empfangenen Befehl und die empfangenen Daten dem Mehrkernprozessor 10 zu und gibt einen Anzeigebefehl, der von einem im Mehrkernprozessor 10 durchgeführten Anzeigeverfahren ausgegeben wird, an die Anzeigeeinrichtung aus.
-
2A und 2B sind Diagramme, die eine Zuweisung von Verfahren an CPU-Kerne in der numerischen Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform darstellen. In einem vorhergehenden Schritt, in dem ein numerisches Steuerverfahren zum Steuern der Maschine gestartet wird, während die numerische Steuervorrichtung 1 arbeitet, wird ein Betriebssystemverfahren (OS-Verfahren), das für einen grundlegenden Betrieb zum Steuern der gesamten numerischen Steuervorrichtung 1 verantwortlich ist, oder ein Ein-/Ausgangstreiberverfahren zum Steuern jedes mit der numerischen Steuervorrichtung 1 verbundenen Hardwareteils einem der jeweiligen Kerne 11 bis 14 zugewiesen und ausgeführt (bei dem Beispiel von 2A wird das OS-Verfahren dem ersten Kern 11 bzw. das Ein-/Ausgangstreiberverfahren dem zweiten Kern 14 zugewiesen). Ein großer Teil des OS-Verfahrens oder des Ein-/Ausgangstreiberverfahrens ist jedoch so ausgeführt, dass, nachdem es in einem spezifischen Kern ausgeführt worden ist, ein Kernwechsel minimiert wird.
-
Indessen umfassen Beispiele für ein beim Steuern der Maschine in der numerischen Steuervorrichtung 1 durchgeführtes Verfahren hauptsächlich ein Interpolationsverfahren, das immer zu einem bestimmten Zeitpunkt einen Bewegungsachsenbefehl ausführt, ein Programmbefehlsanalyseverfahren (Vorverarbeitung), das einen Programmbefehl analysiert, und andere numerische Steuerverfahren, wie etwa ein Hilfsfunktionsverfahren und ein Peripheriegerätsteuerverfahren. Unter diesen Verfahren ist das Programmbefehlsanalyseverfahren ein signifikantes Verfahren, das die Leistung der numerischen Steuervorrichtung 1 stark beeinflusst. Darüber hinaus ist das Interpolationsverfahren ein Verfahren, das zu jedem Mikrozeitpunkt eine Position auf einem Bewegungspfad berechnet, und ist somit ein Verfahren, das einen Kern stark belastet. Daher kann dieses Interpolationsverfahren als signifikantes Verfahren angesehen werden. In diesem Zusammenhang werden bei der Erfindung den signifikanten Verfahren (dem Programmbefehlsanalyseverfahren und dem Interpolationsverfahren) maximale Rechenressourcen zugewiesen, indem diese zwei Verfahren verschiedenen Kernen zugewiesen werden, wodurch es ermöglicht wird, die Leistung der numerischen Steuervorrichtung zu steigern.
-
Bei der numerischen Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform werden Kerne der Kerne 11 bis 14, denen das OS-Verfahren, das Ein-/Ausgangstreiberverfahren, etc. zugewiesen werden, unter Verwendung einer Funktion geprüft, die als Standard in einem Betriebssystem (OS) enthalten ist, wenn eine Anwendung, die das numerische Steuerverfahren ausführt, gestartet wird. Des Weiteren werden die bei der numerischen Steuerung signifikanten Verfahren (das Programmbefehlsanalyseverfahren und das Interpolationsverfahren) Kernen (Kernen mit geringer Last) zugewiesen, denen das OS-Verfahren oder das Ein-/Ausgangstreiberverfahren nicht zugewiesen ist. Darüber hinaus wird, wenn einem Kern ein signifikantes Verfahren zugewiesen wird, ein Lastausgleich versucht, indem ein neues signifikantes Verfahren keinem Kern zugewiesen wird, dem zuvor ein anderes signifikantes Verfahren zugewiesen worden ist (in 2B wird das Programmbefehlsanalyseverfahren dem zweiten Kern 12 und das Interpolationsverfahren dem dritten Kern 13 zugewiesen).
-
Ein Kern, dem ein signifikantes Verfahren zugewiesen wird, kann gemäß einem Zuweisungszustand eines aktuellen Verfahrens, wie vorstehend beschrieben, und gemäß einem Lastzustand jedes Kerns ausgewählt werden. Darüber hinaus kann ein Kern, dem das OS-Verfahren, das Ein-/Ausgangstreiberverfahren, etc. zugewiesen wird, vorab geprüft werden und ein festgelegtes signifikantes Verfahren einem anderen spezifischen Kern zugewiesen werden.
-
Nachdem einem Kern ein signifikantes Verfahren zugewiesen worden ist, kann ein Lastzustand jedes Kerns überwacht werden, wobei vor dem Start eines Hauptbetriebs automatisch ein Testbetrieb wiederholt wird, und eine Zuweisung eines Verfahrens, das einem Kern mit einer hohen Last zugewiesen wird, kann auf einen anderen Kern umgeändert werden, wodurch die Zuweisung jedes numerischen Steuerverfahrens optimiert wird.
-
Bezugnehmend beispielsweise darauf, ob jedes numerische Steuerverfahren ein signifikantes Verfahren ist, kann einem Programm jedes numerischen Steuerverfahrens vorab Wichtigkeit zugewiesen werden, wobei basierend auf der Wichtigkeit bestimmt werden kann, ob das Programm jedes numerischen Steuerverfahrens ein signifikantes Verfahren ist. Bei einem Beispiel für ein Verfahren, das in Betracht gezogen werden kann und in 3 dargestellt ist, ist eine Verwaltungstabelle signifikanter Verfahren 200, in der ein Kennname (ein Programmname, ein Bearbeitungsname, etc.) eines signifikanten numerischen Steuerverfahrens verzeichnet ist, in einem Speicher der numerischen Steuervorrichtung 1 bereitgestellt, wobei das numerische Steuerverfahren als Verfahren mit hoher Wichtigkeit bestimmt wird, wenn das numerische Steuerverfahren in der Verwaltungstabelle signifikanter Verfahren 200 verzeichnet ist, indem beim Starten des numerischen Steuerverfahrens auf die Verwaltungstabelle signifikanter Verfahren Bezug genommen wird, und das numerische Steuerverfahren einem Kern mit geringer Last zugewiesen wird, dem kein anderes Verfahren zugewiesen ist. Darüber hinaus kann, wie in 4 gezeigt, eine Verwaltungstabelle signifikanter Verfahren 200, in der einem Kennnamen (einem Programmnamen, einem Bearbeitungsnamen, etc.) eines signifikanten numerischen Steuerverfahrens Wichtigkeit zugeordnet ist, im Speicher der numerischen Steuervorrichtung 1 bereitgestellt werden, wobei beim Start des numerischen Steuerverfahrens die Wichtigkeit des numerischen Steuerverfahrens unter Bezugnahme auf die Verwaltungstabelle signifikanter Verfahren 200 bestimmt werden kann.
-
5 ist ein Flussdiagramm, das ein Verfahren darstellt, das beim Start einer Anwendung des numerischen Steuerverfahrens in der numerischen Steuervorrichtung 1 der vorliegenden Ausführungsform durchgeführt wird.
-
[Schritt SA01] Wenn die Anwendung des numerischen Steuerverfahrens ausgeführt wird, werden einen Ausführungszustand jedes in den jeweiligen Kernen 11 bis 14 des Mehrkernprozessors 10 ausgeführten Verfahrens betreffende Informationen unter Verwendung einer Standardfunktion des Betriebssystems (OS) erfasst. Die erfassten Informationen umfassen einen Namen eines in jedem Kern durchgeführten Verfahrens, einen Lastzustand jedes Kerns, etc.
-
[Schritt SA02] Es wird bestimmt, ob das durch die gestartete Anwendung ausgeführte numerische Steuerverfahren ein signifikantes Verfahren ist. Das Verfahren fährt mit Schritt SA03 fort, wenn das numerische Steuerverfahren ein signifikantes Verfahren ist, und mit Schritt SA04, wenn das numerische Steuerverfahren ein normales Verfahren ist.
-
[Schritt SA03] Unter den jeweiligen CPU-Kernen 11 bis 14 wird ein Kern, dem kein signifikantes numerisches Steuerverfahren zugewiesen ist, das dem OS-Verfahren, dem Ein-/Ausgangstreiberverfahren oder anderen numerischen Steuerverfahren entspricht, als Kern bestimmt, dem das zu diesem Zeitpunkt gestartete numerische Steuerverfahren zugewiesen wird.
-
[Schritt SA04] Unter den jeweiligen CPU-Kernen 11 bis 14 wird ein Kern, dem kein signifikantes numerisches Steuerverfahren zugewiesen ist, das einem der anderen numerischen Steuerverfahren entspricht, als Kern bestimmt, dem das zu diesem Zeitpunkt gestartete numerische Steuerverfahren zugewiesen wird.
-
[Schritt SA05] Das durch die gestartete Anwendung ausgeführte numerische Steuerverfahren wird dem in Schritt SA03 oder SA04 bestimmten Kern zugewiesen.
-
Die Ausführungsform der Erfindung ist vorstehend beschrieben. Die Erfindung ist jedoch nicht auf ein Beispiel der vorstehend beschriebenen Ausführungsform beschränkt und kann durch geeignetes Durchführen von Abwandlungen auf verschiedene Art und Weise umgesetzt werden.
-
Beispielsweise zeigt die vorstehend beschriebene Ausführungsform ein Beispiel, bei dem das Programmbefehlsanalyseverfahren als einzelnes Verfahren einem Kern zugewiesen wird. Wenn jedoch parallel betreibbare Verfahren im Programmbefehlsanalyseverfahren vorhanden sind (z. B. wenn ein internes Verfahren vorab zur parallelen Verarbeitung programmiert wurde, wie etwa ein Thread, oder wenn ein Objekt enthalten ist, das parallel mit einem einer Analysegegenmaßnahme entsprechenden Programmbefehl ausgeführt werden kann), können parallel betreibbare jeweilige Programmbefehlsanalyseverfahren an eine Mehrzahl Kerne verteilt und diesen zugewiesen werden. In diesem Fall wird ein Kern, dem kein OS-Verfahren, Ein-/Ausgangstreiberverfahren, etc. zugewiesen ist, als Kern ausgewählt, dem jedes der parallel betreibbaren Programmbefehlsanalyseverfahren zugewiesen wird. Des Weiteren wird das Verfahren nicht demselben Kern zugewiesen, dem das Interpolationsverfahren zugewiesen ist. Auf diese Weise kann die Leistung der numerischen Steuervorrichtung weiter gesteigert werden.
-
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 2014-211721 A [0002, 0003, 0004]
- JP 2014-035564 A [0002, 0003, 0004]