DE10012249A1 - Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem - Google Patents

Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem

Info

Publication number
DE10012249A1
DE10012249A1 DE10012249A DE10012249A DE10012249A1 DE 10012249 A1 DE10012249 A1 DE 10012249A1 DE 10012249 A DE10012249 A DE 10012249A DE 10012249 A DE10012249 A DE 10012249A DE 10012249 A1 DE10012249 A1 DE 10012249A1
Authority
DE
Germany
Prior art keywords
function block
processor
modification
basic
process control
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.)
Ceased
Application number
DE10012249A
Other languages
English (en)
Inventor
Terrence L Blevins
Dennis L Stevenson
Mark J Nixon
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.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems 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 Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE10012249A1 publication Critical patent/DE10012249A1/de
Ceased 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Ein Modifikationsfunktionsblock (54) zur Verwendung in Prozeßsteuerungsroutinen enthält eine Reihe von prozessorimplementierbaren Anweisungen (58), die bedingt die Funktionalität eines zur Prozeßsteuerungsroutine gehörigen Basisfunktionsblocks (52) erweitern oder ändern. Der Basisfunktionsblock (52) beinhaltet einen rücksetzbaren Verzweigungspunkt (56, 57) in einem Satz von Anweisungen (55) zur Durchführung einer prozeßsteuerungsbezogenen Operation. Der Verzweigungspunkt (56, 57) des Basisfunktionsblocks (52) hat einen Zeiger, der, wenn er auf einen ersten Wert gesetzt ist, veranlaßt, daß eine weitere Anweisung aus dem Satz von Anweisungen (55) im Basisfunktionsblock (52) ausgeführt wird (um dadurch die Ausführung des Modifikationsfunktionsblocks (54) zu umgehen), und der, wenn er auf einen zweiten Wert gesetzt wird, veranlaßt, daß die Reihe von Anweisungen (58) im Modifikationsfunktionsblock (54) ausgeführt wird (um dadurch die Funktionalität des Basisfunktionsblocks (52) zu verändern). Der Modifikationsfunktionsblock (54) kann somit bedingungsweise aufgerufen werden, abhängig vom Zustand des Basisfunktionsblocks (52), um den Betrieb des Basisfunktionsblocks (52) zu ändern, oder um alternativ die Funktionalität des Basisfunktionsblocks (52) unverändert zu belassen.

Description

Die vorliegende Erfindung bezieht sich allgemein auf Prozeß­ steuerungsnetzwerke und insbesondere auf eine Einrichtung und ein Verfahren zur Erweiterung der Fähigkeit von Funktionsblock­ elementen in einer Prozeßsteuerungsumgebung.
Prozeßsteuerungsnetzwerke, wie sie z. B. in chemischen, petro­ chemischen oder anderen Prozessen verwendet werden, umfassen allgemein eine zentrale Prozeßsteuerung, die kommunikativ mit einem oder mehreren Feldvorrichtungen verbunden ist, wie Ventilstellungsregler, Schalter, Sensoren (wie z. B. Temperatur-, Druck- und Durchflußsensoren) usw. Diese Feldvorrichtungen können physikalische Steuerungsfunktionen innerhalb des Prozesses ausführen (wie z. B. Öffnen oder Schließen eines Ventils), Messungen innerhalb des Prozesses zum Gebrauch in der Steuerung des Prozeßablaufs durchführen oder jede andere gewünschte Funktion im Prozeß ausführen. Prozeßsteuerungen sind früher über eine oder mehrere analoge Signalleitungen oder Busse, die z. B. 4-20 mA-(Milliampere)-Signale von und zu den Feldvorrichtungen führen können, mit den Feldvorrichtungen verbunden. Im allgemeinen erhält die Prozeßsteuerung Signale, die Messungen, die von einem oder mehreren Feldvorrichtungen stammen, repräsentieren und/oder andere zu Feldvorrichtungen gehörige Informationen, nutzt diese Informationen zur Implementierung einer typischen komplexen Steuerungsroutine und generiert dann Steuersignale, die über die analogen Signalbusse zu den Feldvorrichtungen geschickt werden, um dadurch den Ablauf des Prozesses zu steuern.
Seit kurzem besteht in der Prozeßsteuerungsindustrie die Ten­ denz, innerhalb der Prozeßsteuerungsumgebung feldbasierte digitale Steuerung und Kommunikation zu implementieren. Die Prozeßsteuerungsindustrie hat z. B. eine Anzahl von offenen digitalen oder kombiniert digitalen und analogen Standardüber­ tragungsprotokollen entwickelt wie z. B. die HART®, PROFIBUS®, WORLDFIP®, Device-Net® und CAN® Protokolle. Diese digitalen Übertragungsprotokolle ermöglichen es, mehrere Feldvorrichtungen mit einen bestimmten Bus zu verbinden, unterstützen mehr und schnellere Übertragungen zwischen den Feldvorrichtungen und dem Steuerungsgerät und/oder gestatten es den Feldvorrichtungen, mehr und unterschiedliche Typen von Informationen wie Informationen, die zum Status und der Konfiguration der Feldvorrichtung selbst gehörten, an die Prozeßsteuerungseinrichtung zu senden. Darüber hinaus ermöglichen diese digitalen Standardprotokolle die gemeinsame Nutzung von Feldvorrichtungen unterschiedlicher Hersteller im selben Prozeßsteuerungsnetzwerk.
Innerhalb der Prozeßsteuerungsindustrie gibt es jetzt auch eine Tendenz, die Prozeßsteuerung zu dezentralisieren und dadurch die Prozeßsteuerungseinrichtung zu vereinfachen. Dezentrale Steuerung entsteht durch im Feld montierte Prozeßsteuerungs­ geräte wie z. B. Ventilstellungsregler, Meßwertumformer etc., die eine oder mehrere Prozeßsteuerungsfunktionen mit sogenannten Funktionsblöcken ausführen, und dann bei der Ausführung anderer Steuerungsfunktionen Daten zur Nutzung in anderen Prozeßsteuerungseinrichtungen (oder Funktionsblöcken) über eine Busstruktur austauschen. Jede Prozeßsteuerungs­ einrichtung verfügt zur Implementierung dieser Steu­ erungsfunktionen über einen Mikroprozessor, der sowohl die Fähigkeit hat, eine oder mehrere Funktionsblöcke zu implemen­ tieren, als auch die Fähigkeit, mit anderen Prozeßsteuerungs­ einrichtungen mittels offenen Standardübertragungsprotokollen zu kommunizieren. Feldvorrichtungen können in dieser Art innerhalb eines Netzwerks zur Prozeßsteuerung auf eine solche Weise miteinander verbunden werden, daß sie miteinander kommunizieren und eine oder mehrere Prozeßsteuerungsfunktionen auszuführen, die ohne einen Eingriff eines zentralen Steuerungsgerätes einen Regelkreis bilden. Das rein digitale Zweidraht-Busprotokoll, das jetzt von der Fieldbus Foundation verbreitet wird und als das Foundation™ Fieldbus Protokoll (ab hier "Feldbus" genannt) bekannt ist, ist ein offenes Übertragungsprotokoll, das es Einrichtungen, die von unterschiedlichen Herstellern stammen, die Zusammenarbeit und den Datenaustausch miteinander über den Standardbus gestattet, um die dezentrale Steuerung innerhalb eines Prozesses zu bewir­ ken.
Wie oben erwähnt, verwenden einige dieser Übertragungs­ protokolle sowie einige Protokolle für Steuerungseinrichtungen zur Implementierung oder Durchführung von Prozeßsteuerungen (wie z. B. proprietäre Protokolle für Steuerungseinrichtungen) einen Basisbaustein, der typischerweise Funktionsblock genannt wird, um spezifische Teile von Steuerungsroutinen oder Übertragungsroutinen zu implementieren. Das Feldbusprotokoll definiert z. B. zahlreiche Funktionsblöcke, die Eingabefunktionen (um z. B. den Ausgang von Sensoren aufzu­ nehmen), Steuerungsfunktionen (wie z. B. einen Proportional- Integral (PI) oder einen Proportional-Integral-Differential (PID)-Regelalgorithmus zu implementieren), Ausgangsfunktionen (wie z. B. Ansteuern eines Ventilsteuerungsgerätes zum Öffnen oder Schließen eines Ventils) oder andere Funktionen innerhalb eines Prozeßsteuerungsnetzwerkes durchführen. Während diese Funktionsblöcke zunächst erzeugt und wie gewünscht geändert werden können, um unterschiedliche Funktionen innerhalb eines Prozeßsteuerungssystems auszuführen, sind Funktionsblöcke von Natur aus im allgemeinen statisch, nachdem sie einmal kompiliert und mit einer Steuerungseinrichtung oder einer Kommunikationsumgebung verbunden worden sind. Die Aufrüstung oder die Steigerung der Fähigkeiten eines installierten Funktionsblocks, um zusätzliche oder geänderte Funktionen durchzuführen, erfordert vom Operator einen neuen Funktionsblock mit den erweiterten Fähigkeiten zu erzeugen und den neuen Funktionsblock in der Steuerungseinrichtung oder der Kommunikationsumgebung neu zu kompilieren, was zeitraubend sein kann und es erforderlich machen kann, den Prozeß oder Teile des Prozesses außer Betrieb zu nehmen. Weiterhin ist es schwierig, bedingte Fähigkeiten bereitzustellen. Das heißt, Funktions­ blöcke müssen typischerweise innerhalb einer Prozeßsteuerung oder einer Kommunikationsumgebung so kompiliert werden, daß sie alle Fähigkeiten, die jemals in einem Funktionsblock benutzt werden, beinhalten, sogar wenn einige der Fähigkeiten für einen bestimmten Zweck nicht benötigt oder nur selten verwendet wer­ den. Ein Beispiel dafür ist, Anpassungsfähigkeiten innerhalb eines Funktionsblocks bereitzustellen, der eine PI- oder PID- Regelung durchführt. Ein Hersteller muß derzeit, wenn er Anpas­ sungsfähigkeiten für einen PI- oder PID-Reglerfunktionsblock bereitstellen will, von Anfang an solche Anpassungsfähigkeiten in den PI- oder PID-Reglerfunktionsblock einbeziehen, bevor er dem Nutzer einen solchen Reglerbaustein zur Verfügung stellt. Danach müssen diese Anpassungsfähigkeiten immer dann zusammen mit dem PI- oder PID-Reglerbaustein kompiliert und installiert werden, wenn dieser Reglerbaustein vewendet wird, auch dann, wenn der Nutzer die Selbstanpassungsfähigkeiten des Reglerbau­ steins nicht braucht oder will. In einem solchen Fall bean­ sprucht die hinzugefügte Funktionalität des Anpassens nur Gemeinkosten und Rechenzeit in der installierten Routine.
Ein Modifikationsfunktionsblock zur Verwendung in Prozeß­ steuerungsroutinen enthält eine Reihe prozessorimplemen­ tierbarer Anweisungen, die bedingt die Funktionalität eines zur Prozeßsteuerungsroutine gehörigen Basisfunktionsblocks erweitern oder ändern. Der Basisfunktionsblock beinhaltet einen rücksetzbaren Verzweigungspunkt in einem Satz von Anweisungen zur Durchführung einer prozeßsteuerungbezogenen Operation. Der Verzweigungspunkt des Basisfunktionsblocks hat einen Zeiger, der wenn er auf einen ersten Wert gesetzt ist, veranlaßt, daß eine weitere Anweisung aus dem Satz von Anweisungen im Basisfunktionsblock ausgeführt wird (um dadurch die Ausführung des Modifikationsfunktionsblocks zu umgehen) und der, wenn er auf einen zweiten Wert gesetzt wird, veranlaßt, daß die Reihe von Anweisungen im Modifikationsfunktionsblock ausgeführt wird (um dadurch die Funktionalität des Basisfunktionsblocks zu verändern). Der Modifikationsfunktionsblock kann somit bedingungsweise aufgerufen werden, abhängig vom Zustand des Basisfunktionsblocks, um den Betrieb des Basisfunktionsblocks zu ändern oder um alternativ die Funktionalität des Basis­ funktionsblocks unverändert zu belassen.
Der Modifikationsfunktionsblock kann eine Schnittstelle enthal­ ten, die die dem Basisfunktionsblock zugeordneten Daten defi­ niert, die vom Modifikationsfunktionsblock zu verwenden sind und die auch eine Rücksprunganweisung beinhalten kann, die die Kontrolle über den Prozessor an den Satz von Anweisungen im Basisfunktionsblock: zurückgibt, wenn jede Anweisung der Reihe von Anweisungen im Modifikationsfunktionsblock ausgeführt worden ist.
Fig. 1 ist ein schematisches Blockschaltbild eines Netzwerks zur Prozeßsteuerung;
Fig. 2 ist ein schematisches Blockschaltbild eines Modifikationsfunktionsblocks, der in Verbindung mit einem Basisfunktionsblock in einer Prozeßsteuerungsumgebung benutzt wird; und
Fig. 3 ist ein schematisches Blockschaltbild eines Prozeßregel­ kreises mit einem Modifikationsfunktionsblock zur Implementie­ rung von Selbstanpassungsfunktionen für einen Basis-PID-Funk­ tionsblock.
Wie aus Fig. 1 ersichtlich, beinhaltet ein Netzwerk zur Prozeß­ steuerung 10 eine zentrale Prozeßsteuerungseinrichtung 12, die in der Lage ist, eine darin gespeicherte Prozeßsteuerungsroutine zu implementieren, und/oder in der Lage ist, mit Steuerungselementen in Feldvorrichtungen wie Funktionsblöcken zu kommunizieren, die über das Prozeßsteuerungsnetzwerk 10 verteilt sind. Die Steuerungseinrichtung 12 kann, nur als Beispiel, die DeltaV™- Steuerungseinrichtung sein, das von Fisher Rosemont Systems vertrieben wird, die an zahlreiche Workstations wie Personal Computer 14 (PCs) über ein Hub 16 und Ethernetverbindungen 18 angeschlossen wird. In dieser Konfiguration können die PC's 14 von einem oder mehreren Betreibern oder Nutzern verwendet werden, um mit der Prozeßsteuerungseinrichtung 12 (oder anderen Steuerungseinrichtungen, die mit dem Netzwerk 10 verbunden sind) zu kommunizieren, um Informationen zu erhalten, die zum Prozeßsteuerungsnetzwerk 10 gehören, um den Status des Prozeßsteuerungsnetzwerkes 10 abzufragen oder zu ändern, oder um Informationen, die zu individuellen Feldvorrichtungen im Prozeßsteuerungsnetzwerk 10 gehören, zu erhalten etc. Ist die Steuerungseinrichtung 12 eine DeltaV Steuerungseinrichtung, kann es dem Nutzer über einen der PC's 14 eine grafische Darstellung der Prozeßsteuerungsroutine in der Steuerungseinrichtung 12 zur Verfügung stellen, die die Funktionsblöcke oder andere Steuerungselemente in der Prozeßsteuerungsroutine veranschaulichen sowie die Art, in der diese Funktionsblöcke zur Steuerung des Prozesses kommunikativ miteinander verbunden sind. Ferner kann, falls gewünscht, ein Nutzer oder Betreiber eine Anpassung von einem oder mehreren Funktionsblöcken oder Regelkreisen von einem der PC's 14 aus veranlassen.
Wie in Fig. 1 dargestellt, ist die Steuerungseinrichtung 12 mit zahlreichen Feldvorrichtungen verbunden, die über den Prozeß verteilt sind (allgemein mit Bezugszeichen 19 gekennzeichnet). Die Steuerungseinrichtung 12 kann durch beliebige Standardtypen von I/O-Karten 20 und 22 mit typischen Feldvorrichtungen 26, 28, 30, 32, 34 und 36 kommunizieren, die der zentralisierten Steuerung der Steuerungseinrichtung 12 unterworfen sind. Die I/O-Karte 20 kann z. B. eine analoge I/O-Karte sein, die die Steuerungseinrichtung 12 mit analogen Feldvorrichtungen 26 und 28 verbindet, die über die 4 bis 20-mA-Busse 38 kommunizieren. Die I/O-Karte 22 kann ebenfalls eine digitale oder hybrid digitale und analoge I/O-Karte sein, die mit digitalen oder gemischt digitalen und analogen Feldvorrichtungen kommuniziert. Natürlich können die Feldvorrichtungen 26, 28, 30, 32, 34 und 36 jeder beliebige Typ von Feldvorrichtung sein, einschl. Meßwertumformer, Sensoren, Ventilstellungsregler, Ventilsteuerungen usw. Wie aus dem in Fig. 1 dargestellten Beispielprozeßsteuerungsnetzwerk 10 ersichtlich ist, sind die Feldvorrichtungen 26 bis 36 Abschnitten des Prozesses 19, der der zentralisierten Steuerung durch eine in der Steuerungseinrichtung 12 gespeicherte Steuerungsroutine unterworfen ist, zugeordnet. Somit werden die zur Implementierung der Steuerung dieser Einrichtungen kommunikativ miteinander verbundenen Funktionsblöcke in der Steuerungseinrichtung 12 gespeichert und ausgeführt.
Die Steuerungseinrichtung 12 ist kommunikativ auch mit einer Schnittstellenkarte 40 verbunden, die wiederum mit einem Prozeßsteuerungsnetzwerk verbunden ist (oder Teil davon ist), in dem die Prozeßsteuerung in einer verteilten Art und Weise durchgeführt wird. In der in Fig. 1 dargestellten Ausführungsform beinhaltet der dezentralisierte Prozeßsteuerungsabschnitt des Prozesses 19 die Schnittstellenkarte 40, einen Bus 42 und zahlreiche Feldvorrichtungen 43, 44, 46, 48 und 50, die mit dem Bus 42 verbunden sind. Das Feldvorrichtung 43 kann beispielsweise ein Meßwertumformer sein, der einige Prozeßvariablen mißt, während das Vorrichtung 44 ein Stellungsregler/Ventilgerät sein kann, das den Durchfluß eines Fluids im Prozeß 19 regelt. Das verteilte Prozeßsteuerungsnetzwerk von Fig. 1 kann z. B. ein Feldbusnetzwerk sein, das das Feldbusübertragungsprotokoll verwendet, und die Schnittstellenkarte 40 kann ein aktiver Ver­ bindungsscheduler sein, der dem Feldbusübertragungsprotokoll zugeordnet ist.
Die zentralisierte Prozeßsteuerungsroutine in der Steuerungseinrichtung 12 erhält Eingänge von den Feldvorrichtungen 26 bis 36 und potentiell 43 bis 50, führt Berechnungen und andere Aktivitäten in Zusammenhang mit der Steuerungsroutine (typischerweise mittels miteinander verbundener Funktionsblöcke) durch und schickt dann über die I/O-Karten 20 und 22 und die Schnittstellenkarte 40 Befehle zu den Feldvorrichtungen, um eine beliebige Steuerung des Prozesses 19 zu implementieren. Es ist jedoch zu beachten, daß der zentralisierte Steuerungsabschnitt des Prozeßsteuerungsnetzwerkes 10 (d. h. der dem Bus 42 in Fig. 1 zugeordnete) seine eigene Prozeßsteuerungsroutine in Verbindung mit (oder anstatt) der Steuerung, die durch die Steuerungseinrichtung 12 ausgeführt wird, in einer dezentralen Art implementieren kann. Während die Steuerungseinrichtung 12 mit den Feldvorrichtungen 43 bis 50, die an den Bus 42 an­ geschlossen sind, gekoppelt ist und über sie Kontrolle ausführen kann, können diese Feldvorrichtungen ebenfalls Steuerungsfunktionen oder Funktionsblöcke speichern und ausführen, um eine verteilte Steuerung zu implementieren.
Obwohl der dezentrale Abschnitt des Prozeßsteuerungsnetzwerkes 10 in Fig. 1 die Feldbuskommunikation und Steuerungsprotokoll verwendet, könnte er jedes andere bekannte oder gewünschte Protokoll genauso benutzen, einschließlich zukünftig entwickel­ ter Protokolle. Im allgemeinen ist das Feldbusprotokoll ein rein digitales, serielles Zweiwegeübertragungsprotokoll, das eine standardisierte physikalische Schnittstelle zu einem Zweidrahtkreis oder Bus zur Verfügung stellt, der "Feld"- Ausrüstung wie Sensoren, Aktoren, Vorrichtungsansteuerungen, Ventile etc. verbindet, die in einer Instrumentierungs- oder Prozeßsteuerungsumgebung z. B. einer Fabrik oder einer Regelstrecke angeordnet sind. Das Feldbusprotokoll stellt eigentlich ein lokales Netzwerk für Feldinstrumente (Feldvorrichtungen) innerhalb eines Prozesses bereit, das es diesen Feldvorrichtungen gestattet, Steuerungsfunktionen an über eine Prozeßanlage verteilten Orten auszuführen und mitein­ ander vor und nach der Ausführung dieser Steuerungsfunktionen zu kommunizieren, um eine Gesamtsteuerungsstrategie zu implementieren. Das Feldbusprotokoll verringert die Auslastung der Prozeßsteuerungseinrichtung 12 oder es macht die Prozeßsteuerungseinrichtung 12 für solche Feldvorrichtungen oder Gebiete des Prozesses verzichtbar, weil es das Feldbusprotokoll ermöglicht, Steuerungsfunktionen über das ganze Prozeßsteuerungsnetzwerk zu verteilen. Es versteht sich, daß während das Feldbusprotokoll ein relativ neues rein digitales Übertragungsprotokoll ist, das für den Einsatz in Prozeßsteuerungsnetzwerken entwickelt wurde, das Protokoll im Stand der Technik bekannt ist, detailliert in zahlreichen Artikeln, Broschüren und Spezifikationen beschrieben, ver­ breitet und unter anderem von der Fieldbus Foundation, einer Organisation ohne Erwerbscharakter mit Sitz in Austin, Texas, zu beziehen ist. Daher werden die Einzelheiten des Feldbusüber­ tragungsprotokolls hier nicht detailliert beschrieben.
In jedem Fall kann eine Modifikationsfunktion, wie hier be­ schrieben, dazu verwendet werden, die Fähigkeit oder die Opera­ tion jedes Funktionsblocks oder anderer funktionaler Elemente in der Steuerungseinrichtung 12, einer beliebigen der I/O- Karten 20, 22 und 40, einer beliebigen der Feldvorrichtungen 26 bis 36 und 43 bis 50 in Fig. 1 oder einer beliebigen anderen Vorrichtung des Prozeßsteuerungsnetzwerks 10 zu erweitern oder auf andere Weise zu ändern. Obwohl der Modifikationsfunktionsblock hier als im Feldbusprotokoll implementiert beschrieben ist, kann er anstelle dessen in einem beliebigen anderen Steuerungs- oder Übertragungsprotokoll implementiert werden, einschließlich all derer, die einer beliebigen Steuerungseinrichtung oder Übertragungsprotokoll zugeordnet sind, die jetzt verwendet oder in Zukunft entwickelt werden.
Fig. 2 zeigt allgemein einen Basis- oder Original- Funktionsblock 52 und einen Modifikationsfunktionsblock 54 zur Veränderung, Aktualisierung oder Erweiterung der Fähigkeit des Basisfunktionsblocks 52. Bekanntlich enthält der Basisfunk­ tionsblock 52 eine Softwareroutine oder einen Algorithmus 55, der ein oder mehreren Sätzen von Anweisungen (die von einer beliebigen Art von Code sein können), um von einem Prozessor in der Einrichtung, in der der Basisfunktionsblock 52 angeordnet ist, ausgeführt zu werden, um eine Operation in einer Prozeßsteuerungsroutine durchzuführen. Der Algorithmus 55 des Basisfunktionsblocks 52 wird verändert, um einen oder mehrere Verzweigungspunkte (in Fig. 2 als Punkte 56 und 57 dargestellt) zu enthalten, die verwendet werden um bedingt eine erweiterte Fähigkeit im Algorithmus 55 zu implementieren, wobei eine solche erweiterte Fähigkeit vom Modifikationsfunktionsblock 54 bereitgestellt wird, der eine aus einer Reihe von Anweisungen bestehende Softwareroutine oder einen Algorithmus 58 enthält.
Grundsätzlich werden die Verzweigungspunkte 56 und 57 im Basis­ funktionsblock eingerichtet, wenn er erzeugt wird. Die Inhalte dieser Verzweigungspunkte können zu Anfang gesetzt und später geändert werden (vorzugsweise nach dem Kompilieren des Basis­ funktionsblocks 52), um einen Zeiger entweder auf den Modifi­ kationsblock 54 oder auf die nächste Code-Zeile im Basisalgo­ rithmus zu setzen. Beispielsweise wird der Zeiger am Verzwei­ gungspunkt 56 zunächst so gesetzt, daß er auf die nächste Code- Zeile im Algorithmus 55 zeigt und auf diese Weise den Algorith­ mus 55 veranlaßt, ohne die erweiterte Fähigkeit zu arbeiten. Wird jedoch gewünscht, eine erweiterte Fähigkeit oder Funktionalität zum Basisfunktionsblock 52 hinzuzufügen, wird der Zeiger an einem oder mehreren Verzweigungspunkten (z. B. dem Punkt 56) so gesetzt, daß der Algorithmus 55 veranlaßt wird, den Algorithmus 58 innerhalb des Modifikationsfunktionsblocks 54 aufzurufen oder ihm auf andere Weise die Kontrolle zu übergeben, wenn der Algorithmus 55 den Verzweigungspunkt erreicht. Der Zeiger am Verzweigungspunkt 56 kann eine Adresse sein, die die Adresse des Modifikationsfunktionsblocks 54 im Speicher angibt, die Adresse eines Teils des Algorithmus 58 des Modifikationsfunktionsblocks 54, den Namen oder einen anderen Bezeichner des Modifikationsfunktionsblocks 54 oder er kann eine andere Handling- oder Verzweigungseinrichtung sein, die dazu dient, die Kontrolle an den Modifikationsfunktionsblock 54 zu übergeben.
Wird die Kontrolle an den Modifikationsfunktionsblock 54 über­ geben, werden bestimmte vordefinierte Daten an den Modifika­ tionsfunktionsblock 54 geschickt oder ihm zur Verfügung ge­ stellt, und der Modifikationsfunktionsblock 54 verwendet oder verändert diese Daten während der Ausführung des Algorithmus 58. Während der Zeiger am Verzweigungspunkt diese Daten beinhalten kann, werden diese Daten bevorzugt durch eine feste oder vordefinierte Schnittstelle bereitgestellt, die in Fig. 2 als Schnittstelle 59 dargestellt ist. Die Schnittstelle 59 beinhaltet typischerweise jeden der Parameter oder Datenwerte, die vom Modifikationsblock 54 benötigt werden (oder Zeiger darauf, wie zum Beispiel Adressen), wohin die Kontrolle innerhalb des Basisfunktionsblocks 52 zurückgegeben werden soll und/oder alle anderen Daten oder Informationen, die vom Modifikationsfunktionsblock 54 benötigt werden, um die Kontrolle zu übernehmen, auszuführen, und die Kontrolle an den Basisfunktionsblock 52 zurückzugeben. Die Schnittstelle 59 kann als vordefinierter Speicherabschnitt in einer Vorrichtung implementiert sein, sie kann innerhalb des Basis oder des Modifikationsfunktionsblocks 54 oder auf jede andere Weise bereitgestellt werden.
Der Modifikationsfunktionsblock 54 implementiert beim Erhalt der Kontrolle seinen Algorithmus 58, der auf Daten arbeitet, die über die Schnittstelle 59 zur Verfügung gestellt werden, und bei Beendigung gibt eine Rücksprunganweisung darin (in Fig. 2 als Anweisung 58r bezeichnet) die Kontrolle zurück an den Punkt im Algorithmus 55 des Basisfunktionsblocks 52, der (im Sinne der Ausführung) unmittelbar dem Stopp- oder Verzweigungspunkt folgt, an dem die Kontrolle übergeben worden ist. Dieser Rücksprungpunkt kann die nächste Zeile oder Anweisung des Codes im Basisfunktionsblock 52 sein, oder kann in irgendeiner Weise von der Schnittstelle 59 als anderer Ort im Basisfunktionsblock 52 definiert werden. Der Modifikationsfunktionsblock 54 gibt über die Schnittstelle 59 (die dieselbe oder eine andere Schnittstelle als die sein kann, mittels der die Kontrolle an den Modifikationsfunktionsblock 54 übergeben wird) bestimmte Daten zurück, die vom Algorithmus 55 im Basisfunktionsblock 52 verwendet werden. Falls gewünscht oder notwendig, kann der Modifikationsfunktionsblock 54 die Kotrolle auch an einen anderen Punkt übergeben, als den Punkt, der unmittelbar dem Verzweigungspunkt während der normalen Ausführung des Basisfunktionsblocks (d. h. ohne die erweiterten Fähigkeiten des Modifikationsfunktionsblocks) folgt, wenn z. B. der Modifikationsfunktionsblock 54 die Ausführung von Teilen des Algorithmus 55 des Basisfunktionsblocks 52 unnötig oder redundant macht. In diesem Fall mag es für den Basisfunktions­ block 52 zweckdienlich sein, dem Modifikationsfunktionsblock 54 über die Schnittstelle 59 einen Rücksprungpunkt zur Verfügung zu stellen, den die Rücksprunganweisung 58r dann benutzt, um die Kontrolle an den Algorithmus 55 des Basisfunktionsblocks 52 zurückzugeben. Es ist offensichtlich, daß die Rücksprunganweisung 58r jeder beliebige Typ Rücksprunganweisung sein kann, wie z. B. eine Anweisung GOTO oder END LOOP und/oder daß sie abhängig von der Art des Codes, der im Modifikationsfunktionsblock 54 benutzt wird, jede andere Form annehmen kann.
Während in Fig. 2 zwei Verzweigungspunkte 56 und 57 dargestellt sind, können im Basisfunktionsblock 52 auch ein, drei oder eine beliebige andere Anzahl von Verzweigungspunkten gesetzt werden, um an einem oder mehreren Punkten im Algorithmus 55 eine erwei­ terte Fähigkeit bereitzustellen. Ferner können die Verzweigungspunkte im Basisfunktionsblock 52 so gesetzt werden, daß verschiedene Teile oder Subroutinen des Algorithmus 58 im Modifikationsfunktionsblock 54 aufgerufen werden, um so ver­ schiedene erweiterte Funktionen an verschiedenen Teilen des Basisalgorithmus 55 zur Verfügung zu stellen. Diese Funktio­ nalität kann notwendig sein um eine gänzlich neue Prozedur, wie z. B. Anpassung, im Basisfunktionsblock 52 zu implementieren, die es eventuell erforderlich macht, an verschiedenen Punkten im Basisalgorithmus 55 verschiedene Fähigkeiten hinzuzufügen. Natürlich können verschiedenen Verzweigungspunkte im Basisalgorithmus 55 eingerichtet werden, um dieselben oder unterschiedliche Teile eines einzelnen Modifikationsfunktionsblocks aufzurufen, oder sie können wie gewünscht so eingerichtet werden, um verschiedene Modifi­ kationsfunktionsblöcke aufzurufen.
Beim Verkauf oder der Installation in ein System kann der Basisfunktionsblock 52 zunächst mit den Verzweigungspunkten 56 und/oder 57 (wie auch mit allen anderen gewünschten Verzwei­ gungspunkten) ausgestattet werden, um dem Nutzer zu einer späteren Zeit die erweiterte Fähigkeit von Modifikationsfunk­ tionsblöcken zur Verfügung stellen zu können. Benötigt der Nutzer die Funktionalität, die mit dem Modifikationsfunktions­ block verbunden ist, nicht oder will sie nicht implementieren, so muß er nur einen Nullwert oder eine Nullanweisung (die den Prozessor veranlaßt, einfach nichts zu tun und zur nächsten Anweisung weiterzugehen) oder irgend einen anderen Hinweis am Verzweigungspunkt im Basisalgorithmus 55 speichern, der anzeigt, daß der Algorithmus 55 fortfahren soll, ohne einen Modifikationsfunktionsblock aufzurufen. Dies kann vor oder nach dem Kompilieren des Basisfunktionsblocks 52 in einer Prozeßsteuerungs- oder Kommunikationsroutine erfolgen.
Ist eine Fähigkeit eines Modifikationsfunktionsblocks hinzuzu­ fügen, wird der Wert des Zeigers an einem oder mehreren Ver­ zweigungspunkten im Basisalgorithmus 55 geändert, um den Basis­ algorithmus 55 zu veranlassen, den geeigneten Modifikations­ funktionsblock aufzurufen, wenn der Verzweigungspunkt erreicht ist. Typischerweise kann dies erfolgen, ohne den Basisfunk­ tionsblock 52 neu zu übersetzen. (Natürlich muß der Modifikationsfunktionsblock 54 vor seiner Ausführung kompiliert und im Speicher abgelegt werden). Der Modifikationsfunktionsblock 54 wird dann aufgerufen, wenn der Basisalgorithmus 55 den Verzweigungspunkt erreicht. Sobald er aufgerufen ist, implementiert der Modifikationsfunktionsblock 54 seinen Algorithmus 58, um die Funktionalität des Algorithmus 55 im Basisfunktionsblock 52 zu erweitern oder zu ändern. Wird die neue oder erweiterte Funktionalität nicht mehr gewünscht, wie z. B. am Ende einer Abstimmungsprozedur, können die Verzweigungspunkte rückgesetzt werden, um den Basisfunktionsblock 52 daran zu hindern, den Modifikationsfunktionsblock 54 aufzurufen.
Auf diese Weise kann der Basisfunktionsblock 52 zunächst ohne erweiterte Fähigkeiten vertrieben werden, was die Dokumentation und die Gemeinkosten in Zusammenhang mit dem Funktionsblock verringert. Der Basisfunktionsblock kann aber durch reines Hinzufügen eines geeigneten Modifikationsfunktionsblocks 54 zu der Vorrichtung, in dem der Basisfunktionsblock 52 gespeichert ist, und durch das Ändern eines oder mehrerer Zeiger im Algorithmus 55 des Basisfunktionsblocks 52 erweitert werden. Dies ermöglicht es, Basisfunktionsblöcke zu einem späteren Zeitpunkt zu erweitern oder zu ändern, ohne daß ein gänzlich neuer Basisfunktionsblock 52 installiert und ohne daß der Basisfunktionsblock 52 neu kompiliert werden muß, was die Aufrüstung des Basisfunktionsblocks 52 vereinfacht. Ferner können verschiedene Modifikationsfunktionsblöcke für denselben Basisfunktionsblock entwickelt werden, was dem Nutzer im Hinblick auf die Erweiterung des Systems sogar noch mehr Wahlmöglichkeiten gibt. Es ermöglicht den Anbietern von Funktionsblöcken, verschiedene Versionen oder Erweiterungsstufen eines Modifikationsfunktionsblocks relativ problemlos zu liefern. Ferner muß der Algorithmus 55 des Basis­ funktionsblocks 52 nicht verändert werden, um eine zusätzliche Fähigkeit zur Verfügung zu stellen, wenn ein Funktionsblock zur Unterstützung einer Standardschnittstelle zu Modifikations­ blöcken entworfen wurde. Gleichermaßen wird die Unterstützung für hinzugefügte Funktionalität nur aufgerufen wie es durch die Blockattribute angezeigt wird, die während der Konfiguration oder durch eine individuell angefertigte Anwendung, wie eine Anpassungsanwendung, gesetzt werden. Dies resultiert in ver­ ringerten Speicher- und CPU-Anforderungen, wenn die von einem Modifikationsfunktionsblock bereitgestellten Leistungsmerkmale während der normalen Ausführung des Prozesses nicht benötigt werden.
Es versteht sich, daß der Basisfunktionsblock typischerweise gleich bleibt, wenn Modifikationsfunktionsblöcke verwendet wer­ den, außer daß er die Fähigkeit haben muß, den Modifikations­ funktionsblock aufzurufen, d. h. es gibt darin einen oder mehrere rücksetzbare Verzweigungspunkte. Dieses Merkmal macht es einfacher, den Code des Basisfunktionsblocks 52 nur durch die Änderung des Codes des Modifikationsfunktionsblocks 54, der zum System einfacher hinzugefügt und gelöscht werden kann als der Basisfunktionsblock 52 (der typischerweise für die Ausführung der Prozeßsteuerungsroutine erforderlich ist) zu ändern. Damit wird die Entwicklung von fortschrittlichen Steuerungsfähigkeiten erheblich beschleunigt, und es bedeutet, daß der Nutzer nur dann Gemeinkosten zum Basisfunktionsblock 52 addieren muß, wenn der betreffende Nutzer eine bestimmte Anwendung hat, die diese Leistungsmerkmale nutzt. Das heißt, der Nutzer oder Betreiber kann die Gemeinkosten des Systems verringern, indem er den Modifikationsfunktionsblock 54 nicht kompiliert und nicht nutzt, wenn die vom Modifikationsfunktionsblock 54 bereitgestellte hinzugefügte Funktionalität nicht benötigt wird.
Es versteht sich, daß der hier beschriebene Modifikationsfunk­ tionsblock 54 für jeden Zweck und in jeder Art verwendet werden kann, um einen Basisfunktionsblock 52 entweder zu jeder belie­ bigen Zeit oder zu bestimmten Zeiten zu ändern oder zu erwei­ tern, um erweiterte Fähigkeiten für jede Art von Basisfunktionsblock (z. B. Eingabe-, Ausgabe- oder Steu­ erungsfunktionsblock) bereitzustellen. Ein Modifikations­ funktionsblock kann daher z. B. verwendet werden, um einem Steuerungsfunktionsblock Selbstabstimmungsfähigkeiten hinzu­ zufügen, um eine abstimmungsfähige Verstärkung, Verstärkungs­ planung, Totzeitausgleich etc. in einem Basisfunktionsblock zu implementieren, oder um jede beliebige andere erweiterte oder geänderte Fähigkeit einem Basisfunktionsblock bereitzustellen.
Ebenso versteht es sich, daß der Basisfunktionsblock 52 und der Modifikationsfunktionsblock 54 in jedem Speicher oder Speichern einer Vorrichtung oder innerhalb des Speichers oder der Speicher, die einem Prozessor zugeordnet sind, der diese Funktionsblöcke ausführt, abgelegt werden kann, z. B. in einem RAM, ROM, EPROM oder EEPROM, auf einer Festplatte, einem Plattenspeicher oder in jedem anderen geeigneten Speicher, auf den der Prozessor zugreifen kann. Ebenso können diese Funktionsblöcke, gespeichert auf jedem beliebigen Typ von Speicher, wie Magnetscheiben, optischen Scheiben (wie CD- oder Laserscheibe), einem magnetischen oder optischen Band, oder jedem anderen rechnerlesbaren Speichermedium, einem Nutzer verkauft oder anderweitig bereitgestellt werden. Außerdem können der Basis- und der Modifikationsfunktionsblock dem Nutzer als einzelne Einheit (z. B. auf demselben Speicher), oder zum selben oder unterschiedlichen Zeitpunkten als getrennte Einheiten (z. B. in getrennten Speichern abgelegt) zur Verfügung gestellt werden.
Bezugnehmend auf Fig. 3 wird eine Ausführungsform eines Modifi­ kationsfunktionsblocks beschrieben, die einem PID-Steuerungs­ funktionsblock eine bedingte Selbstanpassungsfähigkeit ver­ leiht. Die miteinander verbundenen Funktionsblöcke von Fig. 3 bilden einen Regelkreis, der z. B. in einem Feldbusnetzwerk oder einer anderen verteilten Steuerungsumgebung implementiert sein kann, in der die Funktionsblöcke innerhalb eines Regelkreises in verschiedenen Vorrichtungen angeordnet sind, die von einem Übertragungsnetzwerk wie einem Bus miteinander verbunden sind. Der in Fig. 3 dargestellte Regelkreis enthält einen analogen Eingangsfunktionsblock (AI) 60 (der z. B. im Meßwertumformer 43 in Fig. 1 angeordnet sein kann), einen PID-Funktionsblock 62 und einen analogen Ausgangsfunktionsblock (AO) 64. Für den Beispielregelkreis in Fig. 3 sind der PID-Funktionsblock 62 und der AO-Funktionsblock 64 im Stellungsregler/Ventil 44 von Fig. 1 angeordnet. Die Kommunikationsverbindungen zwischen den Funktionsblöcken 60, 62 und 64 sind in Fig. 3 durch Linien dargestellt, die die Prozeß- und Steuerungsein- und -ausgänge dieser Funktionsblöcke verbinden. Ein Ausgang des AI- Funktionsblocks 60, der eine Prozeßvariablenmessung oder ein Prozeßparametersignal aufweisen kann, ist über das Feldbuskabel 42 mit dem Eingang des PID-Funktionsblocks verbunden, der wiederum einen Ausgang hat, der ein Steuerungssignal aufweist, das kommunikativ mit einem Eingang des AO-Funktionsblocks 64 verbunden ist. Ein Ausgang des AO-Funktionsblocks 64, der ein Rückführsignal aufweist, das z. B. die Position des Ventils 44 anzeigt, ist mit dem Steuerungseingang des PID-Funktionsblocks 62 verbunden. Der PID-Funktionsblock 62 verwendet dieses Rückführsignal zusammen mit dem Prozeßmeßsignal vom AI- Funktionsblock 60 (und potentiell andere Signale und Sollwerte), um eine beliebige Steuerung des AO-Funktionsblocks 64 zu implementieren, um so die Prozeßvariable zu steuern, die vom AI-Funktionsblock 60 gemessen wird. Die durch die Linien im Regelkreis von Fig. 3 angedeuteten Verbindungen können intern in einer Feldvorrichtung hergestellt werden, wenn sich wie im Fall des AO- und des PID-Funktionsblocks 64 und 62 die Funk­ tionsblöcke innerhalb derselben Feldvorrichtung befinden.
Ein Modifikationsfunktionsblock 66 wird innerhalb derselben Vorrichtung wie der PID-Funktionsblock 62 (d. h. der Stellregler/Ventil 44) und zur Anwendung in der Selbstabstimmung des PID-Funktionsblocks 62 zur Verfügung gestellt, der in diesem Fall ein Basisfunktionsblock ist. Der Modifikationsfunktionsblock zur Selbstabstimmung 66 ist kommunikativ mit dem PID-Funktionsblock 62 gekoppelt und steuert diesen während der Ausführung zumindest eines Teils einer Abstimmungsprozedur, indem Signale an den PID- Funktionsblock 62 geschickt werden, ein Ausgang des Funktions­ blocks 62 geändert wird etc. In einer Ausführungsform steuert der Modifikationsfunktionsblock zur Selbstabstimmung 66 den PID-Funktionsblock 62 so, daß der Regelkreis mit den Funktions­ blöcken 60, 62 und 64 veranlaßt wird, in eine gesteuerte in­ duzierte Schwingungsprozedur zu gehen. Der Modifikationsfunk­ tionsblock zur Selbstabstimmung 66 sammelt auch Daten, die vom PID-Funktionsblock 62 während der Ausführung des Regelkreises erzeugt oder an diesen geschickt werden, und speichert diese Daten vorzugsweise in einem Speicher der Vorrichtung 44. An einem bestimmten Punkt, d. h. wenn genug Daten gesammelt worden sind, bestimmt der Modifikationsfunktionsblock zur Selbstabstimmung 66 aus den gesammelten Daten jeden gewünschten Prozeßkennwert, der ein beliebiger Prozeß-, Regelkreis- oder ein Vorrichtungskennwert sein kann, mittels jeder bekannten oder gewünschten Prozedur. Danach stellt der Modifikationsfunktionsblock zur Selbstabstimmung 66 die berechneten Prozeßkennwerte einem Abstimmregler 71 zur Verfügung oder übermittelt sie, der eine Benutzerschnittstelle unterstützt und diese Prozeßkennwerte zusammen mit Benutzer­ eingaben verwendet, um einen oder mehrere Abstimmungsparameter für den PID-Funktionsblock 62 oder andere Funktionsblöcke im Regelkreis, der angepaßt wird, zu bestimmen. Der Abstimmregler 71 ist dargestellt, als wäre er in einer der Workstations oder PC's 14 außerhalb der Vorrichtung 44 angeordnet, aber er kann sich anstelle dessen in jedem anderen Vorrichtung wie dem Steuerungseinrichtung 12, in derselben Vorrichtung wie der Modifikationsfunktionsblock zur Selbstabstimmung 66 oder einem anderen Vorrichtung befinden. Tatsächlich kann der Abstimmregler 71 wenn gewünscht Teil des Modifikationsfunktionsblock zur Selbstabstimmung 66 sein.
Zunächst beinhaltet der Basis-PID-Funktionsblock 62 einen oder mehrere Verzweigungspunkte, die so gesetzt sind, daß die Kon­ trolle nicht an den Modifikationsfunktionsblock zur Selbstabstimmung 66 übergeben wird. Wenn sie so gesetzt sind, arbeitet der Basis-PID-Funktionsblock 62 normal in der Prozeßsteuerungsroutine, um eine Standardregelung des Regelkreises, in dem der PID-Funktionsblock 62 angeordnet ist, zu implementieren. Ist die Selbstabstimmung gewünscht, veranlaßt eine Abstimmungsanwendung, die im Steuerungseinrichtung 12 oder in einem der PC's 14 (Fig. 1) gespeichert sein und dort laufen kann, daß der (die) Zeiger an (dem) den geeigneten Verzweigungspunkt(en) im Basis-PID-Funk­ tionsblock 62 geändert werden, um so den Modifikationsfunk­ tionsblock zur Selbstabstimmung 66 aufzurufen. Natürlich muß der Funktionsblock zur Selbstabstimmung, bevor er aufgerufen wird, im Speicher der Vorrichtung 44 kompiliert und gespeichert werden.
Läuft danach der Basis-PID-Funktionsblock, führt er seinen Algorithmus aus, bis der Verzweigungspunkt erreicht ist, zu welchem Zeitpunkt dann der Modifikationsfunktionsblock zur Selbstabstimmung 66 aufgerufen und ausgeführt wird. Zu diesem Zeitpunkt kann der Modifikationsfunktionsblock zur Selbstabstimmung 66 geeignete PID-Eingaben bestimmen, die den Basis-PID-Funktionsblock 66 veranlassen, den Regelkreis so zu steuern, daß er induzierte Regelschwingungen durchläuft, und er übergibt diese Eingaben über die Schnittstelle 59 an den PID- Funktionsblock 62 (Fig. 2). An diesem oder einem anderen Punkt während des Betriebs des PID-Funktionsblocks 62 wird der Modifikationsfunktionsblock zur Selbstabstimmung 66 aufgerufen, um die Daten zu quittieren und zu speichern (vom PID- Funktionsblock 62 über die Schnittstelle 59 übergeben), die zur Bestimmung der Prozeßkennwerte benötigt werden. Nachdem diese Funktionen abgeschlossen sind, gibt der Modifikationsfunktionsblock zur Selbstabstimmung 66 mittels einer Rücksprunganweisung die Kontrolle an den Basis-PID- Funktionsblock 62 zurück.
Hat der Modifikationsfunktionsblock zur Selbstabstimmung 66 genug Daten, berechnet er einen oder mehrere Prozeßkennwerte für den Prozeßregelkreis und sendet diese Prozeßkennwerte an den Abstimmregler 71. Der Modifikationsfunktionsblock zur Selbstabstimmung 66 (oder der Abstimmregler 71) kann dann die Abstimmungsanwendung informieren, daß die Abstimmungsprozedur abgeschlossen ist, zu welcher Zeit der Abstimmregler 71, der Modifikationsfunktionsblock zur Selbstabstimmung 66 oder die Abstimmungsanwendung die Zeiger im Basis-PID-Funktionsblock 62 zurück auf ihren ursprünglichen Wert ändern, so daß der Modifi­ kationsfunktionsblock zur Selbstabstimmung 66 nicht länger auf­ gerufen wird, wenn der Basis-PID-Funktionsblock läuft.
Bei dieser Ausführungsform kann der Modifikationsfunktionsblock zur Selbstabstimmung 66 jede beliebige gewünschte Abstimmungs­ prozedur verwenden, wie jede Abstimmungstechnik für den offenen oder geschlossenen Regelkreis. Gleichermaßen kann der Modifi­ kationsfunktionsblock zur Selbstabstimmung 66 jede beliebige Variable messen, einschließlich z. B. den Ausgang des AO-Funk­ tionsblocks 64, den Sollwert des PID-Funktionsblocks 62, den Ausgang des AI-Funktionsblocks 60 etc., um die gewünschten Prozeß- oder Regelkreiskennwerte zu bestimmen. Wie oben erwähnt, kann der Modifikationsfunktionsblock zur Selbstabstimmung GG so konfiguriert werden, daß er zur Bestimmung der gewünschten Prozeßkennwerte eine induzierte Regelschwingungsprozedur verwendet. In einer solchen Konfiguration kann der Modifikationsfunktionsblock zur Selbstabstimmung 66 einen Regeleingang des PID-Funktionsblocks 62 mit einem Rechtecksignal beaufschlagen, das einen einstellbaren Spitze-Spitzewert von 2d hat, der um den Wert des Steuersignals zentriert ist, das an den PID-Funktionsblock 62 geliefert wurde, bevor die induzierte Schwingung initiiert wurde. Als Antwort auf ein solches Rechtecksignal geht der Regelkreis von Fig. 3 in eine induzierte Schwingung, und der Ausgang des AI-Funktionsblocks 60 (d. h. die Prozeßvariable) schwingt mit einer Spitze-Spitze-Amplitude von 2d und einer Periodendauer Tu besitzt. Von der Amplitude a der Prozeßvariable und der Amplitude des Rechtecksignals kann die maßgebliche Verstärkung Ku des Prozesses aus folgender Gleichung abgeleitet,
und die längste Periodendauer Tu des Prozesses kann berechnet werden, als wäre sie gleich der Periodendauer der Schwingung der Prozeßvariablen. Der Modifikationsfunktionsblock zur Selbstabstimmung 66 kann natürlich andere Daten messen und andere gewünschte Prozeßkennwerte bestimmen wie z. B. die Verzögerungszeit Td und die dominante Zeitkonstante des Prozesses.
Nach der Berechnung solcher Prozeßkennwerte stellt der Modifi­ kationsfunktionsblock zur Selbstabstimmung 66 dem Abstimmregler 71 diese Kennwerte zur Verfügung, der mittels einer beliebigen bekannten Technik aus den Größen Ku und Tu einen Satz Abstimmungsparameter bestimmt, der u. a. die Proportionalver­ stärkung Kp, die Integralzeitkonstante Ti oder die Differentialzeitkonstanten Td des Basis-PID-Funktionsblocks 62 enthält. Der Abstimmregler 71 kann an einem Punkt dem Basis- PID-Funktionsblock 62 diese Abstimmungsparameter (oder alle anderen Abstimmungsparameter) zur Verfügung stellen, um so den Basis-PID-Funktionsblock und/oder den Regelkreis, in dem er arbeitet, wieder abzustimmen.
Ungeachtet der obigen Diskussion versteht es sich, daß der Funktionsblock zur Selbstabstimmung 66 jede gewünschte dynamische Datenerfassungsroutine implementieren kann einschließlich einer beliebigen der vielen für Regelkreise bekannte Routinen, die PI, PID, Fuzzy Logik oder andere Arten von Steuerungselementen enthalten. Beispielsweise kann der Funktionsblock zur Selbstabstimmung 66 eine gesteuerte induzierte Schwingungsprozedur implementieren, wie die Hägglund-Åström Zweipunktglied-Abstimmungsprozedur, die im U.S.- Patent Nr. 4,549,123 beschrieben ist, das hier ausdrücklich einbezogen wird. In dem Zweipunkt-Abstimmungsverfahren bringt der Funktionsblock zur Selbstabstimmung 66 den Prozeßregelkreis (gebildet von den Funktionsblöcken 60, 62 und 64) in eine Eigenschwingung, z. B. mittels einer nicht linearen Rück­ kopplungsfunktion, und mißt die Antwort des Prozeßregelkreises, um die gewünschten Prozeßkennwerte sowie die maßgebliche Verstärkung und Periodendauer zu bestimmen.
Genauso kann der Abstimmregler 71 jede beliebige Methode abwenden, um die Abstimmungsparameter aus den Prozeß oder Regelkreiskennwerten (oder Rohdaten) zur bestimmen, die vom Modifikationsfunktionsblock zur Selbstabstimmung 66 berechnet oder gesammelt wurden. Beispielsweise kann der Abstimmregler 71 jedes der Berechnungsverfahren für Abstimmungsparameter anwenden, die im U.S.-Patent Nr. 5,748,467 beschrieben sind, das hiermit ausdrücklich einbezogen wird, einschließlich z. B. der internen modellgestützten Abstimmung (Internal Model Control, IMC), Cohen- und Coon-Anpassung, Ziegler-Nichols- Einstellregeln oder einer modifizierten Ziegler-Nichols- Einstellregel, um nur einige zu nennen. Im allgemeinen jedoch speichert der Abstimmregler 71 einen oder mehrere Sätze von Regeln (wie einen Fuzzy-Regelsatz oder einen beliebigen Satz von linearen oder nicht linearen Algorithmen), die er benutzt, um die Abstimmungsparameter zu bestimmen, wie die Verstärkung oder Zeitkonstante, entsprechend dem Typ des Funktionsblocks, der angepaßt wird.
Wenn der Modifikationsfunktionsblock zur Selbstabstimmung 66 in einer Feldbusumgebung verwendet wird, wird er im selben Ausfüh­ rungszeitrahmen ausgeführt wie der Basisfunktionsblock (z. B. der PID-Funktionsblock 62). Um diese Anforderung zu erfüllen, muß der Modifikationsfunktionsblock zur Selbstabstimmung im selben Vorrichtung wie der Basis-PID-Funktionsblock 62 angeordnet sein, so daß die Kommunikation dazwischen nicht über das Feldbuskabel 42 (von Fig. 1) ablaufen muß. In anderen Protokollen oder Steuerungsgeräteumgebungen muß es nicht nötig sein, den Modifikationsfunktionsblock 66 in der selben Vorrichtung wie den Basisfunktionsblock anzuordnen, um den Modifikationsfunktionsblock rechtzeitig auszuführen, d. h. ohne den Zeitplan der Steuerungs- oder Kommunikationsroutinen zu stören, in denen der Modifikationsfunktionsblock arbeitet. Muß der Modifikationsfunktionsblock 66 überhaupt in einer Feldbusumgebung benutzt werden, (selbst wenn nur selten), muß der Zeitplan des Basisfunktionsblocks 62 anfangs so eingerichtet werden, daß die zusätzliche Ausführungszeit, die vom Modifikationsfunktionsblock 66 verwendet wird, eingerechnet wird. Der Modifikationsfunktionsblock 66 muß für den Nutzer nicht als ein Funktionsblock im Prozeßsteuerungssystem sichtbar sein, weil er nur den Algorithmus des Basisfunktionsblocks 62 verändert. Falls gewünscht, kann die Abstimmungsanwendung, die eine Benutzerschnittstelle zur Initialisierung der Selbstabstimmung und zur Auswahl der Abstimmung unterstützt, Informationen vom Modifikationsfunktionsblock 66 erhalten, indem das hinreichend bekannte OPC-Protokoll verwendet wird.
Es ist ohne weiteres ersichtlich, daß die Nutzung eines Modifi­ kationsfunktionsblocks zur Selbstabstimmung 66 für den PID- Funktionsblock 62 in Fig. 3 nur beispielhaft ist. Jeder andere Typ von Modifikationsfunktionsblock könnte mit jedem anderen Typ eines Basisfunktionsblock in jedem anderen Regelkreis genutzt werden. Des weiteren könnte ein Modifikationsfunktionsblock in einem Prozeßsteuerungssystem genutzt werden, das nur eine verteilte Steuerung (wie in einer reinen Feldbusumgebung) implementiert, nur in einer zentralisierten Steuerung (d. h. in der alle Funktionsblöcke oder Funktionselemente in einem einzigen Steuerungseinrichtung zur Verfügung gestellt werden) oder in einer, die eine gemischte zentralisierte und verteilte Steuerung implementiert.
Natürlich kann der Modifikationsfunktionsblock unter Nutzung eines beliebigen externen Prozeßsteuerungsprotokolls (neben dem Feldbusprotokoll) implementiert und verwendet werden, um mit einem beliebigen Typ von Funktionsblock zu kommunizieren, ein­ schließlich eines beliebigen Funktionsblocks, der ähnlich oder identisch zu einem der verschiedenen Funktionsblöcke ist, die speziell vom Feldbusprotokoll identifiziert und unterstützt werden. Überdies sei darauf hingewiesen, daß zwar der Modifika­ tionsblock in einer. Ausführungsform ein Feldbus- "Funktionsblock" ist, daß die Verwendung des Begriffes "Funktionsblock" hier jedoch nicht darauf begrenzt ist, was das Feldbusprotokoll als Funktionsblock identifiziert, sondern anstelle dessen jeden anderen Typ von Block, Programm, Hardware, Firmware, etc. beinhaltet, der mit irgendeiner Art von Steuerungssystem und/ oder Übertragungsprotokoll verbunden ist, die benutzt werden können, um eine Prozeßsteuerungsroutinenfunktion zu implementieren und die ein vordefiniertes Setup oder Protokoll aufweisen, um Informationen oder Daten anderen solchen Funktionsblöcken zur Verfügung zu stellen. Daher muß dies nicht der Fall sein, daß Funktionsblöcke typischerweise die Form von Objekten in einer objektorientierten Programmierumgebung annehmen, und es können anstelle dessen auch andere logische Einheiten benutzt werden, um bestimmte Steuerungsfunktionen (einschließlich Ein- und Ausgabe) in einer Prozeßsteuerungsumgebung auszuführen.
Obwohl der hier beschriebene Modifikationsblock vorzugsweise als Software implementiert und z. B. in einem Steuerungsgerät oder einem anderen. Prozeßsteuerungseinrichtung gespeichert ist, kann er alternativ dazu oder zusätzlich als Hardware, Firmware etc. implementiert werden, wie für unterschiedliche Anwendungen gewünscht. Wenn er als Software implementiert wird, kann der Modifikationsfunktionsblock in jedem beliebigen rechnerlesbaren Speicher abgelegt werden, wie einer Magnetscheibe, einer Laser­ scheibe oder anderem Speichermedium, in einem RAM oder ROM eines Rechners, in einem Steuerungsgerät, Feldvorrichtung etc. Gleichermaßen kann diese Software mittels jedes bekannten oder gewünschten Lieferverfahren an den Nutzer ausgeliefert werden, z. B. über einen Übertragungskanal wie eine Telefonverbindung, das Internet etc. Während die vorliegende Erfindung unter Bezugnahme auf spezifi­ sche Beispiele beschrieben worden ist, die die Erfindung nur verdeutlichen und nicht einschränken sollen, wird es für den Fachmann offensichtlich sein, daß Änderungen, Hinzufügungen oder Weglassungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne vom Geist und Anwendungsbereich der Erfindung abzuweichen.
Liste der Bezugszeichen
10
Prozeßsteuerungsnetzwerk
12
Steuerungseinrichtung
14
Workstation, PC
16
Hub
18
Ethernetverbindung
19
Prozeß
20
I/O-Karte
22
I/O-Karte
26
Feldvorrichtung
28
Feldvorrichtung
30
Feldvorrichtung
32
Feldvorrichtung
34
Feldvorrichtung
36
Feldvorrichtung
40
Schnittstellenkarte
42
Bus
43
Feldvorrichtung (Meßwertumformer)
44
Feldvorrichtung (Stellungsregler/Ventil)
46
Feldvorrichtung
48
Feldvorrichtung
50
Feldvorrichtung
52
Basisfunktionsblock
54
Modifikationsfunktionsblock
55
Algorithmus
56
Verzweigungspunkt
57
Verzweigungspunkt
58
Algorithmus
58
r Rücksprunganweisung
59
Schnittstelle
60
Analoger Eingangsfunktionsblock (AI)
62
PID-Funktionsblock
64
Analoger Ausgangsfunktionsblock (AO)
66
Modifikationsfunktionsblock zur Selbstabstimmung
71
Abstimmregler

Claims (28)

1. Funktionsblockeinheit zur Verwendung in einem Prozeßsteue­ rungssystem, das eine Prozeßsteuerungsroutine unter Nutzung einer Vielzahl von kommunikativ miteinander verbundenen Funktionsblöcken ausführt, von denen ein jeder eine Softwareroutine zur Steuerung eines zugeordneten Prozessors besitzt, wobei die Funktionsblockeinheit aufweist:
einen Basisfunktionsblock (52) mit einer ersten Reihe prozessorimplementierbarer Anweisungen (55), die einen ersten Prozessor veranlassen, eine Funktion auszuführen, die der Prozeßsteuerungsroutine zugeordnet ist, und einen rückstellbaren Verzweigungspunkt (56, 57), der in der ersten Reihe Anweisungen angeordnet ist, wobei der Basisfunktionsblock in einem ersten rechnerlesbaren Speicher abgelegt ist, auf den vom ersten Prozessor zuzugreifen ist; und
einen Modifikationsfunktionsblock (54) mit einer zweiten Reihe prozessorimplementierbaren Anweisungen (58), wobei der Modifikationsfunktionsblock (54) in einem zweiten rechnerlesbaren Speicher abgelegt ist, auf den vom ersten Prozessor zuzugreifen ist;
wobei der rüclssetzbare Verzweigungspunkt (56, 57) einen Zeiger beinhaltet, der auf einen ersten Wert gesetzt werden kann, der den ersten Prozessor veranlaßt, daß eine weitere aus der ersten Reihe prozessorimplementierbarer Anweisungen (55) im Basisfunktionsblock ausgeführt wird, und auf einen zweiten Wert, der den ersten Prozessor veranlaßt, die zweite Reihe Anweisungen (58) im Modifikationsfunktionsblock (54) auszuführen.
2. Funktionsblockeinheit nach Anspruch 1, bei der der erste rechnerlesbare Speicher identisch ist mit dem zweiten rechnerlesbaren Speicher.
3. Funktionsblockeinheit nach einem der Ansprüche 1 oder 2, bei der der erste Prozessor in einer Prozeßsteuerungseinrichtung angeordnet ist, die einen Einrichtungsspeicher besitzt, und wobei der Einrichtungsspeicher den ersten und zweiten rechnerlesbaren Speicher beinhaltet.
4. Funktionsblockeinheit nach einem der Ansprüche 1 bis 3, bei der der zweite rechnerlesbare Speicher ein transportables Scheibenspeichermedium ist.
5. Funktionsblockeinheit nach einem der Ansprüche 1 bis 4, wobei die Funktionsblockeinheit des weiteren eine zusätzliche Schnittstelle (59) enthält, die Daten zwischen dem Basisfunktionsblock (52) und dem Modifikationsfunktionsblock (54) in einer vordefinierten Art austauscht.
6. Funktionsblockeinheit nach einem der Ansprüche 1 bis 5, bei der die Schnittstelle (59) Datenwerte besitzt, die vom Modifikationsfunktionsblock (54) zu verwenden sind.
7. Funktionsblockeinheit nach einem der Ansprüche 1 bis 6, bei der die Schnittstelle (59) Speicheradreßwerte enthält, die den Daten zugeordnet sind, die vom Modifikationsfunktionsblock (54) zu verwenden sind.
8. Funktionsblockeinheit nach einem der Ansprüche 1 bis 7, bei der der Zeiger eine Speicheradresse enthält, die spezifiziert, wo im ersten rechnerlesbaren Speicher der Prozessor die nächste Anweisung suchen soll.
9. Funktionsblockeinheit nach einem der Ansprüche 1 bis 8, bei der der erste Wert eine Nullanweisung enthält, die den Prozessor veranlaßt, mit einer unmittelbar folgenden Anweisung im Basisfunktionsblock (52) fortzufahren.
10. Funktionsblockeinheit nach einem der Ansprüche 1 bis 9, bei der zweite Wert eine Speicheradresse enthält, die dem Modifikationsfunktionsblock (54) zugeordnet ist.
11. Funktionsblockeinheit nach einem der Ansprüche 1 bis 10, bei der jeder Funktionsblock aus der Vielzahl kommunikativ miteinander verbundener Funktionsblöcke in einer unterschiedlichen Zeitspanne ausgeführt wird, und sowohl der Basisfunktionsblock (52) als auch der Modifikationsfunktionsblock (54) in einer Ausführungszeitspanne ausgeführt werden, die dem Basisfunktionsblock (52) zugeordnet ist, wenn der Zeiger auf den zweiten Wert gesetzt ist.
12. Funktionsblockeinheit nach einem der Ansprüche 1 bis 11, bei der der Zeigerwert rücksetzbar ist, nachdem der Basisfunktionsblock (52) kompiliert und im ersten rechnerlesbaren Speicher abgelegt worden ist.
13. Funktionsblockeinheit nach einem der Ansprüche 1 bis 12, bei der der Basisfunktionsblock (52) ein Regelungsfunktionsblock (62) und der Modifikationsfunktionsblock (54) ein Selbstabstimmfunktionsblock (66) ist, der eine Selbstabstimmung des Regelungsfunktionsblocks (62) durchführt.
14. Prozeßsteuerungssystem mit:
einer Vielzahl kommunikativ miteinander verbundener Steue­ rungseinrichtungen, von denen eine erste einen Prozessor und einen Speicher enthält;
einer Prozeßsteuerungsroutine mit einer Vielzahl miteinander kommunikativ verbundener Funktionsblöcke, wobei jeder Funktionsblock aus dieser Vielzahl kommunikativ miteinander verbundener Funktionsblöcke eine Softwareroutine enthält, die einen zugeordneten Prozessor steuert;
wobei einer der kommunikativ miteinander verbundenen Funktionsblöcke ein Basisfunktionsblock (52) ist, der im Speicher abgelegt ist, um den Betrieb des Prozessors zu steuern, und der Basisfunktionsblock (52) folgendes enthält:
  • - eine erste Reihe prozessorimplementierbarer Anweisungen (55), die den Prozessor veranlassen, eine Funktion in der Prozeßsteuerungsroutine durchzuführen,
  • - einen rücksetzbaren Verzweigungspunkt (56, 57), der innerhalb der Reihe von Anweisungen angeordnet ist; und
  • - einen Modifikationsfunktionsblock (54), der im Speicher abgelegt ist, der kommunikativ mit dem Basisfunktionsblock (52) verbunden ist, und der eine zweite Reihe prozessorimplementierbarer Anweisungen (58) enthält, die eine Operation verändern, die von der ersten Reihe (55) prozessorimplementierbarer Anweisungen im Basisfunktionsblock (52) ausgeführt wird.
15. Prozeßsteuerungssystem nach Anspruch 14, bei dem der rück­ setzbare Verzweigungspunkt (56, 57) einen Zeiger enthält, der auf einen ersten Wert gesetzt werden kann, der den Prozessor veranlaßt, eine weitere aus der ersten Reihe (55) prozessorimplementierbarer Anweisungen im Basisfunktionsblock (52) auszuführen, und auf einen zweiten Wert, der den Prozessor veranlaßt, eine zweite Reihe (58) Anweisungen im Modifikationsfunktionsblock (54) auszuführen.
16. Prozeßsteuerungssystem nach einem der Ansprüche 14 oder 15, das des weiteren eine Schnittstelle (59) enthält, die Daten zwischen dem Basisfunktionsblock (52) und dem Modifikationsfunktionsblock (54) in einer vordefinierten Weise übermittelt, um eine Übertragung zwischen dem Basisfunktionsblock (52) und dem Modifi­ kationsfunktionsblock (54) zu implementieren.
17. Prozeßsteuerungssystem nach einem der Ansprüche 14 bis 16, bei dem die Schnittstelle (59) Datenwerte beinhaltet, die vom Modifikationsfunktionsblock (54) zu manipulieren sind.
18. Prozeßsteuerungssystem nach einem der Ansprüche 14 bis 17, bei dem jeder Funktionsblock der Vielzahl kommunikativ miteinander verbundener Funktionsblöcke in einer anderen Ausführungszeitspanne ausgeführt wird und bei dem sowohl der Basisfunktionsblock (52) als auch der Modifikationsfunktionsblock (54) in der Ausführungs­ zeitspanne ausgeführt werden, die dem Basisfunktionsblock (52) zugeordnet ist, wenn der Zeiger auf den zweiten Wert gesetzt ist.
19. Prozeßsteuerungssystem nach einem der Ansprüche 14 bis 18, bei dem der Zeiger rückstellbar ist, nachdem der Basisfunktionsblock (52) kompiliert und im ersten Speicher abgelegt worden ist.
20. Modifikationsfunktionsblock zur bedingten Änderung des Betriebs eines Basisfunktionsblocks (52) in einer Prozeß­ steuerungsroutine, bei dem der Basisfunktionsblock (52) einen Satz von Anweisungen (55) zur Steuerung eines Prozessors besitzt, um einen Prozeßsteuerungsbetrieb in einer Prozeßsteuerungsroutine auszuführen und einem zurücksetzbaren Zeiger, der, wenn er auf einen ersten Wert gesetzt wird, den Prozessor veranlaßt fortzufahren, den Satz von Anweisungen (55) im Basisfunktionsblock (52) zu implementieren und der, wenn er auf einen zweiten Wert gesetzt wird, veranlaßt, daß die Kontrolle über den Prozessor an den Modifikationsfunktionsblock (54) übergeben wird, wobei der Modifikationsfunktionsblock (54) folgendes aufweist:
  • - eine Schnittstelle (59), die Daten definiert, die dem Basisfunktionsblock (52) zugeordnet sind und vom Modifikationsfunktionsblock (54) zu verwenden sind, wenn der Zeiger im Basisfunktionsblock (52) auf den zweiten Wert gesetzt ist und der Prozessor den Zeiger in dem Satz von Anweisungen (55) im Basisfunktions­ block (52) erreicht;
  • - eine Reihe prozessorimplementierbarer Anweisungen, die in einem rechnerlesbaren Speicher abgelegt sind, die den Prozeßsteuerungsbetrieb verändern, die durch die Menge von Anweisungen im Basisfunktionsblock (52) unter Nutzung der gemäß der Schnittstelle (59) zur Verfügung gestellten Daten durchgeführt wird; und
  • - eine Rücksprunganweisung (58r), die im rechnerlesbaren Speicher abgelegt ist, die die Kontrolle über den Prozessor an dem Satz von Anweisungen (55) im Basisfunktionsblock (52) zurückgibt, wenn die Reihe prozessorimplementierbarer Anweisungen (58) im Modifikationsfunktionsblock (54) vom Prozessor ausgeführt worden ist.
21. Modifikationsfunktionsblock nach Anspruch 20, der eine weitere Schnittstelle (59) enthält, die Daten definiert, die vom Modifikationsfunktionsblock (54) manipuliert wurden und von dem Basisfunktionsblock (52) verwendet werden sollen, wenn der Prozessor die Ausführung der Reihe prozessorimplementierbarer Anweisungen (58) im Modifikationsfunktionsblock (54) abgeschlossen hat.
22. Modifikationsfunktionsblock nach einem der Ansprüche 20 oder 21, bei dem die Schnittstelle (59) Speicheradressen definiert, die den vom Modifikationsfunktionsblock (54) zu verwendenden Daten zugeordnet sind.
23. Modifikationsfunktionsblock nach einem der Ansprüche 20 bis 22, bei dem die Reihe von Anweisungen (58) im Modifikationsfunktionsblock (54) eine Selbstabstimmungsprozedur (66) in Bezug auf den Basis­ funktionsblock (52, 62) implementiert.
24. Verfahren zur Veränderung einer Operation eines Basisfunk­ tionsblocks (52) mit einem Satz von prozessorimplementierbarer Anweisungen (55), die verwendet werden, um einen Teil einer Prozeßsteuerungsroutine in einem Prozeßsteuerungssystem durchzuführen, wobei das Verfahren folgende Schritte umfaßt:
  • - Ablegen des Basisfunktionsblocks (52) im Speicher einer Prozeßsteuerungseinrichtung (12), das einen Prozessor beinhaltet;
  • - Ablegen eines Modifikationsfunktionsblocks (54) im Speicher der Prozeßsteuerungseinrichtung (12), wobei der Modifikationsfunktionsblock (54) eine Reihe prozessorimplementierbarer Anweisungen (58) aufweist, die die Operation verändern, die von dem Satz von Anweisungen (55) im Basisfunktionsblock (52) durchge­ führt wird; und
  • - Anordnen eines rücksetzbaren Zeigers in dem Satz von Anweisungen (55)im Basisfunktionsblock (52), wobei der Zeiger auf einen ersten Wert gesetzt werden kann, der veranlaßt, daß eine weitere Anweisung aus dem Satz von Anweisungen (55) im Basisfunktionsblock (52) vom Prozessor ausgeführt wird, wenn der Prozessor den Zeiger erreicht, und auf einen zweiten Wert, der veranlaßt, daß die Reihe von Anweisungen (58) im Modifikationsfunktionsblock (54) vom Prozessor ausgeführt wird, wenn der Prozessor den Zeiger er­ reicht.
25. Verfahren zur Veränderung des Betriebs eines Basisfunk­ tionsblocks (52) nach Anspruch 24, welcher des weiteren die Schritte zur Definition einer Standardschnittstelle (59), die die vom Modifikationsfunktionsblock (54) zu verwendenden Daten identifiziert, enthält und die Standardschnittstelle (59) dazu verwendet, die Daten dem Modifikationsfunktionsblock (54) zu übergeben, wenn der Zeiger auf den zweiten Wert gesetzt ist und der Prozessor den Zeiger erreicht.
26. Verfahren zur Veränderung des Betriebs eines Basisfunk­ tionsblocks (52) nach einem der Ansprüche 24 oder 25, welches des weiteren den Schritt enthält, den Zeiger vom ersten Wert auf den zweiten zu ändern.
27. Verfahren zur Veränderung des Betriebs eines Basisfunk­ tionsblocks (52) nach einem der Ansprüche 24 bis 26, welches des weiteren den Schritt enthält, den Zeiger vom ersten Wert auf den zweiten Wert zu ändern, wenn der Basisfunktionsblock (52) in einer Prozeßsteuerungsroutine arbeitet, um so die Prozeßsteuerungsroutine zu verändern.
28. Verfahren zur Veränderung des Betriebs eines Basisfunk­ tionsblocks (52) nach einem der Ansprüche 24 bis 27, welches des weiteren die Schritte enthält, die Reihe von Anweisungen (58) im Modifikationsfunktionsblock (54) eine Selbstabstimmungsprozedur (66) definieren zu lassen, den Zeiger im Basisfunktionsblock (52) vom ersten Wert auf den zweiten Wert zu ändern, wenn gewünscht wird, die Selbstabstimmungsprozedur zu implementieren, und den Zeiger im Basisfunktionsblock (52) vom zweiten Wert auf den ersten Wert zu ändern, wenn die Selbstabstimmungsprozedur beendet wird.
DE10012249A 1999-03-15 2000-03-14 Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem Ceased DE10012249A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/270,291 US6510351B1 (en) 1999-03-15 1999-03-15 Modifier function blocks in a process control system

Publications (1)

Publication Number Publication Date
DE10012249A1 true DE10012249A1 (de) 2000-09-21

Family

ID=23030719

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10012249A Ceased DE10012249A1 (de) 1999-03-15 2000-03-14 Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem

Country Status (4)

Country Link
US (1) US6510351B1 (de)
JP (1) JP2000293207A (de)
DE (1) DE10012249A1 (de)
GB (1) GB2351371B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007053451A1 (en) * 2005-10-31 2007-05-10 Honeywell International Inc. System and method for creating serial interface protocols in a process control environment

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035695B2 (en) * 2002-01-22 2006-04-25 Imb Controls Inc. Method and apparatus for tuning a PID controller
AU2003234106A1 (en) * 2002-04-15 2003-11-03 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US7822495B2 (en) * 2002-04-15 2010-10-26 Fisher-Rosemount Systems, Inc. Custom function blocks for use with process control systems
US6847851B1 (en) * 2002-07-12 2005-01-25 John R. Koza Apparatus for improved general-purpose PID and non-PID controllers
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
US9983559B2 (en) * 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
US7035693B2 (en) * 2003-01-23 2006-04-25 Smar Research Corporation Fieldbus relay arrangement and method for implementing such arrangement
KR100507835B1 (ko) * 2003-02-03 2005-08-17 한국과학기술원 Pid 제어기의 최적 게인 선정방법
US7130703B2 (en) * 2003-04-08 2006-10-31 Fisher-Rosemount Systems, Inc. Voter logic block including operational and maintenance overrides in a process control system
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
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7467614B2 (en) 2004-12-29 2008-12-23 Honeywell International Inc. Pedal position and/or pedal change rate for use in control of an engine
CN104834294A (zh) 2005-12-05 2015-08-12 费舍-柔斯芒特系统股份有限公司 利用并行过程仿真的多目标预测过程优化
US7561930B2 (en) * 2006-10-02 2009-07-14 Fisher-Rosemount Systems, Inc. Dynamic modifier function blocks for use in a process control system
US20100083235A1 (en) * 2007-04-26 2010-04-01 Kabushiki Kaisha Toshiba Debug system for diagram of programmable controller, its programming device and its program
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
US9256219B2 (en) * 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
US8620461B2 (en) * 2009-09-24 2013-12-31 Honeywell International, Inc. Method and system for updating tuning parameters of a controller
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
US8504175B2 (en) 2010-06-02 2013-08-06 Honeywell International Inc. Using model predictive control to optimize variable trajectories and system control
US9447963B2 (en) 2010-08-16 2016-09-20 Emerson Process Management Power & Water Solutions, Inc. Dynamic tuning of dynamic matrix control of steam temperature
US9335042B2 (en) 2010-08-16 2016-05-10 Emerson Process Management Power & Water Solutions, Inc. Steam temperature control using dynamic matrix control
US9217565B2 (en) 2010-08-16 2015-12-22 Emerson Process Management Power & Water Solutions, Inc. Dynamic matrix control of steam temperature with prevention of saturated steam entry into superheater
US9677493B2 (en) 2011-09-19 2017-06-13 Honeywell Spol, S.R.O. Coordinated engine and emissions control system
US9163828B2 (en) 2011-10-31 2015-10-20 Emerson Process Management Power & Water Solutions, Inc. Model-based load demand control
US9650934B2 (en) 2011-11-04 2017-05-16 Honeywell spol.s.r.o. Engine and aftertreatment optimization system
US20130111905A1 (en) 2011-11-04 2013-05-09 Honeywell Spol. S.R.O. Integrated optimization and control of an engine and aftertreatment system
US9213329B2 (en) * 2012-10-25 2015-12-15 Honeywell Gmbh System and method for vendor release independent reusable customized function block libraries
EP3051367B1 (de) 2015-01-28 2020-11-25 Honeywell spol s.r.o. Ansatz und system zur handhabung von einschränkungen für gemessene störungen mit unsicherer vorschau
EP3056706A1 (de) 2015-02-16 2016-08-17 Honeywell International Inc. Ansatz zur nachbehandlungssystemmodellierung und modellidentifizierung
EP3091212A1 (de) 2015-05-06 2016-11-09 Honeywell International Inc. Identifikationsansatz für verbrennungsmotor-mittelwertmodelle
EP3734375B1 (de) 2015-07-31 2023-04-05 Garrett Transportation I Inc. Quadratischer programmlöser für mpc mit variabler anordnung
US10272779B2 (en) 2015-08-05 2019-04-30 Garrett Transportation I Inc. System and approach for dynamic vehicle speed optimization
US10415492B2 (en) 2016-01-29 2019-09-17 Garrett Transportation I Inc. Engine system with inferential sensor
US10036338B2 (en) 2016-04-26 2018-07-31 Honeywell International Inc. Condition-based powertrain control system
US10124750B2 (en) 2016-04-26 2018-11-13 Honeywell International Inc. Vehicle security module system
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
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
US11199120B2 (en) 2016-11-29 2021-12-14 Garrett Transportation I, Inc. Inferential flow sensor
US11057213B2 (en) 2017-10-13 2021-07-06 Garrett Transportation I, Inc. Authentication system for electronic control unit on a bus
JP7444787B2 (ja) * 2018-05-07 2024-03-06 ラム リサーチ コーポレーション 構成可能な分散インターロック-システム
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4115853A (en) * 1976-12-21 1978-09-19 Allen-Bradley Company Jump structure for a digital control system
US4271505A (en) 1979-07-02 1981-06-02 The Foxboro Company Process communication link
US4491916A (en) * 1979-11-05 1985-01-01 Litton Resources Systems, Inc. Large volume, high speed data processor
US4539633A (en) * 1982-06-16 1985-09-03 Tokyo Shibaura Denki Kabushiki Kaisha Digital PID process control apparatus
US4627045A (en) 1984-02-14 1986-12-02 Rosemount Inc. Alternating communication channel switchover system
DE3419559A1 (de) * 1984-05-25 1985-11-28 Robert Bosch Gmbh, 7000 Stuttgart Steuervorrichtung fuer funktionen im kraftfahrzeug
US4691328A (en) 1985-08-12 1987-09-01 The Babcock & Wilcox Company On-line serial communication interface from a computer to a current loop
US4831558A (en) 1986-08-26 1989-05-16 The Slope Indicator Company Digitally based system for monitoring physical phenomena
US4965742A (en) * 1987-09-30 1990-10-23 E. I. Du Pont De Nemours And Company Process control system with on-line reconfigurable modules
US5193189A (en) 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US4918690A (en) 1987-11-10 1990-04-17 Echelon Systems Corp. Network and intelligent cell for providing sensing, bidirectional communications and control
JPH01274202A (ja) 1988-04-27 1989-11-02 Japan Tobacco Inc ループ制御装置
US5109692A (en) 1988-08-25 1992-05-05 Fisher Controls International Inc. Diagnostic apparatus and method for fluid control valves
US4976144A (en) 1988-08-25 1990-12-11 Fisher Controls International, Inc. Diagnostic apparatus and method for fluid control valves
US5197328A (en) 1988-08-25 1993-03-30 Fisher Controls International, Inc. Diagnostic apparatus and method for fluid control valves
US4955305A (en) 1988-09-23 1990-09-11 Melco Industries, Inc. Modular system for use with X-Y peripherals
US5148433A (en) 1989-03-13 1992-09-15 Square D Company Transfer network interface
US5023869A (en) 1989-03-27 1991-06-11 Alberta Telecommunications Research Centre Method and apparatus for maximizing the transmission capacity of a multi-channel bidirectional communications link
US4974625A (en) 1989-07-24 1990-12-04 Fisher Controls International, Inc. Four mode pneumatic relay
CA2075048C (en) 1990-01-30 1999-08-17 Gregory A. Pascucci Networked facilities management system
GB9006661D0 (en) 1990-03-24 1990-05-23 Reflex Manufacturing Systems L Network-field interface for manufacturing systems
EP0450116B1 (de) 1990-04-02 1995-01-11 Siemens Aktiengesellschaft Automatisierungsgerät mit Test in einzelnen Schritten
US5127090A (en) * 1990-09-07 1992-06-30 Square D Company Map interface unit for industrial programmable logic controllers
DE69211969T2 (de) 1991-12-09 1997-01-09 Yokogawa Electric Corp Verteiltes Steuersystem
US5390351A (en) 1992-03-06 1995-02-14 Pitney Bowes Inc. System for communicating with plural nodes in predetermined intervals depended on integers assigned and changed based upon configuration thereof
US5404524A (en) 1992-04-03 1995-04-04 International Business Machines Corporation System for identifying attached input pointing devices, loading associated software routines, and interacting with anyone input pointing device while disabling the others
US5386503A (en) 1992-06-16 1995-01-31 Honeywell Inc. Method for controlling window displays in an open systems windows environment
US5439021A (en) 1992-09-09 1995-08-08 Fisher Controls International, Inc. Electro-pneumatic converter
CA2107519C (en) 1992-10-05 2002-04-09 Stephen George Seberger Communication system and method
AU5442494A (en) 1992-10-13 1994-05-09 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US5469150A (en) 1992-12-18 1995-11-21 Honeywell Inc. Sensor actuator bus system
JP2689836B2 (ja) 1992-12-21 1997-12-10 株式会社日立製作所 監視制御方法及び監視制御システム
GB9306892D0 (en) 1993-04-01 1993-05-26 Emhart Int Ltd Control of plungers in glassware forming machines
US5530643A (en) 1993-08-24 1996-06-25 Allen-Bradley Company, Inc. Method of programming industrial controllers with highly distributed processing
US5549137A (en) 1993-08-25 1996-08-27 Rosemount Inc. Valve positioner with pressure feedback, dynamic correction and diagnostics
US5404289A (en) * 1993-08-30 1995-04-04 National University Of Singapore Controller apparatus having improved transient response speed by means of self-tuning variable set point weighting
US5631825A (en) 1993-09-29 1997-05-20 Dow Benelux N.V. Operator station for manufacturing process control system
US5485455A (en) 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5434774A (en) 1994-03-02 1995-07-18 Fisher Controls International, Inc. Interface apparatus for two-wire communication in process control loops
ATE187824T1 (de) 1994-10-24 2000-01-15 Fisher Rosemount Systems Inc Vorrichtung, die einen zugang zu feldgeräten in einem verteilten steuerungssystem gestattet
DE19510466A1 (de) 1995-03-26 1996-10-02 Klaschka Gmbh & Co Digitale Steuerung und Verknüpfungseinheit für eine solche
US5592622A (en) 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US5650777A (en) 1995-06-07 1997-07-22 Rosemount Inc. Conversion circuit for process control system
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
US5892934A (en) * 1996-04-02 1999-04-06 Advanced Micro Devices, Inc. Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine
US5838563A (en) 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5801942A (en) 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
US5768119A (en) 1996-04-12 1998-06-16 Fisher-Rosemount Systems, Inc. Process control system including alarm priority adjustment
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
US6424872B1 (en) * 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
US5956758A (en) * 1997-10-31 1999-09-21 Digital Equipment Corporation Method for determining target address of computed jump instructions in executable programs
JP2000047857A (ja) * 1998-07-27 2000-02-18 Yamatake Corp イベント駆動型ファンクションブロックのプログラミング方法とプログラム記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007053451A1 (en) * 2005-10-31 2007-05-10 Honeywell International Inc. System and method for creating serial interface protocols in a process control environment

Also Published As

Publication number Publication date
US6510351B1 (en) 2003-01-21
GB2351371B (en) 2003-11-26
GB0001438D0 (en) 2000-03-08
GB2351371A (en) 2000-12-27
JP2000293207A (ja) 2000-10-20

Similar Documents

Publication Publication Date Title
DE10012249A1 (de) Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem
DE10012258B4 (de) Selbst-Abstimmung in einer verteilten Prozeß-Regelumgebung
DE60018209T2 (de) Umprogrammierbares feldgerät in einem verteilten prozesssteuerungssystem
DE10165123B3 (de) Integrierte Optimalmodell-Vorhersagesteuerung in einem Prozeßsteuerungssystem
DE102004026979B4 (de) Vielfacheingabe- /Vielfachausgabe-Steuer-/Regelblöcke mit nichtlinearen Vorhersagefähigkeiten
EP1606673B1 (de) Verfahren zur übertragung von softwarecode von einer steuereinheit zu einem feldgerät der prozessautomatisierungstechnik
DE102007046965A1 (de) Dynamische Modifikationsfunktionsblöcke zur Verwendung in einem Prozesssteuerungssystem
DE10021698A1 (de) Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem
EP1182528A2 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
DE102018114592A1 (de) Synchronisation von konfigurationsänderungen in einer prozessanlage
DE102017117038A1 (de) Anlagenbausystem mit integrierter simulation und kontrollsystem-konfiguration
DE10341764A1 (de) Integrierte Modell-Vorhersagesteuerung und -Optimierung innerhalb eines Prozesssteuerungssystems
DE10031671A1 (de) Dynamische Einheitsauswahl in einem Prozessregelsystem
DE102020118259A1 (de) Echtzeitsteuerung unter verwendung der gerichteten vorhersage-simulation innerhalb eines steuerungssystems einer prozessanlage
DE10031670A1 (de) Automatisch heruntergeladener verbindungsaktiver Plan
EP3246773B1 (de) Verfahren zur parametrierung einer verfahrens- oder prozesstechnischen anlage
WO2001052005A1 (de) Universelle bewegungssteuerung
DE10253603A1 (de) Verfahren zum Erzeugen von Softwaremodulen für Feldgeräte der Prozessautomatisierungstechnik
EP1548527B1 (de) Steuerungs- oder Regelungseinrichtung einer Werkzeug- oder Produktionsmaschine
EP0838054B1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
DE102021111244A1 (de) Ferneinsatz und -inbetriebnahme von arbeitsstationen innerhalb eines verteilten steuersystems
DE102004045196A1 (de) Verfahren zur Anpassung von Parametern einer Steuerungs- oder Regelungseinrichtung
EP3457234B1 (de) Verfahren zum computerunterstützten bereitstellen einer in form von computercode vorliegenden information zu einem prozessmodul
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
EP0608762B1 (de) Verfahren zur Einbindung unscharfer Logik in den Funktionsumfang standardisierter Automatisierungssysteme

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: JUNDT, LARRY O., ROUND ROCK, TEX., US

Inventor name: NIXON, MARK J., ROUND ROCK, TEX., US

Inventor name: STEVENSON, DENNIS L., ROUND ROCK, TEX., US

Inventor name: BLEVINS, TERRENCE L., ROUND ROCK, TEX., US

8131 Rejection