DE10038439B4 - Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen - Google Patents

Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen Download PDF

Info

Publication number
DE10038439B4
DE10038439B4 DE2000138439 DE10038439A DE10038439B4 DE 10038439 B4 DE10038439 B4 DE 10038439B4 DE 2000138439 DE2000138439 DE 2000138439 DE 10038439 A DE10038439 A DE 10038439A DE 10038439 B4 DE10038439 B4 DE 10038439B4
Authority
DE
Germany
Prior art keywords
flow chart
user
mcc
language
processor
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.)
Expired - Fee Related
Application number
DE2000138439
Other languages
English (en)
Other versions
DE10038439A1 (de
Inventor
Regina Schmitt
Peter Wagner
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 DE2000138439 priority Critical patent/DE10038439B4/de
Priority to US09/911,586 priority patent/US7000191B2/en
Priority to US09/911,585 priority patent/US6981226B2/en
Priority to US09/912,128 priority patent/US7302676B2/en
Priority to DE50112950T priority patent/DE50112950D1/de
Priority to DE50114712T priority patent/DE50114712D1/de
Priority to EP01118073A priority patent/EP1184759B1/de
Priority to EP01118071A priority patent/EP1184757B1/de
Priority to DE50112949T priority patent/DE50112949D1/de
Priority to EP01118072A priority patent/EP1184758B1/de
Publication of DE10038439A1 publication Critical patent/DE10038439A1/de
Application granted granted Critical
Publication of DE10038439B4 publication Critical patent/DE10038439B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Abstract

Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen, wobei grafische Elemente zu einem auf einer Anzeigeeinrichtung visualisierbaren Flow Charts (MCC) verknüpft sind, derart ausgestaltet, daß
a) aus dem Flow Chart eine textuelle Sprache (ST) erzeugt wird,
b) die textuelle Sprache (ST) in einen prozessorunabhängigen Zwischencode kompiliert wird,
c) der prozessorunabhängige Zwischencode auf die Steuerung geladen wird,
d) der prozessorunabhängige Zwischencode auf der industriellen Steuerung in ablauffähigen Prozessorcode umgesetzt wird,
e) bei einem Anwenderstart eines Debugvorgangs jedem grafischen Element (E1-En) ein Haltepunkt zugeordnet wird,
f) der Debug-Vorgang durch Umschalten in einen Debug-Modus gestartet wird,
g) der Programmablauf bis zum unmittelbar folgenden Haltepunkt folgt,
h) dem Anwender (A1, A2) visualisiert wird, wo im Flow Chart die aktuelle Flow Chart befindlich ist,
i) auf Anwendereingabe zum nächst möglichen Haltepunkt fortgeschaltet wird,
j) die Schritte...

Description

  • Die Erfindung bezieht sich auf eine Vorrichtung für das Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, wobei ein Anwender mit einem Editor graphische Elemente, insbesondere Kontrollstrukturen und Funktionsblöcke, zu einem auf einer Anzeigeeinrichtung visualisierbaren Flow Chart verknüpft.
  • Im industriellen Umfeld ist es bekannt, sowohl für die Steuerung eines technischen Prozesses als auch für die Steuerung der Bewegung einer Verarbeitungs- bzw. Produktionsmaschine graphische Eingabehilfsmittel sowie einen Bildschirm zur Visualisierung zu verwenden (Hans D. Kief: "NC/CNC Handbuch", 2000, Hansa Verlag, Seite 254, Bild 7 bzw. Seite 327, Bild 6). Grundelemente grafischer Struktur-, Fluss- und Ablaufpläne sind in der Norm DIN 66 001 aufgeführt.
  • Im Beiblatt 1 zu DIN EN 61131-3, November 1997, Beuth Verlag, Berlin sind Leitlinien für die Implementierung von Programmiersprachen in speicherprogrammierbaren Steuerungen und deren Programmierumgebungen beschrieben.
  • In "Visuelle Sprachen – ein unaufhaltsamer Trend in der Industrie" (Josef HUbl, SPS/IPC/Drives – Tagungsband, Seite 88-95, 23.-25. November 1999, Nürnberg, Verlag Hüthig GmbH, Heidelberg) ist außerdem angegeben, dass Kontrollfluss- bzw. Datenflussdiagramme für die Steuerung von Automatisierungsaufgaben mit Hilfe graphischer Editoren erstellt werden.
  • Es ist seit langem üblich in Programmierumgebungen Debugger als Hilfsprogramme für die Fehlersuche und Fehlerlokalisierung einzusetzen (Volker Claus et al., DUDEN Informatik, 2. erw. Auflage, S. 188, Dudenverlag, 1993).
  • Aus dem US-Patent 5,485,620 ist ein System zum Erzeugen, Editieren, Ausführen, Überwachen und Debuggen eines Anwenderprogramms bekannt, wobei das Anwenderprogramm eine Zusammenfassung von einem kontinuierlichen Programm und einem sequen tiellen Programm, d.h. einem blockweise abgearbeiteten Programm, ist. Ein Anwender kann von Hand gesteuert schrittweise vorgehen.
  • Das US-Patent 5,392,207 offenbart eine Programmhilfe, bei der ein Debuggen, gesteuert von der Graphikebene her erfolgen kann. Hierbei können einzelne oder mehrere Icons aus einem grafischen Steuerprogramm als Haltpunkte für das Debuggen ausgewählt werden.
  • Die EP 0 383 506 B1 betrifft ein Verfahren zur gegenseitig ausschließenden Betriebsmittelsteuerung, das auf der Erzeugung eines Graphen basiert, wobei der Graph Knoten umfasst, denen Aufgaben, die in einen Prozessablauf integriert sind und ein kritisches Betriebsmittel, welches sich mindestens eine der Aufgaben aneignen kann, zugeordnet sind.
  • Das US-Patent 5,508,909 offenbart ein Verfahren, bei dem ein Anwender zwischen einer textbasierten Sprache und einer leiterbasierten Sprache wechseln kann. In einem zugehörigen System gibt es hierzu einen bidirektionalen Sprachumwandler, der mit einem Compiler zusammenwirkt. Der bidirektionale Sprachumwandler arbeitet so, dass er Sprachanweisungen, die textbasiert sind, in die leiterbasierte Sprachdarstellung umwandelt und umgekehrt. Durch Änderungen des Quellprogramms in der textbasierten Sprache wird das Leiterdiagramm dynamisch geändert, und Änderungen des Quellprogramms in der leiterbasierten Sprache ändern den auf der Anzeigevorrichtung gezeigten Text dynamisch.
  • Die US 5,504,902 betrifft ein ähnliches Verfahren, bei dem nur in eine Richtung übersetzt wird, nämlich von der leiterbasierten Sprachdarstellung in die textbasierte Sprache, wobei anstelle des bidirektionalen Wandlers zwei getrennte Wandler verwendet werden.
  • Bei den heutzutage existierenden Debuggern werden aber die Haltepunkte (Breakpoints), die zum anwenderkontrollierten Ausführen des zu testenden Programmes notwendig sind, in den Prozessorcode hineincompiliert. Dadurch findet die zum Debuggen notwendige schrittweise bzw. sukzessive Ausführung des Programmes auf einer niedrigen Abstraktionsebene statt und ist dadurch für einen Anwender z.B. hinsichtlich Visualisierung unflexibel.
  • Außerdem unterstützen die heutzutage existierenden graphischen Eingabehilfsmittel und graphischen Editoren für die Programmierung von industriellen Steuerungen einen Anwender ungenügend hinsichtlich adaptiver Mechanismen bezüglich seiner Applikation zugrunde liegenden Hardwarekonfiguration und stellen ihm im grafischen Editor nur einen starren und eingeschränkten Vorrat an Sprachmechanismen zur Verfügung.
  • Weiterhin unterstützen die heutzutage existierenden graphischen Eingabehilfsmittel und graphischen Editoren für die Programmierung von industriellen Steuerungen nur dediziert die Programmierung der Steuerung eines technischen Prozesses (SPS-Funktionalität) oder die Programmierung der Steuerung der Bewegung einer Verarbeitungs- bzw. Produktionsmaschine. Die Programmerstellung für beide Anwendungsgebiete wird von existierenden Flow Chart-Editoren jeweils nicht adäquat unterstützt.
  • Ein weiterer Nachteil der heutzutage bei der Programmierung industrieller Automatisierungsaufgaben eingesetzten Flow Chart-Editoren ist, dass die mit ihnen erzeugten Diagramme direkt in ablauffähigen Prozessorcode umgesetzt werden oder dass aus den Diagrammen ASCII-Code erzeugt wird, der dann im jeweiligen Zielsystem laufzeitintensiv interpretiert werden muss. Neben der dadurch resultierenden Unflexibilität bezüglich der Portierung und Übertragung der Programme auf andere Anlagen oder Maschinen bedeutet dieser Mechanismus als weiteren Nachteil für den Anwender nur eingeschränkte Debugging-Möglichkeiten.
  • Außerdem liegen zusätzliche Nachteile existierender Flow Chart-Editoren im meist starren und unflexiblen Sprachvorrat an für den Anwender verwendbaren Icons und in der fest vorgegebenen sequentiellen Abarbeitungsreihenfolge der Icons bzw. der entsprechenden Funktionsblöcke. Auch bieten existierende Flow Chart-Editoren häufig nur wenig Möglichkeiten zur Formulierung von Synchronisationsmechanismen, die aber insbesondere für die Programmierung von Applikationen in der industriellen Automatisierung sehr oft benötigt werden.
  • Der Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung gemäß der eingangs genannten Art zu schaffen, wobei einem Anwender gemäß der jeweiligen Abstraktionsebene im Programmerstellungsprozess adäquate Degugging-Mechanismen zur Verfügung gestellt werden.
  • Erfindungsgemäß wird eine Vorrichtung nach Patentanspruch 1 bereitgestellt.
  • Vorteilhafte Weiterbildungen ergeben sich aus den Unteransprüchen.
  • Ein Anwender hat durch die erfindungsgemäße Vorrichtung die Möglichkeit, das Verhalten bzw. das Fehlverhalten eines Programmablaufs auf grafischer Flow Chart-Ebene zu untersuchen. Üblicherweise werden die Haltepunkte, die ein Debug-Programm für seine Arbeitsweise benötigt auf Prozessorcodeebene gesetzt, d.h. in den Prozessorcode (durch einen Compiler) eingebracht. In der vorliegenden Erfindung werden aber die Haltepunkte in Form von Suspend-Befehlen den Flow Chart Elementen zugeordnet, d.h. die Einbringung der Haltepunkte geschieht auf Hochsprachenebene.
  • In der vorliegenden Erfindung kann ein Anwender das Debugging im Single-Steg-Modus oder im Breakpoint-Modus durchführen, denn ein Suspend-Befehl (Haltepunkt) kann auch durch Variablenwerte, Bedingungen oder Speicheradressen vorbelegt wer den. In Abhängigkeit dieser Vorbelegungen führt sie eine "Suspendierung" (Halt) des Programmablaufs herbei oder nicht.
  • In beiden Modi kann der Anwender das "Durchhangeln" durch das Programm am Bildschirm visuell verfolgen. Das aktuelle grafische Element kann z.B. durch einen Cursor angezeigt werden. Auch andere Möglichkeiten einer Visualisierung sind denkbar.
  • Dadurch, dass aus den Flow Chart-Diagrammen in einem Zwischenschritt eine textuelle Sprache erzeugt wird, hat der Anwender die Möglichkeit, bereits auf dieser Ebene der textuellen Sprache Plausibilitätsüberprüfungen durchzuführen. Er kann aber auch weitere Sprachelemente, die in der textuellen Sprache vorliegen, zu seiner Anwendung hinzubinden. Dadurch, dass die textuelle Sprache in einem weiteren Zwischenschritt in einen prozessorunabhängigen Zwischencode kompiliert wird, bleibt die angesprochene Flexibilität für den Anwender weiterhin erhalten. Auch auf dieser Zwischencodeebene kann der Anwender Plausibilitätschecks bzw. ein Debugging durchführen. Der letztendlich in der Steuerung ablaufende Prozessorcode wird aus dem prozessorunabhängigen Zwischencode generiert, dadurch wird das Target der Anwendung erst zu einem sehr späten Zeitpunkt festgelegt. Durch die Zwischenschritte bei der Codegenerierung können außerdem sehr leicht unterschiedliche Ziel-Hardwaren bedient werden.
  • Dadurch, dass dem Anwender auf Ebene der textuellen Sprache und/oder auf Ebene des Zwischencodes und/oder auf Ebene des Prozessorcodes jeweils eine Debug-Schnittstelle zur Verfügung steht, ist für einen Anwender das Debuggen von Programmen in der jeweiligen Codeebene in der dazugehörigen Abstraktionsstufe möglich. Ein Anwender ist somit in der Lage, je nach Ausbildungsstand oder Erfahrung sich eine geeignete Abstraktionsebene zum Debuggen zu wählen. Außerdem ist es bekannt, dass auf jeder Codeebene bestimmte Typen von Fehlern mehr oder weniger häufig auftauchen. Durch die Möglichkeit des Debuggens auf unterschiedlichen Codeebenen kann ein Anwender gezielt nach Fehlern suchen, die für die jeweilige Codeebene typisch sind. Die Fehlersuche bzw. Fehlerlokalisierung wird dadurch effizienter.
  • Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass ein durch einen Suspend-Befehl (Haltepunkt) angehaltenes grafisches Element, bzw. die zu diesem Element gehörige Task mit einem Tasksteuermechanismus des Run-Time-Systems fortgesetzt wird. Der Tasksteuermechanismus kann vom Anwender durch Eingaben im Engineering System bedient werden (im Single-Step-Modus und/oder im Breakpoint-Modus), er kann aber auch durch Programme des Run-Time-Systems angesteuert werden. Z.B. können dadurch Regressionstests durchgeführt werden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass der Anwender im Engineering System über den Tasksteuermechanismus des Run-Time-Systems einen Resume-Befehl bedient, der den aktuellen Suspend-Befehl fortschaltet. Der Anwender kann durch die einfache Bedienung des Resume-Befehls auf Flow Chart-Ebene sehr einfach ein Einzel-Schritt-Debugging durchführen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass der Tasksteuermechanismus des Run-Time-Systems über vom Anwender im Engineering System vorbelegbare Variablen in Form eines Breakpoint-Debuggings verwendet wird. Dadurch kann der Anwender auf sehr komfortable Art und Weise Breakpoints setzen und auf Flow Chart-Ebene ein Breakpoint-Debugging durchführen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Variablenvorbelegungen im Tasksteuermechanismus durch andere Programme des Run-Time-Systems erfolgen. Dadurch wird das automatische Testen von Programmen (z.B. automatische Regressionstests) sehr leicht ermöglicht.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass dem Anwender im Flow Chart-Editor, in Abhängigkeit von der zugrundeliegenden Maschinenprojektierung und/oder Hardwarekonfiguration adäquate Sprachmechanismen zur Verfügung gestellt werden. Dadurch wird einem Anwender eine Programmierumgebung zur Verfügung gestellt, die auf die zugrunde liegende Hardware abgestimmt ist und somit optimal den vorliegenden Anforderungen und Randbedingungen genügt. Der Sprachvorrat des Flow Chart-Editors adaptiert sich somit selbständig an die vorhandenen HW-Gegebenheiten (z.B. die zugrunde liegende Maschinenkonfiguration).
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass aus anwenderdefinierten Unterprogrammen einer textuellen Sprache automatisch über einen Umsetzer nach Art eines Compilers weitere grafische Elemente in Flow Chart-Notation generiert werden, welche die Funktionsschnittstelle der entsprechenden Unterprogramme enthalten und die dem Anwender ebenfalls zur Verfügung gestellt werden. Dadurch ist es möglich, dass aus schon vorhandenen Unterprogrammen der textuellen Sprache oder aus zusätzlichen Unterprogrammen, die in die textuelle Sprache eventuell vom Maschinenbauer eingebracht wurden, automatisch Icons und die dazugehörigen Masken vom System generiert werden und dem Anwender im Flow Chart-Editor zur Verfügung gestellt werden. Die Funktionsschnittstelle und die Übergabeparameter der Unterprogramme der textuellen Sprache werden dabei automatisch für die Flow Chart Icons generiert. Durch diesen Mechanismus lassen sich leicht von OEM-Kunden (Original Equipment Manufacturer) schon in textueller Sprache vorliegende Unterprogramme in den Flow Chart-Editor übernehmen. Damit wird dem Endanwender für seine Flow Chart-Programmierung ein angepasster und erweiterter Sprachvorrat an Icons zur Verfügung gestellt.
  • Für den Hersteller bzw. für den Vertreiber von Flow Chart Editoren für die Programmierung von industriellen Steuerungen ergibt sich weiterhin der Vorteil, dass sie den Flow Chart Editor mit einem Basisvorrat an grafischen Sprachelementen ausliefern können, der dann in Abhängigkeit evtl. schon vorhandener Unterprogramme der textuellen Sprache auf die Belange eines Anwenders angepasst wird. Ein Flow Chart Editor kann somit in einer anpassbaren Standard- oder Basisversion an Kunden ausgeliefert werden (economies of scale). Für den Anwender ergibt sich dadurch die Möglichkeit einer technologischen Skalierung für seine jeweiligen Anwendungen bezüglich des ihm zur Verfügung stehenden Sprachvorrats an grafischen Elementen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die automatisch generierten grafischen Elemente vom Anwender als Sprachelemente des Flow Charts verwendet werden. Dadurch, dass der Anwender die automatisch generierten Icons als normale Sprachelemente des Flow Chart-Editors verwenden kann, wird der ihm zur Verfügung stehende Sprachvorrat an Flow Chart-Elementen, d.h. an Icons, erweitert. Somit wird die Flexibilität und Ausdrucksmöglichkeit bezüglich der Programmierung von Applikationen für den Anwender erhöht.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass als textuelle Sprache Structured Text nach IEC 6-1131 verwendet wird. Dadurch, dass mit IEC 6-1131 eine genormte Sprache auf der Ebene der textuellen Sprache verwendet wird, ist der Austausch bzw. die Kopplung mit anderen Programmiersystemen sehr leicht möglich. Außerdem wird durch die Verwendung von IEC 6-1131 als Zwischensprache die Portierung auf unterschiedliche Zielsysteme sehr erleichtert.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass ein Anwender zum Formulieren von Bedingungen beliebig zwischen den Darstellungsformen textuelle Sprache, Kontaktplan "KOP" und/oder Funktionsplan "FUP" wechseln kann. Dadurch, dass auf der Structured Text-Ebene IEC 6-1131 als textuelle Sprache verwendet wird, können auch andere Darstellungsformen von IEC 6-1131 neben der textuellen Sprache, nämlich Kontaktpläne und/oder Funktionspläne, verwendet werden. Ein Anwender hat somit die Flexibilität, innerhalb dieser Sprachen der SPS-Welt, nämlich Structured Text, Kontaktplan oder Funktionsplan, beliebig zu wechseln. Diese Flexibilität ist insbesondere für die Formulierung von Bedingungen ein großer Vorteil für den Anwender, denn er kann sich die Darstellungs- bzw. Beschreibungsform wählen, in der er die meiste Erfahrung hat, oder die dem zugrunde liegenden Problem angemessen ist. Üblicherweise verwendet ein Anwender für die Darstellung von binären Verknüpfungen Kontaktpläne und/oder Funktionspläne und für die Formulierung von arithmetischen Berechnungen Structured Text.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation als Sprachelemente mindestens eine Schleife und/oder mindestens eine Parallelverzweigung vorhanden sind. In den heutzutage gängigen Flow Chart-Editoren werden Schleifen und oft auch Verzweigungen mit Hilfe von Sprungmarken dargestellt. Durch die Verwendung von Sprüngen (Goto-Problematik!) und die dazugehörigen Zielmarken wird die Programmgestaltung aber sehr unübersichtlich und schwer nachvollziehbar. Dadurch, dass dem Anwender als eigene Sprachelemente Schleifen und Parallelverzweigung zur Verfügung stehen, wird die Programmerstellung und auch die Lesbarkeit der Programme erheblich vereinfacht.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass innerhalb der jeweiligen Parallelverzweigung die einzelnen Befehle im selben Interpolatortakt gestartet werden. Dadurch, dass alle Zweige des Sprachkonstrukts Parallelverzweigung im selben Interpolatortakt bedient werden, ist eine quasi parallele Abarbeitung der in den einzelnen Zweigen des Parallelverzweigungs-Konstrukts enthaltenen Befehle möglich. Neben der sequentiellen wird somit auch die parallele Abarbeitung von Befehlen ermöglicht und durch adäquate Sprachmechanismen in der Programmierumgebung für den Anwender unterstützt.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation die Funktionsblöcke durch Maskeneingabe parametriert werden. Dadurch wird für den Anwender die Eingabe von Parametern in einer übersichtlichen und leicht verständlichen Form ermöglicht. Für jeden Typ von Funktionsblock existieren Standardmasken, die einem Anwender nur die für den aktuellen Typ möglichen Parametereingaben erlauben. Die Gefahr von fehlerhaften Eingaben wird durch diese Kontextsensitivität reduziert.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation Funktionsblöcke zu Modulen zusammengefasst werden, die wiederum als Funktionsblöcke erscheinen. Dadurch wird die Übersichtlichkeit des Programmablaufs im Flow Chart für den Anwender erhöht. Ein Anwender kann nämlich logisch zusammengehörende Funktionsblöcke zu einem Modul zusammenfassen und kapseln, wobei dieses Modul wiederum als Funktionsblock im Flow Chart-Editor, d.h. als Icon, erscheint. Durch diesen Mechanismus der Zusammenfassung und Kapselung wird aber nicht nur die Übersichtlichkeit im Ablauf erhöht, auch der Programmablauf lässt sich dadurch strukturieren.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation Module ineinander geschachtelt werden. Das heißt, ein Modul kann wiederum als Element ein oder mehrere Module enthalten. Module können sozusagen wiederum als Unterprogramme in anderen Modulen verwendet werden, dadurch wird die Übersichtlichkeit und die Struktur des Programmablaufs im Flow Chart erhöht.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation dem Anwender in den Funktionsblöcken für die Variablenzuweisung jeweils mehrere Zuweisungen möglich sind. Dadurch, dass der Anwender in einem Funktionsblock, d.h. in einem Icon, mehrere Variablenzuweisungen nacheinander eingeben kann und nicht für jede Variablenzuweisung einen neuen Funktionsblock benötigt, wird zum einen die Übersichtlichkeit erhöht, zum anderen wird aber auch das Programmierprinzip der hohen Kohäsion unterstützt, da der Anwender seine Variablenzuweisungen, die sinnvollerweise zu diesem Funktionsblock gehören, auch in diesem einen Funktionsblock gebündelt vornehmen kann.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass in der Flow Chart-Notation die Funktionsblöcke, die Funktionen repräsentieren, die eine Zeitdauer beanspru chen, Weiterschaltbedingungen enthalten. Funktionen, die eine Zeitdauer beanspruchen, sind z.B. Referenzpunktfahren, Beschleunigen oder Achspositionieren. Solche Funktionen bzw. ihr Zusammenwirken können Anwender mit Hilfe der Weiterschaltbedingungen synchronisieren. Einem Anwender steht somit mit Hilfe der Weiterschaltbedingungen ein Synchronisationsmechanismus zur Verfügung, der es ihm erlaubt, komplexe Bewegungen und Zusammenhänge mehrerer Achsen zu synchronisieren.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die grafischen Elemente des Flow Charts automatisch positioniert werden. Wenn ein Anwender ein neues Icon im Flow Chart-Editor darstellen will, wird es automatisch an der Stelle positioniert, die als nächstes dem logischen Programmablauf entspricht. Dadurch, dass ein Anwender die generierten Icons nicht selbst positionieren muss, wird seine Arbeitseffizienz gesteigert.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Icons des Flow Charts automatisch miteinander verbunden werden. Auch hierin liegt eine Steigerung der Arbeitseffizienz des Anwenders, da er die Icons nicht nachträglich per Hand miteinander verbinden muss.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass das Flow Chart in der Anzeige verkleinert oder vergrößert dargestellt wird. Durch diese Zoom-Funktionalität wird für den Anwender die Übersichtlichkeit der Diagramme erhöht und außerdem kann er bestimmte Programmabläufe, die ihn momentan interessieren, durch Vergrößerung graphisch hervorheben.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass durch Markierungen in der textuellen Sprache eine Rückübersetzung in Flow Chart-Notation möglich ist. Durch die Verwendung von syntaktischen und geometrischen Informationen, die in Form von Markierungen erfolgen, ist es möglich, aus der textuellen Sprache in die Flow Chart-Notation eine Rückübersetzung vorzunehmen. Diese Rückübersetzungsmöglichkeit hat für den Anwender den Vorteil, dass Änderungen, die auf der Ebene der textuellen Sprache eingegeben werden, unmittelbar im Flow Chart-Editor in der Flow Chart-Notation nachgezogen werden können und somit für den Anwender in den Flow Chart-Diagrammen sichtbar sind. Solche rückübersetzten Programme kann der Anwender dann auf der Graphikebene mit Hilfe des Flow Chart-Editors weiterbearbeiten und daraus im weiteren Vorgehen Steuerungscode erzeugen.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die Schritte a) bis c) in einem Sammelschritt ausgelöst werden. Damit muss der eigentliche Debug-Vorgang nach der Vorbereitung und der Zuordnung der Suspend-Befehle zu den grafischen Elementen nicht explizit vom Anwender in einem separaten Arbeitsschritt gestartet werden.
  • Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass während der Abarbeitung des Flow Chart Programms das jeweils aktuelle grafische Element optisch auf der Anzeigeeinrichtung gekennzeichnet wird. Ein Anwender kann somit im Flow Chart den Programmablauf verfolgen und dabei ein positives, aber auch ein negatives Verhalten des Programmes visualisiert erkennen.
  • Die wesentlichen mit der Erfindung erzielten Vorteile bestehen also insbesondere darin, dass ein Anwender bei der Fehlersuche und beim Programmtest auf der Abstraktionsebene von Flow Charts in drei Aspekten adäquat unterstützt wird: Programmbeobachtung, Einzelschrittabarbeitung (Single Step) und Einsatz von parametrierbaren Breakpoints.
  • Weitere Vorteile der Erfindung bestehen insbesondere darin, dass aus Unterprogrammen, die in der textuellen Sprache vorliegen, für den Flow Chart-Editor Icons generiert werden, die die Funktionsschnittstelle der entsprechenden Unterprogramme automatisch enthalten. Wenn ein OEM-Kunde bereits Unterprogramme in der textuellen Sprache erstellt hat, so können diese Unterprogramme automatisch durch entsprechende Icons den Sprachvorrat des Flow Chart-Editors erweitern.
  • Ein weiterer sehr großer Vorteil liegt darin, dass ein Anwender in einer einheitlichen Programmierumgebung sowohl Bewegungssteuerungsaufgaben (Motion Control) und Prozesssteuerungsaufgaben (SPS-Aufgaben) in einer jeweils angemessenen Form programmieren kann. Weiterhin ist von Vorteil, dass die Programmierumgebung sich projektsensitiv verhält, d.h. dass dem Anwender in Abhängigkeit von der zugrunde liegenden Hardware bzw. Maschinenprojektierung zusätzliche dedizierte Sprachelemente zur Verfügung gestellt werden.
  • Ein weiterer Vorteil liegt darin, dass der Anwender sowohl für die sequentielle als auch für die zyklische Programmierung der Steuerungsabläufe unterstützt wird. Dadurch, dass eine geschachtelte Modulbildung von Funktionsblöcken zur Verfügung steht, hat der Anwender den Vorteil, die Übersichtlichkeit und die Struktur seiner Programme zu erhöhen, da er die Designkriterien, Lokalität und hohe Kohäsion sehr leicht umsetzen kann.
  • Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden erläutert.
  • Dabei zeigen:
  • 1 in einer Schemadarstellung ein Engineering-System, das zugehörige Run-Time-System und den zu steuernden technischen Prozess,
  • 2 zeigt in einem Übersichtsbild Elemente des Engineering-Systems und der Steuerung sowie ihre Beziehungen untereinander,
  • 3 zeigt ebenfalls in Form eines Übersichtsbildes den programmtechnischen Zusammenhang zwischen Elementen des Engineering-Systems und des Run-Time-Systems,
  • 4 zeigt ein einfaches Diagramm in Flow Chart-Notation,
  • 5 zeigt ein komplexes Diagramm in Flow Chart-Notation mit den Kontrollstrukturen while und if,
  • 6 zeigt ebenfalls ein komplexes Diagramm in Flow Chart-Notation mit dem Sprachkonstrukt Parallelverzweigung (sync),
  • 7 zeigt eine Parametriermaske für den Befehl "positioniere Achse",
  • 8 zeigt in einem Übersichtsbild, wie der Sprachvorrat des Flow Chart Editors erweitert wird,
  • 9 zeigt eine Auswahl von Sprachelementen (so genannten Icons) des Flow Chart-Editors.
  • In der Darstellung gemäß 1 wird in Form eines Strukturbildes gezeigt, dass die Steuerung eines technischen Prozesses TP über das Run-Time-System RTS einer industriellen Steuerung erfolgt. Die Verbindung zwischen dem Run-Time-System RTS der Steuerung und dem technischen Prozess TP geschieht bidirektional über den Ein-/Ausgang EA. Die Programmierung der Steuerung und damit das Festlegen des Verhaltens des Run-Time-Systems RTS geschieht im Engineering-System ES. Das Engineering-System ES enthält Werkzeuge für die Konfigurierung, Projektierung und Programmierung für Maschinen bzw. für die Steuerung technischer Prozesse. Die im Engineering-System erstellten Programme werden über den Informationspfad I1 in das Run-Time-System RTS der Steuerung übertragen. Bezüglich seiner Hardware-Ausstattung besteht ein Engineeringsystem ES üb licherweise aus einem Computersystem mit Grafikbildschirm (z.B. Display), Eingabehilfsmitteln (z.B. Tastatur und Maus), Prozessor, Arbeits- und Sekundärspeicher, einer Einrichtung für die Aufnahme computerlesbarer Medien (z.B. Disketten, CDs) sowie Anschlusseinheiten für einen Datenaustausch mit anderen Systemen (z.B. weiteren Computersystemen, Steuerungen für technische Prozesse) oder Medien (z.B. Internet). Eine Steuerung besteht üblicherweise aus Eingabe- und Ausgebeeinheiten, sowie aus Prozessor und Programmspeicher.
  • Das Run-Time-System RTS enthält einen Tasksteuermechanismus, der beim Debugging der Flow Charts verwendet wird. Der Tasksteuermechanismus kann z.B. vom Engineering System ES mit Informationen versorgt werden. Insbesondere ist es Aufgabe des Tasksteuermechanismus die Resume-Befehle zu bedienen, um eine Fortsetzung des Programmablaufs zu bewirken.
  • In der Darstellung gemäß 2 werden in Form eines Übersichtsbildes Elemente des Engineering-Systems und der Steuerung sowie ihr Zusammenspiel dargestellt. Dabei werden die einzelnen Elemente in Form von Rechtecken dargestellt, die im Engineering-System enthaltene Datenablage wird in Form des üblicherweise verwendeten Datenspeichersymbols dargestellt. Durch Pfeile (unidirektional oder bidirektional) wird der datenlogische bzw. der ablauflogische Zusammenhang zwischen den Elementen dargestellt. Die obere Hälfte von 2 zeigt die Elemente des Engineering-Systems, nämlich den MCC-Editor, den ST-Compiler mit Programmiergebung, den Konfigurations-Server KS und die Maschinenprojektierung sowie eine Datenablage. Die Zugehörigkeit dieser Elemente zum Engineering-System wird durch Umrandung dargestellt. Die Steuerung beinhaltet den Codeumsetzer und die Programmverarbeitung. Auch die Elemente der Steuerung, die sich im unteren Abschnitt von 2 befinden, sind umrandet. Sowohl das Engineering-System als auch die Steuerung können noch weitere Elemente beinhalten, sie sind aber aus Gründen der Übersichtlichkeit nicht dargestellt.
  • Im MCC-Editor (MCC steht für Motion Control Chart) werden die graphischen Programmabläufe erzeugt. Die Sprachelemente des Editors, d.h. die Icons, können z.B. über eine Befehlsleiste im Bildschirm, die mit Hilfe einer Maus bedient wird oder denkbare andere Eingabehilfsmittel mit dem Editor erzeugt und dargestellt werden. Ein Anwender kann mit Hilfe des MCC-Editors Funktionsblöcke (Icons) und Kontrollstrukturen zu einem Flow Chart verknüpfen, d.h. er kann den MCC-Editor als graphisches Programmier-Tool für die Erstellung von Programmen für Bewegungssteuerungen und/oder Prozesssteuerungen verwenden. Aus dem Flow Chart wird ein textuelles Programm bzw. eine textuelle Sprache (üblicherweise Structured Text nach IEC 6-1131) erzeugt. Dieser Structured Text-Code (ST-Code) wird vom Structured Text-Compiler (ST-Compiler, der Teil der Programmierumgebung ist) in einen prozessorunabhängigen Zwischencode kompiliert. Dieser Zwischencode wird auf die Steuerung geladen und dort vom Codeumsetzer in ablauffähigen Prozessorcode umgesetzt. Dieser wird von der Programmverarbeitung innerhalb der Steuerung zum Ablauf gebracht. Durch die unidirektionalen Pfeile im linken Abschnitt von 2 werden die Schritte der Code- bzw. Programmumsetzung dargestellt. Parallel zu den drei von oben nach unten verlaufenden unidirektionalen Pfeilen, die diese Umsetzung darstellen, verlaufen jeweils zwischen den Elementen MCC-Editor, ST-Compiler, Codeumsetzer und Programmverarbeitung drei bidirektionale Pfeile, die Debug-Schnittstellen bzw. die Möglichkeit einer Programmbeobachtung darstellen. Zwischen Programmverarbeitung und Codeumsetzer existiert eine Debug-Schnittstelle auf Prozessorcode-, d.h. auf Objektcodeebene, eine weitere Debug-Schnittstelle existiert zwischen dem Codeumsetzer und dem ST-Compiler, diese Debug-Schnittstelle befindet sich auf Zwischencodeebene. Zwischen dem ST-Compiler und dem MCC-Editor befindet sich eine weitere Debug- bzw. Programmbeobachtungsschnittstelle auf Ebene von Structured Text (ST-Code).
  • Dadurch ist für einen Anwender das Debuggen von Programmen in der jeweiligen Codeebene in der dazugehörigen Abstraktions stufe möglich. Ein Anwender ist somit in der Lage je nach Ausbildungsstand oder Erfahrung sich eine geeignete Abstraktionsebene zum Debuggen zu wählen. Außerdem ist es bekannt, dass auf jeder Codeebene bestimmte Typen von Fehlern mehr oder weniger häufig auftauchen. Durch die Möglichkeit des Debuggens auf unterschiedlichen Codeebenen kann ein Anwender gezielt nach Fehlern suchen, die für die jeweilige Codeebene typisch sind. Die Fehlersuche bzw. Fehlerlokalisierung wird dadurch effizienter.
  • In 2 sind als weitere Elemente des Engineering-Systems die Maschinenprojektierung und ein Konfigurations-Server KS dargestellt. In der Maschinenprojektierung wird mit Hilfe geeigneter Werkzeuge die Auslegung der Hardware bzw. der zugrunde gelegten Maschine vollzogen. Das heißt, in der Maschinenprojektierung wird z.B. festgelegt, welche Achstypen in welcher Anzahl physikalisch vorhanden sind. Diese Maschineninformationen werden über den Konfigurations-Server KS in den MCC-Editor eingespeist. Die Übertragung dieser Informationen wird durch die unidirektionalen Pfeile I2 und I3 dargestellt. Weiterhin beinhaltet der Konfigurations-Server KS weitere relevante Konfigurationsinformationen für das System, die z.B. auch für die Lizenzierung von zugehörigen Softwarekomponenten verwendet werden können.
  • Eine Datenablage DA, dargestellt durch das gängige Datenspeichersymbol, beinhaltet drei Aspekte: Zum einen das vom MCC-Editor für ein Flow Chart erzeugtes Objektmodell, als zweites den dazugehörigen Structured Text und der dritte Inhalt der Datenablage DA ist der aus dem Structured Text generierte Zwischencode. Die Datenablage DA steht in bidirektionaler Verbindung zum MCC-Editor und ST-Compiler, dargestellt durch die bidirektionalen Informationspfeile I4 und I5.
  • Die Darstellung gemäß 3 zeigt als Übersichtsbild die vorhandenen Abstraktionsebenen aus Sicht des Programmcodes. Die unterschiedlichen Programmcode-Ebenen sind als Rechtecke dar gestellt. Die oberste Ebene ist die MCC-Ebene, in der die Flow Chart-Programme erzeugt werden. Die nächstuntergeordnete Codeebene ist die Structured Text-Ebene ST. In die ST-Ebene gelangt man aus der MCC-Ebene durch eine entsprechende Codegenerierung, dargestellt durch einen Pfeil vom MCC-Block zum ST-Block. Unterhalb der Structured Text-Ebene ST liegt die Zwischencode-Ebene. Durch einen Compiler wird aus dem Structured Text-Programm ein prozessorunabhängiger Zwischencode kompiliert, dargestellt durch den Pfeil vom ST-Block zum Block mit dem Namen Zwischencode. Unterhalb der Zwischencode-Ebene liegt die unterste Codeebene, nämlich die Objektcode-Ebene, die den ablauffähigen Prozessorcode beinhaltet. Aus dem Zwischencode wird über einen Umsetzer der Objektcode erzeugt, ebenfalls dargestellt durch einen Pfeil vom Zwischencodeblock zum Objektcodeblock. Von der Objektcode-Ebene gehen rechtwinklig abgewinkelte Pfeile zurück zur Structured Text-Codeebene ST und zur Flow Chart-Ebene MCC. Dadurch ist angedeutet, dass auf diesen Ebenen Test- und Programmverfolgungsaktivitäten stattfinden können, auf der Basis des Objektcodes. Durch den fetten Doppelpfeil zwischen der MCC- und der ST-Ebene wird angedeutet, dass zwischen diesen beiden Ebenen Aufrufe, Task-Steuerbefehle und Variablenaustauschfunktionen möglich sind. Die gestrichelte Linie in 3 zeigt die Grenze zwischen dem Engineering System ES und dem Run-Time-System RTS der Steuerung (S; 2) an. Die Grenze verläuft durch die Zwischencode-Ebene, alles, was oberhalb der gestrichelten Linie ist, gehört zum Engineering System ES, alles, was unterhalb der gestrichelten Linie stattfindet, gehört zum Run-Time-System RTS.
  • Weiterhin wird in 3 gezeigt, wie ein Programmierer oder Anwender (am linken Bildrand dargestellt durch ein stilisiertes Strichmännchen) im Engineering System ES Eingaben einbringen kann. Er kann zum einen auf der MCC-Ebene mit Hilfe der graphischen Programmierung Flow Charts erzeugen, zum anderen kann er auf der Structured Text-Ebene ST durch eine textuelle Programmierung Programme erstellen. Beide Eingabe möglichkeiten sind durch Pfeile vom Strichmännchen zum MCC-Block bzw. zum ST-Block dargestellt.
  • Darstellung gemäß 4 zeigt einen einfachen Programmablauf für die Programmierung von Achsbewegungen. Jedes Flow Chart beginnt mit einem Startknoten und endet mit einem Endeknoten. Diese Programmbegrenzungssymbole tragen die Bezeichnung "Start" bzw. "Ende". Start- und Endesymbole werden jeweils durch ein Rechteck dargestellt, dessen Stirnseiten durch zwei Halbkreise ausgebildet sind. Die Programmbefehle werden durch Rechtecke dargestellt, die einen Bezeichner und ein graphisches Symbol beinhalten, welches den hinterlagerten Befehl repräsentiert.
  • Die Flow Chart-Symbole werden üblicherweise über eine Eingabeleiste mit Hilfe einer Maus im Flow Chart-Editor erzeugt, wobei auch andere Eingabehilfsmittel wie z.B. ein Touch Pad denkbar sind. Alternativ wäre auch eine Bedienung über Tastatur mit oder ohne Maus möglich.
  • Die Flow Chart-Symbole werden vom Flow Chart-Editor defaultmäßig untereinander ausgerichtet und durch eine Linie miteinander verbunden.
  • Im Flow Chart nach 4 wird nach dem Start eine Gleichlaufachse freigeschaltet, danach wird auf ein Synchronisierungssignal gewartet und als nächster und letzter Befehl des Flow Charts wird für eine Gleichlaufachse eine Kurvenscheibe eingeschaltet. Die Befehlsequenz von 4 wird beendet durch das Endesymbol.
  • Wenn ein Anwender das vorliegende Flow Chart Debuggen (Fehlersuche, Fehlerlokalisierung, Kontrolle des Programmverhaltens etc.) will, wird er einen Debug-Modus starten, der bewirkt, dass den einzelnen grafischen Elementen des Flow Charts Suspend-Befehle zugeordnet werden. Er kann dann im Single-Steg-Modus oder im Breakpoint-Modus das Debugging durchführen. Im Single-Steg-Modus erfolgt der Programmablauf nach dem Starten des Debuggers (ein Debugger ist als Dienstprogramm der Programmierumgebung, d.h. somit auch des Engineeringsystems (ES; 1, 2, 3) anzusehen) automatisch von Suspend-Befehl zum nächsten Suspend-Befehl. Bei jedem erreichten Suspend-Befehl wird der Programmablauf gestoppt. Das Erreichen eines Suspend-Befehls und des zugehörigen grafischen Elements wird dem Anwender visuell (z.B. durch speziellen Cursor oder farbiger Kennzeichnung) angezeigt. Das "Losen" der Suspend-Befehle geschieht durch entsprechende Resume-Befehle. Der Anwender kann dadurch die Fortsetzung des Programmablaufs bewirken. Ein Fortsetzen des Programmablaufs kann auch durch einen Tasksteuermechanismus des Run-Time-Systems erfolgen.
  • Einem Suspend-Befehl können aber auch Bedingungen, Variablenwerte oder Speicheradressen zugeordnet werden. Der Programmablauf wird dann durch den Wert dieser Zuordnungen bestimmt. Dadurch kann mit Hilfe der Suspend-Befehle ein Debugging auch im Breakpoint-Modus erfolgen.
  • Die Darstellung gemäß 5 zeigt ein komplexes Flow Chart mit Kontrollstrukturen für eine While-Schleife und für das If-Konstrukt. Das While- und das If-Konstrukt werden jeweils durch sechseckige, wabenförmige Symbole dargestellt. Ansonsten werden im Programmablauf, wie er in 5 dargestellt ist, die gleichen Typen von Symbolen verwendet, wie sie schon aus 4 bekannt sind. Auch das Flow Chart nach 5 beginnt mit dem Start- und endet mit dem Endesymbol. Unmittelbar nach dem Startknoten folgt ein Befehl, der die Task "motion_3" startet. Dieser Befehl ist vom Typ "Starte Task". Das Rechteck für diesen Befehl enthält deshalb auch das zugehörige entsprechende Symbol, welches das Starten einer Task darstellt. Als nächstes im Programmablauf, wie er in 5 dargestellt ist, folgt das sechseckige wabenförmige While-Konstrukt. Solange die im While-Konstrukt angegebene Bedingung true ist, werden die auf das While-Konstrukt folgenden Befehle zyklisch nacheinander ausgeführt. Das Ende der Befehlsfolge einer While-Schleife wird dargestellt durch einen abgewinkelten Pfeil, der vom letzten Symbol des While-Konstrukts (in 5 ist dies der Befehl vom Typ "Getriebegleichlauf aus", bezogen auf eine Gleichlaufachse) von unten abgeht und auf der linken Seite von 5 zurück in das While-Konstrukt mündet. Ist die Bedingung im While-Konstrukt nicht mehr erfüllt, dann wird die Befehlsfolge, die zum While-Konstrukt gehört, nicht mehr ausgeführt. In 5 wird dies dargestellt durch eine rechtwinklige Verbindungslinie, die das While-Symbol auf der rechten Seite verlässt und rechter Hand die zum While-Symbol gehörende Symbolbefehlsfolge umgeht und in auf das dieser Befehlsfolge unmittelbar folgende Symbol einmündet, in 5 ist dies das Ende-Symbol.
  • Wenn aber die While-Bedingung erfüllt ist, wird folgende Befehlsfolge abgearbeitet: Unmittelbar nach dem While-Konstrukt folgt ein Befehl, der das Warten auf eine Bedingung repräsentiert. Auch dieser Befehl enthält ein entsprechendes mnemotechnisches grafisches Symbol, das den Wartevorgang graphisch darstellt. Als nächstes folgt ein Befehl, der die Task "motion_2" startet. Auch dieser Befehl ist vom Typ "Starte Task" und enthält das entsprechende graphische Symbol. Nach diesem Befehl folgt das If-Konstrukt, das genauso wie das While-Konstrukt durch ein sechseckiges, wabenförmiges Symbol dargestellt wird. Ist die If-Bedingung (in 5 dargestellt durch "error <> 0"), erfüllt dann wird im True-Zweig die Befehlsfolge weiter abgearbeitet, ansonsten, wenn die Bedingung nicht erfüllt ist, wird die Befehlsfolge im False-Zweig weiter abgearbeitet. Im True-Zweig der If-Bedingung folgt als nächster Befehl ein Befehl, der die Task "motion_2" stoppt. Dieser Befehl ist vom Typ "Stoppe Task" Darauf folgt ein Befehl, der die Task "motion_3" stoppt. Auch dieser Befehl ist vom Typ "Stoppe Task". Diese Befehle werden außerdem durch dazugehörende entsprechende Symbole repräsentiert. Als nächstes in der Befehlsfolge kommen zwei "Stoppe Achs"-Befehle. Im ersten solchen Befehl wird eine Drehzahlachse gestoppt, im darauffolgenden eine Positionierachse, auch diese "stoppe Achs"-Befehle werden durch dazugehörende entsprechende graphische Symbole repräsentiert. Der nächste und zugleich der letzte Befehl in 5 bezieht sich auf eine Achse mit dem Namen "Gleichlaufachse", nämlich auf das Ausschalten des Getriebegleichlaufes ("Getriebegleichlauf aus"), auch dieser Befehl wird durch ein entsprechendes graphisches Symbol repräsentiert. Die Symbole des Flow Charts sind durch Linien miteinander verbunden, womit der Programmablauf dargestellt wird. Von diesem Befehl, der den letzten Befehl im While-Konstrukt darstellt, geht ein rechtwinklig abgewinkelter Pfeil zurück zu diesem While-Konstrukt. Dadurch wird das zyklische Abarbeiten der Befehlsfolge dargestellt. Im While-Konstrukt wird geprüft, ob die Bedingung erfüllt ist. Ist sie erfüllt oder weiterhin erfüllt, wird die Befehlsfolge noch einmal durchlaufen. Ist sie nicht erfüllt, wird das While-Konstrukt verlassen und, wie beispielhaft in 5 dargestellt, mit dem Ende-Symbolfortgefahren, d.h. der durch das Flow Chart dargestellte Programmablauf wird beendet.
  • Auch dem Flow Chart gemäß 5 können zum Zweck des Debuggens Suspend-Befehle zugeordnet werden.
  • Die Darstellung gemäß 6 zeigt ebenfalls ein komplexes Diagramm in Flow Chart-Notation mit dem Sprachkonstrukt Parallelverzweigung (sync). In 6 folgt auf das Start-Symbol ein Befehl, der sich auf eine Drehzahlachse bezieht, nämlich "Achsfreigabe schalten". Auch für diesen Befehl wird im Befehlsrechteck ein graphisches Symbol angegeben, das diesen Befehl repräsentiert. Danach folgt wiederum ein Befehl vom Typ "Achsfreigabe schalten", diesmal aber bezogen auf eine Positionierachse, auch hier ist das dazugehörige entsprechende Symbol angegeben. Der nächstfolgende Befehl ist ein Synchronisationsbefehl "warte auf Signal", in 6 mit "Auto" bezeichnet und mit dem entsprechenden Symbol versehen.
  • Als nächstes Symbol in 6 folgt das Symbol für die Parallelverzweigung (sync). Dieses Symbol wird ebenfalls wie das While- oder das If-Konstrukt durch ein sechseckiges, wabenförmiges graphisches Element dargestellt. Alle Befehle, die in dem Sektor unmittelbar unter dem Symbol für die Parallelverzweigung angeordnet sind, werden im selben Interpolatortakt gestartet. In 6 sind dies die Befehle "Positioniere Achse", bezogen auf eine Positionierachse (dieser Befehlstyp beinhaltet auch das zugehörige entsprechende graphische Symbol) und ein Befehl vom Typ "Setze Ausgang". Der Befehlstyp "Setze Ausgang" ist ebenfalls durch ein Rechteck dargestellt, dieses Rechteck enthält die Adresse des Ausgangs (%QB40) und das entsprechende Symbol für diesen Setz-Befehl (S steht für Set). Die Befehle, die zu einem Parallelverzweigungssymbol gehören, d.h. die innerhalb desselben Interpolatortakts gestartet werden, sind mit dem Parallelverzweigungssymbol nach oben mit einer Linie verbunden und nach unten sind sie mit einer Doppellinie verbunden. Diese waagrechte Doppellinie zeigt an, dass die parallele Abarbeitung wieder aufgehoben ist und dass mit der Bearbeitung des nachfolgenden Befehls so lange gewartet wird, bis alle Aktionen in der Parallelverzweigung beendet sind. Sie ist somit auch das Ende-Symbol des Parallelverzweigungskonstrukts. Als nächstes folgt ein Befehl vom Typ "Drehzahlvorgabe", der sich auf eine Drehzahlachse bezieht. Darauf folgen zwei Befehle vom Typ "Positioniere Achse", die sich jeweils auf Positionierachsen beziehen. Darauf folgt wieder ein Befehl vom Typ "Stoppe Achse", der sich auf eine Drehzahlachse bezieht. Die Rechtecke, die diese genannten Befehle darstellen, beinhalten natürlich auch wieder entsprechende dazugehörige graphische Symbole. Nach dem Befehl vom Typ "Stoppe Achse", der sich auf die schon genannte Drehzahlachse bezieht, folgt das Ende-Symbol.
  • Die hier dargestellte Art der Flow Chart-Programmierung unterstützt unterschiedliche Arten der Programmierung. Zum einen wird durch das Parallelverzweigungssymbol mit dem Starten der dazugehörigen Befehle in einem Interpolatortakt eine mehr oder weniger echte Parallelität erreicht, d.h. die Programmierung paralleler Threads wird unterstützt, und ihre dazugehörige Abarbeitung wird ermöglicht. Zum anderen wird die zyklische Programmierung, d.h. auch die zyklische Programmabarbeitung, unterstützt, es kann nämlich dargestellt werden, dass aufeinander folgende Befehle nur angestoßen werden, wobei aber jeweils nicht auf die Abarbeitung des vorhergehenden Befehls gewartet werden muss. Aber auch die Programmierung und die Darstellung solcher sequentiellen Abläufe wäre möglich, dass nämlich bei Anstoß eines Befehls auf die Abarbeitung dieses Befehls gewartet wird, bis der nächste Befehl angestoßen und abgearbeitet wird. Die hier vorgestellte Flow Chart-Programmierung ist somit für einen Anwender sehr flexibel anwendbar und für unterschiedliche Applikationen einsetzbar.
  • Auch dem Flow Chart gemäß 6 können zum Zweck des Debuggens Suspend-Befehle zugeordnet werden.
  • Die Darstellung gemäß 7 zeigt eine Parametriermaske für den Flow Chart-Befehl "Positioniere Achse". Oben links im oberen Balken der Parametriermaske steht die Bezeichnung des entsprechenden Befehls, in diesem Fall "Positioniere Achse". Der obere Balken beinhaltet auf seiner rechten Seite zwei Schalter, ein Schalter mit einem Fragezeichen versehen beinhaltet eine Online-Hilfe, der zweite Schalter, mit x versehen, wird für das Schließen der Maske verwendet. Die Parametriermaske beinhaltet unterschiedliche Eingabesektoren. Im obersten Eingabesektor kann die entsprechende Achse ausgewählt werden mit Hilfe eines Eingabemenüs (dargestellt durch einen Eingabeknopf mit einem kleinen auf dem Kopf stehenden Dreieck) können im Eingabefenster die entsprechenden Achsen ausgewählt werden. In diesem obersten Sektor ist links oben auch das zu diesem Befehl dazugehörige graphische Symbol angegeben, nämlich ein auf dem Kopf stehendes Dreieck mit der Spitze nach unten, das waagrecht mittig mit einer dunklen Linie versehen ist, wobei an den Enden dieser Linie jeweils nach unten abgeschrägte weitere kleine Linien angebracht sind. Der nächste und größte Sektor der Parametriermaske stellt die Möglichkeiten dar, Parameter einzugeben. Die Parameter sind, je nach Befehl, unterschiedlich. Sie werden über benamte Reiter, die auf einer Reiterleiste angeordnet sind, wie in gängigen Programmoberflächen üblich, logisch sortiert. Die erste Seite (in 7 ist diese Seite durch den Reiter "Parameter" aufblendbar) trägt üblicherweise die Parameter, die unbedingt zur Parametrierung des Befehls angegeben werden müssen. Für den Befehl "Positioniere Achse" ist ein unbedingter Parameter z.B. die Zielposition einer Achsbewegung.
  • Die Anzahl und Bedeutung der Reiter ist befehlsabhängig unterschiedlich. In 7 ist dargestellt, dass für den Befehl "Positioniere Achse" neben dem Reiter "Parameter" noch ein Reiter "Dynamic" vorhanden ist. Mit diesem Reiter können für die Beschreibung des dynamischen Verhaltens Eingaben zu Ruck und Beschleunigung sowie zum Geschwindigkeitsprofil gemacht werden. Diese Eingaben können über Eingabefelder und dazugehörigen Menüs gemacht werden. In Abbildung von 7 wurde als Geschwindigkeitsprofil die Trapezform gewählt. Diese Form wurde auch graphisch in der Mitte dieses Eingabesektors stilisiert dargestellt. Im unten darauffolgenden Eingabesektor der Parametriermaske können weitere Eingaben, z.B. für das Übergangsverhalten, gemacht werden. Im Beispiel von 7 wurde für das Übergangsverhalten "Ablösen" eingegeben. Zusätzlich können Wartebedingungen eingegeben werden, indem das Kästchen "Warten" mit einem Häkchen versehen wird. Zu diesem Synchronisieren können in einem dazugehörenden Eingabefenster weitere Eingaben gemacht werden. Im Beispiel nach 7 wurde "Positionsfenster erreicht" dafür eingegeben. Auch diese Eingaben werden durch stilisiert dargestellte Achsprofile unterstützt. Das untere Ende einer Parametrierachse besteht aus vier Eingabeknöpfen, nämlich einem "OK"-Knopf, einem "Abbrechen"-Knopf, einem "Übernehmen"-Knopf und einem "Hilfe"-Knopf. Mit Hilfe dieser Eingabeknöpfe können Anwender entweder die Eingaben übernehmen, bestätigen, verwerfen oder die Eingabehilfe aufrufen. Mit Hilfe der Wartebedingungen können durch einen Anwender sogenannte Weiterschaltbedingungen spezifiziert werden, die Funktionen (z.B. Referenzpunktfahren oder Achspositionieren) bzw. ihr Zusammenspiel synchronisieren.
  • Solche Parametriermasken existieren dediziert für alle Befehle, die mit Hilfe des Flow Chart-Editors eingegeben und bearbeitet werden können. Der Anwender wird also kontextsensitiv mit Hilfe dieser Parametriermasken bei der Programmierung seiner Bewegungs- und Steuerungsabläufe unterstützt.
  • Die Darstellung gemäß 8 zeigt in einem Übersichtsbild, wie der Sprachvorrat FEV des Flow Chart Editors FE erweitert wird. In der Ausgangssituation stehen einem Anwender A1 (dargestellt durch ein Strichmännchen) die grafischen Elemente E1 bis Ein des Flow Chart Editors FE zur Verfügung. Der Flow Chart Editor FE ist in der Darstellung gemäß 8 links oben als Rechteck dargestellt, das angedeutet grafische Elemente beinhaltet. Der Flow Chart Editor FE ist Teil eines Engineering Systems ES1, dargestellt durch eine gestrichelte Linie. Das Engineeringsystem ES1 enthält noch weitere Elemente, die aber aus Gründen der Übersichtlichkeit nicht dargestellt sind. Der Sprachvorrat FEV des Flow Chart Editors FE, der in der Ausgangssituation die grafischen Elemente E1 bis Ein enthält, ist rechts oben in 8 als Rechteck dargestellt.
  • Die untere Hälfte von 8 zeigt einen Anwender A2 (ebenfalls dargestellt durch ein Strichmännchen) der auf der Structured Text Ebene (ST; 3) mit einem Engineering System ES2 arbeitet. Auf der Structured Text Ebene (ST; 3) stehen dem Anwender A2 innerhalb des Structured Text Editors STED die Structured Text Sprachelemente STE1 bis STEn zur Verfügung, die den Sprachvorrat STEDV des Structured Text Editors darstellen. Auch der Sprachvorrat STEDV des Structured Text Editors STED ist als Rechteck dargestellt. Mit Hilfe der Sprachelemente STE1 bis STEn kann der Anwender A2 im Structu red Text Editor STED Unterprogramme STUP erstellen. Diese Unterprogramme STUP werden über einen Umsetzer (z.B. durch einen Compiler C) in grafische Sprachelemente des Flow Chart Editors FE umgesetzt.
  • In 8 ist links unten skizzenhaft dargestellt, wie diese Generierung grafischer Elemente erfolgt. Beispielhaft erfolgt die Umsetzung innerhalb des Engineering Systems ES2. Das Structured Text Unterprogramm STUP (schematisch dargestellt durch eine Abfolge von Structured Text Elementen aus dem Sprachvorrat STEDV des Structured Text Editors wird durch den Compiler C (dargestellt durch ein Rechteck mit einer Diagonallinie) umgesetzt in das grafische Element En, das auch die Funktionsschnittstelle des ursprünglichen Structured Text Unterprogramms enthält. Der Umsetzvorgang (Structured Text Editor → Compiler → grafisches Element) ist dabei schematisch angedeutet durch zwei waagrecht verlaufende Pfeile. Durch den Zuordnungspfeil ZP ist angedeutet, dass das neu generierte grafische Element En den Sprachvorrat FEV des Flow Chart Editors FE erweitert und dem Anwender A1 für dessen Flow Chart Programmierung zur Verfügung steht.
  • Auch das Engineeringsystem ES2 enthält noch weitere Elemente, die aber aus Gründen der Übersichtlichkeit nicht dargestellt sind. Für den beschriebenen Mechanismus ist es außerdem vorstellbar, dass sich die Funktionalitäten der Engineering Systeme ES1 und ES 2 in einem einzigen Engineering System befinden können. Auch können die beiden Anwender A1 und A2 durch eine einzige Person repräsentiert werden.
  • Die Darstellung gemäß 9 zeigt eine Auswahl von Sprachelementen (so genannten Icons) des Flow Chart-Editors. Diese Sprachelemente repräsentieren Befehle, die der Anwender bei der graphischen Programmierung im Flow Chart-Editor benutzen kann. Der MCC-Flow Chart-Editor unterstützt folgende Klassen von Befehlen und stellt für die einzelnen Befehle dieser Klassen jeweils entsprechende Symbole zur Verfügung:
    Start-Befehle, Stop-Befehle, Positionierbefehle, Gleichlauf- und Kurvenscheiben-Befehle, Messtaster und SW-Nocken-Befehle, Warte-Befehle, Tasksteuer-Befehle, Befehle für die Manipulierung von Variablen sowie weitere allgemeine Befehle. Außerdem stellt der MCC-Flow Chart-Editor weitere grafischen Kontrollstrukturen für den grafischen Programmablauf zur Verfügung.

Claims (23)

  1. Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen, wobei grafische Elemente zu einem auf einer Anzeigeeinrichtung visualisierbaren Flow Charts (MCC) verknüpft sind, derart ausgestaltet, daß a) aus dem Flow Chart eine textuelle Sprache (ST) erzeugt wird, b) die textuelle Sprache (ST) in einen prozessorunabhängigen Zwischencode kompiliert wird, c) der prozessorunabhängige Zwischencode auf die Steuerung geladen wird, d) der prozessorunabhängige Zwischencode auf der industriellen Steuerung in ablauffähigen Prozessorcode umgesetzt wird, e) bei einem Anwenderstart eines Debugvorgangs jedem grafischen Element (E1-En) ein Haltepunkt zugeordnet wird, f) der Debug-Vorgang durch Umschalten in einen Debug-Modus gestartet wird, g) der Programmablauf bis zum unmittelbar folgenden Haltepunkt folgt, h) dem Anwender (A1, A2) visualisiert wird, wo im Flow Chart die aktuelle Flow Chart befindlich ist, i) auf Anwendereingabe zum nächst möglichen Haltepunkt fortgeschaltet wird, j) die Schritte g) bis i) solange fortgeführt werden, bis das Flow Chart-Ende erreicht ist, wobei dem Anwender auf Ebene der textuellen Sprache (ST) und auf Ebene des Prozessorcodes jeweils eine Debug-Schnittstelle zur Verfügung steht und die beiden Ebenen derart verknüpft sind, daß der Programmablauf durch einen Tasksteuerungsmechanismus auf Ebene des Prozessorcodes fortsetzbar ist.
  2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass ein durch einen Haltepunkt angehaltenes grafisches Element, bzw. die zu diesem Element gehörige Task mit einem Tasksteuermechanismus des Run-Time-Systems (RTS) fortgesetzt wird.
  3. Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Anwender im Engineering System (ES, ES1, ES2) über den Tasksteuermechanismus des Run-Time-Systems (RTS) einen Resume-Befehl bedient, der den aktuellen Haltepunkt fortschaltet.
  4. Vorrichtung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass der Tasksteuermechanismus des Run-Time-Systems (RTS) über vom Anwender im Engineering System (ES, ES1, ES2) vorbelegbare Variablen in Form eines Breakpoint-Debuggings verwendet wird.
  5. Vorrichtung nach Anspruch 1, 2, 3 oder 4, dadurch gekennzeichnet, dass die Variablenvorbelegungen im Tasksteuermechanismus durch andere Programme des Run-Time-Systems (RTS) erfolgen.
  6. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass dem Anwender im Flow Chart-Editor, in Abhängigkeit von der zugrunde liegenden Maschinenprojektierung und/oder Hardwarekonfiguration adäquate Sprachmechanismen zur Verfügung gestellt werden.
  7. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass aus anwenderdefinierten Unterprogrammen (STUP) der textuellen Sprache (ST) automatisch über einen Umsetzer (C) nach Art eines Compilers weitere grafische Elemente (E1-En) in Flow Chart-Notation (MCC) generiert werden, welche die Funktionsschnittstelle der entsprechenden Unterprogramme (STUP) enthalten und die dem Anwender (A1, A2) ebenfalls zur Verfügung gestellt werden.
  8. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die automatisch generierten grafischen Elemente (E1-En) vom Anwender (A1, A2) als Sprachelemente des Flow Charts (MCC) verwendet werden.
  9. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass als textuelle Sprache (ST) Structured Text nach IEC 6-1131 verwendet wird.
  10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass ein Anwender zum Formulieren von Bedingungen beliebig zwischen den Darstellungsformen textuelle Sprache (ST), Kontaktplan (KOP) und/oder Funktionsplan (FUP) wechseln kann.
  11. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) als Sprachelemente mindestens eine Schleife und/oder mindestens eine Parallelverzweigung vorhanden sind.
  12. Vorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass innerhalb der jeweiligen Parallelverzweigung die einzelnen Befehle im selben Interpolatortakt gestartet werden.
  13. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) die Funktionsblöcke durch Maskeneingabe parametriert werden.
  14. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) Funktionsblöcke zu Modulen zusammengefasst werden, die wiederum als Funktionsblöcke erscheinen.
  15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) Module ineinander geschachtelt werden.
  16. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) dem Anwender in den Funktionsblöcken für die Variablenzuweisung jeweils mehrere Zuweisungen möglich sind.
  17. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) die Funktionsblöcke, die Funktionen repräsentieren, die eine Zeitdauer beanspruchen, Weiterschaltbedingungen enthalten.
  18. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die grafischen Elemente (E1-En) des Flow Charts automatisch positioniert werden.
  19. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die grafischen Elemente (E1-En) des Flow Charts automatisch miteinander verbunden werden.
  20. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Flow Chart in der Anzeige verkleinert oder vergrößert dargestellt wird.
  21. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass durch Markierungen in der textuellen Sprache eine Rückübersetzung in Flow Chart-Notation (MCC) möglich ist.
  22. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schritte h) bis j) in einem Sammelschritt ausgelöst werden.
  23. Vorrichtung nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass während der Abarbeitung des Flow Chart Programms das jeweils aktuelle grafische Element (E1-En) optisch auf der Anzeigeeinrichtung gekennzeichnet wird.
DE2000138439 2000-08-07 2000-08-07 Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen Expired - Fee Related DE10038439B4 (de)

Priority Applications (10)

Application Number Priority Date Filing Date Title
DE2000138439 DE10038439B4 (de) 2000-08-07 2000-08-07 Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen
US09/911,585 US6981226B2 (en) 2000-08-07 2001-07-24 Flowchart programming for industrial controllers, in particular motion controllers
US09/912,128 US7302676B2 (en) 2000-08-07 2001-07-24 Method for debugging flowchart programs for industrial controllers
US09/911,586 US7000191B2 (en) 2000-08-07 2001-07-24 Flowchart programming for industrial controllers, in particular motion controllers
DE50114712T DE50114712D1 (de) 2000-08-07 2001-07-25 Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
EP01118073A EP1184759B1 (de) 2000-08-07 2001-07-25 Flow Chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
DE50112950T DE50112950D1 (de) 2000-08-07 2001-07-25 Flow Chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
EP01118071A EP1184757B1 (de) 2000-08-07 2001-07-25 Flow chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
DE50112949T DE50112949D1 (de) 2000-08-07 2001-07-25 Flow chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
EP01118072A EP1184758B1 (de) 2000-08-07 2001-07-25 Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000138439 DE10038439B4 (de) 2000-08-07 2000-08-07 Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen

Publications (2)

Publication Number Publication Date
DE10038439A1 DE10038439A1 (de) 2002-02-28
DE10038439B4 true DE10038439B4 (de) 2008-04-24

Family

ID=7651557

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000138439 Expired - Fee Related DE10038439B4 (de) 2000-08-07 2000-08-07 Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen

Country Status (1)

Country Link
DE (1) DE10038439B4 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030032B4 (de) 2004-06-22 2020-06-18 Siemens Aktiengesellschaft System und Verfahren zum Konfigurieren und Parametieren einer automatisierbaren Maschine
EP2363771A1 (de) * 2010-03-04 2011-09-07 Siemens Aktiengesellschaft Programmierschnittstelle und Verfahren zur Steuerung einer Anwendung eines Gerätes einer industriellen Automatisierungsanordnung
DE102015222167A1 (de) * 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren zum vereinfachten ändern von applikationsprogrammen zur steuerung einer industrieanlage
CN110456961B (zh) * 2019-06-17 2023-08-25 宁波敏实汽车零部件技术研发有限公司 一种夹具快速调试系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392207A (en) * 1993-08-20 1995-02-21 Allen-Bradley Company, Inc. Programmable motion controller with graphical programming aid
EP0383506B1 (de) * 1989-02-13 1995-12-13 International Business Machines Corporation Verfahren und System zur gegenseitig ausschliessenden Betriebsmittelsteuerung
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5504902A (en) * 1993-12-01 1996-04-02 Patriot Sensors And Controls Corporation Multi-language generation of control program for an industrial controller
US5508909A (en) * 1994-04-26 1996-04-16 Patriot Sensors And Controls Method and systems for use with an industrial controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383506B1 (de) * 1989-02-13 1995-12-13 International Business Machines Corporation Verfahren und System zur gegenseitig ausschliessenden Betriebsmittelsteuerung
US5392207A (en) * 1993-08-20 1995-02-21 Allen-Bradley Company, Inc. Programmable motion controller with graphical programming aid
US5504902A (en) * 1993-12-01 1996-04-02 Patriot Sensors And Controls Corporation Multi-language generation of control program for an industrial controller
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5508909A (en) * 1994-04-26 1996-04-16 Patriot Sensors And Controls Method and systems for use with an industrial controller

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Beiblatt 1 zu DIN EN 61131-3, November 1997, Beuth Verlag, Berlin *
BRANDENBURG, G. (u.a.): Tagungsband SPS/IPC/DRIVES '99, Hüthig GmbH Heidelberg, S. 88-95 *
DIN 66001, Dez. 1983, Beuth Verlag GmbH, Berlin *
KIEF, Hans: NC/CNC Handbuch, Hansa Verlag, 2000, S. 254 und 327 *

Also Published As

Publication number Publication date
DE10038439A1 (de) 2002-02-28

Similar Documents

Publication Publication Date Title
EP1184758B1 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
EP1131686B1 (de) Verfahren zur steuerung technischer prozesse
EP2453326B1 (de) Verfahren und System zur Bedienung einer Maschine aus der Automatisierungstechnik
EP1182528A2 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
DE102005028943A1 (de) Numerische Steuerung, die ein in einer Schriftsprache geschriebenes Programm aufrufen kann
WO2005124479A1 (de) System und verfahren zum konfigurieren und parametrieren einer maschine der automatisierungstechnik
WO2010060575A1 (de) Verfahren und vorrichtung zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP1221638A2 (de) Automatisierungssystem
EP1148398B1 (de) Eingabeverfahren für die Programmierung von industriellen Steuerungen
EP1224512B1 (de) Steuerungssystem einer numerischen werkzeugmaschine mit einer wiederverwendbaren softwarestruktur
DE112006000988T5 (de) Wechselrichter und Programmiervorrichtung für denselben
WO2002065223A2 (de) Steuerungs- und überwachungsanlage von maschinen und/oder anlagen mit aktionskomponenten unterschiedlicher aktionsgruppen
EP0553621B1 (de) Programmierbare Computersteuerung für eine Werkzeugmaschine
DE112012006104T5 (de) Sequenz-Programm-Design-Hilfsvorrichtung
EP1137972B1 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
EP0838054B1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
DE10038441B4 (de) &#34;Flow Chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen&#34;
DE10038439B4 (de) Vorrichtung, zumindest umfassend ein Computersystem und eine industrielle Steuerung, für das Debuggen von Programmen für industrielle Steuerungen
EP1221641A2 (de) Industrielle Steuerung mit taktsynchronem Ablaufebenenmodell
EP1217476A2 (de) Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
DE102007014271A1 (de) Verfahren und Vorrichtung zur Bedienung und Steuerung einer maschinentechnischen Anlage mit Hilfe einer grafischen Entwicklungsoberfläche und automatischer Code-Generierung
EP1450279A2 (de) Verfahren zur Projektierung eines elektrischen Systems
EP1220065B1 (de) Verfahren zum Betrieb einer industriellen Steuerung mit Run-Time-System
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
EP2012227A1 (de) Programmieroberfläche zum Programmieren von Computern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G05B 1905

8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee