DE102016000213A1 - Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm - Google Patents

Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm Download PDF

Info

Publication number
DE102016000213A1
DE102016000213A1 DE102016000213.1A DE102016000213A DE102016000213A1 DE 102016000213 A1 DE102016000213 A1 DE 102016000213A1 DE 102016000213 A DE102016000213 A DE 102016000213A DE 102016000213 A1 DE102016000213 A1 DE 102016000213A1
Authority
DE
Germany
Prior art keywords
control
control software
software
program
optimized
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
DE102016000213.1A
Other languages
English (en)
Inventor
Yuusuke OOKAZE
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 DE102016000213A1 publication Critical patent/DE102016000213A1/de
Ceased 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/34Director, elements to supervisory
    • G05B2219/34325Speed up, optimize execution by combining instructions belonging together

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)

Abstract

Ein Steuersystem berechnet die Einsatzfrequenz einer Funktion, welche durch ein Steuerprogramm eingesetzt wird, auf Basis des Steuerprogramms (und eines Einsatzverlaufes des Steuerprogrammes), und erzeugt einen optimierten Sourcecode durch Optimierung eines Sourcecodes der Steuersoftware auf Basis der berechneten Einsatzfrequenz. Auf Basis des erzeugten optimierten Sourcecodes wird eine optimierte Steuersoftware erzeugt und zu der Ausführungsausstattung der Steuersoftware übertragen.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft eine numerische Steuerung und insbesondere eine solche mit einer Funktion zum Optimieren der Steuersoftware einer numerischen Steuerung entsprechend einem Bearbeitungsprogramm.
  • 2. Zum Stand der Technik
  • Die Steuersoftware einer numerischen Steuerung interpretiert das Bearbeitungsprogramm und erzeugt einen Bewegungsbefehl für einen Motor zum Betreiben einer Werkzeugmaschine. Ein Programm, welches eine Programmiersprache interpoliert und ausführt wird im Allgemeinen als Interpreter (Interpretierer) bezeichnet.
  • Zur Steigerung der Geschwindigkeit eines Interpreters wurde ein Verfahren vorgeschlagen, bei dem im Voraus mehrere Interpreter-Sätze vorbereitet werden, in welchen Module angeordnet sind zur Maximierung der Cache-Effizienz einer bestimmten Befehlsgruppe mit Prüfung der in einem Programm verwendeten Befehle und Auswahl sowie Ausführung der Interpreter-Sätze, welche unter den vorbereiteten Interpreter-Sätzen am schnellsten arbeiten (vgl. beispielsweise JP 2002-229803 A ).
  • Weiterhin wurde zur Erhöhung der Geschwindigkeit der Betriebssoftware selbst und zur Reduzierung des erforderlichen Speicherbedarfs ein Verfahren vorgeschlagen, bei dem Benutzerprofildaten an einen Server geschickt werden und Software erzeugt wird, in welcher eine Reduzierung unnötiger Module und eine Fixierung von Variablen auf Basis der in den Server eingegebenen Benutzerprofildaten durchgeführt wird sowie eine Herunterladung (Downloading) der Software in eine kleinformatige Datenausrüstung zur Ausführung der Software (z. B. JP 2003-216434 A ).
  • Weiterhin wurde ein Verfahren vorgeschlagen zur Verteilung von Anwendungssoftware unter Verwendung eines Kompilierungsservers, welcher zu einem Benutzer passende Software erzeugt auf Basis von Benutzerinformationen, die vom Benutzer gegeben werden und mit Distribution der Software (beispielsweise JP 2000-122871 A ).
  • Eine numerische Steuerung hat eine große Anzahl von Vorbereitungsfunktionen (G-Code) und Hilfsfunktionen (M-Code) zur Anwendung bei verschiedenen Werkzeugmaschinen und weiterhin wurden zusätzliche Funktionen eingeführt mit einem Anstieg der Funktionsanforderungen für Werkzeugmaschinen. Der gesteigerte Aufwand an bedingten Verzweigungsbefehlen durch die Hinzufügung solcher Funktionen führte zu Problemen hinsichtlich eines Abfalls der Prozessgeschwindigkeit, z. B. durch Leitungsversagen und Cache-Fehler.
  • Die oben erwähnte JP 2002-229803 A beschreibt eine Technik mit Verwendung der Statistik von Befehlen, welche ausgewählt und so eingesetzt werden, dass sie Variationen typischer Programme abdecken (Vergleichsprogramme, Netzwerkanwendungen, graphische Anwendungen und dergleichen), wobei die Befehle in mehrere Arten von Befehlsgruppen unterteilt werden unter Berücksichtigung auch der Spezifikation des verwendeten Prozessors und Erzeugung eines Interpreter-Satzes im Voraus zur Maximierung der Cache-Effizienz für jeden Befehlsgruppentyp. Da bei diesem Verfahren die Erzeugung der Software in einer Stufe erforderlich ist, wo noch nicht die Art der tatsächlich im Programm eingesetzten Funktionen klar ist, ist es nicht möglich, Probleme, wie Leitungsblockierung, anzugehen, die durch bedingte Verzweigungsbefehle verursacht sind. Da weiterhin die Vorbereitung einer Vielzahl von Softwarekomponenten erforderlich ist, besteht ein Problem bezüglich der erforderlichen Hilfsmittel und deshalb ist das Verfahren nicht für eine numerische Steuerung mit limitierten Ressourcen geeignet.
  • Bei einer Technik gemäß der oben genannten JP 2003-216434 A erfolgt eine Vermeidung nicht notwendiger Module und Fixierung von Variablen auf Basis von Benutzerprofildaten, wie Informationen bezüglich Witterung in einem vom Benutzer gewünschten Gebiet sowie Vorlieben des Benutzers, z. B., ob er eine textbasierte Schnittstelle oder eine graphikbasierte Schnittstelle bevorzugt. Zwar tritt ein Problem wie die Leitungsblockierung nicht mehr auf, weil aufgrund der Fixierung der Variablen etc. keine bedingten Verzweigungsbefehle selbst mehr auftreten, jedoch werden einige Funktionen nicht mehr einsetzbar, weil die Verarbeitung selbst wegfällt. Dementsprechend tritt ein Problem dahingehend auf, dass eine gewünschte Funktion nicht sofort an Ort und Stelle einsetzbar ist, wenn die Funktion geändert wird und die numerische Steuerung nicht an ein Netzwerk angeschlossen ist. Das heißt: wenn ein ähnliches Verfahren bei einer numerischen Steuerung eingesetzt würde, träten Probleme dahingehend auf, dass der Betrieb unmöglich wird, wenn Parameter und das Bearbeitungsprogramm geändert werden.
  • Zwar wird in der JP 2000-122871 A ein Verfahren beschrieben zum Distributieren optimaler Software zu einem Klienten unter Verwendung des Kompilierungsservers, jedoch wird kein Verfahren beschrieben zur Optimierung der Steuersoftware einer numerischen Steuerung und das System kann nicht eingesetzt werden zur Distributierung von Steuersoftware für eine optimierte numerische Steuerung unter Verwendung des Kompilierungsservers.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Dementsprechend ist ein Ziel der Erfindung die Bereitstellung eines Steuersystems mit einer Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung entsprechend einem Bearbeitungsprogramm.
  • Das Steuersystem gemäß der Erfindung enthält: eine Ausführungsausstattung der Steuersoftware, welche ein Steuerprogramm analysiert und eine Verarbeitung ausführt zur Ausgabe von Steuerinformationen bezüglich einer Maschine als Steuerobjekt; eine Steuerprogramm-Empfangseinheit, welche das Steuerprogramm empfängt sowie einen Einsatzverlauf (”Historie”) des Steuerprogrammes; eine Einsatzfrequenz-Berechnungseinheit, welche auf Basis des Steuerprogrammes oder des Steuerprogrammes und des Einsatzverlaufes des Steuerprogrammes eine Einsatzfrequenz einer Funktion bestimmt, welche durch das Steuerprogramm verwendet wird; eine Sourcecode-Optimierungseinheit, welche einen Sourcecode der Steuersoftware optimiert zur Erzeugung eines optimierten Sourcecodes auf Basis der Einsatzfrequenz der vom Steuerprogramm verwendeten Funktion, wie durch die Einsatzfrequenz-Berechnungseinheit bestimmt; eine Steuersoftware-Erzeugungseinheit, welche optimierte Steuersoftware erzeugt auf Basis des optimierten Sourcecodes; und eine Steuersoftware-Übertragungseinheit, welche die optimierte Steuersoftware zu der Ausführungsausstattung der Steuersoftware überträgt.
  • Eine Ausführungsausstattung für die Steuersoftware kann beispielsweise eine Steuerung sein oder ein Server, welcher die Steuerinformation zur Steuerung überträgt.
  • Da mit der vorliegenden Erfindung ein Cache-Fehler und eine Leitungsblockierung aufgrund eines Verzweigungsfehlers weniger häufig sind, wird es möglich, ein Bearbeitungsprogramm schneller auszuführen.
  • KURZBESCHREIBUNG DER FIGUREN
  • Obige sowie weitere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Bezug auf die Figuren:
  • 1 ist ein schematisches Diagramm eines Steuersystems für einen Fall, bei dem eine optimierte Anwendung der vorliegenden Erfindung auf einem Server in einem Netzwerk vorgesehen ist;
  • 2 ist eine schematische Darstellung eines Steuersystems für einen Fall, bei dem die optimierte Anwendung der vorliegenden Erfindung in einem Computer vorgesehen ist, welcher mit einer numerischen Steuerung verbunden ist;
  • 3 ist eine schematische Darstellung eines Steuersystems für einen Fall, in dem die optimierte Anwendung der vorliegenden Erfindung mit einem Mehrfachkern der numerischen Steuerung ausgeführt wird;
  • 4 ist eine Darstellung zur Erläuterung eines Optimierungsbeispiels 1 der vorliegenden Erfindung;
  • 5 zeigt ein Optimierungsbeispiel 2 der vorliegenden Erfindung; und
  • 6 zeigt ein Blockdiagramm eines Steuersystems gemäß einem Ausführungsbeispiel der Erfindung.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELNEN
  • Ausführungsbeispiele der Erfindung werden nun mit Bezug auf die Figuren näher beschrieben. Zunächst erfolgt ein technischer Überblick über die Erfindung.
  • Die Erfindung ermöglicht eine Optimierung eines bedingten Verzweigungsbefehls durch Vorsehen einer optimierten Anwendungseinheit mit einem Kompilierer (Compiler) und einem Verknüpfer (Linker), Übertragung eines in einer Werkzeugmaschine eingesetzten Bearbeitungsprogrammes und des Einsatzverlaufes (Historie) des Bearbeitungsprogrammes zu der optimierten Anwendungseinheit, und Durchführen einer Optimierung der Steuersoftware auf Basis der Ergebnisse einer Prüfung der tatsächlich verwendeten Funktionen.
  • Damit kann eine optimale Steuersoftware entsprechend dem Bearbeitungsprogramm eingesetzt werden, ohne dass im Voraus eine Vielzahl von Komponenten der Steuersoftware angefertigt werden müsste. Die optimierte Anwendungseinheit kann durch einen Server mit einem Netzwerk gemäß 1 verwirklicht werden oder auch mit einem Computer, der mit einer numerischen Steuerung verbunden ist, oder durch einen Computer, der gemäß 2 in eine numerische Steuerung integriert ist. Hat die numerische Steuerung einen Aufbau mit Mehrfachkern mit mehreren Einsatzmöglichkeiten, kann die optimierte Anwendungseinheit betrieben werden mit einem Betriebssystem, welches mit einem Kern arbeitet, der verschieden ist von einem Kern, welcher von einem Betriebssystem benutzt wird, welches die Steuersoftware ausführt, wie in 3 dargestellt ist.
  • Auch wenn die Optimierung der Steuersoftware mit einem Server über ein Netzwerk ausgeführt wird, besteht die Möglichkeit, dass der Betrieb langsam abläuft aufgrund des Verbleibens eines bedingten Verzweigungsbefehls in der Steuersoftware. In einer Situation, in welcher das Netzwerk abgetrennt sein kann, ist es möglich, den Betrieb mit einem geänderten Parameter oder Bearbeitungsprogramm auszuführen.
  • Ist beispielsweise die Erzeugung einer Steuersoftware entsprechend einem neuen Bearbeitungsprogramm gewünscht, ist es auch in einer schlechten Netzwerkumgebung an einer Stelle des Werkzeugmaschineneinsatzes, wo keine Verbindung zu dem Server möglich ist, möglich, den Betrieb mit einer Steuersoftware durchzuführen, die für ein anderes Bearbeitungsprogramm optimiert worden ist, welches in einer Steuerung der Werkzeugmaschine installiert ist, wobei zwar der Betrieb verlangsamt sein kann, weil die Steuersoftware nicht ausschließlich für das neue Bearbeitungsprogramm angefertigt ist, weil die Verarbeitung nicht weggelassen wurde, wie beim Stand der Technik nach der JP 2003-216434 A .
  • Ist die numerische Steuerung stabil zu jedem Zeitpunkt mit dem Netzwerk verbunden, ist es möglich, die optimale Steuersoftware entsprechend dem Bearbeitungsprogramm einzusetzen, auch in einer Werkzeugmaschine, deren Möglichkeiten eingeschränkt sind, durch Betreiben der für jedes Bearbeitungsprogramm erzeugten Steuersoftware in dem Server über das Netzwerk und durch Empfangen der Steuerinformationen in der numerischen Steuerung. Auch wenn die Steuersoftware in dieser Weise eingesetzt wird, bleibt ein Betrieb unter Verwendung der ursprünglichen, in der numerischen Steuerung gegebenen und dort verbleibenden Steuersoftware möglich, auch wenn das Netzwerk aus irgendeinem Grund abgetrennt ist.
  • Ein Verfahren zum Erzeugen der optimalen Steuersoftware gemäß der Erfindung wird weiter unten näher beschrieben. In einem Steuersystem gemäß der Erfindung werden ein Bearbeitungsprogramm und gegebenenfalls ein Einsatzverlauf (Einsatzhistorie) des Arbeitsprogramms von der Werkzeugmaschine oder einem mit CAD/CAM ausgerüsteten Rechner zu der optimierten Anwendungseinheit übertragen.
  • Die optimierte Anwendungseinheit analysiert das übertragene Bearbeitungsprogramm und ermittelt eine Einsatzfrequenz für jede der Funktionen, wie eine Vorbereitungsfunktion und eine Hilfsfunktion, sowie eine Beziehung zwischen den Funktionen (Reihenfolge der Benutzung etc.). Werden eine Mehrzahl von Bearbeitungsprogrammen und die Einsatzverläufe der Bearbeitungsprogramme übertragen, erfolgt eine Wichtung hinsichtlich der Anzahl der Einsätze zur Berechnung einer genaueren Einsatzfrequenz, und die tatsächliche Zeitfolge des Aufrufens der einzelnen Funktionen wird analysiert zur Berechnung einer genaueren Beziehung zwischen den Funktionen. Sodann wird ein Sourcecode optimierte auf Basis des gewonnenen Ergebnisses und es erfolgt eine Kompilierung und Verknüpfung zur Erzeugung der Steuersoftware für die numerische Steuerung. Die Steuersoftware kann durch direkte Installation in der numerischen Steuerung eingesetzt werden oder auch in einem Server des Netzwerkes betrieben werden, so dass die numerische Steuerung die Steuerinformationen empfängt.
  • Das Optimierungsverfahren bezüglich der Steuersoftware gemäß der Erfindung wird weiter unten näher beschrieben. In diesem Zusammenhang ist angemerkt, dass das Optimierungsverfahren gemäß der Erfindung nicht auf die nachfolgend näher beschriebenen Beispiele beschränkt ist und es möglich ist, eine Optimierungstechnik bezüglich des Sourcecodes einzusetzen unter Berücksichtigung des Bearbeitungsprogrammes und der Einsatzhistorie des Programmes und der entsprechend gewonnenen Analyseergebnisse.
  • <Optimierungsbeispiel 1>
  • Beim Prüfverfahren bezüglich der Funktionen, wie der Vorbereitungsfunktion und der Hilfsfunktion, wird ein Hinweis auf eine Verzweigungsvorhersage zum bedingten Verzweigungsbefehl gegeben, wenn erwartet wird, dass ein Betrieb bei solch einem Hinweis schneller ist, in Abhängigkeit von der Einsatzfrequenz der Funktionen, also der Vorbereitungsfunktion und der Hilfsfunktion, und der Genauigkeit einer dynamischen Verzweigungsvorhersage beim zu benutzenden Prozessor. Wie in 4 beispielhaft dargestellt ist, ist es beim Verfahren zum Prüfen, ob der Nichtgebrauch der Funktion zu 100% zutrifft oder nicht, möglich, das Auftreten von Leitungsblockierungen und Cache-Fehlern aufgrund von Einlesungen von ursprünglich nicht erforderlichen Befehlen in das Cache zu vermindern, weil der Verzweigungsvorhersagenfehler reduzierbar ist durch Sperren der Funktion. Als Beispiel für die Erzeugung eines solchen Hinweises, z. B. in C-Sprache, ist es möglich, den Hinweis durch eine im Kompiler eingerichtete Funktion zu geben, beispielsweise als _builtin_expect ().
  • <Optimierungsbeispiel 2>
  • Wie in 5 dargestellt ist, wird in einer ”Wenn-Sonst”-Anweisung, welche entsprechend Funktionen, wie der Vorbereitungsfunktion oder der Hilfsfunktion, verzweigt, die Reihenfolge so neu geordnet, dass am Anfang eine häufig eingesetzt Funktion geprüft wird. Da die Anzahl an bedingten Verzweigungsbefehlen, welche während der Programmausführung verarbeitet werden, durch die Vorabprüfung einer häufiger eingesetzten Funktion abgesenkt wird, wird es möglich, die Geschwindigkeitsverluste aufgrund bedingter Verzweigungsbefehle zu reduzieren.
  • <Optimierungsbeispiel 3>
  • Es wird möglich, die Cache-Fehler und TLB-Fehler zu reduzieren durch Anordnungsänderungen bezüglich der Speichermodule, welche die Funktionen betreffen, wie die Vorbereitungsfunktion und die Hilfsfunktion, in Abhängigkeit von der Einsatzfrequenz der Funktionen und dabei die häufig verwendeten Module so anzuordnen, dass sie im Speicher nahe beieinander angeordnet sind.
  • 6 ist ein funktionales Blockdiagramm eines Steuersystems in einem Ausführungsbeispiel der Erfindung. In 6 ist ein Beispiel dargestellt, bei dem eine optimierte Anwendung in einem Server 100 in einem Netzwerk vorgesehen ist.
  • Das Steuersystem dieses Ausführungsbeispiels ist zusammengestellt aus einem Server 100, in welchem die optimierte Anwendungseinheit vorgesehen ist, einer numerischen Steuerung 200, einem Rechner 300 mit CAD/CAM, und einem Server 400, welcher eine Ausführungsausstattung der Steuersoftware ist, wobei alle Komponenten miteinander über das Netzwerk verbunden sind.
  • Der Server 100 hat eine Bearbeitungsprogramm-Empfangseinheit 110, eine Einsatzfrequenz-Bestimmungseinheit 120, eine Sourcecode-Optimierungseinheit 130, einen Kompilierer 140, einen Verknüpfer (Programmbinder) 150 und eine Steuersoftware-Übertragungseinheit 160.
  • Die Bearbeitungsprogramm-Empfangseinheit 110 empfängt ein Bearbeitungsprogramm und Informationen bezüglich des Einsatzverlaufes (Einsatzhistorie) des Bearbeitungsprogrammes, falls eine solche vorliegt, von der numerischen Steuerung 200 oder dem Rechner 300.
  • Die Einsatzfrequenz-Bestimmungseinheit 120 analysiert das Bearbeitungsprogramm und die Informationen bezüglich des Einsatzverlaufes des Bearbeitungsprogrammes, wie durch die Bearbeitungsprogramm-Empfangseinheit 110 empfangen, und berechnet die Einsatzfrequenz der Funktionen, wie der Vorbereitungsfunktion und der Hilfsfunktion, und die Beziehungen zwischen diesen Funktionen (Reihenfolge des Einsatzes etc.).
  • Die Sourcecode-Optimierungseinheit 130 liest einen Sourcecode 170 der in einem Speicher (nicht dargestellt) gespeicherten Steuersoftware und wendet das oben beschriebene Optimierungsverfahren auf den Sourcecode an, um einen optimierten Sourcecode 172 auf Basis der Einsatzfrequenz der Funktionen, wie der Vorbereitungsfunktion und der Hilfsfunktion, und der Beziehung zwischen den Funktionen, wie durch die Einsatzfrequenz-Bestimmungseinheit 120 ermittelt, zu erzeugen.
  • Der Kompilierer 140 kompiliert den durch die Sourcecode-Optimierungseinheit 130 erzeugten optimierten Sourcecode 172, um eine Objektdatei 174 zu erzeugen und der Verknüpfer 150 verknüpft (bindet) die erzeugte Objektdatei 174 zur Erzeugung einer optimierten Steuersoftware 76.
  • Sodann überträgt die Steuersoftware-Übertragungseinheit 160 die erzeugte und optimierte Steuersoftware 176 zur Ausführungsausstattung der Steuersoftware. Die Ausführungsausstattung als Destination der Steuersoftware ist entsprechend einem Verfahren zum Einsatz der Steuersoftware 176 die numerische Steuerung 200 der Werkzeugmaschine, wenn die Steuersoftware direkt durch die numerische Steuerung 200 ausgeführt wird, während die Destination der Server 400 ist, wenn ein Verfahren zur Ausführung der Steuersoftware 176 über das Netzwerk läuft.
  • Ausführungsbeispiele der vorliegenden Erfindung wurden oben beschrieben. Jedoch ist die Erfindung nicht auf diese Ausführungsbeispiele beschränkt und kann in anderer Form mit angemessenen Änderungen verwirklicht werden.
  • Bei obigen Ausführungsbeispielen wurden das Bearbeitungsprogramm und der Einsatzverlauf des Bearbeitungsprogrammes für die Optimierung analysiert, jedoch können auch Informationen (Typ und Aufbau der CPU, Speicherstrukturen etc.), welche die Ausführungsausstattung der Steuersoftware betreffen, zusätzlich für die Optimierung des Sourcecodes herangezogen werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2002-229803 A [0003, 0007]
    • JP 2003-216434 A [0004, 0008, 0025]
    • JP 2000-122871 A [0005, 0009]

Claims (3)

  1. Steuersystem mit einer Ausführungsausstattung für Steuersoftware, welches ein Steuerprogramm analysiert und eine Verarbeitung durchführt zur Abgabe von Steuerinformationen bezüglich einer Maschine als Steuerobjekt, wobei das Steuersystem aufweist: eine Steuerprogramm-Empfangseinheit, welche das Steuerprogramm und einen Einsatzverlauf des Steuerprogrammes empfängt; eine Einsatzfrequenz-Bestimmungseinheit, welche eine Einsatzfrequenz einer durch das Steuerprogramm verwendeten Funktion auf Basis des Steuerprogrammes oder des Steuerprogrammes und des Einsatzverlaufes des Steuerprogrammes berechnet; eine Sourcecode-Optimierungseinheit, welche einen Sourcecode der Steuersoftware optimiert zur Erzeugung eines optimierten Sourcecodes auf Basis der Einsatzfrequenz der durch das Steuerprogramm eingesetzten Funktion, wie durch die Einsatzfrequenz-Bestimmungseinheit berechnet; eine Steuersoftware-Erzeugungseinheit, welche eine optimierte Steuersoftware auf Basis des optimierten Sourcecodes erzeugt; und eine Steuersoftware-Übertragungseinheit, welche die optimierte Steuersoftware zu der Ausführungsausstattung der Steuersoftware überträgt.
  2. Steuersystem gemäß Anspruch 1, wobei die Ausführungsausstattung der Steuersoftware eine Steuerung ist.
  3. Steuersystem gemäß Anspruch 1, wobei die Ausführungsausstattung der Steuersoftware ein Server ist, welcher die Steuerinformation zu einer Steuerung überträgt.
DE102016000213.1A 2015-01-16 2016-01-08 Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm Ceased DE102016000213A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-007037 2015-01-16
JP2015007037A JP6151729B2 (ja) 2015-01-16 2015-01-16 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム

Publications (1)

Publication Number Publication Date
DE102016000213A1 true DE102016000213A1 (de) 2016-07-21

Family

ID=56293851

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016000213.1A Ceased DE102016000213A1 (de) 2015-01-16 2016-01-08 Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm

Country Status (4)

Country Link
US (1) US10088834B2 (de)
JP (1) JP6151729B2 (de)
CN (1) CN105807738B (de)
DE (1) DE102016000213A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023181400A1 (ja) * 2022-03-25 2023-09-28 ファナック株式会社 システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122871A (ja) 1998-10-14 2000-04-28 Hitachi Ltd アプリケーション配布方法
JP2002229803A (ja) 2001-02-06 2002-08-16 Hitachi Software Eng Co Ltd プログラム実行方法、中間コード解析プログラム、および仮想マシン
JP2003216434A (ja) 2002-01-25 2003-07-31 Hewlett Packard Co <Hp> 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960642A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 原始プログラムの最適化方式
JPH04333102A (ja) * 1991-05-08 1992-11-20 Fanuc Ltd Ncプログラム管理方式
JP2820189B2 (ja) * 1993-07-15 1998-11-05 三菱電機株式会社 数値制御装置の制御ソフトウェア実行システム
JPH09244727A (ja) * 1996-03-04 1997-09-19 Fanuc Ltd Cnc装置のマン・マシン・インターフェイス操作方法
JPH09288580A (ja) * 1996-04-19 1997-11-04 Nec Corp ソースプログラムの最適化装置および最適化方法
JP3373115B2 (ja) 1996-05-10 2003-02-04 ファナック株式会社 数値制御装置に対するコントロールソフトウェアの入力設定方法
JP2001147820A (ja) * 1999-11-24 2001-05-29 Nec Software Kobe Ltd コード最適化方法および記録媒体
JP4638250B2 (ja) 2005-02-03 2011-02-23 三菱電機株式会社 プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム
JP5702265B2 (ja) 2011-11-11 2015-04-15 株式会社日立製作所 プログラム自動生成装置およびプログラム自動生成方法
JP5715195B2 (ja) 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122871A (ja) 1998-10-14 2000-04-28 Hitachi Ltd アプリケーション配布方法
JP2002229803A (ja) 2001-02-06 2002-08-16 Hitachi Software Eng Co Ltd プログラム実行方法、中間コード解析プログラム、および仮想マシン
JP2003216434A (ja) 2002-01-25 2003-07-31 Hewlett Packard Co <Hp> 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。

Also Published As

Publication number Publication date
CN105807738B (zh) 2018-07-06
US10088834B2 (en) 2018-10-02
JP6151729B2 (ja) 2017-06-21
CN105807738A (zh) 2016-07-27
JP2016133911A (ja) 2016-07-25
US20160209835A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
EP1330685B1 (de) Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen
DE112012004728T5 (de) Verfahren, Programm und System zur Simulationsausführung
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
EP3542232B1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
EP2732347B1 (de) Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen
EP1701266A1 (de) Testvorrichtung zur Überprüfung einer Stapelverarbeitung
DE102018110018A1 (de) Verfahren zum Bereitstellen eines integrierten Prozesses für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung
EP2363809B1 (de) Verfahren zur Optimierung eines Steuerprogramms für Aktuatoren
EP2574997A1 (de) Verfahren zur Einstellung eines Betriebszustandes
DE102009055752A1 (de) Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
DE102016000213A1 (de) Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm
EP2154606B1 (de) Erzeugen einer ablauffähigen Konfiguration
DE102009043287A1 (de) Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems
DE102004017050A1 (de) Datenkonsistenz in Datenverarbeitungsanlagen
DE102019117954A1 (de) Laufzeitserver zum gleichzeitigen Ausführen mehrerer Laufzeitsysteme einer Automatisierungsanlage
DE102008019287B4 (de) Verfahren zum automatischen Erzeugen eines Zeitschemas für über einen zeitgesteuerten gemeinsamen Datenbus kommunizierende verteilte Anwendungen oder Prozesse eines digitalen Netzwerks
EP2574996B1 (de) Verfahren zur Ermittlung eines Teillastzustandes einer Anlage
DE102014105109A1 (de) Verfahren und Vorrichtung zum Erzeugen und Abarbeiten von Testfällen
DE102012108490B4 (de) Verfahren und Simulationsumgebung zur flexiblen automatisierten Verbindung von Teilmodellen
EP3803522B1 (de) Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems
EP3724729B1 (de) Verfahren zum betreiben einer werkzeugmaschine mittels anpassung eines precompilierten maschinenmodells
DE102022125524A1 (de) Verfahren zum Entwerfen von Maschinensystemen
DE102008063684A1 (de) Basisaktivität, Verfahren zur Bestimmung von Basisaktivitäten sowie ein Verfahren und System zur automatisierten Generierung von Workflows
EP3179364B1 (de) Verfahren und vorrichtung zur entwicklung von software eines steuerungs-/regelungssystems eines fahrzeuges
EP2010974B1 (de) Engineeringsystem und verfahren zur projektierung eines automatisierungssystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final