DE102018008369A1 - Numerische Steuereinrichtung - Google Patents

Numerische Steuereinrichtung Download PDF

Info

Publication number
DE102018008369A1
DE102018008369A1 DE102018008369.2A DE102018008369A DE102018008369A1 DE 102018008369 A1 DE102018008369 A1 DE 102018008369A1 DE 102018008369 A DE102018008369 A DE 102018008369A DE 102018008369 A1 DE102018008369 A1 DE 102018008369A1
Authority
DE
Germany
Prior art keywords
task
unit
execution
program
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018008369.2A
Other languages
English (en)
Inventor
Yuuki Sakayori
Akira KANEMARU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102018008369A1 publication Critical patent/DE102018008369A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32423Task planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34197Search blank memory space to load program, storage, memory allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Eine numerische Steuereinrichtung, die eine Schnittstelle bereitstellen kann, die eine sichere Task-Steuerung zur Hinzufügung einer Originalfunktion durchführt, umfasst eine Speicherverwaltungseinheit, die ein durch einen Task ausgeführtes Programm in einem Speicher entwickelt, eine Ausführungszeitberechnungseinheit, die eine Ausführungszeit des Tasks berechnet, eine Ausführungsbedingungsfestlegungseinheit, die basierend auf den Ausführungsergebnissen der Speicherverwaltungseinheit und der Ausführungszeitberechnungseinheit eine Ausführungsbedingung des Tasks festlegt, eine Task-Überwachungseinheit, die den Zustand einer Recheneinheit überwacht und die Recheneinheit bestimmt, der der Task zugewiesen wird, und eine Task-Steuereinheit, die basierend auf der Ausführungsbedingung den Task in der zugewiesenen Recheneinheit registriert und startet.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine numerische Steuereinrichtung und im Besonderen eine numerische Steuereinrichtung, der Originalfunktionen sicher hinzugefügt werden können.
  • Beschreibung des zugehörigen Standes der Technik
  • Es besteht Bedarf an einer Hinzufügung von Originalfunktionen, wie etwa Zustandsüberwachungs-, Hochgeschwindigkeitsachsensteuerungs- und Notfallsicherheitsfunktionen für eine Werkzeugmaschine, zu einer numerischen Steuereinrichtung. Zur Erfüllung dieses Bedarfs ist es notwendig, eine Schnittstelle zum Registrieren von Tasks zu beliebigen Zeitpunkten, z.B. während des Betriebs eines Bearbeitungsprogramms, einen Mechanismus, um eine spezifische Verarbeitung speicherresident zu machen und mehrfach auszuführen, und dergleichen bereitzustellen.
  • Ein Universal-Multitask-Betriebssystem kann Arbeitsgänge zum Registrieren, Starten, Stoppen und Löschen der Tasks zu beliebigen Zeitpunkten durchführen, wobei für einen Softwareentwickler eine Schnittstelle zum Durchführen einer solchen Task-Steuerung gemäß dem Zweck und Task-Ausführungssituationen bereitgestellt ist. Außerdem können durch Angeben des Task-Startzyklus und der Priorität die Ausführungsreihenfolgen und Ausführungszeiten einer Mehrzahl Tasks verwaltet werden und der Betrieb des Systems feiner eingestellt werden.
  • Die offengelegte japanische Patentanmeldung Nr. 2000-293386 beispielsweise beschreibt ein Betriebssystem, das, wenn bestimmt wird, dass die aktuelle Restspeicherkapazität zur Ausführung eines neuen Tasks unzureichend ist, die Task-Nutzungsrate berechnet, einen laufenden Task mit der niedrigsten Nutzungsrate stoppt und die Berechnung und den Task-Stopp wiederholt, so dass freier Platz geschaffen wird.
  • Für numerische Steuereinrichtungen sind jedoch eine höhere Zuverlässigkeit und Sicherheit als für Universal-Multitask-Betriebssysteme nötig. Daher sind herkömmliche numerische Steuereinrichtungen ausgehend von der Annahme, dass auszuführende Tasks vorab registriert werden, so ausgeführt, dass ein Task-Wechselzeitpunkt und dergleichen so eingestellt wird, dass eine Speichernutzungsrate und eine Betriebsgeschwindigkeit einer CPU angemessen bleiben. Mit anderen Worten, die herkömmliche numerische Steuereinrichtung basiert nicht auf der Annahme, dass die Tasks zu einem von einem Benutzer gewünschten Zeitpunkt registriert oder gestartet werden.
  • Wenn eine Schnittstelle zum beliebigen Steuern von Tasks einfach einer solchen herkömmlichen numerischen Steuereinrichtung dieses Typs hinzugefügt wird, kann eine unerwartete Verhaltensänderung verursacht werden. Wenn die Tasks zu beliebigen Zeitpunkten registriert oder gestartet werden, können beispielsweise durch eine Verzögerung einer Achsensteuerverarbeitung, eine Reduzierung der Kommunikationsgeschwindigkeit oder eine Speichererschöpfung Systemfehler verursacht werden. Daraufhin können sich möglicherweise die Zuverlässigkeit und Betriebsstabilität der numerischen Steuereinrichtung verringern. Daher besteht ein Bedarf an einer Schnittstelle, die dazu fähig ist, Tasks beliebig zu steuern, ohne es zu versäumen, die erforderliche Zuverlässigkeit und Sicherheit sicherzustellen.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung wurde gemacht, um die vorstehenden Probleme zu lösen, und hat das Ziel, eine numerische Steuereinrichtung bereitzustellen, der Originalfunktionen sicher hinzugefügt werden können.
  • Eine numerische Steuereinrichtung gemäß einem Aspekt der vorliegenden Erfindung ist dazu fähig, eine Schnittstelle bereitzustellen, die eine sichere Task-Steuerung zur Hinzufügung einer Originalfunktion durchführt. Die numerische Steuereinrichtung umfasst eine Speicherverwaltungseinheit, die dazu eingerichtet ist, ein durch den Task ausgeführtes Programm in einem Speicher zu entwickeln oder zu initialisieren, das Programm zu analysieren und Informationen über das Programm zu erfassen, eine Ausführungszeitberechnungseinheit, die dazu eingerichtet ist, eine Ausführungszeit des Tasks zu berechnen, eine Ausführungsbedingungsfestlegungseinheit, die dazu eingerichtet ist, basierend auf den Ausführungsergebnissen der Speicherverwaltungseinheit und der Ausführungszeitberechnungseinheit eine Ausführungsbedingung des Tasks festzulegen, eine Task-Überwachungseinheit, die dazu eingerichtet ist, den Zustand einer Recheneinheit zu überwachen und die Recheneinheit zu bestimmen, der der Task zugewiesen wird, und eine Task-Steuereinheit, die dazu eingerichtet ist, basierend auf der Ausführungsbedingung den Task in der zugewiesenen Recheneinheit zu registrieren und zu starten.
  • Die Task-Steuereinheit kann den gestarteten Task in Antwort auf einen Befehl stoppen.
  • Die Task-Steuereinheit kann den gestoppten Task in Antwort auf einen Befehl löschen.
  • Die Task-Überwachungseinheit kann basierend auf den Leerlaufzeiten oder Ruhe- oder Schlummermoduszeiten einer Mehrzahl der Recheneinheiten die Recheneinheit bestimmen, die den Task ausführt.
  • Bei der numerischen Steuereinrichtung kann eine Meldung ausgegeben werden, wenn die Speicherverwaltungseinheit nicht dazu in der Lage ist, das Programm im Speicher zu entwickeln, oder wenn die Task-Überwachungseinheit nicht dazu in der Lage ist, die Recheneinheit zu bestimmen, die den Task ausführt.
  • Gemäß der vorliegenden Erfindung kann eine numerische Steuereinrichtung bereitgestellt werden, der Originalfunktionen sicher hinzugefügt werden können.
  • Figurenliste
  • Die vorstehenden und andere Ziele und Merkmale der vorliegenden Erfindung sind aus folgenden Beschreibung von Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen ersichtlich. Es zeigt:
    • 1 ein Blockdiagramm, das die funktionale Konfiguration einer numerischen Steuervorrichtung zeigt;
    • 2 ein Blockdiagramm, das Komponenten einer Task-Registrierungsverarbeitung zeigt;
    • 3 eine Darstellung, die ein Verfahren zum Anordnen von Ausführungsprogrammen in einem Speicher zeigt;
    • 4 ein Blockdiagramm, das Komponenten einer Task-Startverarbeitung zeigt;
    • 5 eine Darstellung, die zeigt, wie Tasks ausgeführt werden;
    • 6 ein Blockdiagramm, das Komponenten einer Task-Stoppverarbeitung zeigt;
    • 7 ein Blockdiagramm, das Komponenten einer Task-Löschungsverarbeitung zeigt;
    • 8 eine Darstellung, die die Task-Registrierungsverarbeitung bei einer Ausführungsform zeigt;
    • 9 eine Darstellung, die die Task-Startverarbeitung bei einer Ausführungsform zeigt;
    • 10 eine Darstellung, die die Task-Stoppverarbeitung bei einer Ausführungsform zeigt; und
    • 11 eine Darstellung, die die Task-Löschungsverarbeitung bei einer Ausführungsform zeigt.
  • Genaue Beschreibung der bevorzugten Ausführungsformen
  • Eine numerische Steuereinrichtung 100 gemäß einer Ausführungsform der vorliegenden Erfindung ist unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. 1 ist ein Blockdiagramm, das die funktionale Konfiguration der numerischen Steuereinrichtung 100 zeigt.
  • Die numerische Steuereinrichtung 100 umfasst eine Task-Steuereinheit 110, eine Bearbeitungsprogrammanalyseeinheit 120, eine Ausführungsdatenumsetzungseinheit 130, eine Ausführungssteuereinheit 140, eine Achsenantriebseinheit 150, eine Speicherverwaltungseinheit 160, eine Ausführungszeitberechnungseinheit 170, eine Ausführungsbedingungsfestlegungseinheit 180 und eine Task-Überwachungseinheit 190. Die numerische Steuereinrichtung 100 umfasst typischerweise eine Zentraleinheit (CPU), eine Speichereinrichtung, eine Ein-/Ausgabeeinrichtung und dergleichen. Diese Verarbeitungseinheiten werden logisch implementiert, wenn die CPU in der Speichereinrichtung gespeicherte Programme ausführt.
  • Die Task-Steuereinheit 110, die Bearbeitungsprogrammanalyseeinheit 120, die Ausführungsdatenumsetzungseinheit 130, die Ausführungssteuereinheit 140 und die Achsenantriebseinheit 150, als typische Komponenten der numerischen Steuereinrichtung, sind zuerst beschrieben.
  • Die Task-Steuereinheit 110 führt Arbeitsgänge, wie etwa Registrierung, Start, Stopp und Löschung von Tasks, eine Task-Zeitplanung und eine Task-Ressourcenverwaltung, durch.
  • Die Bearbeitungsprogrammanalyseeinheit 120 liest ein Bearbeitungsprogramm aus, führt Block für Block eine lexikalische Analyse durch und gibt einen auf die Bearbeitung bezogenen Befehl an die Ausführungsdatenumsetzungseinheit 130 aus. Ferner wird gemäß der vorliegenden Ausführungsform angenommen, dass auf die Tasks bezogene Befehle im Bearbeitungsprogramm beschrieben sein können. Die auf die Tasks bezogenen Befehle umfassen eine ein Ausführungsprogramm bildende Befehlsgruppe und auf die Registrierung, den Start, den Stopp und die Löschung der Tasks bezogene Befehle. Das Ausführungsprogramm wird an die Ausführungsdatenumsetzungseinheit 130 ausgegeben. Die auf die Registrierung, den Start, den Stopp und die Löschung der Tasks bezogenen Befehle werden an die Task-Überwachungseinheit 190 ausgegeben.
  • Die Ausführungsdatenumsetzungseinheit 130 setzt den auf die Bearbeitung bezogenen Befehl in ausführbare Binärdaten um und gibt diese an die Ausführungssteuereinheit 140 aus. Darüber hinaus setzt die Ausführungsdatenumsetzungseinheit 130, wenn das Ausführungsprogramm eingegeben wird, die Befehlsgruppe des Ausführungsprogramms in ausführbare Binärdaten um und gibt diese an die Speicherverwaltungseinheit 160 aus.
  • Die Ausführungssteuereinheit 140 führt basierend auf den ausführbaren Binärdaten eine Interpolationsverarbeitung durch, berechnet die Bewegungsbeträge von Achsen und gibt diese an die Achsenantriebseinheit 150 aus.
  • Basierend auf den durch die Ausführungssteuereinheit 140 berechneten Bewegungsbeträgen steuert die Achsenantriebseinheit 150 Strom und Spannung und treibt die Achsen an.
  • Es folgt eine Beschreibung der Speicherverwaltungseinheit 160, der Ausführungszeitberechnungseinheit 170, der Ausführungsbedingungsfestlegungseinheit 180 und der Task-Überwachungseinheit 190, die Originalkomponenten der numerischen Steuereinrichtung 100 gemäß der vorliegenden Ausführungsform darstellen. Die Task-Registrierungsverarbeitung, Task-Startverarbeitung, Task-Stoppverarbeitung und Task-Löschungsverarbeitung, die charakteristische Funktionen der vorliegenden Erfindung darstellen, werden durch diese Komponenten umgesetzt.
  • Wie in 2 gezeigt, umfassen die auf die Task-Registrierungsverarbeitung bezogenen Komponenten hauptsächlich die Speicherverwaltungseinheit 160, die Ausführungszeitberechnungseinheit 170 und die Ausführungsbedingungsfestlegungseinheit 180.
  • Die Speicherverwaltungseinheit 160 speichert die durch die Ausführungsdatenumsetzungseinheit 130 ausgegebenen ausführbaren Binärdaten des Tasks zwischen und berechnet die Größe des durch den Task ausgeführten Programms. Außerdem berechnet die Speicherverwaltungseinheit 160 einen freien Platz in einem Speicher und bestimmt ein Verfahren zum Entwickeln des Programms im Speicher. Wenn zur Entwicklung des gesamten Programms ausreichend zusammenhängender freier Platz im Speicher sichergestellt werden kann, wird das Programm in diesem freien Platz entwickelt (obere Darstellung von 3). Wenn durch Addieren einer Mehrzahl freier Plätze das gesamte Programm entwickelt werden kann, obgleich zur Entwicklung des gesamten Programms kein ausreichender zusammenhängender freier Platz sichergestellt werden kann, wird das Programm in eine Mehrzahl Fragmente aufgeteilt, werden den aufgeteilten Programmen Verbindungsinformationen angefügt und die aufgeteilten Programme dann in der Mehrzahl freier Plätze entwickelt (mittlere Darstellung in 3). Typischerweise sind die Verbindungsinformationen Informationen, die die Startadresse des als Nächstes auszulesenden Programmfragments angeben, und werden an das Ende jedes Programmfragments angefügt. Wenn zur Entwicklung des gesamten Programms kein ausreichender zusammenhängender freier Platz vorhanden ist (untere Darstellung von 3), wird dies einem Benutzer durch einen Alarm oder andere ähnliche Einrichtungen gemeldet. Der Benutzer kann angehalten werden, auszuwählen, ob der Betrieb ohne Registrierung eines Tasks fortgesetzt werden soll, so dass der Betrieb abhängig vom Ergebnis der Auswahl fortgesetzt oder ausgesetzt werden kann.
  • Ferner analysiert die Speicherverwaltungseinheit 160 das Programm, um die Verbindungsinformationen, die Anzahl verwendeter Variablen, die Art der Variablen und dergleichen zu ermitteln. Basierend auf den ermittelten Informationen berechnet die Speicherverwaltungseinheit 160 erforderliche Ressourcen für den Task-Betrieb und meldet die berechneten Ressourcen der Task-Steuereinheit 110. Typische Ressourcen umfassen beispielsweise die Stapelgröße, die Benutzerberechtigung und Account-Informationen. Die Task-Steuereinheit 110 bestätigt, ob die erforderlichen Ressourcen sichergestellt werden können, und meldet das Ergebnis der Bestätigung der Speicherverwaltungseinheit 160.
  • Der Ausführungszyklus und die Priorität können, abgesehen von einer Berechnung durch die Speicherverwaltungseinheit 160, im Vorfeld im Bearbeitungsprogramm festgelegt oder im Vorfeld durch den Benutzer als Parameter festgelegt werden. Der Ausführungszyklus und die Priorität, die im Bearbeitungsprogramm beschrieben sind, können durch die Speicherverwaltungseinheit 160 und die Ausführungszeitberechnungseinheit 170 erfasst werden.
  • Wenn die Ressourcen sichergestellt werden können, meldet die Speicherverwaltungseinheit 160 der Ausführungszeitberechnungseinheit 170 und der Ausführungsbedingungsfestlegungseinheit 180 Informationen, wie etwa eine durch Entwickeln des Programms erhaltene Adresse, eine Programmgröße und einen Task-Einsprungpunkt (ein erster Code für den Start der Verarbeitung, wenn der Task gestartet wird).
  • Wenn die Ressourcen nicht sichergestellt werden können, wird dagegen die gleiche Verarbeitung wie in dem vorstehend beschriebenen Fall durchgeführt, in dem kein ausreichender zusammenhängender freier Platz zur Entwicklung des gesamten Programms sichergestellt werden kann.
  • Die Ausführungszeitberechnungseinheit 170 schätzt die Ausführungszeit jedes registrierten Tasks basierend auf den durch die Speicherverwaltungseinheit 160 gemeldeten Informationen. Die Ausführungszeit kann beispielsweise ein Wert sein, der durch Multiplizieren der Verbrauchszeit (Anzahl der von der Ausführung benötigten Takte) jeder im Programm enthaltenen Anweisung mit der Anzahl der durch den Task ausführbaren Anweisungen. In Bezug auf eine Anweisungsgruppe, die durch Aufrufen einer Schleife und eines Unterprogramms (Subroutine) und dergleichen doppelt ausgeführt wird, werden einer Ausführungshäufigkeit entsprechende Zeiten summiert. Die Ausführungszeitberechnungseinheit 170 meldet die berechnete Ausführungszeit der Ausführungsbedingungsfestlegungseinheit 180 als Task-Informationen.
  • Die Ausführungsbedingungsfestlegungseinheit 180 klassifiziert die durch die Ausführungszeitberechnungseinheit 170 gemeldeten Informationen in zur Task-Registrierung erforderliche Informationen und zum Task-Start erforderliche Informationen und meldet die Klassifizierung der Task-Steuereinheit 110, wodurch eine neue Task-Registrierung notwendig wird. Die zur Task-Registrierung erforderlichen Informationen umfassen beispielsweise einen Task-Ausführungszyklus, eine Priorität, eine Stapelgröße und einen Einsprungpunkt. Die zum Task-Start erforderlichen Informationen umfassen beispielsweise eine Ausführungsprogrammgröße und eine Task-Ausführungszeit.
  • Die Task-Steuereinheit 110 kann den Task-Ausführungszyklus bevorzugt gemäß der Task-Ausführungszeit einstellen. Wenn die Task-Ausführungszeit länger als der Task-Ausführungszyklus ist, ist es höchstwahrscheinlich, dass der Task nicht normal arbeitet. Daher wird in diesem Fall der Task-Ausführungszyklus geändert, so dass die Task-Ausführungszeit möglichst nicht länger als der Task-Ausführungszyklus ist. Wenn dies nicht möglich ist, sollte der Task-Ausführungszyklus so lang wie möglich festgelegt werden.
  • Wie in 4 gezeigt, umfassen die auf die Task-Startverarbeitung bezogenen Komponenten hauptsächlich die Task-Überwachungseinheit 190.
  • Wenn die CPU eine Mehrkern-CPU ist, überwacht die Task-Überwachungseinheit 190 ständig den Ausführungszustand jedes Kerns und bestimmt einen Kern, der die Ausführungszeit jedes registrierten Tasks sicherstellen kann. Wie in 5 gezeigt, wird beispielsweise eine Leerlaufzeit (oder Ruhe- oder Schlummermoduszeit) innerhalb des Ausführungszyklus jedes Kerns gemessen und ein Kern, der eine Task-Ausführungszeit aufweist, die nicht länger als die Leerlaufzeit ist, als Registrierungsziel extrahiert. Wenn eine Mehrzahl Kerne extrahiert wird, kann der Task einem Kern mit der längsten Leerlaufzeit innerhalb des Ausführungszyklus zugewiesen werden. Bei der obigen Beurteilung kann ein mittlerer oder integrierter Wert von Leerlaufzeiten einer Mehrzahl Ausführungszyklen mit der Task-Ausführungszeit verglichen werden. Im Falle von 5 beispielsweise ist der integrierte Wert von Leerlaufzeiten (durch fette gestrichelte Linien angezeigt) eines Kerns 1 am größten, daher wird bestimmt, dass der Kern 1 über reichlich Verarbeitungszeit verfügt. In diesem Fall bestimmt die Task-Überwachungseinheit 190 den Kern 1 als neues Task-Zuweisungsziel.
  • Wenn das Task-Zuweisungsziel bestimmt wird, fordert die Task-Überwachungseinheit 190 die Task-Steuereinheit 110 auf, den Task zu starten. Die Task-Steuereinheit 110 startet dann den durch die Task-Überwachungseinheit 190 angegebenen Task.
  • Wenn die Leerlaufzeiten (oder deren mittlerer Wert, integrierter Wert, etc.) aller Kerne so gering sind, dass die durch die Ausführungszeitberechnungseinheit 170 berechne Task-Ausführungszeit nicht sichergestellt werden kann, wird dies dem Benutzer durch einen Alarm oder andere ähnliche Einrichtungen gemeldet. Der Benutzer kann angehalten werden, auszuwählen, ob der Betrieb ohne Registrierung eines Tasks fortgesetzt werden soll, so dass der Betrieb abhängig von dem Ergebnis der Auswahl fortgesetzt oder ausgesetzt werden kann.
  • Alternativ können Tasks einem Kern, in dem andere Tasks, die eine ähnliche Priorität wie der neue Task haben, bereits ausgeführt wurden (so dass der Betrieb in einer Umgebung durchgeführt werden kann, die eine durchschnittliche Verteilung von Ausführungszeiten in einem Round-Robin- (Ringverteilungs-) System erleichtert), oder einem Kern zugewiesen werden, in dem bereits eine geringe Anzahl Tasks ausgeführt wurde (so dass der Betrieb in einer Umgebung durchgeführt werden kann, in der wenige andere Tasks durch eine neue Task-Registrierung beeinflusst werden).
  • Wie in 6 gezeigt, umfassen die auf die Task-Stoppverarbeitung bezogenen Komponenten hauptsächlich die Task-Überwachungseinheit 190.
  • Wenn der Task-Überwachungseinheit 190 durch die Bearbeitungsprogrammanalyseeinheit 120 ein Stoppbefehl für einen spezifischen Task gemeldet wird, fordert sie die Task-Steuereinheit 110 auf, den Task zu stoppen. Die Task-Steuereinheit 110 stoppt dann den durch die Task-Überwachungseinheit 190 angegebenen Task. Die Meldung der Task-Stoppanforderung an die Task-Steuereinheit 110 sollte bevorzugt bei Abschluss einer Reihe von durch den Task ausgeführten Prozessen durchgeführt werden. Dies liegt daran, dass im Speicher möglicherweise inkonsistente Daten verbleiben können oder das Maschinenverhalten instabil werden kann, wenn der Task während der Ausführung gestoppt wird.
  • Wie in 7 gezeigt, umfassen die auf die Task-Löschungsverarbeitung bezogenen Komponenten hauptsächlich die Task-Überwachungseinheit 190 und die Speicherverwaltungseinheit 160.
  • Wenn der Task-Überwachungseinheit 190 durch die Bearbeitungsprogrammanalyseeinheit 120 ein Löschbefehl für einen spezifischen Task gemeldet wird, bestätigt sie, dass der Task gestoppt wird. Wenn der Task gestoppt wird, fordert die Task-Überwachungseinheit 190 die Task-Steuereinheit 110 auf, den Task zu löschen, und meldet dies der Speicherverwaltungseinheit 160.
  • Wenn der Speicherverwaltungseinheit 160 durch die Task-Überwachungseinheit 190 die Löschanforderung für den spezifischen Task gemeldet wird, gibt sie ein Programm an, das bislang durch den Task ausgeführt wurde, und bestätigt, dass das Programm durch keinen anderen Task verwendet wird. Wenn das Programm durch keinen anderen Task verwendet wird, wird das Programm gelöscht und der Speicher initialisiert (oder freigegeben). Wenn das Programm dagegen durch einen anderen Task verwendet wird, wird das Programm im Speicher belassen oder es werden nur einige unnötige Speicherbereiche initialisiert, woraufhin die Verarbeitung endet.
  • Ausführungsformen
  • Eine Ausführungsform der numerischen Steuereinrichtung 100 ist unter Bezugnahme auf die 8 bis 11 beschrieben. Die numerische Steuereinrichtung 100 gemäß dieser Ausführungsform registriert, startet, stoppt und löscht Tasks in Antwort auf im Bearbeitungsprogramm beschriebenen Befehlen.
  • Task-Registrierung
  • Bei dieser Ausführungsform können, wie in 8 gezeigt, die das Ausführungsprogramm bildende Befehlsgruppe und die Task-Registrierungsbefehle (von gestrichelten Linien umgebene Abschnitte in 8) im Bearbeitungsprogramm beschrieben sein. „@@CREATE [A]“ ist ein Registrierungsbefehl für einen Task [A]. „PRIORITY LOW“ ist ein Befehl zum Setzen der Task-Priorität auf LOW (niedrig). „EXECCYCLE 32“ ist ein Befehl zum Setzen des Task-Ausführungszyklus auf 32. Blöcke, die mit „IF...“ beginnen und mit „END IF;“ enden, bilden das Ausführungsprogramm.
  • Die Task-Registrierungsbefehle und die das Ausführungsprogramm bildende Befehlsgruppe werden durch die Bearbeitungsprogrammanalyseeinheit 120 lexikalisch analysiert. Außerdem wird die das Ausführungsprogramm bildende Befehlsgruppe, nachdem sie durch die Ausführungsdatenumsetzungseinheit 130 in ausführbare Binärdaten umgesetzt worden ist, an die Speicherverwaltungseinheit 160 ausgegeben.
  • Es folgt eine Beschreibung von Beispielen für eine lexikalische Analyseverarbeitung und eine Binärdatenumsetzungsverarbeitung basierend auf einem Block „G110 C50.0;“ im Bearbeitungsprogramm. Zunächst teilt die Bearbeitungsprogrammanalyseeinheit 120 eine Zeichenfolge des Blocks in „G“, „110“, „C“, „50.0“ und „;“ auf. „G“ wird als Code interpretiert, der eine vorbereitende Funktion der numerischen Steuereinrichtung angibt. „110“ wird als Code interpretiert, der eine Peripherieachsensteuerung der vorbereitenden Funktion angibt. „C“ wird als Code zum Festlegen der Adresse einer Peripherieachse C interpretiert. „50.0“ wird als Code zum Speichern einer Gleitpunktzahl 50.0 in die Adresse von C interpretiert. „;“ wird als Code interpretiert, der das Ende des Blocks angibt.
  • Anschließend erzeugt die Ausführungsdatenumsetzungseinheit 130 basierend auf dem Ergebnis der lexikalischen Analyse die Binärdaten. Zuerst erzeugt die Ausführungsdatenumsetzungseinheit 130 beispielsweise eine Binärdatei „0x36D00000“ zum Angeben der Peripherieachsensteuerung. Dann erzeugt sie eine Binärdatei „0x00001000“, der die Adresse von C hinzugefügt wird. Schließlich erzeugt die Ausführungsdatenumsetzungseinheit 130 basierend auf diesen Binärdateien ausführbare Binärdaten „0x36D010000“ und gibt diese an die Speicherverwaltungseinheit 160 aus.
  • Die Speicherverwaltungseinheit 160 berechnet eine durch die empfangenen ausführbaren Binärdaten verwendete Speichergröße. Wenn zur Entwicklung von Binärdaten im Speicher ausreichend freier Platz vorhanden ist, werden die ausführbaren Binärdaten im Speicher registriert. Wenn kein freier Platz vorhanden ist, wird dem Benutzer durch einen Alarm, eine Warnung oder dergleichen gemeldet, dass der Task nicht registriert werden kann.
  • Außerdem meldet die Speicherverwaltungseinheit 160 der Ausführungszeitberechnungseinheit 170 und der Ausführungsbedingungsfestlegungseinheit 180 Informationen, die verschiedene Attribute des Tasks angeben. Die Ausführungszeitberechnungseinheit 170 berechnet die Ausführungszeit des Tasks und meldet diese der Ausführungsbedingungsfestlegungseinheit 180. Die Ausführungsbedingungsfestlegungseinheit 180 meldet der Task-Steuereinheit 110 die Ausführungszeit und die die verschiedenen Attribute des Tasks angebenden Informationen und fordert die Registrierung des Tasks an.
  • Task-Start
  • Bei dieser Ausführungsform können, wie in 9 gezeigt, Befehle (von gestrichelten Linien umgebene Abschnitte in 9) zum Starten des Tasks im Bearbeitungsprogramm beschrieben sein. „@@START [A]“ ist ein Startbefehl für den Task [A]. „@@START [B]“ ist ein Startbefehl für den Task [B].
  • Wenn die Bearbeitungsprogrammanalyseeinheit 120 den Task-Startbefehl interpretiert, meldet sie der Task-Überwachungseinheit 190, dass der angegebene Task gestartet werden soll. Wenn ein nicht registrierter Task oder ein bereits gestarteter Task als zu startendes Objekt angegeben wird, meldet die Task-Überwachungseinheit 190 dem Benutzer durch einen Alarm, eine Warnung oder dergleichen, dass der Task nicht gestartet werden kann.
  • Die Task-Überwachungseinheit 190 überwacht die Ausführungszustände aller Tasks, die in jedem Kern der CPU arbeiten, und weist einen Task einem Kern zu, der über reichlich Verarbeitungszeit verfügt. Wenn in keiner CPU ausreichend Platz zur Ausführung eines neuen Tasks vorhanden ist, wird dem Benutzer durch einen Alarm, eine Warnung oder dergleichen gemeldet, dass der Task nicht gestartet werden kann, ohne dass der Task gestartet wird.
  • Task-Stopp
  • Bei dieser Ausführungsform kann, wie in 10 gezeigt, ein Befehl (der von gestrichelten Linien umgebene Abschnitt in 10) zum Stoppen des Tasks im Bearbeitungsprogramm beschrieben sein. „@@HOLD [A]“ ist ein Stoppbefehl für den Task [A].
  • Wenn die Bearbeitungsprogrammanalyseeinheit 120 den Task-Stoppbefehl interpretiert, meldet sie der Task-Überwachungseinheit 190, dass der angegebene Task gestoppt werden soll. Wenn ein bereits gestoppter Task als zu stoppendes Objekt angegeben wird, meldet die Task-Überwachungseinheit 190 dem Benutzer durch einen Alarm, eine Warnung oder dergleichen, dass der Task bereits gestoppt wurde.
  • Task-Löschung
  • Bei dieser Ausführungsform kann, wie in 11 gezeigt, ein Befehl (der von gestrichelten Linien umgebene Abschnitt in 11) zum Löschen des Tasks im Bearbeitungsprogramm beschrieben sein. „@@DELETE [A]“ ist ein Löschbefehl für den Task [A].
  • Wenn die Bearbeitungsprogrammanalyseeinheit 120 den Task-Löschbefehl interpretiert, meldet sie der Task-Überwachungseinheit 190, dass der angegebene Task gelöscht werden soll. Wenn ein nicht existierender Task oder ein laufender Task als zu löschendes Objekt angegeben wird, meldet die Task-Überwachungseinheit 190 dem Benutzer durch einen Alarm, eine Warnung oder dergleichen, dass der Task nicht gelöscht werden kann.
  • Wenn das Programm, das durch den angegebenen Task ausgeführt wurde, durch keinen anderen Task verwendet wird, löscht die Speicherverwaltungseinheit 160 die ausführbaren Daten des Programms aus dem Speicher. Wenn das Programm verwendet wird, löscht die Speicherverwaltungseinheit 160 nur einige unnötige ausführbare Daten aus dem Speicher.
  • Gemäß der vorliegenden Ausführungsform kann eine sichere Task-Steuerschnittstelle zum Hinzufügen von Originalfunktionen in der numerischen Steuereinrichtung 100 bereitgestellt werden.
  • Obgleich vorstehend eine Ausführungsform der vorliegenden Erfindung beschrieben ist, ist die Erfindung nicht auf die vorstehend beschriebene Ausführungsform oder die vorstehend beschriebenen Beispiele beschränkt und lässt sich geeignet abwandeln und auf verschiedene Art und Weise umsetzen.
  • Bei der gemäß der obigen Ausführungsform beschriebenen Verarbeitung beispielsweise bestimmt die Task-Überwachungseinheit 190, in dem Fall, in dem die CPU eine Multikern-CPU ist, den Kern, der das Task-Zuweisungsziel sein soll. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt und, wenn beispielsweise in dem Fall, in dem eine Mehrzahl CPUs vorhanden ist, eine CPU bestimmt wird, die das Task-Zuweisungsziel sein soll, oder in dem Fall, in dem eine Mehrzahl Informationsprozessoren vorhanden ist, ein Informationsprozessor bestimmt wird, der das Task-Zuweisungsziel sein soll, kann die gleiche Verarbeitung durchgeführt werden. Bei der vorliegenden Erfindung werden die Kerne, CPUs und Informationsprozessoren kollektiv als „Recheneinheiten“ bezeichnet, die Tasks ausführen.
  • Außerdem sind die Task-Registrierungs-, Start-, Stopp- und Löschbefehle bei einer Ausführungsform rein beispielhaft angegeben und lassen sich in beliebiger anderer Form beschreiben.
  • 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 2000293386 [0004]

Claims (5)

  1. Numerische Steuereinrichtung, die dazu fähig ist, eine Schnittstelle bereitzustellen, die eine sichere Task-Steuerung zur Hinzufügung einer Originalfunktion durchführt, wobei die numerische Steuereinrichtung umfasst: - eine Speicherverwaltungseinheit, die dazu eingerichtet ist, ein durch einen Task ausgeführtes Programm in einem Speicher zu entwickeln oder zu initialisieren, das Programm zu analysieren und Informationen über das Programm zu erfassen, - eine Ausführungszeitberechnungseinheit, die dazu eingerichtet ist, eine Ausführungszeit des Tasks zu berechnen, - eine Ausführungsbedingungsfestlegungseinheit, die dazu eingerichtet ist, basierend auf den Ausführungsergebnissen der Speicherverwaltungseinheit und der Ausführungszeitberechnungseinheit eine Ausführungsbedingung des Tasks festzulegen, - eine Task-Überwachungseinheit, die dazu eingerichtet ist, den Zustand einer Recheneinheit zu überwachen und die Recheneinheit zu bestimmen, der der Task zugewiesen wird, und - eine Task-Steuereinheit, die dazu eingerichtet ist, basierend auf der Ausführungsbedingung den Task in der zugewiesenen Recheneinheit zu registrieren und zu starten.
  2. Numerische Steuereinrichtung nach Anspruch 1, wobei die Task-Steuereinheit den gestarteten Task in Antwort auf einen Befehl stoppt.
  3. Numerische Steuereinrichtung nach Anspruch 2, wobei die Task-Steuereinheit den gestoppten Task in Antwort auf einen Befehl löscht.
  4. Numerische Steuereinrichtung nach Anspruch 1, wobei die Task-Überwachungseinheit basierend auf den Leerlaufzeiten oder Ruhe- oder Schlummermoduszeiten einer Mehrzahl der Recheneinheiten die Recheneinheit bestimmt, die den Task ausführt.
  5. Numerische Steuereinrichtung nach Anspruch 1, wobei eine Meldung ausgegeben wird, wenn die Speicherverwaltungseinheit nicht dazu in der Lage ist, das Programm im Speicher zu entwickeln, oder wenn die Task-Überwachungseinheit nicht dazu in der Lage ist, die Recheneinheit zu bestimmen, die den Task ausführt.
DE102018008369.2A 2017-10-25 2018-10-23 Numerische Steuereinrichtung Pending DE102018008369A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-206416 2017-10-25
JP2017206416A JP6669705B2 (ja) 2017-10-25 2017-10-25 数値制御装置

Publications (1)

Publication Number Publication Date
DE102018008369A1 true DE102018008369A1 (de) 2019-04-25

Family

ID=65996328

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018008369.2A Pending DE102018008369A1 (de) 2017-10-25 2018-10-23 Numerische Steuereinrichtung

Country Status (4)

Country Link
US (1) US10761512B2 (de)
JP (1) JP6669705B2 (de)
CN (1) CN109709900B (de)
DE (1) DE102018008369A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7173928B2 (ja) 2019-06-05 2022-11-16 ファナック株式会社 数値制御装置
JP7444566B2 (ja) 2019-09-12 2024-03-06 ファナック株式会社 サーボ制御装置、サーボ制御システム及びサーボ制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (ja) 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5189624A (en) * 1989-09-29 1993-02-23 General Electric Company Intelligent machining workstation operating logic
JPH07248810A (ja) * 1994-03-11 1995-09-26 Mitsubishi Electric Corp 数値制御装置
JP3727382B2 (ja) * 1994-12-26 2005-12-14 三菱電機株式会社 制御ソフトウェア実行システムの制御方法
JPH10207515A (ja) * 1997-01-16 1998-08-07 Mitsubishi Heavy Ind Ltd 制御装置
JPH10289011A (ja) * 1997-04-16 1998-10-27 Toshiba Mach Co Ltd 数値制御装置及び数値制御装置におけるバックグラウンド処理のカスタマイズ方法
JP2001125797A (ja) * 1999-10-25 2001-05-11 Seiko Epson Corp マルチタスクシステム及びそのプログラムを記録した記録媒体並びに加工装置
JP3904945B2 (ja) * 2002-02-28 2007-04-11 スター精密株式会社 Ncプログラムのための最適データ変換方法および数値制御工作機械
US7949501B1 (en) * 2002-05-17 2011-05-24 Northwestern University Systems and methods for a real time machine simulator to explore the effects of rules used in a modular manufacturing or assembly system
JP4442358B2 (ja) * 2004-08-02 2010-03-31 株式会社デンソーウェーブ 制御装置及びコンピュータプログラム
KR100652715B1 (ko) * 2005-02-28 2006-12-01 엘지전자 주식회사 휴대단말기의 프로그램 다이나믹 로드장치 및 방법
JP5832703B2 (ja) * 2013-05-20 2015-12-16 三菱電機株式会社 監視制御装置
JP6378128B2 (ja) * 2015-04-28 2018-08-22 ルネサスエレクトロニクス株式会社 性能検証装置、システム、方法、およびコンピュータに当該方法を実行させるためのプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (ja) 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式

Also Published As

Publication number Publication date
CN109709900A (zh) 2019-05-03
US10761512B2 (en) 2020-09-01
JP6669705B2 (ja) 2020-03-18
JP2019079336A (ja) 2019-05-23
US20190121327A1 (en) 2019-04-25
CN109709900B (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
US20230359516A1 (en) Query watchdog
DE68922769T2 (de) Verfahren zum Erzeugen eines temporären Anhaltens von Tasken, die in einem virtuellen Datenverarbeitungssystem ablaufen.
DE3889578T2 (de) Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation.
DE102016214786A1 (de) Anwendungsprofiling-Jobmanagement-System, -Programm und -Verfahren
DE112017006164T5 (de) Differenzvergleich von ausführbaren Datenflussdiagrammen
EP2400387B1 (de) Verfahren zur Performanceverbesserung von Computern
DE102013221052A1 (de) System und Verfahren für Batch-Auswertungs-Programme
DE102021109511A1 (de) Container-as-a- service (caas)-controller für die überwachung von clustern und die implementierung von autoscaling-richtlinien
DE102013206172A1 (de) Beheben von Ressourcenüberlastung
DE112012000444T5 (de) Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE2648229A1 (de) Einschaltkreis als urlader fuer digitalrechner
DE112013000904T5 (de) Durchführen von Aktualisierungen von Quellcode, der auf einer Vielzahl von Rechenknoten ausgeführt wird
DE112012002545T5 (de) Verwalten von Arbeitslasten in einem Mehrprozessor-Computersystem
DE102018008369A1 (de) Numerische Steuereinrichtung
DE112016007336B4 (de) Informationsverarbeitungsvorrichtung, Vorrichtungszuweisungsverfahren undVorrichtungszuweisungsprogramm
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE112013007083T5 (de) Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm
DE112010005509T5 (de) Robotersystemsteuerverfahren und eine Vorrichtung davon
DE3650158T2 (de) Sonderzweckprozessor zur Übernahme vieler Betriebssystemfunktionen in einem grossen Datenverarbeitungssystem.
DE112016006060T5 (de) Technologien zum Aufruf von nativem Code unter Verwendung binärer Analyse
DE102013211266A1 (de) Aufrechterhalten der Bandbreiten-Servicequalität einer Hardware-Ressource über einen Hardware-Zähler
WO2003069424A2 (de) Reaktionszeit-beschränkung eines software-prozesses
DE112019000189T5 (de) Programmausführungs-steuerverfahren und fahrzeugsteuervorrichtung
DE112019000308T5 (de) Computerprogrammprodukt und Recheneineit

Legal Events

Date Code Title Description
R012 Request for examination validly filed