DE69911986T2 - Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten - Google Patents

Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten Download PDF

Info

Publication number
DE69911986T2
DE69911986T2 DE69911986T DE69911986T DE69911986T2 DE 69911986 T2 DE69911986 T2 DE 69911986T2 DE 69911986 T DE69911986 T DE 69911986T DE 69911986 T DE69911986 T DE 69911986T DE 69911986 T2 DE69911986 T2 DE 69911986T2
Authority
DE
Germany
Prior art keywords
control
algorithm
control algorithm
execution time
dpc
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 - Lifetime
Application number
DE69911986T
Other languages
English (en)
Other versions
DE69911986D1 (de
Inventor
F. Jethro STEINMAN
P. Richard HIMMER
Irina Radomy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell International Inc
Original Assignee
Honeywell International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell International Inc filed Critical Honeywell International Inc
Application granted granted Critical
Publication of DE69911986D1 publication Critical patent/DE69911986D1/de
Publication of DE69911986T2 publication Critical patent/DE69911986T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

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

Description

  • Technisches Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein Rechner- und Datenverarbeitungssysteme und insbesondere ein System und ein Verfahren zum Ausgleichen und Verteilen der Steueralgorithmus-Verarbeitungslast und ein Echtzeit-Anlagensteuersystem, das das System oder das Verfahren verwendet.
  • Allgemeiner Stand der Technik
  • Automatisierte Prozeßsteuersysteme enthalten eine umfassende Menge von Steueralgorithmen oder softwaredefinierbaren Prozeßsteuerroutinen zur Steuerung und Überwachung verschiedener Prozeße zum Beispiel in einer Herstellungseinrichtung. Die Steuersysteme können angepaßt werden, um vielfältige Prozeßanforderungen global oder innerhalb spezifizierter Teile der Einrichtung zu erfüllen. Die Steuersysteme enthalten gewöhnlich vielfältige Module jeweils mit ihrem eigenen Prozeßor oder ihrer eigenen Firmware, die durch Kommunikationsbusse miteinander verbunden sind, so daß sich ein verteiltes Prozeßsteuersystem ergibt. Die verteilte Beschaffenheit des Systems bietet eine hohe Leistungsfähigkeit mit der Möglichkeit, das System in Schritten zu erweitern, um einem Wachstum oder Modifikationen in der Einrichtung zu genügen.
  • Um es einem Benutzer zu erlauben, ein Prozeßsteuersystem an eine bestimmte Verarbeitungsumgebung anzupassen, ist es wichtig, solche Systeme mit hochgradig konfigurierbaren und anpaßbaren Steuersystemen auszustatten. Prozeßsteuersysteme liefern im allgemeinen ein Mittel, durch das Benutzer kundenspezifische Steuerstrategien, z. B. softwaredefinierbare Prozeßsteuerroutinen, erzeugen können. In objektorientierten Programmierumgebungen kann aus kleineren Komponenten wie zum Beispiel Blöcken und Parametern eine vollständige Steuerstrategie aufgebaut werden. Ein Block ist ein Softwarekonstrukt oder ein Objekt, mit dem die Daten und die Algorithmen elementarer Steuerberechnungen eingekapselt werden; Parameter definieren die Schnittstelle zu einzelnen Datenelementen in einem Block.
  • Digitale Prozeßsteuerungen (DPCs) müssen im allgemeinen eine Reihe von Anforderungen bezüglich der Art und Weise, auf die sie Steueralgorithmen verarbeiten, erfüllen. Zum Beispiel müssen sie die Steueralgorithmen auf periodische Weise ausführen. Die Steueralgorithmen müssen mit einer Abtastrate ausgeführt werden, wobei das Abtastraten-Jitter im Vergleich zu der Toleranz der Prozeßdynamik klein genug ist. DPCs müssen möglicherweise zusätzliche Algorithmen ausführen, deren Funktionen für die gesamte Prozeßsteuermission wesentlich sind, die aber nicht periodisch und vorhersehbar sind, z. B. Kommunikation mit Überwachungsanzeige- und -steuerstationen, Kommunikation mit Peer-Steuerungen, Ereignisverteilung und Verwaltungsaufgaben. DPCs müssen nichtperiodische Algorithmen auf eine Weise ausführen, die die deterministische Ausführung periodischer Steueralgorithmen nicht stört, solange die DPCs in einem definierten Betriebsbereich konfiguriert sind.
  • Um diese oben beschriebenen Anforderungen zu erfüllen, müssen DPCs die Steueralgorithmus-Verarbeitungslast ausgleichen und sie über das Zeitintervall der Grundwiederholungsrate der DPCs verteilen. Herkömmliche DPCs, wie zum Beispiel die Steuerungen TDC3000 von Honeywell Inc., die als Process Manager, Advanced Process Manager und High Performance Process Manager bekannt sind, stufen eine Konfiguration im voraus ein und entscheiden auf der Grundlage des vorhergesehenen Potentials für Überlastung, ob die Konfiguration angenommen oder zurückgewiesen wird. Diese DPCs unterstützen jedoch keinen manuellen Ausgleich, den Ausgleich einer Teilmenge von Algorithmen, während andere Algorithmen die Steuerung behalten, Benutzermessung der Ausführungszeit für einen bestimmten Algorithmus oder das Zuordnen von Ausführungszeit zu einem Algorithmus als ein charakteristisches Attribut.
  • Andererseits ermöglichen andere herkömmliche DPCs, wie zum Beispiel der Alcont Process Manager von Honeywell nur einen manuellen Ausgleich der Algorithmusverarbeitungslast. Diese DPCs unterstützen jedoch keine Einstufung einer Algorithmuslast auf der Grundlage einer Modellberechnung oder ein Zurückweisen einer Last, die zu hoch ist. Noch andere DPCs, wie zum Beispiel der TPS Networks Safety Manager von Honeywell gewährleisten die Rechenausführungszeit aus Kenngrößen einer bestimmten Algorithmuskonfiguration, unterstützen aber keinen Ausgleich von Teilmengenalgorithmen, während andere Algorithmen die Steuerung behalten.
  • Deshalb wird in der Technik ein verbessertes Verfahren zur Verwaltung der Algorithmusverarbeitungslast in einer Prozeßsteuerung benötigt, das alle oben erwähnten Merkmale in eine Steuerung integriert. Genauer gesagt wird in der Technik ein Verfahren benötigt, das ein flexibles Management der Algorithmusverarbeitungslast gewährleistet.
  • Kurze Darstellung der Erfindung
  • Die vorliegende Erfindung liefert ein System gemäß dem folgenden Anspruch 1.
  • Das System kann die Merkmale eines beliebigen oder mehrerer der abhängigen Ansprüche 2 bis 6 enthalten.
  • Die vorliegende Erfindung liefert außerdem ein Verfahren gemäß dem folgenden Anspruch 7.
  • Das Verfahren kann das Merkmal eines beliebigen oder mehrerer der abhängigen Ansprüche 8 bis 11 enthalten.
  • Die vorliegende Erfindung kann eine wesentlich flexiblere und leistungsstärkere Methode zum Ausgleichen und Verteilen von Steueralgorithmus-Verarbeitungslasten liefern.
  • Deshalb stellt die vorliegende Erfindung ein modellgestütztes Steueralgorithmusausgleich- und -verteilungssystem bereit, bei dem jeden auszugleichenden Steueralgorithmus betreffende Daten zur Ableitung einer abgeschätzten Ausführungszeit verwendet werden, wobei der Benutzer jedoch wahlweise übersteuernde, empirisch bestimmte (möglicherweise tatsächlich gemessene, vielleicht formelmäßig analysierte, vielleicht intuitiv geschätzte) Ausführungszeiten eingeben kann.
  • Das System kann das Modell zum Zeitpunkt der Konfiguration dieser bestimmten Steueralgorithmen ablaufen lassen, um ein iteratives und interaktives Stattfinden des Ausgleichens und Verteilens zu ermöglichen, falls dies gewünscht ist. Als Alternative ermöglicht bei einer Ausführungsform der vorliegenden Erfindung der Dateneingabeprozeß dem Benutzer, die Last unter der Steuerung des Benutzers selbst auszugleichen und zu verteilen.
  • Bei einer Ausführungsform der vorliegenden Erfindung kann bei dem Modell mindestens ein Steueralgorithmus konfiguriert und die Last ausgeglichen und verteilt werden, ohne daß der Betrieb anderer Steueralgorithmen unterbrochen wird. Alternativ dazu kann das System die Ausführung der anderen Steueralgorithmen unterbrechen, um zu pausieren oder anzuhalten, während das Ausgleichen und Verteilen stattfindet.
  • Bei einer Ausführungsform der vorliegenden Erfindung werden entweder die Daten oder die Zeit in dem Modell für jede Instanz mindestens eines Steueralgorithmus repliziert. Vorzugsweise muß der Benutzer nicht die Daten oder die Zeit mit jedem Auftreten eines gegebenen Steueralgorithmus assoziieren. Bei bestimmten Ausführungsformen kann der Benutzer jedoch eine solche manuelle Assoziation durchführen.
  • Bei einer Ausführungsform der vorliegenden Erfindung enthalten die Konfigurationsdaten einen Algorithmustyp, eine Algorithmusausführungszeit, einen Algorithmusblockzählwert und einen Datenflußverbindungszählwert. Für Fachleute ist erkennbar, daß auch andere Konfigurationsdatentypen vorteilhaft mit der vorliegenden Erfindung verwendet werden können.
  • Bei einer Ausführungsform der vorliegenden Erfindung bildet mindestens ein Steueralgorithmus einen Teil eines Steuermoduls mit Konfigurationsparametern, die aus der folgenden Gruppe ausgewählt werden: (1) Periode, (2) geschätztes Gewicht und (3) Phase. Das Modell verwendet die Konfigurationsparameter zum Ausgleichen und Verteilen der Verarbeitungslast. Natürlich können bei einer gegebenen Anwendung zusätzliche oder andere Parameter erwünscht sein.
  • Bei einer Ausführungsform der vorliegenden Erfindung kann das Modell einem Benutzer eine tatsächliche Ausführungszeit mindestens eines Steueralgorithmus angeben. Dadurch kann der Benutzer die Leistungsfähigkeit mindestens eines Steueralgorithmus bewerten und darauf basierend Entscheidungen treffen.
  • Es wurden oben relativ allgemein die Merkmale und technischen Vorteile der vorliegenden Erfindung skizziert, so daß Fachleute die folgende ausführliche Beschreibung der Erfindung besser verstehen können. Zusätzliche Merkmale und Vorteile der Erfindung werden nachfolgend beschrieben und bilden den Gegenstand der Ansprüche der Erfindung.
  • Kurze Beschreibung der Zeichnungen
  • Für ein besseres Verständnis der vorliegenden Erfindung und ihrer Vorteile wird nun auf die folgenden Beschreibungen in Verbindung mit den beigefügten Zeichnungen Bezug genommen. Es zeigen:
  • 1 ein Funktionsschaltbild eines beispielhaften verteilten Echtzeit-Prozeßsteuersystems, mit dem die vorliegende Erfindung geeigneterweise verwendet werden kann;
  • 2 ein Blockschaltbild auf hoher Ebene eines beispielhaften digitalen Verarbeitungssystems, das verwendet werden kann, um softwaredefinierbare Prozeßsteuerroutinen auszuführen, die die Prinzipien der vorliegenden Erfindung realisieren;
  • 3 eine Ausführungsform eines Echtzeit-Prozeßsteuersystems, das eine Ausführungsform einer Steuerung verwendet, die unter Verwendung der Prinzipien der vorliegenden Erfindung in einer objektorientierten Programmierumgebung konstruiert wurde;
  • 4 ein beispielhaftes Interaktionsdiagramm, das zusammenfaßt, wie verschiedene Subsysteme innerhalb der vorliegenden Erfindung miteinander in Wechselwirkung treten.
  • Ausführliche Beschreibung
  • Vor einer Beschreibung der Ausführungsbeispiele der Systeme und Verfahren der vorliegenden Erfindung wird es hilfreich sein, eine Rechner- oder Datenverarbeitungssystemumgebung zu beschreiben, in der die vorliegende Erfindung geeigneterweise verwendet oder implementiert werden kann. Unter anfänglicher Bezugnahme auf 1 ist ein Funktionsschaltbild eines beispielhaften verteilten Echtzeit- Prozeßsteuersystems (mit der allgemeinen Kennzeichnung 100) gezeigt, mit dem die vorliegende Erfindung geeigneterweise verwendet werden kann.
  • Das Prozeßsteuersystem 100 enthält beispielsweise ein Computernetzwerk mit einem Server 110 und einem Steuerungsnetzwerk 111. Das Steuerungsnetzwerk 111 liefert eine Schnittstelle zwischen dem Server 110 und DPCs (mit der allgemeinen Kennzeichnung 121); das Steuerungsnetzwerk 111 kann zum Beispiel Überwachungsnachrichten zwischen dem Server 110 und DPCs 121 und Peer-to-Peer-Nachrichten zwischen den DPCs 121 führen. Die DPCs 121 kommunizieren über ein E/A-Netzwerk 112 mit Eingabe-/Ausgabegeräten (E/A-Geräten) 122. Die DPCs 121 sind so ausgelegt, daß sie softwaredefinierbare Prozeßsteuerroutinen zur Steuerung von Prozeßsensoren und Stellgliedern 130 und zum Empfangen von Daten von diesen über E/A-Geräte 122 und das E/A-Netzwerk 112 ausführen. Fachleute werden mit verschiedenen Arten von Prozeßsensoren und Stellgliedern 130 vertraut sein, wie zum Beispiel elektrisch steuerbaren Motoren, Ventilen oder Pumpen, die bei der Herstellung verschiedener Produkte verwendet werden können; die Prinzipien der vorliegenden Erfindung sind jedoch nicht auf einen spezifischen Prozeß oder ein spezifisches Verarbeitungssystem beschränkt, sondern können in jedem beliebigen solchen System ohne weiteres vorteilhaft verwendet werden.
  • Bei einer Ausführungsform enthält das Prozeßsteuersystem 100 weiterhin ein lokales Netzwerk (LAN) 113, das eine Schnittstelle zwischen dem Server 110 und abgesetzten Workstations (mit der allgemeinen Kennzeichnung 140) bereitstellt. Systembediener können die abgesetzten Workstations 140 zur Steuerung und Überwachung des Betriebs des Prozeßsteuersystems 100 benutzen. Obwohl sie als ein separates Netzwerk dargestellt sind, können das LAN 112 und das Steuerungsnetzwerk 111 ein und dasselbe sein, d. h. die abgesetzten Workstations 140 und die DPCs 120 können sich dasselbe Netzwerkübertragungsmedium teilen. Für Fachleute ist jedoch erkennbar, daß die Bereitstellung separater Netzwerke für Steuersysteme und Bedienerworkstations die Zuverlässigkeit eines verteilten Echtzeit-Prozeßsteuersystems verbessern kann, z. B. stört Netzwerkverkehr auf dem LAN 112 in Verbindung mit dem Verteilen prozeßbezogener Daten von dem Server 110 zu den Bedienerworkstations 140 nicht die Prozeßsteuerinformationen, die über das Steuernetzwerk 111 zwischen dem Server 110 und den abgesetzten DPCs 120 übertragen werden.
  • Softwaredefinierbare Prozeßsteuerroutinen können von jedem beliebigen digitalen Verarbeitungssystem ausgeführt werden, wie zum Beispiel durch den Server 110, Workstations 140 oder DPCs 121. 2 zeigt ein Blockschaltbild auf hoher Ebene eines beispielhaften digitalen Verarbeitungssystems 200, das verwendet werden kann, um softwaredefinierbare Prozeßsteuerroutinen auszuführen, die die Prinzipien der vorliegenden Erfindung realisieren. Das beispielhafte digitale Verarbeitungssystem 200 enthält einen MikroProzeßor 210, einen nichtflüchtigen Speicher 220 und Direktzugriffsspeicher (RAM) 230. Der nichtflüchtige Speicher 220, der zum Speichern softwaredefinierbarer Prozeßsteuerroutinen verwendet wird, kann zum Beispiel einen programmierbaren Nurlesespeicher (PROM), einen Flash-ROM oder ein magnetisches Speichermedium umfassen. Die in dem nichtflüchtigen Speicher 220 gespeicherten softwaredefinierbaren Prozeßsteuerroutinen werden durch den MikroProzeßor 210 ausgeführt. Der MikroProzeßor verwendet den RAM 230 zum Speichern aller Prozeßsteuerroutinen oder eines Teils dieser, während die Routinen ausgeführt werden, und auch als Speicherung für Prozeßsteuerdaten, die den Prozeßsensoren und Stellgliedern 130 zugeordnet sind. Die Beschreibung des beispielhaften digitalen Verarbeitungssystems 200 dient lediglich zur Veranschaulichung; für Fachleute ist erkennbar, daß softwaredefinierbare Prozeßsteuerroutinen, die die Prinzipien der vorliegenden Erfindung verwenden, nicht auf eine spezifische Hardwareimplementierung für das digitale Verarbeitungssystem 200 beschränkt sind, und daß alle solche Systeme in den Schutzumfang der angefügten Ansprüche fallen.
  • Um die Prinzipien der vorliegenden Erfindung zu verstehen, ist es notwendig, die zur Unterstützung der vorliegenden Erfindung notwendigen Umgebungen zu definieren. Die erste ist eine Anwendungs-Builder-Umgebung. Die Anwendungs-Builder-Umgebung liefert Dienste, die es dem Endbenutzer erlauben, Steuerstrategien zu konfigurieren und sie in die Steuerung zu laden. Die zweite Umgebung ist die Steuerung selbst. Die Steuerung empfängt Konfigurationen zum Zeitpunkt des Ladens, registriert sie bei internen Unterstützungsdiensten und führt sie zur Laufzeit aus. Für Fachleute sollte ohne weiteres erkennbar sein, daß der Anwendungs-Builder nicht unbedingt an irgendeinem bestimmten Ort verankert sein muß. Die Anwendungs-Builder-Umgebung kann in vielfältigen Überwachungsplattformen verankert sein.
  • In einer DPC, die objektorientierte Programmierung verwendet, d. h. in einer objektorientierten Steuerung, können Algorithmen und ihre zugeordneten Daten als Objekte implementiert werden, die als Blöcke bezeichnet werden. Daten in einem Block können aus benannten Attributen von Blöcken, die als Parameter bezeichnet werden, gelesen oder in diese geschrieben werden. Der Datenfluß zwischen verschiedenen Blöcken kann durch Herstellen einer Verbindung von einem Ausgangsparameter eines Blocks zu einem Eingangsparameter eines zweiten Blocks erreicht werden.
  • Steuerstrategien werden als eine Menge von Blöcken erzeugt, die jeweils einen notwendigen Bestandteil der Gesamtsteuerstrategie verkapseln. Ein Block, der als ein Steuermodul bezeichnet wird, dient als Behälter für elementarere Algorithmusblöcke und für die Verbindungen, die einen Datenfluß zwischen diesen bewirken. Der Gesamtprozeß des Erzeugens eines Steuermoduls besteht aus der Verwendung des Anwendungs-Builders zum Einfügen von Algorithmusblöcken, dem Herstellen von Verbindungen zwischen Blockparametern und dem Zuweisen von Werten zu Konfigurationsparametern. Nachdem ein Steuermodul erzeugt wurde, verwendet man Dienste des Anwendungs-Builders zum Laden dieses Steuermoduls in die Steuerung.
  • In dem Kontext der Anwendungs-Builder- und Steuerungsumgebungen wird die Aufgabe der Verwaltung der Algorithmusverarbeitungslast gleichbedeutend mit der Aufgabe des Verwaltens der Verarbeitungslast für das Steuermodul. Durch Verwendung der Prinzipien der vorliegenden Erfindung können bei vorteilhaften Ausführungsformen die Steuermodule die folgenden Konfigurationsparameter unterstützen: z. B. PERIOD; ESTWEIGHT und PHASE, wobei:
  • PERIOD die sich wiederholende Zykluszeit des Steuermoduls und aller seiner Komponentenalgorithmusblöcke festlegt. PERIOD ist auf Werte beschränkt, die Vielfache der kleinsten von der Steuerung unterstützten PERIOD sind, die zum Beispiel BASEPERIOD genannt wird.
  • ESTWEIGHT hält einen geschätzten Wert für die Ausführungszeit des Steuermoduls. Dieser Wert kann explizit durch den Endbenutzer auf der Grundlage direkter Messungen konfiguriert werden, oder, wenn er unkonfiguriert (Null) gelassen wird, wird er von dem Anwendungs-Builder auf der Grundlage eines Modells geschätzt. Die Beschaffenheit des zur Berechnung von ESTWEIGHT verwendeten Modells ist zur Beschreibung der Ausübung der vorliegenden Erfindung nicht notwendig.
  • PHASE hält einen Wert, der die Steuerung anweist, das Steuermodul in einer bestimmten Phase der gewählten PERIOD ablaufen zu lassen. Mögliche Werte von PHASE liegen z. B. zwischen 0 und (PERIOD modulo BASEPERIOD). Wenn der Endbenutzer die Last manuell ausgleichen möchte, weist der Endbenutzer dem Parameter PHASE einen spezifischen Wert zu, der in seinem zulässigen Bereich liegt. Bei einer vorteilhaften Ausführungsform läßt der Benutzer den Wert PHASE unzugewiesen (Null), wenn er wünscht, daß die Steuerung die Last automatisch ausgleichen soll.
  • Wenn ein Steuermodul in die Steuerung geladen wird, enthalten die geladenen Daten die Werte der Parameter PERIOD, ESTWEIGHT und PHASE. Die Steuerung verwendet diese Parameter als Eingaben für den Gesamtprozeß des Lastausgleichs und der Lasteinstufung. Der Parameter PHASE ist jedoch ein Schlüsselparameter dabei, wie er diese Operationen auslöst.
  • Das Konzept von PHASE hängt eng mit dem Konzept von Steuerungsausführungszyklen zusammen. Jeder Zyklus ist ein Zeitintervall der Länge BASEPERIOD, der so konfiguriert ist, daß er eine spezifische Menge von Steuermodulen ausführt. Um die Einplanung in Zyklen darzustellen, nehme man an, daß eine Steuerung eine einfache Konfiguration von Steuermodulen unterstützen soll, die durch die folgende Tabelle beschrieben wird; man nehme an, daß BASEPERIOD 50 ms beträgt.
  • Figure 00120001
  • Die in TABELLE 1 beschriebene Konfiguration weist jedem Steuermodul einen Wert von PERIOD und PHASE zu. Durch diese beiden Werte wird die Art und Weise, auf die jedes Steuermodul in dem Steuerungszyklusschema ausgeführt wird, vollständig eingeschränkt. Das resultierende Ausführungsmuster ist nachfolgend in TABELLE 2 dargestellt.
  • Figure 00120002
  • Aus den Mustern in der obigen TABELLE 2 ist ersichtlich, daß die Werte von PERIOD und PHASE zusammen vollständig bestimmen, wie ein Steuermodul in der Steuerung ausgeführt wird. PERIOD bestimmt die Wiederholungsrate und PHASE bestimmt, in welchem einer endlichen Menge verfügbarer Zyklen ein Steuermodul ausgeführt wird. Zum Beispiel hat in einer PERIOD von 200 ms CMd eine mögliche PHASE-Auswahl von 0, 1, 2 und 3. Da die gewählte PHASE 1 war, wird CMd in den Zyklen 1, 5, 9, 13 usw. ausgeführt. Steuermodule, deren Perioden der Wert BASEPERIOD zugewiesen wird, haben nur eine Möglichkeit für PHASE: 0. Da die größte Ausführungsperiode, die in dem obigen Beispiel verwendet wird, 200 ms beträgt, sind die Zyklen 0–3 den Zyklen 4–7 äquivalent. Dieses Muster wiederholt sich unendlich.
  • Die Gesamtzahl von Zyklen, die in einer Steuerung unterstützt werden kann, ist endlich. Die Gesamtzahl, die unterstützt werden kann, basiert auf dem Verhältnis der größten unterstützten Periode zu BASEPERIOD. Wenn die größe Periode eine Sekunde ist und BASEPERIOD 50 ms beträgt, gäbe es deshalb insgesamt 20 Zyklen. Die Ausübung der vorliegenden Erfindung ist mit einer beliebigen Anzahl von Verfahren zur Anordnung der Steuermodulausführung in einem Zyklus vereinbar. Zum Beispiel hätte die im Zyklus 0 gezeigte Reihenfolge (CMe, CMc, CMb und CMa) anders gewählt werden können. Die Art und Weise der Auswahl der Ausführungsreihenfolge ist für das Verständnis der vorliegenden Erfindung nicht notwendig und wird im folgenden nicht beschrieben. Obwohl sie in Zyklen angeordnet ist, sollte beachtet werden, daß die Ausführung von Steuermodulen zeitlich sequentiell stattfindet, wie in der nachfolgenden Zeitlinie dargestellt, wobei die Steuermodule einfach durch ihren Buchstabenindex angegeben sind. Die Zeit zwischen angrenzenden Zyklen dient zur Ausführung nichtperiodischer Algorithmen.
  • ZEITLINIE
    Figure 00140001
  • Nunmehr mit Bezug auf 3 ist eine Ausführungsform eines Echtzeitprozeßsteuersystems 300 gezeigt, die eine Ausführungsform einer unter Verwendung der Prinzipien der vorliegenden Erfindung in einer objektorientierten Programmierumgebung konstruierten Steuerung 330 verwendet. Das Prozeßsteuersystem 300 enthält eine Steuerung 330 mit mehreren Steuermodulen (wovon eine gezeigt und mit 340 gekennzeichnet ist). Das Steuermodul 340 enthält außerdem mehrere Algorithmusblöcke; es sind 3 Algorithmusblöcke gezeigt und als erster, zweiter und dritter Block 345, 355, 365 bezeichnet. Bei der dargestellten Ausführungsform sind der erste und der zweite Block 345, 355 an mehrere Wandler (mit der allgemeinen Kennzeichnung 370) angekoppelt oder diesen zugeordnet, wie zum Beispiel Temperatur- oder Drucksensoren, die zur Überwachung der Prozeßumgebung dienen, während der dritte Block 365 an ein Stellglied 380 angekoppelt oder diesem zugeordnet ist. Die Steuerung 330 ist außerdem an einen Anwendungs-Builder 310 angekoppelt, der eine Menge von Softwarediensten sein kann, die in einer Überwachungsworkstation ausgeführt werden. Der Anwendungs-Builder 310 ist außerdem an ein Dateneingabe- und Anzeigegerät 320, wie zum Beispiel einen herkömmlichen Computer und Monitor, der einem Endbenutzer als Mittel zur Eingabe und Überwachung von Prozeßdaten dient, angekoppelt gezeigt. Bei der dargestellten Ausführungsform enthält der Anwendungs-Builder 310 außerdem eine erste, eine zweite und eine dritte Modellkomponente 312, 314, 316, entsprechend dem ersten, zweiten bzw. dritten Block 345, 355, 365. Das Modell enthält bei einer vorteilhaften Ausführungsform Konfigurationsdaten, die den Algorithmusblocktyp, den Zählwert für jeden Blocktyp, die Algorithmusausführungszeit, den Datenflußverbindungszählwert (Eingangsparameter) und die Datenflußausführungszeit des Blocks enthalten.
  • Wie bereits beschrieben, konstruiert der Anwendungs-Builder 310 das Steuermodul 340 (das zur Durchführung der Algorithmusverarbeitung verwendet wird) unter Verwendung des ersten, des zweiten und des dritten Blocks 345, 355, 365. Der Anwendungs-Builder 310 erzeugt außerdem in dem Steuermodul 340 Verbindungen zwischen Blockparametern und weist den Prozeßkonfigurationsparametern, darunter die bereits besprochenen Parameter PERIOD, ESTWEIGHT und PHASE, Werte zu.
  • Die Aufgabe des Ausgleichens der Verarbeitungslast umfaßt das Zuweisen eines Werts von PHASE zu jedem Steuermodul 340. Die PHASE-Werte müssen so zugewiesen werden, daß jeder Zyklus ungefähr dieselbe Zeit mit der Ausführung der Steuermodule 340 verbringt. Um die Verarbeitungslast auszugleichen, sind durch den Parameter ESTWEIGHT übermittelte Informationen wesentlich. Der Parameter ESTWEIGHT bildet ein Element der Konfigurationsdaten der Steuermodule 340 und wird in der Regel in die Steuerung 330 geladen, wenn das Steuermodul 340 zuerst konfiguriert wird. Durch Summieren von ESTWEIGHT für jedes Steuermodul 340 in einem Zyklus kann die Steuerung 330 bestimmen, wieviel Ausführungszeit für diesen Zyklus erforderlich sein wird. Das relative Laden von Zyklen kann dann je nach Bedarf verglichen oder modifiziert werden.
  • Die Steuerung 330 verwendet zwar ESTWEIGHT, berechnet es aber nicht. Es kann durch eines von zwei Verfahren bestimmt werden, die beide außerhalb des Rahmens der Steuerung 330 liegen. Das erste Verfahren besteht darin, daß ESTWEIGHT von einem Endbenutzer berechnet wird. Dies kann auf der Grundlage statistischer Zeitsteuerungsdaten geschehen, die von der Steuerung 330 selbst geliefert werden. Zum Beispiel kann die Steuerung 330 Meßwerte der Zyklusausführungszeit oder der Ausführungszeit des Steuermoduls 340 angeben, aus denen ein Endbenutzer einen Wert für ESTWEIGHT formulieren könnte. Sobald er erhalten wurde, kann der Wert ESTWEIGHT dann mit einer Builder-Konfigurationsschnittstelle (Dateneingabe- und Anzeigegerät 320) an das Steuermodul 340 angeknüpft werden.
  • Die Entwicklung eines Werts für ESTWEIGHT kann relativ aufwendig sein. Dieser Aufwand ist jedoch nur so oft erforderlich, wie einzigartige Konfigurationen des Steuermoduls 340 erzeugt werden. Für Fachleute ist erkennbar, daß bei Prozeßsteuerkonfigurationen häufig mehrere Kopien identisch konfigurierter Steuermodule 340 auftreten. In diesen Fällen kann für alle Kopien identisch konfigurierter Steuermodule 340 derselbe Wert von ESTWEIGHT verwendet werden.
  • Das zweite Verfahren zur Berechnung von ESTWEIGHT besteht darin, daß der Builder 310 ein mathematisches Modell der Ausführungszeiten des Steuermoduls 340 verwendet. Die Beschaffenheit des verwendeten mathematischen Modells ist für ein Verständnis der vorliegenden Erfindung nicht notwendig. Es muß nur die Anforderung erfüllen, daß das mathematische Modell auf der Grundlage der Konfigurationseigenschaften des Steuermoduls 340 eine relativ genaue Schätzung der Ausführungszeit berechnet. Ein ausreichendes Modell könnte zum Beispiel ein System linearer Gleichungen sein, das ESTWEIGHT berechnet, indem die typische Ausführungszeit für jede Art von Komponentenalgorithmusblock, die typische Verbindungsausführungszeit für einen Eingangsparameter jedes Komponentenalgorithmusblocks und die Overhead-Ausführungszeit für das Steuermodul 340 selbst bekannt sind.
  • Die vorliegende Erfindung zieht Mittel in Betracht, durch die der Endbenutzer angeben kann, ob der Endbenutzer einen Wert für ESTWEIGHT eingeben möchte, oder ob der Builder 310 automatisch eine Schätzung berechnen soll. Der Endbenutzer kann dies zum Beispiel dadurch erreichen, daß er ESTWEIGHT auf einem Nullwert läßt, um anzugeben, daß die automatische Berechnung erforderlich ist, oder daß er es auf einen von Null verschiedenen Wert einstellt, wenn automatische Berechnung gesperrt werden soll.
  • Nach der Erzeugung des Steuermoduls 340 lädt der Anwendungs-Builder 310 unter Verwendung herkömmlicher, in der Technik wohlbekannter Techniken Konfigurationsdaten für das Steuermodul 340 in die Steuerung 330.
  • Wenn eine Konfiguration des Steuermoduls 340 in die Steuerung 330 geladen wird, richtet sich der Lastausgleichsalgorithmus nach dem Wert von PHASE; PHASE ist entweder Null oder von Null verschieden (nicht zu verwechseln mit den Null- und Nicht-Null-Werten von ESTWEIGHT). Ein von Null verschiedener Wert von PHASE gibt an, daß der Endbenutzer den automatischen Ausgleichsprozeß, der ansonsten von der Steuerung 330 durchgeführt würde, übersteuern will. Wenn der Endbenutzer direkt steuern will, auf welcher Menge von Zyklen ein Steuermodul 340 ausgeführt werden wird, kann der Endbenutzer direkt den gewünschten PHASE-Wert zuweisen. Zum Beispiel könnte der Endbenutzer zugewiesen haben, daß das in der obigen TABELLE 2 referenzierte CMd in Phase 1 ausgeführt wird.
  • Wenn der empfangene PHASE-Wert Null ist, interpretiert die Steuerung 330 dies als Anzeige, daß ein automatischer Lastausgleich gewünscht ist und setzt die Operationen fort, die im folgenden beschrieben werden. Es wird angemerkt, daß, gleichgültig, welches Verfahren zur Bestimmung des PHASE-Werts verwendet wird, der PHASE-Wert weiteren Validierungsprüfungen unterzogen werden kann, bevor er von der Steuerung 330 angenommen wird (was ebenfalls später beschrieben werden wird).
  • Außerdem ist zu beachten, daß die Verwendung von Null- und Nicht-Null-Werten für PHASE, um anzugeben, wann automatischer Lastausgleich angefordert wird, lediglich eine Kovention ist. Andere Verfahren zur Anzeige dieser Unterscheidung können verwendet werden und liegen in dem allgemeinen Schutzumfang der vorliegenden Erfindung.
  • Wenn die Steuerung 330 bestimmt, daß der geladene Wert von PHASE Null ist, d. h. daß der Endbenutzer keinen Wert vorgewählt hat, weist die Steuerung 330 PHASE einen Kandidatenwert zu. Ein beispielhafter Algorithmus zum Zuweisen eines Werts zu PHASE ist in Tabelle 3 dargelegt. Der Nettoeffekt dieses Algorithmus ist die Auswahl eines PHASE-Werts, der die Last zu einer bestimmten Menge von Zyklen mit der kleinsten Maximallast hinzufügt. Bei einer vorteilhaften Ausführungsform können die einzelnen Steueralgorithmen in dem Steuermodul 340 konfiguriert, geladen und ausgeglichen werden, ohne den Betrieb anderer Steueralgorithmen zu unterbrechen.
  • Figure 00190001
  • Nachdem der Parameter PHASE bestimmt wurde, entweder als das Ergebnis der Lastausgleichsauswahl, d. h. des in Tabelle 3 beschriebenen Prozeßes, oder als explizite Konfiguration durch den Endbenutzer, kann die Steuerung 330 bei einer vorteilhaften Ausführungsform eine Einstufungsprüfung durchführen. Ein beispielhafter Einstufungsprüfalgorithmus ist in Tabelle 4 dargestellt.
  • Figure 00200001
  • Es sollte beachtet werden, daß die Einstufungsprüfung für die Ausübung der vorliegenden Erfindung nicht notwendig ist und weggelassen werden kann. Wenn die Einstufungsprüfung verwendet wird, kann die entsprechende Maßnahme („appropriate action") in Tabelle 4 im Fall einer vorhergesagten Zyklusüberlastung abhängig von der Entwurfsphilosophie der Steuerung 330 unterschiedlich sein. Mögliche Maßnahmen sind zum Beispiel ein Zurückweisen der Last des Steuermoduls 340 oder eine Annahme der Last des Steuermoduls 340, wobei dem Endbenutzer unter Verwendung des Dateneingabe- und Anzeigegeräts 320 eine Warnung angezeigt wird.
  • Nachdem das Steuermodul 340 akzeptiert und in die Steuerung 330 geladen wurde, weist die Steuerung 330 PHASE einen Wert zu und aktualisiert ihren Datensatz des Gesamtgewichts für jeden Zyklus unter Verwendung eines in Tabelle 5 dargelegten beispielhaften Prozeßes. Der Prozeß in Tabelle 5 führt diesen Datensatz in einem Array mit dem Namen CycleWeight.
  • Figure 00210001
  • Nunmehr mit Bezug auf 4 ist ein beispielhaftes Interaktionsdiagramm 400 gezeigt, das zusammenfaßt, wie verschiedene Subsysteme in der vorliegenden Erfindung in Wechselwirkung treten. Das Interaktionsdiagramm 400 enthält die folgenden Objekte: einen Benutzer 410, eine Builder-Bedienerschnittstelle 420, ein Steuermodulausführungszeitmodell 430, eine Steuerungskommunikationsschnittstelle 440 und einen Lastmanager 450.
  • Der Benutzer 410 entspricht einem Endbenutzer, der ein Steuermodul mit dem Namen CMa konfiguriert. Die Builder-Bedienerschnittstelle 420 entspricht einem Computer (analog dem in 3 dargestellten Dateneingabe- und Anzeigegerät 320), durch den der Benutzer 410 seine Konfigurationsspezifikationen in den Builder eingibt. Das Steuermodulausführungszeitmodell 430 entspricht der Intelligenz in dem Builder, die ein Modell davon hält, wie Steuermodulausführungszeiten aus bekannten Konfigurationsdaten berechnet werden können. Die Builder-Bedienerschnittstelle 420 und das Steuermodulausführungszeitmodell 430 können beide als Teil des Builders angesehen werden. Die Steuerungskommunikationsschnittstelle 440 entspricht dem Subsystem in der Steuerung, das mit dem Anwendungs-Builder kommuniziert, und der Lastmanager 450 kann als das Subsystem in der Steuerung angesehen werden, das die Steuermodulverarbeitungslast verwaltet.
  • Das Interaktionsdiagramm 400 zeigt eine Nachrichtensequenz zwischen Subsystemen zum Zeitpunkt des Konfigurierens und Ladens eines Steuermoduls. Der Prozeß beginnt mit einer Menge von Interaktionen zwischen dem Benutzer 410 und dem Builder 420, bei der der Benutzer 410 Konfigurationsdaten eingibt und nach Abschluß der Eingabe ein Laden befiehlt. Der Ladebefehl des Benutzers 410 bewirkt, daß der Builder 420 auf das Modell 430 zugreift und dann das Laden in die Steuerungskommunikationsschnittstelle 440 einleitet. Der Lastmanager 450 in der Steuerung empfängt die Lastdaten aus der Steuerungskommunikationsschnittstelle 440 und verarbeitet die empfangenen Daten. Der Lastmanager 450 löst dann die Ausführung des zuvor beschriebenen Pseudocodes aus. Weitere Informationen darüber, wie Diagramme des in 4 dargestellten Typs zu lesen sind, findet man in „Object Oriented Analysis and Design with Applications" von Grady Booch, Benjamin/Cummings (1994), worauf hiermit ausdrücklich Bezug genommen wird.
  • Aus dem Obigen ist ersichtlich, daß es durch die vorliegende Erfindung möglich wird, daß der Lastausgleich durch Verwendung einer modellberechneten Ausführungszeit oder durch Verwendung einer direkt durch den Endbenutzer gemessenen Ausführungszeit stattfindet. Die Modellberechnung verwendet Daten, die sich mit dem Typ und Zählwert von Algorithmusblöcken und mit dem Zählwert von Datenflußverbindungen ändern können. Außerdem ist es durch die vorliegende Erfindung möglich, daß eine vom Benutzer gemessene Ausführungszeit in dem Steueralgorithmus erfaßt und repliziert wird, wenn neue Kopien dieses Algorithmus erzeugt werden. Zusätzlich wird es durch die vorliegende Erfindung möglich, daß der Ausgleich automatisch bei der Konfiguration des Steueralgorithmus oder manuell bei der Auswahl des Endbenutzers stattfindet. Außerdem ermöglicht die vorliegende Erfindung die Konfiguration neuer Steueralgorithmen, die auf potentielle Überlastung geprüft und ausgeglichen werden, ohne daß es notwendig ist, andere in der Steuerung ablaufende Algorithmen herunterzufahren.
  • Die vorliegende Erfindung gibt dem Endbenutzer die Vorteile der Flexibilität, der Bestimmtheit und der Benutzbarkeit in derselben Steuerung. Flexibilität wird durch mehrere Period-Wahlmöglichkeiten und die Möglichkeit zum Wählen eines manuellen oder automatischen Ausgleichs bereitgestellt. Bestimmtheit wird durch die Zyklus- und Phasenstruktur des Entwurfs bereitgestellt. Bei einer Ausführungsform der vorliegenden Erfindung werden, sobald eine Phase in einer Steuerung zugewiesen wurde, die Algorithmen in einem schmalen periodischen Zeitband ausgeführt. Benutzbarkeit wird dadurch bereitgestellt, daß es möglich ist, daß Konfigurationen für eine Last eingestuft und ausgeglichen werden, ohne daß die gesamte Steuerung heruntergefahren werden muß; durch die Möglichkeit, gegebenenfalls einen manuellen Lastausgleich zu vermeiden; und durch die Möglichkeit, einer bestimmten Steuerkonfiguration eine gemessene Ausführungszeit zuzuordnen.

Claims (11)

  1. System (100) zur Verwendung in einer digitalen Prozeßsteuerung (DPC) (121) zum Ausgleichen der Steueralgorithmus-Verarbeitungslast der DPC und zum Verteilen der Last über ein gegebenes Zeitintervall, wobei das System durch folgendes gekennzeichnet ist: ein Modell (430) zum Abschätzen der Ausführungszeit mindestens eines Steueralgorithmus (345, 355, 365) auf der Grundlage von Konfigurationsdaten bezüglich des mindestens einen Steueralgorithmus, wobei das System der DPC ermöglicht, die Steueralgorithmus-Prozeßorlast auf der Grundlage der Abschätzung auszugleichen und zu verteilen; und einen dem Modell zugeordneten Dateneingabeprozeß (420), durch den es möglich wird, dem mindestens einen Steueralgorithmus eine empirisch bestimmte Ausführungszeit zuzuordnen, wodurch die DPC bei der Konfiguration die Steueralgorithmus-Prozeßorlast auf der Grundlage der Ausführungszeit, anstatt der Abschätzung, ausgleicht und verteilt.
  2. System nach Anspruch 1, wobei es der Dateneingabeprozeß der DPC (121) ermöglicht, die Last zu einer vom Benutzer konfigurierbaren Zeit auszugleichen und zu verteilen, und es das Modell (430) ermöglicht, ohne Unterbrechung des Betriebs anderer Steueralgorithmen den mindestens einen Steueralgorithmus (345, 355, 365) zu konfigurieren und die Last auszugleichen und zu verteilen.
  3. System nach Anspruch 1, wobei wählbar entweder die Abschätzung oder die Zeit in dem Modell für jede Instanz des mindestens einen Steueralgorithmus (345, 355, 365) repliziert wird.
  4. System nach Anspruch 1, wobei die Konfigurationsdaten folgendes enthalten: einen Algorithmustyp, eine Algorithmus-Ausführungszeit, einen Algorithmus-Blockzählwert, einen Datenflußverbindungszählwert, und der mindestens eine Steueralgorithmus (345, 355, 365) einen Teil eines Steuermoduls (CMa) bildet, das Konfigurationsparameter aufweist, die aus der folgenden Gruppe ausgewählt werden: Periode, geschätztes Gewicht und Phase.
  5. System nach Anspruch 1, wobei das Modell (430) einem Benutzer eine tatsächliche Ausführungszeit des mindestens einen Steueralgorithmus (345, 355, 365) angeben kann.
  6. System nach Anspruch 1, umfassend: mehrere Sensoren (130) und steuerbare Einrichtungen; eine an die mehreren Sensoren und steuerbaren Einrichtungen angekoppelte digitale Prozeßsteuerung (DPC) (121), die Steueralgorithmen ausführen kann, um gemessene Daten von den mehreren Sensoren zu empfangen und den mehreren steuerbaren Einrichtungen Steuerdaten zuzuführen.
  7. Verfahren zur Verwendung in einer digitalen Prozeßsteuerung (DPC) (121) zum Ausgleichen der Steueralgorithmus-Verarbeitungslast der DPC und zum Verteilen der Last über ein gegebenes Zeitintervall, gekennzeichnet durch die folgenden Schritte: Initialisieren eines Modells (430), das eine Ausführungszeit mindestens eines Steueralgorithmus (345, 355, 365) auf der Grundlage von Konfigurationsdaten bezüglich des mindestens einen Steueralgorithmus abschätzt, wobei es das Verfahren der DPC ermöglicht, die Last auf der Grundlage der Abschätzung auszugleichen und zu verteilen; Ermöglichen, daß dem mindestens einen Steueralgorithmus eine empirisch bestimmte Ausführungszeit zugeordnet wird, und Ausgleichen und Verteilen der Steueralgorithmus-Verarbeitungslast auf der Grundlage der Ausführungszeit, anstatt der Abschätzung, bei der Konfiguration.
  8. Verfahren nach Anspruch 7, wobei der Schritt des Ausgleichens und Verteilens zu einer vom Benutzer konfigurierbaren Zeit ausgeführt wird und der Schritt des Ausgleichens und Verteilens ausgeführt wird, ohne den Betrieb anderer Steueralgorithmen (345, 355, 365) zu unterbrechen.
  9. Verfahren nach Anspruch 7, weiterhin mit dem Schritt des Replizierens wählbar entweder der Abschätzung oder der Zeit in dem Algorithmus-Modell für jede Instanz des mindestens einen Steueralgorithmus (345, 355, 365).
  10. Verfahren nach Anspruch 7, wobei die Konfigurationsdaten folgendes enthalten: einen Algorithmustyp, eine Algorithmus-Ausführungszeit, einen Algorithmus-Blockzählwert, einen Datenflußverbindungszählwert, und der mindestens eine Steueralgorithmus (345, 355, 365) einen Teil eines Steuermoduls (CMa) bildet, das Konfigurationsparameter aufweist, die aus der folgenden Gruppe ausgewählt werden: Periode, geschätztes Gewicht und Phase.
  11. Verfahren nach Anspruch 7, bei dem weiterhin einem Benutzer eine tatsächliche Ausführungszeit des mindestens einen Steueralgorithmus (345, 355, 365) angegeben wird.
DE69911986T 1998-09-09 1999-08-09 Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten Expired - Lifetime DE69911986T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/150,153 US6269274B1 (en) 1998-09-09 1998-09-09 System and method for balancing and distributing control algorithm processing load and real time plant control system employing the same
US150153 1998-09-09
PCT/US1999/017927 WO2000014611A1 (en) 1998-09-09 1999-08-09 System and method for balancing and distributing control algorithm loads

Publications (2)

Publication Number Publication Date
DE69911986D1 DE69911986D1 (de) 2003-11-13
DE69911986T2 true DE69911986T2 (de) 2004-09-02

Family

ID=22533324

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69911986T Expired - Lifetime DE69911986T2 (de) 1998-09-09 1999-08-09 Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten

Country Status (6)

Country Link
US (1) US6269274B1 (de)
EP (1) EP1121625B1 (de)
JP (1) JP2003523546A (de)
CA (1) CA2343233C (de)
DE (1) DE69911986T2 (de)
WO (1) WO2000014611A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3751466B2 (ja) * 1999-03-26 2006-03-01 沖電気工業株式会社 プログラム応答時間予測装置
US6522934B1 (en) * 1999-07-02 2003-02-18 Fisher-Rosemount Systems, Inc. Dynamic unit selection in a process control system
US6901300B2 (en) * 2002-02-07 2005-05-31 Fisher-Rosemount Systems, Inc.. Adaptation of advanced process control blocks in response to variable process delay
EP1420309A3 (de) * 2002-11-02 2006-04-12 Mannesmann Plastics Machinery GmbH Steuerungssystem für Kunststoff verarbeitende Maschine
US7149605B2 (en) * 2003-06-13 2006-12-12 Battelle Memorial Institute Electrical power distribution control methods, electrical energy demand monitoring methods, and power management devices
US7010363B2 (en) * 2003-06-13 2006-03-07 Battelle Memorial Institute Electrical appliance energy consumption control methods and electrical energy consumption systems
US20050010595A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database
US7770173B2 (en) * 2005-02-03 2010-08-03 International Business Machines Corporation System for dynamic processor enablement
US7451004B2 (en) * 2005-09-30 2008-11-11 Fisher-Rosemount Systems, Inc. On-line adaptive model predictive control in a process control system
US7444191B2 (en) 2005-10-04 2008-10-28 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
US7738975B2 (en) * 2005-10-04 2010-06-15 Fisher-Rosemount Systems, Inc. Analytical server integrated in a process control network
US20080311836A1 (en) * 2007-06-13 2008-12-18 Honda Motor Co., Ltd. Intelligent air conditioning system for a paint booth
FI126366B (fi) * 2008-12-19 2016-10-31 Valmet Technologies Oy Soodakattilalaitoksen lipeäruiskujen käsittelylaite, soodakattilalaitos sekä menetelmä soodakattilassa
US8183826B2 (en) 2009-05-15 2012-05-22 Battelle Memorial Institute Battery charging control methods, electric vehicle charging methods, battery charging apparatuses and rechargeable battery systems
US8478452B2 (en) 2010-04-06 2013-07-02 Battelle Memorial Institute Grid regulation services for energy storage devices based on grid frequency
US8590801B2 (en) 2010-06-22 2013-11-26 Honda Motor Co., Ltd. Cascading set point burner control system for paint spray booths
US20120095605A1 (en) 2011-09-17 2012-04-19 Tran Bao Q Smart building systems and methods
US8359750B2 (en) 2011-12-28 2013-01-29 Tran Bao Q Smart building systems and methods
US9372478B2 (en) 2012-01-04 2016-06-21 General Electric Company Control system for a power application

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471622A (en) * 1989-10-04 1995-11-28 Paralogic, Inc. Run-time system having nodes for identifying parallel tasks in a logic program and searching for available nodes to execute the parallel tasks
US5701482A (en) 1993-09-03 1997-12-23 Hughes Aircraft Company Modular array processor architecture having a plurality of interconnected load-balanced parallel processing nodes
JP3658420B2 (ja) * 1994-04-14 2005-06-08 株式会社日立製作所 分散処理システム
US5901058A (en) 1997-08-22 1999-05-04 Honeywell Inc. System and methods for achieving heterogeneous data flow between algorithm blocks in a distributed control system
US6076174A (en) * 1998-02-19 2000-06-13 United States Of America Scheduling framework for a heterogeneous computer network
US6104962A (en) * 1998-03-26 2000-08-15 Rockwell Technologies, Llc System for and method of allocating processing tasks of a control program configured to control a distributed control system

Also Published As

Publication number Publication date
CA2343233A1 (en) 2000-03-16
DE69911986D1 (de) 2003-11-13
US6269274B1 (en) 2001-07-31
CA2343233C (en) 2007-11-27
JP2003523546A (ja) 2003-08-05
EP1121625A1 (de) 2001-08-08
EP1121625B1 (de) 2003-10-08
WO2000014611A1 (en) 2000-03-16

Similar Documents

Publication Publication Date Title
DE69911986T2 (de) Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten
DE69835017T2 (de) Vorrichtung und verfahren zur ermöglichung eines verschiedenartigen datenflusses zwischen algorithmenblöcken in einem verteilten steuerungssystem
DE69217032T2 (de) Steuerungssystem für verteilte Sensoren und Stellglieder
DE10147115B4 (de) Verwendung von entfernt gelegenen Softphasen in einem Prozeßsteuerungssystem
DE19717716C5 (de) Verfahren zur automatischen Diagnose technischer Systeme
DE112006000421T5 (de) System und Verfahren zum Simulieren einer Gruppe vernetzter speicherprogrammierbarer Steuerungen
WO2017114883A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE102018110018A1 (de) Verfahren zum Bereitstellen eines integrierten Prozesses für die Steuergerätentwicklung und Simulationsvorrichtung für die Steuergerätentwicklung
EP1092210B1 (de) Vorrichtung und verfahren zur erstellung eines virtuellen anlagenmodells
WO1997040442A1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
DE69724270T2 (de) Verfahren und vorrichtung zur feststellung der anzahl von zugeteilten zugriffen während der latenz des schlechtesten falles
EP3508928A1 (de) Verfahren zum verarbeiten von alarmen in einem prozessleitsystem sowie operator-system
EP1561172B1 (de) Vorrichtung zur bereitstellung eines zugriffs auf daten
EP1159655B1 (de) Automatisierungssystem mit aus modulkomponenten bestehenden automatisierungsobjekten
WO2002067151A1 (de) Konfigurator
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
EP0838796A2 (de) Daten- bzw. Informationsübertragungssystem
DE102010043405A1 (de) Verfahren und System zur Planung mechatronischer Systeme mit Mechatronikeinheiten
EP3602964B1 (de) Verfahren zur übertragung analyserelevanter daten, sender und system
WO2023237205A1 (de) Computer-implementiertes verfahren und system zur anomalie-erkennung beim betrieb eines technischen geräts
DE102015112871A1 (de) Verfahren zur Gesamtnetzwerkanalyse
EP4357997A1 (de) Verfahren zum ermitteln einer fertigungsreihenfolge von fertigungsaufträgen einer fertigungsanlage, fertigungsanlage-system, computerprogramm sowie elektronisch lesbarer datenträger
EP1618726B1 (de) Automatisierungssystem mit automatischer bereitstellung von diagnoseinformationen
DE102022209953A1 (de) Verfahren zum Ermitteln einer optimalen Route zur Herstellung eines Produkts entlang einer wenigstens eine Prozessstation aufweisenden Produktionslinie
WO2020193023A1 (de) Kombinatorik von digitalen ausgangsdaten zur autonomen ermittlung von prozesszyklen und von einzelnen prozessschritten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition