-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuereinrichtung und im Besonderen eine numerische Steuereinrichtung, die dazu fähig ist, eine optimale Ressourcen verwaltung durchzuführen.
-
Beschreibung des zugehörigen Standes der Technik
-
In den vergangenen Jahren gab es verschiedene Arten von Werkzeugmaschinen, wie etwa Drehmaschinen, Schleifmaschinen und Bearbeitungszentren, wobei diese Werkzeugmaschinen abhängig von Verwendung und Zweck auf ihren jeweiligen Gebieten immer vielfältiger werden. Beispielsweise gibt es Maschinen, die auf eine Mehrachsensteuerung spezialisiert sind, und solche, die auf eine Präzisionsbearbeitung spezialisiert sind, welche auf einer Erhöhung einer vorhergesagten Anzahl und dergleichen basiert. Dies hat dazu geführt, dass der Markt die Entwicklung von Werkzeugmaschinen fordert, die auf spezifische Funktionen spezialisiert sind. Als Reaktion darauf haben die Maschinenhersteller begonnen, einzigartige charakteristische Ausführungen bereitzustellen.
-
Wenn eine herkömmliche Universal-Werkzeugmaschine einfach zusätzlich mit Software zum Ausführen dieser charakteristischen Funktionen ausgestattet wird, werden mehr Systemressourcen (typischerweise eine CPU-Nutzungsrate, Speichernutzung, etc.) benötigt als im herkömmlichen Fall. Eine Erhöhung der Obergrenze der Anzahl an Systemressourcen führt jedoch direkt zu einer Kostensteigerung.
-
In diesem Zusammenhang offenbart die offengelegte japanische Patentanmeldung
JP H09 - 034 529 A eine NC-Steuereinrichtung für Industriemaschinen, die mit einer Packaged Application (Anwendungspaket) ausgestattet ist, die eine Eingabesystemeinheit und eine Steuersystemeinheit umfasst. Die Eingabesystemeinheit wird für alle Industriemaschinen gemeinsam verwendet. Die Steuersystemeinheit umfasst eine Mehrzahl für jede Industriemaschine modularisierter Blöcke und dient dazu, vorgegebene Blöcke auszuwählen, die einer Zielindustriemaschine entsprechen, und verschiedene Aktoren der betreffenden Maschine zu steuern.
-
Somit offenbart die offengelegte japanische Patentanmeldung
JP H09 - 034 529 A die NC-Steuereinrichtung, die mit auf spezifische Funktionen spezialisierten Modulen ausgestattet ist. In der offengelegten japanischen Patentanmeldung
JP H09 - 034 529 A findet sich jedoch keine spezifische Beschreibung, wie eine Ressourcenverwaltung unter Verwendung dieser Module durchzuführen ist.
-
Tatsächlich weist eine Steuersoftware einer herkömmlichen numerischen Steuereinrichtung alle Funktionen einem einzelnen Speicherbelegungsplan zu (siehe 10). Abgesehen von Universalfunktionen sind tatsächlich verfügbare der zugewiesenen Funktionsmodule jedoch auf die Module beschränkt, die spezifischen Funktionen zugeordnet sind, welche basierend auf Optionen und Parametern durch einen Benutzer ausgewählt werden. Im Besonderen bestimmt die herkömmliche numerische Steuereinrichtung statisch Ressourcen für individuelle Funktionen, so dass selbst ungenutzte Funktionen in einem RAM resident sein können. Folglich entsteht dahingehend ein Problem, dass nicht benötigter Speicherbereich verbraucht oder die Belastung einer CPU erhöht wird.
-
Bei einer numerischen Steuereinrichtung einer Werkzeugmaschine hingegen, wie etwa bei einem Universalbetriebssystem, ist es technisch machbar, Module dynamisch anzufügen und zu entfernen oder eine Mehrzahl Teile einer einzelnen Anwendung gleichzeitig auszuführen. Wenn diese Konfiguration eingesetzt wird, entsteht jedoch dahingehend ein Problem, dass Ressourcen, mit denen die numerische Steuereinrichtung ausgerüstet ist, unweigerlich bis nahe an ihre Grenze genutzt werden, so dass sich die Ansprechempfindlichkeit verringert und der Betrieb der Anwendung im schlimmsten Fall zum Stillstand kommt. Das Auftreten solcher Probleme ist, anders als für Universal-Software, für Embedded (eingebettete) Software, wie etwa die der numerischen Steuereinrichtung, inakzeptabel.
-
Eine herkömmliche Speicherverwaltung ist in Wikipedia: Speicherverwaltung. Version vom 04. Januar 2017 beschrieben. Ein Arbeitsspeicher wird in Partitionen unterteilt, wobei jedes Programm in genau einer Partition ausgeführt wird. Außerdem sind unterschiedliche Speicherblöcke mit Schutzschlüsseln ausgestattet. Wenn ein Programm auf einen Speicherblock mit einem Schutzcode zugreifen will, der sich vom eigenen Programmstatuswort unterscheidet, wird ein Systemaufruf ausgelöst.
-
Ein herkömmliches Verfahren zur Automatisierung von Maschinen ist von WECK, M. ; BRECHER, Ch.: Werkzeugmaschinen. Bd. 4 Automatisierung von Maschinen und Anlagen. 6., neu bearb. Aufl.. Berlin [u. a.]: Springer, 2006. S. 86-87, 157-167 offenbart. In dem Verfahren besitzen die Tasks, die einer Echtzeitbearbeitung bedürfen, eine höhere Priorität als andere Tasks.
-
Angesichts dieses Dilemmas hat die herkömmliche numerische Steuereinrichtung die folgenden Probleme:
- - Da sie eine statische Ressourcenzuweisung durchführt, kann sie Ressourcen nicht benötigter Funktionen nicht effektiv dynamisch nutzen, so dass es ihr an Erweiterbarkeit mangelt, und eine in hohem Maße einzigartige Maschine nicht auf einfache Weise vorsehen.
- - Wenn zur Lösung dieses Problems Hardware verwendet wird, werden die nötigen Spezifikationen erweitert, so dass die Kosten steigen.
-
Bei einem Verfahren zum Lösen des vorstehenden Problems mittels Software kann hingegen dedizierte Software derart erzeugt werden, dass auf Funktionen mit niedriger Priorität bezogene Module reduziert werden. Gemäß diesem Verfahren sollten verschiedene Softwareteile jedoch individuell für Modelle entwickelt werden, so dass die Kosten für Entwicklung und Verwaltung steigen. Darüber hinaus wird die numerische Steuereinrichtung in ihren verfügbaren Funktionen eingeschränkt, so dass ihr Nutzen herabgesetzt wird.
-
Zusammenfassung der Erfindung
-
Die vorliegende Erfindung wurde gemacht, um diese Probleme zu lösen, und ihr Ziel besteht darin, eine numerische Steuereinrichtung bereitzustellen, die dazu fähig ist, eine optimale Ressourcenverwaltung durchzuführen. Eine numerische Steuereinrichtung gemäß der vorliegenden Erfindung ist im Anspruch 1 vorgesehen.
-
Eine numerische Steuereinrichtung gemäß der vorliegenden Erfindung weist einer Mehrzahl Funktionsmodule Ressourcen zu. Die numerische Steuereinrichtung umfasst eine Maschinenkonfigurationseingabeeinheit, die dazu eingerichtet ist, eine Maschinenkonfigurationstabelle zu erzeugen, in der die zu aktivierenden Funktionsmodule sowie eine ausgewählte Anzahl, eine Priorität und ein oberer Grenzwert der ausgewählten Anzahl jedes der Funktionsmodule basierend auf einer Option oder einem Parameter festgelegt werden, die/der durch einen Benutzer ausgewählt wird, eine Speicherverwaltungseinheit, die dazu eingerichtet ist, eine Speicherverwaltungstabelle zum Verwalten einer Speichernutzung zu erzeugen, eine Leistungsverwaltungseinheit, die dazu eingerichtet ist, eine Leistungsverwaltungstabelle zum Verwalten einer CPU-Nutzungsrate zu erzeugen, eine Modulauswahleinheit, die dazu eingerichtet ist, basierend auf der Maschinenkonfigurationstabelle, der Speicherverwaltungstabelle und der Leistungsverwaltungstabelle eine endgültige ausgewählte Anzahl der Funktionsmodule zu bestimmen und eine Modulauswahltabelle zu erzeugen, und ein Modul-Anfügungs-/Entfernungsteil, das dazu eingerichtet ist, die Funktionsmodule gemäß der endgültigen gewählten Anzahl der Funktionsmodule anzufügen und zu entfernen.
-
Die Speicherverwaltungseinheit kann die Speicherverwaltungstabelle zum Verwalten der Speichernutzung und einer freien Speichergröße erzeugen.
-
Die Leistungsverwaltungseinheit kann die Leistungsverwaltungstabelle zum Verwalten der CPU-Nutzungsrate und einer freien CPU-Nutzungsrate erzeugen.
-
Gemäß der vorliegenden Erfindung kann eine numerische Steuereinrichtung bereitgestellt werden, die dazu fähig ist, eine optimale Ressourcenverwaltung durchzuführen.
-
Kurzbeschreibung der Zeichnungen
-
- 1 ist ein Blockdiagramm, das die Konfiguration einer numerischen Steuereinrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
- 2 ist eine Darstellung, die ein Beispiel einer Maschinenkonfigurationstabelle zeigt;
- 3 ist eine Darstellung, die ein Beispiel einer Speicherverwaltungstabelle zeigt;
- 4 ist eine Darstellung, die ein Beispiel einer Leistungsverwaltungstabelle zeigt;
- 5 ist ein Flussdiagramm, das eine durch eine Modulauswahleinheit durchgeführte Verarbeitung zeigt;
- 6 ist eine Darstellung, die ein Beispiel einer Modulauswahltabelle zeigt;
- 7 ist eine Darstellung, die ein Beispiel der Modulauswahltabelle zeigt;
- 8 ist eine Darstellung, die einen Zustand zeigt, in dem durch die in 1 gezeigte numerische Steuereinrichtung Funktionsmodulen Ressourcen zugewiesen werden;
- 9 ist eine Vergleichsdarstellung, die die Ergebnisse einer Ressourcenzuweisung bei einer herkömmlichen numerischen Steuereinrichtung und der numerischen Steuereinrichtung von 1 zeigt; und
- 10 ist eine Darstellung, die zeigt, wie durch Steuersoftware der herkömmlichen numerischen Steuereinrichtung alle Funktionen einem einzelnen Speicherbelegungsplan zugewiesen werden.
-
Genaue Beschreibung der bevorzugten Ausführungsformen
-
Zunächst wird die Konfiguration einer numerischen Steuereinrichtung 100 gemäß einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf das Blockdiagramm von 1 beschrieben.
-
Die numerische Steuereinrichtung 100 umfasst eine Speicherverwaltungseinheit 110, eine Leistungsverwaltungseinheit 120, eine Maschinenkonfigurationseingabeeinheit 130, eine Modulauswahleinheit 140 und ein Modul-Anfügungs-/Entfernungsteil 150.
-
Die Maschinenkonfigurationseingabeeinheit 130 erfasst Informationen über durch einen Benutzer ausgewählte Optionen und Parameter. Die numerische Steuereinrichtung 100 umfasst typischerweise eine Schnittstelle zum Auffordern des Benutzers, eine Auswahl einer Option zum Aktivieren oder Deaktivieren einer spezifischen Funktion, eine Einstellung eines Parameters, der die Leistung der aktivierten Funktion beeinflusst, und dergleichen durchzuführen. Im Besonderen wird der Umfang einer Ressourcennutzung durch die Option und die Obergrenze der tatsächlichen Nutzung einer Ressource innerhalb des Nutzungsbereichs durch den Parameter bestimmt. Ein spezifisches Beispiel des Parameters legt die Anzahl an Blöcken fest, die durch ein Vorabrufmodul eines Bearbeitungsprogramms vorabgerufen werden können. Bei einer Bearbeitung auf einer aus kurzen durchgehenden Liniensegmenten gebildeten Bearbeitungsbahn wird die Leistung durch Durchführen eines Mehrblockvorgriffs verbessert.
-
Die Maschinenkonfigurationseingabeeinheit 130 erzeugt basierend auf den Informationen über durch den Benutzer ausgewählte Optionen und Parameter eine Maschinenkonfigurationstabelle 131. Wie in 2 gezeigt, ist die Maschinenkonfigurationstabelle 131 eine Tabelle, die Funktionsmodule, die zum Ausführen von durch den Benutzer ausgewählten (oder aktivierten) Funktionen benötigt werden, sowie ausgewählte Anzahlen, Erweiterungsprioritäten und obere Grenzwerte ausgewählter Anzahlen der Funktionsmodule definiert. Es folgt eine Beschreibung des Bedeutungsgehalts dieser Positionen.
-
Ausgewählte Anzahlen: Werte, die die Bezeichnungen der Funktionsmodule, denen Ressourcen zugewiesen werden sollen, und die Anzahl ihrer Exemplare angeben. In der Maschinenkonfigurationseingabeeinheit 130 wird vorab die Entsprechung von durch die Optionen und Parameter angegebenen Spezifikationen und der Funktionsmodule, welche benötigt werden, um die Spezifikationen zu erfüllen, sowie deren ausgewählte minimale Anzahl gespeichert. Die Maschinenkonfigurationseingabeeinheit 130 identifiziert die benötigten Funktionsmodule und deren ausgewählte minimale Anzahl gemäß den durch den Benutzer ausgewählten Optionen und Parametern und legt diese als Anfangswerte in der Maschinenkonfigurationstabelle 131 fest.
-
Obere Grenzwerte ausgewählter Anzahlen: Werte, die die Maximalwerte angeben, auf die die ausgewählten Anzahlen der Funktionsmodule erweitert werden können. In die Maschinenkonfigurationseingabeeinheit 130 werden vorab die oberen Grenzwerte der Anzahlen systematisch auswählbarer Module für die einzelnen Funktionsmodule gespeichert. Die systematischen oberen Grenzwerte können so ausgeführt werden, dass sie durch die Benutzereinstellung verringert werden können.
-
Erweiterungsprioritäten: Werte, die die Prioritäten bei der Ressourcenzuweisung für die Funktionsmodule angeben. Diese Position ist eine benutzereinstellbare Position, so dass der Benutzer für eine durchzuführende Funktion eine höhere Priorität einstellen kann. Endgültige ausgewählte Anzahlen werden gemäß der eingestellten Erweiterungspriorität durch die später beschriebene Verarbeitung bestimmt.
-
Die Speicherverwaltungseinheit 110 erzeugt basierend auf der Maschinenkonfigurationstabelle 131 eine Speicherverwaltungstabelle 111. Die in
3 gezeigte Speicherverwaltungstabelle 111 ist eine Tabelle zum Verwalten von Speichergrößen, die bei einer durch die Maschinenkonfigurationstabelle 131 definierten Maschinenkonfiguration benötigt werden, und einer freien Speichergröße. In die Speicherverwaltungseinheit 110 wird vorab eine Speichernutzung FUN_Mx gespeichert, die bei jeder Auswahl eines Funktionsmoduls benötigt wird. Eine verfügbare Gesamtspeichergröße MAX_M wird durch eine Hardwarekonfiguration bestimmt. Von der verfügbaren Gesamtspeichergröße MAX_M kann außerdem eine Speichergröße RSV_M, die zu reservieren ist, ohne für die Ressourcenzuweisung verwendet zu werden, durch die Benutzereinstellung vorgegeben werden. Wenn dies erfolgt ist, kann für den Fall, in dem der Speicher allen in der Maschinenkonfigurationstabelle 131 festgelegten Funktionsmodulen zugewiesen wird, durch die folgende Gleichung eine freie Speichergröße REM_M definiert werden. Die freie Speichergröße REM_M ist eine Speichergröße, die bei der später beschriebenen Erweiterungsverarbeitung verwendet werden kann.
-
Die Leistungsverwaltungseinheit 120 erzeugt basierend auf der Maschinenkonfigurationstabelle 131 eine Leistungsverwaltungstabelle 121. Die in
4 gezeigte Leistungsverwaltungstabelle 121 ist eine Tabelle zum Verwalten von CPU-Nutzungsraten, die bei der durch die Maschinenkonfigurationstabelle 131 definierten Maschinenkonfiguration benötigt werden, und einer freien CPU-Nutzungsrate. In die Leistungsverwaltungseinheit 120 wird vorab eine CPU-Nutzungsrate FUN_Ux gespeichert, die bei jeder Auswahl eines Funktionsmoduls benötigt wird. Eine Obergrenze MAX_U der CPU-Nutzungsrate wird mit 100 % angenommen. Von der Obergrenze MAX_U der CPU-Nutzungsrate kann außerdem eine CPU-Nutzungsrate RSV_U, die zu reservieren ist, ohne für die Ressourcenzuweisung verwendet zu werden, durch die Benutzereinstellung vorgegeben werden. Ferner wird ein Koeffizient zum Einstellen der Abweichung der Verarbeitungsfähigkeit, die von den Spezifikationen einer CPU abhängig ist, durch K angegeben. Dieser Koeffizient K wird im Allgemeinen durch eine Kombination eines Funktionsmoduls und des Typs der CPU oder dergleichen sowie durch die Verarbeitungsfähigkeit der CPU bestimmt. Wenn dies erfolgt ist, kann für den Fall, in dem die CPU-Nutzungsrate allen in der Maschinenkonfigurationstabelle 131 festgelegten Funktionsmodulen zugewiesen wird, durch die folgende Gleichung eine freie Nutzungsrate REM_U definiert werden. Die freie CPU-Nutzungsrate REM_U ist eine CPU-Nutzungsrate, der bei der später beschriebenen Erweiterungsverarbeitung verwendet werden kann.
-
Die Modulauswahleinheit 140 führt basierend auf der Maschinenkonfigurationstabelle 131, Speicherverwaltungstabelle 111 und Leistungsverwaltungstabelle 121 eine Verarbeitung zum Bestimmen der endgültigen ausgewählten Anzahlen der Funktionsmodule durch. Die durch die Modulauswahleinheit 140 durchgeführte Verarbeitung ist unter Bezugnahme auf das Flussdiagramm von 5 beschrieben.
-
<Schritt (1)>
-
Schritt S1: Die Modulauswahleinheit 140 erfasst die Maschinenkonfigurationstabelle 131, Speicherverwaltungstabelle 111 und Leistungsverwaltungstabelle 121.
-
Schritt S2: Die Anfangswerte der Erweiterungsprioritäten werden gespeichert.
-
Schritt S3: Die Modulauswahleinheit 140 erfasst eine Funktionsmodulanzahl x, die die Bedingungen ‚Erweiterungspriorität > 0‘, ‚Speichernutzung < freie Speichergröße‘, ‚CPU-Nutzungsrate < freie CPU-Nutzungsrate‘ und ‚ausgewählte Anzahl < oberer Grenzwert ausgewählter Anzahl‘ erfüllt.
-
Schritt S4: Wenn die Funktionsmodulanzahl x, die die Bedingungen von Schritt S3 erfüllt, vorhanden ist, fährt die Verarbeitung mit Schritt S5 fort. Wenn diese Funktionsmodulanzahl x nicht vorhanden ist, endet diese Verarbeitung.
-
<Schritt (2)>
-
Schritt S5: Die Modulauswahleinheit 140 identifiziert eine Funktionsmodulanzahl y für die maximale Erweiterungspriorität.
-
Schritt S6: Die Modulauswahleinheit 140 erfasst eine Funktionsmodulanzahl z für den maximalen Anfangswert der Erweiterungspriorität aus der in Schritt S5 identifizierten Funktionsmodulanzahl y.
-
<Schritt (3)>
-
Schritt S7: Die Modulauswahleinheit 140 erhöht die ausgewählte Anzahl des Funktionsmoduls entsprechend der in Schritt S6 erfassten Funktionsmodulanzahl z um 1 und berechnet die freie Speichergröße und die freie CPU-Nutzungsrate neu. Dann verringert sie die Erweiterungspriorität des betreffenden Funktionsmoduls um 1.
-
<Schritt (4)>
-
Schritt S8: Die Modulauswahleinheit 140 bestimmt, ob die Erweiterungsprioritäten aller Funktionsmodule 0 betragen. Wenn die Erweiterungsprioritäten 0 betragen, fährt die Verarbeitung mit Schritt S9 fort. Wenn nicht, fährt die Verarbeitung mit Schritt S3 fort.
-
Schritt S9: Die Modulauswahleinheit 140 schreibt die Erweiterungsprioritäten aller Funktionsmodule auf die Anfangswerte um, woraufhin die Verarbeitung zu Schritt S3 zurückkehrt.
-
Die Modulauswahleinheit 140 bestimmt die endgültigen ausgewählten Anzahlen der Funktionsmodule durch eine Reihe von Verarbeitungen in den Schritten (1) bis (4) und lädt dann das Ergebnis der Bestimmung in eine Modulauswahltabelle 141. 6 zeigt ein Beispiel der Modulauswahltabelle 141.
-
Die Verarbeitungen in den Schritten (1) bis (4) lassen sich auch auf die folgende Weise ausdrücken. Die Schritte S1 bis S9 in der folgenden Beschreibung entsprechen jeweils den Schritten S1 bis S9 der Schritte (1) bis (4). Verschiedene Variablen sind wie folgt definiert:
- k = 1, 2, ..., n
- Funktionsmodulanzahl,
- M_k
- Funktionsmodul k,
- P_k
- Erweiterungspriorität von M_k,
- UM_k
- Speichernutzung von M_k,
- UC_k
- CPU-Nutzungsrate von M_k,
- EM
- Freie Speichergröße,
- EC
- Freie CPU-Nutzungsrate,
- N_k
- Ausgewählte Anzahl von M_k,
- L_k
- Oberer Grenzwert ausgewählter Anzahl von M_k,
- PORG_k
- Anfangswert von P_k,
- Φ
- Leermenge.
-
<Schritt (1)>
-
Schritt S1: Die Modulauswahleinheit 140 erfasst die Maschinenkonfigurationstabelle 131, Speicherverwaltungstabelle 111 und Leistungsverwaltungstabelle 121.
-
Schritt S2: PORG_k: = P_k wird festgelegt.
-
Schritt S3: A = {a|a ist k, die P_k > 0, UM_k ≤ EM, UC_k ≤ EC und N_k < L_k erfüllt.} wird festgelegt.
-
Schritt S4: Wenn A = Φ festgelegt wird, endet diese Verarbeitung.
-
<Schritt (2)>
-
Schritt S5: B = {blb ist k, die b ∈ A erfüllt und eine maximale P_b bereitstellt.} wird festgelegt.
-
Schritt S6: Unter den Elementen einer Menge B ist die k, die PORG_k maximiert, m.
-
<Schritt (3)>
-
Schritt S7: N_m: = N_m + 1, EM: = EM - UM_m, EC: = EC - UC_m, P_m: = P_m - 1 werden festgelegt.
-
<Schritt (4)>
-
Schritt S8: D = {d|d ist k, die P_k >0 erfüllt} wird festgelegt.
-
Wenn D = Φ festgelegt wird, fährt die Verarbeitung mit Schritt S9 fort. Wenn nicht, fährt die Verarbeitung mit Schritt S3 fort.
-
Schritt S9: P_k: = PORG_k wird für jede k festgelegt.
-
Danach fährt die Verarbeitung mit Schritt S3 fort.
-
Im Besonderen erhöht die Modulauswahleinheit 140 die ausgewählte Anzahl der Funktionsmodule maximal gemäß dem Niveau (Wertgröße) der Erweiterungspriorität und dem Verhältnis der Priorität. Die Modulauswahleinheit 140 führt wiederholt Vorgänge durch, um das Funktionsmodul zu prüfen, das die maximale Priorität hat, addiert 1 zu der ausgewählten Anzahl, wenn das Funktionsmodul erweiterbar ist, und verringert die Priorität für das erweiterte Modul um 1. Wenn alle Erweiterungsprioritäten 0 betragen, werden sie auf die Anfangswerte zurückgesetzt und eine Reihe von Verarbeitungen wird erneut wiederholt. Die Modulauswahleinheit 140 schließt diese Verarbeitung ab, wenn kein Funktionsmodul vorhanden ist, das sich abhängig von der freien Speichergröße und der freien CPU-Nutzungsrate erweitern lässt.
-
< Beispiel 1 >
-
Beispiel 1 zeigt im Besonderen wie sich k, P_k, UM_k, UC_k, EM, EC, N_k, L_k und PORG_k individuell ändern, wenn die Modulauswahleinheit 140 die vorstehenden Verarbeitungen in den Schritten (1) bis (4) wiederholt durchführt. Die Elemente, die in den einzelnen Stufen geändert werden, sind in Klammern „[ ]“ dargestellt. In der folgenden Beschreibung geben die Elemente in „{ }“ Elemente in Spalten der Speicherverwaltungstabelle 111 und der Leistungsverwaltungstabelle 121 an, die in 3 bzw. 4 dargestellt sind. Beispielsweise geben k = {1, 2, 3, 4, 5, 6} und P_k = {2, 0, 0, 1, 0, 0} an, dass die Erweiterungsprioritäten der Funktionsmodule mit den Funktionsmodulanzahlen 1, 2, 3, 4, 5 und 6 jeweils 2, 0, 0, 1, 0 und 0 betragen.
-
<Anfangsstufe>
-
-
Bei einer ersten Verarbeitung in den Schritten (1) bis (4) ist das auf k = 1 basierende Funktionsmodul der Gegenstand der Verarbeitung in Schritt (3).
-
<Nach erster Verarbeitungsstufe>
-
-
Die jeweiligen Werte der Variablen werden, wie vorstehend beschrieben, durch die erste Verarbeitung in den Schritten (1) bis (4) geändert. Bei einer zweiten Verarbeitung in den Schritten (1) bis (4) ist das auf k = 1 basierende Funktionsmodul der Gegenstand der Verarbeitung in Schritt (3).
-
<Nach zweiter Verarbeitungsstufe>
-
-
Die jeweiligen Werte der Variablen werden, wie vorstehend beschrieben, durch die zweite Verarbeitung in den Schritten (1) bis (4) geändert. Bei einer dritten Verarbeitung in den Schritten (1) bis (4) ist das auf k = 4 basierende Funktionsmodul der Gegenstand der Verarbeitung in Schritt (3).
-
<Nach Schritt S7 von dritter Verarbeitungsstufe>
-
-
Die jeweiligen Werte der Variablen werden, wie vorstehend beschrieben, durch die dritte Verarbeitung in den Schritten (1) bis (4) geändert.
-
<Nach dritter Verarbeitungsstufe>
-
-
Da P_k durch die dritte Verarbeitung in Schritt (4) für jede k auf 0 reduziert wird, wird sie auf den Anfangswert zurückgesetzt.
-
<Nach Schritt S4 von vierter Verarbeitungsstufe>
-
-
Da durch die vierte Verarbeitung in Schritt (1) keine k verbleibt, die die Bedingungen erfüllt, endet diese Verarbeitung. 6 zeigt die Modulauswahltabelle 141, in die bei diesem Beispiel durch die Modulauswahleinheit 140 das Ergebnis der Bestimmung der endgültigen ausgewählten Anzahlen der Funktionsmodule geladen wird.
-
Das Modul-Anfügungs-/Entfernungsteil 150 fügt die Funktionsmodule gemäß der Modulauswahltabelle 141 an und entfernt sie. Im Besonderen werden in Bezug auf die in der Modulauswahltabelle 141 beschriebenen Funktionsmodule Exemplare einer Anzahl aktiviert, die ihrer ausgewählten Anzahl entspricht. In Bezug auf das nicht in der Modulauswahltabelle 141 beschriebene Funktionsmodul hingegen wird das Exemplar deaktiviert. Somit werden nur den Funktionsmodulen, die zum Ausführen der durch den Benutzer ausgewählten Optionen und Parameter benötigt werden, nötige Ressourcen zugewiesen, so dass die Ressourcen effektiv genutzt werden können.
-
< Beispiel 2>
-
Im Anschluss ist ein einfaches Betriebsbeispiel als Beispiel 2 angegeben, das zeigt, wie sich die ausgewählte Anzahl ändert, wenn die Modulauswahleinheit 140 die vorstehenden Verarbeitungen in den Schritten (1) bis (4) wiederholt durchführt. Der einfacheren Erläuterung halber werden die Ressourcennutzung und ein verfügbarer freier Ressourcenraum einfach als Nutzung bzw. freier Raum bezeichnet. Außerdem repräsentiert jede der Stufen einen Zyklus der vorstehenden Verarbeitungen. Die Elemente, die in den einzelnen Stufen geändert werden, sind in Klammern „[ ]“ dargestellt.
-
<Anfangsstufe>
-
Freier Raum 80
Modul A: Erweiterungspriorität 2, Nutzung 25, ausgewählte Anzahl 0,
Modul B: Erweiterungspriorität 1, Nutzung 15, ausgewählte Anzahl 0.
-
<Nach erster Verarbeitungsstufe>
-
Freier Raum [55]
Modul A: Erweiterungspriorität [1], Nutzung 25, ausgewählte Anzahl [1],
Modul B: Erweiterungspriorität 1, Nutzung 15, ausgewählte Anzahl 0.
-
<Nach zweiter Verarbeitungsstufe>
-
Freier Raum [30]
Modul A: Erweiterungspriorität [0], Nutzung 25, ausgewählte Anzahl [2],
Modul B: Erweiterungspriorität 1, Nutzung 15, ausgewählte Anzahl 0.
-
<Nach Schritt S7 von dritter Verarbeitungsstufe>
-
Freier Raum [15]
Modul A: Erweiterungspriorität 0, Nutzung 25, ausgewählte Anzahl 2,
Modul B: Erweiterungspriorität [0], Nutzung 15, ausgewählte Anzahl [1].
-
<Nach dritter Verarbeitungsstufe>
-
Freier Raum 15
Modul A: Erweiterungspriorität [2], Nutzung 25, ausgewählte Anzahl 2
Modul B: Erweiterungspriorität [1], Nutzung 15, ausgewählte Anzahl 1.
-
Da sämtliche der Erweiterungsprioritäten im letzten Schritt eines Erweiterungsalgorithmus zu 0 werden, werden sie durch die Anfangswerte ersetzt.
-
<Nach vierter Verarbeitungsstufe>
-
Freier Raum [0]
Modul A: Erweiterungspriorität 2, Nutzung 25, ausgewählte Anzahl 2,
Modul B: Erweiterungspriorität [0], Nutzung 10, ausgewählte Anzahl [2].
-
Da der freie Raum dann 0 wird, endet die Verarbeitung.
-
Anders als bei dem vorstehend Beispiel kann „Verhältnis von Erweiterungspriorität“ = „ausgewählte Anzahl“ manchmal nicht zwangsläufig von den Beziehungen zwischen dem freien Raum, der Erweiterungspriorität und Nutzung abhängig sein. Im Besonderen erweitert sich dieser Algorithmus, wenn ein freier Raum vorhanden ist, obwohl die Erweiterungspriorität niedrig ist.
-
Wenn eine Mehrzahl Funktionsmodule in einer Menge erweitert werden soll, kann die Modulauswahltabelle 141 in der in 7 gezeigten Weise erzeugt werden. Im Besonderen werden in Bezug auf die in einer Menge zu erweiternden Funktionsmodule deren Funktionsmodulanzahlen und Erweiterungsprioritäten integriert, das heißt, dieselbe Funktionsmodulanzahl und Erweiterungspriorität eingestellt werden. Außerdem wird der obere Grenzwert der ausgewählten Anzahl auf den niedrigeren dieser Werte vereinheitlicht. Des Weiteren werden die Speichernutzung und die CPU-Nutzungsrate auf die Summe der jeweiligen Speichernutzungen und CPU-Nutzungsraten der betreffenden Funktionsmodule geändert. 7 zeigt ein Beispiel der Modulauswahltabelle 141 für den Fall, in dem ein Vorverarbeitungsmodul und ein Vorabrufmodul in einer Menge erweitert werden. Diese Verarbeitung kann beispielsweise durchgeführt werden, wenn zwischen einer Mehrzahl Funktionsmodule Beziehungen bestehen und wenn der Erweiterungseffekt nicht erzielt werden kann, sofern sie nicht in einer Menge erweitert werden.
-
7 zeigt ein Beispiel der Modulauswahltabelle 141, in der ein Verarbeitungsmodul und ein Vorabrufmodul miteinander in Beziehung stehen. Wenn die Entsprechung zwischen den Modulen dagegen nicht eins zu eins ist, kann es manchmal nötig sein, beispielsweise zwei Module B mit einem Modul A zu kombinieren. In diesem Fall werden die Speichernutzung und die CPU-Nutzungsrate auf Werte geändert, die durch Aufaddieren derjenigen der Module A und B bei einem Verhältnis von eins zu zwei erhalten werden. Außerdem kann, wenn die ausgewählte Anzahl der Module B beispielsweise 1 beträgt, eine zusätzliche Verarbeitung derart durchgeführt werden, dass die Anzahl der Module um 2 erweitert wird.
-
8 zeigt einen Zustand, in dem durch die numerische Steuereinrichtung 100 gemäß der vorliegenden Ausführungsform den Funktionsmodulen die Ressourcen zugewiesen werden. Somit werden bei der vorliegenden Ausführungsform den durch den Benutzer ausgewählten Funktionsmodulen die Ressourcen basierend auf der Erweiterungspriorität zugewiesen. Im Gegensatz dazu werden den Funktionsmodulen, die nicht durch den Benutzer ausgewählt werden, keine Ressourcen zugewiesen.
-
9 ist eine Vergleichsdarstellung, die die Ergebnisse einer Ressourcenzuweisung bei einer herkömmlichen numerischen Steuereinrichtung und der numerischen Steuereinrichtung 100 gemäß der vorliegenden Ausführungsform zeigt. Die linke Darstellung von 9 zeigt das Ergebnis einer Ressourcenzuweisung bei der herkömmlichen numerischen Steuereinrichtung. Dieses Verfahren hat einen Vorteil in Sachen Vielseitigkeit, da in jedem Programm verschiedene Funktionsmodule enthalten sind und die Ressourcen allen Funktionsmodulen zugewiesen werden. Die Leistungsgrenze jedes einzelnen Funktionsmoduls ist jedoch niedrig. Die rechte und mittlere Darstellung von 9 zeigen die Ergebnisse einer Ressourcenzuweisung bei der numerischen Steuereinrichtung 100 gemäß der vorliegenden Ausführungsform. Bei diesem Verfahren werden, wie in der mittleren Darstellung von 9 gezeigt, den Funktionsmodulen, die nicht durch den Benutzer ausgewählt werden, keine Ressourcen zugewiesen. Stattdessen werden den durch den Benutzer ausgewählten Funktionsmodulen die Ressourcen basierend auf der Erweiterungspriorität zugewiesen. Somit kann die Leistung der durch den Benutzer ausgewählten Funktion maximiert werden, ohne die Flexibilität der Funktionsauswahl des Benutzers zu beeinträchtigen. Dadurch können für die durch den Benutzer ausgewählte Funktion einige Vorteile erzielt werden, wie etwa eine Verbesserung der Verarbeitungsgeschwindigkeit, ein Niederhalten der Bearbeitungsstillstandhäufigkeit und eine Verbesserung der Bearbeitungsgenauigkeit.