DE69121712T2 - Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte - Google Patents

Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte

Info

Publication number
DE69121712T2
DE69121712T2 DE69121712T DE69121712T DE69121712T2 DE 69121712 T2 DE69121712 T2 DE 69121712T2 DE 69121712 T DE69121712 T DE 69121712T DE 69121712 T DE69121712 T DE 69121712T DE 69121712 T2 DE69121712 T2 DE 69121712T2
Authority
DE
Germany
Prior art keywords
input
graphical
program
output
inputs
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
DE69121712T
Other languages
English (en)
Other versions
DE69121712D1 (de
Inventor
Horace Dudley
Barbara Meyer
David Morley
William Onarheim
Michael Viste
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.)
Allen Bradley Co LLC
Original Assignee
Allen Bradley Co LLC
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 Allen Bradley Co LLC filed Critical Allen Bradley Co LLC
Publication of DE69121712D1 publication Critical patent/DE69121712D1/de
Application granted granted Critical
Publication of DE69121712T2 publication Critical patent/DE69121712T2/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23002Petrinet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23157Display process, synoptic, legend, pictogram, mimic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23255Object oriented programming, OOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23273Select, associate the real hardware to be used in the program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23291Process, graphic programming of a process, text and images

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Description

    Technisches Gebiet
  • Das technische Gebiet der Erfindung sind rechnergestützte bzw. programmgesteuerte steuerungen zum Steuern einer Maschine oder eines Prozesses in einer industriellen oder kommerziellen Umgebung und besteht insbesondere in Verfahren und Vorrichtungen zum Erstellen von Anwenderprogrammen für derartige Steuerungen.
  • Bisheriger Stand der Technik
  • Graphische Programmierhilfen, wie sie von Kossiakoff im US-Patent 4,315,315 Kodosky et al im US-Patent Nr. 4,901,221 beschrieben sind, verwenden einen Programmierrechner zur Darstellung eines Datenflußplans- oder diagramms als graphische Darstellung eines Rechnerprogramms, und zwar typischerweise für einen zweiten Rechner. Diese graphische Darstellung eines Rechnerprogramms wird dann in eine tatsächliche Programmdatei für eine Operation im zweiten Rechner kompiliert.
  • Für Maschinen- oder Prozeßsteuerungen sind verschiedene Arten graphischer Programmiersprachen bekanntgeworden. Eine Art besteht im Kontaktplan oder auch Leiterdiagramm, welches aus logischen Relais-Diagrammen entwickelt wurde. Die Säulen bzw. Leiterholme des Kontaktplans repräsentieren die Seite der niedrigen bzw. hohen Spannung einer Spannungsversorgungsschaltung. Die Sprossen des Plans bzw. der Leiter schließen einen Schaltungspfad, wenn die logischen Elemente in der Leiter zur Erzeugung eines logischen wahren Ergebnisses für die Leiter analysiert sind. Eine weitere Art der Programmiersprache besteht im sequentiellen Funktionsdiagramm, in dem ein industrieller Prozeß als eine Folge alternierender Schritte oder übergänge analysiert wird. Eine weitere Art Programmiersprache ist das Funktionsblockdiagramm, bei dem ein Block in einem Programm verschiedenen mathematischen, logischen oder anderen Arten von Funktionen zur Herstellung von einer Beziehung zwischen Eingaben und Ausgaben zugewiesen werden kann.
  • Vor der Auslegung eines Programms für einen individuellen Steuerungsprozessor muß die Steuerungs-Hardware selektiert und ausgelegt werden. Die Steuerungsmittel werden in Einheiten und Modulen verkauft, die auf vielfache Art und Weise selektierbar und auslegbar (konfigurierbar) sind, um das System oder die Systeme zur Steuerung der speziellen industriellen Operation aufzubauen. Ein wichtiger Gesichtspunkt, der bei dieser Konfiguration der Hardware zu beachten ist, ist die Festlegung und Bestimmung der Eingangs- und Ausgangspunkte (I/O-Punkte) im Steuerungssystem. An diesen I/O-Punkten sendet eine Eingabevorrichtung wie beispielsweise eine Drucktaste ein elektrisches Signal an das Steuerungssystem, oder eine Ausgabevorrichtung, beispielsweise in Form eines Solenoids, empfängt ein Ausgangssignal vom Steuerungssystem.
  • Zahlreiche Steuerungssysteme werden durch Ingenieure, die sich auf diese Aufgabe spezialisiert haben, eingerichtet und installiert. Es besteht ein Bedarf daran, einer grsßeren Anzahl industrieller Kunden sowohl für große als auch kleine Unternehmen beim Verständnis, der Installation und Benutzung von Steuerungsmitteln eine Hilfestellung zu geben. Diesbezüglich besteht ein Bedarf daran, ein einfach zu verwendendes und intuitives graphisches Benutzerinterface für einen Tischrechner zu schaffen, um hiermit einen industriellen Prozeß zu analysieren, die Hardware zu konfigurieren und Programme zur Ausführung durch die Steuerungs-Hardware zu entwickeln.
  • Die US-A-4,901,221 offenbart bereits ein Verfahren und einen Programmierrechner entsprechend den jeweiligen Oberbegriffen der Ansprüche 1 bzw. 15 zur Modellierung eines Prozesses unter Verwendung graphischer Techniken. Die EP-A-0 184 422 offenbart ein Verfahren der Erstellung einer Steuersystemkonfiguration, aufweisend die Schritte der Definition von Prozeßpunkten, welche Datenelemente repräsentieren, die von einer Prozeßeinheit des Steuersystems erzeugt oder empfangen werden, derzuweisung eines oder mehrerer dieser definierten Prozeßpunkte zu den Argumenten eines selektierten Prozeßsteueralgorithmusses und der Zuweisung eines oder mehrerer dieser definierten Prozeßpunkte und eines oder mehrerer eines Satzes dieser Steueralgorithmen zu graphischen Elementen, die eine Steuerschleife repräsentieren.
  • Die in den Ansprüchen 1 und 15 definierte Erfindung betrifft ein Verfahren bzw. eine Vorrichtung jeweils zur Analyse eines industriellen oder kommerziellen Prozesses, der Konfiguration von Steuerungs-Hardware und der Entwicklung von Programmen zur Ausführung durch diese Steuerungs-Hardware.
  • Eine erste graphische Editier-Task, die als Prozeß-Editier-Task bezeichnet werden wird, wird dazu verwendet, den industriellen oder kommerziellen Prozeß als Plan oder Diagramm darzustellen. Eine zweite graphische Editier-Task, die im folgenden als Hardware-Editier-Task bezeichnet werden wird, wird dazu verwendet, die Konfiguration der Steuerungs-Hardware plan- oder diagrammartig aufzustellen. Eine dritte graphische Editier-Task, die im folgenden als Programm-Editier-Task bezeichnet werden wird, wird dazu verwendet, eines oder mehrere Programme für die Prozessoreinheiten in der Steuerungs-Hardware diagramm- oder planartig darzustellen. Ein mit diesen graphischen Editier-Tasks entwickeltes Steuerungsprogramm kann dann in ein Operationsprogramm für einen Steuerungsprozessor im Steuerungssystem kompiliert werden.
  • Die graphischen Editier-Tasks für den Prozeß und die Hardware sind speziell nützlich bei der Auslegung der in die Programm- Editier-Task einzugebenden Daten.
  • Prozeß-I/O-Signale werden unter Verwendung der Prozeß-Editier- Task identifiziert und werden zur Hardware-Editier-Task übertragen.
  • Die Prozeß-Editier-Task gruppiert die I/O-Signale im Prozeß nach einem Ausführungsbeispiel der Erfindung entsprechend Lage und Art für eine einfachere Abstimmung auf die Steuerungs-Hardware.
  • Unter Verwendung der Hardware-Editier-Task werden die Prozeß- I/O-Signale auf Hardware-I/O-Punkte bezogen. In einer bevorzugten Ausführung verwendet die Hardware-Editier-Task ein Zweischicht-Ikon zur Simulation der physikalischen Einheiten der Steuerungs-Hardware, die die wichtige Beziehung der I/O-Module zum I/0-Chassis einschließen. Die Hardware-I/O-Punkte werden dann in die Programm-Editier-Task übertragen, wo sie auf Programmvariable bezogen werden.
  • In einer bevorzugten Ausführung weisen die graphischen Editier- Tasks gemeinsame Bestandteile auf, einschließlich eines Auswahlbalkens am oberen Ende eines Baumgraphenfensters unmittelbar unter dem Auswahlbalken, ein graphisches Editierfenster unterhalb des Baumgraphenfenster und eine Palette graphischer Werkzeuge, die auf der linken Seite des graphischen Editierfensters dargestellt werden.
  • Das Baumgraphenfenster zeigt die Beziehung oder Hierarchie von Graphen innerhalb einer graphischen Editier-Task. Es kann auch dazu verwendet werden, die Eröffnung und Darstellung eines speziellen Graphen innerhalb des graphischen Editierfensters auszuwählen.
  • Die Paletten umfassen ein Paar entgegengesetzt gerichteter oder zeigender Bildschirmverschiebungspfeile, die durch Betätigen einer Maus-Eingabevorrichtung selektiert werden, um die Bildschirmverschiebung oder simulierte Drehung der Paletten so zu veranlassen, daß jeder Palette mehrfache Palettenpaneele oder Palettenfelder zuzuordnen sind. Hierdurch wird jeder Editier- Task die Fähigkeit verliehen, graphische Knoten hinzuzufügen, und dann diese Knoten durch die Lage und die Anzahl und Art von Eingaben und Ausgaben bezüglich dieses Knotens unter Verwendung einer Sequenz von Palettenfeldern zu charakterisieren.
  • Ein Gegenstand der Erfindung besteht darin, ein intuitives, einfach zu verwendendes Benutzerinterface zur Erstellung und Einrichtung sowie Programmierung einer programmierbaren Steuerungsvorrichtung vorzusehen. Die generellen Techniken der Erfindung sind ferner auf die Programmierung anderer Art industrieller Ausrüstungen wie Motorsteuerungen, Bewegungssteuerungseinrichtungen, Operator-Interface-Logik-Displays und Displays mit speziellem Zweck sowie Bild- oder Videosysteme anwendbar.
  • Ein weiterer Gegenstand der Erfindung besteht darin, eine Metaphor für vorhandene programmierbare Steuerungs-Hardware, wie sie von Fachleuten auf dem Gebiet der industriellen Steuerung angewandt und verstanden wird, vorzusehen.
  • Weitere Gegenstände und Vorteile neben den bereits oben erläuterten werden den Fachleuten auf diesem Gebiet aus der nun erfolgenden Erläuterung eines bevorzugten Ausfuhrungsbeispiels der Erfindung offenbar. In der Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil der Erfindung ausmachen und Beispiele der Erfindung verdeutlichen. Jedoch repräsentieren diese Beispiele die vielfachen Ausführungsmöglichkeiten der Erfindung nicht erschöpfend, weshalb auf die Ansprüche verwiesen wird, die der Beschreibung folgen, und dazu dienen, den Schutzumfang der Erfindung zu definieren.
  • Kurzbeschreibung der Zeichnungen.
  • Fig. 1 ist ein Steuersystemdiagramm für eine Autowaschanlage, die einen programmierbaren Rechner enthält, in dem die Verfahren der vorliegenden Erfindung zur Anwendung gebracht werden;
  • Fig. 2 ist ein Diagramm, das Bereiche und graphische Elemente, die in der vorliegenden Erfindung verwendet werden, zeigt;
  • Fig. 3a ist ein Blockschaltbild, das objektorientierte Verfahren für den Aufbau der vorliegenden Erfindung anwendet;
  • Fig. 3b ist ein Blockschaltbild, das den objektorienierten Charakter der vorliegenden Erfindung zeigt;
  • Fig. 4 ist eine Bildschirmanzeige bei der Startprozedur der vorliegenden Erfindung; und
  • Figuren 5 bis 43 sind weitere Bildschirmanzeigen, die die Operation der vorliegenden Erfindung zeigen.
  • Beste Ausführungsart der Erfindung A. Anwendung der Erfindung auf ein rechnergestütztes Steuerungs system.
  • Die Erfindung wird mit einem programmierbaren Rechner 10 praktiziert, um eine elektronische Steuerung in einer verschiedener graphischer Programmiersprachen höherer Ebene zu programmieren. Jedes Steuerungsprogramm wird dann in eine Programmdatei 11 kompiliert. Die Programmdatei 11 wird über eine Diskette oder über ein Netzwerk 12 zu einem Zielprozessor 23 in einem computergesteuerten System zur Steuerung eines industriellen oder kommerziellen Prozesses oder einer Maschine - in diesem Beispiel einer Autowaschanlage - übertragen.
  • Der programmierbare Rechner 10 umfaßt einen Compaq 286 oder Compaq 386 Tischrechner 13 mit einem Diskettenlaufwerk 14, einem nicht dargestellten RAM-Speicher von 4 Megabyte und einer Festplatte 15 mit einer Kapazität von 20 Megabyte. Der Rechner 13 ist (nicht dargestellt) mit einem MS-DOS-Betriebssystem, Version 3,31, geladen. Ein Graphikmonitor 16 ist mit einer geeigneten Graphiksteuerung ausgerüstet und mit dem Rechner 13 verbunden, um dem Benutzer eine visuelle Ausgabe bereitzustellen. Die Benutzereingabemittel für den Personal Computer 10 umfassen eine Maus 17 und eine Tastatur 18. Die Maus 17 weist zwei Tasten, eine rechte Taste (RHB) und eine linke Taste (LHB) auf.
  • Gemaß Fig. 1 ist eine bestimmte Autowascheinrichtung 19 nahe am Eingang der Autowaschanlage vorgesehen und es eine bestimmte Autowascheinrichtung 20 nahe dem Ausgang der Autowaschanlage vorgesehen. Eine erste programmierbare Steuerung bzw. ein erstes programmierbares Steuergerät zum Steuern der Einrichtungen in der Autowaschanlage umfaßt ein Prozessorchassis 21 und zwei (Rechner)-ferne I/O-Chassis 22a, 22b, wobei das zweite I/O- Chassis 22b am Ausgang liegt. Das Prozessorchassis 21 nimmt einen Modularsystem-Prozessormodul 23 im am weitesten links gelegenen Einschub dieses Chassis auf. Das Prozessorchassis 21 umfaßt auch eine Spannungsversorgung 24, die an einer Seite angebracht ist, und eine Gruppe I/O-Module 25 in weiteren Einschubfächern. Der programmierbare Rechner 10 ist mit diesem Modul 23 über ein oben erwähntes erstes Netzwerk 12 verbunden. Der Prozessormodul 23 ist auch mit Adaptermodulen 26, 27 in den I/O- Chassis 22a, 22b verbunden, um Eingangs- und Ausgangsstatusdaten zu I/O-Modulen 29, 30 zu übertragen. Diese Verbindung erfolgt über ein serielles I/O-Masterslave-Ferndatennetz 28. Die I/O- Module 25, 29, 30 in sämtlichen Chassis 21, 22a, 22b sind über eine nicht dargestellte Verdrahtung mit den Einrichtungen in der Waschanlage 19, 20 verbunden.
  • Die generellen Funktionen des Steuerungsprozessormoduls 23 und der I/O-Module 25, 29, 30 sind den Fachleuten auf diesem Gebiet wohlbekannt. Der Steuerungsprozessormodul 23 führt ein Steuerungsprogramm aus, das manchmal auch als Benutzeranwendungsprogramm bezeichnet wird, da das Programm in einer Benutzerprogrammiersprache für eine zahlreicher möglicher industrieller Anwendungen entwickelt wird. Bei der Ausführung des Programms erzeugt der Steuerungsprozessormodul 23 Ausgangsstatusdaten oder Ausgangszustandsdaten in Abhängigkeit vom Zustand von Eingangsstatusdaten und entsprechend der Logik, die im Benutzersteuerungsprogramm enthalten ist.
  • In gewissen vorbestimmten Intervallen führt der Steuerungsprozessormodul 23 eine Abtastung der Ein- und Ausgänge, kurz I/O- Abtastung, aus, wobei Eingangsstatusdaten aus denjenigen I/O- Modulen 25, 29 und 30 ausgelesen werden, die Eingangsmodule sind, und Ausgangsstatusdaten in die als Ausgangsmodule ausgelegte I/O-Module 25, 29 und 30 eingeschrieben werden.
  • Die I/O-Module 25, 29 und 30, die Eingangsmodule sind, setzen Wechselspannungs- und Gleichspannungssignale aus Eingangseinrichtungen wie Sensoren, Grenztastern und Tastknöpfen in digitale Signale mit logischem Pegel um, die als Eingangsdaten speicherbar sind. Die I/O-Module 25, 29 und 30, die Ausgangsmodule sind, setzen digitale Signale mit logischen Pegel auf Wechselspannungs- und Gleichspannungssignale zum Betreiben von Ausgangseinrichtungen wie Relais undsolenoiden um. Die I/O- Module 25, 29 und 30 verbinden diese Eingangs- und Ausgangseinrichtungen der Autowaschanlage 19, 20 über Schwenkarmverbinder mit Kopfkonaktschrauben oder Schraubsteckern, wie sie im Stand der Technik wohlbekannt sind.
  • Ein Steuerungsprogramm oder Benutzeranwendungsprogramm für den Steuerungsprozessor 23 wird als graphisches Diagramm oder graphischer Plan mit hoher Ebene in den programmierbaren Rechner 10 eingegeben, wobei das graphische Programmierinterface am Rechner 10 verwendet wird. Die Steuerungsprogrammdatei 11 wird dann in einen ausführbaren Code kompiliert. Diese Datei 11 wird dann in den Steuerungssystemprozessor 23 übertragen und dort installiert.
  • Darüber hinaus umfaßt die erste programmierbare Steuerung die elektronische Steuerungseinrichtung im Chassis 21, 22a und 22b, sowie zwei weitere programmierbare Steuerungen 31 und 32, die am Ausgang zur Steuerung der Autowascheinrichtungen vorgesehen sind. Diese Steuerungen 31 und 32 haben auch Steuerungsprozessoren, die mit dem ersten Netzwerk verbunden sind, um Programmdateien zu empfangen, die aus dem programmierbaren Rechner 10 ferngeladen werden.
  • Neben dem Betriebssystem wird in dem programmierbaren Rechner Software zur graphischen Darstellung und darauffolenden Erzeugung der Steuerungsprogrammdateien 11 geladen. Die Programmiersoftware wird unter Verwendung der Smalltalk/V-286 Programmiersprache und eines Anwenderentwicklungsprogramms entwickelt, die von Digitalk, Los Angeles, Kalifornien, beziehbar sind.
  • Dieses Entwicklungsprogramm ermöglicht die Generierung von Ablaufanwenderprogrammen (genannt Bilddateien) durch Eingabe von vielen in der objektorientierten Smalltalk-Programmiersprache.
  • Zur Hintergrundinformation und Darlegung der Spezifikationen dieses Programms und der Hardware zu dessen Betreibung wird auf das Smalltalk/V Tutorial and Programming Handbook, Copyright 1988, Digitalk, Inc., verwiesen.
  • B. DIE SMALLTALK-PROGRAMMIERSPRACHE
  • Die Smalltalk-Programmiersprache ist eine verschiedener objekorientierter Programmiersprachen. Diese Sprachen werden dazu verwendet, Objekte oder Datenstrukturen aufzubauen, die sehr komplex sein können, und Gegenstände wie zoombare Fenster umfassen. Die Objekte weisen "Attribute" oder "Merkmale" auf, die ihnen individuelle Eigenschaften verleihen. Jedes Objekt weist die Fähigkeit auf, seine eigenen internen Attribute zu manipulieren. Ein Objekt schließt seine Attribute kapselartig derart ein, daß andere Objekte diese Attribute nicht direkt manipulieren können. Die Objekte kommunizieren miteinander, indem sie Nachrichten übersenden, und diese Nachrichten können das zweite Objekt dazu veranlassen, gewisse Maßnahmen an seinen Attributen vorzunehmen. Verschiedene Arten von Objekten können auf dieselbe Nachricht antworten oder ansprechen.
  • Aus Programmiersicht können die Objektattribute die Form von Daten in einer Datenstruktur annehmen, und jedes Objekt weist seine eigene Datenstruktur auf. Eine Klasse definiert eine Datenstruktur für eine hierauf bezogene Objektgruppe. Die Klasse eines Objekts defniert auch die Programmverfahren, welche das Objekt verwendet, um seine Daten und die Datenstruktur zu manipulieren. In der Smalltalk-Sprache können Verfahren als Sequenzen von Befehlen zur Ausführung einer bestimmten Prozedur bezüglich derartiger Objekte und deren Daten aufgefaßt werden. Ein Verfahren wird als Reaktion auf eine zu einem Objekt gesandte Nachricht aufgerufen. Die Datenstruktur und Verfahren einer Klasse werden durch eine neue Klasse übernommen bzw. ererbt. Die neue Klasse wird als Unterklasse der ursprünglichen Klasse bezeichnet (auf die wiederum als Superklasse Bezug genommen wird) Die Unterklasse beinhaltet sämtliche der Attribute und Verfahren der Superklasse, kann jedoch eigene Attribute und Verfahren hinzufügen, einschließlich Verfahren der Superklasse mit Vorrang überlaufende oder übegehenden sowie abändernde Verfahren.
  • Das Smalltalk-Entwicklungsprogramm ist mit einem Satz Standardklassen und Standardverfahren versehen. Die Unterklassen können auf den Standardklassen aufgebaut werden und es können neue Verfahren hinzugefügt werden, um das Basis-Entwicklungsprogramm in ein spezifischeres Anwenderprogramm zu expandieren.
  • Die Smalltalk-Programmiersprache wird hier angewandt, um eine graphische Programmieranwendung zu erzeugen. In dieser Programmieranwendung werden eine Anzahl Graphen auf einem Bildschirm gezeichnet. Diese Graphen sind aus graphischen Elementen wie Knoten, Vertices (Zielmarken) oder Verbindungsbögen aufgebaut. Es sind ferner Klassen vorgesehen, um das Verhalten dieser graphischen Elemente oder Objekte zu definieren. Die graphischen Elemente können mit Menus aus Befehlen vorgesehen werden, die Funktionen wie Hinzufügen, Entfernen, Schneiden und Kopieren, Verbinden, Überkleben, Aktualisieren und Neuzeichnen veranlassen.
  • C. AUFBAU EINES GRAPHISCHEN EDITORS MIT DER SMALLTALKPROGRAMMIERSPRACHE.
  • Fig. 2 zeigt die grundlegenden Aufbaublöcke oder graphischen Elemente, die in dieser Beschreibung für die Graphen verwendet werden. Die Graphen 38 werden in einem Grapheneditierfenster 33 dargestellt und umfassen Regionen 39, in denen spezifische graphische Elemente 34, 35 erscheinen. Diese graphischen Elemente sind Knoten 34, Unterknoten, Vertices 35 (manchmal als "verts" bezeichnet) und Verbindungsbögen. Die Bsgen sind Linien, die in einer Unterklasse von Regionen auftreten, die als Bogenregionen 39a bezeichnet werden.
  • Ein Funktionsblock, vergleichbar mit einer "Black Box", ist ein Beispiel für einen Knotenpunkt. Dieser Knoten kann einen oder mehrere Unterknoten und einen Vertex oder mehrere Vertex-Marken aufweisen (die als Vertices bezeichnet werden). Vertices werden als Verbindungspunkte an Knoten verwendet. Verbindungsbögen sind die Linien, die einen Vertex an einem Knoten mit einem zweiten Vertex an einem zweiten Knoten verbinden und so die durch die Verbindungen hergestellte graphische Darstellung aufbauen.
  • Den Knoten- und Vert-Graphikelementen 34, 35 sind verschiedene Modelle zugeordnet, die Unterbereiche oder Attribute der Graphikelementklasse und deren Knoten-Vert- und Bogenunterklassen sind. Ein "Funktionsblock" ist ein Modell eines Knotens. Eine Eingangs- oder Ausgangs-I/O-Variable ist ein Modell bzw. eine Möglichkeit für einen Vertex oder kurz "Vert". Beim Ablauf dieses Smalltalk-Anwenderprogramms spricht ein Knotenmodell oder Knotentyp auf Nachrichten vom Knoten an und überträgt Daten zum Knoten 34.
  • Als Beispiel kann der Knotentyp 36 auf einen Satz Nachrichten ansprechen, die von seinem Knoten 34 ausgesandt wurden, wie im folgenden erläutert ist. Ansprechend auf eine "Graphik-Modell"- Nachricht" gibt das Modell die Daten, die die graphische Repräsentation des Modells enthalten, zurück. Diese graphische Repräsentation wird im Grapheneditierfenster 33 als der Graph 38, der editiert wird, dargestellt.
  • Ansprechend auf die "Selektions/Operations"-Nachricht, die auftritt, wenn der Cursor in den Graphikbereich 39, welcher das Modell repräsentiert, eintritt, gibt das Modell eine Nachricht zurück, die zur Ausführung einer zweier Operationen dient. Die erste Operation besteht darin, die graphische Region hervorzuheben; die zweite Operation besteht darin, eine Texteditieroperation auf einer diesen Text darstellenden graphischen Region aufzurufen.
  • Ansprechend auf eine Nachricht über eine "linke Schaltoperation", wenn der Benutzer mit der LHB der Maus 17 auf eine graphische Region 39, die das Modell repräsentiert, schaltet, gibt das Modell eine Nachricht zurück, eine dreier Operationen auszuführen. Die erste besteht darin, eine Zeichenoperation auszuführen, um zu ermöglichen, daß der Editor die graphische Region zieht bzw. zeichnet und neu positioniert; die zweite Operation besteht im Aufruf einer "Rubberbanding"-Operation, die ermöglicht, graphische Regionen miteinander zu verbinden; und die dritte Operation besteht darin, eine "Auswahl"-Nachricht zu dem Modell zu senden, das durch die graphische Region repräsentiert ist.
  • Ansprechend auf eine "verts"-Nachricht spricht das Knotenmodell 36 so an, daß es eine Kollektion aus in diesem Knoten enthaltenen Vertices zurückgibt. Diese Kollektion basiert auf dem Zustand des Knotenmodells 36 und wird durch die Anzahl von Verbindungspunkten, die dieser Knoten aufweisen sollte, bestimmt. Beispielsweise würde ein Knotenmodell 36 für eine Funktionsblock eine Kollektion zurückgeben, die einen Vertex für einen jeden seiner Eingänge und Ausgänge enthielte.
  • Ansprechend auf eine "Unterknoten"-Nachricht spricht das Knotenmodell 36 so an, daß es eine Kollektion von Unterknotenobjekten oder -gegenständen, die der Knoten 34 enthalten sollte, zurückgibt. Die Unterknoten sind vergleichbar mit Verts, beinhalten jedoch kein Anschlußverhalten oder -merkmal. Die Unterknoten werden dazu verwendet, Information innerhalb des Modells oder Typs zu repräsentieren, das durch die Benutzer zu manipulieren ist. Typischerweise enthalten Unterknoten eine darzustellende und zu editierende Textsequenz. Beispielsweise könnte ein Funktionsblock ein Knotenmodell 36 sein und würde einen zur Darstellung seines Namens verwendeten Unterknoten zurückgeben.
  • Ansprechend auf eine "Menu"-Nachricht liefert das Knotenmodell 36 ein Operationsmenu, aus dem der Benutzer Operationen, die am Modell 36 auszuführen sind, auswählen kann. Das Modell 36 sieht auch Verfahren zum Ausführen dieser Menupunkte vor. Diese MOdellmenuselektionen können Menuselektionen hinzufügen, die durch die Graphenelementklasse und eine Knotenunterklasse vorgesehen werden.
  • Fig. 3a zeigt grundlegende Klassen, die den Standardklassen des Smalltalk-Entwicklungsprogramms hinzugefügt werden können. Diese grundlegenden Klassen umfassen einige Editierklassen, die einen graphischen Editor des in Fig. 5 dargestellten Typs vorsehen, wobei hier ein graphischer Editior Daten und Verfahren zum Darstellen einen "Browsing-Fensters" 40 vorsehen, das darüber hinaus einen Titelbalken 41, einen Selektionsbalken, ein Baumgraphen-Fenster 43, ein Grapheneditierfenster 33 und eine Editierwerkzeugpalette 45 umfaßt.
  • Fig. 3(a) stellt die Basisklassen dar, die den Smalltalk-Standardklassen hinzugefügt sind, um einen graphischen Editior vorzusehen. Fig. 3(b) stellt die Unterklassen über die verbundenen Graphen und die Modellklassen sowie Unterklassen dar, die den Smalltalk-Standardklassen hinzugefügt sind, um die spezielle Art von Knoten, Verts und Bögen vorzusehen, die dazu dienen, die vorliegende Anwendung zur Programmierung von Maschinen- und Prozeßsteueurungen, auszuführen.
  • Wie aus Fig. 3(a) hervorgeht, umfassen die Editorklassen die aktive Editorklasse 47, die Grapheneditorklasse 48 und die Graphen-Browser-Klasse 49. Diese Klassen dienen als Instrumente zur Zusammenfügung der Teilstücke, die dazu dienen, die Darstellung aufzubauen, die schließlich auf dem Bildschirm des programmierbaren Rechners 10 als das Browsing-Fensters 40 und dessen Inhalte zu sehen sind.
  • In den Basisklassen wird das Grapheneditierfenster 33 als "Pane" innerhalb des Browsing-Fensters 40 bezeichnet, jedoch wird in dieser Beschreibung diese Pane als Grapheneditierfenster 33 bezeichnet, das fliesenartig (und zwar durch seitliche Aneinanderstellung und nicht durch überlappen) mit anderen Fenstern und Elementen zur Ausbildung des größeren Browsing-Fensters (40) kombiniert ist.
  • Die aktive Editorklasse 47 empfängt Daten, aus den Pane-Klassen 46 und den Region-Klassen 52 um die Hintergrundinformation, die zur Darstellung des Browsing-Fensters 40 dient, zusammenzufügen. Eine Funktion dieser Pane-Klassen 46 besteht darin, aus dem gesamten Bildschirm Koordianten auf Koordinaten innerhalb des Grapheneditierfensters oder der Pane umzusetzen. Die aktive Editorklasse 47 empfängt Mausereignisse und Menuselektionen aus der Pane-Klasse zur Steuerung der Bildschirmverschiebung und des Zoomens vom Grapheneditierfenster 33.
  • Die aktive Editorklasse, die in Fig. 3a durch den Block 47 reprasentiert ist, streicht Regionen 39 innerhalb des Grapheneditierfensters 33 bzw. stellt diese Regionen dar. Die Regionenklasse 52 arbeitet im Tandembetrieb mit den Editorklassen 47 bis 49 und managed individuelle graphische Regionen 39 innerhalb des Grapheneditierfensters 33. Die aktiven Regionen enthalten graphische Elemente, die generell durch die Abstraktgraphenelementklasse 54 definiert sind und spezieller durch die Unterklassen 55 bis 58 für Knoten, Unterknoten, Verts und Bögen definiert sind. Diese Unterklassen wiederum kommunizieren mit den Modellklassen 59, die spezifische Arten von Knoten, Unterknoten, Verts und Bögen definieren.
  • Es gibt eine Spezialisierung der aktiven Regionklasse zur Handhabung der Verbindung von Bögen. Die Bögen sind die Verbindungslinien innerhalb eines verbundenen Graphens. Die Bögen werden wie Linien behandelt, wohingegen die Knoten 34 und Verts 35 wie als digitales Muster übertragene Objekte (bit-mapped objects) in den Regionen 39 gehandhabt werden.
  • Es existieren zwischen den verschiedenen Graphenelementtypen spezielle Beziehungen: Knoten, Vertex, Bogen und Unterknoten. Ein Knoten ist ein Objekt, das eine Anzahl Unterknoten oder eine Anzahl Vertices enthalten kann, von denen Verbindungen durch Bögen zu Vertices anderer Knoten hergestellt werden. Ein Vertex kann einer Mehrzahl von Bögen zugeordnet sein. Die Unterknoten weisen keine Verbindungen zueinander auf; sie können beispielsweise ein Textgegenstand zur Kennzeichnung eines Knotens sein.
  • Eine Grapheneditorklasse 48, die eine Unterklasse der aktiven Editorklasse 47 ist, sorgt für eine Manipulation der Regionen 39 durch Nachzeichnen und Verbinden. Die Grapheneditorklasse 48 steuert das Zeichnen einzelner oder mehrfacher Regionen 39 innerhalb des Grapheneditierfensters 33, die Verbindung von Regionen 39 durch Bögen bzw. Verbindungslinien 39a, das Zuordnen von Werkzeugen zur Region 39 und die Hinzufügung von Knoten 34 in den Graphen 38.
  • Die Editierwerkzeugpalette 45 der Fig. 5 ist das Ergebnis einer Gruppe aus Palettenklassen 51 in Fig. 3b, die Unterklassen der aktiven Editorklasse 47 sind. Ein individuelles Werkzeug in dieser Palette in Fig. 5, wird durch Bewegen des durch die Maus gehandhabten Cursors über die Palette ausgewählt und durch Herabdrücken der LHB der Maus, um dieses Werkzeug auszuwählen, das dann das gegenwärtige aktive Editierwerkzeug darstellt. Wenn der durch die Maus betätigte Cursor darauffolgend in einem offenen Bereich des Grapheneditierfensters 33 gedrückt wird, wird der ausgewählte Palettengegenstand dem Graphen hinzugefügt. Die Palette ermöglicht, daß einem Graphen graphische Elemente schnell hinzugefügt werden können.
  • Eine Verbindungsgraphenklasse, die in Fig. 3(a) durch Block 53 repräsentiert ist, führt die grundlegenden Funktionen aus, die erforderlich sind, um Knoten, Verts und Bögen in einem verbundenen Graphen 38 in Beziehung zu setzen. Es gibt Unterklassen dieser Verbindungsgraphenklasse 53 zur Definition zahlreicher Arten verbundener Graphen.
  • Beispielsweise kann das Modell oder der Typ für einen Knoten ein "Funktionsblock" sein; das Modell oder ein Typ für einen Vertex kann eine I/O-Variable sein. Die Modellklassen 59 und die Graphenelementklasse 54 sind funktionsfähig über das Nachrichten- Interface, das bereits unter Bezugnahme auf Fig. 2 erläutert wurde, verbunden.
  • Aus den Figuren 5 und 6 geht hervor, daß das Browsing-Fenster 40 einen Baumgraphen 50 umfaßt, der eine Hierarchie aus Graphen innerhalb einer beliebigen speziellen Editier-Task darstellt. Zweige oder Knoten des Baumgraphens repräsentieren ein spezielles Diagramm innerhalb der Graphenhierarchie. Durch Auswahl eines Baumzweiges oder Baumknotens wird ein entsprechender Graph in das Grapheneditierfenster 33 gebracht. Dies ermöglicht, daß ein komplexer tief eingenisteter oder verschachtelter Graph schnell durchquert werden kann.
  • Die Graphen-Browser-Klasse, die durch Block 49 in Fig. 3(a) repräsentiert ist, ist eine Spezialisierung der Grapheneditorklasse 48. Die Graphen-Browswer-Klasse 49 stellt die hierarchische Baumstruktur im Baumgraphenfenster 43 oberhalb des Grapheneditierfensters 33 in Fig. 5 dar. Sie sorgt auch für Änderungen im Baumgraphen 50.
  • Zusammenfassend gilt, daß die Editorklassen 47 bis 49 in Fig. 3(a) für a) die Aussendung von Mausereignissen zu graphischen Regionen 39 in Fig. 2, b) zur Aktualisierung des Inhalts des Grapheneditierfensters 33, c) zur Darstellung und Ausrichtung graphischer Regionen 39 zu einem Raster, d) zum Ausdrucken eines verbundenen Graphens 38, e) zur Darstellung von Paletten 45 und f) zur Übertragung von Palettenwerkzeugbefehlen in den Graphen 38 und graphischen Regionen 39 sorgen.
  • Gemäß Fig. 3b wird im folgenden eine Zusammenfassung der Graphenklassen und Modeliklassen gegeben, die für die speziellen verbundenen Graphendiagramme oder Graphenpläne im Anwenderprogramm dienen.
  • Eine Modellklasse 60 ist für Projektdokumente vorgesehen. Ein "Projektdokument" ist in Fig. 4 durch das Ikon 82 dargestellt. Ein Projektedokument ist eine Klassifikation des vorliegenden Anwenderprogramms und zwar im Hinblick auf dessen Beziehung zu einem Tischrechnerfenster gemaß Fig. 4.
  • Das zu beschreibende Graphikeditorprogramm führt drei Editier- Tasks aus. Die Editier-Tasks sind bekannt als Prozeß-Hardwareund Programm-Editier-Tasks. Innerhalb jeder der Tasks werden durch die Verbindungsgraphenklasse 53 definierte Graphen im Editierfenster 33 betrachtet. Es gibt daher einen Graphen für die Prozeß-Editier-Tasks, die in Fig. 5 gezeigt ist. Die Kollektion von Objekten in diesen Graphen wird als prozeßgraphenklasse 61 definiert, die in Fig. 3(b) repräsentiert ist. Ein Graph für die Hardware-Editier-Task ist durch die Hardware-(Lage)-Graphenklasse 62) definiert und in Fig. 20 zu sehen. Ein Graph für die Programm-Editier-Task ist durch eine Programmgaphenklasse 63 definiert und dieser Graph ist in Fig. 33 zu sehen.
  • Die Knoten 90 bis 93 in dem Prozeßgraphen der Fig. 5 sind Unterbereiche oder Zyklen innerhalb einer Autowaschoperation. Diese Knoten 90 bis 93 sind durch die Prozeßelement-Modellklasse 64 in Fig. 3(b) definiert. Die von der Prozeßelementmodellklasse 64 zur Prozeßgraphenklasse 61 in Fig. 3(b) zurückgehende Schleife zeigt, daß innerhalb der Knoten 90 bis 93 in Fig. 5 andere Graphen eingebettet werden können.
  • Auf der niedrigsten Ebene der Prozeßgraphikhierarchie liegt ein Einzelblockgraph, der als I/O-Definitionsblockgraph bezeichnet wird und in den Figuren 11 bis 15 gezeigt ist. Dieser wird durch eine Unterklasse 65 der Verbindungsgraphenklasse repräsentiert, wobei sich eine entsprechende Darstellung in Fig. 3b als "I/O- Definitionsgraph" findet. Der einzelne Knoten in diesem Graphen ist ein I/O-Definitionsblock, der durch die I/O-Elementmodellklasse definiert ist, die durch Block 66 in Fig. 3b repräsentiert ist. Dieser Knoten kann eine Anzahl Eingänge und Ausgänge enthalten und diese wurden dann durch die I/0-Kennungsmodellklasse 67 definiert, die in Fig. 3b dargestellt ist.
  • Die Knoten im Hardeware-(Lage)-Graphen in Fig. 23 sind durch die Hardware-Lageelementmodellkasse 68 in Fig. 3b dargestellt. Hardware-Vorrichtungs-Graphen können innerhalb der Knoten 131, 132 in Fig. 20 untergebracht werden. Diese Hardware-Vorrichtungsgraphen sind in den Figuren 22 bis 24 dargestellt und sind durch eine Hardware-Vorrichtungsgraphenklasse definiert, die in Fig. 3b durch Block 69 dargestellt ist. Beispiele der Knoten in den Vorrichtungsgraphen sind in den Figuren 22 bis 24 gezeigt. Diese Knoten werden durch Modellklassen 70 und 71 für ein Prozessor- Chassis und ein I/O-Chassis definiert. Die Knoten werden ferner graphisch dargestellt, um das Prozessor-Chassis 21 und das I/O- Chassis 22 in Fig. 1 sowie die übrigen programmierbaren Steuerungen 31, 32 darzustellen.
  • Innerhalb dieser Chassis-Knoten ist ein Knoten eingebettet, für den die Modellklasse die I/O-Gestellmodellklasse 72 ist, die in Fig. 3b gezeigt ist. Diese Klasse 72 liefert die Daten und Verfahren zur Darstellung einer graphischen Anzeige einer Gestellstruktur, die in den Figuren 25 bis 27 gezeigt ist, wobei es sich hier entweder um ein Prozessor-Chassis 21 oder das I/O- Chassis 22a bzw. 22b der Fig. 1 handelt. Dieser graphische Bildknoten kann eine Kollektion von Unterknoten enthalten, für die das Modell durch die I/O-Modulmodellkasse 73 definiert ist, welche in Fig. 3b gezeigt ist. Diese Klasse definiert ein graphisches Bild für ein Steuerungs-I/O-Modul, das dem Bild eines I/O- Gestells überlagert werden kann, um die Positionierung des I/O- Moduls im physikalischen Aufbau des I/O-Gestells zu simulieren.
  • In der Unterklasse für den Programmdokumentengraphen, der durch Block 63 angezeigt ist, sind die Knoten in diesem Graphen ein oder mehrere Programmikons, wie in Fig. 33 gezeigt ist. Die Modellklasse für diese Knoten ist durch Block 74 angezeigt. Diese Knoten halten jeweils einen aus einem Block bestehenden Funktionsdiagrammgraphen ihrer jeweiligen Programme, wie sie beispielhaft in Fig. 36 gezeigt sind. Dieses Diagramm oder der Graph ist durch die Verbindungsgraphenunterklasse definiert, die in Fig. 3b durch Block 75 angezeigt ist. Die Knoten in diesem Graphen sind durch die Modellklasse definiert, die durch Block 76 dargestellt ist. An diesem Punkt in der Programm-Editier-Task wird dem Benutzer die Option über ein Menu gegeben, in einer graphischen Sequenzfunktionsdiagramm-(SFC)-Sprache oder in einer detaillierteren Funktionblockdiagramm (SBD)-Sprache zu programmieren. Unter der Voraussetzung, daß die erste Option ausgewählt wird, definiert eine SFC-Graphen-Klasse das Diagramm für diese Sprache gemäß Darstellung durch Block 77 und es werden die SFC- Knoten durch SFC-Elementmodellklassen definiert und durch Block 79 dargestellt. Obgleich im Anwenderprogramm enthalten, sind in Fig. 3b Klasen für die SFC-Verts nicht dargestellt. Unter der Voraussetzung der Selektion der zweiten Option definiert eine FBD-Graphenklasse das Diagramm für diese Sprache gemäß Darstellung durch Block 78 und es werden die SBD-Knoten durch mit Block 80 dargestellte SBD-Elementmodellklassen definiert. Obgleich im Anwenderprogramm enthalten, sind Klassen für die SBD-Eingangsund Ausgangsvariablen in Fig. 3b nicht gezeigt.
  • Unter Verwendung dieser Klassen und weiterer Klassen kann, wie aus der folgenden Beschreibung offenbar wird, ein graphisches Interface zur Programmierung einer Maschinen- oder Prozeßsteuervorrichtung aufgebaut werden.
  • D. GRAPHISCHES PROGRAMMIERINTERFACE FÜR DIGITALE STEUERUNGEN 1. Autowaschanwendung
  • Die Autowaschanwendung, d.h. die aufgabengemäßen Anwendungsdaten, werden in Fig. 1 auf den Festplattenspeicher 15 geladen und beim Start der Hardware erscheint gemäß Darstellung in Fig. 4 ein Desktop-Fenster. Es ist anzumerken, daß jedes Fenster in der Anwendung gewisse Basis-Fensterwerkzeugikons 81 umfaßt, um die Funktionen 1) Schließen des Fensters (/), 2) herauszoomen, um den Abschnitt eines im Fenster sichtbaren Graphens zu vergrößern, (Z), 3) eines Zeichenbalkens nur für die Selektion und 4) eines Befehls für die Neubemessung des Fensters zu selektieren. Diese Funktionen werden durch die Standardklassen vorgesehen, die in der Smalltalk- Programmiersprache empfangen werden.
  • Das graphische Programmierinterface wird durch Auswahl eines Ikons 82 der Fig. 4 für das "Autowasch"-Anwenderprogramm gestartet. Die Anwendung wird durch Bewegen der Maus 17 eröffnet, wobei durch diese Bewegung ein Cursor auf das "Autowasch"-Ikon 82 und durch Betätigen der rechten Taste (RHB) der Maus 17 zur Eröffnung eines nicht dargestellten Menus erfolgt. Das Menu umfaßt den Befehl "Edition", der durch Ziehen der Maus 17 zur Hervorhebung des Befehls und die darauffolgende Betätigung der LHB auf der Maus 17 ausgewählt wird. Hierdurch wird die Anwendung eröffnet oder gestartet.
  • 2. Drei Graphische Editier-Tasks
  • Gemäß Fig. 5, auf die nun Bezug genommen wird, umfaßt dieses spezielle graphische Programmierinterface einen Graphikeditor mit drei graphischen Editier-Tasks mit den Namen Prozeß, Hardware und Programm. Diese Editier-Tasks sind gleiche Anwendungen oder individuelle Tasks und werden jeweils einzeln durch den Graphikeditor abgearbeitet. Die graphischen Editier-Tasks werden unter Verwendung eines Auswahlbalkens 42 mit Selektionsbereichen 83, 84, 85 für die drei spezifischen Editier-Tasks ausgewählt. Neben den hier beschriebenen graphischen Editier-Tasks können für andere Aufgaben, die sich auf den Aufbau und die Programmierung elektronischer Steuerungen beziehen, weitere graphische Editier-Tasks hinzugefügt werden, wie für die Einbindung programmierbarer Steuerungen bzw. Steuergeräte in einem Netz.
  • a) Gemeinsame Merkmale der graphischen Editier-Tasks
  • Jede Editier-Task umfaßt ein Browser-Fenster 40 gemäß Fig. 5 mit einem Auswahlbalken 42 nahe des oberen Endes gerade unterhalb des Tabellenkopfes für das Browser-Fenster 40. Unterhalb des Auswahlbalkens 42 befindet sich das Baumgraphenfenster 43. In diesem Fenster ist ein Baumgraph 50 in Fig. 5 teilweise dargestellt. Der vollständige Baumgraph ist gemäß Darstellung in Fig. 6 dadurch dargestellt, daß der Befehl "Herauszoomen" ausgeführt wird. Um diesen Befehl auszuführen, wird der Cursor im Baumgraphenfenster 43 positioniert und die RHB auf der Maus 17 betätigt, um ein Menu mit dem "Zoom-Befehl" zu eröffnen. Der Befehl wird dann dadurch selektiert, daß der Cursor auf den Befehl bewegt wird und die LHB auf der Maus 17 betätigt wird. Generell wird die RHB der Maus 17 dazu verwendet, Menus zu eröffnen, und die LHB wird dazu verwendet, auf Befehle und Objekte einzutasten bzw. diese zu selektieren.
  • Unterhalb des Baumgraphenfensters 43 der Fig. 5 befindet sich ein Editierfenster 33. Der Baumgraph 50 definiert die Beziehung einer Gruppe von Ansichten verbundener Graphen und graphischer Objekte, die eines nach dem anderen in das Editier- Fenster 33 abgerufen werden können. Gemäß den Figuren 5 und 6 ist die Autowaschanwendung 82 so definiert, daß sie vier Prozeßknoten oder -zweige aufweist, die mit Eintritt, Waschen, Wachsen und Trocknen bezeichnet sind und vier Zyklen des Autowaschvorgangs darstellen. Diese wären in alphabetischer Reihenfolge in Fig. 6 dargestellt, wobei jedoch irgendeine andere Reihenfolge verwendbar ist. Diese Zweige oder Knoten sind weiter unterteilt, und sind jeweils mit einer tiefer liegenden Reihe oder Ebene graphischer Objekte verbunden. Für den Trocknungszyklus der Fig. 5 sind diese Objekte mit Luftströmung, Fahrzeugdetektion_4, F_1 und Ventilator_1 bezeichnet. Jeder Zweig dieses Baumgraphens 50 repräsentiert ein Objekt oder einen Graphen, der im Speicher des Rechners 10 gespeichert worden ist und im graphischen Editier-Fenster 33 dargestellt und aufbereitet werden kann. Um ein Objekt für die Editierung zu eröffnen, wird ein Zweig des Baumgraphens selektiert, indem 1) der mausgesteuerte Cursor über den Zweig oder Knoten des Baumgraphens 50 bewegt wird und 2) die LHB gedrückt wird, um den Baumknoten und einen entsprechenden Graphen für die Darstellung und Editierung im Graphen-Editier-Fenster 33 auszuwählen. Nach der Auswahl wird der Knoten im Baumgraphen 50 in einer schattierten Box dargestellt, welche in den Figuren 7 bis 10 durch die gestrichelt umrandeten Boxen 50a, 50b, 50c und 50d angezeigt ist. Der Baumgraph 50 wird durch das Programm der Erfindung automatisch gezeichnet, wenn die Teile des industriellen oder kommerziellen Prozesses im Editier-Fenster 33 hinzugefügt werden.
  • Auf der linken Seite des Editierfensters 33 der Fig. 5 befindet sich eine graphische Editierwerkzeugpalette 45 in Form eines Mehrfachpaneels, wobei nur jeweils ein Paneel oder Feld 45a gleichzeitig sichtbar ist. Es gibt zwei entgegengesetzt gerichtete horizontal zeigende Bildschirmverschiebungspfeile 86, 87 am oberen Ende der Palette 45. Die Paneele der Palette 45 werden dadurch geändert und ausgetauscht, daß der mausgesteuerte Cursor über einen der beiden Pfeile 86, 87 bewegt wird und die LHB gedrückt wird (diese Bewegung des Cursors und die darauffolgende Ausführung einer Auswahlaktion mit der LHB wird im folgenden "Eintast"operation bezeichnet.) Jedesmal, wenn ein Bildschirmverschiebungspfeil 86, 87 eingetastet wird, dreht sich die Palette 45 in der entsprechenden Richtung oder im entsprechenden Drehsinn auf das nächste Paneel bzw. Feld.
  • b) Beschreibung der Prozeß-Editier-Task
  • Gemäß den Figuren 5, 7 und 10 sind jeweils drei Paneele der Palette 45 in der Prozeß-Graphikeditier-Task mit Prozeß, Vertices bzw. Lage bezeichnet. Das Prozeßpaneel 45a der Fig. 5 umfaßt Werkzeugauswahlbereiche 89 zur Auswahl eines Knotensatzes für diese spezielle Autowaschanwendung einschließlich Förderer, Motor, Pumpe, Sensor, Tank und Ventil. Diese Palettenwerkzeuge 89 werden über Smalltalk-Programmierung eingerichtet, um die Art der Ausrüstung, die in der industriellen oder kommerziellen Anwendung für die elektronische Steuerungsvorrichtung widerzuspiegeln. Statt Textkennzeichnungen können auch graphische Ikons zur Identifizierung der Palettenwerkzeuge verwendet werden.
  • Auf der höchsten Ebene der Prozeß-Editier-Task wird ein Palettenwerkzeug 89 mit der Kennzeichnung "neu" ausgewählt, um neue Arten von Prozeßfunktionsblöcken im Prozeßgraphen-Editier- Fenster 33 hinzuzufügen und dort zu definieren. Wenn ein "neuer" Knoten hinzugefügt wird, wird eine Dialogbox oder ein hervorgehobener Bereich den Benutzer nach einem Namen für den Prozeßknoten befragen. In diesem Beispiel wurden vier Prozeßfunktionsblöcke 90 bis 93 mit den Namen Eintritt, Waschen, Wachsen und Trocknen dem Graphen hinzugefügt. Die Prozeßknoten wurden auch durch Lage unter Verwendung eines Lagefeldes 45c der in Fig. 10 dargestellten Art identifiziert. Zwei der in diesem Lagefeld oder Lagepaneel 45c der Fig. 10 vorgesehenen Werkzeuge 119 sind "Eintritt" und "Austritt", welche jeweils den Bereichen entsprechen, bei denen die Ausrüstung in der Autowaschanlage liegt. Die Auswahl individueller Werkzeuge aus sämtlichen Paneelen der Palette 45 erfolgt durch Eintasten des entsprechenden Werkzeugs. Das Werkzeug 94 am oberen Ende der Palette mit dem Symbol in Form eines diagonalen Pfeiles ist ein Werkzeug zur Auswahl und zum Ziehen von Objekten im graphischen Editier-Fenster 33.
  • Den Prozeßblöcken 90 bis 93 der Fig. 5 werden dann ein Eingabe- Vertex 96 oder ein Ausgabe-Vertex 95 oder beide unter Verwendung eines Vertices-Paletten-Paneels 45b der in Fig. 7 dargestellten Art zugewiesen. Die Vertices 95, 96 werden dann durch Bögen 97 (als gerade Linien dargestellt) unter Verwendung der Maus 17 verbunden. Die Verts werden dadurch verbunden, daß die Maus 17 unter Bewegung des Cursors über einen Vertex ("Vert") und durch Drücken der linken Taste (LHB) der Maus 17 ("Eintasten des Verts") und die darauffolgende Bewegung des Cursors auf das nächste Vert und die Eintastung auf dem nächsten Vert verbunden. Wenn durch den graphischen Editor eine Verbindung versucht wird, werden zunächst die Vert-Modelle befragt, um zu ermitteln, ob sie dahingehend zustimmen, daß die Verbindung auf der Grundlage ihres jeweiligen Typs erfolgen kann. Falls sie zustimmen, fährt der Editor so fort, daß er die beiden Verts mit einem Bogen verbindet. Hierdurch wird ein verbundener Graph hergestellt.
  • Die Prozeß-Editier-Task verwendet Knoten für Prozesse, Vertices (auch "Verts" genannt) zur Verbindung von Prozeßpunkten und Bögen als die Verbindungen zwischen den Vertices. Die Verbindungen von Bögen und Verts auf dieser Ebene des Prozesses ist graphisch - die Verts werden nicht als Eingangs- und Ausgangsvariable verwendet, die sich ändernde Daten empfangen, wie dies für die Verts der Fall ist, die in der Programm-Editier-Task, die weiter unten zu beschreiben ist, der Fall ist.
  • Die in Fig. 5 gezeigten Palettenwerkzeuge 89 für Sensor, Förderer und Motor werden dazu verwendet, Objekte oder Knoten zu erzeugen, die innerhalb des Eintrittsknotens des Prozesses der Fig. 7 zu sehen sind. Diese Knoten oder Objekte werden auf dem Bildschirm durch Ikons 98, 99, 100 und 101 dargestellt. Die Namen Fahrzeug_Detektion 1, Förderer, Fahrzeug_Länge und Fahrzeug_Zug sind alphanumerische Namen, die über den Ikons 98 bis 101 für den Gegenstand auf dem Bildschirm eingetippt werden und erscheinen. Das Lagepaneel 45c der Fig. 10 wird aktiviert, um eine Lage "Eintritt" zuzuweisen. Die Bezeichnung "Eintritt" unterhalb jedes Ikons 98 bis 101 im Graphen-Editier-Fenster 33 bezieht sich nicht auf den "Eintrittsbereich" des Prozesses, der im Baumgraphen 50 dargestellt wird, sondern bezieht sich statt dessen auf die Eintritts-"Lage" der Autowascheinrichtung.
  • Die Ikons in Fig. 7 werden dann einem oder mehreren Eingangs- Vertices 96 oder einem oder mehreren Ausgangsvertices 95 oder beiden gemäß Darstellung unter Verwendung eines in Fig. 7 dargestellten Vertices-Paneels 45b zugewiesen. Die Vertices 95, 96 werden dann durch Bögen 97 (im Beipiel gerade Linien) auf die weiter oben erläuterte Weise verbunden, um einen verbundenen Graphen für den "Eintrittsabschnitt" des Prozesses vorzusehen.
  • Fig. 8 zeigt den verbundenen Graphen für den Waschteil des Prozesses. Hier wird ein erster Sensorknoten, dargestellt durch Ikon 102, mit dem Namen "Fahrzeug_Detektion_2" belegt; einem zweiten Sensorknoten, dargestellt durch Ikon 103, wird der Name "Pegel" verliehen; einem Motorknoten, dargestellt durch Ikon 104, wird der Name "Sprühpumpe" verliehen, einem Tankknoten, dargestellt durch Ikon 105, wird der Name "Seifenlauge" verliehen; einem Ventilknoten, dargestellt durch Ikon 106, wird der Name "Wasser" verliehen und einem Pumpknoten, dargestellt durch Ikon 107, wird der Name "Sprühen" verliehen. Diese Knoten werden dem "Prozeßpaneel" 45a der Palette der Fig. 5 hinzugefügt. Die Lage jedes Knotens wird unterhalb seines jeweiligen Ikons unter Verwendung des Lagepaneels 45c der Fig. 10 so spezifiziert, wie für den Eintrittsabschnitt des Prozesses erläutert.
  • Die Ikons in Fig 8 werden dann einem Eingabevertex 109 oder einem Ausgabevertex 108 oder beiden gemäß Darstellung unter Verwendung eines Vertices-Paneels 45b der Fig. 7 zugewiesen. Die Vertices 108, 109 werden durch Bögen 110 (im Beispiel gerade Linien) auf die zuvor für verbundene Graphen erläuterte Weise verbunden. Hierdurch wird ein verbundener Graph für den Waschabschnitt des Prozesses erzeugt.
  • Fig. 9 zeigt einen verbundenen Graphen für den Waschteil des Prozesses. Ein Fahrzeug Detektions 3 Sensor, repräsentiert durch Ikon 111, detektiert das Vorhandensein eines Fahrzeugs und überträgt ein Fahrzeug_Präsenzsignal für den Start des Motors mit dem Namen M_1, der durch Ikon 112 repräsentiert wird. Der Motor M_1 treibt eine Pumpe, repräsentiert durch Ikon 113 mit dem Namen "Sprühen", welche zwei Arten von Wachsen, die mit gutem _Wachs und preiwertem_Wachs bezeichnet sind, aufträgt. Gutes Wachs und preisgünstiges Wachs sind alphanumerische Namen für die jeweiligen Tanks oder Behälter, die durch Ikons 114 und 115 dargestellt sind. Ein Wachs_1-Ventil und Wachs_2-Ventil repräsentiert durch Ikons 116 und 117, steuern die Waschlösungsströmung in die Sprühpumpe 113. Ferner ist ein Sensor, repräsentiert durch Ikon 118, mit dem Namen "Wachs-Sprühen" vorgesehen, um die Wachslösungströmung aus der Sprühpumpe 113 zu detektieren. Diese Knoten 111 bis 118 werden durch Verts und Bögen so verbunden, daß ein verbundener Graph für den Waschzyklus entsteht.
  • Fig. 10 zeigt einen verbundenen Graphen für den Trocknungsteil des Prozesses. Ein Fahrzeug_Detektions_4 Sensor, repräsentiert durch Ikon 120, detektiert das Vorhandensein eines Fahrzeugs und übermittelt ein Fahrzeug_Präsentsignal zur Startung des Motors mit dem Namen "F_1", repräsentiert durch Ikon 121. Der F_1-Motor 121 treibt eine Luftpumpe mit dem Namen "Ventilator_1" und repräsentiert durch Ikon 122, welcher das Fahrzeug mit Warmluft beaufschlagt. Die "Luft" ist eine Prozeßeingangsgröße für die Luftpumpe 122, die mit "Ventilator_1" bezeichnet ist. Es liegt ebenfalls ein Sensor mit Namen "Luft_Strömung" vor, der durch das Ikon 123 repräsentiert ist und zur Detektion der Luftströmung aus der Ventilator 1-Pumpe 122 dient.
  • Wenn mit dem Prozeß-Paletten-Paneel 45a ein Knoten erzeugt wird, so wird dieser mit einem in Fig. 11 bis 15 gezeigten eingekapselten Diagramm erzeugt, und es wird ein Knoten dem Baumgraphen 50 hinzugefügt. Fig. 11 zeigt ein derartiges I/O-Blockelement 124 für den Fahrzeug_Detektions_4 Sensor 120. Dieses eingekapseite Diagramm kann im Editier-Fenster 33 durch Eintasten eines geeigneten Knotens im Baumgraphen 50 oder durch Ausführung eines "Editions"-Befehls aus einem sogenannten Pop-Open-Menu dargestellt werden. Unter Verwendung dieses Diagramms werden die Eingangs- und Ausgangssignale, die bezuglich des Fahrzeug_ Detektions_4 Sensors 120 überwacht oder gesteuert werden müssen, aus der Sicht einer Steuerung definiert. Dies ist bezüglich des "Trocknungsteils" der Prozesses in den Figuren 11 bis 15 dargestellt und ist auch auf andere Teile des Prozesses gleichermaßen anwendbar.
  • Wie aus Fig. 11 hervorgeht, ist der Fahrzeug_Detektions 4 Sensor 120 so definiert, daß er ein Prozeßeingangssignal empfängt, dem der Name Fahrzeug_Detektion verliehen ist. Die Palette 45 für die I/O-Definitionsblöcke 124 umfaßt Paneele oder Felder 45d, 45e und 45f mit den Kennzeichnungen Variable, VAR-Typ bzw. Lage, wie aus den Figuren 11 bis 13 hervorgeht.
  • Werkzeuge auf dem Variablen-Paneel 45d in Fig. 11 werden ausgewählt und zur Hinzufügung einer Eingangsvariablen (*IN*) oder einer Ausgangsvariablen (*OUT*) verwendet. Werkzeuge auf dem VAR-Typ-Paneel 45e der Fig. 12 werden ausgewählt und dazu verwendet, um die Art elektrischer Signale beim Prozeßeingang- oder ausgang zu definieren. In diesem Fall wird das elektrische Signal als diskretes Eingangssginal von 5-Volt Gleichspannung ausgewählt. Werkzeuge auf dem Lagetyp-Paneel 45d der Fig. 13 werden dazu ausgewählt und angewandt, um die Lage des I/O-Defintionsblocks 124 relativ zu den zur Verfügung stehenden Lagen für den Prozeß, in diesem Fall "Austritt" zu spezifizieren.
  • Fig. 15 zeigt ein zweites Beispiel eines I/O-Definitionsblocks 125 für die Ventilator_1 Luftpumpe 122 mit zwei Eingaben oder Bedingungen für das Einschalten, nämlich AUX_Kontakt und Ventilator_Über_Temperatur, sowie mit einem Ausgangssignal, das mit Ventilator_Motor_Ansteuerung bezeichnet wird. Diese Größen sind sämtlich als diskrete 120-Volt Wechselspannungssignale unter Verwendung des Palettenpaneels 45e mit der Bezeichnung "VAR- Typen" für verschiedene Typen definiert worden.
  • Wie aus Fig. 14 ersichtlich, wird durch Zeigen (Bewegen des Cursors) auf das Editierfenster 33 und durch Betätigen der RHB auf der Maus 17 ein Menu 126 mit dem Befehl "Browse-Daten" gemäß Fig. 14 aktiviert und eröffnet. Wenn der "Browse-Daten"-Befehl 126a durch Eintasten mit der Maus 17 ausgewählt wird, eröffnet sich über dem Editierfenster 33 eine Liste 127 bis 130 nach Art eines ausgebreiteten Blattes gemäß den Figuren 16 bis 19 über dem Editierfenster 33 und reprasentiert eine Liste von Eingangsvariablen und Ausgangsvariablen für den Anwendungsbereich des Prozesses. Diese Eingangs- und Ausgangsvariablen werden in der ersten Spalte mit ihren alphanumerischen Kennzeichnungsnamen im Format (Prozeßknotenname.I/O-Variablenname) identifiziert. Diese Prozeß I/O-Punkte werden in der zweiten Spalte entsprechend ihrer Richtung (IN oder OUT) und ihrer variablen Art (funktionelles elektrisches Signal) definiert. Diese Prozeß I/O-Punkte werden ferner in der dritten Spalte der ausgebreiteten Information nach ihrer Lage in der Autowaschanlage (z. B. "Austritt") definiert.
  • Fig. 19 zeigt eine beispielhafte Liste 130 für Prozeß I/O-Punkte, die für den Trocknungsteil des Prozesses von einer Steuerung definiert sind. Die Liste 130 umfaßt ein Fahrzeug_Detektions 4.Fahrzeug_Detektionseingangssignal, das in Fig. 12 definiert ist. Dieses wird weiter als 5-Volt Gleichspannungssignal und als diskretes Eingangssignal definiert. Unter den anderen Prozeß I/O-Punkten sind Ventilator_1.AUX_Kontakteingangssignal, das Ventilator_1.Ventilator_Über_Temperatureingangssignal und das Ventilator_1.Ventilator_Motor-Ansteuerungsausgangssignal gemäß Definition in Fig. 15 vorhanden. Das Ventilator_1.AUX_ Kontakteingangssignal ist ferner als diskretes Eingangssignal und als 120-Volt Wechselspannungssignal definiert. Das Ventilator_ 1.Ventilator über Temperatureingangssignal ist ferner als 120-Volt Wechselspannungssignal und diskretes Eingangssignal definiert. Schließlich ist das Ventilator_1.Ventilator_Motor_ Ansteuerungsausgangssignal als 120-Volt Wechselspannungssignal und als diskretes Ausgangssignal definiert.
  • Die Figuren 16 bis 18 zeigen die Prozeß I/O-Punktdaten für den Eintritts- Wasch- und Waschteil des Prozesses. Der "Browse- Daten"-Befehl 126a gemäß Erläuterung für den Trocknungszyklus kann unter Aufrufen einer Kennzeichnungsliste 127 für den Eintrittszyklus ausgeführt werden. In Fig. 16 ist ein Kennzeichen Fahrzeug_Detektions_1.Fahrzeug_Detektion ein Steuerungseingangssignal von 120-Volt Wechselspannung vom Fahrzeug_Detektions_1 Sensor 98. Die Kennzeichnung Förderer.AUX_Kontakt ist ein 120-Volt Wechselspannungssignal als diskretes Eingangssignal für eine Steuerung vom Förderermotor 99. Die Kennzeichnung Fahrzeug_Zug.Fahrzeug_Länge ist ein analoges 10-Volt Gleichspannungsausgangssignal zum Fahrzeug_Zug_Förderer 101, das sich auf die Abfühlung eines Fahrzeugs bezieht. Das Kennzeichen Fahrzeug _Länge.Länge ist ein analoges 10-Volt Gleichspannungseingangssignal vom Fahrzeug_Längensensor 100. Die teilweise Auflistung zeigt, wie eine Liste von Steuerungseingängen und -ausgängen aus dem Graphen für den Eintrittsteil des Prozesses zusammengestellt wird.
  • Fig. 17 zeigt ein ähnliches Kennzeichenlistenfenster 128 mit einer Liste von Kennzeichen für den Waschteil des Prozesses. Das Kennzeichen Fahrzeug_Detektions_2.Fahrzeug_Detektion identifiziert ein 120-Volt Wechselspannungseingangssignal in eine Steuerung von einem Fahrzeug_Detektions_2 Sensor 102 der Fig. 8. Ein Sprüh_Pumpenmotor 104 empfängt ein 120-Volt Wechselspannungsausgangssignal von einer Steuerung (Kennzeichen Sprüh Pumpen.Wasser_Pumpenmotor in Fig. 17). Der Sensor 103 mit der Kennzeichnung "Pegel" in Fig. 8 sendet ein diskretes 120-Volt Wechselspannungseingangssignal, das von einer Steuerung abzufühlen ist (Kennzeichen Pegel.Seifenlaugen_Pegel in Fig. 17). Das Ventil 106 in Fig. 8 wird über ein Steuerungsausgangssignal von 120-Volt Wechselspannung (Kennzeichen Wasser.Wasser_Ventil in Fig. 17)während des Waschzyklus geöffnet. Ein Signal von 120-Volt Wechselspannung (Kennzeichen Wasser.Ventil_offen)wird am Eingang in die Steuerung von einem Ausgang des Wasserventils 106 empfangen, um zu detektieren, wann das Ventil offen ist. Fig. 18 zeigt ein ähnliches Kennzeichenlistenfenster 129 mit einer Liste von Kennzeichen für den Wachsteil des Prozesses der Fig. 9. Der Fahrzeug_Detektions_3 Sensor 111 liefert eine 120- Volt Wechselspannungseingangs(IN)signal (Fahrzeug Detektions 3 Fahrzeugdetektion). Das Wachs_1_Öffnungssignal und das Wachs_2 _Öffnungsausgangssignal sind diskrete 120-Volt Wechselpannungseingangssignale zum Abfühlen der Position der Ventile 116 und 117. Das Wachs_1_Ventilsignal ist ein Ausgangsssignal zur Steuerung der Öffnung des Wachs_1 Ventils 116. DerM_1motor 112 liefert zwei Eingangssignale, ein AUX-Kontaktsignal und ein Über _-Temperatursignal, beide diskrete 120-Volt Wechselspannungseingangssignale. Der Motor 112 wird abhängig von einem diskreten 120-Volt Wechselspannungsausgangssignal angesteuert, das in der Kennzeichenliste 129 als M_1_Wachs_Sprüh_Pumpe bezeichnet wird. Das letzte Kennzeichen in der "Wachszykluskennzeichnungsliste" ist der Name für ein diskretes 120-Volt Wechselspannungssignal Wachs_Strömung vom Sensor 118 mit der Kennzeichnung Wachs_Sprüh. Wie auch bei den anderen Kennzeichnungslisten ist dies eine partielle Liste, um aufzuzeigen, wie eine Liste der Steuerungseingangs- und ausgangssignale im voraus aus dem Graphen eines Teils des Prozesses zusammengefügt wird. Sobald der Fahrzeugwaschprozeß graphisch dargestellt worden ist und dessen elektrische Eingangsgrößen und Ausgangsgrößen definiert sind, ist der Benutzer bereit, die graphische Hardware-Editier-Task zu aktivieren, indem er diese Auswahl aus dem Auswahlballken 42 unter Verwendung der Maus 17 trifft.
  • c) Beschreibung der Hardware-Editier-Task
  • Gemäß Fig. 20 wird der Graph der höchsten Ebene der Hardware- Editier-Task in dem Graphen-Editierfenster 33 durch Auswahl des Hardware-Selektionsbereichs 84 im Auswahlbalken 42 unter Verwendung der Maus 17 aktiviert. Dieser Graph umfaßt Knoten 131, 132, die aus der Eintrittslage und der Austrittslage in der Autowaschan lage erzeugt werden. Dies wird durch Auswahl des "neuen" Werkzeugs 133c aus dem Lagepaneel 131a einer Palette 133 für die Hardware-Editier-Task und durch Benennen der neuen Knoten erzielt. Wird dieser Graph auf dem Bildschirm betrachtet, erscheint der Hardware-Systemknoten mit der Kennzeichnung "Fahrzeug waschen" im Baumgraphen 134 in einer durch die gestrichelten Linien 234 dargestellten schattierten Box.
  • Wie aus den Figuren 20 und 21 hervorgeht, wird der Baumgraph 134 für die Hardware-Editier-Task gebildet, um graphisch die hierarchische Beziehung von Graphen oder Diagrammen der Steuerungs- Hardware zu zeigen. Fig. 21 wird auf dem Bildschirm durch Eintastung auf das Baumgraphenfenster 43 und durch Auswahl von "Zoomen" aus dem Menu betrachtet, wie bereits für die Prozeß- Editier-Task erläutert.
  • Innerhalb der Eintritts- und Austrittsknoten 131, 132 der Hardware-Editier-Task liegen Graphen programmierbarer Steuerungs- Hardware vor, die dazu verwendet werden, ein System zum Steuern der Einrichtungen in der Autowaschanlage schematisch darzustellen. Wie in Fig. 22 zu sehen ist, die ein Graph für die Hardware an der Eintrittslage ist, wird das Prozessorchassis 21 in Fig. 1 durch einen Prozessorchassisknoten 135 repräsentiert. Dieser Knoten wird unter Verwendung eines Prozessorwerkzeugs 136 in einem Prozessor-Paletten-Paneel 133b hinzugefügt. Die Auswahl eines der Prozessorwerkzeuge 136 definiert die Art von Prozessor, die hinzugefügt wird, in diesem Fall PLC_Typ_1. Dem Prozessor wird dann ein alphanumerischer Prozessorname wie "Waschen" verliehen.
  • Wenn der Graph des Eintrittsknotens im Editierfenster 33 der Fig. 2 dargestellt wird, erscheint der Eintrittsknoten im Baumgraphen 134 in einer durch eine gestrichelte Linie 235 repräsentierten schattierten Box. Wenn der Graph des Austrittsknotens im Editierfenster 33 der Figuren 23 und 24 erscheint, erscheint der Austrittsknoten im Baumgraphen 134 in einer durch die gestrichelte Linie 236 dargestellten schattierten Box.
  • Im Graphen der Austrittslage in den Figuren 23 und 24 werden die Prozessorknoten 140, 141 hinzugefügt, um die anderen beiden programmierbaren Steuerungen 31 und 32 der Fig. 1 darzustellen. Einer hiervon wird mit dem PLC_Typ_2 Werkzeug hinzugefügt und der andere wird mit dem PLC_Typ_3 Werkzeug hinzugefügt. Das PLC_Typ_2 Prozessorchassis 140 wird mit dem Namen Elektrik belegt und das PLC_Typ_3 des Prozessorchassis 140 wird mit dem Namen Trocknen belegt. Die drei Knoten 140, 141 und 142 in den Figuren 23 und 24 werden auch als Knoten im Baumgraphen 134 dargestellt
  • Wie aus Fig. 24 hervorgeht, umfaßt das Paletten-Paneel 133b auch ein Werkzeug 138 zum Hinzufügen zum I/O-Chassisknoten 142 wie einem I/O-Chassis 22b an der Austrittslage in Fig. 1.
  • Durch das einzelne I/O-Chassiswerkzeug 138 wird nur ein Typ I/O- Chassis vorgesehen, jedoch können auch weitere Typen von I/O- Einheiten mit zusätzlichen Werkzeugen vorgesehen werden. Wenn das I/O-Chassiswerkzeug 138 gewählt wird, wird ein Menu 143 nach Fig. 24 eröffnet, so daß der Benutzer das I/O-Gestell einem im Menu 143 aufgelisteten Prozessor zuordnen kann. In diesem Fall wird an der Austrittslage ein I/O-Gestell einem Prozessor mit dem Namen "Waschen" an der Eintrittslage zugewiesen. Der Knoten 142 für das I/O-Gestell erscheint dann gemäß Darstellung in den Figuren 23 und 24 mit der niedrigsten zur Verfügung stehenden Gestellidentifikationsnummer wie Gestell_2 für diesen Prozessor.
  • Das I/O-Gestell wird mit dem "Waschprozessor" über einen einzelnen zur Verfügung stehenden seriellen Kommunikationskanal verbunden, der auf dem I/O-Knoten 142 als "Kanal 1" identifiziert wird.
  • Sobald die Steuerungs-Prozessorchassis und I/O-Chassis ausgewählt und Lagen zugewiesen worden sind, kann ein Graph oder Ikon für diese Objekte aufgerufen werden, um die Ermittlung darüber zu unterstützen, welche spezifischen I/O-Module erforderlich sind, um die elektrischen Funktionssignale, die vorab für den Fahrzeugwaschprozeß während der Aktivierung der Prozeß-Editier- Task identifiziert wurden, zu handhaben.
  • Wie aus Fig. 25 hervorgeht, ruft die Auswahl des PLC_Typ_ 1Prozessorknotens durch Eintasten auf einen Zweig des Baumgraphens 50 gemäß Darstellung durch die gestrichelte Box 144 in Fig. 25 ein Bild 145 eines phyiskalischen Prozessorchassis auf. Dieses Bild 145 umfaßt den PLC_Typ_1 Prozessor 146, der im linkesten Einschub gezeigt ist, und acht Paare physikalischer Schlitze oder Einschubfächer 139. Jedes Paar Einschübe 139 wird zumindest ein Paar von diskreten 8-Bit I/O-Punkt-Modulen halten, die als Modulgruppe bekannt sind, und die mit den Nummern "0" bis "7" (als Oktalzahl) numeriert sind. Die maximale Anzahl von I/O- Modulen für jedweden Prozessor oder I/O-Chassis beträgt 16 und es sind Chassis 4, 8 und 12 I/O-Module verfügbar.
  • Das Prozessorchassisbild 145 wird durch Bewegen des mausgesteuerten Cursors darüber ausgewählt. Hierdurch wird das Objekt 145 gemäß Darstellung einer durchgezogenen Linie 142 ausgewählt, die die Modulgruppenadressen "0" bis "7" umschließt. Durch Betätigen der RHB von der Maus werden zwei Menus 148 und 149 gemäß Darstellung in Fig. 25 zur Hinzufügung von I/O-Modulen 150 sowohl visuell als auch datenmäßig für das ausgewählte Chassis dargestellt.
  • Der erste Befehl 151 auf dem ersten Menu 148 fügt ein I/O-Modul 150 in den ersten Einschub hinein, entsprechend einem Gestell 0, Modulgruppe 0, Modul 0 (linker Einschub) in diesem Beispiel. Die Adresse des Startgestells und der startenden Modulgruppennummer für den ersten Einschub kann mit den Auswahlmöglichkeiten im Menu 148 geändert werden. Der erste I/O-Modul, der visuell hinzuzufügen ist, wird mit der niedrigsten zur Verfügung stehenden Einschubadresse und am weitesten nach links in den I/O-Einschub hineingesetzt. Wenn der "ADD-Modul"-Befehl 151 ausgeführt wird, kann der Modul 150 dazu designiert werden, diskrete oder analoge Eingangs- und Ausgangsgrößen aus dem zweiten Menu 149 zu handhaben. In diesem Beispiel wird vorausgesetzt, das der "diskrete Eingangsgrößen"-Befehl 152 ausgeführt wird. Wenn der Modul 150 als Eingangs- oder Ausgangsgröße designiert ist, schließen die ersten beiden Menus 148, 149 und es erscheint ein drittes Menu 153 gemäß Fig. 26, um Optionen für den Signalpegelbereich zwischen 5-Volt Gleichspannung bis 240-Volt Wechselspannung vorzusehen. In diesem Beispiel wird der Befehl von 120-Volt Wechselspannung 145 durch entsprechende Positionierung des Cursors darauf und durch Eintasten mit der Maus LHB ausgewählt.
  • Sobald ein I/O-Modul 150 als Eingangs- oder Ausgangsgröße und Signalpegel definiert ist, eröffnet sich ein viertes Menu 155 gemaß Fig. 27, um die verfügbaren Typen von I/O-Modulen, die diese Parameter erfüllen, vorzusehen. Wie in Fig. 27 zu sehen ist, gibt es vier Auswahlen abhängig von Nummern der I/O-Punkte oder Bits der I/O-Kapazität und eine weitere Auswahl hinsichtlich des Typs der Eingabe oder Ausgabe wie Quelle oder Senke bzw. Verbraucher oder isoliert. In diesem Fall wird der erste Befehl 156 ausgewählt und ausgeführt, um ein IN_Typ_1 Modul für den ersten zur Verfügung stehenden Einschub im Prozessorchassis 145 zu designieren. Ein Bild des Eingangsmoduls 150 wird dann der korrekten Einschublage überlagert, um die Einschiebung eines I/O-Moduls 150 in das Chassis 145 zu simulieren.
  • Fig. 28 zeigt ein Bild 158 für das Gestell_1 I/O-Chassis 137 aus Fig. 22. Dieses Bild 158 erscheint, wenn der Gestell_1: Waschknoten im Baumgraphen 134 gemäß Darstellung durch die gestrichelt umrandete Box 159 der Fig. 28 ausgewählt wird. Dieses Bild ist ähnlich dem Prozessorchassisbild 145 mit der Ausnahme, daß ein Adaptermodul 157 mit der Kennzeichnung "ASB" statt des PLC Typ_1 Prozessors im linkesten Einschub plaziert ist. I/O-Module würden dann ferner dem I/O-Chassisbild 158 auf die für das Prozessorchassis 145 erläuterte Weise unter Verwendung der vier Menus 148, 149, 153 und 155, wie oben erläutert, hinzugefügt.
  • Nach Hinzufügung der I/O-Module 150, 160, 161 in das Prozessorchassis 145 oder eines I/O-Chassis 158 gemäß Fig. 29, kann ein Modul wie ein Eingabemodul 150 durch entsprechende Bewegung des Cursors und Betätigung der LHB der Maus 17 ausgewählt werden. Auf einem Farbmonitor ändert, falls das Prozessorchassisbild 145 weiß oder hell ist, die Auswahl eines I/O-Modulbildes 150 seine Farbe von weiß (hell) auf rot (dunkel), wie durch eine gestrichelt umrandete Auswahlbox 162 in Fig. 29 dargestellt ist.
  • Wenn der I/O-Modul 150 ausgewählt wird, können Menus 163, 164 dadurch eröffnet werden, daß die RHB der Maus 17 gedrückt wird. Ein "Bewegungsmodul"-Befehl kann ausgewählt und ausgeführt werden, um den I/O-Modul in ein anderes Gestell oder einen anderen Einschub zu bewegen. Das zweite Menu 164 sieht eine Liste weiterer Chassis vor, in die der Modul 150 bewegt werden kann. In diesem Beispiel wird der Eingangsmodul oder Eingabemodul 150 vom Prozessorchassisgestell_0 in das I/O-Chassis mit der Kennzeichnung Gestell 1: Waschen dadurch bewegt, daß ein Befehl 165 ausgeführt wird, und die Auswahl 166 aus dem zweiten Menu 164 gemaß Fig. 29 getroffen wird. Wenn ein I/O-Modul 150 ausgewählt wird, kann er auch innerhalb des I/O-Chassis von Einschub zu Einschub gezogen werden.
  • Wie aus Fig. 30 hervorgeht, wird durch Eintasten in einen offenen Bereich des Editierfensters 33 und außerhalb des Bildes des Prozessorchassis 145 und durch Eintasten mit der RHB der Maus 17 ein Menu mit zwei Auswahlmöglichkeiten eröffnet: 1) nicht zugewiesener I/O an dieser Lage und 2) I/O, nicht zugewiesen an irgendeiner Stelle oder Lage. Vorausgesetzt, die erste Option wird selektiert, so wird eine Liste 167 für die Eintrittslage gemäß Fig. 30 dargestellt. Dies ist eine Liste der Prozeßeingangssignale- und ausgangssignale, die in den Kennzeichenlisten für die Eintritts- und Waschzyklen der Figuren 16 und 17 definiert wurden, die jedoch keiner Hardware-Eingangs- oder Ausgangsgröße zugewiesen wurden. Diese Liste dient zu Informationszwecken, um dem Benutzer die Auswahl der Art von I/O-Modulen in der Hardware-Editier-Task zu erleichtern, die dazu erforderlich sind, diese Funktionssignale, die in der Prozeß-Editier-Task entwickelt wurden, zu handhaben.
  • Gemäß Fig. 30 weisen nicht zugewiesene Prozeß-I/O-Signale Kennzeichennamen in Form von [Prozeßknotenname.Einrichtungsknotenname.Prozeß-I/O-Signalname (I/O-Signaltyp)] auf. Die Liste 167 ist auf Signale beschränkt, die einer Hardware-Eingabe oder -ausgabe an einem I/O-Modul 150 nicht zugewiesen worden sind. Dies ist eine Bezugsliste. Durch Eintasten auf einen OK-Bereich 168 wird die Liste von der Anzeige entfernt.
  • Die Figuren 29 und 31 stellen dar, wie die Prozeß-I/O-Signale auf Eingänge und Ausgänge bzw. Eingangs- und ausgangsgrößen der Steuerungs-Hardware bezogen werden, welche in den vorhergehenden Figuren ausgewählt wurden. Gemaß Fig. 29 umfaßt ein Menu 163 einen "Zuweisungs"-I/O-Befehl zur Zuweisung funktioneller Prozeßeingangssignale und Augangssignale aus der Prozeß-Editier- Task zu I/O-Modulen. Wenn dieser Befehl ausgewählt wird, indem der mausgesteuerte Cursor über den Befehl bewegt wird und die LHB der Maus 17 betätigt wird, wird ein I/O-Zuweisungsfenster 169 gemäß Fig. 31 eröffnet.
  • Das Zuweisungsfenster 169 stellt eine zweispaltige Liste 170 unter einem Kopf 171 dar, welcher die Angaben Gestell 0, Gruppe 0, Modul 0 zeigt. Dies ist eine Liste 170 von zugewiesenen und nicht zugewiesenen I/O für den Eintritts- und Waschteil des Fahrzeugwaschprozesses, da das Prozessorchassis 147 der Fig. 29 am Eintrittsbereich oder an der Eintrittslage liegt, um diese beiden Teile des Prozesses zu bewerkstelligen.
  • Die Identifikation des Gestells 0 der Modulgruppe 0, des I/O- Moduls 0 im Kopf 171 und der individuellen Eingaben und Ausgaben "1" bis "8" in der linken Spalte liefert die System-I/O-Adressen für Eingaben und Ausgaben hinsichtlich der Steuerungs-Hardware. Diese Adresse identifiziert auch den I/O-Modul gemäß Auswahl in den Figuren 25 bis 27. In der rechten Spalte der Fig. 31 liegen nicht zugewiesene Prozeßeingangs- und ausgangssignale in der Form [Prozeßknotenname.Einrichtungsknotennarne.Prozeß-I/O-Signalname (I/O-Signaltyp)] vor. Wenn ein Signal zugewiesen wird, so folgt auf seine Kennung die Bemerkung "(zugewiesen)".
  • Ein Beispiel der Zuweisung eines Prozeß-I/O-Signals zu einem Steuerungseingang und -ausgang ist in Fig. 31 zu sehen, wo eine nicht zugewiesene 1-Bit-Eingangsstelle "8" in der linken Spalte mit der Maus ausgewählt ist und hervorgehoben ist. Darauffolgend wird das nicht zugewiesene Eingangssignal Waschen.Sprühen_ Pumpen.Über_Temperatur in der rechten Spalte ausgewählt und hervorgehoben und es wird auch in der linken Spalte an der ausgewählten Stelle erscheinen. Sobald die Zuweisung erfolgt ist, erscheint eine Bemerkung "zugewiesen" in der rechten Spalte.
  • Wenn die Eingangs- und Ausgangssignale aus der Prozeß-Editier- Task zugewiesen sind, werden sie mit den Eingängen und Ausgängen der Steuerungs-Hardware verknüpft, die die Signalnamen übernehmen. Die Prozeßsignale werden auch mit den System-I/O-Adressen verknüpft. Wie aus dieser Beschreibung ersichtlich wird, liefert die Hardware-Editier-Task ein praktisches graphisches Verfahren, den Prozeß mit der für das Steuersystem erforderlichen Steuerungs-Hardware und speziell den Hardware-Eingängen und -ausgängen in Beziehung zu setzen, an denen die Steuerung bzw. das Steuergerät an den Prozeß angebunden wird. Dies unterstützt den Benutzer nicht nur bei der Auswahl und Aufstellung und Einrichtung der Steuerungseinrichtung, sondern liefert auch weitere Information, die bei der Programmierung der Prozessoren der Steuerungseinrichtung nützlich und hilfreich sind.
  • d) Beschreibung der Programm-Editier-Task
  • Nach Definition der Steuerungs-Hardware für den Fahrzeugwaschprozeß ist der Benutzer bereit, mit seiner Arbeit in der Programmgraphik-Editier-Task zu beginnen, um Graphik-Programme hoher Ebene für die Steuerungsprozessoren zu schreiben. Es sind verschiedene Typen graphischer Programmiersprachen in der Programm-Editier-Task verwendbar. Drei Typen, die für diese Anwendung ausgewählt werden, sind die Kontaktplanprogrammierung, die Sequenzfunktionsdiagramm (SFC)-Programmierung und die Funktionsblockdiagramm (SBD)-Programmierung.
  • Um in die Programm-Editier-Task hineinzukommen, tastet sich der Benutzer unter Verwendung der LHB von der Maus 17 auf den Auswahlbereich 85 im Auswahlbalken 42 ein.
  • Fig. 32 zeigt den "Programmdokumenten"-Graphen, der zuvor in Verbindung mit Block 63 der Fig. 3b erläutert wurde. Dieses spezielle Beispiel des Graphen zeigt zwei Ikons 175, 176 im Editierfenster 33. Diese Ikons 175, 176 sind von der Art für eine Darstellung sequentieller Funktionsdiagramm (SFC)-Programme. Das erste Programm 175 mit dem Namen "Fahrzeug waschen" dient dazu, auf dem Prozessor mit dem Namen "Waschen" am Eintrittsbereich zu laufen. Das andere Programm 176 mit dem Namen "Programm" dient dazu, auf einem Prozessor mit dem Namen "Elektrik" an der Austrittsstelle zu laufen. Das Paletten-Paneel 177a der Fig. 32 umfaßt Werkzeuge 178, 179 zur Zuweisung von Programmen zu diesen beiden Steuerungsprozessoren 23, 31 der Fig. 1. Andere Werkzeuge könnten auf dem Paneel 177a zur Verfügung gestellt werden, um Programme den vielfältigen Steuerungsprozessoren der Fig. 1 zuzuweisen.
  • Die Fig. 33 zeigt ein zweites Paneel 177b in der umlaufenden Palette 177 mit einem "neuen" Werkzeug 182 zum Hinzufügen neuer Arten von Programmen für die Prozessoren. Das "GRAVEL-Werkzeug" 183 gibt den Befehl, ein Programm von der Festplatte 15 in den internen RAM-Speicher im Rechner 13 zu laden.
  • Wie bei den anderen Editier-Tasks führt die Erzeugung von Knoten zu einem Baumgraphen 180, der die Hierarchie von Graphen in der Programm-Editier-Task zeigt. Fig. 34 zeigt die Auswahl eines Programmdokumentengraphen, repräsentiert durch die gestrichelt umrandete Box 181 um den Baumknoten mit der Kennzeichnung "Programme". Das Fahrzeugwaschprogramm 175 wird durch den Baumknoten mit der Kennzeichnung "Fahrzeugwasch_Programm" repräsentiert.
  • Fig. 34 zeigt auch die Auswahl eines der Programme, und zwar des Fahrzeugwaschprogramms 175, sowie die Eröffnung eines Menus 184, das sich auf ein solches Programm bezieht, unter Verwendung der RHB der Maus 17. Dieses Menu 184 liefert Befehle einschließlich eines "Prozessors" als Alternative zur Zuweisung eines Programms zu einem spezifischen Steuerungsprozessor. Die Auswahl dieses Befehls wird ein weiteres Menu (nicht dargestellt) mit einer Liste von Steuerungsprozessoren eröffnen. Ein weiterer Befehl ist "Kompilieren" zur Kompilierung des Programms in der ausführbaren Code-Datei 11 in Fig. 1 oder in eine Kontaktplanbefehlsdatei für den Fall eines Kontaktplanprogramms.
  • Ein weiterer Befehl ist "Femladung" zur Fernladung der ausführbaren Code-Datei 11 oder einer Kontaktplanbefehlsdatei in einen Steuerungsprozessor.
  • Unabhängig von der Art graphischer Programmiersprache, liefert die Fahrzeugwaschanwendung die Fähigkeit der Repräsentierung jedes Programms als einzelnes Funktionsblockdiagramm (SBD) und einzelnes Funktionsblockelement, wie weiter oben bezüglich der Blöcke 75 und 76 der Fig. 4 erläutert wurde. Dieser FBD-Graph wird im Editierfenster 33 dadurch eröffnet, daß der Fahrzeugwasch_-Programmbaumknoten im Baumgraphen 180 gemäß Darstellung durch die gestrichelt gezeichnete Box 186 der Fig. 35 ausgewählt wird.
  • Gemaß Fig. 35 wird das Programm mit dem Titel "Fahrzeug waschen" als ein Block 185 dargestellt. Die volle Ansicht eines einzelnen FBD-Graphen ist in Fig. 36 ersichtlich und wird durch die Auswahl des Zoom-Befehls für das Graphen-Editierfenster 33 der Fig. 35 erzeugt. Das Paletten-Paneel 177c mit dem Titel "Daten- Typen" der Fig. 35 ist eines der Paletten-Paneele, die für diesen Graphen in der Programm-Editier-Task zur Verfügung stehen. Dieses Paletten-Paneel 177c weist ein INTEGER-Werkzeug 187, ein als reelle Zahl beschaffenes Werkzeug (REAL) 188 und ein Boolisches (BOOL)-Werkzeug 189 auf, um die Art Eingangs- oder -ausgangsvariable zu definieren, die als Eingangs- und ausgangsgröße für den Funktionsblock 185 verwendet wird.
  • Gemaß Fig. 36 werden die Eingangsgrößen für den Funktionsblock 185 (beispielsweise Eintritt Detektion, Eintritt_AUX)auf der linken Seite des Blocks 185 dargestellt und es werden die Ausgangsgrößen (beispielsweise Eintritts Umsetzung, Fahrzeug-Länge) auf der rechten Seite des Blocks 185 dargestellt. Die Punkte oder Gegenstände mit einem Text außerhalb und links des Programmfunktionsblocks 185 sind Prozeßeingangssignale, die vorab auf die Hardware-Eingänge gegeben wurden. Prozeßausgangssignale, die vorab auf Hardware-Ausgänge gegeben wurden, würden als Gegenstände mit einem Text außerhalb und rechts des Programmfunktionsblocks 185 gezeigt.
  • Während der Aktivierung der Programm-Editier-Task sind die Prozeß- und Hardware-Eingangs- und ausgangsgrößen visuell mit ihren Kennzeichnungsnamen mit Eingangs- und Ausgangsvariablen im Steuerungsprogramm verbunden. Wenn das Programm kompiliert wird, werden die Programmvariablen mit Hardware-Eingängen und -ausgängen an ihren System-I/O-Adressen verknüpft.
  • Wenn einem Graphen ein Funktionsblock hinzugefügt wird, wird er mit einem Satz generischer Eingangsgrößen und Ausgangsgrößen versehen, die mit IN1, 1N2 usw. bezeichnet werden. Diese werden bei Testeditieroperationen umbenannt, um Namen für Programmvariable wie Eintritts Detektion und Eintritts AUX zu spezifizieren. Diese Programmvariablen sind auch hinsichtlich der Art von Daten definiert, die von jeder Eingangs- oder Ausgangsvariable empfangen oder übertragen werden, wobei hierzu das Paletten-Paneel 177c mit Werkzeugen für die Datentypen wie REAL, INTEGER oder BOOLSCH verwendet werden.
  • Wie in Fig. 37 gezeigt ist, wird dann ein Satz aus drei Menus 190, 191 und 192 eröffnet, um Hardware-Eingangs- und Ausgangsgrößen aus einer Liste von Kennzeichnungsnamen, die von der Hardware-Edtier-Task empfangen werden, hinzuzufügen. Fig. 37 stellt die Liste für sämtliche der Eingangsgrößen für den "Waschprozessor" dar. Zunächst werden "Prozessoren" aus dem ersten Menu 190 ausgewählt, und dann werden "Eingangsgrößen" aus dem zweiten Menu 191 ausgewählt, wodurch ein drittes Menu 192 mit einer Liste von Kennzeichnungen eröffnet wird, die den Hardware-Eingangsgrößen für den anwendbaren Prozessor zugewiesen sind. Durch Auswahl "ALLE" im dritten Menu werden samtliche Eingangskennzeichen des dritten Menus 192 als Punkte oder Gegenstände mit Text der linken Seite des Funktionsblocks 185 hinzugefügt. Es könnten auch aus dem dritten Menu 192 einzelne Eingangskennzeichen ausgewählt und hinzugefügt werden.
  • Sind einmal die Hardware-Eingangs- und Ausgangskennzeichen einem Graphen hinzugefügt worden, können sie ausgewählt werden und auf eine Position gegenüber Eingangs- und Ausgangsvariablen im Funktionsblock 185 gezogen werden, wobei die Handhabungsmittel auf der linken Seite des Textes ausgenutzt werden. Eine Hardware -Eingangsgröße wird beispielsweise visuell mit ihrer gegenüberliegenden Eingangsprogrammvariablen unter Verwendung der Maustechnik verbunden, die zuvor zur Verbindung zweier Verts mit einem Bogen erläutert wurde. Die anderen Hardware-Prozeß Eingangs- und Ausgangskennzeichen werden dann mit den Programmvariablen verbunden, indem auf eine Programmvariable eingetastet wird, der Cursor über einen Hardware-Prozeß-I/O-Punkt bewegt wird und wiederum eingetastet wird, um einen Bogen oder eine Verbindungslinie auszubilden, und indem dann die gegenüberliegenden Paare auf ähnliche Weise herunterbewegt werden.
  • Fig. 38 zeigt eine detailliertere Darstellung, in der das Fahrzeugwaschprogramm in verschiedene Funktionsblöcke 193 und 194 entsprechend dem Eintritts- und Waschzyklus aufgeteilt ist. Es ist es ein Paletten-Paneel 195 mit Werkzeugen 196 vorgesehen, die zur Hinzufügung von Funktionsblöcken mit arithmetischen Funktionen wie "PLUS" und logischen Funktionen "UND" dienen. Unter Verwendung des "neuen" Werkzeugs 196 können Funktionsblöcke für vier Zyklen des Fahrzeugwaschvorgangs erzeugt werden. Wie im Baumgraphen 180 der Fig. 39 ersichtlich ist, wird dieses detailliertere Diagramm des Fahrzeugwaschprogramms durch Auswählen des Knotens mit der Kennzeichnung "Fahrzeug waschen" gemäß der Darstellung durch die gestrichelte Box 202 ausgewählt.
  • Eingangs- und Ausgangsvariable für diese Funktionsblöcke 193, 194 niedriger Ebene werden hinsichtlich des Datentyps benannt und definiert und dann mit den Eingangs- und Ausgangsvariablen für die Funktionsblöcke höherer Ebene verknüpft. Daten, die an den Eingängen und Ausgängen von Programmen höherer Ebene empfangen werden, können dann zu Eingängen und Ausgängen an der nächst niedrigeren Ebene des Programms übertragen und von hier abgerufen werden.
  • Die Verknüpfung von Programmvariablen innerhalb verschiedener Ebenen des Programms ist in Fig. 39 dargestellt, die vier Menus 197, 198, 199 und 200 darlegt. Um Eingangsvariable vom Funktionsblock höherer Ebene hinzuzufügen, wird der Befehl "ADD" aus dem ersten Menu 197 ausgewählt, und es wird der Befehl "Variable" aus dem zweiten Menu ausgewählt, ferner wird der Befehl "Eingabe" aus dem dritten Menu 199 ausgewählt, welcher das vierte Menu 200 eröffnet. Das vierte Menu 200 umfaßt eine Liste der Programmvariablen vom einzelnen Funktionsblock 185 für das Fahrzeugwaschprogramm. Wiederum wird der Befehl "ALLES" ausgewählt, um samtliche Eingangsvariablen im vierten Menu 200 im Editierfenster 33 darzustellen. Diese werden dann als Gegenstände mit Textkennzeichnung links der Funktionsblöcke 193, 194 hinzugefügt.
  • Nach Hinzufügen dieser Eingangs- und Ausgangsvariablen, werden sie mit den neu definierten Eingangs- und Ausgangsvariablen für die detaillierteren Funktionsblöcke 193, 194 für das Fahrzeugwaschprogramm 175 in der weiter oben für den einzelnen Funktionsblock 185 beschriebenen Weise verknüpft.
  • Fig. 40 zeigt, daß, unter Verwendung der oben erläuterten Techniken ein Satz aus logischen AND und NOT-Blöcken mit vordefinierten Eingängen IN_1, IN_2, IN_3 und vordefinierten Ausgängen OUT hinzufügbar ist und mit Programmvariablen für den Waschfunktionsblock 194 in Fig. 38 verknüpfbar ist. Es werden die Palettenwerkzeug 203 und 204 dazu verwendet, die "AND"- und "NOT"- Funktionsblöcke 205 und 206 hinzuzufügen. Die Eingangsvariablen und Ausgangsvariablen werden hinsichtlich des Typs (BOOLSCH) für die Funktionsblöcke 205, 206 definiert und mit den Eingangsund Ausgangsvariablen (Detektion, AUX) für den Waschfunktionsblock 192 verknüpft, wie weiter oben für die höheren Ebenen des Programms erläutert wurde. Dieses Programm wird dargestellt, indem der "Waschbaumknoten" gemäß Darstellung durch die gestrichelt umrandete Box 208 ausgewählt wird.
  • Fig. 41 zeigt ein Paletten-Paneel 207 mit der Kennzeichnung "Teile" mit graphischen Symbolwerkzeugen 222 bis 226 für eine sequentielle Funktionsblock-(SFC) -Programmierung. Dieses SFC- Programm ist im Eintrittsfunktionsblock 193 der Fig. 38 eingekapselt und würde von einem Steuerungsprozessor an der Eintrittslage ausgeführt. Dieses Programm wird dadurch dargestellt, daß der "Eintritts"-Baumknoten" gemäß Darstellung durch die gestrichelt umrandete Box 209 ausgewählt wird.
  • Das volle SFC-Programm kann angesehen werden, indem der Zoom- Out-Befehl für das Editierfenster 33 in Fig. 41 ausgeführt wird. Die herausgezoomte Ansicht ist in Fig. 42 gezeigt. Die SFC-Anweisungen umfassen Schritte und übergänge. Die Schritte sind graphisch durch eine Box mit drei Vertices dargestellt. Der erste Block 210 in Fig. 42 ist Anfangsschritt, der anzeigt, wann die Ausführung beginnt. Der Anfangsschritt wird durch die doppellinige Umrandung der Box angezeigt. Auf den Startschritt folgt eine Übergangsanweisung 211. Übergangsanweisungen werden graphisch durch einen horizontalen Balken mit Vertices an dessen oberen und unteren Seite angezeigt. Eine Übergangsanweisung wird ausgeführt, wenn die "Fahrzeug_Detektions logische Eingangsvariable den logischen Wert "wahr" annimmt. Auf die Übergangsanweisung 211 folgt eine Schrittanweisung 212. Diese ist über eine Verbindungslinie mit einem Aktionsblock 213 verbunden. Das Programm verzweigt beim nächsten Übergang entweder zu einem rechten oder einem linken Programmzweig.
  • Der linke Zweig umfaßt eine erste Übergangsanweisung 214. In diesen Zweig wird hineingegangen, wenn die Bedingungen bei der Übergangsanweisung 214 den logischen Wert "wahr annehmen, bevor die Bedingungen für die Übergangsanweisung 218 logisch "wahr" werden. Auf die Übergangsanweisung 214 folgt eine Schrittanweisung 215, die mit einem Aktionsblock 216 verbunden ist. Auf diesen Block folgt eine weitere Übergangsanweisung 217.
  • Der rechte Zweig umfaßt eine erste Übergangsanweisung 218. In diesen Zweig wird hineingegangen, wenn die Bedingungen bei der Übergangsanweisung 218 logisch "wahr" werden, bevor die Bedingungen für die Übergangsanweisung 214 logisch "wahr" werden. Auf die Übergangsanweisung 218 folgt eine Schrittanweisung 219, welche mit einem Aktionsblock 220 verbunden ist. Auf diesen Block folgt eine weitere Übergangsanweisung 221.
  • Das Programm liest sich wie folgt. Beim Startup, repräsentiert durch Schritt 210, prüft der Prozessor die Fahrzeug_ Detektionsvariable gemäß Repräsentation durch übergang 211. Diese Variable wird "wahr", wenn ein Fahrzeug_Detektionssignal detektiert ist, woraufhin, das Programm auf den nächsten Schritt geht. Im Ablaufschritt 212 wird der Wert der Variablen "FÖRD" auf "wahr" gesetzt und gemäß Darstellung durch die Felder mit "5" und "FÖRD" im Aktionsblock 213 gespeichert. Auch wird im Ablaufschritt 212 eine zweite Aktion der Prüfung des Werts der Variablen "Alarm 1" nach drei Sekunden Verzögerung begonnen, was durch den Buchstaben "D" für Verzögerung und "T = 3 s" für die Verzögerungsperiode angezeigt wird.
  • Es wird dann der nächste Übergang abgearbeitet und der nächste Programmzweig, der auszuführen ist, hängt davon ab, welche Übergangsbedingungen zuerst auftreten. Falls der Ausdruck "NICHT AUX & Alarm_1" wahr wird, dann wird der übergang 214 zum Nicht- Ablaufschritt 215 ausgeführt. In diesem Schritt 215 wird die Variable "FÖRD" zurückgesetzt (R) wie im Aktionsblock 216 gezeigt ist. Der nächste Übergang 217 zurück zum Startschritt 210 des Programms tritt dann auf, wenn die Geschwindigkeitsvariable geringer als "5" detektiert wird, wie für den Übergang 217 angezeigt ist.
  • Falls die Temperaturvariable ÜB_TEMP "70" übersteigt, bevor der Ausdruck "NICHT AUX & ALARM-1" wahr wird, wird die Übergangsanweisung 218 ausgeführt, um auf den ZU-HEISS-Schritt 219 überzugehen. In diesem Schritt 219 wird die Variable "FÖRD" aus dem Speicher entfernt, wie durch den Buchstaben "N" im Aktionblock 220 angezeigt wird. Der nächste Übergang 221 zurück zum Startschritt 210 des Programms tritt auf, wenn die ÜB_TEMP-Variable sich als geringer als "70" erweist, wie für den Übergang 221 angezeigt ist.
  • Gemaß Fig. 41 wird ersichtlich, daß die Blöcke für Schritte, Aktionsblöcke und übergänge unter Verwendung von Werkzeugen 222, 223 und 224 hinzugefügt werden. Ferner umfaßt das Paletten- Paneel Werkzeuge 225, 226 zur Verzweigung und erneuten Zusammenführung von Verbindungen.
  • Fig. 43 zeigt ein Paletten-Paneel 227 mit Werkzeugen 228 zur graphischen Darstellung eines Kontaktplanprogramms 231 für den Trocknungsteil des Prozesses gemäß Darstellung durch die gestrichelt umrandete Box 230. Dieses Programm würde von einem Steuerungsprozessor an der Austrittslage ausgeführt. Die graphischen Symbole für die Kontaktplananweisungen sind die Werkzeuge 228 oder "Elemente" im Paletten-Paneel 227.
  • 3. Kompilieren des resultierenden graphischen Programms
  • Wie aus Fig. 34 hervorgeht, wird der "Kompilierungs"-Befehl 229 mit der Maus 17 aus einem Menu 184 im Editierfenster für das Fahrzeugprogramm 175 ausgewählt. Hierdurch wird die Kompilierung des Programms in eine ausführbare Code-Datei 11 veranlaßt. Die Datei kann auf eine Platte gesichert werden oder auf ein Netz 12 zu einem Zielprozessor 23 übertragen werden, in dem sie installiert wird. Falls ein Kontaktplanprogramm involviert ist, kann es auf eine Kontaktplananweisungsdatei übersetzt werden, bevor es auf der Platte gesichert wird oder durch das Netz 12 zum Zielprozessor 23 übertragen wird.
  • Bei der Kompilierung des Programms wird über die Variablen im Programm auf die Kennzeichnungsnamen für die Hardware-Eingänge und -ausgänge Bezug genommen, die visuell mit den Programmvariablen verbunden worden sind. Der Kompilierer nimmt dann Bezug auf Daten aus der Hardware-Editier-Task, um die Kennzeichnungsnamen für die Hardware-Eingänge und -ausgänge zu System-I/O-Adressen (Gestellnummer, Modulgruppennummer, Modul, I/O-Bit) in Beziehung zu setzen, die während der Aktivierung der Hardware-Editier-Task zugewiesen wurden.
  • Wird daher ein Programm einem anderen Steuerungsprozessor neu zugewiesen, oder falls die I/O-Module bewegt werden oder innerhalb eines speziellen Steuergeräts neu zugewiesen werden, kann folglich die graphische Programminformation aus der Programm- Editier-Task wiederverwendet werden. Die Hardware-I/O-Kennzeichnungen werden unter Verwendung der Hardware-Editier-Task auf die neuen System-I/O-Adressen neu konfiguriert. Der ausführbare Code wird dann aus dem vorhergehenden graphischen Programm kompiliert.
  • Das Menu 184 sieht Befehle einschließlich "Prozesse" zur Neuzuweisung eines Programms zu einem anderen Steuerungsprozessor vor. Die Auswahl dieses Befehls wird ein neues Menu (nicht dargestellt) mit einer Liste von Steuerungsprozessoren eröffnen.
  • Es erfolgte eine detaillierte Erläuterung eines bevorzugten Ausführungsbeispiels der Erfindung. Der durchschnittliche Fachmann auf den hier in Frage kommenden technischen Gebieten wird jedoch beachten, daß viele hier angegebene Details lediglich beispielhalber angeführt wurden und daß vielfältige Modifikationen und Hinzufügungen vornehrnbar sind, ohne von der Verwendung der erfindungsgemäßen Konzepte abzugehen. Daher werden diejenigen, die auf den hier in Frage kommenden technischen Gebieten praktizieren, und interessierende Personen auf den Schutzumfang der Erfindung hingewiesen, wie er in den folgenden Ansprüchen definiert ist.

Claims (19)

1. Verfahren zum Konstruieren einer graphischen Darstellung eines Steuerungsprogramms in Vorbereitung zur Umsetzung des Steuerungsprogramms in eine Form zur Ausführung durch ein Steuergerät, welches Verfahren umfaßt:
das Aktivieren verschiedener graphischer Editier-Tasks (FIG.2) zur Anzeige von Objekten (39, 39a) auf einem Bildschirm des Programmier-Rechners (10), wobei jede grahpische Editier- Task die Anzeige von Objekten in einem Editierfenster (33) steuert, das einen Teil des Bildschirms einnimmt; gekennzeichnet durch:
Konstruieren während der Aktivierung einer graphischen Editier-Task für einen Prozeß (61, 64 bis 67 in FIG.3b) in Reaktion auf mehrere Benutzereingaben im Editierfenster (33) ein Diagramm (FIG.5, 7 und 10) eines industriellen oder kommerziellen, durch ein oder mehrere Steuergeräte zu steuernden Prozesses, und visuelle Darstellung mehrerer Eingangssignale und Ausgangssignale (FIG.11 bis 15) für den industriellen oder kommerziellen Prozeß, wobei die Eingangs- und Ausgangssignale, die zu überwachen und zu steuern sind, mit Identifikationen oder Kennzeichen (FIG.11 bis 15) versehen werden und zum einfacheren Abstimmen mit der Steuerungshardware in Gruppen (127 bis 130 in den FIG.16 bis 19) aufgelistet werden;
Vornehmen während der Aktivierung einer graphischen Hardware-Editier-Task (62, 68 bis 73 in FIG.3b), die zum Entwurf eines Diagramms der Konfiguration der Steuerungshardware verwendet wird, einer oder mehrerer Benutzereingaben zur visuellen Verknüpfung der visuellen Darstellungen der Eingangs- und Ausgangssignale (FIG.30) aus der graphischen Editier-Task für den Prozeß mit einer visuellen Darstellung (FIG.29) für Steuerungshardware, die zur Steuerung des industriellen oder kommerziellen Prozesses zu programmieren ist, durch Bewegen (169, 170 in FIG.31) der Identifikationen oder der Kennzeichen zu graphischen Positionen für Eingaben und Ausgaben für die Steuerungshardware, wobei die Eingaben und Ausgaben für die Steuerungshardware durch jeweilige System-Eingabe- und Ausgabeadressen (171 in FIG.31) identifiziert werden;
Vornehmen während der Aktivierung einer graphischen Programm-Editier-Task (63, 74 bis 79 in FIG.3b), die zum Entwurf eines Diagramms eines oder mehrerer Programme (FIG.32, 33) für Prozessoreinheiten in der Steuerungshardware verwendet wird, einer oder mehrerer Benutzereingaben zur visuellen Verknüpfung der visuellen Darstellungen der Eingangs- und Ausgangssignale (FIG.30) aus der graphischen Editier-Task für den Prozeß mit visuellen Darstellungen für Eingangs- und Ausgangsprogrammvariable (185 in FIG.35, 36) in einem Programm für die Steuerungshardware durch visuelles Verbinden (FIG.35 bis 39) der Prozeß- und Hardwareeingaben und -ausgaben durch deren Identifikationen oder Kennzeichen mit den Eingangs- und Ausgangsvanablen im Steuerprogramm; und
Kompilieren (229 in FIG.34) des resultierenden Graphik-Prozessorprogramms in ein Betriebsprogramm für einen Steuerungsprozessor, wobei die Programmvariablen, wenn das Programm kompiliert wird, mit den Hardwareeingaben und -ausgaben an deren System-Eingabe-Ausgabeadressen verbunden werden.
2. Verfahren nach Anspruch 1, in welchem in Reaktion auf weitere Benutzereingaben visuelle Darstellungen einer Gruppe (192 in FIG.37) von der Steuerungshardware zugeordneten Hardwareeingaben und -ausgaben mit visuellen Darstellungen für die Eingangs- und Ausgangsprogrammvariablen (185 in FIG.37) im Programm für die Steuerungshardware verknüpft werden.
3. Verfahren nach Anspruch 1 oder 2, in welchem die Eingaben und Ausgaben für die Steuerungshardware durch jeweilige System- Eingabe-Ausgabeadressen (171) identifiziert werden (148 in FIG.25); und die visuellen Darstellungen der Eingangs- und Ausgangsprogrammvariablen (185) mit den Eingaben und Ausgaben (192) für die Steuerungshardware an deren jeweiligen System- Eingabe-Ausgabeadressen verknüpft werden.
4. Verfahren nach einem der vorhergehenden Ansprüche, in welchem die zu überwachenden und zu steuernden Eingangs- und Ausgangssignale durch alphanumerische Namen (FIG.11 bis 15) identifiziert werden; und in welchem die zu überwachenden und zu steuernden Eingangs- und Ausgangssignale mit den Eingaben und Ausgaben für die Steuerungshardware durch Bewegen (FIG.31) der alphanumerischen Namen zu graphischen Positionen für Eingaben und Ausgaben zur Steuerungshardware visuell verknüpft werden.
5. Verfahren nach Anspruch 4, in welchem die Eingangs- und Ausgangsprogrammvariablen (185) im Steuerungsprogramm visuell mit den alphanumerischen Namen für die Eingaben und Ausgaben (192) zur Steuerungshardware verbunden werden (FIG.37).
6. Verfahren nach einem der vorhergehenden Ansprüche, in welchem:
die graphische Prozeßeditier-Task so aktiviert wird, daß eine Anzeige eines Baumgraphen-Fensters (43) und eines Diagrammeditierfensters (33) gleichzeitig auf den Bildschirm des Programmier-Rechners (10) geleitet werden;
während der graphischen Prozeßeditier-Task im Speicher des Programmier-Rechners (10) mehrere Diagramme (38) zur Betrachtung im Diagrammeditierfenster (33) gespeichert werden;
während der graphischen Prozeßeditier-Task die Anzeige eines Baumgraphen (50) im Baumgraphen-Fenster (43) mit Abzweigungen des Baumgraphen, welche eine hierarchische Beziehung der mehreren Diagramme zur Betrachtung im Diagrammeditierfenster (33) zeigen, angewiesen wird; und
während der graphischen Prozeßeditier-Task eine Benutzereingabevorrichtung am Programmier-Rechner (10) zur Selektion eines speziellen Zweiges des Baumgraphen (50) betätigt wird, um ein ausgewähltes Diagramm im Diagrammeditierfenster (33) auf dem Bildschirm des Programmier-Rechners anzuzeigen.
7. Verfahren nach einem der vorhergehenden Ansprüche, in welchem:
die graphische Prozeßeditier-Task die Anzeige eines Editierfensters (45), das einen Teil des Bildschirms einnimmt, anweist; und
in welchem die graphische Prozeßeditier-Task die Anzeige eines ersten Paletten-Bildschirmverzeichnisses (45a) mit mehreren wählbaren Funktionen der Art zur Hinzufügung von Objekten in das Editierfenster (45) anweist und in welchem die graphische Prozeßeditier-Task die Anzeige eines zweiten Paletten- Bildschirmverzeichnisses (45b, 45d) mit mehreren wählbaren Funktionen der Art zur Hinzufügung von Eingängen und Ausgängen an den Objekten (98 bis 101) mit Eingängen und Ausgängen (95, 96) im Editierfenster (45) anweist.
8. Verfahren nach Anspruch 7, in welchem
die graphische Prozeßeditier-Task ein drittes Paletten- Bildschirmverzeichnis (45c, 45f) mit mehreren wählbaren Stellen für Objekte (102 bis 107) aufweist und anzeigt, die mit dem ersten Paletten-Bildschirmverzeichnis (45a) ausgewählt wurden; und aufweisend den Schritt des Vornehmens von Selektionen auf dem dritten Paletten-Bildschirmverzeichnis (45c, 45f) zur Anzeige von Objekten mit speziellen Stellen im Editierfenster (33).
9. Verfahren nach Anspruch 7 oder 8, in welchem die graphische Prozeßeditier-Task ein viertes Paletten-Bildschirmverzeichnis (45e) mit mehreren wählbaren elektrischen Funktionen für Eingänge und Ausgänge umfaßt und anzeigt, die mit dem zweiten Paletten-Bildschirmverzeichnis (45b, 45d) ausgewählt wurden; und aufweisend den Schritt des Vornehmens von Selektionen auf dem vierten Paletten-Bildschirmverzeichnis (45e) zur Anzeige von Objekten mit speziellen elektrischen Funktionen im Editierfenster (33).
10. Verfahren nach Anspruch 7, in welchem die graphische Prozeßeditier-Task als Teil des ersten und zweiten Paletten-Bildschirmverzeichnisses (45a; 45b, 45d) ein Paar entgegengesetzt zeigende Bildschirmverschiebungspfeile (86, 87) aufweist und anzeigt, und aufweisend den Schritt der Auswahl eines der Bildschirmverschiebungspfeile (86, 87) zur Anzeige eines vom ersten und zweiten Paletten-Bildschirmverzeichnis und zur Verbergung des anderen vom ersten und zweiten Paletten-Bildschirmverzeichnis in der Anzeige.
11. Verfahren nach einem der vorhergehenden Ansprüche, in welchem:
während der Aktivierung der graphischen Hardware-Editier- Task und in Reaktion auf eine erste Mehrzahl von Benutzereingaben der Schritt der Anzeige eines graphischen Bildes eines elektronischen Steuergerätchassis (145) auf dem Bildschirm erfolgt, wobei das graphische Bild Teilstücke (139) entsprechend jeweiligen Positionen für Eingabe-Ausgabebausteine umfaßt; und
in Reaktion auf eine zweite Mehrzahl von Benutzereingaben der Schritt der Anzeige eines graphischen Bildes eines Eingabe- Ausgabebausteins (150) auf dem Bildschirm und der Überlagerung (FIG.25 bis 29) des graphischen Bildes des Eingabe-Ausgabebausteins (150) auf dem graphischen Bild des elektronischen Steuergerätchassis (145) erfolgt, um die Positionierung eines Eingabe-Ausgabebausteins (150) in einem tatsächlichen elektronischen Steuergerätchassis (145) zu simulieren.
12. Verfahren nach Anspruch 11, in welchem die erste Mehrzahl von Benutzereingaben ferner umfaßt:
Positionieren eines Cursors über einer Auswahlpalette (136) zur Auswahl eines einer Mehrzahl von elektronischen Steuergerätchassis (140, 141);
Betätigen einer oder mehrerer Tasten an der Benutzereingabevorrichtung zur Auswahl eines speziellen elektronischen Steuergerätchassis (145) zur Anzeige auf dem Bildschirm;
Positionieren des Cursors über der Anzeige des speziellen elektronischen Steuergerätchassis (145); und
Betätigen einer oder mehrerer Tasten an der Benutzereingabevorrichtung zur Anzeige eines zweiten Bildes des elektronischen Steuergerätchassis, welches Bild Teilstücke (139) umfaßt, die jeweilige Positionen für Eingabe-Ausgabebausteine identifizieren.
13. Verfahren nach Anspruch 11 oder 12, in welchem die zweite Mehrzahl von Benutzereingaben ferner umfaßt: Betätigen der Benutzereingabevorrichtung so, daß ein Menü (148) eröffnet wird, das einen Befehl (151) zur Hinzufügung eines Eingabe-Ausgabebausteins umfaßt; und
Betätigen der Benutzereingabevorrichtung so, daß ein Befehl (151) zur Hinzufügung eines Eingabe-Ausgabebausteins (150) an der Stelle mit der niedrigsten verfügbaren Eingabe-Ausgabebausteinadresse im elektronischen Steuergerätchassis (145) ausgewählt wird.
14. Verfahren nach Anspruch 11, ferner aufweisend den Schritt, bei dem in Reaktion auf weitere Benutzereingaben Mehrfachmenüs (152, 153, 155) angezeigt werden, wobei ein Menü (152) Optionen zur Definition des Eingabe-Ausgabebausteins als Eingänge oder Ausgänge beinhaltend aufweist, ein weiteres Menü (153) Optionen für den Spannungspegel derartiger Eingänge oder Ausgänge aufweist und ein weiteres Menü (155) Optionen zur Auswahl eines speziellen Eingabe-Ausgabebausteins entsprechend den ausgewählten Optionen aus dem ersten und zweiten Menü aufweist.
15. Programmier-Rechner zum Konstruieren einer graphischen Darstellung eines Steuerungsprogramms in Vorbereitung zur Umsetzung des Steuerungsprogramms in eine Form zur Ausführung durch ein Steuergerät, wobei der Programmier-Rechner aufweist:
Einrichtungen (13 bis 18) zur Aktivierung verschiedener graphischer Editoren (FIG.2), wobei jeder graphische Editor die Anzeige von Objekten (39, 39a) in einem Editierfenster (33) steuert, das einen Teil eines Bildschirms des Programmier-Rechners (10) einnimmt;
gekennzeichnet durch:
Einrichtungen (13 bis 18), die während des Betreibens eines graphischen Editors für einen Prozeß (61, 64 bis 67 in FIG.3b) in Reaktion auf mehrere Benutzereingaben im Editierfenster (33) ein Diagramm (FIG.5, 7 und 10) eines industriellen oder kommerziellen, durch ein oder mehrere Steuergeräte zu steuernden Prozesses aufbauen zur visuellen Darstellung mehrerer Eingangssignale und mehrerer Ausgangssignale (FIG.11 bis 15) für den industriellen oder kommerziellen Prozeß, und die die Prozeßeingangs- und -ausgangssignale, die zu überwachen und zu steuern sind, mit Identifikationen oder Kennzeichen (FIG.11 bis 15) versehen und zum einfacheren Abstimmen mit der Steuerungshardware die Prozeßeingangs- und ausgangssignale in Gruppen (127 bis 130 in den FIG.16 bis 19) auflisten;
Einrichtungen (13 bis 18), die während des Betreibens eines graphischen Hardware-Editors (62, 68 bis 73 in FIG.3b), der zum Entwurf eines Diagramms der Konfiguration der Steuerungshardware verwendet wird, in Reaktion auf eine oder mehrere Benutzereingaben die visuellen Darstellungen der Eingangs- und Ausgangssignale (FIG.30) vom graphischen Editor für den Prozeß mit einer visuellen Darstellung (FIG.29) für die Steuerungshardware visuell verknüpfen, die zur Steuerung des industriellen oder kommerziellen Prozesses zu programmieren ist, und die die Identifikationen oder die Kennzeichen zu graphischen Positionen für Eingaben und Ausgaben für die Steuerungshardware bewegen (169, 170 in FIG.31), wobei die Eingaben und Ausgaben für die Steuerungshardware durch jeweilige System-Eingabe- und Ausgabeadressen (171 in FIG.31) identifiziert werden;
Einrichtungen (13 bis 18), die während des Betreibens eines graphischen Programm-Editors (63, 74 bis 79 in FIG.3b), der zum Entwurf eines Diagramms eines oder mehrerer Programme (FIG.32, 33) für Prozessoreinheiten in der Steuerungshardware verwendet wird, in Reaktion auf eine oder mehrere Benutzereingaben die visuellen Darstellungen der Eingangs- und Ausgangssignale (FIG.30) vom graphischen Editor für den Prozeß mit visuellen Darstellungen für Eingangs- und Ausgangsprogrammvariable (185 in FIG.35, 36) in einem Programm für die Steuerungshardware durch visuelles Verbinden (FIG.35 bis 39) der Prozeß- und Hardwareeingaben und -ausgaben durch deren Identifikationen oder Kennzeichen mit den Eingangs- und Ausgangsvariablen im Steuerprogramm visuell verknüpfen; und
Einrichtungen (13 bis 18), die das resultierende Graphik- Prozessorprogramm in ein Betriebsprogramm für einen Steuerungsprozessor kompilieren (229 in FIG.34), wobei die Programmvariablen, wenn das Programm kompiliert wird, mit den Hardwareeingaben und -ausgaben an deren System-Eingabe-Ausgabeadressen verbunden werden.
16. Programmier-Rechner nach Anspruch 15, ferner aufweisend Einrichtungen (13 bis 18), die visuelle Darstellungen einer Gruppe (192 in FIG.37) von der Steuerungshardware zugeordneten Hardwareeingaben und -ausgaben mit visuellen Darstellungen für die Eingangs- und Ausgangsprogrammvariablen (185 in FIG.37) im Programm für die Steuerungshardware verknüpfen.
17. Programmier-Rechner nach Anspruch 15 oder 16, ferner aufweisend:
Einrichtungen (13 bis 18), die die Eingaben und Ausgaben für die Steuerungshardware durch jeweilige System-Eingabe-Ausgabeadressen (171 in FIG.31) identifizieren (148 in FIG.25, 163, 164 in FIG.29); und
Einrichtungen (13 bis 18), die die Eingangs- und Ausgangsprogrammvariablen (185) mit den Eingaben und Ausgaben (192) für die Steuerungshardware an deren jeweiligen System-Eingabe-Ausgabe-bausteinadressen verknüpfen (FIG.37).
18. Programmier-Rechner nach einem der Ansprüche 15 bis 17, ferner aufweisend:
Einrichtungen (13 bis 18), die die zu überwachenden Eingangs- und Ausgangssignale durch alphanumerische Namen (FIG.11 bis 15) identifizieren; und
Einrichtungen (13 bis 18), die die Prozeßeingangssignale und -ausgangssignale durch Bewegen (FIG.31) der alphanumerischen Namen zu graphischen Positionen für Eingaben und Ausgaben zur Steuerungshardware visuell verknüpfen.
19. Programmier-Rechner nach Anspruch 18, ferner aufweisend:
Einrichtungen (13 bis 18), die die Eingangs- und Ausgangsprogrammvariablen (185) im Steuerungsprogramm visuell mit den alphanumerischen Namen für die Eingaben und Ausgaben (192) zur Steuerungshardware verknüpfen.
DE69121712T 1990-05-30 1991-05-23 Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte Expired - Fee Related DE69121712T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/531,261 US5168441A (en) 1990-05-30 1990-05-30 Methods for set up and programming of machine and process controllers
PCT/US1991/003628 WO1991019237A1 (en) 1990-05-30 1991-05-23 Graphical programming interface for machine/process controllers

Publications (2)

Publication Number Publication Date
DE69121712D1 DE69121712D1 (de) 1996-10-02
DE69121712T2 true DE69121712T2 (de) 1997-03-20

Family

ID=24116923

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69121712T Expired - Fee Related DE69121712T2 (de) 1990-05-30 1991-05-23 Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte

Country Status (5)

Country Link
US (1) US5168441A (de)
EP (1) EP0531435B1 (de)
JP (1) JP2984369B2 (de)
DE (1) DE69121712T2 (de)
WO (1) WO1991019237A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1394697A2 (de) * 2002-08-30 2004-03-03 Siemens Aktiengesellschaft Verfahren zur Verarbeitung von Daten
DE10017708B4 (de) * 2000-04-04 2008-02-14 Technische Universität Dresden Verfahren zum Steuern von Mechanismen und technischen Systemen, Einrichtung und Steuerungssoftware
DE10125384B4 (de) 2000-12-22 2018-09-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
CN109116790A (zh) * 2018-10-31 2019-01-01 徐波 一种电弧喷涂机电源集成控制***

Families Citing this family (334)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5338157B1 (en) * 1992-09-09 1999-11-02 Sims Deltec Inc Systems and methods for communicating with ambulat
US5497500A (en) * 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5504917A (en) * 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US5737622A (en) * 1986-04-14 1998-04-07 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5475851A (en) * 1986-04-14 1995-12-12 National Instruments Corporation Method and apparatus for improved local and global variable capabilities in a graphical data flow program
US5455903A (en) * 1991-05-31 1995-10-03 Edify Corp. Object oriented customer information exchange system and method
US5696887A (en) * 1991-08-05 1997-12-09 Biotek Solutions, Incorporated Automated tissue assay using standardized chemicals and packages
JP2697399B2 (ja) * 1991-09-13 1998-01-14 三菱電機株式会社 位置決め装置及びそのプログラム表示方法
US5477445A (en) * 1992-01-31 1995-12-19 Prolink Ag Process and device for bi-directional data exchange between computer and/or control systems
US5648909A (en) * 1992-06-12 1997-07-15 Digital Equipment Corporation Static timing verification in the presence of logically false paths
US5442746A (en) * 1992-08-28 1995-08-15 Hughes Aircraft Company Procedural user interface
US5321603A (en) * 1992-12-15 1994-06-14 Allen-Bradley Company, Inc. Programming apparatus for an industrial controller using two-dimensional graphic behavior profiles
US5551055A (en) * 1992-12-23 1996-08-27 Taligent, Inc. System for providing locale dependent user interface for presenting control graphic which has different contents or same contents displayed in a predetermined order
WO1994015281A1 (en) * 1992-12-23 1994-07-07 Taligent, Inc. Atomic command system
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
US5315703A (en) * 1992-12-23 1994-05-24 Taligent, Inc. Object-oriented notification framework system
US5550563A (en) * 1992-12-23 1996-08-27 Taligent, Inc. Interaction framework system
WO1994015286A1 (en) * 1992-12-23 1994-07-07 Taligent, Inc. Object oriented framework system
US5434965A (en) * 1992-12-23 1995-07-18 Taligent, Inc. Balloon help system
US5530864A (en) * 1992-12-23 1996-06-25 Taligent Command object system for an object-oriented software platform
US5390325A (en) * 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
WO1994017480A1 (en) * 1993-01-22 1994-08-04 Taligent, Inc. Flexible system
US5394523A (en) * 1993-01-22 1995-02-28 Taligent, Inc. Polymorphic graphic device
AU6019094A (en) * 1993-01-22 1994-08-15 Taligent, Inc. Business card system
US5428718A (en) * 1993-01-22 1995-06-27 Taligent, Inc. Tessellation system
CA2135522A1 (en) * 1993-01-22 1994-08-04 Object Technology Licensing Corporation Flexible network system
KR940020218A (ko) * 1993-02-26 1994-09-15 가또 도요 프로그래머블콘트롤러의 프로그래밍장치
US5608899A (en) * 1993-06-04 1997-03-04 International Business Machines Corporation Method and apparatus for searching a database by interactively modifying a database query
US5594858A (en) * 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
US5392207A (en) * 1993-08-20 1995-02-21 Allen-Bradley Company, Inc. Programmable motion controller with graphical programming aid
CA2128387C (en) * 1993-08-23 1999-12-28 Daniel F. Hurley Method and apparatus for configuring computer programs from available subprograms
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
US5631825A (en) * 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
US5576946A (en) * 1993-09-30 1996-11-19 Fluid Air, Inc. Icon based process design and control system
US5644487A (en) * 1993-10-19 1997-07-01 Moore Products Co. Monitoring and control system and method
US5596704A (en) * 1993-11-11 1997-01-21 Bechtel Group, Inc. Process flow diagram generator
US5463769A (en) * 1993-12-15 1995-10-31 International Business Machines Corporation Method and apparatus using dictionary of methods and states for high performance context switching between build and run modes in a computer application builder program
JP3220588B2 (ja) * 1994-01-28 2001-10-22 三菱電機エンジニアリング株式会社 位置決め装置
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5546519A (en) * 1994-02-28 1996-08-13 International Business Machines Corporation System and method for visually programming iteration
US5508909A (en) * 1994-04-26 1996-04-16 Patriot Sensors And Controls Method and systems for use with an industrial controller
US5493642A (en) * 1994-04-26 1996-02-20 Jocatek, Inc. Graphically constructed control and scheduling system
US5465215A (en) * 1994-07-07 1995-11-07 Cincinnati Milacron Inc. Numerical control method and apparatus
JPH0830309A (ja) * 1994-07-14 1996-02-02 Fanuc Ltd シーケンス・プログラムの編集方式
DE4427183A1 (de) * 1994-08-01 1996-02-08 Siemens Ag Programmiergerät
US5611059A (en) * 1994-09-02 1997-03-11 Square D Company Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system
US5627747A (en) * 1994-10-13 1997-05-06 Digisonix, Inc. System for developing and operating an active sound and vibration control system
US5623592A (en) * 1994-10-18 1997-04-22 Molecular Dynamics Method and apparatus for constructing an iconic sequence to operate external devices
JPH08241185A (ja) * 1994-11-03 1996-09-17 Motorola Inc 統合型試験および測定手段ならびにグラフィカル・ユーザ・インタフェースを採用する方法
US5581687A (en) * 1994-11-10 1996-12-03 Baxter International Inc. Interactive control systems for medical processing devices
IT1271796B (it) * 1994-12-23 1997-06-09 Lomar S R L Apparecchiatura di controllo di almeno un attuatore operativamente collegabile ad una stazione di programmazione flessibile
US5570281A (en) * 1995-01-31 1996-10-29 International Business Machine Corporation Method and system for facilitating visual connections between objects using handles
US5724074A (en) * 1995-02-06 1998-03-03 Microsoft Corporation Method and system for graphically programming mobile toys
US5706453A (en) * 1995-02-06 1998-01-06 Cheng; Yang-Leh Intelligent real-time graphic-object to database linking-actuator for enabling intuitive on-screen changes and control of system configuration
US5835758A (en) * 1995-02-28 1998-11-10 Vidya Technologies, Inc. Method and system for respresenting and processing physical and conceptual entities
US5664180A (en) * 1995-03-20 1997-09-02 Framework Technologies Corporation Design tool for complex objects which links object structures of a design object in multiple design domains
DE19513230A1 (de) * 1995-04-07 1996-10-10 Siemens Ag Programmiergerät
US6571141B1 (en) 1995-05-30 2003-05-27 Roy-G-Biv Corporation Application programs for motion control devices including access limitations
US20100131081A1 (en) * 1995-05-30 2010-05-27 Brown David W Systems and methods for motion control
US6209037B1 (en) 1995-05-30 2001-03-27 Roy-G-Biv Corporation Motion control systems using communication map to facilitating communication with motion control hardware
US7024666B1 (en) 2002-01-28 2006-04-04 Roy-G-Biv Corporation Motion control systems and methods
US20060206219A1 (en) 1995-05-30 2006-09-14 Brown David W Motion control systems and methods
US7139843B1 (en) 1995-05-30 2006-11-21 Roy-G-Biv Corporation System and methods for generating and communicating motion data through a distributed network
US6941543B1 (en) 1995-05-30 2005-09-06 Roy-G-Biv Corporation Motion control system and method
US6859671B1 (en) 1995-05-30 2005-02-22 Roy-G-Biv Corporation Application programs for motion control devices including access limitations
US7137107B1 (en) 2003-04-29 2006-11-14 Roy-G-Biv Corporation Motion control systems and methods
US6542925B2 (en) 1995-05-30 2003-04-01 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US5691897A (en) * 1995-05-30 1997-11-25 Roy-G-Biv Corporation Motion control systems
US5764543A (en) * 1995-06-16 1998-06-09 I2 Technologies, Inc. Extensible model network representation system for process planning
US5832264A (en) * 1995-07-19 1998-11-03 Ricoh Company, Ltd. Object-oriented communications framework system with support for multiple remote machine types
US5732261A (en) 1995-07-19 1998-03-24 Ricoh Company, Ltd. Method of using an object-oriented communication system with support for multiple remote machine types
US5918051A (en) 1995-07-19 1999-06-29 Ricoh Company, Ltd. Object-oriented communication system with support for multiple remote machine types
US5841654A (en) * 1995-10-16 1998-11-24 Smar Research Corporation Windows based network configuration and control method for a digital control system
US6069627A (en) * 1995-11-01 2000-05-30 International Business Machines Corporation Extender user interface
US5802334A (en) * 1996-01-05 1998-09-01 International Business Machines Corporation Method for displaying object oriented class information and content information
US6094600A (en) * 1996-02-06 2000-07-25 Fisher-Rosemount Systems, Inc. System and method for managing a transaction database of records of changes to field device configurations
US5854929A (en) * 1996-03-08 1998-12-29 Interuniversitair Micro-Elektronica Centrum (Imec Vzw) Method of generating code for programmable processors, code generator and application thereof
JPH09258808A (ja) * 1996-03-18 1997-10-03 Fanuc Ltd モーションコントローラプログラミング方式
US5732247A (en) * 1996-03-22 1998-03-24 Sun Microsystems, Inc Interface for interfacing simulation tests written in a high-level programming language to a simulation model
US5838563A (en) * 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5940294A (en) * 1996-04-12 1999-08-17 Fisher-Rosemont Systems, Inc. System for assisting configuring a process control environment
US6032208A (en) * 1996-04-12 2000-02-29 Fisher-Rosemount Systems, Inc. Process control system for versatile control of multiple process devices of various device types
US5828851A (en) 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US6868538B1 (en) 1996-04-12 2005-03-15 Fisher-Rosemount Systems, Inc. Object-oriented programmable controller
US7987427B1 (en) * 1996-05-10 2011-07-26 Apple Inc. Graphical editor for program files
US5918233A (en) * 1996-05-30 1999-06-29 The Foxboro Company Methods and systems for providing electronic documentation to users of industrial process control systems
US5909372A (en) * 1996-06-07 1999-06-01 Danfoss A/S User interface for programming a motor controller
US5832213A (en) * 1996-07-03 1998-11-03 Sun Microsystems, Inc. Flexible mounting and unmounting of user removable media
DE19627464A1 (de) * 1996-07-08 1998-01-15 Siemens Ag Prozeßautomatisierungssystem
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
US5872722A (en) * 1996-09-04 1999-02-16 Eaton Corporation Apparatus and method for adjustment and coordination of circuit breaker trip curves through graphical manipulation
US5867382A (en) * 1996-09-10 1999-02-02 Mclaughlin; Michael G. Generic control systems using a virtual rack module
US5880957A (en) * 1996-12-03 1999-03-09 Caterpillar Inc. Method for programming hydraulic implement control system
US6408429B1 (en) 1997-01-17 2002-06-18 Cognex Corporation Machine vision system for identifying and assessing features of an article
US5980078A (en) * 1997-02-14 1999-11-09 Fisher-Rosemount Systems, Inc. Process control system including automatic sensing and automatic configuration of devices
US6112126A (en) * 1997-02-21 2000-08-29 Baker Hughes Incorporated Adaptive object-oriented optimization software system
DE19880536B4 (de) 1997-03-11 2004-08-05 Mitsubishi Denki K.K. Visuelles Programmierverfahren und dieses Verfahren anwendendes Pogrammiersystem
DE19710521A1 (de) * 1997-03-14 1998-10-15 Siemens Ag Programmierbare Vorrichtung zur Verteilung von elektrischen Steuersignalen an technische Betriebsmittel
US5953731A (en) 1997-03-31 1999-09-14 International Business Machines Coporation HTML integration utility for a program development environment
US5953525A (en) * 1997-03-31 1999-09-14 International Business Machines Corporation Multi-tier view project window
US6145119A (en) * 1997-03-31 2000-11-07 International Business Machines Corporation Programming development environment for intranet and internet applications employing unique project data structure
US5940593A (en) * 1997-03-31 1999-08-17 International Business Machines Corporation Simulating a multi-tiered computer environment on a single development system for debugging
US5911075A (en) * 1997-03-31 1999-06-08 International Business Machines Corporation Query selection for a program development environment
US5956036A (en) * 1997-03-31 1999-09-21 International Business Machines Corporation Shared modules graphical user interface
US5875322A (en) * 1997-03-31 1999-02-23 International Business Machines Corporation Making a control available to a computer without installing the control
US6058264A (en) * 1997-03-31 2000-05-02 International Business Machines Corporation Extender smart guide for creating and modifying extenders
US5890158A (en) * 1997-03-31 1999-03-30 International Business Machines Corporation Method, apparatus, and program storage device for sharing objects with a network server and a database server using a common object model
US6061517A (en) 1997-03-31 2000-05-09 International Business Machines Corporation Multi-tier debugging
US6188400B1 (en) 1997-03-31 2001-02-13 International Business Machines Corporation Remote scripting of local objects
US6247168B1 (en) * 1997-04-29 2001-06-12 Rockwell Technologies, Llc Embedded non-volatile programming tool
US6006171A (en) * 1997-07-28 1999-12-21 Vines; Caroline J. Dynamic maintenance management system
US6971066B2 (en) * 1997-08-18 2005-11-29 National Instruments Corporation System and method for deploying a graphical program on an image acquisition device
KR19990021175A (ko) * 1997-08-30 1999-03-25 김징완 시퀀스공정제어를 위한 sfc프로그램의 구현방법
US7058693B1 (en) * 1997-09-10 2006-06-06 Schneider Automation Inc. System for programming a programmable logic controller using a web browser
US20010032278A1 (en) * 1997-10-07 2001-10-18 Brown Stephen J. Remote generation and distribution of command programs for programmable devices
US5971591A (en) * 1997-10-20 1999-10-26 Eni Technologies, Inc. Process detection system for plasma process
US5940293A (en) * 1997-10-22 1999-08-17 Allen-Bradley Company, Llc Bar chart editor for industrial controller
US6134594A (en) 1997-10-28 2000-10-17 Microsoft Corporation Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects
US7076784B1 (en) 1997-10-28 2006-07-11 Microsoft Corporation Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment
EP0919896A1 (de) * 1997-12-01 1999-06-02 Siemens Aktiengesellschaft Verfahren zur bildschirmgestützten Definition und Parametrierung von Schnittstellen
US6233703B1 (en) * 1997-12-31 2001-05-15 Triconex Corporation Automatic generation of evaluation order for a function block diagram and detection of any associated errors
US6757868B1 (en) 1998-06-22 2004-06-29 International Business Machines Corporation Programmatic switching of arbitrary HTML forms
US6061602A (en) * 1998-06-23 2000-05-09 Creative Lifestyles, Inc. Method and apparatus for developing application software for home automation system
JP4582511B2 (ja) 1998-07-17 2010-11-17 株式会社フジキン 流体制御装置の設計装置および設計方法
US6473791B1 (en) 1998-08-17 2002-10-29 Microsoft Corporation Object load balancing
US6425017B1 (en) 1998-08-17 2002-07-23 Microsoft Corporation Queued method invocations on distributed component applications
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US7117433B1 (en) 1998-09-29 2006-10-03 International Business Machines Corporation HTML mapping substitution graphical user interface for display of elements mapped to HTML files
CA2347491A1 (en) * 1998-10-13 2000-04-20 Scientronix, Inc. System and method for generating a control program
DE19853205A1 (de) 1998-11-18 2000-06-15 Siemens Ag Verfahren zur Steuerung technischer Prozesse
AT412131B (de) * 1998-11-24 2004-09-27 Automationx Software For Ind A Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
US6487665B1 (en) 1998-11-30 2002-11-26 Microsoft Corporation Object security boundaries
US6385724B1 (en) 1998-11-30 2002-05-07 Microsoft Corporation Automatic object caller chain with declarative impersonation and transitive trust
US6574736B1 (en) 1998-11-30 2003-06-03 Microsoft Corporation Composable roles
IT1304077B1 (it) * 1998-12-31 2001-03-07 Abb Research Ltd Procedimento per l'editazione e la stampa di diagrammi funzionalidelle logiche di controllo e delle regolazioni di impianto per
US6490493B1 (en) 1999-01-21 2002-12-03 Rosemount Inc. Industrial process device management software
FR2789781B1 (fr) * 1999-02-12 2001-04-27 Alstom Systeme de developpement et d'execution d'une application d'assistance a la conduite pour ensemble de commande d'installation industrielle
US6289299B1 (en) 1999-02-17 2001-09-11 Westinghouse Savannah River Company Systems and methods for interactive virtual reality process control and simulation
US6748455B1 (en) 1999-02-23 2004-06-08 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events with filtering
US6829770B1 (en) 1999-02-23 2004-12-07 Microsoft Corporation Object connectivity through loosely coupled publish and subscribe events
US6445966B1 (en) * 1999-03-11 2002-09-03 Eaton Corporation Data interface module for motor control system
AUPP949599A0 (en) * 1999-03-30 1999-04-22 Griffith University Visual architecture software language
EP1043657A1 (de) * 1999-04-06 2000-10-11 Siemens Aktiengesellschaft Softwareobjekt, System und Verfahren für ein Automatisierungsprogramm mit Funktionsregeln mit Mehrfachnutzung für verschiedene Programmierwerkzeuge
WO2000063751A1 (de) * 1999-04-16 2000-10-26 Siemens Aktiengesellschaft Verfahren und anordnung zur modellierung eines technischen systems
US7272815B1 (en) 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
AU5025600A (en) 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US7096465B1 (en) 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6826632B1 (en) 1999-05-18 2004-11-30 Gateway, Inc. System for identifying the interconnection of peripheral devices
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6618630B1 (en) 1999-07-08 2003-09-09 Fisher-Rosemount Systems, Inc. User interface that integrates a process control configuration system and a field device management system
WO2001009690A1 (en) 1999-07-29 2001-02-08 The Foxboro Company Methods and apparatus for object-based process control
US7603183B1 (en) * 1999-08-31 2009-10-13 Digital Electronics Corporation Editor device and recorded medium on which editor program is recorded
JP2001075619A (ja) * 1999-09-06 2001-03-23 Toshiba Corp 機構制御システム及びその開発方法
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
EP1087275A1 (de) * 1999-09-21 2001-03-28 ABB Research Ltd. Rechnergestütztes System zum Entwurf von Industriellen Steuerungssystemen
WO2001031408A1 (en) 1999-10-27 2001-05-03 Roy-G-Biv Corporation Systems and methods for generating and communicating motion data through a distributed network
US6885898B1 (en) 2001-05-18 2005-04-26 Roy-G-Biv Corporation Event driven motion systems
US8032605B2 (en) 1999-10-27 2011-10-04 Roy-G-Biv Corporation Generation and distribution of motion commands over a distributed network
US20100131078A1 (en) * 1999-10-27 2010-05-27 Brown David W Event driven motion systems
US6920636B1 (en) * 1999-12-15 2005-07-19 Microsoft Corporation Queued component interface passing for results outflow from queued method invocations
WO2001059532A1 (fr) * 2000-02-10 2001-08-16 Daikin Industries, Ltd. Procede de generation de programme de commande, appareil correspondant, memoire et programme
US6605500B2 (en) 2000-03-10 2003-08-12 Infotech Ag Assembly process
EP1264334B1 (de) 2000-03-10 2009-02-18 Infotech, AG Verfahren und vorrichtung zum justieren eines bauelementes auf einem substrat unter verwendung von digitaler merkmaltrennung
US6985780B2 (en) 2000-03-10 2006-01-10 Adept Technology, Inc. Smart camera
US6988008B2 (en) 2000-03-10 2006-01-17 Adept Technology, Inc. Smart camera
US20020054149A1 (en) * 2000-03-10 2002-05-09 Genise Ronald G. System configuration editor with an iconic function sequencer
TW508485B (en) * 2000-04-13 2002-11-01 Infineon Technologies Ag Voltage-converter
EP1152307A1 (de) * 2000-04-28 2001-11-07 ABB Research Ltd. Verfahren zur Umwandlung von Informationen, welche sich auf die Konfiguration eines verteilten Steuerungssystems bezieht
DE10029086C2 (de) 2000-06-13 2002-05-02 Weber Helga Dr Ing Verfahren zur automatischen Erstellung eines Arbeitsplans
US7313609B1 (en) * 2000-08-09 2007-12-25 Schneider Automation Inc. Method and apparatus for programming an automation device
US7055105B2 (en) * 2000-10-27 2006-05-30 Siemens Aktiengesellschaft Drop-enabled tabbed dialogs
US7010753B2 (en) 2000-10-27 2006-03-07 Siemens Aktiengesellschaft Anticipating drop acceptance indication
KR100423742B1 (ko) * 2000-10-31 2004-03-24 삼성중공업 주식회사 순차기능챠트에 의한 전용 제어 시스템
FR2816725B1 (fr) * 2000-11-14 2003-03-07 Crouzet Automatismes Procede de construction deterministe, coherente et synchrone de graphies temps reel pour automatismes
US6965803B2 (en) * 2000-12-22 2005-11-15 Siemens Aktiengesellschaft Apparatus and method for commissioning and diagnosing control systems
US7904194B2 (en) 2001-02-09 2011-03-08 Roy-G-Biv Corporation Event management systems and methods for motion control systems
WO2002071241A1 (en) 2001-02-09 2002-09-12 Roy-G-Biv Corporation Event management systems and methods for the distribution of motion control commands
DE10108962A1 (de) * 2001-02-20 2002-09-12 Pilz Gmbh & Co Verfahren und Vorrichtung zum Programmieren einer Sicherheitssteuerung
WO2002079886A1 (fr) * 2001-03-29 2002-10-10 Mitsubishi Denki Kabushiki Kaisha Outil de programmation
US6931288B1 (en) 2001-04-16 2005-08-16 Rockwell Automation Technologies, Inc. User interface and system for creating function block diagrams
FR2824654B1 (fr) * 2001-05-14 2003-08-15 Saint Venant Barre Raoul De Outil pour controler et commander le developpement d'organismes complexes
US20090254801A1 (en) * 2001-05-14 2009-10-08 The Mathworks, Inc. Model navigation
WO2002099579A2 (en) * 2001-06-04 2002-12-12 Econocraft Worldwide Car Wash Manufacturing, Inc. Vehicle washing apparatus control, software and interface
US7802238B2 (en) * 2001-06-22 2010-09-21 Invensys Systems, Inc. Process control script development and execution facility supporting multiple user-side programming languages
US20060190106A1 (en) 2001-07-30 2006-08-24 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
US7065415B2 (en) * 2001-07-30 2006-06-20 Rockwell Automation Technologies, Inc. Method for consistent storage of data in an industrial controller
US6819960B1 (en) 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
DE10147166A1 (de) * 2001-09-25 2003-04-24 Siemens Ag System und Verfahren zur Programmierung eines Automatisierungssystems basierend auf Impulsdiagrammen
US20030066050A1 (en) * 2001-09-26 2003-04-03 Wang Douglas W. Method and system for programming devices using finite state machine descriptions
US7007107B1 (en) * 2001-10-22 2006-02-28 United Electronic Industries Methods and apparatus for performing data acquisition and control
FR2831696A1 (fr) * 2001-10-31 2003-05-02 Crossbee Parametrage et compilation automatique de structures utilisant des reseaux de representation standard
US6671869B2 (en) 2001-12-12 2003-12-30 Scott A. Davidson Method and apparatus for graphically programming a programmable circuit
US20030127119A1 (en) * 2002-01-09 2003-07-10 Washing Equipment Technologies, Inc. Operating system for vehicle washing bay
US8250483B2 (en) 2002-02-28 2012-08-21 Smiths Medical Asd, Inc. Programmable medical infusion pump displaying a banner
US8504179B2 (en) 2002-02-28 2013-08-06 Smiths Medical Asd, Inc. Programmable medical infusion pump
EP1355208A1 (de) * 2002-04-15 2003-10-22 Peter Renner System zur Automatisierung technischer Prozesse
US6975914B2 (en) 2002-04-15 2005-12-13 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with unified messaging interface
EP1365297B1 (de) * 2002-05-22 2004-03-10 Siemens Aktiengesellschaft System und Verfahren zur Anpassung anwendungsspezifischer Funktionsbausteine für ein Automatisierungsgerät
WO2004006299A2 (en) * 2002-07-03 2004-01-15 Tokyo Electron Limited Method for dynamic sensor configuration and runtime execution
US20050147093A1 (en) * 2002-07-22 2005-07-07 Siemens Aktiengesellschaft Computer system for configuring firmware for an automation device
US9983559B2 (en) 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US7237109B2 (en) * 2003-01-28 2007-06-26 Fisher- Rosemount Systems, Inc. Integrated security in a process plant having a process control system and a safety system
US7865251B2 (en) * 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US8027349B2 (en) * 2003-09-25 2011-09-27 Roy-G-Biv Corporation Database event driven motion systems
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
DE10347891A1 (de) * 2003-10-10 2005-05-12 Dspace Gmbh Verfahren und Einrichtung zur Konfiguration eines Steuerungssystems
US8954336B2 (en) 2004-02-23 2015-02-10 Smiths Medical Asd, Inc. Server for medical device
US20100131077A1 (en) * 2004-02-25 2010-05-27 Brown David W Data Collection Systems and Methods for Motion Control
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
WO2005089246A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providiing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7971204B2 (en) 2004-03-13 2011-06-28 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
WO2005091136A1 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for a self-optimizing reservation in time of compute resources
US20050222835A1 (en) * 2004-04-02 2005-10-06 Fridolin Faist Method for automatic modeling a process control system and corresponding process control system
US8704837B2 (en) 2004-04-16 2014-04-22 Apple Inc. High-level program interface for graphics operations
US7231632B2 (en) * 2004-04-16 2007-06-12 Apple Computer, Inc. System for reducing the number of programs necessary to render an image
US8134561B2 (en) 2004-04-16 2012-03-13 Apple Inc. System for optimizing graphics operations
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7729789B2 (en) 2004-05-04 2010-06-01 Fisher-Rosemount Systems, Inc. Process plant monitoring based on multivariate statistical analysis and on-line process simulation
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
EP1607811A1 (de) * 2004-06-18 2005-12-21 Siemens Aktiengesellschaft Verfahren zum Betrieb einer Recheneinheit sowie Signal zur Verarbeitung in einer Recheneinheit
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006032344A1 (de) * 2004-09-17 2006-03-30 Sew-Eurodrive Gmbh & Co. Kg Verfahren, graphische benutzerschnittstelle und antrieb
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US10387170B1 (en) * 2004-11-15 2019-08-20 Peter Ar-Fu Lam User programmable building kit
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
WO2006108187A2 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
GB2425622A (en) * 2005-04-27 2006-11-01 Ncapsa Ltd Programming real-time systems using data flow diagrams
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
JP2007041846A (ja) * 2005-08-03 2007-02-15 Fuji Electric Holdings Co Ltd プログラム表示方法および装置
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
DE102005054843A1 (de) * 2005-11-15 2007-05-16 Dewert Antriebs Systemtech Verfahren zur Steuerung einer Elektrogeräteanordnung, insbesondere für ein Möbel
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
JP5096359B2 (ja) 2005-12-05 2012-12-12 フィッシャー−ローズマウント システムズ,インコーポレイテッド 同時プロセスシミュレーションを伴う多目的予測プロセス最適化
US7565459B2 (en) * 2006-01-21 2009-07-21 Shalabh Kumar Combination I/O modules in a modular automation controller
US20070182977A1 (en) * 2006-02-08 2007-08-09 Xerox Corporation Printing subsystem with improved user interface
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8858526B2 (en) 2006-08-03 2014-10-14 Smiths Medical Asd, Inc. Interface for medical infusion pump
US8435206B2 (en) 2006-08-03 2013-05-07 Smiths Medical Asd, Inc. Interface for medical infusion pump
US8965707B2 (en) 2006-08-03 2015-02-24 Smiths Medical Asd, Inc. Interface for medical infusion pump
US8149131B2 (en) 2006-08-03 2012-04-03 Smiths Medical Asd, Inc. Interface for medical infusion pump
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
DE102006037975A1 (de) * 2006-08-14 2008-02-28 Siemens Ag Signalumsetzeinrichtung, Betriebsverfahren für eine Signalumsetzeinrichtung und Erstellverfahren für eine Programmierung für eine Signalumsetzeinrichtung
DE102006044141A1 (de) * 2006-09-15 2008-04-03 Dspace Digital Signal Processing And Control Engineering Gmbh Einrichtung und Verfahren zur Konfiguration eines Steuerungssystems
US8407716B2 (en) * 2007-05-31 2013-03-26 Fisher-Rosemount Systems, Inc. Apparatus and methods to access information associated with a process control system
EP2012201B1 (de) * 2007-07-05 2011-10-19 Sick Ag Verfahren zum Programmieren einer Sicherheitssteuerung
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
DE102007058352B4 (de) * 2007-12-03 2014-02-27 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur Konfiguration einer Steuerroutine zur Steuerung wenigstens einer realen oder virtuellen Prozesseinrichtungskomponente
US8509099B2 (en) 2008-01-15 2013-08-13 Microsoft Corporation Load aware resource allocation in wireless networks
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8896603B2 (en) * 2008-02-26 2014-11-25 Fisher-Rosemount Systems, Inc. Methods and apparatus to bind properties in a process control system
ATE509304T1 (de) * 2008-03-07 2011-05-15 Sick Ag Verfahren und vorrichtung zum programmieren und/oder konfigurieren einer sicherheitssteuerung
DE202008017894U1 (de) * 2008-03-07 2010-10-21 Sick Ag Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE202008017893U1 (de) * 2008-03-07 2010-10-28 Sick Ag Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
US8133197B2 (en) 2008-05-02 2012-03-13 Smiths Medical Asd, Inc. Display for pump
EP2304536A4 (de) 2008-06-20 2012-08-15 Invensys Sys Inc Systeme und verfahren zur immersiven interaktion mit tatsächlichen und/oder simulierten einrichtungen zur prozess-, umwelt- und industriesteuerung
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
CN102232212B (zh) 2008-12-02 2015-11-25 起元技术有限责任公司 在数据管理***中映射数据集的实例
US8230357B2 (en) * 2008-12-18 2012-07-24 Microsoft Corporation Visually processing instance data
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
DE102009048746B4 (de) * 2009-10-08 2013-10-24 Netstal-Maschinen Ag Verfahren zur Steuerung und Bedienung einer Produktionszelle sowie eine Steuereinrichtung
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9134720B2 (en) * 2010-02-12 2015-09-15 Rockwell Automation Technologies, Inc. Macro function block for encapsulating device-level embedded logic
US8892218B2 (en) * 2010-02-12 2014-11-18 Rockwell Automation Technologies, Inc. Multiple boolean inputs and outputs for device function blocks
US9535413B2 (en) * 2010-02-12 2017-01-03 Rockwell Automation Technologies, Inc. Automatic device parameter binding method and system
JP5311064B2 (ja) * 2010-03-15 2013-10-09 オムロン株式会社 Plcの開発支援装置
US8825183B2 (en) 2010-03-22 2014-09-02 Fisher-Rosemount Systems, Inc. Methods for a data driven interface based on relationships between process control tags
EP2633398B1 (de) * 2010-10-25 2020-05-27 Ab Initio Technology LLC Verwaltung von datensatzobjekten in einem datenflussdiagramm zur darstellung eines computerprogramms
KR101447846B1 (ko) * 2011-01-31 2014-10-13 미쓰비시덴키 가부시키가이샤 모션 sfc 프로그램 부품 작성 장치
US9927788B2 (en) 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
JP5755103B2 (ja) * 2011-10-18 2015-07-29 住友重機械工業株式会社 ブロック線図処理装置およびブロック線図の処理方法
JP5558646B2 (ja) * 2012-03-26 2014-07-23 三菱電機株式会社 シーケンスプログラム設計支援装置
DE102012010537A1 (de) * 2012-05-29 2013-12-05 Robert Bosch Gmbh Programmiervorlage für verteilteAnwendungsprogramme
US8836497B2 (en) 2012-07-23 2014-09-16 General Electric Company Systems and methods for configuring analog process alarms in control devices
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9684347B2 (en) 2013-01-18 2017-06-20 General Electric Company Systems and methods for automated display of permissive logic in control systems associated with a power generation unit
EP2948204B1 (de) 2013-01-28 2021-08-25 Smiths Medical ASD, Inc. Medizinische sicherheitsvorrichtungen und verfahren
JP5702811B2 (ja) * 2013-01-30 2015-04-15 ファナック株式会社 動作プログラム作成装置
JP5766378B2 (ja) * 2013-02-22 2015-08-19 三菱電機株式会社 システム開発装置、方法およびプログラム
US10068031B2 (en) 2013-03-15 2018-09-04 Bullet Point Network, L.P. Tabular data manipulation system and method
WO2016002076A1 (ja) * 2014-07-04 2016-01-07 三菱電機株式会社 位置決め制御装置の同期制御設定方法
EP3195114B1 (de) 2014-07-18 2020-04-01 AB Initio Technology LLC Verwaltung von abstammungsinformationen
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10528021B2 (en) 2015-10-30 2020-01-07 Rockwell Automation Technologies, Inc. Automated creation of industrial dashboards and widgets
US10313281B2 (en) 2016-01-04 2019-06-04 Rockwell Automation Technologies, Inc. Delivery of automated notifications by an industrial asset
US20170227944A1 (en) * 2016-02-10 2017-08-10 General Electric Company Graphical interface for configuration of industrial automation systems
EP3243607B1 (de) 2016-05-09 2021-01-27 OpiFlex Automation AB System und verfahren zur programmierung eines industrieroboters
US11853690B1 (en) 2016-05-31 2023-12-26 The Mathworks, Inc. Systems and methods for highlighting graphical models
US10878140B2 (en) 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
US10318570B2 (en) 2016-08-18 2019-06-11 Rockwell Automation Technologies, Inc. Multimodal search input for an industrial search platform
US20180052451A1 (en) * 2016-08-19 2018-02-22 Rockwell Automation Technologies, Inc. Remote industrial automation site operation in a cloud platform
US10319128B2 (en) 2016-09-26 2019-06-11 Rockwell Automation Technologies, Inc. Augmented reality presentation of an industrial environment
US10401839B2 (en) 2016-09-26 2019-09-03 Rockwell Automation Technologies, Inc. Workflow tracking and identification using an industrial monitoring system
US10545492B2 (en) 2016-09-26 2020-01-28 Rockwell Automation Technologies, Inc. Selective online and offline access to searchable industrial automation data
US10388075B2 (en) 2016-11-08 2019-08-20 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10735691B2 (en) 2016-11-08 2020-08-04 Rockwell Automation Technologies, Inc. Virtual reality and augmented reality for industrial automation
US10866631B2 (en) 2016-11-09 2020-12-15 Rockwell Automation Technologies, Inc. Methods, systems, apparatuses, and techniques for employing augmented reality and virtual reality
CN107240334A (zh) * 2017-05-23 2017-10-10 梦孚(上海)教育科技有限公司 一种编程学习***及其方法
US10445944B2 (en) 2017-11-13 2019-10-15 Rockwell Automation Technologies, Inc. Augmented reality safety automation zone system and method
DE102017127978A1 (de) * 2017-11-27 2019-05-29 Washtec Holding Gmbh Automatisches Erzeugen von Notbetriebsprogrammen für eine Fahrzeugwaschanlage im Fehlerfall
US10795649B1 (en) * 2019-01-31 2020-10-06 Splunk Inc. Custom code blocks for a visual playbook editor
US10846062B1 (en) 2019-01-31 2020-11-24 Splunk Inc. Multi-prompt blocks for a visual playbook editor
US11231911B2 (en) 2020-05-12 2022-01-25 Programmable Logic Consulting, LLC System and method for using a graphical user interface to develop a virtual programmable logic controller
US11487513B1 (en) 2020-07-31 2022-11-01 Splunk Inc. Reusable custom functions for playbooks
CN113760419A (zh) * 2020-09-23 2021-12-07 北京沃东天骏信息技术有限公司 显示图像的方法、装置、设备和计算机可读介质
US11424865B2 (en) 2020-12-10 2022-08-23 Fisher-Rosemount Systems, Inc. Variable-level integrity checks for communications in process control environments
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning
CN114035447B (zh) * 2021-10-20 2022-05-31 华南师范大学 用于中小学人工智能教育图形化编程软件的硬件仿真器

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315315A (en) * 1971-03-09 1982-02-09 The Johns Hopkins University Graphical automatic programming
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
USRE32632E (en) * 1982-07-19 1988-03-29 Apple Computer, Inc. Display system
FR2549983B1 (fr) * 1983-07-25 1988-03-18 Telemecanique Electrique Terminal pour l'elaboration de programmes utilisables par un automate programmable
US4663704A (en) * 1984-12-03 1987-05-05 Westinghouse Electric Corp. Universal process control device and method for developing a process control loop program
US4742443A (en) * 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
US4827404A (en) * 1986-04-14 1989-05-02 Schlumberger Technology Corporation Method and system for computer programming
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4939507A (en) * 1986-04-28 1990-07-03 Xerox Corporation Virtual and emulated objects for use in the user interface of a display screen of a display processor
GB8621061D0 (en) * 1986-09-01 1986-10-08 Hewlett Packard Ltd User interface simulation
US5005119A (en) * 1987-03-02 1991-04-02 General Electric Company User interactive control of computer programs and corresponding versions of input/output data flow
US4885694A (en) * 1987-04-29 1989-12-05 Honeywell Inc. Automated building control design system
US5079723A (en) * 1988-03-04 1992-01-07 Xerox Corporation Touch dialogue user interface for reproduction machines
US5021976A (en) * 1988-11-14 1991-06-04 Microelectronics And Computer Technology Corporation Method and system for generating dynamic, interactive visual representations of information structures within a computer
US5177420A (en) * 1989-05-01 1993-01-05 Honda Giken Kogyo Kabushiki Kaisha Method of and apparatus for generating control program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10017708B4 (de) * 2000-04-04 2008-02-14 Technische Universität Dresden Verfahren zum Steuern von Mechanismen und technischen Systemen, Einrichtung und Steuerungssoftware
DE10125384B4 (de) 2000-12-22 2018-09-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
EP1394697A2 (de) * 2002-08-30 2004-03-03 Siemens Aktiengesellschaft Verfahren zur Verarbeitung von Daten
EP1394697A3 (de) * 2002-08-30 2009-12-09 Siemens Aktiengesellschaft Verfahren zur Verarbeitung von Daten
CN109116790A (zh) * 2018-10-31 2019-01-01 徐波 一种电弧喷涂机电源集成控制***

Also Published As

Publication number Publication date
WO1991019237A1 (en) 1991-12-12
US5168441A (en) 1992-12-01
DE69121712D1 (de) 1996-10-02
JPH05507376A (ja) 1993-10-21
JP2984369B2 (ja) 1999-11-29
EP0531435B1 (de) 1996-08-28
EP0531435A1 (de) 1993-03-17

Similar Documents

Publication Publication Date Title
DE69121712T2 (de) Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte
DE69308293T2 (de) Globales prozesssteuerungsinformationssystem und verfahren
EP1184757B1 (de) Flow chart Programmierung für industrielle Steuerungen, insbesondere Bewegungssteuerungen
DE112005001031B4 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
US7165226B2 (en) Multiple coupled browsers for an industrial workbench
EP1364259B1 (de) Verfahren und gerät zur erzeugung einer anwendung für ein automatisiertes steuerungssystem
DE10051645B4 (de) Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses
DE69329966T2 (de) Prozedurorientierte benutzerschnittstelle
DE112009002304T5 (de) Effiziente Auslegung und Konfigurierung von Elementen in einem Prozesssteuerungssystem
DE69229540T2 (de) Verfahren zum konzeptuellen Modellieren eines Expertensystems auf einem Computer
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE19882116T5 (de) System zum Konfigurieren einer Prozesssteuerumgebung mit grafischen Elementen
DE102018124414A1 (de) Systeme und verfahren zur einfachen entwicklung der grafischen anzeigekonfiguration in einer prozesskontrollanlage
DE10127722A1 (de) System zur Entwicklung eines Anwendungssystems und dessen Implementierung
WO2004017147A2 (de) Werkzeug und verfahren zum projektieren, auslegen oder programmieren einer anlage
EP1137972B1 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
US20070006143A1 (en) Method for the graphic planning of the control of a technical installation involving the integrated planning of control units including a project planning system and a computer program product
DE102015221517A1 (de) Bedienmodul zum Bedienen einer Maschine in der Lebensmittelindustrie
EP1347376B1 (de) Software zur Visualisierung hierarchisch stufbaren Objekten
DE4310615C2 (de) Entwurf elektrischer Vorrichtungen mit mehreren Entwurfswerkzeugen, die zumindest teilweise untereinander inkompatibel sind
DE102018124297A1 (de) Systeme und Verfahren zum Konfigurieren und Darstellen einer Anzeige-Navigationshierarchie in einer Prozessanlage
DE102018124316A1 (de) Systeme und Verfahren zum Konfigurieren und Darstellen einer Anzeige-Navigationshierarchie in einer Prozessanlage
JPH06215057A (ja) 図面作成装置およびこの装置を用いた監視制御システム
DE102018124386A1 (de) Systeme und verfahren zur automatischen bestücken eines anzeigebereichs mit historisierten prozessparametern
EP2533148A1 (de) Graphischer Editor zur Erstellen von als Automatisierungslösungen basierend auf Templates und der Ermittlung von Unterschieden in hierarchischen Datenstrukturen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: LIPPERT, H., DIPL.-ING., PAT.-ANW., 60322 FRANKFURT

8339 Ceased/non-payment of the annual fee
8328 Change in the person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,