DE102005028943A1 - Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann - Google Patents

Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann Download PDF

Info

Publication number
DE102005028943A1
DE102005028943A1 DE102005028943A DE102005028943A DE102005028943A1 DE 102005028943 A1 DE102005028943 A1 DE 102005028943A1 DE 102005028943 A DE102005028943 A DE 102005028943A DE 102005028943 A DE102005028943 A DE 102005028943A DE 102005028943 A1 DE102005028943 A1 DE 102005028943A1
Authority
DE
Germany
Prior art keywords
script
program
section
numerical control
execution
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.)
Ceased
Application number
DE102005028943A
Other languages
English (en)
Inventor
Hiroshi Niwa Oyama
Osamu Niwa Kuzuya
Yukinori Niwa Ootsubo
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.)
Okuma Corp
Original Assignee
Okuma 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 Okuma Corp filed Critical Okuma Corp
Publication of DE102005028943A1 publication Critical patent/DE102005028943A1/de
Ceased legal-status Critical Current

Links

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/36Nc in input of data, input key till input tape
    • G05B2219/36019Using interpreted descriptive commands giving G-codes
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36032Script, interpreted language

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

Ein Programminterpretierer (3), der ein numerisches Steuerungsprogramm (1) übersetzt und ausführt, kann vorbestimmte mnemotechnische Begriffe (mnemotechnische Scriptbegriffe) erkennen, die für Anweisungen zum Eintragen, Laden und Ausführen von Scriptprogrammen vorbereitet wurden. Wenn der Programminterpretierer während der Übersetzung und Ausführung des numerischen Steuerungsprogramms (1) einen mnemotechnischen Scriptbegriff erkennt, weist er eine Scriptengine (12) dazu an, das im Parameter des mnemotechnischen Begriffs gekennzeichnete Scriptprogamm (Instanz) auszuführen. Die Scriptengine (12) führt das angewiesene Scriptprogramm aus.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft eine numerische Steuerung, die eine Werkzeugmaschine durch Ansteuern einer Servovorrichtung oder dergleichen auf Grundlage eines numerischen Steuerungsprogramms steuert.
  • 2. Beschreibung der einschlägigen Technik
  • Einhergehend mit der weiten Verbreitung persönlicher Computer ("PC") wuchs auch die Verwendung numerischer Steuerungen ("NC") auf Basis von PCs. Ein PC ist hinsichtlich der Einführung von Informationstechnologien an Bearbeitungsorten effektiv, da ein PC mit verschiedenen Anwendungen installiert werden kann, z. B. zur Produktionsverwaltung, Konstruktion und Zeichnungserstellung sowie zur automatischen Programmierung. Jedoch bedeutete bisher die Tatsache, dass diese Anwendungen bei einer NC auf PC-Basis verwendet werden können, einfach, dass der PC und die NC im selben Gehäuse vorhanden sind, und es bedeutete nicht eine integrale Kombination des PC und der NC.
  • In einem PC ist andererseits eine Scriptmaschine-Funktion als Maßnahme zum einfachen Bereitstellen einer Automatisierungsfunktion durch einen Endbenutzer vorhanden. Die Scriptmaschine-Funktion erlaubt die Erzeugung und Ausführung eines Programms, ohne dass eine tiefe Programmierkenntnis erforderlich wäre, unter Verwendung einer einfachen Grammatik ähnlich derjenigen eines numerischen Steuerungsprogramms einer NC, was als "Scriptsprache" bezeichnet wird. Diese Technik wird häufig dazu verwendet, eine Webbrowserfunktion und eine Webserverfunktion zu erweitern. Zusätzlich zu diesen Anwendungen kann die Technik auch bei einer Tabellenkalkulationsanwendung sowie zum Erzeugen einer unabhängigen Anwendung angewandt werden, und sie ermöglicht eine einfache Automatisierung von Prozessen selbst dann, wenn der Benutzer kein professionaller Programmierer ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Erfindung erfolgte angesichts der oben beschriebenen Umstände, und sie erlaubt in vorteilhafter Weise das Aufrufen und Ausführen eines in einer Scriptsprache geschriebenen Programms aus einem numerischen Steuerungsprogramm.
  • Gemäß einer Erscheinungsform der Erfindung ist Folgendes geschaffen: eine numerische Steuerung, die eine Werkzeugmaschine auf Grundlage eines numerischen Steuerungsprogramms steuert, mit einem Ausführungsabschnitt für numerische Steuerungsprogramme, der ein numerisches Steuerungsprogramm ausführt; und einem Scriptaufrufabschnitt, der während der Ausführung des numerischen Steuerungsprogramms durch den Ausführungsabschnitt für numerische Steuerungsprogramme ein in einer Scriptsprache geschriebenes Scriptprogramm aus einem numerischen Steuerungsprogramm aufruft.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, der Scriptaufrufabschnitt als Teil des Ausführungsabschnitts für numerische Steuerungsprogramme ausgebildet ist; der Scriptaufrufabschnitt eine oder mehrere vorbestimmte Scriptanweisungen erkennen kann; und wenn der Scriptaufrufabschnitt während der Ausführung eines numerischen Steuerungsprogramms eine Scriptanweisung in diesem erkennt, er ein Scriptprogramm aufruft, das durch einen an die erkannte Scriptanweisung angefügten Parameter angegeben ist.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, die eine oder mehreren vorbestimmten Scriptanweisungen zumindest eine Anweisung in einem Modus mit asynchronem Start, in dem der Aufruf des Scriptprogramms gestartet wird, ohne dass auf den Abschluss eines Blocks unmittelbar vor dem Aufruf des Scriptprogramms gewartet würde, und eine Anweisung in einem Modus mit asynchroner Wiederaufnahme, in dem eine Operation eines Blocks folgend auf den Block, der ein Scriptprogramm aufruft, gestartet wird, bevor der Aufruf des Scriptprogramms abgeschlossen ist, beinhalten.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, der Scriptaufrufabschnitt als Teil des Ausführungsabschnitts für numerische Steuerungsprogramm realisiert ist; der Scriptaufrufabschnitt eine Startmarke, die den Start eines Scriptprogramms kennzeichnet, und eine Endmarke, die das Ende eines Scripts kennzeichnet, erkennen kann; und dann, wenn der Scriptaufrufabschnitt aus einem numerischen Steuerungsprogramm während der Ausführung derselben eine Startmarke erkennt, er eine Beschreibung ab der Startmarke bis zur nächsten Endmarke als Scriptprogramm entnimmt und das entnommene Scriptprogramm aufruft.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, ein Scriptengineabschnitt, der ein durch den Scriptaufrufabschnitt aufgerufenes Scriptprogramm ausführt, über einen Abschnitt verfügt, der den Ausführungsabschnitt für numerische Steuerungsprogramme dazu anweist, ein Teilprogramm auszuführen, das in einer Sprache zum Beschreiben des numerischen Steuerungsprogramms geschrieben ist.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, ein Scriptengineabschnitt, der ein Scriptprogramm ausführt, separat vom Ausführungsabschnitt für numerische Steuerungsprogramme vorhanden ist.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, der Scriptengineabschnitt mehrere Scriptengineinstanzen erzeugen kann und in einem numerischen Steuerungsprogramm ein Scriptprogramm gehandhabt werden kann, das in mehreren verschiedenen Scriptsprachen geschrieben ist.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, der Ausführungsabschnitt für numerische Steuerungsprogramme in einem Echtzeit-Betriebssystem arbeitet und der Scriptengineabschnitt in einem Universal-Betriebssystem arbeitet.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass, in der numerischen Steuerung, eine Funktion des Ausführungsabschnitts für numerische Steuerungsprogramme, der im Echtzeit-Betriebssystem arbeitet, unter Verwendung eines Komponentenmechanismus aus einem Scriptprogramm aufgerufen werden kann.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist es bevorzugt, dass die numerische Steuerung ferner einen Scriptengineabschnitt aufweist, der ein durch den Scriptaufrufabschnitt aufgerufenes Scriptprogramm ausführt, wobei der Scriptaufrufabschnitt eine Ereignis-gesteuerte Scriptanweisung zum Registrieren eines Scriptprogramms, das dann wirkt, wenn ein Ereignis auftritt, erkennen kann; der Scriptaufrufabschnitt, wenn er eine Ereignis-gesteuerte Scriptanweisung im numerischen Steuerungsprogramm erkennt, ein Ereignis und ein Scriptprogramm erkennt, das durch einen Parameter der erkannten, Ereignis-gesteuerten Scriptanweisung spezifiziert ist, und er das erkannte Scriptprogramm mit der Spezifizierung des erkannten Ereignisses als Ausführungsbedingung aufruft; und der Scriptengineabschnitt dann, wenn ein Ereignis im aufgerufenen Scriptprogramm als Ausführungsbedingung spezifiziert ist, das Scriptprogramm dann ausführt, wenn der Scriptengineabschnitt eine das Auftreten des Ereignisses anzeigende Mitteilung empfängt.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist Folgendes geschaffen: eine numerische Steuerung, die eine Maschine durch Ansteuern einer Servovorrichtung oder dergleichen auf Grundlage eines numerischen Steuerungsprogramms steuert, bei der ein in einer Scriptsprache geschriebenes Scriptprogramm, das dann wirkt, wenn ein Ereignis auftritt, spezifiziert werden kann; und das spezifizierte Scriptprogramm dann ausgeführt wird, wenn das Ereignis auftritt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Nun wird eine bevorzugte Ausführungsform der Erfindung auf Grundlage der folgenden Zeichnungen detailliert beschrieben.
  • 1 ist ein Diagramm, das die Struktur einer numerischen Steuerung gemäß einer bevorzugten Ausführungsform der Erfindung zeigt;
  • 2 ist ein Diagramm zum Veranschaulichen eines numerischen Steuerungsprogramms bei einer bevorzugten Ausführungsform der Erfindung;
  • 3 ist ein Diagramm zum Veranschaulichen eines Scriptspracheprogramms unter Verwendung einer JScript-Sprache;
  • 4 ist ein Diagramm zum Veranschaulichen eines Scriptspracheprogramms unter Verwendung einer VBScript-Sprache;
  • 5 ist ein Flussdiagramm, das eine Operation eines Programminterpretierers zeigt;
  • 6 ist ein Flussdiagramm, das eine Operation eines Programminterpretierers (Übersetzung von 1 Block) zeigt;
  • 7 ist ein Flussdiagramm, das eine Operation einer Scriptengine zeigt;
  • 8 ist ein Diagramm, das die Struktur einer zweiten numerischen Steuerung gemäß einer bevorzugten Ausführungsform der Erfindung;
  • 9 ist ein Diagramm zum Veranschaulichen eines zweiten Numeriksteuerungsprogramms gemäß einer bevorzugten Ausführungsform der Erfindung;
  • 10 ist ein Diagramm zum Veranschaulichen einer temporären Datei für ein numerisches Steuerungsprogramm;
  • 11 ist ein Diagramm zum Veranschaulichen einer temporären Datei für ein Scriptprogramm;
  • 12 ist ein Flussdiagramm, das eine Operation eines Numeriksteuerungsprogramm/Scriptprogramm-Separators zeigt;
  • 13 ist ein Diagramm, das eine Hardwarestruktur einer numerischen Steuerung gemäß einer bevorzugten Ausführungsform der Erfindung zeigt;
  • 14 ist ein Diagramm, das eine Hardwarestruktur einer zweiten numerischen Steuerung gemäß einer bevorzugten Ausführungsform der Erfindung zeigt; und
  • 15 ist ein Diagramm, das einen Auszug einer Schnittstellendefinition (IDL-Datei) einer NC-Komponente zeigt.
  • BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die 1 ist ein Blockdiagramm, das eine numerische Steuerung gemäß einer bevorzugten Ausführungsform der Erfindung zeigt. Ein numerische Steuerungsprogramm 1 ist ein Programm zum Steuern eines Betriebsablaufs eines durch die numerische Steuerung zu steuernden Ziels, z. B. verschiedener in einer Bearbeitungsvorrichtung vorhandener Servovorrichtungen. Das numerische Steuerungsprogramm 1 wird durch einen Programmleser 2 blockweise gelesen und an einen Programminterpretierer 3 geliefert. Der Programminterpretierer 3 übersetzt das empfangene Programm und führt es aus. Während der Übersetzung und Ausführung des numerischen Steuerungsprogramms werden eine Funktion und eine Sequenz zur Steuerung nach Bedarf aufgerufen. Ein Funktionsgenerator 4 erzeugt eine Funktion auf Grundlage eines Übersetzungsergebnisses durch den Programminterpretierer 3. Ein Servotreiber 5 betreibt einen Servomotor 6 auf Grundlage der erzeugten Funktion, um eine Werkzeugmaschine (nicht dargestellt) zu betreiben. Der Positionsdetektor 7 erfasst den Rotationszustand des Servomotors 6, und er liefert diesen an den Servotreiber 5 zurück, um eine Regelung zu ermöglichen. Eine PLC(programmable logic control = Steuerung mit programmierbarer Logik)-Steuerung 8 wendet eine PLC-Steuerungsoperation auf Grundlage der bei der Übersetzung des Programms durch den Programminterpretierer 3 und der Ausführung des Programms aufgerufenen Sequenz an. Ein Peripherievorrichtungs-Treiber 9 steuert eine Peri pherievorrichtung 10 wie eine Spindel und einen Werkzeugwechsler an.
  • Der oben beschriebene Verarbeitungsmechanismus des numerischen Steuerungsprogramms 1 ist demjenigen einer NC auf PC-Basis gemäß der einschlägigen Technik ähnlich. Als Nächstes wird ein Mechanismus der vorliegenden Ausführungsform beschrieben, wie er bei der einschlägigen NC auf PC-Basis nicht vorhanden ist.
  • Eine Scriptengine 12 lädt ein in einer Scriptsprache angegebenes Programm 11 (nachfolgend einfach als "Scriptprogramm" bezeichnet) und führt das geladene Programm aus. Mit Ausführung des Scriptprogramms werden z. B. Datenbanksoftware und Emailsendesoftware (nicht dargestellt) betrieben.
  • Es wird nun auf die 2 Bezug genommen, um ein Beispiel eines numerischen Steuerungsprogramms zu beschreiben, das durch die numerische Steuerung gemäß der vorliegenden Ausführungsform abgearbeitet werden kann. Das beispielhafte numerische Steuerungsprogramm ist ein Programm, bei dem mnemotechnische Begriffe wie SCRIPT (zum Spezifizieren einer Scriptsprache), SLOAD (zum Laden eines Scriptprogramms), SCALL (zum Aufrufen eines Scripts), SCALLS (zum Aufrufen eines Scripts in einem Modus mit "asynchronem Start") SCALLE (zum Aufrufen eines Scripts in einem Modus mit "asynchroner Wiederaufnahme") und SEVENT (zum Definieren eines Ereignisses) zu G-Code hinzugefügt sind, wie er in weitem Umfang in der einschlägigen Technik zur Beschreibung numerischer Steuerungsprogramme verwendet wird, als mnemotechnische Begriffe für eine Anweisung zum Anfordern einer Ausführung an die Scriptengine 12. Hierbei bezeichnet der Modus "asynchroner Start" einen Modus, bei dem eine durch den mnemotechnischen Begriff spezifizierte Scriptanweisung unabhängig vom (d.h. asynchron zum) vorigen Prozess (Block) im numerischen Steuerungsprogramm gestartet wird. Anders gesagt, wird dann, wenn eine Scriptanweisung im Modus mit asynchronem Start im numerischen Steuerungsprogramm vorhanden ist, die Verarbeitung dieser Scriptanweisung gestartet, ohne dass auf den Abschluss der Ausführung des vorigen Blocks gewartet würde. Andererseits wird die Verarbeitung einer Scriptanweisung, die nicht im Modus mit asynchronem Start vorliegt (d.h. eine Scriptanweisung in einem Modus mit "synchronem Start") gestartet, nachdem ie Ausführung des vorigen Blocks abgeschlossen ist.
  • Der Modus mit "asynchroner Wiederaufnahme" ist ein solcher, bei dem eine Operation des Blocks nach einer Scriptanweisung asynchron zur Ausführung der durch den mnemotechnischen Begriff spezifizierten Scriptanweisung gestartet wird. Anders gesagt, wird, wenn eine Scriptanweisung im Modus mit asynchroner Wiederaufnahme im numerischen Steuerungsprogramm vorhanden ist, die Verarbeitung eines folgenden Blocks gestartet, ohne dass auf dem Abschluss der Ausführung der Scriptanweisung gewartet würde. Andererseits wird im Fall einer Scriptanweisung, die nicht im Modus mit asynchroner Wiederaufnahme vorliegt (d.h. eine Scriptanweisung im Modus mit "synchroner Wiederaufnahme"), die Verarbeitung des folgenden Blocks gestartet, nachdem die Ausführung einer Scriptanweisung abgeschlossen wurde.
  • Diese mnemotechnischen Begriffe haben die folgende Aufrufform:
    SCRIPT [Name der Sprache], [Name der Engineinstanz]
    SLOAD [Scriptdateiname], [Name der Engineinstanz]
    SCALL [Funktionsname], [Name der Engineinstanz]
    SCALLS [Funktionsname], [Name der Engineinstanz]
    SCALLE [Funktionsname], [Name der Engineinstanz]
    SEVENT [Ereignistyp], [Funktionsname], [Name der Engineins tanz]
  • Hierbei ist "Name der Sprache" der Name einer Programmiersprache (Scriptsprache) wie VBScript und JScript. "VBScript" ist eine Abkürzung für die von Microsoft Corporation in den USA verkaufte Microsoft (registrierte Handelsbezeichnung) Visual Basic (registrierte Handelsbezeichnung), Scriptedition. "JScript" ist eine von Microsoft Corporation entwickelte Scriptsprache, die zu Java (registrierte Handelsbezeichnung) Script ist.
  • "Name der Engineinstanz" ist der Name der Scriptengineinstanz, die das Scriptprogramm ausführt. Genauer gesagt, erzeugt eine Scriptengine 12 der vorliegenden Ausführungsform eine Scriptengineinstanz zur Verarbeitung jedes individuellen Scriptprogramms, und die erzeugte Instanz führt den Scriptprozess aus. Durch Verwenden einer Konfiguration, bei der eine Scriptengineinstanz für jeden Prozess erzeugt wird, ist es möglich, die Benutzung verschiedener Sprachen in einem numerischen Steuerungsprogramm zu erlauben und zwischen Scriptengine umzuschalten, um eine Kollision von Namen in Scriptprogrammen zu vermeiden, die aus einem Hauptprogramm aufgerufen werden, sowie eines aus einem Unterprogramm aufgerufenen Scriptprogramms.
  • "Funktionsname" spezifiziert den Namen einer Funktion oder eines Unterprogramms eines in der Scriptsprache beschriebenen Programms. "Ereignistyp" spezifiziert den Typ eines durch den Ereignisdetektor 14 erkannten Ereignisses, wie z. B. Auswahl eines numerischen Steuerungsprogramms (PSELECT), Start (START), Ende (END), Erzeugung eines Alarms (ALARM) und Rücksetzen der NC (RESET).
  • Nun wird eine Operation des Programminterpretierers 3 unter Bezugnahme auf die Flussdiagramme der 5 und 6 beschrie ben, um das in der 2 dargestellte numerische Steuerungsprogramm zu veranschaulichen.
  • Nun wird das in der 2 dargestellte numerische Steuerungsprogramm kurz beschrieben. Dieses Programm erzeugt eine Scriptengineinstanz (mit dem Instanznamen "VBSEngine") gemäß VBScript in einem Block mit dem Sequenznamen N001, und es lädt ein als "sendmail.vbs" bezeichnetes Scriptprogramm in der nächsten Sequenz N002 in die Instanz. Das Script "sendmail.vbs" ist ein Script zum Senden einer Email. Die 4 zeigt ein Beispiel der Beschreibung des Scripts "sendmail.vbs". Dann wird, in einer Sequenz N003, eine Scriptengineinstanz JSEngine gemäß JScript erzeugt, und ein als "scriptlibrary.js" bezeichnetes Script wird in einer Sequenz N004 in die Instanz geladen. Das Script "Scriptlibrary.js" ist ein Scriptprogramm, das Funktionen beschreibt, die verschiedene Prozesse kennzeichnen, für die während einer Bearbeitung durch numerische Steuerung eine Ausführung erwünscht ist, und die 3 zeigt ein Beispiel der Codebeschreibung. Als Nächstes werden, in einer Sequenz N005, eine Funktion "Alarmmail", die ausgeführt wird, wenn ein Alarmerzeugnisereignis auftritt, und eine Scriptengineinstanz "VBSEngine", die die Funktion "Alarmmail" ausführt (die Scriptengineinstanz "VBSEngine" führt auch das Script sendmail.vbs aus) abgespeichert. Dann werden, in Sequenzen N006 und N007, eine NC-Anweisung wie eine Verstellung und ein Wechsel von Werkzeugen ausgeführt. In einer Sequenz N008 wird eine Scriptengineinstanz JSEngine aufgerufen, um die Information zum Werkzeugwechsel in der Sequenz N007 aufzuzeichnen, und die Engine führt eine Funktion "RECORDTOOL" aus. In Sequenzen N009, N010 und N011 werden eine NC-Anweisung wie eine Spindeldrehung und schneller Vorschub ausgeführt, und in einer Sequenz N012 wird JSEngine aufgerufen, um die Vorschubrate bei der Ausführung der NC-Anweisung zu berechnen und in einer Datenbank aufzuzeichnen. In einer Sequenz N013 wird die Bearbeitungsvorschub-Anweisung ausgeführt. In einer Sequenz N014 wird eine Funktion "DUFIXEDCYCLE" im in der 3 dargestellten Scriptprogramm "Scriptlibrary.js" aufgerufen, und es wird eine Steuerung eines Bearbeitungsvorgangs in einem durch die Funktion angegebenen festen Zyklus ausgeführt. Dann wird, in einer Sequenz N075, die Engine VBSEngine für das Emailsendescript aufgerufen, um eine den Abschluss des numerischen Steuerungsprogramms anzeigende Email zu senden, und das numerische Steuerungsprogramm wird durch eine Abschlussanweisung in einer Sequenz N076 abgeschlossen. Um ein derartiges numerische Steuerungsprogramm auszuführen, empfängt, wenn der Prozess durch den Programminterpretierer 3 gestartet wird (Schritt S1), derselbe vom Programmleser 2 einen Block im numerischen Steuerungsprogramm (Schritt S2), und er übersetzt den empfangenen Block (Schritt S3). So wird die Übersetzunge des Blocks durch ein Unterprogramm gestartet (Schritt S11). Wenn der empfangene Block einer Verstellanweisung entspricht, wie die in der 2 dargestellten Blöcke mit den Sequenznamen N006, N010 und N013 (Schritt S12), wird ein Funktionserzeugungsmodus, wie Abschlusspunkt, Verstellgeschwindigkeit, Linie und Bogen berechnet (Schritt S13), und diese Information wird an den Funktionsgenerator 4 übertragen (Schritt S14), um eine Funktion zu erzeugen. Der Funktionsgenerator 4 überträgt ein Geschwindigkeitsanweisungssignal an den Servotreiber 5. Der Servotreiber 5 steuert den Servomotor 6, während er ein Rückkopplungssignal vom Detektor 7 empfängt, so dass der Servomotor 6 auf Grundlage des Drehzahl-Sollsignals mit der Solldrehzahl arbeitet.
  • Der Programminterpretierer 3 übersetzt das Programm mit der Einheit eines empfangenen Blocks. Wenn der Block eine Anweisung für eine Peripherievorrichtung ist, wie der Block mit den Sequenznamen N007 und N009 in der 2 (Schritt S15), wird eine Peripherievorrichtungs-Betriebsanweisung an die PLC-Steuerung 8 übertragen (Schritt S16). Die PLC-Steuerung 8 liefert ein Ansteuersignal an den Peripherievorrichtungstreiber 9, und sie steuert die Peripherievorrichtung 10, wie einen Werkzeugwechsler und eine Spindel, an. Der Programminterpretierer 3 übersetzt auch das Programm mit der Einheit eines empfangenen Blocks, und wenn der Block eine Scriptanweisung ist, wie die Blöcke mit den Sequenznamen N001-N005, N008, N014 und N075 (Schritt 17), wird ermittelt, ob die Scriptanweisung im Modus mit "asynchronem Start" vorliegt oder nicht (Schritt S18). Wenn die Scriptprogramm nicht im Modus mit asynchronem Start vorliegt (d.h., die Scriptanweisung liegt im Modus mit synchronem Start vor), wartet der Programminterpretierer 3 auf den Abschluss des vorigen Blocks (Schritt S19). Wenn der vorige Block abgeschlossen ist, liefert der Programminterpretierer 3 eine Ausführungsanforderung für die Scriptanweisung an die Scriptengine 12 (Schritt S20).
  • Für den Block mit dem Sequenznamen N075 wird, da dieser Block eine Anweisung SCALLS ist und im Modus mit asynchronem Start vorliegt, in dem die Ausführung nicht auf den Abschluss der Ausführung des vorigen Blocks wartet, wird der Schritt S19 übersprungen. Anders gesagt, wird das Script ausgeführt, während die Anweisung für schnellen Vorschub im vorigen Block N074 nicht abgeschlossen ist, und der Prozess geht zum Schritt S20 weiter. Dann wird eine Ausführungsanforderung an die Scriptengine 12 geliefert (Schritt S20).
  • Nachdem die Ausführungsanforderung für eine Scriptanweisung an die Scriptengine 12 geliefert wurde, wird ermittelt, ob die Scriptanweisung im Modus mit asynchroner Wiederaufnahme vorliegt oder nicht (Schritt S21). Wenn ermittelt wird, dass die Scriptanweisung nicht im Modus mit asynchroner Wiederaufnahme vorliegt, wartet der Programminterpretierer 3 auf den Abschluss der Aufführung der Scriptanweisung (Schritt S22). Wenn andererseits ermittelt wird, dass die Scriptan weisung im Modus mit asynchroner Wiederaufnahme vorliegt, geht der Prozess zum Schritt S25 weiter, ohne auf den Abschluss der Ausführung der Scriptanweisung zu warten. Zum Beispiel wird, da der Block N008 eine Anweisung SCALLE im Modus mit asynchroner Wiederaufnahme ist, in dem nicht auf den Abschluss der Ausführung des Scripts gewartet wird, wird der Schritt S22 übersprungen, und der Prozess geht zum Schritt S25 weiter, und es wird die Übersetzung dieses Blocks abgeschlossen. Wenn im Schritt S22 auf den Abschluss des Scripts zu warten ist (d.h., wenn das Script nicht im Modus mit asynchroner Wiederaufnahme vorliegt), wird die Verarbeitung des folgenden Blocks nicht gestartet, bevor nicht die Ausführung des Script abgeschlossen ist.
  • Selbst wenn der Block ein solcher einer Scriptanweisung ist, die nicht im Modus mit asynchroner Wiederaufnahme vorliegt, wird, wenn die Ausführung eines in einem G-Code geschriebenen Blocks von innerhalb des Scriptprogramms angewiesen wird, wie durch die Scriptanweisung angegeben, der von innerhalb des Scriptprogramms angewiesene Block selbst dann ausgeführt, wenn die Ausführung des der Scriptanweisung entsprechenden Prozesses nicht abgeschlossen ist. Ein derartiger Aufruf eines Blocks in einem G-Code von innerhalb des Scriptprogramms wird durch eine NC-Komponenteneinheit 13 realisiert.
  • Genauer gesagt, wird, selbst dann, wenn im Schritt S22 ermittelt wird, dass die Ausführung des Scripts nicht abgeschlossen ist, wenn die Ausführung eines Blocks durch die NC-Komponenteneinheit 13 angefordert wird (Schritt S23), der angeforderte Block übersetzt (Schritt S24). Die Verarbeitung des Blocks erfolgt durch rekursives Aufrufen des Schritts 511. Die Struktur und die Verarbeitung in Zusammenhang mit der NC-Komponenteneinheit 13 werden später detaillierter beschrieben.
  • Wenn die Übersetzung eines Blocks im Schritt S25 abgeschlossen ist, kehrt die Prozedur zum Schritt S4 zurück, und es wird ermittelt, ob ein Rückkehrendcode (M02) ausgeführt wird oder nicht (Schritt S4). Wenn der Prozess nicht abgeschlossen ist, werden die Schritte ab dem Schritt S2 wiederholt. Wenn andererseits der Prozess abgeschlossen ist, wird eine Endeanweisung auch an die Scriptengine geliefert (Schritt S5), und es wird die Programmübersetzung abgeschlossen (Schritt S6).
  • In der obigen Beschreibung sind die Spindelverstellanweisung, die Peripherievorrichtungs-Betriebsanweisung und die Scriptanweisung als separate Einträge in verschiedenen Blöcken beschrieben, um die Erläuterung zu vereinfachen, jedoch ist die Erfindung nicht auf eine derartigen Konfiguration eingeschränkt, sondern diese Anweisungen können gemischt und in einem Block beschrieben werden. Außerdem sind die mnemotechnischen Begriffe und das Aufrufverfahren nur beispielhaft, und sie können gegenüber den oben Beschriebenen verschieben sein.
  • Als Nächstes wird eine Operation der Scriptengine 12 auf Grundlage des Flussdiagramms der 7 beschrieben. Eine Operation der Scriptengine 12 wird gestartet, wenn die Übersetzung des numerischen Steuerungsprogramms gestartet wird (Schritt S31), und es wird untersucht, ob eine Scriptanweisung vom Programminterpretierer 3 vorliegt (Schritt S32) oder ob ein Erfassungsereignis vom Ereignisdetektor 14 vorliegt (Schritt S43). Wenn bei der Untersuchung bei der Ausführung im Schritt S20 durch den Programminterpretierer 3 eine Scriptanweisung aufgefunden wird, wird ein Block derselben vom Programminterpretierer 3 empfangen (Schritt S33).
  • Wenn die empfangene Scriptanweisung "SCRIPT" ist (Schritt S34), wird entsprechend dem spezifizierten Sprachenamen eine Scriptengineinstanz erzeugt (Schritt S35).
  • Wenn die empfangene Scriptanweisung "SLOAD" ist (Schritt S36), wird ein Scriptprogramm in die spezifizierte Scriptengineinstanz geladen (Schritt S37).
  • Wenn die empfangene Scriptanweisung eine der Anweisungen "SCALL" "SCALLS" und "SCALLE" ist (Schritt S38), wird die Funktion mit dem spezifizierten Funktionsnamen aufgerufen und durch die spezifizierte Scriptengineinstanz ausgeführt (Schritt S39). Die unterschiedlichen Operationen zwischen SCALL, SCALLS und SCALLE werden durch den Programminterpretierer 3 bewerkstelligt.
  • Wenn die empfangene Scriptanweisung "SEVENT" ist (Schritt S40), werden der Ereignistyp, die spezifizierte Scriptengineinstanz sowie eine Funktion mit dem spezifizierten Funktionsnamen, die als Parameter in der Anweisung spezifiziert sind, registriert (Schritt S41).
  • Wenn die empfangene Scriptanweisung eine im Schritt S5 gelieferte Endeanweisung ist (Schritt S42), wird der Prozess abgeschlossen (Schritt S45).
  • In einem Schritt S43 wird ermittelt, ob im Ereignisdetektor 14 ein Ereignis eines Erfassungsziels, wie PSELECT, ALARM, START, END und RESET, erkannt wurde oder nicht, und wenn ein derartiges Ereignis erkannt wurde, wird durch eine spezifizierte Scriptengine auf Grundlage von vorab in einem Schritt S41 gespeicherter Information die spezifizierte Funktion ausgeführt (Schritt S44).
  • Nun wird ein in der 9 dargestelltes zweites Beispiel eines numerischen Steuerungsprogramms beschrieben. Beim in der 2 veranschaulichten numerische Steuerungsprogramm sind verschiedene mnemotechnische Begriffe eingeführt, um die Scriptanweisung auszuführen. Beim durch die 9 veranschaulichten numerische Steuerungsprogramm wird andererseits ein Programm direkt in der Scriptsprache beschrieben und mit einem numerische Steuerungsprogramm im G-Code gemischt. Wenn eine derartige gemischte Beschreibung verwendet wird, besteht der Vorteil, dass der Gesamtablauf einfacher als dann erfasst werden kann, wenn das numerische Steuerungsprogramm und das Scriptprogramm separat vorliegen, wie es in den 2-4 angegeben ist.
  • Beim durch die 9 veranschaulichten Programm wird der Anfang einer Scriptsprache durch eine Marke "<?" gekennzeichnet, und dann wird das Ende derselben durch eine Marke "?>" gekennzeichnet.
  • Der Programminterpretierer 3 zum Verarbeiten des durch die 2 veranschaulichten Programms wird dadurch realisiert, dass eine Funktion zum Übersetzen der oben angegebenen mnemotechnischen Begriffe zur Scriptverarbeitung zum Programminterpretierer für eine NC auf PC-Basis gemäß der einschlägigen Technik hinzugefügt wird. Wenn andererseits das durch die 9 veranschaulichte Programm zu verarbeiten ist, kann der Programminterpretierer 3 dadurch erhalten werden, dass die Funktion des Interpretierers 3 gemäß der einschlägigen Technik so erweitert wird, dass er über eine Funktion zum Erkennen des Starts und des Endes der Scriptbeschreibung durch Marken verfügt und die Scriptbeschreibung zwischen dem Start und dem Ende an die Scriptengine 12 liefert.
  • Die 8 ist ein Diagramm, das die Struktur einer numerische Steuerung zeigt, die das durch die 9 veranschaulichte numerische Steuerungsprogramm übersetzen und ausführen kann. In der 8 sind Komponenten, deren Funktion derjenigen der Komponenten in der 1 ähnlich ist, mit denselben Bezugszahlen gekennzeichnet, und sie werden nicht erneut beschrieben, während Komponenten mit demselben Namen aber anderen Funktionen andere Bezugszahlen zugewiesen sind.
  • Ein numerisches Steuerungsprogramm 81 ist ein solches, in dem ein Programm in einem G-Code und ein Scriptprogramm gemischt sind und ähnlich wie das durch die 9 veranschaulichte numerische Steuerungsprogramm beschrieben sind. Ein Numeriksteuerprogramm/Scriptprogramm-Separator 82 zerlegt das numerische Steuerungsprogramm 81 in eine temporäre Datei 83 für ein numerisches Steuerungsprogramm (temporäre Datei für das numerische Steuerungsprogramm) im G-Code und mit mnemotechnischen Begriffen, und eine temporäre Datei 84 für ein Scriptprogramm (temporäre Datei für ein Scriptprogramm) (ein zugehöriges Beispiel ist in der 11 dargestellt). Ein Textstring, der von einer Startmarke bis zu einer entsprechenden Endmarke im numerischen Steuerungsprogramm 81 angegeben ist, wird zu einer temporären Datei 84 für ein Scriptprogramm. Es können Fälle existieren, bei denen mehrere Scriptprogramme im numerischen Steuerungsprogramm angegeben sind. In derartigen Fällen wird jedes der Scriptprogramme entnommen, und es bildet eine temporäre Datei. Durch Einstellen dieser Dateien als Eingangsdateien für den Programmleser 2 und die Scriptengine 12 ist es möglich, Strukturen zu verwenden, die mit denen der numerischen Steuerung der 1 übereinstimmen.
  • Die 12 zeigt ein Flussdiagramm einer Prozedur für den Numeriksteuerprogramm-Scriptprogramm-Separator 82 zum Aufteilen des numerischen Steuerungsprogramms (auch in der 9 dargestellt) in die temporäre Datei 83 für ein numerisches Steuerungsprogramm (in der 10 dargestellt) und die temporäre Datei 84 für ein Scriptprogramm (in der 11 dargestellt).
  • Wenn die Aufteilung des numerischen Steuerungsprogramms und des Scriptprogramms gestartet wird (Schritt S51), wird die temporäre Datei 82 für das numerische Steuerungsprogramm (beim dargestellten Beispiel mit dem Namen "TEMP.NC") in einem Schreibmodus geöffnet, und die geöffnete Datei wird als temporäre Datei TPF eingetragen (Schritt S52). Dann wird die temporäre Datei 84 für das Scriptprogramm (beim dargestellten Beispiel mit dem Namen "TEMP.js") in einem Schreibmodus geöffnet, und die geöffnet Datei wird als temporäre Datei TSF eingetragen (Schritt S53).
  • Es wird eine Zeile des numerischen Steuerungsprogramms 81 gelesen und in eine Variable st eingetragen (Schritt S54). Wenn die Variable st das Ende der Datei anzeigt (Schritt S55), wird die Aufteilung abgeschlossen (Schritt S66).
  • Ein "<?" am Kopf der Variablen st (Schritt S56) zeigt den Start des Scriptprogramms an, weswegen ein Prozess ab einem Schritt S51 ausgeführt wird. Andernfalls zeigt der Kopf ein numerisches Steuerungsprogramm in einem G-Code an, und die Variable st wird in die temporäre Datei 83 für das numerische Steuerungsprogramm eingeschrieben, d.h. TPF (Schritt S57), und es wird der Prozess ab dem Schritt S54 wiederholt.
  • Wenn der Kopf der Variablen st im Schritt S56 als "<?" ermittelt wird, werden drei Zeilen von "SCRIPT JScript, JSEngine", "SLOAD TEMP.js, JSEngine" und "SCALL JPFunc0, JSEngine" in die temporäre Datei 83 für das numerische Steuerungsprogramm eingeschrieben, d.h. TPF (Schritte S58-S60). Dies ist ein Prozess zum Ersetzen des direkt im numerischen Steuerungsprogramm 81 angegebenen Scripts durch eine der Angabe äquivalente Angabe unter Verwendung mnemotechnischer Begriffe für das in der 2 veranschaulichte Script. Als Typ der Scriptsprache und als Name der Scriptengineinstanz ist es möglich, diejenigen zu verwenden, wie sie in der Scriptbeschreibung im numerischen Steuerungsprogramm 81 angebeben sind (vierte Zeile in der 9). Der Funktionsname JSFuncO kann automatisch erzeugt werden. Dann wird "function JSFunco()(" in die temporäre Datei 84 für das Script eingeschrieben, d.h. TSF (Schritt S61), um den Namen einer im mnemotechnischen Begriff spezifizierten Funktion in der Zwischendatei 83 für das numerische Steuerungsprogramm und die in der temporären Datei 84 für das Script beschriebene tatsächliche Funktion zu korrelieren. Die Beschreibung einer Zeile wird aus dem numerischen Steuerungsprogramm 81 in eine Variable st gelesen (Schritt S62). Wenn der Kopf der Variablen st "?>" ist, zeigt sie das Ende des Scriptprogramms an (Schritt S63), und der Prozess geht zu einem Schritt S65 weiter. Andernfalls wird die Variable st in die temporäre Datei 84 für das Script, d.h. TSF, geschrieben (Schritt S64), und es wird der Prozess ab dem Schritt S62 wiederholt. Wenn das Ende des Scriptprogramms erreicht ist, wird "}", was das Ende der Funktion anzeigt, in die temporäre Datei 84 für das Script geschrieben, d.h. TSF, und es wird der Prozess ab dem Schritt S54 wiederholt.
  • Auf diese Weise wird das numerische Steuerungsprogramm 81 in die temporäre Datei 83 für das numerische Steuerungsprogramm und die temporäre Datei 84 für das Scriptprogramm unterteilt, und unter Verwendung der Teildateien als Eingabe für den Interpretierer 3 für das numerische Steuerungsprogramm und die Scriptengine 12 ist es möglich, eine numerische Steuerung zu realisieren, die das in der 9 dargestellte numerische Steuerungsprogramm übersetzt und ausführt, in dem G-Code und ein Scriptprogramm gemischt und beschrieben sind, wozu die unter Bezugnahme auf die 1 erläuterte numerische Steuerung verwendet wird.
  • Bei der oben beschriebenen Ausführungsform sind der Start und das Ende des Scriptprogramms durch "<?" und "?>" angegeben, jedoch ist die Erfindung nicht auf diese Konfiguration beschränkt, sondern es können andere Symbole verwendet werden. Obwohl bei der in den 9-12 dargestellten beispielhaften Konfiguration im numerischen Steuerungsprogramm 81 Einschränkungen vorhanden sind, wie die, dass im numerische Steuerungsprogramm nur eine oder weniger an Scriptbeschreibung auftritt, das nur JScript als Scriptsprache verwendet wird, dass nur eine Scriptengineinstanz verwendet wird und dass eine Funktionsdefinition verhindert ist, bildet das Beseitigen dieser Einschränkungen eine natürliche Erweiterung innerhalb des Schutzumfangs der Erfindung.
  • Bei der Beschreibung der vorliegenden Ausführungsform sind JScript und VBScript als beispielhafte Scriptsprachen angebeben, jedoch ist es möglich, Sprachen wie Java registrierte Handelsbezeichnung)script, Perl, Ruby oder dergleichen, oder ein Shellscript mittels einer Shell zu verwenden, wie B-Shell, C-Shell oder dergleichen, wie bei UNIX (registrierte Handelsbezeichnung) und Windows (registrierte Handelsbezeichnung) verwendet. Außerdem werden zwar bei der bevorzugten Ausführungsform der Erfindung ein Argument und ein Rücklieferungswert aus dem Scriptprogramm nicht übergeben, jedoch ist es auch möglich, die Struktur auf einfache Weise so zu konfigurieren, dass diese Werte vergeben werden. Darüber hinaus existieren als numerisches Steuerungsprogramm, zusätzlich zum in den Zeichnungen veranschaulichten vereinfachten numerischen Steuerungsprogramm, Programme, bei denen ein oder mehrere Unterprogramme aus einem Hauptprogramm aufgerufen werden. Es ist auch möglich, die Struktur so zu konfigurieren, dass ein in einer Scriptsprache geschriebenes Programm sowohl aus dem Hauptprogramm als auch dem Unterprogramm aufgerufen wird, und auch diese Fälle befinden sich innerhalb des Schutzumfangs der Erfindung.
  • Die 13 und 14 zeigen Beispiele einer Hardwarestruktur einer numerischen Steuerung, die ein in einer Scriptsprache geschriebenes Programm aufrufen kann, gemäß einer bevorzugten Ausführungsform der Erfindung.
  • Bei der in der 13 dargestellten Struktur führt eine CPU (zentrale Verarbeitungseinheit) 101 verschiedene Programme, die in einem ROM 102 oder einem Festplatten-Laufwerk 104 gespeichert sind, unter Verwendung eines RAM 103 als Arbeitsraum aus. Durch die Ausführung des Programms werden der Programmleser 2, der Programminterpretierer 3, der Funktionsgenerator 4, die Scriptengine 12, die NC-Komponenteneinheit 13, der Ereignisdetektor 14 und der Speicher 15 für gemeinsame Variable realisiert. Eine Ablaufsteuerung 105 entspricht der PLC-Steuerung 8 der 1, und es handelt sich um eine programmierbare Steuerung, die die Sequenzsteuerung ausführt. Ein Grafikdisplay-Controller 107 ist eine Schaltung zum Steuern einer Schirmanzeige für ein Display 109, und eine Bedienkonsole I/F (Schnittstelle) 111 ist eine Schnittstellenschaltung zum Steuern z. B. einer Hardwaretaste und einer Anzeigeeinheit an einer Bedienkonsole 112. Eine Servosteuerung 113 ist eine dem Servotreiber 5 der 1 entsprechende Hardwareschaltung, die eine Regelung eines Servomotors 114 entsprechend einer Anweisung von der CPU 101 unter Verwendung eines Erfassungssignals von einem Positionsdetektor ausführt.
  • Die Struktur der 13 versucht gleichzeitig eine Echtzeitsteuerung und eine Nicht-Echtzeitsteuerung durch eine CPU 101 zu realisieren, und dies kann dadurch erfolgen, dass ein Echtzeit-OS (Betriebssystem) wie ITRON und ein Universal-OS wie UNIX (registrierte Handelsbezeichnung) und Windows (registrierte Handelsbezeichnung) kombiniert werden. In diesem Fall ist es bevorzugt, eine Rechensteuerung eines Abschnitts 22 in der 1 (d.h., den Programmleser 2, den Programminterpretierer 3, den Ereignisdetektor 14 und den Speicher 15 für gemeinsame Variable) im Echtzeit-OS zu realisieren, und die Rechensteuerung eines Abschnitts 21 in der 1 (d.h. die Scriptengineeinheit 12 und die NC-Komponenteneinheit 13) im Universal-OS zu realisieren. Bei einer derartigen Struktur kann stabiler Betrieb in Bezug auf eine zeitliche Einschränkung bei einem Echtzeit-OS für die Programmübersetzung mittels des G-Codes erwartet werden und im in der Scriptsprache geschriebenen Programm kann eine große Auswahl von Funktionen im Universal-OS leicht verwendet werden, was erhöhte Zweckdienlichkeit ermöglicht.
  • Bei der Struktur der 14 ist die numerische Steuerung durch zwei separate Abschnitte mit einem Abschnitt 120, der durch ein Universal-OS wie UNIX (registrierte Handelsbezeichnung) und Windows (registrierte Handelsbezeichnung) gesteuert wird, und einen Abschnitt 121, der durch ein Echtzeit-OS wie ITRON gesteuert wird, gebildet. Die zwei Abschnitte 120 und 121 verfügen über CPUs 101 bzw. 101a, ROMs 102 bzw. 102a und RAMs 103 bzw. 103a, um ein Programm auszuführen, und sie sind durch eine Bus-I/F 115 miteinander verbunden. In der 14 sind Komponenten, die mit solchen in der 13 identisch sind, dieselben Bezugszahlen zugewiesen, und sie werden nicht erneut beschrieben.
  • Bei der Struktur der 14 ist es bevorzugt, dass die Rechensteuerung des Abschnitts 21 der 1 durch den durch das Universal-OS gesteuerten Abschnitt 120 realisiert wird und die Rechensteuerung des Abschnitts 22 der 1 durch den durch das Echtzeit-OS gesteuerten Abschnitts 121 realisiert wird, und zwar aus Gründen, die ähnlich denen für die Konfiguration der 13 sind. In diesem Fall sind die Bedienkonsole-I/F 111 und die Servosteuerung 113 zum Regeln einer Werkzeugmaschine im durch das Echtzeit-OS gesteuerten Abschnitt 121 vorhanden. Im durch das Universal-OS gesteuer ten Abschnitt 120 ist dagegen eine Benutzerschnittenvorrichtung angeschlossen, wie der Grafikdisplay-Controller 107 zum Steuern der Schirmanzeige.
  • Die Bus-I/F 115 kann ein üblicher Speicher oder FIFO sein, oder, alternativ, kann die Bus-I/F 115 einen Anschluss über eine RS 232CC- und eine Ethernet(registrierte Handelsbezeichnung)-Verbindung bilden.
  • Als Nächstes wird die NC-Komponenteneinheit 13 der 1 beschrieben.
  • Die NC-Komponenteneinheit 13 wird durch die Scriptengine 12 aufgerufen, und sie führt eine Funktion zur numerischen Steuerung aus. Die Funktion zur numerischen Steuerung verfügt über einen Funktionsnamen, der mit "nc." beginnt, wie die in der 3 dargestellte Funktion nc.SetCommonVar. Wenn die Scriptengine 12 eine Funktion mit einem derartigen Funktionsnamen in auszuführenden Scriptprogramm erkennt, ruft sie die in der NC-Komponenteneinheit 13 enthaltene Funktion auf. Die aufgerufene Funktion der NC-Komponenteneinheit 13 erzeugt eine Anweisung in einem G-Code entsprechend einem Argument der Funktion, und sie liefert diese Anweisung im G-Code an den Programminterpretierer 3, um die Ausführung derselben anzuweisen. Unter den durch die NC-Komponenteneinheit 13 bereitgestellten Funktionen existiert eine solche zum Handhaben einer im Speicher 15 für gemeinsame Variable gespeicherten gemeinsamen Variablen. Die gemeinsame Variable ist eine solche, die für die Ausführung des numerischen Steuerungsprogramms durch den Programminterpretierer 3 und die Ausführung des Scriptprogramms in der Scriptengine 12 gemeinsam gilt. Die NC-Komponenteneinheit 13 liefert ein Programm z. B. entsprechend dem folgenden Teilprogramm, wie es im Scriptprogramm der 3 verwendet wird. Unter diesen Funktionen bildet die Funktion SetCommon Var eine solche zum Ändern eines Werts der im Speicher 15 für gemeinsame Variable gespeicherten gemeinsamen Variablen, die Funktion GetCommonVar bildet eine Funktion zum Lesen eines Werts der gespeicherten gemeinsamen Variablen, und die Funktion ExecuteBlock bildet eine Funktion zum Übersetzen und Ausführen eines Blocks.
    nc.SetCommonVar(number, value)
    string=nc.GetCommonVar(number)
    nc.ExecuteBlock(blockString)
  • Genauer gesagt, gibt im in der 3 veranschaulichten Script die Beschreibung:
    nc.SetCommonVar(1,feed)
    an, dass der Inhalt der Variablen "feed" in die erste der gemeinsamen Variablen einzusetzen ist. Die Beschreibung:
    nc.ExecuteBlock("G81 ZO R50 P1 F100")
    zeigt an, dass ein Block des numerischen Steuerungsprogramms innerhalb des Scriptprogramms auszuführen ist. Bei dieser Beschreibung wird ein fester Zyklus entsprechend der Anweisung G81 ausgeführt. Beim veranschaulichten Beispiel ist ein einfaches Beispiel eines festen Textstrings beschrieben. Jedoch ist es unter Verwendung einer Textstring-Berechnungsfunktion in der Scriptsprache auch möglich, einen Textstring eines im G-Code geschriebenen Blocks unter Verwendung eines in der Scriptsprache geschriebenen Programms zu erzeugen und auszuführen. Zum Beispiel zeigt im veranschaulichten Scriptbeispiel der 3 die Beschreibung:
    var cycle=nc.GetCommonVar(2):
    var block="G" & cycle & " ZO R50 P1 F" & feed;
    nc.ExecuteBlock(block)
    einen Prozess an, bei dem der zweite Wert der gemeinsamen Variablen gelesen wird und in eine Variable "cycle" eingesetzt wird, und ein im G-Code geschriebener Block in eine Variable "block" unter Verwendung der Variablen "cycle" als Textstringoperator eingesetzt wird und der Textstring der Variablen "block" übersetzt und ausgeführt wird.
  • Die Erfinder in der vorliegenden Sache haben in der japanischen Patentanmeldung Nr. 2003-343279, "Interfacing method of device driver" eine Vorrichtung für Kommunikation zwischen einem Echtzeit-OS (das Echtzeit-OS arbeitet als Teil eines Kernels eines Universal-OS) und einem Anwendungsabschnitt eines Universal-OS unter Verwendung eines Komponentenmechanismus vorgeschlagen. Als Komponentenmechanismus kann z. B. COM (Component Object Model), wie von Microsoft Corporation geliefert, verwendet werden. Die NC-Komponenteneinheit 13 bei der vorliegenden Ausführungsform kann unter Verwendung einer Kommunikationsvorrichtung mit Verwendung des Komponentenmechanismus leicht realisiert werden. Die 15 bildet einen Auszug einer Schnittstellendefinition (Datei IDL) der NC-Komponente. In dieser Beschreibung ist eine Schnittstelle von durch die NC-Komponenteneinheit 13 gebildeten Funktionen zur Scriptengine durch z. B. GetCommonVar, ExecuteBlock usw. angegeben. Die NC-Komponenteneinheit 13 wird durch Verarbeiten der IDL-Datei durch einen IDL-Compiler zum Erzeugen einer Proxyeinheit und einer Stubeinheit realisiert, und unter Verwendung der Proxyeinheit als Teil der durch das Universal-OS gesteuerten Software sowie der Stubeinheit als Teil der durch das Echtzeit-OS gesteuerten Software. Unter Verwendung dieser Vorrichtung ist die Erweiterung von Funktionen durch Hinzufügen einer Funktion zur NC-Komponenteneinheit 13 erleichtert, was eine deutliche Erhöhung des Nutzungsbereichs zum Erhalten von Daten für eine Echtzeiteinheit aus der Scriptsprache und zum Aufrufen einer Funktion ermöglicht.
  • Mit der erfindungsgemäßen numerische Steuerung, bei der ein in einer Scriptsprache geschriebenes Programm aus dem numerischen Steuerungsprogramm aufgerufen werden kann, können die meisten durch eine Scriptsprache realisierbaren Funktionen realisiert werden, wie eine Funktion zum Senden von Emails, eine Funktion für Zugriff auf eine Datenbank und zum Aktualisieren von Daten in dieser, eine Funktion zum Anzeigen von Grafik auf einem Schirm sowie eine Funktion zum Zugreifen auf verschiedene durch eine numerische Steuerung bereitsgestellte Funktionen. Da die numerischen Steuerungsprogramme gemäß der einschlägigen Technik diese Funktionen nicht ausführen können, kann die Funktion der numerischen Steuerung gemäß der Erfindung wesentlich verbessert werden. Außerdem besteht, da eine Scriptsprache leicht erlernt werden kann, ein Vorteil dahingehend, dass eine beträchtliche Anzahl von Personen die numerische Steuerung leicht anpassen kann.
  • Gemäß einer bevorzugten Konfiguration der Erfindung kann das Scriptprogramm synchron oder asynchron zum Ende des vorigen Blocks des numerischen Steuerungsprogramms oder zum Start des nächsten Blocks desselben gestartet und beendet werden, was eine Verarbeitung sowohl bei einer Konfiguration, bei der das Timing wesentlich ist als auch einer Konfiguration ermöglicht, bei der zwei Prozesse durch Parallelverarbeitung schnell auszuführen sind.
  • Gemäß einer anderen bevorzugten Konfiguration der Erfindung besteht, da ein in einer Scriptsprache geschriebenes Programm gemischt mit einem numerischen Steuerung geschrieben und durch Marken abgetrennt werden kann, ein Vorteil dahingehend, dass der Ablauf von Operationen des numerischen Steuerungsprogramms und des Scriptprogramms leicht verständlich sind.
  • Gemäß einer anderen bevorzugten Konfiguration der Erfindung ist es möglich, da ein in einer Sprache zum Beschreiben eines numerischen Steuerungsprogramms (z. B. G-Code) beschriebener Block vom Scriptprogramm ausgeführt werden kann, einen Textstring, der aus dem in der Scriptsprache geschriebenen Programm berechnet wird, als in der Sprache für ein numerisches Steuerungsprogramm geschriebenes Teilprogramm auszuführen. Darüber hinaus besteht ein Vorteil dahingehend, dass ein numerisches Steuerungsprogramm automatisch erzeugt und entsprechend dem Ablauf des numerischen Steuerungsprogramms ausgeführt werden kann.
  • Gemäß einer anderen bevorzugten Konfiguration der Erfindung besteht, da die Struktur durch separate Einheiten eines Interpretierers für ein numerisches Steuerungsprogramm und eine Scriptengine realisiert wird, ein Vorteil dahingehend, dass ein in einer Scriptsprache geschriebenes Programm aufgerufen werden kann, ohne dass der Interpretierer für ein numerisches Steuerungsprogramm gemäß der einschlägigen Technik wesentlich zu ändern wäre.
  • Gemäß einer anderen bevorzugten Konfiguration der Erfindung besteht, da die Scriptengine mehrere Scriptengineinstanzen erzeugen kann, ein Vorteil dahingehend, dass verschiedene Scriptsprachen in einem ein Unterprogramm enthaltenden numerischen Steuerungsprogramm gemischt werden können.
  • Gemäß einer anderen bevorzugten Konfiguration der Erfindung besteht, da ein Scriptprogramm entsprechend einem Ereignis spezifiziert werden kann, ein Vorteil dahingehend, dass es möglich ist, eine dem Ereignis entsprechende Operation auszuführen, z. B. ein Scriptprogramm wie das Registrieren des Auftretens des Ereignisses in einer Datenbank, auszuführen.

Claims (13)

  1. Numerische Steuerung, die eine Werkzeugmaschine auf Grundlage eines numerischen Steuerungsprogramms steuert, mit: – einem Ausführungsabschnitt für numerische Steuerungsprogramme, der ein numerisches Steuerungsprogramm ausführt; und – einem Scriptaufrufabschnitt, der während der Ausführung des numerischen Steuerungsprogramms durch den Ausführungsabschnitt für numerische Steuerungsprogramme ein in einer Scriptsprache geschriebenes Scriptprogramm aus einem numerischen Steuerungsprogramm aufruft.
  2. Numerische Steuerung nach Anspruch 1, bei der: – der Scriptaufrufabschnitt als Teil des Ausführungsabschnitts für numerische Steuerungsprogramme ausgebildet ist; – der Scriptaufrufabschnitt eine oder mehrere vorbestimmte Scriptanweisungen erkennen kann; und – wenn der Scriptaufrufabschnitt während der Ausführung eines numerischen Steuerungsprogramms eine Scriptanweisung in diesem erkennt, er ein Scriptprogramm aufruft, das durch einen an die erkannte Scriptanweisung angefügten Parameter angegeben ist.
  3. Numerische Steuerung nach Anspruch 2, bei der – die eine oder mehreren vorbestimmten Scriptanweisungen zumindest eine Anweisung in einem Modus mit asynchronem Start, in dem der Aufruf des Scriptprogramms gestartet wird, ohne dass auf den Abschluss eines Blocks unmittelbar vor dem Aufruf des Scriptprogramms gewartet würde, und eine Anweisung in einem Modus mit asynchroner Wiederaufnahme, in dem eine Operation eines Blocks folgend auf den Block, der ein Scriptprogramm aufruft, gestartet wird, bevor der Aufruf des Scriptprogramms abgeschlossen ist, beinhalten.
  4. Numerische Steuerung nach Anspruch 1, bei der – der Scriptaufrufabschnitt als Teil des Ausführungsabschnitts für numerische Steuerungsprogramme realisiert ist; – der Scriptaufrufabschnitt eine Startmarke, die den Start eines Scriptprogramms kennzeichnet, und eine Endmarke, die das Ende eines Scripts kennzeichnet, erkennen kann; und – dann, wenn der Scriptaufrufabschnitt aus einem numerischen Steuerungsprogramm während der Ausführung derselben eine Startmarke erkennt, er eine Beschreibung ab der Startmarke bis zur nächsten Endmarke als Scriptprogramm entnimmt und das entnommene Scriptprogramm aufruft.
  5. Numerische Steuerung nach Anspruch 1, bei der – ein Scriptengineabschnitt, der ein durch den Scriptaufrufabschnitt aufgerufenes Scriptprogramm ausführt, über einen Abschnitt verfügt, der den Ausführungsabschnitt für numerische Steuerungsprogramme dazu anweist, ein Teilprogramm auszuführen, das in einer Sprache zum Beschreiben des numerischen Steuerungsprogramms geschrieben ist.
  6. Numerische Steuerung nach Anspruch 1, bei der – ein Scriptengineabschnitt, der ein Scriptprogramm ausführt, separat vom Ausführungsabschnitt für numerische Steuerungsprogramme vorhanden ist.
  7. Numerische Steuerung nach Anspruch 6, bei der – der Scriptengineabschnitt mehrere Scriptengineinstanzen erzeugen kann und – in einem numerischen Steuerungsprogramm ein Scriptprogramm gehandhabt werden kann, das in mehreren verschiedenen Scriptsprachen geschrieben ist.
  8. Numerische Steuerung nach Anspruch 6, bei der – der Ausführungsabschnitt für numerische Steuerungsprogramme in einem Echtzeit-Betriebssystem arbeitet und – der Scriptengineabschnitt in einem Universal-Betriebssystem arbeitet.
  9. Numerische Steuerung nach Anspruch 8, bei der – eine Funktion des Ausführungsabschnitts für numerische Steuerungsprogramme, der im Echtzeit-Betriebssystem arbeitet, unter Verwendung eines Komponentenmechanismus aus einem Scriptprogramm aufgerufen werden kann.
  10. Numerische Steuerung nach Anspruch 1, ferner mit: – einem Scriptengineabschnitt, der ein durch den Scriptaufrufabschnitt aufgerufenes Scriptprogramm ausführt, wobei – der Scriptaufrufabschnitt eine Ereignis-gesteuerte Scriptanweisung zum Registrieren eines Scriptprogramms, das dann wirkt, wenn ein Ereignis auftritt, erkennen kann; – der Scriptaufrufabschnitt, wenn er eine Ereignisgesteuerte Scriptanweisung im numerischen Steuerungsprogramm erkennt, ein Ereignis und ein Scriptprogramm erkennt, das durch einen Parameter der erkannten, Ereignis-gesteuerten Scriptanweisung spezifiziert ist, und er das erkannte Scriptprogramm mit der Spezifizierung des erkannten Ereignisses als Ausführungsbedingung aufruft; und – der Scriptengineabschnitt dann, wenn ein Ereignis im aufgerufenen Scriptprogramm als Ausführungsbedingung spezifiziert ist, das Scriptprogramm dann ausführt, wenn der Scriptengineabschnitt eine das Auftreten des Ereignisses anzeigende Mitteilung empfängt.
  11. Numerische Steuerung nach Anspruch 10, bei der – das Ereignis mindestens eines der folgenden Ereignisse beinhaltet: den Zeitpunkt, zu dem ein numerisches Steuerungsprogramm ausgewählt wird, den Zeitpunkt, zu dem die Ausführung des numerischen Steuerungsprogramms gestartet wird, den Zeitpunkt, zu dem die Ausführung des numerischen Steuerungsprogramms abgeschlossen ist, den Zeitpunkt, zu dem ein Alarm auftritt, und den Zeitpunkt, zu dem ein Rücksetzen auftritt.
  12. Numerische Steuerung, die eine Maschine durch Ansteuern einer Servovorrichtung oder dergleichen auf Grundlage eines numerischen Steuerungsprogramms steuert, bei der – ein in einer Scriptsprache geschriebenes Scriptprogramm, das dann wirkt, wenn ein Ereignis auftritt, spezifiziert werden kann; und – das spezifizierte Scriptprogramm dann ausgeführt wird, wenn das Ereignis auftritt.
  13. Numerische Steuerung nach Anspruch 12, bei der – das Ereignis mindestens eines der folgenden Ereignisse beinhaltet: den Zeitpunkt, zu dem ein numerisches Steuerungsprogramm ausgewählt wird, den Zeitpunkt, zu dem die Ausführung des numerischen Steuerungsprogramms gestartet wird, den Zeitpunkt, zu dem die Ausführung des numerischen Steuerungsprogramms abgeschlossen ist, den Zeitpunkt, zu dem ein Alarm auftritt, und den Zeitpunkt, zu dem ein Rücksetzen auftritt.
DE102005028943A 2004-07-02 2005-06-22 Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann Ceased DE102005028943A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004197377A JP4388427B2 (ja) 2004-07-02 2004-07-02 スクリプト言語で記述されたプログラムを呼出し可能な数値制御装置
JP2004-197377 2004-07-02

Publications (1)

Publication Number Publication Date
DE102005028943A1 true DE102005028943A1 (de) 2006-02-16

Family

ID=35515061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005028943A Ceased DE102005028943A1 (de) 2004-07-02 2005-06-22 Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann

Country Status (3)

Country Link
US (1) US7561927B2 (de)
JP (1) JP4388427B2 (de)
DE (1) DE102005028943A1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006057297A1 (de) * 2006-12-05 2008-06-12 Giesecke & Devrient Gmbh Verfahren zur Überwachung des Ablaufs eines Programms
DE102009052707A1 (de) * 2009-11-11 2011-06-16 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Steuern einer Maschine
EP2493281A1 (de) * 2011-02-24 2012-08-29 Yamaha Hatsudoki Kabushiki Kaisha Komponentenmontagevorrichtung

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE502004010765D1 (de) * 2003-12-22 2010-04-01 Siemens Ag Steuerungs- oder Regelungseinrichtung einer Werkzeug- oder Produktionsmaschine
US8037102B2 (en) * 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7620632B2 (en) * 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7882147B2 (en) * 2004-06-30 2011-02-01 Robert T. and Virginia T. Jenkins File location naming hierarchy
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US20090062950A1 (en) * 2007-08-27 2009-03-05 Ren An Information Technology Co., Ltd. System and method for monitoring production of cnc machines
US9906549B2 (en) * 2007-09-06 2018-02-27 Microsoft Technology Licensing, Llc Proxy engine for custom handling of web content
US20090070663A1 (en) * 2007-09-06 2009-03-12 Microsoft Corporation Proxy engine for custom handling of web content
DE102007056117A1 (de) * 2007-11-15 2009-05-28 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Steuern der Bewegung eines Industrieroboters
JP2009262279A (ja) * 2008-04-25 2009-11-12 Nec Corp ロボット、ロボットプログラム共有システム、ロボットプログラム共有方法およびプログラム
US8688258B2 (en) * 2008-09-11 2014-04-01 Rockwell Automation Technologies, Inc. Method of controlling a machine tool
US8701096B2 (en) * 2009-10-15 2014-04-15 Adobe Systems Incorporated In-order execution in an asynchronous programming environment
EP2667268A1 (de) * 2012-05-24 2013-11-27 Siemens Aktiengesellschaft Verfahren zum Betrieb eines Automatisierungsgeräts
WO2014002125A1 (ja) * 2012-06-25 2014-01-03 三菱電機株式会社 数値制御装置
US20140018972A1 (en) * 2012-07-10 2014-01-16 Michael G. Myrah Enclosure temperature script interpreter
JP5681230B2 (ja) * 2013-04-18 2015-03-04 ファナック株式会社 Dnc運転装置
US9130492B2 (en) 2013-04-22 2015-09-08 Thermadyne, Inc. Animatronic system with unlimited axes
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
CN105912339B (zh) * 2016-04-15 2019-01-29 华中科技大学 一种数控系统中应用的开发与集成方法及系统
JP6532610B2 (ja) * 2016-08-30 2019-06-19 三菱電機株式会社 プログラム編集装置、プログラム編集方法及びプログラム編集プログラム

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51130781A (en) * 1975-05-09 1976-11-13 Toyoda Mach Works Ltd Group controlling system
US4149235A (en) * 1976-12-27 1979-04-10 Mcdonnell Douglas Corporation Computer numerical control system for machine tool
JPS5636709A (en) * 1979-09-04 1981-04-10 Fanuc Ltd Numerical control system
JPS6243703A (ja) * 1985-08-21 1987-02-25 Fanuc Ltd 数値制御システム
JPH01205901A (ja) * 1988-02-09 1989-08-18 Yamazaki Mazak Corp 複合加工工作機械における加工制御方法
JP2692011B2 (ja) * 1990-02-09 1997-12-17 三菱電機株式会社 数値制御自動プログラミング装置
US5740033A (en) * 1992-10-13 1998-04-14 The Dow Chemical Company Model predictive controller
US5784541A (en) * 1996-01-18 1998-07-21 Ruff; John D. System for controlling multiple controllable devices according to a script transmitted from a personal computer
US5801942A (en) * 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
US6268924B1 (en) * 1996-06-06 2001-07-31 Microsoft Corporation Document object having a print interface for programmatic automation by a using program
US6173327B1 (en) * 1996-07-11 2001-01-09 Jeroen De Borst Object-oriented method and apparatus for information delivery
US20030217005A1 (en) * 1996-11-27 2003-11-20 Diebold Self Service Systems, Division Of Diebold, Incorporated Automated banking machine system and method
US5984499A (en) * 1997-09-12 1999-11-16 Manufacturing Data Systems, Inc. Method and apparatus for a numerical control system for processing multiple job streams
JP4319706B2 (ja) 1998-04-10 2009-08-26 株式会社日立製作所 プログラム開発支援ツール
JP2000222335A (ja) 1998-06-30 2000-08-11 Seiko Epson Corp デバイス制御システム、デバイス制御方法、及び上記システムを構築するためのプログラムを記録した記録媒体
JP2000090057A (ja) * 1998-09-11 2000-03-31 Omron Corp グループオブジェクト及び制御システム
JP2000164716A (ja) * 1998-11-26 2000-06-16 Seiko Epson Corp 半導体装置及びその製造方法
DE19929751A1 (de) 1999-06-30 2001-01-18 Siemens Ag System und Verfahren zur Übertragung von Daten, insbesondere zwischen einem Anwender- und einem Serverprogramm im Bereich der Automatisierungstechnik mit verteilten Objekten
US6934934B1 (en) * 1999-08-30 2005-08-23 Empirix Inc. Method and system for software object testing
US6775824B1 (en) * 2000-01-12 2004-08-10 Empirix Inc. Method and system for software object testing
JP2001222412A (ja) 2000-02-07 2001-08-17 Sony Corp データ処理装置
US7012706B1 (en) * 2000-10-10 2006-03-14 Nexpress Digital Llc System and method for interfacing with multiple production scanners
DE10304706A1 (de) * 2002-07-24 2004-02-05 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Anlage
JP3896076B2 (ja) * 2002-12-26 2007-03-22 ファナック株式会社 数値制御装置
US7240212B2 (en) * 2003-02-18 2007-07-03 Ubs Painewebber, Inc. Method and system for secure alert messaging
US7099736B2 (en) * 2003-02-28 2006-08-29 Mori Seiki Co., Ltd. Operation management system
DE10340403A1 (de) * 2003-09-02 2005-04-07 Siemens Ag Echtzeitsteuerverfahren für eine Steuerungseinrichtung eines industriellen technischen Prozesses und Echtzeitbetriebsverfahren für eine Recheneinrichtung
US6903031B2 (en) * 2003-09-03 2005-06-07 Applied Materials, Inc. In-situ-etch-assisted HDP deposition using SiF4 and hydrogen
JP2005108082A (ja) 2003-10-01 2005-04-21 Okuma Corp デバイスドライバのインターフェース方法
US7163896B1 (en) * 2003-12-10 2007-01-16 Novellus Systems, Inc. Biased H2 etch process in deposition-etch-deposition gap fill
US7217658B1 (en) * 2004-09-07 2007-05-15 Novellus Systems, Inc. Process modulation to prevent structure erosion during gap fill
US7176039B1 (en) * 2004-09-21 2007-02-13 Novellus Systems, Inc. Dynamic modification of gap fill process characteristics
US7148155B1 (en) * 2004-10-26 2006-12-12 Novellus Systems, Inc. Sequential deposition/anneal film densification method
US7211525B1 (en) * 2005-03-16 2007-05-01 Novellus Systems, Inc. Hydrogen treatment enhanced gap fill

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006057297A1 (de) * 2006-12-05 2008-06-12 Giesecke & Devrient Gmbh Verfahren zur Überwachung des Ablaufs eines Programms
DE102009052707A1 (de) * 2009-11-11 2011-06-16 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Steuern einer Maschine
DE102009052707B4 (de) * 2009-11-11 2011-09-01 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Steuern einer Maschine
EP2493281A1 (de) * 2011-02-24 2012-08-29 Yamaha Hatsudoki Kabushiki Kaisha Komponentenmontagevorrichtung
US8948900B2 (en) 2011-02-24 2015-02-03 Yamaha Hatsudoki Kabushiki Kaisha Component mounting apparatus

Also Published As

Publication number Publication date
JP4388427B2 (ja) 2009-12-24
JP2006018697A (ja) 2006-01-19
US7561927B2 (en) 2009-07-14
US20060004479A1 (en) 2006-01-05

Similar Documents

Publication Publication Date Title
DE102005028943A1 (de) Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann
EP1184758B1 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
DE69915661T2 (de) Prozesssteuerung
DE102009047025B3 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
EP3538960B1 (de) Ablaufsteuerung von programmmodulen
DE19929821A1 (de) Prozessor-basierendes Steuersystem mit intuitiven Programmierfähigkeiten
WO1998025204A1 (de) Verfahren zum testen von systemkomponenten eines objektorientierten programms
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
DE10253603A1 (de) Verfahren zum Erzeugen von Softwaremodulen für Feldgeräte der Prozessautomatisierungstechnik
DE4226536A1 (de) Programmierbare steuerung mit einer benutzernachrichtenfunktion
EP0838054A1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
WO2021001376A1 (de) Laufzeitserver zum gleichzeitigen ausführen mehrerer laufzeitsysteme einer automatisierungsanlage
WO2014154281A1 (de) Objektbasierte konfiguration einer prozess- und/oder fertigungsanlage
EP1862901A1 (de) Eingabe von Programm-Anweisungen bei imperativen Programmiersprachen
DE102008023873A1 (de) Verfahren zum Betrieb eines Antriebssystems
DE10057575A1 (de) Verfahren zur automatischen Softwaregenerierung
DE10038439B4 (de) Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen
EP2012227A1 (de) Programmieroberfläche zum Programmieren von Computern
EP1195667B1 (de) Universelle Bewegungssteuerung
EP3803522B1 (de) Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems
EP1621945B1 (de) Konsistenzsicherung in einem Automatisierungssystem
EP4086754A1 (de) Verfahren zur rechnergestützten konfiguration eines endgeräts, endgerät und betriebsverfahren für das endgerät
EP1374000B1 (de) Verfahren und anordnung zur bedienung und/oder beobachtung der eine anlagen-steuerung uberwachenden einrichtung
WO2004015564A2 (de) Umsetzeinrichtung, automatisierungsgerät mit einer umsetzeinrichtung und entwicklungsumgebung mit einem automatisierungsgerät mit umsetzeinrichtung
EP1149353B1 (de) Verfahren zur übertragung von simulationsmodellen zwischen simulatoren

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final