DE69121712T2 - Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräte - Google Patents
Graphische, programmierbare schnittstelle für maschine-/prozesssteuerungsgeräteInfo
- 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
Links
- 238000004886 process control Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims description 155
- 230000008569 process Effects 0.000 claims description 116
- 230000006870 function Effects 0.000 claims description 47
- 238000010586 diagram Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 16
- 238000003825 pressing Methods 0.000 claims description 15
- 230000000007 visual effect Effects 0.000 claims description 14
- 238000004519 manufacturing process Methods 0.000 claims description 12
- 238000010960 commercial process Methods 0.000 claims description 10
- 230000004913 activation Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims 2
- 238000002360 preparation method Methods 0.000 claims 2
- 230000007704 transition Effects 0.000 description 27
- 238000005406 washing Methods 0.000 description 19
- 238000001514 detection method Methods 0.000 description 16
- 239000001993 wax Substances 0.000 description 11
- 101150013030 FAN1 gene Proteins 0.000 description 10
- 230000009471 action Effects 0.000 description 10
- 239000007921 spray Substances 0.000 description 8
- 238000001035 drying Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 101100014158 Caenorhabditis elegans rack-1 gene Proteins 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23002—Petrinet
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23157—Display process, synoptic, legend, pictogram, mimic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23255—Object oriented programming, OOP
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23258—GUI graphical user interface, icon, function bloc editor, labview
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23273—Select, associate the real hardware to be used in the program
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23291—Process, 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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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)
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 |
-
1990
- 1990-05-30 US US07/531,261 patent/US5168441A/en not_active Expired - Lifetime
-
1991
- 1991-05-23 WO PCT/US1991/003628 patent/WO1991019237A1/en active IP Right Grant
- 1991-05-23 JP JP3510640A patent/JP2984369B2/ja not_active Expired - Fee Related
- 1991-05-23 EP EP91911216A patent/EP0531435B1/de not_active Expired - Lifetime
- 1991-05-23 DE DE69121712T patent/DE69121712T2/de not_active Expired - Fee Related
Cited By (5)
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, |