DE4342660A1 - Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen - Google Patents

Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen

Info

Publication number
DE4342660A1
DE4342660A1 DE19934342660 DE4342660A DE4342660A1 DE 4342660 A1 DE4342660 A1 DE 4342660A1 DE 19934342660 DE19934342660 DE 19934342660 DE 4342660 A DE4342660 A DE 4342660A DE 4342660 A1 DE4342660 A1 DE 4342660A1
Authority
DE
Germany
Prior art keywords
program
language
standard
processor
control
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.)
Withdrawn
Application number
DE19934342660
Other languages
English (en)
Inventor
Dieter Hans Fruehwald
Kurt Dipl Ing Zuck
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE19934342660 priority Critical patent/DE4342660A1/de
Publication of DE4342660A1 publication Critical patent/DE4342660A1/de
Withdrawn 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/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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36026Combine general high level language and specialised plc language
    • 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/36242Convert program for different machines with different M-code, G-code, header

Landscapes

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

Description

Die Erfindung bezieht sich auf eine Einrichtung zum Betreiben eines technischen Geräts, beispielsweise einer Werkzeugma­ schine oder eines Roboters, entsprechend vorgegebenen Program­ men, die sowohl in einer Standardprogrammiersprache als auch in einer speziellen Steuerungssprache vorliegen, mit Hilfe eines Standardprozessors und eines Steuerungsprozessors.
Beispielsweise zur Programmierung von speicherprogrammierba­ ren Steuerungen (SPS) gibt es unterschiedliche Programmier­ techniken mit jeweils spezifischen Vorteilen. So existieren verschiedenste Programmiersprachen zum Programmieren einer SPS. Denkbar sind dabei Standardprogrammiersprachen wie C, BASIC, PL/M oder aber auch spezielle Steuerungssprachen, z. B. STEP5. Jede dieser Programmiersprache bietet dabei ihre be­ sonderen Vorteile. Dabei bieten die speziellen SPS-Program­ miersprachen zwar meist nur einen eingeschränkten und auf Steuerungsaufgaben zugeschnittene Befehlsumfang, jedoch lie­ gen dabei auch nur äußerst kurze Befehls-Ausführungszeiten vor. Standardprozessoren bieten zwar einen größeren Befehls­ umfang, jedoch sind die jeweiligen Befehlsausführungszeiten wesentlich länger.
Die Programmierung von komplexen Funktionen ist SPS-Program­ miersprachen dabei relativ kompliziert und könnte durch den Einsatz von Standardprogrammiersprachen in Hochsprache vereinfacht werden. Ein Hochsprachenprogramm ist nämlich relativ übersichtlich und läßt sich gut strukturieren und pflegen.
Wenn seitens der Hardwareausstattung bei einer speicherpro­ grammierten Steuerung sowohl Standardprozessoren für Standardprogrammiersprachen als auch Spezielprozessoren für spezielle Steuerungssprachen zur Verfügung stehen, ist zwar jeweils die Erstellung eines gesonderten Programms zum Ablauf auf jeweils einem der Prozessoren denkbar, indem zwischen deren Programmen durch aufwendiges Umschalten von einem Prozeß auf den anderen ein Wechsel erfolgt, jedoch ist ein solcher Wechsel nicht ohne weiteres ein fliegender Wechsel für das Betriebsgeschehen.
Aufgabe der Erfindung ist es, eine Einrichtung der eingangs genannten Art so auszubilden, daß seitens des Programmer­ stellers einzelne Programmteile wahlweise in Standardpro­ grammiersprache oder in spezieller Steuerungsprache abgefaßt werden können und daß durch Kompiliermaßnahmen daraus ein störungslos ablauffähiges Programm gewonnen werden kann.
Gemäß der Erfindung wird diese Aufgabe dadurch gelöst, daß ein entsprechend den Prozeßanforderungen kontinuierlich fortlaufend alternierend von Sprache zu Sprache wechselnd geschriebenes Quellprogramm zunächst einem Precompiler zu­ geleitet wird, der die Abschnitte in der Steuerungssprache aus dem Quellprogramm entfernt, in Maschinencode übersetzt und in einem definierten Bereich dem übrigen Programm wieder hinzufügt, daß an den Stellen des Entfernes Verweise in der Standardprogrammiersprache auf die jeweilige Bereichsadresse des Hinzufügens eingesetzt werden, daß das precompilierte Programm dann einem Standardcompiler zugeleitet wird und dann auf den als Master vorgesehenen Standardprozessor und auf den als Slave vorgesehenen Steuerungsprozessor gegeben wird und daß der Master, veranlaßt durch die übersetzten Verweise den Slave aktiviert, der dann jeweils nach Beenden seines zu behandelnden Programmabschnittes wieder auf den Master zurückschaltet.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher erläutert. Dabei zeigt:
Fig. 1 die Struktur einer durch den Stand der Technik nahege­ legten Einrichtung,
Fig. 2 die Maßnahmen zum Programmerstellen gemäß der Erfindung und
Fig. 3 die Struktur der erfindungsgemäßen Einrichtung.
In der Darstellung gemäß Fig. 1 ist eine Steuerungseinrichtung bestehend aus einem Prozessor P1 und einem dazu parallelen Prozessor P2 vorgesehen, die beispielsweise in einer spei­ cherprogrammierbaren Steuerung oder einer numerischen Steue­ rung vorhanden sein kann. Im Ausführungsbeispiel ist ange­ nommen, daß die Prozessoren P1 und P2 auf einen Roboter R einwirken mögen. Wie dieses Einwirken erfolgen soll, wird dabei programmtechnisch vorgegeben. So möge beispielsweise ein BASIC-Programm BP auf den Prozessor P1, der als Standard­ prozessor ausgebildet ist, einwirken und ein STEP5-Programm SP möge auf den Prozessor P2, bei dem es sich um ein Spezial­ prozessor handelt, gegeben werden. Beide Programme müssen dazu über eine Schaltstufe SCH synchronisiert werden. Ein derartiges Synchronisieren ist jedoch dann, wenn zeitliche Randbedingungen einzuhalten sind, beispielsweise bei schnellen Bewegungen des Roboters R, technisch nicht ohne weiteres realisierbar.
Hier setzt die Erfindung ein, indem nicht zwei speziell zu­ geschnittene Programme vom Programmierer erstellt werden, sondern indem zunächst ein Quellprogramm QP vom Programmierer generiert wird, das je nach zu steuerndem technischem Prozeß aufeinanderfolgend in den jeweils für einzelne Aufgaben optimalen Programmiersprachen geschrieben wird. So möge im Ausführungsbeispiel in einem ersten Abschnitt I(1) des Pro­ gramms Hochsprache, im Ausführungsbeispiel BASIC gegeben sein, an diesen Abschnitt möge sich dann ein Abschnitt II an­ schließen, der in auf den Spezialprozessor P2 zugeschnittener Sprache, im Ausführungsbeispiel STEP5 geschrieben ist und an diesen möge sich wiederum ein Abschnitt I(2) anschließen, der wieder in Hochsprache erstellt worden ist. Das Steuerungspro­ gramm kann damit durchaus in der höheren Programmiersprache geschrieben werden und dennoch können bestimmte Programmteile in der speziellen Steuerungssprache für den Steuerungspro­ zessor erstellt werden. Dabei kann der Programmierer wählen, in welcher Programmiersprache er welche Programmteile pro­ grammiert. So kann er jede Funktion (Programmteil) auf dem Prozessor P1 bzw. P2 mit der jeweils schnellsten Ausführungs­ zeit ablaufen lassen. Dadurch können die Vorteile der unter­ schiedlichen Programmiersprachen und die Vorteile der unter­ schiedlichen Hardware optimal ausgenutzt werden.
Damit das Quellprogramm QP ablauffähig wird, wird es dazu zunächst auf einen Precompiler PC gegeben. Im Precompiler PC, der für die Erfindung ganz wesentlich ist, werden dabei fol­ gende Maßnahmen getroffen. Aus den Abschnitten in der Spei­ cherprogrammiersprache, im Ausführungsbeispiel dem Abschnitt II, werden jeweils einzelne Programmabschnitte gewonnen und werden sozusagen als Kopf dem precompilierten Programm vorangestellt. Im Ausführungsbeispiel wird aus dem Abschnitt II beispielsweise ein Abschnitt A bis Z erstellt. Dabei wird dieser Abschnitt im Maschinencode abgelegt. An den Grenzen zwischen den in Hochsprache vorliegenden Abschnitten I(1) und I(2) wird nun ein ebenfalls in der Hochsprache geschriebener Adreßverweis - Abschnitt III - auf den herausgezogenen Pro­ grammteil, in diesem Fall den Programmteil II, eingearbeitet. Man kann also sagen, daß der Precompiler PC hier Anweisungen zur Koordinierung der Prozesse einfügt. Diese Anweisungen dienen dann zum Initialisieren und Starten des SPS-Prozessors P2, da der Precompiler PC die in der Steuerungssprache geschriebenen Programmteile in Maschinencode in das Hoch­ sprachenprogramm, d. h. das precompilierte Programm PP einge­ fügt hat.
Dieses precompilierte Programm PP wird dann über einen Standardcompiler SC gegeben und führt zu einem ablauffähigen Programm AP. Dabei wird der Code für den Standardprozessor P1 einschließlich den Koordinationsbefehle erzeugt. Der Code für den speziellen Steuerungsprozessor P2 wird als konstanter Teil im Hochsprachenprogramm abgelegt.
Wenn das Anwenderprogramm AP zum Ablauf gebracht werden soll, kann dazu eine Anordnung der genannten Steuerung getroffen sein, wie diese in der Darstellung gemäß Fig. 3 gezeigt ist. Das Anwenderprogramm AP startet dabei zunächst entsprechend den Befehlen, die durch den Abschnitt I(1) vorgesehen sind, den Prozessor P1, der als Master des Systems dient. Wenn das Programm dann soweit abgearbeitet worden ist, daß der Sprung­ befehl aus dem Abschnitt III vorliegt, wird dies vom Prozes­ sor P1, d. h. dem Master, detektiert und wie durch einen Wirk­ pfeil angedeutet, wird nun der Spezialprozessor P2 aktiviert. Im Ausführungsbeispiel würde dieser nun den Programmteil II behandeln, der im precompilierten Programm durch die Abfolge von Befehlen A bis Z gegeben ist. Wenn nun der Programmablauf dort soweit erfolgt ist, daß der Zustand Z erreicht ist, stoppt der Prozessor P2 und gibt an den Prozessor P1, wie ebenfalls durch einen Wirkpfeil angedeutet, die Aufforderung, den weiteren Betrieb vorzunehmen.
Selbstverständlich ist es möglich, nicht nur einen einzigen in Steuerungssprache geschriebenen Programmteil an den Kopf des precompilierten Programmes PP zu setzen, sondern dort könnten durchaus eine ganze Reihe von derartigen Abschnitten aneinandergereiht vorgegeben sein.

Claims (1)

  1. Einrichtung zum Betreiben eines technischen Geräts, bei­ spielsweise einer Werkzeugmaschine oder eines Roboters, ent­ sprechend vorgegebenen Programmen, die sowohl in einer Stan­ dardprogrammiersprache als auch in einer speziellen Steue­ rungssprache vorliegen, mit Hilfe eines Standardprozessors und eines Steuerungsprozessors, dadurch ge­ kennzeichnet, daß ein entsprechend den Prozeß­ anforderungen kontinuierlich fortlaufend alternierend von Sprache zu Sprache wechselnd geschriebenes Quellprogramm (QP) zunächst einem Precompiler (PC) zugeleitet wird, der die Ab­ schnitte (II) in der Steuerungsprache aus dem Quellprogramm (QP) entfernt, in Maschinencode übersetzt und in einem defi­ nierten Bereich dem übrigen Programm (PP) wieder hinzufügt, daß an den Stellen des Entfernens Verweise (III) in der Standardprogrammiersprache auf die jeweilige Bereichsadresse (A) des Hinzufügens eingesetzt werden, daß das precompilierte Programm (PP) dann einem Standardcompiler (SC) zugeleitet wird und dann auf den als Master vorgesehenen Standardpro­ zessor (P1) und auf den als Slave vorgesehenen Steuerungs­ prozessor (P2) gegeben wird und daß der Master (P1), veran­ laßt durch die übersetzten Verweise (III) den Slave (P2) aktiviert, der dann jeweils nach Beenden seines zu behandeln­ den Programmabschnittes wieder auf den Master (P1) zurück­ schaltet.
DE19934342660 1993-12-14 1993-12-14 Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen Withdrawn DE4342660A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19934342660 DE4342660A1 (de) 1993-12-14 1993-12-14 Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19934342660 DE4342660A1 (de) 1993-12-14 1993-12-14 Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen

Publications (1)

Publication Number Publication Date
DE4342660A1 true DE4342660A1 (de) 1995-06-22

Family

ID=6505006

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934342660 Withdrawn DE4342660A1 (de) 1993-12-14 1993-12-14 Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen

Country Status (1)

Country Link
DE (1) DE4342660A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19545898A1 (de) * 1995-12-08 1997-06-12 Hs Tech & Design Rückhaltesystem in einem Fahrzeug
WO2000065415A2 (en) * 1999-04-22 2000-11-02 The Dow Chemical Company Process control system with integrated safety control system
US7048910B2 (en) 2000-09-07 2006-05-23 Merck Patent Gmbh Use of ectoine or ectoine derivatives for oral care
EP2273332A1 (de) * 2003-02-13 2011-01-12 Renishaw PLC Maschinenwerkzeugsteuerverfahren und Vorrichtung dafür
DE102015105436A1 (de) * 2015-04-09 2016-10-13 Beckhoff Automation Gmbh Übersetzungsmodul, Verarbeitungsmodul und Steuerungssystem
WO2017216082A1 (de) * 2016-06-13 2017-12-21 Kuka Roboter Gmbh Verfahren zum steuern eines manipulatorsystems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19545898A1 (de) * 1995-12-08 1997-06-12 Hs Tech & Design Rückhaltesystem in einem Fahrzeug
WO2000065415A2 (en) * 1999-04-22 2000-11-02 The Dow Chemical Company Process control system with integrated safety control system
WO2000065415A3 (en) * 1999-04-22 2001-11-15 Dow Chemical Co Process control system with integrated safety control system
US7048910B2 (en) 2000-09-07 2006-05-23 Merck Patent Gmbh Use of ectoine or ectoine derivatives for oral care
EP2273332A1 (de) * 2003-02-13 2011-01-12 Renishaw PLC Maschinenwerkzeugsteuerverfahren und Vorrichtung dafür
US9235205B2 (en) 2003-02-13 2016-01-12 Renishaw Plc Method for producing a measurement probe path on a numerically controlled machine tool
DE102015105436A1 (de) * 2015-04-09 2016-10-13 Beckhoff Automation Gmbh Übersetzungsmodul, Verarbeitungsmodul und Steuerungssystem
US10732608B2 (en) 2015-04-09 2020-08-04 Beckhoff Automation Gmbh Translation module, processing module and control system
WO2017216082A1 (de) * 2016-06-13 2017-12-21 Kuka Roboter Gmbh Verfahren zum steuern eines manipulatorsystems

Similar Documents

Publication Publication Date Title
DE3126878C2 (de) Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls
DE3587034T2 (de) Verfahren und einrichtung zur steuerung automatischer geraete.
DE3206891A1 (de) Verfahren zur fehlerdiagnose fuer speicherprogrammierbare steuerungen
DE2810977A1 (de) Anordnung zum erzeugen und korrigieren eines benutzerprogramms
WO2017050895A1 (de) Robotersteuerung
EP0553621B1 (de) Programmierbare Computersteuerung für eine Werkzeugmaschine
DE2128288A1 (de) Automatische Werkzeugmaschine mit Steuersystem
DE1966793A1 (de) Steuerungssystem
DE4342660A1 (de) Einrichtung zum Betreiben eines technischen Gerätes entsprechend vorgegebenen Programmen
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
EP1217476A2 (de) Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
EP0903654A2 (de) Steuerungssystem für insbesondere Palettieranlagen mit Robotern
EP0801340A1 (de) Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine
DE10028140A1 (de) Verfahren zur Organisation des Ablaufs elektronisch gesteuerter Schaltvorgänge
EP4018275A1 (de) System und verfahren zur steuerung zumindest einer maschine, insbesondere eines kollektivs von maschinen
EP2299341A1 (de) Editiergerät und Verfahren zur Konfigurierung von Parametern einer industriellen Automatisierungsanordnung
EP2360576B1 (de) Verfahren und Einrichtung zur Projektierung einer industriellen Automatisierungsanordnung
DE10308815A1 (de) Verfahren zur Erzeugung und Visualisierung einer aufgabenorientierten Schrittdarstellung
EP3273344A1 (de) Verfahren und programmiereinrichtung zur optimierung von quellcode für ein computerprogramm
EP1393139B1 (de) Programmierwerkzeug und verfahren zur erstellung von programmen, insbesondere der automatisierungstechnik
EP1241568B1 (de) Verfahren und Vorrichtung zur Einfügung von Variablen in den Programmablauf einer Datenverarbeitungsanlage
AT522186B1 (de) Computerimplementiertes Verfahren zur rechnergestützten Erzeugung eines ausführbaren Steuerungsprogramms zur Steuerung und/oder Regelung eines technischen Prozesses
DE102016121788A1 (de) Konfiguration einer Automatisierungsanlage
DE112021007835T5 (de) Robotersteuer- bzw. -regelvorrichtung
EP3742240A1 (de) Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee