DE10038439A1 - Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung - Google Patents

Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung

Info

Publication number
DE10038439A1
DE10038439A1 DE2000138439 DE10038439A DE10038439A1 DE 10038439 A1 DE10038439 A1 DE 10038439A1 DE 2000138439 DE2000138439 DE 2000138439 DE 10038439 A DE10038439 A DE 10038439A DE 10038439 A1 DE10038439 A1 DE 10038439A1
Authority
DE
Germany
Prior art keywords
flow chart
user
mcc
language
program
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.)
Granted
Application number
DE2000138439
Other languages
English (en)
Other versions
DE10038439B4 (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/912,128 priority patent/US7302676B2/en
Priority to US09/911,585 priority patent/US6981226B2/en
Priority to DE50112949T priority patent/DE50112949D1/de
Priority to EP01118073A priority patent/EP1184759B1/de
Priority to DE50112950T priority patent/DE50112950D1/de
Priority to DE50114712T priority patent/DE50114712D1/de
Priority to EP01118072A priority patent/EP1184758B1/de
Priority to EP01118071A priority patent/EP1184757B1/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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

Durch die Erfindung wird ein Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen im Kontext der Flow Chart Programmierung aufgezeigt, wobei den grafischen Elementen (E1-En) sog. Suspend-Befehle zugeordnet werden. Durch den Einsatz eines Tasksteuermechanismus im Run-Time-System (RTS) kann der Anwender (A1, A2) auf Flow Chart-Ebene beim Debuggen einen Single-Step-Modus und/oder einen Breakpoint-Modus verwenden.

Description

Die Erfindung bezieht sich auf ein Verfahren für das Debuggen von Programmen für industrielle Steuerungen, insbesondere Be­ wegungssteuerungen, wobei ein Anwender mit einem Editor gra­ phische Elemente, insbesondere Kontrollstrukturen und Funkti­ onsblöcke, zu einem auf einer Anzeigeeinrichtung visualisier­ baren Flow Chart verknüpft.
Im industriellen Umfeld ist es bekannt, sowohl für die Steue­ rung eines technischen Prozesses als auch für die Steuerung der Bewegung einer Verarbeitungs- bzw. Produktionsmaschine graphische Eingabehilfsmittel sowie einen Bildschirm zur Vi­ sualisierung 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 Ab­ laufpläne sind in der Norm DIN 66 001 aufgeführt.
In "Visuelle Sprachen - ein unaufhaltsamer Trend in der In­ dustrie" (Josef Hübl, 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 Automatisierungs­ aufgaben mit Hilfe graphischer Editoren erstellt werden.
Es ist seit langem üblich in Programmierumgebungen Debugger als Hilfsprogramme für die Fehlersuche und Fehlerlokalisie­ rung einzusetzen (Volker Claus et al., DUDEN Informatik, 2. erw. Auflage, S. 188, Dudenverlag, 1993).
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 Debug­ gen notwendige schrittweise bzw. sukzessive Ausführung des Programmes auf einer niedrigen Abstraktionsebene statt und ist dadurch für einen Anwender z. B. hinsichtlich Visualisie­ rung unflexibel.
Außerdem unterstützen die heutzutage existierenden graphi­ schen Eingabehilfsmittel und graphischen Editoren für die Programmierung von industriellen Steuerungen einen Anwender ungenügend hinsichtlich adaptiver Mechanismen bezüglich sei­ ner Applikation zugrundeliegenden Hardwarekonfiguration und stellen ihm im grafischen Editor nur einen starren und einge­ schränkten Vorrat an Sprachmechanismen zur Verfügung.
Weiterhin unterstützen die heutzutage existierenden graphi­ schen 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 un­ terstü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üg­ lich der Portierung und Übertragung der Programme auf andere Anlagen oder Maschinen bedeutet dieser Mechanismus als weite­ ren 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 vorge­ gebenen sequentiellen Abarbeitungsreihenfolge der Icons bzw. der entsprechenden Funktionsblöcke. Auch bieten existierende Flow Chart-Editoren häufig nur wenig Möglichkeiten zur Formu­ lierung von Synchronisationsmechanismen, die aber insbesonde­ re für die Programmierung von Applikationen in der indus­ triellen Automatisierung sehr oft benötigt werden.
Der Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren gemäß Oberbegriff von Anspruch 1 zu schaffen, wobei einem An­ wender gemäß der jeweiligen Abstraktionsebene im Programmer­ stellungsprozess adäquate Debugging-Mechanismen zur Verfügung gestellt werden.
Gemäß der Erfindung wird diese Aufgabe für ein Verfahren der eingangs genannten Art dadurch gelöst, dass die folgenden Verfahrensschritte durchgeführt werden:
  • a) vom Anwender wird ausgehend vom Flow Chart ein Debug- Vorgang vorbereitet,
  • b) dadurch wird jedem grafischen Element ein Suspend-Befehl zugeordnet,
  • c) der Debug-Vorgang wird gestartet,
  • d) der Programmablauf folgt bis zur unmittelbar folgenden Suspend-Befehl,
  • e) dem Anwender wird visualisiert, wo im Flow Chart die ak­ tuelle Flow Chart befindlich ist,
  • f) der Anwender startet das Fortschalten zur nächst mögli­ chen Suspend-Befehl,
  • g) die Schritte d) bis f) werden solange fortgeführt, bis das Flow Chart-Ende erreicht ist.
Ein Anwender hat dadurch 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 ge­ setzt, d. h. in den Prozessorcode (durch einen Compiler) ein­ gebracht. In der vorliegenden Erfindung werden aber die Hal­ tepunkte in Form von Suspend-Befehlen den Flow Chart Elemen­ ten zugeordnet, d. h. die Einbringung der Haltepunkte ge­ schieht auf Hochsprachenebene.
In der vorliegenden Erfindung kann ein Anwender das Debugging im Single-Step-Modus oder im Breakpoint-Modus durchführen, denn ein Suspend-Befehl kann auch durch Variablenwerte, Be­ dingungen oder Speicheradressen vorbelegt werden. In Abhän­ gigkeit 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 grafi­ sche Element kann z. B. durch einen Cursor angezeigt werden. Auch andere Möglichkeiten einer Visualisierung sind denkbar.
Eine erste vorteilhafte Ausgestaltung der Erfindung liegt darin, dass ein durch einen Suspend-Befehl angehaltenes gra­ fisches Element, bzw. die zu diesem Element gehörige Task mit einem Tasksteuermechanismus des Run-Time-Systems fortgesetzt wird. Der Tasksteuermechanismus kann vom Anwender durch Ein­ gaben 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ön­ nen 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 fortschal­ tet. Der Anwender kann durch die einfache Bedienung des Resu­ me-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 Variab­ len in Form eines Breakpoint-Debuggings verwendet wird. Da­ durch 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 Tasksteuermechanis­ mus durch andere Programme des Run-Time-Systems erfolgen. Da­ durch wird das automatische Testen von Programmen (z. B. auto­ matische Regressionstests) sehr leicht ermöglicht.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die folgenden Schritte aufeinander folgend durch­ geführt werden:
  • a) aus dem Flow Chart wird eine textuelle Sprache erzeugt,
  • b) die textuelle Sprache wird in einen prozessorunabhängigen Zwischencode kompiliert,
  • c) der prozessorunabhängige Zwischencode wird auf die Steue­ rung geladen,
  • d) der prozessorunabhängige Zwischencode wird in ablauffähi­ gen Prozessorcode umgesetzt.
Dadurch, dass aus den Flow Chart-Diagrammen in einem Zwi­ schenschritt eine textuelle Sprache erzeugt wird, hat der An­ wender die Möglichkeit, bereits auf dieser Ebene der textuel­ len 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 wei­ terhin 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.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, 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. Dadurch ist für einen Anwender das Debuggen von Pro­ grammen in der jeweiligen Codeebene in der dazugehörigen Abs­ traktionsstufe möglich. Ein Anwender ist somit in der Lage je nach Ausbildungsstand oder Erfahrung sich eine geeignete Abs­ traktionsebene zum Debuggen zu wählen. Außerdem ist es be­ kannt, 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 An­ wender gezielt nach Fehlern suchen, die für die jeweilige Codeebene typisch sind. Die Fehlersuche bzw. Fehlerlokalisie­ rung wird dadurch effizienter.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass dem Anwender im Flow Chart-Editor, in Abhängig­ keit 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 An­ wender 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 einge­ bracht 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 Funktionsschnitt­ stelle und die Übergabeparameter der Unterprogramme der tex­ tuellen 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 vor­ handener Unterprogramme der textuellen Sprache auf die Belan­ ge 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 An­ wender ergibt sich dadurch die Möglichkeit einer technologi­ schen 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 Anwende r die automatisch generier­ ten Icons als normale Sprachelemente des Flow Chart-Editors verwenden kann, wird der ihm zur Verfügung stehende Sprach­ vorrat an Flow Chart-Elementen, d. h. an Icons, erweitert. So­ mit 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 verwen­ det 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 Portie­ rung auf unterschiedliche Zielsysteme sehr erleichtert.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass ein Anwender zum Formulieren von Bedingungen be­ liebig 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 Darstel­ lungsformen von IEC 6-1131 neben der textuellen Sprache, näm­ lich 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 Parallel­ verzweigung 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 Ziel­ marken 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 wer­ den. Dadurch, dass alle Zweige des Sprachkonstrukts Parallel­ verzweigung im selben Interpolatortakt bedient werden, ist eine quasi parallele Abarbeitung der in den einzelnen Zweigen des Parallelverzweigungs-Konstrukts enthaltenen Befehle mög­ lich. 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 er­ lauben. 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 Mo­ dulen zusammengefasst werden, die wiederum als Funktionsblö­ cke erscheinen. Dadurch wird die Übersichtlichkeit des Pro­ grammablaufs im Flow Chart für den Anwender erhöht. Ein An­ wender 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 ge­ schachtelt werden. Das heißt, ein Modul kann wiederum als Element ein oder mehrere Module enthalten. Module können so­ zusagen wiederum als Unterprogramme in anderen Modulen ver­ wendet 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 Variablenzuwei­ sungen nacheinander eingeben kann und nicht für jede Vari­ ablenzuweisung 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 sinnvoller­ weise 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 beanspruchen, Weiterschaltbedingungen enthalten. Funktionen, die eine Zeitdauer beanspruchen, sind z. B. Referenzpunktfahren, Be­ schleunigen oder Achspositionieren. Solche Funktionen bzw. ihr Zusammenwirken können Anwender mit Hilfe der Weiter­ schaltbedingungen synchronisieren. Einem Anwender steht somit mit Hilfe der Weiterschaltbedingungen ein Synchronisationsme­ chanismus zur Verfügung, der es ihm erlaubt, komplexe Bewe­ gungen und Zusammenhänge mehrerer Achsen zu synchronisieren.
Eine weitere vorteilhafte Ausgestaltung der Erfindung liegt darin, dass die grafischen Elemente des Flow Charts automa­ tisch 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 Pro­ grammablauf entspricht. Dadurch, dass ein Anwender die gene­ rierten Icons nicht selbst positionieren muss, wird seine Ar­ beitseffizienz 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 Ar­ beitseffizienz des Anwenders, da er die Icons nicht nachträg­ lich 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 er­ höht und außerdem kann er bestimmte Programmabläufe, die ihn momentan interessieren, durch Vergrößerung graphisch hervor­ heben.
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, unmittel­ bar im Flow Chart-Editor in der Flow Chart-Notation nachgezo­ gen werden können und somit für den Anwender in den Flow Chart-Diagrammen sichtbar sind. Solche rückübersetzten Pro­ gramme kann der Anwender dann auf der Graphikebene mit Hilfe des Flow Chart-Editors weiterbearbeiten und daraus im weite­ ren 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 Anzei­ geeinrichtung gekennzeichnet wird. Ein Anwender kann somit im Flow Chart den Programmablauf verfolgen und dabei ein positi­ ves, aber auch ein negatives Verhalten des Programmes visua­ lisiert erkennen.
Die wesentlichen mit der Erfindung erzielten Vorteile beste­ hen also insbesondere darin, dass ein Anwender bei der Feh­ lersuche und beim Programmtest auf der Abstraktionsebene von Flow Charts in drei Aspekten adäquat unterstützt wird: Pro­ grammbeobachtung, Einzelschrittabarbeitung (Single Step) und Einsatz von parametrierbaren Breakpoints.
Weitere Vorteile der Erfindung bestehen insbesondere darin, dass aus Unterprogrammen, die in der textuellen Sprache vor­ liegen, für den Flow Chart-Editor Icons generiert werden, die die Funktionsschnittstelle der entsprechenden Unterprogramme automatisch enthalten. Wenn ein OEM-Kunde bereits Unterpro­ gramme in der textuellen Sprache erstellt hat, so können die­ se Unterprogramme automatisch durch entsprechende Icons den Sprachvorrat des Flow Chart-Editors erweitern.
Ein weiterer sehr großer Vorteil liegt darin, dass ein Anwen­ der in einer einheitlichen Programmierumgebung sowohl Bewe­ gungssteuerungsaufgaben (Motion Control) und Prozesssteue­ rungsaufgaben (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 Hard­ ware 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 Programmie­ rung der Steuerungsabläufe unterstützt wird. Dadurch, dass eine geschachtelte Modulbildung von Funktionsblöcken zur Ver­ fügung steht, hat der Anwender den Vorteil, die Übersicht­ lichkeit 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:
Fig. 1 in einer Schemadarstellung ein Engineering-System, das zugehörige Run-Time-System und den zu steuern­ den technischen Prozess,
Fig. 2 zeigt in einem Übersichtsbild Elemente des Enginee­ ring-Systems und der Steuerung sowie ihre Beziehun­ gen untereinander,
Fig. 3 zeigt ebenfalls in Form eines Übersichtsbildes den programmtechnischen Zusammenhang zwischen Elementen des Engineering-Systems und des Run-Time-Systems,
Fig. 4 zeigt ein einfaches Diagramm in Flow Chart- Notation,
Fig. 5 zeigt ein komplexes Diagramm in Flow Chart-Notation mit den Kontrollstrukturen while und if,
Fig. 6 zeigt ebenfalls ein komplexes Diagramm in Flow Chart-Notation mit dem Sprachkonstrukt Parallelver­ zweigung (sync),
Fig. 7 zeigt eine Parametriermaske für den Befehl "positi­ oniere Achse",
Fig. 8 zeigt in einem Übersichtsbild, wie der Sprachvorrat des Flow Chart Editors erweitert wird,
Fig. 9 zeigt eine Auswahl von Sprachelementen (so genann­ ten Icons) des Flow Chart-Editors.
In der Darstellung gemäß Fig. 1 wird in Form eines Struktur­ bildes gezeigt, dass die Steuerung eines technischen Prozes­ ses TP über das Run-Time-System RTS einer industriellen Steu­ erung 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 En­ gineering-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 er­ stellten Programme werden über den Informationspfad I1 in das Run-Time-System RTS der Steuerung übertragen. Bezüglich sei­ ner Hardware-Ausstattung besteht ein Engineeringsystem ES üblicherweise aus einem Computersystem mit Grafikbildschirm (z. B. Display), Eingabehilfsmitteln (z. B. Tastatur und Maus), Prozessor, Arbeits- und Sekundärspeicher, einer Ein­ richtung für die Aufnahme computerlesbarer Medien (z. B. Dis­ ketten, CDs) sowie Anschlusseinheiten für einen Datenaus­ tausch mit anderen Systemen (z. B. weiteren Computersystemen, Steuerungen für technische Prozesse) oder Medien (z. B. Inter­ net). 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äß Fig. 2 werden in Form eines Über­ sichtsbildes Elemente des Engineering-Systems und der Steue­ rung 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 da­ tenlogische bzw. der ablauflogische Zusammenhang zwischen den Elementen dargestellt. Die obere Hälfte von Fig. 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 Co­ deumsetzer und die Programmverarbeitung. Auch die Elemente der Steuerung, die sich im unteren Abschnitt von Fig. 2 befin­ den, 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 darge­ stellt.
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 ei­ nem Flow Chart verknüpfen, d. h. er kann den MCC-Editor als graphisches Programmier-Tool für die Erstellung von Program­ men für Bewegungssteuerungen und/oder Prozesssteuerungen ver­ wenden. 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 Zwi­ schencode kompiliert. Dieser Zwischencode wird auf die Steue­ rung geladen und dort vom Codeumsetzer in ablauffähigen Pro­ zessorcode umgesetzt. Dieser wird von der Programmverarbei­ tung innerhalb der Steuerung zum Ablauf gebracht. Durch die unidirektionalen Pfeile im linken Abschnitt von Fig. 2 werden die Schritte der Code- bzw. Programmumsetzung dargestellt. Parallel zu den drei von oben nach unten verlaufenden unidi­ rektionalen Pfeilen, die diese Umsetzung darstellen, verlau­ fen 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 Pro­ zessorcode-, d. h. auf Objektcodeebene, eine weitere Debug- Schnittstelle existiert zwischen dem Codeumsetzer und dem ST- Compiler, diese Debug-Schnittstelle befindet sich auf Zwi­ schencodeebene. Zwischen dem ST-Compiler und dem MCC-Editor befindet sich eine weitere Debug- bzw. Programmbeobachtungs­ schnittstelle 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 Abstraktionsstufe möglich. Ein Anwender ist somit in der Lage je nach Ausbildungsstand oder Erfahrung sich eine geeignete Abstrak­ tionsebene zum Debuggen zu wählen. Außerdem ist es bekannt, dass auf jeder Codeebene bestimmte Typen von Fehlern mehr o­ der weniger häufig auftauchen. Durch die Möglichkeit des De­ buggens 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 Fig. 2 sind als weitere Elemente des Engineering-Systems die Maschinenprojektierung und ein Konfigurations-Server KS dargestellt. In der Maschinenprojektierung wird mit Hilfe ge­ eigneter Werkzeuge die Auslegung der Hardware bzw. der zugrunde gelegten Maschine vollzogen. Das heißt, in der Ma­ schinenprojektierung wird z. B. festgelegt, welche Achstypen in welcher Anzahl physikalisch vorhanden sind. Diese Maschi­ neninformationen werden über den Konfigurations-Server KS in den MCC-Editor eingespeist. Die Übertragung dieser Informati­ onen wird durch die unidirektionalen Pfeile 12 und 13 darge­ stellt. Weiterhin beinhaltet der Konfigurations-Server KS weitere relevante Konfigurationsinformationen für das System, die z. B. auch für die Lizenzierung von zugehörigen Software­ komponenten verwendet werden können.
Eine Datenablage DA, dargestellt durch das gängige Datenspei­ chersymbol, 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äß Fig. 3 zeigt als Übersichtsbild die vor­ handenen Abstraktionsebenen aus Sicht des Programmcodes. Die unterschiedlichen Programmcode-Ebenen sind als Rechtecke dargestellt. 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 Code­ generierung, 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 Struc­ tured 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 er­ zeugt, ebenfalls dargestellt durch einen Pfeil vom Zwischen­ codeblock 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 ange­ deutet, dass auf diesen Ebenen Test- und Programmverfolgungs­ aktivitäten stattfinden können, auf der Basis des Objekt­ codes. 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 Fig. 3 zeigt die Gren­ ze zwischen dem Engineering System ES und dem Run-Time-System RTS der Steuerung (S; Fig. 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 un­ terhalb der gestrichelten Linie stattfindet, gehört zum Run- Time-System RTS.
Weiterhin wird in Fig. 3 gezeigt, wie ein Programmierer oder Anwender (am linken Bildrand dargestellt durch ein stilisier­ tes Strichmännchen) im Engineering System ES Eingaben ein­ bringen kann. Er kann zum einen auf der MCC-Ebene mit Hilfe der graphischen Programmierung Flow Charts erzeugen, zum an­ deren kann er auf der Structured Text-Ebene ST durch eine textuelle Programmierung Programme erstellen. Beide Eingabemöglichkeiten sind durch Pfeile vom Strichmännchen zum MCC- Block bzw. zum ST-Block dargestellt.
Darstellung gemäß Fig. 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 graphi­ sches Symbol beinhalten, welches den hinterlagerten Befehl repräsentiert.
Die Flow Chart-Symbole werden üblicherweise über eine Einga­ beleiste 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 Tasta­ tur mit oder ohne Maus möglich.
Die Flow Chart-Symbole werden vom Flow Chart-Editor default­ mäßig untereinander ausgerichtet und durch eine Linie mitein­ ander verbunden.
Im Flow Chart nach Fig. 4 wird nach dem Start eine Gleichlauf­ achse freigeschaltet, danach wird auf ein Synchronisierungs­ signal gewartet und als nächster und letzter Befehl des Flow Charts wird für eine Gleichlaufachse eine Kurvenscheibe ein­ geschaltet. Die Befehlsequenz von Fig. 4 wird beendet durch das Endesymbol.
Wenn ein Anwender das vorliegende Flow Chart Debuggen (Feh­ lersuche, Fehlerlokalisierung, Kontrolle des Programmverhal­ tens etc.) will, wird er einen Debug-Modus starten, der be­ wirkt, dass den einzelnen grafischen Elementen des Flow Charts Suspend-Befehle zugeordnet werden. Er kann dann im Single-Step-Modus oder im Breakpoint-Modus das Debugging durchführen. Im Single-Step-Modus erfolgt der Programmablauf nach dem Starten des Debuggers (ein Debugger ist als Dienst­ programm der Programmierumgebung, d. h. somit auch des Engi­ neeringsystems (ES; FIG1, FIG2, FIG3) anzusehen) automatisch von Suspend-Befehl zum nächsten Suspend-Befehl. Bei jedem er­ reichten Suspend-Befehl wird der Programmablauf gestoppt. Das Erreichen eines Suspend-Befehls und des zugehörigen grafi­ schen Elements wird dem Anwender visuell (z. B. durch speziel­ len Cursor oder farbiger Kennzeichnung) angezeigt. Das "Lö­ sen" der Suspend-Befehle geschieht durch entsprechende Resu­ me-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, Variablen­ werte oder Speicheradressen zugeordnet werden. Der Programm­ ablauf 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äß Fig. 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. Ansons­ ten werden im Programmablauf, wie er in Fig. 5 dargestellt ist, die gleichen Typen von Symbolen verwendet, wie sie schon aus Fig. 4 bekannt sind. Auch das Flow Chart nach Fig. 5 be­ ginnt mit dem Start- und endet mit dem Endesymbol. Unmittel­ bar nach dem Startknoten folgt ein Befehl, der die Task "mo­ tion_3" startet. Dieser Befehl ist vom Typ "Starte Task". Das Rechteck für diesen Befehl enthält deshalb auch das zugehöri­ ge entsprechende Symbol, welches das Starten einer Task dar­ stellt. Als nächstes im Programmablauf, wie er in Fig. 5 dar­ gestellt ist, folgt das sechseckige wabenförmige While- Konstrukt. Solange die im While-Konstrukt angegebene Bedin­ gung true ist, werden die auf das While-Konstrukt folgenden Befehle zyklisch nacheinander ausgeführt. Das Ende der Be­ fehlsfolge einer While-Schleife wird dargestellt durch einen abgewinkelten Pfeil, der vom letzten Symbol des While- Konstrukts (in Fig. 5 ist dies der Befehl vom Typ "Getriebe­ gleichlauf aus", bezogen auf eine Gleichlaufachse) von unten abgeht und auf der linken Seite von Fig. 5 zurück in das Whi­ le-Konstrukt mündet. Ist die Bedingung im While-Konstrukt nicht mehr erfüllt, dann wird die Befehlsfolge, die zum Whi­ le-Konstrukt gehört, nicht mehr ausgeführt. In Fig. 5 wird dies dargestellt durch eine rechtwinklige Verbindungslinie, die das While-Symbol auf der rechten Seite verlässt und rech­ ter Hand die zum While-Symbol gehörende Symbolbefehlsfolge umgeht und in auf das dieser Befehlsfolge unmittelbar folgen­ de Symbol einmündet, in Fig. 5 ist dies das Ende-Symbol.
Wenn aber die While-Bedingung erfüllt ist, wird folgende Be­ fehlsfolge abgearbeitet: Unmittelbar nach dem While-Konstrukt folgt ein Befehl, der das Warten auf eine Bedingung repräsen­ tiert. Auch dieser Befehl enthält ein entsprechendes mnemo­ technisches grafisches Symbol, dass 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 Fig. 5 dargestellt durch "error << 0"), erfüllt dann wird im True-Zweig die Be­ fehlsfolge weiter abgearbeitet, ansonsten, wenn die Bedingung nicht erfüllt ist, wird die Befehlsfolge im False-Zweig wei­ ter 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 Be­ fehl, 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ächs­ tes 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 gra­ phische Symbole repräsentiert. Der nächste und zugleich der letzte Befehl in Fig. 5 bezieht sich auf eine Achse mit dem Namen "Gleichlaufachse", nämlich auf das Ausschalten des Ge­ triebegleichlaufes ("Getriebegleichlauf aus"), auch dieser Befehl wird durch ein entsprechendes graphisches Symbol rep­ rä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 zyk­ lische 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 Fig. 5 darge­ stellt, mit dem Ende-Symbolfortgefahren, d. h. der durch das Flow Chart dargestellte Programmablauf wird beendet.
Auch dem Flow Chart gemäß Fig. 5 können zum Zweck des Debug­ gens Suspend-Befehle zugeordnet werden.
Die Darstellung gemäß Fig. 6 zeigt ebenfalls ein komplexes Diagramm in Flow Chart-Notation mit dem Sprachkonstrukt Pa­ rallelverzweigung (sync). In Fig. 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 Be­ fehlsrechteck 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 entsprechen­ de Symbol angegeben. Der nächstfolgende Befehl ist ein Syn­ chronisationsbefehl "warte auf Signal", in Fig. 6 mit "Auto" bezeichnet und mit dem entsprechenden Symbol versehen.
Als nächstes Symbol in Fig. 6 folgt das Symbol für die Paral­ lelverzweigung (sync). Dieses Symbol wird ebenfalls wie das While- oder das If-Konstrukt durch ein sechseckiges, waben­ förmiges graphisches Element dargestellt. Alle Befehle, die in dem Sektor unmittelbar unter dem Symbol für die Parallel­ verzweigung angeordnet sind, werden im selben Interpolator­ takt gestartet. In Fig. 6 sind dies die Befehle "Positioniere Achse", bezogen auf eine Positionierachse (dieser Befehlstyp beinhaltet auch das zugehörige entsprechende graphische Sym­ bol) 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 ge­ startet 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 Parallelver­ zweigung 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. Dar­ auf folgt wieder ein Befehl vom Typ "Stoppe Achse", der sich auf eine Drehzahlachse bezieht. Die Rechtecke, die diese ge­ nannten Befehle darstellen, beinhalten natürlich auch wieder entsprechende dazugehörige graphische Symbole. Nach dem Be­ fehl vom Typ "Stoppe Achse", der sich auf die schon genannte Drehzahlachse bezieht, folgt das Ende-Symbol.
Die hier dargestellte Art der Flow Chart-Programmierung un­ terstützt unterschiedliche Arten der Programmierung. Zum ei­ nen 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 Program­ mierung paralleler Threads wird unterstützt, und ihre dazuge­ hörige Abarbeitung wird ermöglicht. Zum anderen wird die zyk­ lische Programmierung, d. h. auch die zyklische Programmabar­ beitung, unterstützt, es kann nämlich dargestellt werden, dass aufeinander folgende Befehle nur angestoßen werden, wo­ bei 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ög­ lich, dass nämlich bei Anstoß eines Befehls auf die Abarbei­ tung dieses Befehls gewartet wird, bis der nächste Befehl an­ gestoßen und abgearbeitet wird. Die hier vorgestellte Flow Chart-Programmierung ist somit für einen Anwender sehr flexi­ bel anwendbar und für unterschiedliche Applikationen einsetz­ bar.
Auch dem Flow Chart gemäß Fig. 6 können zum Zweck des Debug­ gens Suspend-Befehle zugeordnet werden.
Die Darstellung gemäß Fig. 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 bein­ haltet eine Online-Hilfe, der zweite Schalter, mit x verse­ hen, wird für das Schließen der Maske verwendet. Die Paramet­ riermaske beinhaltet unterschiedliche Eingabesektoren. Im obersten Eingabesektor kann die entsprechende Achse ausge­ wä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 an­ gegeben, nämlich ein auf dem Kopf stehendes Dreieck mit der Spitze nach unten, das waagrecht mittig mit einer dunklen Li­ nie 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 Para­ meter 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 Fig. 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 unbeding­ ter Parameter z. B. die Zielposition einer Achsbewegung.
Die Anzahl und Bedeutung der Reiter ist befehlsabhängig un­ terschiedlich. In Fig. 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 dazuge­ hörigen Menüs gemacht werden. In Abbildung von Fig. 7 wurde als Geschwindigkeitsprofil die Trapezform gewählt. Diese Form wurde auch graphisch in der Mitte dieses Eingabesektors sti­ lisiert dargestellt. Im unten darauffolgenden Eingabesektor der Parametriermaske können weitere Eingaben, z. B. für das Übergangsverhalten, gemacht werden. Im Beispiel von Fig. 7 wurde für das Übergangsverhalten "Ablösen" eingegeben. Zu­ sä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 Fig. 7 wurde "Positionsfenster erreicht" dafür eingegeben. Auch diese Ein­ gaben werden durch stilisiert dargestellte Achsprofile unter­ stützt. Das untere Ende einer Parametrierachse besteht aus vier Eingabeknöpfen, nämlich einem "OK"-Knopf, einem "Abbre­ chen"-Knopf, einem "Übernehmen"-Knopf und einem "Hilfe"- Knopf. Mit Hilfe dieser Eingabeknöpfe können Anwender entwe­ der die Eingaben übernehmen, bestätigen, verwerfen oder die Eingabehilfe aufrufen. Mit Hilfe der Wartebedingungen können durch einen Anwender sogenannte Weiterschaltbedingungen spe­ zifiziert werden, die Funktionen (z. B. Referenzpunktfahren oder Achspositionieren) bzw. ihr Zusammenspiel synchronisie­ ren.
Solche Parametriermasken existieren dediziert für alle Befeh­ le, die mit Hilfe des Flow Chart-Editors eingegeben und bear­ beitet 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äß Fig. 8 zeigt in einem Übersichtsbild, wie der Sprachvorrat FEV des Flow Chart Editors FE erweitert wird. In der Ausgangssituation stehen einem Anwender A1 (dar­ gestellt durch ein Strichmännchen) die grafischen Elemente E1 bis Em des Flow Chart Editors FE zur Verfügung. Der Flow Chart Editor FE ist in der Darstellung gemäß Fig. 8 links oben als Rechteck dargestellt, das angedeutet grafische Elemente beinhaltet. Der Flow Chart Editor FE ist Teil eines Enginee­ ring 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 Em ent­ hält, ist rechts oben in Fig. 8 als Rechteck dargestellt.
Die untere Hälfte von Fig. 8 zeigt einen Anwender A2 (eben­ falls dargestellt durch ein Strichmännchen) der auf der Structured Text Ebene (ST; Fig. 3) mit einem Engineering Sys­ tem ES2 arbeitet. Auf der Structured Text Ebene (ST; Fig. 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 E­ ditors 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 Structured Text Editor STED Unterprogramme STUP erstellen. Diese Un­ terprogramme STUP werden über einen Umsetzer (z. B. durch ei­ nen Compiler C) in grafische Sprachelemente des Flow Chart Editors FE umgesetzt.
In Fig. 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 Diago­ nallinie) umgesetzt in das grafische Element En, das auch die Funktionsschnittstelle des ursprünglichen Structured Text Un­ terprogramms enthält. Der Umsetzvorgang (Structured Text Edi­ tor → 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 Edi­ tors 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 vor­ stellbar, dass sich die Funktionalitäten der Engineering Sys­ teme ES1 und ES2 in einem einzigen Engineering System befin­ den können. Auch können die beiden Anwender A1 und A2 durch eine einzige Person repräsentiert werden.
Die Darstellung gemäß Fig. 9 zeigt eine Auswahl von Sprachele­ menten (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 Manipulie­ rung von Variablen sowie weitere allgemeine Befehle. Außerdem stellt der MCC-Flow Chart-Editor weitere grafischen Kontroll­ strukturen für den grafischen Programmablauf zur Verfügung.

Claims (25)

1. Verfahren für das Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, wobei ein An­ wender mit einem Editor grafische Elemente, insbesondere Kon­ trollstrukturen und Funktionsblöcke, zu einem auf einer An­ zeigeeinrichtung visualisierbaren Flow Chart (MCC) verknüpft, gekennzeichnet durch die folgenden Verfah­ rensschritte:
  • a) vom Anwender wird ausgehend vom Flow Chart ein Debug- Vorgang vorbereitet,
  • b) dadurch wird jedem grafischen Element (E1-En) ein Suspend-Befehl zugeordnet,
  • c) der Debug-Vorgang wird gestartet,
  • d) der Programmablauf folgt bis zum unmittelbar folgenden Suspend-Befehl,
  • e) dem Anwender (A1, A2) wird visualisiert, wo im Flow Chart die aktuelle Flow Chart befindlich ist,
  • f) der Anwender startet das Fortschalten zum nächst mögli­ chen Suspend-Befehl,
  • g) die Schritte d) bis f) werden solange fortgeführt, bis das Flow Chart-Ende erreicht ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein durch einen Suspend-Befehl angehaltenes grafisches Element, bzw. die zu diesem Element gehörige Task mit einem Tasksteuermechanismus des Run-Time-Systems (RTS) fortgesetzt wird.
3. Verfahren 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 Suspend-Befehl fort­ schaltet.
4. Verfahren 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) vorbe­ legbare Variablen in Form eines Breakpoint-Debuggings verwen­ det wird.
5. Verfahren nach Anspruch 1, 2, 3 oder 4, dadurch gekennzeichnet, dass die Variablenvorbelegungen im Tasksteuermechanismus durch andere Programme des Run-Time-Systems (RTS) erfolgen.
6. Verfahren nach einem der vorstehenden Ansprüche, gekennzeichnet durch die aufeinander fol­ genden Schritte:
  • a) aus dem Flow Chart wird eine textuelle Sprache (ST) er­ zeugt,
  • b) die textuelle Sprache (ST) wird in einen prozessorunab­ hängigen Zwischencode kompiliert,
  • c) der prozessorunabhängige Zwischencode wird auf die Steu­ erung geladen,
  • d) der prozessorunabhängige Zwischencode wird in ablauffä­ higen Prozessorcode umgesetzt.
7. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass dem Anwender auf Ebene der textuellen Sprache (ST) und/oder auf Ebene des Zwischencodes und/oder auf Ebene des Prozessorcodes jeweils eine Debug-Schnittstelle zur Verfügung steht.
8. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass dem Anwender im Flow Chart-Editor, in Abhängigkeit von der zugrundeliegenden Maschinenprojektierung und/oder Hard­ warekonfiguration adäquate Sprachmechanismen zur Verfügung gestellt werden.
9. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass aus anwenderdefinierten Unterprogrammen (STUP) der tex­ tuellen 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 Funk­ tionsschnittstelle der entsprechenden Unterprogramme (STUP) enthalten und die dem Anwender (A1, A2) ebenfalls zur Verfü­ gung gestellt werden.
10. Verfahren 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.
11. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass als textuelle Sprache (ST) Structured Text nach IEC 6- 1131 verwendet wird.
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass ein Anwender zum Formulieren von Bedingungen beliebig zwischen den Darstellungsformen textuelle Sprache (ST), Kon­ taktplan (KOP) und/oder Funktionsplan (FUP) wechseln kann.
13. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) als Sprachelemente min­ destens eine Schleife und/oder mindestens eine Parallelver­ zweigung vorhanden sind.
14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass innerhalb der jeweiligen Parallelverzweigung die einzel­ nen Befehle im selben Interpolatortakt gestartet werden.
15. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) die Funktionsblöcke durch Maskeneingabe parametriert werden.
16. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) Funktionsblöcke zu Mo­ dulen zusammengefasst werden, die wiederum als Funktionsblö­ cke erscheinen.
17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass in der Flow Chart-Notation (MCC) Module ineinander ge­ schachtelt werden.
18. Verfahren 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.
19. Verfahren 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 beanspru­ chen, Weiterschaltbedingungen enthalten.
20. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die grafischen Elemente (E1-En) des Flow Charts automa­ tisch positioniert werden.
21. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die grafischen Elemente (E1-En) des Flow Charts automa­ tisch miteinander verbunden werden.
22. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Flow Chart in der Anzeige verkleinert oder vergrö­ ßert dargestellt wird.
23. Verfahren 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.
24. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Schritte a) bis c) in einem Sammelschritt ausgelöst werden.
25. Verfahren nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass während der Abarbeitung des Flow Chart Programms das je­ weils aktuelle grafische Element (E1-En) optisch auf der An­ zeigeeinrichtung 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/912,128 US7302676B2 (en) 2000-08-07 2001-07-24 Method for debugging flowchart programs for industrial controllers
US09/911,585 US6981226B2 (en) 2000-08-07 2001-07-24 Flowchart programming for industrial controllers, in particular motion controllers
US09/911,586 US7000191B2 (en) 2000-08-07 2001-07-24 Flowchart programming for industrial controllers, in particular motion controllers
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
DE50112949T DE50112949D1 (de) 2000-08-07 2001-07-25 Flow chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
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
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
EP01118071A EP1184757B1 (de) 2000-08-07 2001-07-25 Flow chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen

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 true DE10038439A1 (de) 2002-02-28
DE10038439B4 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030032A1 (de) * 2004-06-22 2006-01-26 Siemens Ag 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
CN110456961A (zh) * 2019-06-17 2019-11-15 宁波敏实汽车零部件技术研发有限公司 一种夹具快速调试系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769842B2 (ja) * 1989-02-13 1995-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション 資源の相互排他制御方法及びシステム
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

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004030032A1 (de) * 2004-06-22 2006-01-26 Siemens Ag System und Verfahren zum Konfigurieren und Parametieren einer automatisierbaren Maschine
US7596417B2 (en) 2004-06-22 2009-09-29 Siemens Aktiengesellschaft System and method for configuring and parametrizing a machine used in automation technology
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
EP3374135B1 (de) * 2015-11-11 2022-02-16 KUKA Deutschland GmbH Verfahren zum vereinfachten ändern von applikationsprogrammen zur steuerung einer industrieanlage
CN110456961A (zh) * 2019-06-17 2019-11-15 宁波敏实汽车零部件技术研发有限公司 一种夹具快速调试系统及方法
CN110456961B (zh) * 2019-06-17 2023-08-25 宁波敏实汽车零部件技术研发有限公司 一种夹具快速调试系统及方法

Also Published As

Publication number Publication date
DE10038439B4 (de) 2008-04-24

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
US20040036698A1 (en) Multiple coupled browsers for an industrial workbench
DE4431315A1 (de) Steuerungsverfahren und Steuerungsvorrichtung für Fabrik-Automatisierungssystem
WO2007009890A1 (de) Verfahren zum bedienen und beobachten eines steuergeräts, hiermit korrespondierendes bedien-/beobachtungsgerät, steuergerät sowie maschine mit einem solchen steuergerät und verwendungen des verfahrens sowie datenspeichermedien
DE112006000988T5 (de) Wechselrichter und Programmiervorrichtung für denselben
WO2002065223A2 (de) Steuerungs- und überwachungsanlage von maschinen und/oder anlagen mit aktionskomponenten unterschiedlicher aktionsgruppen
DE10335989A1 (de) Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung
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
DE102007014271A1 (de) Verfahren und Vorrichtung zur Bedienung und Steuerung einer maschinentechnischen Anlage mit Hilfe einer grafischen Entwicklungsoberfläche und automatischer Code-Generierung
DE10038441B4 (de) &#34;Flow Chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen&#34;
DE10065419A1 (de) Industrielle Steuerung mit taktsynchronem Ablaufebenenmodell
WO2010028760A1 (de) Automatisierungssystem mit frameworkbasierter steuerung
DE10038439A1 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
EP1450279A2 (de) Verfahren zur Projektierung eines elektrischen Systems
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
DE10038440A1 (de) Flow Chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
DE10125384B4 (de) Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
DE10101745A1 (de) Verfahren zum Betreiben eines Automatisierungssystems
EP1226475B1 (de) Verfahren zum erstellen von leittechnik-programmcode
EP1195667B1 (de) Universelle Bewegungssteuerung
EP0588108A2 (de) Anordnung für die Bedienung einer rechnergesteuerten Fertigungseinrichtung
EP3803522B1 (de) Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems

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