DE102010053668A1 - Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen - Google Patents

Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen Download PDF

Info

Publication number
DE102010053668A1
DE102010053668A1 DE102010053668A DE102010053668A DE102010053668A1 DE 102010053668 A1 DE102010053668 A1 DE 102010053668A1 DE 102010053668 A DE102010053668 A DE 102010053668A DE 102010053668 A DE102010053668 A DE 102010053668A DE 102010053668 A1 DE102010053668 A1 DE 102010053668A1
Authority
DE
Germany
Prior art keywords
program
machine
conversion
data
language
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
DE102010053668A
Other languages
English (en)
Inventor
Anmelder Gleich
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE102010053668A priority Critical patent/DE102010053668A1/de
Priority to US13/992,197 priority patent/US20140115561A1/en
Priority to PCT/EP2011/072099 priority patent/WO2012076607A1/de
Priority to EP11799661.1A priority patent/EP2649497A1/de
Priority to CN201180066638XA priority patent/CN103460150A/zh
Publication of DE102010053668A1 publication Critical patent/DE102010053668A1/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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • 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/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13119Compiler
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23266Compiler
    • 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/36243Convert source, high level code to machine, object code

Landscapes

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

Abstract

Ein Verfahren zur Erstellung eines Programms zur Steuerung des Betriebs einer computergesteuerten Maschine, hat die Schritte Bereitstellen eines Umwandlungsprogramms zur Umwandlung eines ersten Programms in einer Programmiersprache in ein lauffähiges zweites Programm in einer Maschinensprache, Erstellen eines ersten Programms in der ersten Programmiersprache, und Umwandeln des ersten Programms mittels des Umwandlungsprogramms in ein lauffähiges zweites Programm der Maschinensprache.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Erstellung eines Programms zur Steuerung des Betriebs einer computergesteuerten Maschine gemäß den Oberbegriffen der unabhängigen Patentansprüche.
  • Computergesteuerte Maschinen sind komplexe Automaten, deren Betrieb von Software gesteuert wird. Beispiele sind Fertigungsrobotern, eine Montagestraße oder eine Werkzeugmaschinen. Letztere sind beispielsweise Maschinen, bei denen zum einen die konkrete Bearbeitung eines Werkstücks durch ein Werkzeug zu steuern ist, bei denen zum anderen aber auch weitere Funktionen zu steuern sind, die dem Maschinenbetrieb dienen bzw. für ihn notwendig sind. Beispielhaft seien hier nur kurz Sicherungsfunktionen, Betriebsmittelüberwachung (Druckluft, Öl, ...), Späneförderung und Ähnliches genannt.
  • Die Steuerung von komplexen Maschinen erfolgt durch Digitalrechner in Verbindung mit geeigneten Schnittstellen zur Maschine hin. Für die steuernden Rechner gibt es eine Reihe von Herstellern, so etwa Heidenhain, Siemens, Fanuc, Rexroth .... Die von den verschienen Herstellern gefertigten Steuerungen stellen jeweils proprietäre Plattformen dar (PLC Design, Siemens Simatic, Fanuc Ladder, ...), die nicht gegeneinander austauschbar sind und insbesondere in ihrer Programmierung und in ihren Prozessschnittstellen nicht standardisiert sind.
  • Maschinenhersteller andererseits bieten häufig für gleiche Maschinen Steuerungen mehrerer unterschiedlicher Hersteller an, so dass Steuerungssoftware für die gleiche Maschine nicht einheitlich erstellt werden kann, sondern plattformabhängig immer neu für letztendlich doch gleiche Funktionalitäten geschrieben werden muss.
  • Weiter nachteilig an der Programmerstellung für Maschinen ist es, dass bisher keine einfach handhabbare Programmiersprache vorhanden ist, die es wenig spezialisierten Nutzern erlauben würde, Steuerungssoftware zu schreiben. Die einzelnen Plattformen fordern vielmehr detailliertes Wissen um die Besonderheiten der jeweiligen Plattformen, um dementsprechend angepasste Programme in sehr maschinennaher Ausgestaltung schreiben zu können.
  • Die Europäische Norm EN 61131 basiert auf der internationalen Norm IEC 61131 und beschreibt Grundlagen speicherprogrammierbarer Steuerungen. Ein Teil dieser Norm beschreibt Programmiersprachen von speicherprogrammierbaren Steuerungen. Definiert sind eine Anweisungsliste, die mit Assembler für die EC-Programmierung vergleichbar ist, ein Kontaktplan ähnlich einem Elektro-Schaltplan, eine Funktionsbaustein-Sprache, die Logik-Schaltplänen ähnelt, eine Ablaufsprache ähnlich Zustandsdiagrammen, und strukturierter Text, der an Hochsprachen angelehnt ist. Die Anweisungsliste und der strukturierte Text sind textbasiert, während die anderen graphisch angelegt sind. Nachteil der hier beschriebenen Konzepte ist es, dass sie keine einheitliche Programmierung festlegen und eine sehr maschinennahe Programmierung erfordern.
  • Aufgabe der Erfindung ist es, ein Verfahren und eine Vorrichtung anzugeben, die das einfache Erstellen von Programmen für computergesteuerte Maschinen ermöglichen.
  • Diese Aufgabe wird mit den Merkmalen der unabhängigen Ansprüche gelöst. Abhängige Patentansprüche sind auf bevorzugte Ausführungsformen der Erfindung gerichtet.
  • Ein Verfahren zur Erstellung eines Programms zur Steuerung des Betriebs einer computergesteuerten Maschine hat die Schritte Bereitstellen eines Umwandlungsprogramms zur Umwandlung eines ersten Programms in einer Programmiersprache in ein lauffähiges zweites Programm in einer Maschinensprache, Erstellen eines ersten Programms in der ersten Programmiersprache, und Umwandeln des ersten Programms mittels des Umwandlungsprogramms in ein lauffähiges zweites Programm der Maschinensprache. Die erste Programmiersprache muss nicht maschinennah angelegt sein, sondern kann für den Menschen leicht(er) verständlich sein, so dass sich die Maschinenprogrammierung vereinfacht und unterstütz wird.
  • Der Schritt des Erstellens des ersten Programms kann folgende Schritte umfassen: vorab Bereitstellen einer Sammlung von Programmteilen, und später das Zusammenstellen von Programmteilen aus der Sammlung zu einem ersten Programm. Programmteile, die häufig gleich programmiert werden, können so vorbereitet werden und dann schnell verwendet werden. Das Erstellen des ersten Programms kann mittels einer grafischen Benutzeroberfläche erfolgen.
  • Das Umwandlungsprogramm kann so ausgelegt sein, dass es ausgehend vom ersten Programm das zweite Programm in mehreren Maschinensprachen erzeugen kann. Bei der konkreten Umwandlung wird dann die Zielmaschinensprache gewählt. In sie wird das erste Programm dann umgewandelt. Es kann aber routinemäßig auch die Umwandlung immer in alle möglichen Maschinensprachen erfolgen.
  • Das von der Umwandlungseinrichtung erzeugte Programm kann ein im Betrieb zyklisch wiederholt durchlaufenes Programm sein.
  • Eine Vorrichtung zur Erzeugung eines lauffähigen zweiten Programms in einer Maschinensprache zur Steuerung des Betriebs einer computergesteuerten Werkzeugmaschine ausgehend von einem ersten Programm hat eine Eingabeeinrichtung zum Eingeben des ersten Programms, und eine Umwandlungseinrichtung zum Umwandeln des ersten in das zweite Programm. Sie kann eine Wählvorrichtung aufweisen, um eine von mehreren möglichen Maschinensprachen auszuwählen, in der das zweite Programm erzeugt werden soll.
  • Auch Gegenstand der Erfindung ist ein Datenträger mit Daten darauf, die, wenn sie in einem Computer zur Programmausführung herangezogen werden, eine Vorrichtung wie oben ergeben.
  • Nachfolgend werden Bezug nehmend auf die Zeichnungen einzelne Ausführungsformen der Erfindung beschrieben. Es zeigen:
  • 1 schematisch eine Maschine, für die ein Programm erfindungsgemäß erstellt werden kann,
  • 2 schematisch eine Umwandlungseinrichtung, und
  • 3 eine Programmstruktur, wie sie in einer komplexeren Maschine vorliegen kann, wobei mindestens Teile davon erfindungsgemäß hergestellt werden können.
  • 1 zeigt als Beispiel einer komplexen Maschine eine Werkzeugmaschine 10 mit einem Maschinenrahmen 1, einem Werkzeug 2 in einer Werkzeughalterung 2a, einem Werkstück 3 auf einem Werkstücktisch 3a, statischen und dynamischen Stellglieder 4 für das Werkzeug, statischen und dynamischen Stellglieder 5 für das Werkstück, als Beispiel einer von vielen Hilfsfunktionen eine Kühlmittelzuführung 6 mit einer Pumpe 6a, einem Kühlmittelreservoir 6b und einem Füllstandssensor 6c, einer Tür 7, einem Türsensor 8, und einer Steuerung 9a und einem Speicher 9b.
  • In einer Werkzeugmaschine ist die Primärfunktion die Fertigung des Werkstücks. Das Programm hierfür wird häufig ausgehend von CAD-Daten über bestimmte Zwischenschritte teilautomatisiert erzeugt. Es bleiben dann aber viele Funktionalitäten zusätzlich zu steuern, etwa die erwähnte Kühlung 6 oder die Überwachung der Tür 7. Zahlreiche andere solche Funktionen (Werkzeugmanagement, Benutzerschnittstelle, Spänesteuerung, Werkstück- und Werkzeugüberwachung, Abfrage von Sensoren, ...) sind vorhanden. Für diese Funktionen ist neben dem eigentlichen Fertigungsprogramm ein weiteres Programm zu erstellen, das die genannten Aufgaben wahrnimmt.
  • In der Werkzeugmaschine 10 werden dann sowohl das Fertigungsprogramm wie auch das zusätzliche Programm letztlich in der Steuerung 9 laufen und über geeignete Schnittstellen von und zur Maschine auf diese einwirken. Da, wie eingangs gesagt, die Hersteller der Steuerungen 9 keinen einheitlichen Standard zur Programmierung haben, ist jeweils abhängig vom Hersteller der Steuerung 9 die konkrete Programmierung vorzunehmen. Wenn ein Maschinenhersteller seinen Kunden schon vorprogrammierte Programmteile mitgeben will, muss er sie letztlich für jeden Steuerungshersteller separat programmieren, sodass abhängig davon, welchen Steuerungshersteller der Kunde für die Maschine 10 wünscht, die passenden Softwareteile (z. B. Kühlmittelsteuerung und -überwachung, Türüberwachung) mitgeliefert werden können. Darüber hinaus muss das jeweilige Programm maschinennah geschrieben werden, da sich Hochsprachen zur Programmierungen von Steuerungen komplexer Maschinen nicht entwickelt haben.
  • 2 zeigt eine Vorrichtung 20, mit der die genannten Schwierigkeiten ganz oder teilweise umgangen werden können. Die Vorrichtung 20 ist eine Umwandlungsvorrichtung, mit der ein erstes Programm 15 in ein zweites Programm 25 umgewandelt werden kann. Das erste Programm 15 kann in einer Hochsprache verfasst sein, die das maschinennahe Programmieren ersetzt. Die Hochsprache kann geeignet ausgelegt werden, sodass der Nutzer mit seinen Kenntnissen nach kurzer Einarbeitung ein Programm zu verfassen in der Lage sein wird. Der Nutzer kann ein Facharbeiter sein, der sich in der Maschinenhalle eines Betriebs aufhält, um den Produktionsfortgang zu überwachen. Ihm sollte es möglich sein, das Programm 15 zu verfassen, ohne vertiefte Computerkenntnisse erwerben zu müssen.
  • Das Erstellen des ersten Programms 15 kann ganz oder teilweise in einer graphischen Benutzerschnittstelle erfolgen. Die graphische Benutzerschnittstelle kann viele Erfordernisse intuitiv erfassbar und handhabbar machen. Über die graphische Benutzerschnittstelle erfolgen dann Eingaben, die Schritt für Schritt zur Erstellung des ersten Programms 15 führen.
  • Das erste Programm 15 wird über eine Eingabeeinrichtung 21 in die Umwandlungsvorrichtung 20 eingegeben und dort in einer Umwandlungseinrichtung 23 in das zweite Programm 25 umgewandelt, das über eine Ausgabeeinrichtung 24 ausgegeben wird, beispielsweise als eine gespeicherte Datei oder eine Sammlung von Dateien, die dann konkret zur Maschinensteuerung verwendet werden können. Das zweite Programm 25 ist angepasst an den jeweiligen Typ der Steuerung 9 verfasst, also letztlich wieder herstellerabhängig.
  • In einer einfachen Ausführungsform kann eine Umwandlungsvorrichtung 20 das eingegebene erste Programm 15 nur in ein zweites Programm 25 einer festgelegten Sprache (also letztlich angepasst an einen bestimmten Hersteller der gewünschten Steuerung 9) umwandeln. 2 zeigt demgegenüber schon eine weiterentwickelte Ausführungsform. Es ist eine Wählvorrichtung 22 vorgesehen, mit der ausgewählt werden kann, in welcher Sprache das zweite Programm 25 erzeugt werden soll, also für welchen Steuerungshersteller es passen soll. Es können dann ggf. eine oder mehrere Sprachen als Sprache des zweiten Programms 25 gewählt werden, und dementsprechend erzeugt die Umwandlungsvorrichtung 20 in der Wirkungsweise gleiche, nur in der verwendeten Maschinensprache unterschiedliche zweite Programme 25. Die Wahlmöglichkeiten in der Wählvorrichtung 22 entsprechen letztlich den Steuerungsherstellern (wie eingangs genannt: Heidenhain, Siemens, Fanuc, Rexroth, ...), die von der Umwandlungsvorrichtung 20 unterstützt werden.
  • Anstatt zu wählen, kann aber auch vorgesehen sein, standardmäßig das zweite Programm immer in allen Maschinensprachen zu erzeugen, die von der Vorrichtung 20 unterstützt werden. Insoweit kann auch eine Modenumschaltung vorgesehen sein zwischen einem ersten Modus (ein oder mehrere Maschinensprachen wählbar) und einem zweiten Modus (mehrere zweite Programme in allen unterstützten Maschinensprachen).
  • Ein häufig erforderlicher Schritt bei der Erstellung des zweiten Programms 15 ist die Speicherortzuweisung von Daten und/oder die Wahl von Zugriffsoptionen auf Speicherorte. Da anders als herkömmliche PCs Maschinensteuerungen häufig kein komfortables Betriebssystem mit Dateiverwaltung, Eingabe/Ausgabe-System und ähnlichem haben, die viele Funktionen automatisch übernehmen, ohne dass ein Anwender es überhaupt merkt, müssen anders als bei der PC-Programmierung bei der Maschinenprogrammierung viele Grundfunktionalitäten mitprogrammiert werden. Dies schlägt dann auch auf die Auslegung der Umwandlungsvorrichtung 20 und ggf. die Erstellung des ersten Programms 15 durch.
  • Insbesondere müssen bei Werkzeugmaschinen häufig Speicherorte für Daten (etwa Parameter, Statusvariablen, Zwischengrößen, Flags, ...) explizit zugewiesen werden. Darüber hinaus ist der Datenzugriffsmodus häufig festzulegen (etwa ob Schreiben/Lesen bitweise oder byteweise zu erfolgen hat). Dies sind Festlegungen, die entweder im ersten Programm 15 getroffen werden können und die von der Umwandlungsvorrichtung 20 dann durch entsprechende Einrichtungen in entsprechende ausführbare Anweisungen im zweiten Programm 25 umgewandelt werden, oder die in der Umwandlungsvorrichtung 20 anhand impliziter Angaben im ersten Programm (etwa Variablendefinition) oder anhand bereitgestellter Vorabinformation (etwa zu Speicherorten und Speicheroptionen) durch entsprechende Einrichtungen ermittelt und in das zweite Programm eingearbeitet werden. Soweit die genannten Festlegungen im ersten Programm ausdrücklich gemacht werden, können auch diese genannten Festlegungen (Speicherortzuweisung, Zugriffssteuerung) anhand einer graphischen Benutzerschnittstelle erfolgen.
  • Ein weiterer relevanter Aspekt der betrachteten Programme ist die Datenerhebung aus dem gesteuerten Prozess bzw. der gesteuerten Maschine heraus. Sie können ein oder mehrere oder viele Sensoren aufweisen, deren Daten aufgenommen und verarbeitet werden müssen.
  • Das erste Programm 15 kann dementsprechend Sensorikbefehle zur Sensorabfrage, Datenaufnahme, Datenformatierung, Zeitsteuerung, Beeinflussung der Analog/Digital-Wandlung (etwa Beeinflussung von Nullpunkt und Verstärkung bei der Wandlung) und Datenspeicherung aufweisen, jeweils Daten betreffend, die von Prozeß-/Maschinensensorik zur Verfügung gestellt werden. Diese Sensorikbefehle können an die jeweiligen Sensorikschnittstellen von der Maschine 10 zur Steuerung 9 hin angepasst sein. Dementsprechend kann die Umwandlungsvorrichtung 20 dazu ausgelegt sein, solche Sensorikbefehle, auch in ihrer Anpassung an die jeweilige Sensorikschnittstelle, im ersten Programm 15 entgegenzunehmen und in entsprechende ausführbare Anweisungen im zweiten Programm 25 in der jeweiligen Maschinensprache umzuwandeln.
  • Ein weiterer relevanter Aspekt der betrachteten Programme ist die Datenausgabe an den gesteuerten Prozess bzw. die gesteuerte Maschine. Die Maschinen weisen zahlreiche Aktoren bzw. Stellglieder auf (etwa Kühlmittelpumpe, Späneförderung, aber auch Achssteuerung, Werkzeugantrieb), deren Steuerung aus dem zweiten Programm 25 heraus wünschenswert sein kann. Das erste Programm 15 kann dementsprechend Aktorikbefehle zur Erzeugung, Formatierung, Zeitsteuerung, Beeinflussung der Digital/Analog-Wandlung (etwa Beeinflussung von Nullpunkt und Verstärkung bei der Wandlung) und Ausgabe von Befehlen für Stellglieder des Prozesses bzw. der Maschine aufweisen. Diese Aktorikbefehle können an die jeweiligen Aktorikschnittstellen von der Steuerung 9 zur Maschine 10 hin angepasst sein. Dementsprechend kann die Umwandlungsvorrichtung 20 dazu ausgelegt sein, solche Aktorikbefehle, auch in ihrer Anpassung an die jeweilige Aktorikschnittstelle, im ersten Programm 15 entgegenzunehmen und in entsprechende ausführbare Anweisungen im zweiten Programm 25 in der jeweiligen Maschinensprache umzuwandeln.
  • Die Berücksichtigung der Eigenschaften der oben bei der Beschreibung der Aktorik- und Sensorikbefehle genannten Schnittstellen zum und vom realen Prozess (Maschine, Ablauf) kann auch dadurch erfolgen, dass Schnittstellendaten, die relevante Eigenschaften der Schnittstelle beschreiben, separat angegeben werden (etwa Kennlinie Ansteuerspannung über Sollleistung) und die Umwandlung vom ersten in das zweite Programm sowohl Bezug nehmend auf das erste Programm als auch Bezug nehmend auf die Schnittstellendaten erfolgt. Das erste Programm kann dann z. B. qualitative Angaben machen (etwa Pumpleistung P = 50% von Pmax), die dann auch anhand der Schnittstellendaten in reale Ansteuerbefehle im zweiten Programm umgewandelt werden (z. B. eine bestimmte Ansteuerspannung oder Pulsbreite für die Pumpe).
  • Die genannten Aktorik- und Sensorikbefehle können explizit im ersten Programm 15 eingebbar sein und werden dann von der Umwandlungsvorrichtung 20 umgewandelt. Bei Programmierung des ersten Programms 15 über eine grafische Benutzeroberfläche können sie aber auch mittelbar eingegeben werden, indem sie über die grafische Benutzeroberfläche gesetzt werden. Auch dann werden sie von der Umwandlungsvorrichtung 20 umgewandelt.
  • 3 zeigt strukturell aufgegliedert die Programmierung einer Werkzeugmaschine 10. Gezeigt ist eine Struktur, in der zwei Programme 35 und 25 die Maschine steuern. Das Programm 35 ist die eigentliche Werkzeug- und Werkstücksteuerung und dient der konkreten Fertigung des Werkstücks mit dem Werkzeug. Es wird ausgehend von CAD-Daten 31 durch eine nicht näher erläuterte Struktur 39 erzeugt. Das zweite Programm 25 dient der Steuerung von Hilfsfunktionen, etwa der Überwachung des Türsensors 8 oder des Kühlmittelsensors 6c, wie sie in 1 gezeigt sind, um einige einfache Beispiele zu nennen. Zahlreiche andere Funktionen sind ebenfalls zu steuern.
  • Das zweite Programm 25 wird, wie oben beschrieben, von der Umwandlungsvorrichtung 20 ausgehend von einem verfassten Programm 15 in derjenigen Sprache erzeugt, die für die verwendete Steuerung 9 geeignet ist, auf der das Programm laufen soll. Zwischen dem zweiten Programm 25 und dem dritten Programm 35 sind Schnittstellen 32 wünschenswert, da die Ergebnisse aus den unterschiedlichen gesteuerten Prozessen sich gegenseitig beeinflussen. So muss beispielsweise die Werkstückbearbeitung (mit Programm 35) unterbrochen werden, wenn (mit Programm 25) festgestellt wird, dass der Kühlmittelkreislauf defekt ist (Sensor 6c in 1) oder dass die Kabinentür (Sensor 8) geöffnet wurde.
  • Um die Interaktion zwischen zweitem Programm 25 und drittem Programm 35 zu ermöglichen, können Schnittstellen 32 vorgesehen sein, die auch schon im ersten Programm 15 angelegt werden können bzw. müssen, was durch Pfeile 14 in 3 angedeutet ist. Die Umwandlungsvorrichtung 20 ist dann dementsprechend dazu ausgelegt, die Schnittstellenanlage 14 im ersten Programm 15 in eine tatsächliche Schnittstellenfunktionalität 32 des zweiten Programms 25 umzuwandeln, sodass das laufende zweite Programm 25 mit einem dritten laufenden Programm 35 kommunizieren kann.
  • Eine Schnittstelle zwischen zweitem und dritten Programm kann umfassen Formatvereinbarungen zu Datenein- und/oder -ausgaben, und/oder Timingvereinbarungen zu Datenein- und/oder -ausgaben, und/oder Speichervereinbarungen für das Speichern und Lesen von Daten (z. B. Speicherort für zu übergebende Daten), und/oder Kommunikationssteuerungsvereinbarungen.
  • Das zweite Programm kann eine oder mehrere der folgenden Maschinenfunktionen steuern: Betriebsmittelsteuerung und -überwachung, Maschinenstatussteuerung und -überwachung, Benützerschnittstelle, Werkzeugmanagement und -wechsel, Spänesteuerung, Werkstücküberwachung, Werkzeugüberwachung, Sicherungseinrichtungen, Achsantrieb, Sensorikbetrieb, hierbei insbesondere Sensorabfrage und Datenaufnahme. Das dritte Programm kann eine oder mehrere der folgenden Maschinenfunktionen steuern: Werkzeugantrieb, Achsantrieb, Sensorikbetrieb, Kollisionsüberwachung.
  • Das Erstellen des ersten Programms 15 kann ganz oder teilweise mittels einer vorab bereitgestellten Sammlung 36 von Programmteilen 36a36g erfolgen, aus der bei der konkreten Erzeugung des ersten Programms ein oder mehrere Programmteile ausgewählt und zusammengeführt werden. Neben der reinen Auswahl der Programmteile kann es auch vorgesehen sein, im Zuge der Erstellung des ersten Programms Steuerungsparameter für die jeweiligen Programmteile zu setzen (etwa: Förderleistung Kühlmittel). Auch diese Schritte (Programmteilauswahl, Setzen von Parametern) können in einer grafischen Benützeroberfläche erfolgen.
  • Das zweite Programm 25 wird vorzugsweise deutlich vor dem Zeitpunkt erzeugt, zu dem es benützt wird. Gleiches gilt für das dritte Programm 35. Aber auch die Echtzeiterzeugung zweiten Programms 25 ist möglich
  • Die generierten Programme dienen beispielsweise der Steuerung komplexer Werkzeugmaschinen (z. B. Drehmaschinen, Fräsmaschinen, Ultraschallmaschinen, Laserabtragsmaschinen) oder Bearbeitungsmaschinen (etwa ein oder mehrere Roboter). Auch chemische Reaktoren können Steuerungsziel der zu generierenden Programme sein.
  • Mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Vorrichtung wird die Erstellung von Steuerungsprogrammen für Werkzeugmaschinen markant erleichtert, da das maschinennahe Programmieren und auch das mehrfache Programmieren für unterschiedliche Hardware entfallen. Auch die Qualität verbessert sich, da Fehlprogrammierungen unwahrscheinlicher werden und die Synchronität unterschiedlicher Programmversionen (in unterschiedlichen Maschinensprachen) besser wird.
  • Allgemein sollen wechselweise die Offenbarung von Verfahrensmerkmalen auch als Offenbarung einer Vorrichtung zur Durchführung des jeweiligen Verfahrens verstanden werden und auch als Offenbarung eines Datenträgers mit Daten darauf, die, wenn sie in einem Computer zur Programmausführung herangezogen werden, eine entsprechende Vorrichtung ergeben oder ein entsprechendes Verfahren implementieren.
  • 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 Nicht-Patentliteratur
    • Norm EN 61131 [0006]
    • IEC 61131 [0006]

Claims (15)

  1. Verfahren zur Erstellung eines Programms zur Steuerung des Betriebs einer computergesteuerten Maschine, mit den Schritten: Bereitstellen eines Umwandlungsprogramms zur Umwandlung eines ersten Programms in einer Programmiersprache in ein lauffähiges zweites Programm in einer Maschinensprache, Erstellen eines ersten Programms in der ersten Programmiersprache, und Umwandeln des ersten Programms mittels des Umwandlungsprogramms in ein lauffähiges zweites Programm der Maschinensprache.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt des Erstellens des ersten Programms folgende Schritte umfasst: vorab Bereitstellen einer Sammlung von Programmteilen, Zusammenstellen von Programmteilen aus der Sammlung zu einem ersten Programm.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass der Schritt des Erstellens des ersten Programms einen oder mehrere der folgenden Schritte umfasst: Setzen von Parametern zur Steuerung von Optionen der Programmteile, Zuweisen von Speicherorten zu zu speichernden Daten, Auswählen von Zugriffsoptionen auf Speicherstellen, wobei die Umwandlung Bezug nehmend auf die gesetzten Parameter und/oder die Speicherortzuweisung und/oder die gewählte Zugriffsoption erfolgt.
  4. Verfahren nach einem oder mehreren der vorherigen Ansprüche, dadurch gekennzeichnet, dass das Erstellen des ersten Programms und insbesondere das Zusammenstellen und ggf. das Setzen von Parametern und/oder die Speicherortzuweisung und/oder die Wahl der Zugriffsoption mittels einer grafischen Benutzeroberfläche erfolgt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass der Schritt des Bereitstellen eines Umwandlungsprogramms umfasst, ein Umwandlungsprogramm zu erzeugen, das ausgehend vom ersten Programm das zweite Programm in mehreren Maschinensprachen erzeugen kann, und der Schritt des Umwandelns umfasst, eine Maschinensprache zu wählen, in die das erste Programm umgewandelt werden soll, und das erste Programm in das zweite Programme in der gewählten Maschinensprache umzuwandeln.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass mehrere Maschinensprachen gleichzeitig wählbar sind und das Umwandlungsprogramm mehrere zweite Programme entsprechend den gewählten Maschinensprachen erzeugt.
  7. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das zweite Programm ein Steuerungsprogramm ist zur Steuerung von Maschinenhilfsfunktionen einer Werkzeugmaschine, ein drittes Programm erzeugt wird, das ein Arbeitsprogramm ist zur Steuerung von Maschinenbearbeitungsfunktionen für ein Werkstück, wobei das Arbeitsprogramm Schnittstellen zum Steuerungsprogramm hat, und das Umwandlungsprogramm bei der Umwandlung des ersten Programms in das zweite Programm im zweiten Programm nach Maßgabe von Angaben im ersten Programm eine oder mehrere Schnittstellen anlegt, die kompatibel zu einer oder mehreren Schnittstellen im dritten Programm sind.
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass die Umwandlungseinrichtung ein im Betrieb zyklisch wiederholt durchlaufendes Programm erzeugt.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das zweite Programm eine oder mehrere der folgenden Maschinenfunktionen steuert: – Betriebsmittelsteuerung und -überwachung, – Maschinenstatussteuerung und -überwachung, – Benützerschnittstelle, – Werkzeugmanagement und -wechsel, – Spänesteuerung, – Werkstücküberwachung, – Werkzeugüberwachung, – Sicherungseinrichtungen, – Achsantrieb, – Sensorikbetrieb, und/oder dass das dritte Programm eine oder mehrere der folgenden Maschinenfunktionen steuert: – Werkzeugantrieb, – Achsantrieb, – Sensorikbetrieb, – Kollisionsüberwachung, und/oder dass eine Schnittstelle zwischen zweitem und dritten Programm umfasst – Formatvereinbarungen zu Datenein- und/oder -ausgaben, und/oder – Timingvereinbarungen zu Datenein- und/oder -ausgaben, und/oder – Speichervereinbarungen für das Speichern und Lesen von Daten, und/oder – Kommunikationssteuerungsvereinbarungen,
  10. Verfahren nach 7, dadurch gekennzeichnet, dass das dritte Programm für eine Werkzeugmaschine von einem Automaten ausgehend von einer digitale Werkstückdefinition und nach Maßgabe von Benützereingaben erzeugt wird.
  11. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass bei der Umwandlung Befehle im zweiten Programm erzeugt werden, die die Sensorabfrage und/oder Datenaufnahme von Sensoren und/oder die Art der Analog/Digital-Wandlung betreffen.
  12. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass bei der Umwandlung Befehle im zweiten Programm erzeugt werden, die die Beeinflussung von Stellgliedern oder Achsen der Maschine oder die Art der Digital/Analog-Wandlung betreffen.
  13. Vorrichtung (20) zur Erzeugung eines lauffähigen zweiten Programms (25) in einer Maschinensprache zur Steuerung des Betriebs einer computergesteuerten Maschine, insbesondere Werkzeugmaschine, ausgehend von einem ersten Programm (15), mit einer Eingabeeinrichtung (21) zum Eingeben des ersten Programms, einer Umwandlungseinrichtung (23) zum Umwandeln des ersten in das zweite Programm, und einer Ausgabeeinrichtung (24) zum Ausgeben des zweiten Programms.
  14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass eine Wählvorrichtung (22) vorgesehen ist, um eine von mehreren möglichen Maschinensprachen auszuwählen, in der das zweite Programm erzeugt werden soll, und die Umwandlungseinrichtung zur Erzeugung des zweiten Programms in der gewählten Maschinensprache ausgelegt ist.
  15. Datenträger mit Daten darauf, die, wenn sie in einem Computer zur Programmausführung herangezogen werden, eine Vorrichtung nach Anspruch 13 oder 14 ergeben.
DE102010053668A 2010-12-07 2010-12-07 Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen Ceased DE102010053668A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102010053668A DE102010053668A1 (de) 2010-12-07 2010-12-07 Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen
US13/992,197 US20140115561A1 (en) 2010-12-07 2011-12-07 Apparatus and Method for Creating a Program For Computer-controlled Machines
PCT/EP2011/072099 WO2012076607A1 (de) 2010-12-07 2011-12-07 Vorrichtung und verfahren zur erstellung eines programms für computergesteuerte maschinen
EP11799661.1A EP2649497A1 (de) 2010-12-07 2011-12-07 Vorrichtung und verfahren zur erstellung eines programms für computergesteuerte maschinen
CN201180066638XA CN103460150A (zh) 2010-12-07 2011-12-07 用于计算机控制类机器的程序创建设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010053668A DE102010053668A1 (de) 2010-12-07 2010-12-07 Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen

Publications (1)

Publication Number Publication Date
DE102010053668A1 true DE102010053668A1 (de) 2012-06-14

Family

ID=45401049

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010053668A Ceased DE102010053668A1 (de) 2010-12-07 2010-12-07 Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen

Country Status (5)

Country Link
US (1) US20140115561A1 (de)
EP (1) EP2649497A1 (de)
CN (1) CN103460150A (de)
DE (1) DE102010053668A1 (de)
WO (1) WO2012076607A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2787403A1 (de) * 2013-04-04 2014-10-08 Siemens Aktiengesellschaft Verfahren zum automatischen Erstellen eines Automatisierungsprogramms aus einer technologischen Beschreibung einer Automatisierungslösung

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2869145B1 (de) * 2013-10-29 2016-04-27 dSPACE digital signal processing and control engineering GmbH Verfahren zur Beeinflussung eines Steuerprogramms eines Steuergerätes
US10952349B2 (en) 2015-01-30 2021-03-16 Hewlett Packard Enterprise Development Lp Scalable coolant distribution unit
DE102015105436A1 (de) 2015-04-09 2016-10-13 Beckhoff Automation Gmbh Übersetzungsmodul, Verarbeitungsmodul und Steuerungssystem
WO2019016588A1 (en) * 2017-07-19 2019-01-24 Siemens Industry Software Ltd. METHOD AND SYSTEM FOR SIMULATION OF A ROBOTIC PROGRAM OF AN INDUSTRIAL ROBOT

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10393511T5 (de) * 2002-10-18 2005-09-08 Advantest Corp. Programmentwicklungsunterstützungsvorrichtung, Programmausführungsvorrichtung, Kompilierverfahren und Diagnoseverfahren
WO2006089451A1 (de) * 2005-02-28 2006-08-31 Netstal-Maschinen Ag Verfahren zur steurung und bedienung einer produktionszelle sowie eine steuervorrichtung
DE10308815B4 (de) * 2003-02-27 2008-06-05 Siemens Ag Verfahren zur Erzeugung und Visualisierung einer aufgabenorientierten Schrittdarstellung
DE10158317B4 (de) * 2001-11-28 2009-06-18 Siemens Ag Verfahren zur Generierung und Ausführung eines diversitären Programmablaufs

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100131081A1 (en) * 1995-05-30 2010-05-27 Brown David W Systems and methods for motion control
US6850808B2 (en) * 1999-09-24 2005-02-01 Rockwell Software Inc. Method and system for developing a software program using compound templates
US7107119B2 (en) * 2003-10-27 2006-09-12 Siemens Aktiengesellschaft Controller for a machine tool or production machine
US7313773B1 (en) * 2004-05-26 2007-12-25 Coware, Inc. Method and device for simulator generation based on semantic to behavioral translation
WO2007082862A1 (de) * 2006-01-23 2007-07-26 Siemens Aktiengesellschaft Verfahren zum steuern einer produktionsmaschine
US8327316B2 (en) * 2008-09-30 2012-12-04 Ics Triplex Isagraf Inc. Compilation model
KR101255948B1 (ko) * 2009-02-12 2013-04-23 고쿠리츠 다이가쿠 호진 교토 다이가쿠 산업용 로봇 시스템
DE102009024172A1 (de) * 2009-06-08 2010-12-09 Klaus-Dieter Becker Unified Software Code Generator (USC-Generator)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10158317B4 (de) * 2001-11-28 2009-06-18 Siemens Ag Verfahren zur Generierung und Ausführung eines diversitären Programmablaufs
DE10393511T5 (de) * 2002-10-18 2005-09-08 Advantest Corp. Programmentwicklungsunterstützungsvorrichtung, Programmausführungsvorrichtung, Kompilierverfahren und Diagnoseverfahren
DE10308815B4 (de) * 2003-02-27 2008-06-05 Siemens Ag Verfahren zur Erzeugung und Visualisierung einer aufgabenorientierten Schrittdarstellung
WO2006089451A1 (de) * 2005-02-28 2006-08-31 Netstal-Maschinen Ag Verfahren zur steurung und bedienung einer produktionszelle sowie eine steuervorrichtung

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
IEC 61131
Norm EN 61131
Wikipedia: CNU Compiler Collection. Version vom 19.11.2011, abgerufen am 10.08.2011, URL: http://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&oldid=81674969 *
Wikipedia: Computerized Numerical Control. Version vom 22.10.2010, abgerufen am 10.08.2011, URL: http://de.wikipedia.org/w/index.php?title=Computerized_Numerical_Control&oldid=80593546 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2787403A1 (de) * 2013-04-04 2014-10-08 Siemens Aktiengesellschaft Verfahren zum automatischen Erstellen eines Automatisierungsprogramms aus einer technologischen Beschreibung einer Automatisierungslösung

Also Published As

Publication number Publication date
EP2649497A1 (de) 2013-10-16
US20140115561A1 (en) 2014-04-24
WO2012076607A1 (de) 2012-06-14
CN103460150A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
DE102012207916B3 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion einer Werkzeugmaschine
EP2098926B1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102004025875A1 (de) Funktionsblock mit Boolescher Logik
DE102008060003A1 (de) Verfahren und Vorrichtung zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102005045028A1 (de) Simulationssystem
EP2837981B1 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion eines Industrieroboters
EP2098925A1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102010053668A1 (de) Vorrichtung und Verfahren zur Erstellung eines Programms für computergesteuerte Maschinen
DE102010030691A1 (de) Dialogsystem und Verfahren zur Untersuchung eines Bearbeitungsprozesses
DE102016013434A1 (de) Folgesteuerprogrammiervorrichtung, Folgesteuerprogrammierverfahren und Arbeitssystem
DE102017103830A1 (de) Maschinensystem, maschinensteuercomputer, basissoftwareanwendung, computerlesbares speichermedium, und maschinensteuerungsverfahren für die interkommunikation mit maschinen
EP2407842B1 (de) Verfahren zur Inbetriebnahme von Maschinen oder Maschinen einer Maschinenserie und Projektierungssystem
EP1233317B1 (de) Vorrichtung und Verfahren zur Erstellung von Bedienungskomponenten
DE102020202087A1 (de) Bildschirminhalterstellungsvorrichtung und bildschirminhalterstellungssystem
EP2808749B1 (de) Verfahren zum Austausch von Steuerungsinformationen zwischen Bedien- und Beobachtungsgeräten eines industriellen Automatisierungssystems und industrielles Automatisierungssystem
DE202008017893U1 (de) Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
EP3420426B1 (de) Vorrichtung und verfahren zur anpassung einer numerischen steuerung an eine zu steuernde maschine
DE102018008226A1 (de) Numerische Steuerung
EP1513036A2 (de) Einrichtung zur Regelung und/oder Steuerung von Antrieben bei Werkzeug- oder Produktionsmaschinen
EP1886198B1 (de) Parametrierungsgerät und verfahren zum parametrieren elektrischer geräte
DE202008003348U1 (de) Steuereinrichtung
WO2006125405A2 (de) Verfahren zum bedienen eines elektrischen gerätes einer automatisierungsanlage
EP2367084A1 (de) Verfahren für die Konfigurierung einer Steuerungseinrichtung einer industriellen Automatisierungsanordnung und Komponente für eine industrielle Automatisierungsanordnung
DE102016205971B4 (de) Hydrauliksystem, Verfahren zum Parametrieren einer Steuerungselektronik einer Hydraulikkomponente und Recheneinheit zum Kompilieren eines Programmcodes für den Betrieb einer Hydraulikanlage
EP2930624A1 (de) Verfahren und vorrichtung zum erzeugen und abarbeiten von testfällen

Legal Events

Date Code Title Description
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R130 Divisional application to

Ref document number: 102010064542

Country of ref document: DE

Effective date: 20130718

R003 Refusal decision now final

Effective date: 20131126