DE10031671A1 - Dynamische Einheitsauswahl in einem Prozessregelsystem - Google Patents

Dynamische Einheitsauswahl in einem Prozessregelsystem

Info

Publication number
DE10031671A1
DE10031671A1 DE10031671A DE10031671A DE10031671A1 DE 10031671 A1 DE10031671 A1 DE 10031671A1 DE 10031671 A DE10031671 A DE 10031671A DE 10031671 A DE10031671 A DE 10031671A DE 10031671 A1 DE10031671 A1 DE 10031671A1
Authority
DE
Germany
Prior art keywords
devices
procedure
selection
routine
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
DE10031671A
Other languages
English (en)
Inventor
William G Irwin
David L Deitz
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 DE10031671A1 publication Critical patent/DE10031671A1/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] or 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] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31121Fielddevice, field controller, interface connected to fieldbus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31135Fieldbus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31138Profibus process fieldbus
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33125System configuration, reconfiguration, customization, automatic
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)

Abstract

Ein Prozessregelsystem enthält einen Regler, der eine Regelroutine ausführt, die eine Reihe von Geräteprozeduren innerhalb eines Prozesses durchführt. Die Regelroutine ist so geschrieben oder so erzeugt worden, dass die Klasse des Gerätes, die für jede Geräteprozedur zu verwenden ist, nicht jedoch das aktuelle Gerät selbst spezifiziert werden kann. Beim Start von jeder Geräteprozedur der Regelroutine, wählt eine dynamische Geräteauswahlroutine eine bestimmtes Gerät als das Gerät aus, das während der Operation dieser Geräteprozedur zu verwenden ist. Wenn es aufgerufen wird, bestimmt die dynamische Gerätewahlroutine einen Satz von möglichen Geräten, die zu verwenden sind, bestimmt, ob jedes des Satzes der möglichen Geräte für die Verwendung während dieser Geräteprozedur der Regelroutine geeignet ist, und zwar basierend auf einem Eignungs-Kriterium, vergibt Prioritäten an die Geräte, die das Eignungs-Kriterium erfüllen, und zwar basierend auf einem Prioritätskriterium, und wählt das bestimmte Gerät aus der Prioritätsvergabeliste der geeigneten Geräte in der Reihenfolge der Prioritäten aus. Die dynamische Geräteauswahlroutine kann bestimmen, ob eines oder mehrere der Geräte in der Prioritätenvergabeliste der geeigneten Geräte genutzt werden kann bzw. können und kann das erste Gerät in der Prioritätenvergabeliste des geeigneten Gerätes auswählen, das genutzt werden kann, und zwar als das Gerät, das durch die Regelroutine zu verwenden ist.

Description

GEBIET DER ERFINDUNG
Die vorliegende Erfindung betrifft allgemein Prozessregelnetzwerke und, spezifischer, dynamisch auszuwählende Hardware-Geräte oder Ausrüstung zur Verwendung in einem Prozess, wie beispielsweise einem Stapelprozess, und zwar während eines Laufes des Prozesses.
BESCHREIBUNG DES STANDES DER TECHNIK
Prozessregelnetzwerke, wie solche, die in chemischen, Erdöl- oder anderen Prozessen verwendet werden, enthalten allgemein einen zentralisierten Prozessregler, der kommunikativ mit einer oder mit mehreren Feldvorrichtungen gekoppelt ist, die beispielsweise aus Ventilstellgliedern, Schaltern, Sensoren (wie beispielsweise Temperatur-, Druck- und Strömungsratensensoren) usw. bestehen können. Diese Feldvorrichtungen können physikalische Steuerfunktionen innerhalb des Prozesses (wie beispielsweise das Öffnen oder Schließen eines Ventils) durchführen, können innerhalb des Prozesses Messungen zur Steuerung oder Regelung des Prozessablaufes vornehmen oder können irgendeine andere gewünschte Funktion innerhalb des Prozesses ausführen. Prozessregler wurden in herkömmlicher Weise mit Feldvorrichtungen über eine oder mehrere analoge Signalleitungen oder Busse verbunden, die beispielsweise 4-20 mA (Milliampere) Signale zu und von den Feldvorrichtungen übertragen. In neuerer Zeit hat jedoch die Prozessregelindustrie eine Anzahl von standardisierten offenen, digitalen oder kombinierten digitalen und analogen Kommunikationsprotokollen entwickelt, wie beispielsweise die FOUNDATION™ FIELDBUS (im Folgenden mit "Fieldbus" bezeichent), HART®-, PROFIBUS®-, WORLDFIP®-, Device-Net®- und CAN- Protokolle, die dazu verwendet werden können, um Kommunikationen zwischen einem Regler und Feldvorrichtungen zu implementieren. Allgemein gesagt, empfängt der Prozessregler Signale, welche Messungen angeben, die durch eine oder mehrere Feldvorrichtungen gemacht wurden und/oder andere Informationen angeben, welche die Feldvorrichtungen betreffen, und er verwendet diese Informationen, um eine typische komplexe Regelroutine zu implementieren, und er erzeugt Steuersignale, die über die Signalleitungen oder Busse zu den Feldvorrichtungen gesendet werden, um dadurch den Prozessablauf zu steuern oder zu regeln.
Bestimmte Typen von Prozessregelnetzwerken, wie beispielsweise solche, die in Stapelprozessen (batch processes) verwendet werden, enthalten in typischer Weise mehrere Sätze replizierter Ausrüstung, die so ausgelegt ist, dass die gleiche oder eine ähnliche Ausrüstung, die im Wesentlichen gleiche Funktion innerhalb der Prozesse ausführt. Somit kann beispielsweise eine Anlage zur Herstellung von Keksen mehrere Sätze einer Mischausrüstung enthalten, ebenso mehrere Sätze von einer Backausrüstung und mehrere Sätze von einer Verpackungsausrüstung enthalten, wobei einige oder alle der individuellen Mischer die Fähigkeit haben, parallel betrieben zu werden und auch so angeschlossen zu werden, dass sie in Reihe arbeiten, und zwar mit einigen oder mit allen Backausrüstungen und Verpackungsausrüstungen. In solch einem System ist es wünschenswert, die Möglichkeit zu haben, den gleichen Regelalgorithmus oder die gleiche Regelroutine zu verwenden, um den Betrieb von irgendeinem bestimmten Satz der replizierten Ausrüstung zu regeln oder zu steuern, um dadurch die Zahl der Regelroutinen zu reduzieren, die innerhalb des Reglers erzeugt und gespeichert werden müssen. Jedoch müssen diese Regelalgorithmen so geschrieben werden, dass dann, wenn sie ausgeführt werden, diese die Ausrüstung eines bestimmten Gerätes spezifizieren, das zu dem Zeitpunkt zu verwenden ist. In typischer Weise werden jedoch bei einer Stapelprozedur eine Anzahl von unterschiedlichen Schritten oder Stufen in einer Sequenz durchgeführt, wobei die erste Stufe beendet wird, bevor mit der zweiten Stufe begonnen wird. Somit läuft bei der Anlage zur Herstellung von Keksen, die oben beschrieben wurde, die Stapelprozedur gemäß einem ersten Subprozess oder -schritt, um die Mischausrüstung zu steuern oder zu regeln, läuft dann gemäß einem zweiten Subprozess, um die Backausrüstung zum Laufen zu bringen, und zwar in Bezug auf das Produkt, welches durch die Mischausrüstung hergestellt worden ist, und wobei dann ein dritter Subprozess zum Laufen gebracht wird, der die Verpackungsausrüstung steuert oder regelt, um das durch die Backausrüstung erzeugte Produkt zu verpacken.
Bei früheren Prozessregelsystemen musste der Anwender in typischer Weise spezifizieren, welches Gerät oder Satz der Geräte in jeder Stufe oder Geräteprozedur eines bestimmten Stapels zu verwenden ist, der zu dem Zeitpunkt abläuft, zu dem die Stapelprozedur oder Formulierung (Rezeptur) (das heißt die allgemeinen Stapelinstruktionen) geschrieben werden oder, alternativ, zu dem Zeitpunkt, zu welchem die Stapelprozedur zuerst zu arbeiten beginnt, das heißt zu dem Zeitpunkt, zu dem die erste Stufe oder Geräteprozedur des Stapelprozesses gestartet wird. Dies bedeutet natürlich, dass der Anwender die Ausrüstung oder Geräte, die in den späteren Stufen oder Geräteprozeduren des Stapellaufes verwendet werden sollen und welche manchmal für Stunden oder selbst für Tage nicht benötigt werden, zu dem Zeitpunkt auswählen muß, zu dem die Stapelprozedur geschrieben oder erstmalig gestartet wird. Diese Vorauswahl bedeutet, dass die ausgewählte Ausrüstung eingebunden wird und solange nicht verwendet werden kann, bis der gesamte Stapellauf vervollständigt worden ist oder zumindest bis der Abschnitt, der die bezeichnete Ausrüstung verwendet, vervollständigt ist. Diese Vorauswahl macht es auch erforderlich, dass die bezeichneten Geräte bereit sind und verfügbar sind (das heißt lauffähig sind), wenn die Stufe des Stapelprozesses, der solche Geräte verwendet, beginnt, was dann zu Problemen bei der Vervollständigung des Stapellaufes führen kann, und zwar auf Grund eines Ausfalls der Ausrüstung innerhalb der bezeichneten Geräte usw. Diese Vorauswahl bedeutet auch, dass der Anwender oder Operator im Voraus vor deren Verwendung die Ausrüstung einplanen muss, was die Optionen des Operators bei der Planung von anderen Läufen des gleichen Stapelprozesses oder Läufe von anderen Stapelprozessen einschränkt, welche diese Ausrüstung in der Zwischenzeit verwenden könnten.
Während einige bekannte Regelsysteme die Fähigkeit haben, einem Anwender die Möglichkeit zu bieten, von Hand ein bestimmtes Gerät auszuwählen, um einen bestimmten Teil eines Gesamtstapelprozesses zu dem Zeitpunkt, zu welchem der bestimmte Teil oder Subprozess der Stapelprozedur beginnen soll, auszuführen, wählen diese Systeme nicht automatisch eine Gruppe von Kandidateneinheiten aus, die ausgewählt werden können, und geben auch keine Prioritäten an die Geräte, die verfügbar sind. Als ein Ergebnis erfordert die Handauswahl der Geräte zu dem Zeitpunkt, zu welchem die Geräte verwendet werden sollen, noch eine Menge an Vorausdenken und Wissen auf Seiten des Operators oder Anwenders, um sicherzustellen, dass das richtige Gerät zu dem richtigen Zeitpunkt ausgewählt wird.
ZUSAMMENFASSUNG DER ERFINDUNG
Ein Prozessregelsystem enthält eine oder mehrere Prozessregelroutinen, welche dynamisch eines oder mehrere der Geräte (oder Sätze der Ausrüstung) auswählt, die während irgendeiner Einheitsstufe oder Geräteprozedur derselben zu verwenden sind, und zwar basierend auf der Eingabe des Anwenders; auf vorbestimmten Prioritäten und Kriterien, welche die Eigenschaften der verfügbaren Geräte betreffen; auf der Grundlage früherer Einheitsauswahlentscheidungen, die während des Laufes des Prozesses getroffen wurden; auf Ausrüstungsstranginformationen, die im Voraus erstellte Koppelungen zwischen unterschiedlichen Geräten reflektieren; auf der Grundlage von Informationen, die Klassen betreffen, zu denen die Geräte gehören usw. Die Auswahl eines Gerätes kann zu dem Zeitpunkt vorgenommen werden, zu welchem das Gerät verwendet werden soll, anstatt dann, wenn der Stapellauf begonnen hat, was eine dynamische Planung der unterschiedlichen Geräte ermöglicht, was seinerseits eine bessere Verwendung der unterschiedlichen Geräte innerhalb eines Systems gestattet, in welchem mehrere Prozesse oder Stapel ablaufen. Diese dynamische Auswahl verringert auch den Bedarf dafür, sicherzustellen, dass ein bestimmtes Gerät Online und zu einem bestimmten Zeitpunkt verfügbar ist nur deshalb, weil der Stapellauf, der dieses Gerät für einen stromabwärtigen Subprozess spezifiziert, zu einem früheren Zeitpunkt gestartet wurde.
Es wird eine allgemeine Stapelprozedur so geschrieben, dass sie eine oder mehrere Geräteprozeduren enthält (das heißt einen Satz von Operationen, die an einem einzelnen Gerät ausgeführt werden). Eine oder mehrere der Geräteprozeduren enthalten einen Aufruf einer dynamischen Geräteauswahlprozedur, die einen Satz von möglichen Geräten bestimmt, die für den Subprozess verwendet werden können, der basierend auf einer Ausrüstungskette, eines Ausrüstungsstranges oder einer Prozesszelle ausgeführt wird, und in welchem bzw. in welcher die Stapelprozedur ablaufen soll. Die dynamische Geräteauswahlprozedur identifiziert dann geeignete Geräte für die bestimmte Geräteprozedur des Stapellaufes, die basierend auf den Eigenschaften der Geräte, den früheren Auswahlkriterien, Anwenderbefehlen usw. implementiert werden. Die dynamische Auswahlroutine kann dann geeignete Geräte mit Prioritäten versehen, und zwar basierend auf vom Anwender erzeugten Prioritätsinformationen oder anderen Kriterien, die für diese Geräte an früherer Stelle erstellt wurden. Die dynamische Auswahlprozedur wählt dann ein Gerät zur Verwendung aus, indem sie durch die Prioritätenliste der geeigneten Geräte hindurchgeht und nachsieht, ob jedes aufeinander folgende Gerät in der Prioritätenliste Online und verfügbar ist, das heißt momentan nicht verwendet wird oder in anderer Weise zur Verwendung vorgesehen ist. Die dynamische Auswahlprozedur wählt das erste Gerät aus, das verfügbar ist und gibt dann den Namen und andere Informationen, welche dieses Gerät betreffen, an die Geräteprozedur zurück, die dann damit beginnt, Operationen unter Verwendung des neuerlich ausgewählten Gerätes durchzuführen.
KURZ BESCHREIBUNG DER ZEICHNUNGEN
Fig. 1 ist ein partielles Blockschaltbild, ein teilweises schematisches Diagramm eines Abschnitts eines Prozessregelnetzwerks, welches eine oder mehrere Regelroutinen verwendet, welche dynamisch Geräte während des Betriebes desselben auswählen;
Fig. 2 ist ein Blockschaltbild eines Satzes einer untereinander verbundenen Ausrüstung, die aus drei Ausrüstungssträngen innerhalb des Prozessregelnetzwerks von Fig. 1 besteht;
Fig. 3 ist ein Blockschaltbild einer Objektstruktur, die eine konzeptmäßige Konfiguration des Prozessregelnetzwerks von den Fig. 1 und 2 veranschaulicht; und
Fig. 4 zeigt ein Blockdiagramm einer Prozessregelroutine, welche während der Ausführung eines jeden mehrerer Subprozesse oder Geräteprozeduren, diese zugeordneten Geräte dynamisch auswählt.
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
Um nun auf Fig. 1 einzugehen, so enthält ein Prozessregelnetzwerk 10 einen Prozessregler 12, der an zahlreiche Workstations 14 gekoppelt ist, und zwar über beispielsweise eine Ethernet-Verbindung 15. Der Regler 12 ist auch an Vorrichtungen oder eine Ausrüstung innerhalb eines Prozesses gekoppelt (allgemein durch das Bezugszeichen 16 bezeichnet), und zwar über eine Eingangs-/Ausgangs-(I/O)- Vorrichtung (nicht gezeigt), und einen Satz von Kommunikationsleitungen oder einen Bus 18. Der Regler 12, der, um ein Beispiel zu nennen, aus einem DeltaV™ -Regler bestehen kann, der von Fisher-Rosemount Systems, Inc. vertrieben wird, kann mit den Steuerelementen kommunizieren, wie beispielsweise mit Feldvorrichtungen und Funktionsblöcken innerhalb der Feldvorrichtungen, die über den Prozess 16 hinweg verteilt sind, um eine oder mehrere Prozessregelroutinen durchzuführen und dadurch die gewünschte Steuerung oder Regelung des Prozesses 16 zu realisieren. Diese Prozessregelroutinen können kontinuierlich sein oder können Stapelprozessregelroutinen oder -prozeduren sein. Die Workstations 14 (die beispielsweise aus Personalcomputern bestehen können) können durch einen oder mehrere Ingenieure oder Operatoren verwendet werden, um Prozessregelroutinen zu entwerfen, die durch den Regler 12 ausgeführt werden sollen; um mit dem Regler 12 zu kommunizieren, um solche Prozessregelroutinen herabzuladen; Anzeigeinformationen, die den Prozess 16 betreffen, während des Betriebes des Prozesses 16 zu empfangen und um in anderer Weise mit den Prozessregelroutinen, die durch die Regler 12 ausgeführt werden, zu interagieren. Jede der Workstations 14 enthält einen Speicher 20 zum Speichern von Anwendungen, wie beispielsweise Anwendungen zur Konfigurationsgestaltung und zum Speichern von Daten, wie beispielsweise Konfigurationsdaten, welche die Konfiguration des Prozesses 16 betreffen. Jede der Workstations 14 enthält auch einen Prozessor 21, der Anwendungen ausführt, um einem Anwender die Möglichkeit zu bieten, die Prozessregelroutinen zu erstellen und um diese Prozessregelroutinen zu dem Regler 12 herabzuladen. In gleicher Weise enthält der Regler 12 einen Speicher 22, um Konfigurationsdaten und Prozessregelroutinen zu speichern, die für die Steuerung oder Regelung des Prozesses 16 verwendet werden, und enthält einen Prozessor 24, der die Prozessregelroutinen ausführt, um eine Prozessregelstrategie zu implementieren. Wenn der Regler 12 aus einem DeltaV-Regler besteht, kann eine grafische Darstellung der Prozessregelroutinen innerhalb des Reglers 12 einem Anwender über eine der Workstations 14 dargeboten werden, welche Steuerelemente innerhalb der Prozessregelroutine und die Art und Weise veranschaulicht, in welcher diese Steuerelemente zur Regelung oder Steuerung des Prozesses 16 konfiguriert sind.
In dem als Beispiel gewählten Prozessregelnetzwerk 10, welches in Fig. 1 veranschaulicht ist, ist der Regler 12 kommunikativ über den Bus 18 mit zwei Sätzen einer ähnlich konfigurierten Ausrüstung verbunden, wobei jeder Satz eine Reaktoreinheit umfasst, die hier als Reactor_01 (R1) oder Reactor_02 (R2) bezeichnet wird, weiter mit einer Filtereinheit verbunden, die hier als Filter_01 (F1) oder Filter_02 (F2) bezeichnet wird, und einer Trocknereinheit verbunden, die hier als Dryer_01 (D1) oder Dryer_02 (D2) bezeichnet wird. Der Reactor_01 enthält einen Reaktorbehälter 100, zwei Eingangsventile 101 und 102, die so angeschlossen sind, dass Fluideinlassleitungen gesteuert werden können, die ein Strömungsmittel beispielsweise von einem Kopftank (nicht gezeigt) in den Reaktorbehälter 100 leiten, und mit einem Ausgangsventil 103 verbunden, welches so angeschlossen ist, dass die Strömungsmittelströmung aus dem Reaktorbehälter 100 über eine Auslassströmungsmittelleitung gesteuert werden kann. Eine Vorrichtung 105, die aus einem Sensor bestehen kann, wie beispielsweise einem Temperatursensor, einem Drucksensor, einem Strömungsmittelpegelmessgerät usw., oder aus irgendeiner anderen Ausrüstung, wie beispielsweise einem elektrischen Heizer oder einem Dampfheizer, ist in oder nahe dem Reaktorbehälter 100 angeordnet. Der Reactor_01 ist über das Ventil 103 an das Filter_01 gekoppelt, welches die Filterausrüstung 110 umfasst, die ihrerseits an den Dryer_01 gekoppelt ist, der die Trocknerausrüstung 120 umfasst. In ähnlicher Weise enthält der zweite Satz der Ausrüstung den Reactor_02, der einen Reaktorbehälter 200, zwei Eingangsventile 201 und 202, ein Ausgangsventil 203 und eine Vorrichtung 205 enthält. Der Reactor_02 ist an das Filter_02 gekoppelt, welches die Filterausrüstung 210 umfasst, die ihrerseits an den Dryer_02 gekoppelt ist, der die Trocknerausrüstung 220 enthält. Die Filterausrüstung 110 und 210 und die Trocknerausrüstung 120 und 220 können zusätzliche Steuerelemente(wie beispielsweise Heizvorrichtungen, Förderriemen und Ähnliches), Sensoren usw. enthalten, die diesen zugeordnet sind.
Wie in Fig. 1 veranschaulicht ist, ist der Regler 12 kommunikativ mit den Ventilen 101-103, 201-203, an die Vorrichtungen 105, 205, an die Filter 110, 210 und an die Trockner 120 und 220 gekoppelt (und auch an andere zugeordnete Ausrüstungen), und zwar über den Bus 18, um den Betrieb dieser Elemente zu steuern, so dass eine oder mehrere Operationen in Bezug auf diese Geräten durchgeführt werden können. Solche Operationen können beispielsweise das Füllen der Reaktorbehälter oder der Trockner, das Erhitzen des Materials innerhalb der Reaktorbehälter oder der Trockner, das Entleeren der Reaktorbehälter oder Trockner, Reinigen der Reaktorbehälter oder der Trockner, Betrieben der Filter usw. beinhalten.
Die Ventile, Sensoren und andere Ausrüstungen, die in Fig. 1 veranschaulicht sind, können von irgendeiner Art oder einem Typ einer Ausrüstung sein, die beispielsweise Fieldbus- Vorrichtungen, Standard-420-mA-Vorrichtungen, HART- Vorrichtungen usw. enthalten und die mit dem Regler 12 kommunizieren können, unter Verwendung irgendeines bekannten oder gewünschten Kommunikationsprotokolls, wie beispielsweise dem Fieldbus-Protokoll, dem HART-Protokoll, dem 420-mA-Analog- Protokoll usw. Darüber können andere Typen von Vorrichtungen angeschlossen sein und können durch den Regler 12 in Einklang mit den Prinzipien der vorliegenden Erfindung gesteuert oder geregelt werden. Auch können andere Regler mit dem Regler 12 und mit den Workstations 14 über die Ethernet- Kommunikationsleitung 12 verbunden sein, um andere Vorrichtungen oder Bereiche zu steuern oder zu regeln, die dem Prozess 16 zugeordnet sind, und der Betrieb von solchen zusätzlichen Reglern kann mit dem Betrieb des Reglers 12, der in Fig. 1 veranschaulicht ist, in irgendeiner gewünschten Weise koordiniert sein.
Allgemein gesagt, kann das Prozessregelsystem von Fig. 1 dazu verwendet werden, um Stapelprozesse zu implementieren, bei denen beispielsweise eine der Workstations 14 oder der Regler 12 einen Stapelablaufteil oder eine Stapelprozedur ausführt. Die Stapelprozedur (die in typischer Weise in einer der Workstations 14 abläuft), besteht aus einer Regelroutine höherer Ebene, die den Betrieb von einer oder von mehreren Geräteprozeduren lenkt, die aus Subroutinen oder -prozessen bestehen, welche auf einem einzelnen Gerät betrieben werden, wie beispielsweise einem der Reaktoreinheiten, Filtereinheiten, den Trocknereinheiten oder anderen Ausrüstungen. Jede Geräteprozedur (die ebenfalls allgemein auf der Workstation 14 abläuft) kann eine Reihe von Operationen ausführen, von denen jede eine oder mehrere Phasen an einem Gerät durchführen kann. Zum Zwecke dieser Erläuterung besteht eine Phase aus der Aktion gemäß der niedrigsten Ebene oder einem Schritt, der an einem Gerät ausgeführt wird und ist in typischer Weise in einem der Regler 12 implementiert oder wird in diesem ausgeführt, wobei eine Operation aus einem Satz von Phasen besteht, die eine bestimmte Funktion an dem Gerät ausführt und in typischer Weise an einer der Workstations 14 implementiert ist oder ausgeführt wird, indem eine Reihe der Phasen aufgerufen werden, während eine Geräteprozedur aus einer Reihe von einer oder mehreren Operationen besteht, die an einem einzelnen Gerät ausgeführt wird oder werden und in typischer Weise als ein Satz der Operationsrufe implementiert ist. Als Folge kann irgendeine Geräteprozedur eine oder mehrere Phasen und/oder eine oder mehrere Operationen enthalten. Auf diese Weise führt der Stapelablaufteil unterschiedliche Schritte oder Stufen durch (das heißt Geräteprozeduren), die zur Herstellung eines Produktes benötigt werden, wie beispielsweise einem Nahrungsmittelprodukt, einem Arzneimittel usw. Um unterschiedliche Geräteprozeduren, Operationen und Phasen zu implementieren, verwendet die Stapelprozedur dasjenige, was allgemein als ein Rezept bezeichnet wird, welches die Schritte spezifiziert, die ausgeführt werden müssen, die Mengen und auch die Zeitpunkte spezifiziert, die den Schritten zugeordnet sind, und zwar in der Reihenfolge der Schritte. Die Schritte für ein Rezept können beispielsweise das Füllen eines Reaktorbehälters mit geeigneten Materialien und Ingredienzien, das Mischen der Materialien innerhalb des Reaktorbehälters, Erhitzen der Materialien innerhalb des Reaktorbehälters auf eine bestimmte Temperatur für eine bestimmte Zeitdauer, Entleeren des Reaktorbehälters und dann Reinigen des Reaktorbehälters zur Vorbereitung des nächsten Stapellaufes, der Betrieb eines Filters zur Filterung des Ausstoßes eines Reaktors und dann der Betrieb eines Trockners, um das in dem Reaktorbehälter erzeugte Produkt zu trocknen. Jede der Folgen der Schritte, die mit einem unterschiedlichen Gerät verbunden sind, definiert eine Geräteprozedur des Stapellaufes und der Stapelablaufteil oder die Stapelprozedur innerhalb des Reglers 12 führt einen unterschiedlichen Regelalgorithmus für jede einzelne dieser Geräteprozeduren aus. Natürlich können die spezifischen Materialien, Mengen der Materialien, Heiztemperaturen und Zeitpunkte usw. für unterschiedliche Rezepte unterschiedlich sein und demzufolge können sich diese Parameter von Stapellauf zu Stapellauf ändern, abhängig von dem Produkt, welches hergestellt oder erzeugt wird und abhängig von dem verwendeten Rezept. Fachleute können daraus ableiten, dass die hier beschriebenen Regelroutinen und Konfigurationen für Stapelläufe in den Reaktoreinheiten, für die Filtereinheiten und Trocknereinheiten, die in Fig. 1 veranschaulicht auch verwendet werden können, um andere gewünschte Vorrichtungen zu steuern oder zu regeln, um irgendwelche anderen gewünschten Stapelprozessläufe durchzuführen oder um kontinuierliche Prozessläufe auszuführen, wenn dies gewünscht wird.
Wie für Fachleute verständlich ist, können die gleichen Phasen, Operationen und Geräteprozeduren eines Stapelprozesses an jeder der unterschiedlichen Reaktoreinheiten von Fig. 1 zur gleichen Zeit oder zu unterschiedlichen Zeiten implementiert werden. Da ferner die Reaktoreinheiten von Fig. 1 allgemein die gleiche Anzahl von und gleiche Typen an Ausrüstungen enthalten (das heißt diese gehören zu der gleichen Geräteklasse), kann die gleiche gattungsgemäße Phasenregelroutine für eine bestimmte Phase zur Steuerung oder Regelung von unterschiedlichen Reaktoreinheiten verwendet werden, ausgenommen, dass diese gattungsmäßige Phasenregelroute modifiziert werden muss, um eine unterschiedliche Hardware oder Ausrüstung zu steuern oder zu regeln, die den unterschiedlichen Reaktoreinheiten zugeordnet ist. Um beispielsweise eine Füllphase für den Reactor_01 zu implementieren (wobei die Reaktoreinheit gefüllt wird), wird eine Füllsteuerroutine eines oder mehrerer der Einlassventile 101 oder 102 für eine bestimmte Zeitdauer öffnen, beispielsweise bis das Strömungsmittelpegelmessgerät 105 feststellt, dass der Behälter 100 voll ist. Jedoch kann die gleiche Steuer- oder Regelroutine dazu verwendet werden, um eine Füllphase für den Reactor_02 zu implementieren, indem lediglich die Bestimmung des oder der Eingangsventil(e), welche die Ventile 201 oder 202 anstelle der Ventile 101 oder 102 sein sollen, geändert wird und indem die Bestimmung des Strömungsmittelpegelmessgerätes geändert wird, welches das Strömungsmittelpegelmessgerät 205 anstelle des Strömungsmittelpegelmessgerätes 105 sein soll.
Um nun auf Fig. 2 einzugehen, so enthält ein Prozessregelsystem 50, von dem das System 10, welches in Fig. 1 veranschaulicht ist, einen Teil darstellen kann, einen Kopftank HT1, vier Reaktoreinheiten R1, R2, R3 und R4, drei Filtereinheiten F1, F2 und F3 und drei Trocknereinheiten D1, D2 und D3, die betriebsmäßig in verschiedenen Arten miteinander gekoppelt sind, um eine Prozedur durchzuführen, welche einen Kopftank, einen Reaktor, ein Filter und einen Trockner verwendet. Die Prozessregeleinheiten des Systems von Fig. 2 können in Sätzen von Ausrüstungssträngen kategorisiert werden, wobei jeder Ausrüstungsstrang eine oder mehrere von jeder der Geräte enthält, die erforderlich sind, um einen Stapellauf durchzuführen, wobei diese Geräte physikalisch oder betriebsmäßig in Reihe geschaltet sind, um die Fähigkeit zu erreichen, einen gesamten Stapellauf auszuführen. Natürlich kann ein Stapellauf oder eine Prozedur eine oder mehrere Geräteprozeduren oder -stufen enthalten und es braucht somit eine Stapelprozedur lediglich ein Gerät zu verwenden, in welchem Fall ein Ausrüstungsstrang einen Typ des Gerätes enthält.
Bei dem Aufbau von Fig. 2 ist die einzelne Kopftankeinheit HT1 betriebsmäßig mit jeder der vier Reaktoreinheiten R1, R2, R3 und R4 verbunden. Die Reaktoreinheiten R1 und R2 sind jeweils mit der Filtereinheit F1 verbunden, die ihrerseits betriebsmäßig mit jedem der zwei Trocknereinheiten D1 und D2 verbunden ist. Die Reaktoreinheit R2 ist auch mit der Filtereinheit F2 verbunden (wie dies auch in Fig. 1 veranschaulicht ist), die mit den Trocknereinheiten D2 (in Fig. 1 gezeigt) und D3 (in Fig. 1 nicht gezeigt) verbunden ist. In ähnlicher Weise ist die Reaktoreinheit R3 betriebsmäßig mit den Filtereinheiten F2 und F3 verbunden, von denen jede mit der Trocknereinheit D2 und D3 verbunden ist. Darüber hinaus ist die Reaktoreinheit R4 betriebsmäßig mit der Filtereinheit F3 verbunden, die betriebsmäßig mit allen Trocknereinheiten D1, D2 und D3 verbunden ist. Als eine Folge werden wenigstens drei Ausrüstungsstränge definiert. Der erste Ausrüstungsstrang (equipment train) enthält die Kopftankeinheit HT1, die Reaktoreinheit R1 und R2, die Filtereinheit F1 und die Trocknereinheiten D1 und D2. Der zweite Ausrüstungsstrang enthält die Kopftankeinheit HT1, die Reaktoreinheit R3, die Filtereinheiten F2 und F3 und die Trocknereinheiten D2 und D3. Der dritte Ausrüstungsstrang enthält die Kopfeinheit HT1, die Reaktoreinheit R4, die Filtereinheit F3 und jede der Trocknereinheiten D1, D2 und D3, das heißt jede der Trocknereinheiten liegt in der Trocknereinheitsklasse D_Class. Natürlich können andere Ausrüstungsstränge vorgesehen sein, wie beispielsweise HT1, R2, F2 und D2 oder D3. Ferner können die Ausrüstungsstränge mehr als vier oder weniger als vier Typen von Geräten als auch andere Typen von Geräten, die diesen zugeordnet sind, abhängig von der ausgeführten Prozedur, enthalten.
Es sei darauf hingewiesen, dass die Ausrüstungsstränge die Sätze der Geräte identifizieren, die physikalisch aneinander gekoppelt sind, um einen Prozess oder einen Teil eines Prozesses durchzuführen, und dass diese Ausrüstungsstränge sich ändern können, wenn die Verbindungen zwischen den Geräten modifiziert werden, indem auch Geräte zu dem Prozess hinzugefügt oder von demselben entfernt werden usw. Ferner können Ausrüstungsstränge Ausrüstungen enthalten, die über den Prozess hinweg verteilt sind und sie sind nicht notwendigerweise auf Ausrüstungen beschränkt, die allgemein auf dem Gebiet als eine Prozesszelle bekannt sind. In typischer Weise werden die Ausrüstungsstränge in Prozessen verwendet, in denen Verbindungen zwischen unterschiedlichen Geräten häufig geändert werden oder ziemlich flexibel sind. Auf der anderen Seite werden Prozesszellen, die ebenfalls einen Satz der Geräte spezifizieren, die miteinander verbunden sind, in typischer Weise in Prozessen verwendet, in denen die Ausrüstungen oder die Geräte über ziemlich starre Mechanismen miteinander verbunden sind und nicht so häufig geändert werden. Obwohl somit Unterschiede zwischen diesen zwei Ausdrücken vorhanden sind, werden zum Zweck der Erläuterung diese zwei Ausdrücke miteinander austauschbar verwendet, um einen Satz an Geräten anzugeben (oder selbst ein einzelnes Gerät), die physikalisch miteinander verbunden sind, um einen Prozess, wie beispielsweise einen Stapelprozess, durchzuführen.
Allgemein gesagt, basiert die Art und Weise, in der der Betrieb des Prozesses 16 von den Fig. 1 und 2 innerhalb des Reglers 12 gesteuert oder organisiert wird, auf der Wechselwirkung einer Anzahl von Objekten, von denen jedes Attribute besitzt und jedes ein oder mehrere Verfahren umfasst, die diesem zugeordnet sind. Jedes Objekt kann eine Anzahl von Subobjekten (oder Klassen) umfassen, die diesem zugeordnet sind, jedes Subobjekt kann Subobjekte usw. enthalten. In einer generischer Weise ist die Gesamtsteuer- oder -regelstrategie für den Prozess 16 unter Verwendung eines objektorientierten Programmierparadigmas konfiguriert, welches auf dem Gebiet bekannt ist und daher hier nicht weiter in Einzelheiten beschrieben wird. Fig. 3 greift ein Beispiel einer Objekthierarchie heraus, wobei Beziehungen zwischen einer Anzahl von Objekten veranschaulicht sind, die dem Prozessregelnetzwerk 10 und 50 der Fig. 1 und 2 zugeordnet sind. Diese Hierarchie wird dazu verwendet, um die Art zu erläutern, in welcher eine Prozessregelroutine auf beispielsweise einer der Workstations 14 erzeugt wird und dann herabgeladen wird und innerhalb des Reglers 12 ausgeführt wird, und um den Kontext zu identifizieren, mit welchem diese Prozessregelroutine arbeitet. Es sei jedoch darauf hingewiesen, dass die Art und Weise, in welcher die Prozessregelroutinen erzeugt und in dem Regler 12 gespeichert werden, auf anderen Objekthierarchien basieren kann oder auf Objekthierarchien, die irgendwelche anderen gewünschten Elemente oder Objekte enthalten.
Der Objektbaum von Fig. 3 veranschaulicht spezifische Objekte mit Kästchen, wobei allgemeine Kategorien der Objekte (oder Objekttypen) oberhalb der Objekte in dem Baum ohne Kästchen angezeigt sind. Wie in Fig. 3 veranschaulicht ist, enthält das Prozessregelnetzwerk 10 einen oder mehrere Bereiche, die beispielsweise aus Gebäuden oder anderen geografischen Bereichsbezeichnungen innerhalb einer Anlage bestehen können. In dem Objektbaum von Fig. 3 umfasst der Prozess 16 zwei Bereichsobjekte, nämlich das Building_1 und das Building_02. Jedes Bereichsobjekt kann aufgeteilt werden in Prozesszellen oder in Ausrüstungsstränge, von denen jede oder jeder einen unterschiedlichen Aspekt des Prozesses identifiziert, der in dem Bereich ausgeführt wird, oder einen Satz der gekoppelten Ausrüstung in dem Bereich. Das Building_01-Bereichsobjekt von Fig. 3 ist so veranschaulicht, dass es wenigstens zwei Prozesszellenobjekte oder Ausrüstungsstrangobjekte enthält, die bezeichnet sind mit Cell_01/Train_01 und Cell_02/Train_02.
Während die Objektstruktur von Fig. 3 anzeigt, dass die Cell_01 die gleiche ist wie die Train_01, sei darauf hingewiesen, dass ein Ausrüstungsstrang nicht auf die Ausrüstung beschränkt ist, die darin besteht, was in herkömmlicher Weise als eine einzelne Prozesszelle bezeichnet wird, sondern eine Ausrüstung aus unterschiedlichen Prozesszellen enthalten kann. Aus Gründen der Darstellung werden jedoch diese Ausdrücke in Bezug auf die beschriebene Ausrüstung von Fig. 3 austauschbar verwendet. Beispielsweise kann sich Cell_01/Train_02 darauf beziehen, eine Komponente eines Produktes herzustellen, die in der Cell_02/Train_02 verwendet wird. Jedes Zellenobjekt oder Strangobjekt kann keine, eine oder mehrere Geräteklassen enthalten, die unterschiedliche Kategorien oder Gruppierungen der Hardware identifizieren, die in der Prozesszelle oder dem Ausrüstungsstrang verwendet werden.
Eine Geräteklasse ist ein benanntes Objekt, welches eine gemeinsame Konfiguration eines Satzes der sich wiederholenden Ausrüstung erhält und, spezieller ausgedrückt, besteht diese aus einer Sammlung von Geräten, die eine sehr ähnliche, wenn nicht identische Prozessinstrumentierung besitzen, von denen jede eine sehr ähnliche, wenn nicht identische Funktion innerhalb eines Prozesses ausführt. Einheitsklassenobjekte werden in typischer Weise so benannt, um die Typen der Geräte innerhalb des Prozessregelsystems zu beschreiben, zu welchem sie gehören. Fig. 3 veranschaulicht eine Kopftankeinheitsklasse, eine Reaktoreinheitsklasse, eine Filtereinheitsklasse und eine Trocknereinheitsklasse, die dem Cell_01/Train_01-Objekt zugeordnet sind. In ähnlicher Weise können Geräteklassen in Cell_02/Train_02 gefunden werden, während andere Gruppierungen der Geräte anderen Zellen und/oder Ausrüstungssträngen zugeordnet sein können. Natürlich können bei den meisten Prozessregelnetzwerken viele andere Typen von Geräteklassen vorgesehen sein oder in gleicher Weise definiert sein.
Wie am besten in Fig. 3 für die Reaktoreinheitsklasse dargestellt ist, kann jedes Einheitsklassenobjekt Einheitsmodulobjekte (das heißt Geräte) und Phasenklassenobjekte (das heißt Phasen) enthalten, die diesem zugeordnet sind. Einheitsmodulobjekte spezifizieren im Allgemeinen bestimmte Punkte oder Abschnitte der sich wiederholenden Hardware innerhalb der genannten Geräteklasse, während Phasenklassen im Allgemeinen die Phasen spezifizieren, die auf die Einheitsmodule angewendet werden können, die der Geräteklasse zugeordnet sind. Spezieller ausgedrückt, ist ein Einheitsmodulobjekt ein benanntes Objekt, welches alle Variablen und Einheitsphasen für eine einzelne Prozesseinheit hält und ist in typischer Weise so benannt, um eine spezifische Prozessausrüstung zu identifizieren. Beispielsweise besitzt die Reaktoreinheitsklasse von Cell_01/Train_01 von Fig. 3 die R1- und R2-Einheitsmodule, die den Reactor_01- und Reactor_02- Modulen entsprechen, die in den Fig. 1 und 2 veranschaulicht sind. Die Kopftankeinheitsklasse von Cell_01/Train_01 enthält ein einzelnes Einheitsmodul von HT1 (wie in Fig. 2 veranschaulicht ist). In ähnlicher Weise enthält die Filtereinheitsklasse von Cell_01/Train_01 den spezifischen Filtermodul F1, während die Trocknereinheitsklasse von Cell_01/Train_01 die Trocknereinheiten von D1 und D2 enthält, die dieser zugeordnet sind. In ähnlicher Weise enthält Cell_02/Train_02 die Geräteklassen eines Kopftanks (mit einem einzelnen Einheitsmodul von HT1), einen Reaktor (mit einem einzelnen Reaktoreinheitsmodul von R3), einen Filter (mit den Filtereinheitsmodulen F2 und F3) und einen Trockner (mit den Trocknereinheitsmodulen von D2 und D3), wobei alle diese durch die Ausrüstungsstränge definiert sind, die in Fig. 2 veranschaulicht sind. Der Einfachheit halber sind die Geräteklassen, die den Ausrüstungssträngen 2 und 3 von Fig. 2 zugeordnet sind, in Fig. 3 nicht veranschaulicht.
Die Phasenklassen sind benannte Objekte, die die gemeinsame Konfiguration für eine Phase halten, die auf vielen Geräten laufen kann, welche zu der gleichen Geräteklasse gehören und, wenn dies gewünscht wird, auf vielen unterschiedlichen Geräteklassen. Im Wesentlichen besteht jede Phasenklasse aus einer unterschiedlichen Regelroutine, die erzeugt wird und die durch den Regler 12 verwendet wird, um die Einheitsmodule innerhalb derselben oder innerhalb von unterschiedlichen Geräteklassen zu steuern oder zu regeln. In typischer Weise ist jede Phasenklasse in Einklang mit dem Verb benannt, welches eine Aktion beschreibt, die an einem Einheitsmodul ausgeführt wird. Beispielsweise besitzt, wie dies in Fig. 3 veranschaulicht ist, die Reaktoreinheitsklasse eine Füllphasenklasse, die dazu verwendet wird, um irgendeinen der Reaktorbehälter 100 oder 200 von Fig. 1 zu füllen, eine Heizphasenklasse, die dazu verwendet wird, um irgendeinen der Reaktorbehälter 100 oder 200 von Fig. 1 zu erhitzen, eine Entleerungsphasenklasse, die dazu verwendet wird, um irgendeinen der Reaktorbehälter 100 oder 200 von Fig. 1 zu entleeren, und eine Reinigungsphasenklasse, die dazu verwendet wird, um irgendeinen der Reaktorbehälter 100 oder 200 von Fig. 1 zu reinigen. Natürlich kann es irgendwelche anderen Phasenklassen geben, die mit dieser oder mit irgendeiner anderen Geräteklasse verbunden sind bzw. dieser zugeordnet sind. Während keine spezifischen Phasenklassen in Fig. 3 für die Kopftank-, Filter- und Trocknereinheitsklassen dargestellt sind, existiert wenigstens eine Phasenklasse für jede und wird durch eine Stapelprozedur verwendet, um einen Teil eines Stapelprozesses, einer Geräteprozedur oder -operation unter Verwendung des Einheitsmoduls, dem die Phasenklasse zugeordnet ist, zu implementieren.
Eine Phasenklasse kann allgemein so betrachtet werden, als ob sie eine Subroutine darstellt, die durch eine Operation einer Geräteprozedur aufgerufen wird (alles innerhalb eines Stapelablaufteiles), um eine gewisse Funktion durchzuführen, die in einem Gesamtstapelprozess benötigt wird, wie dies durch das Rezept für diesen Stapelprozess festgelegt wird. Eine Phasenklasse kann keinen oder mehrere Phaseneingangsparameter enthalten, die grundlegend die Eingänge sind, die für die Phasenklassen-Subroutine von dem Stapelablaufteil oder einer anderen Phasenklasse vorgesehen werden, kann keine oder mehrere Phasenausgangsparameter enthalten, die grundlegend die Ausgangsgrößen der Phasenklasse-Subroutine sind, die zu dem Stapelablaufteil zurückgeleitet werden oder zu anderen Phasenklassen, kann keine oder mehrere Phasennachrichten enthalten, die aus Nachrichten bestehen, die für einen Anwender in Bezug auf die Operation der Phasenklasse dargestellt werden, und Informationen enthalten, die andere Phasenklassen betreffen, mit denen diese Phasenklasse in einer gewissen Weise verbunden ist, und kann null oder mehrere Phasenalgorithmenparameter enthalten, die bewirken, dass Parameter in den logischen Phasenmodulen oder Einheitsphasen basierend auf dieser Phasenklasse erzeugt werden.
(Einheitsphasen bilden einfach die spezialisierten Versionen der Phasenklasse für ein bestimmtes Gerät). Diese Phasenalgorithmusparameter werden als zeitweilige Speicherstellen oder Variable während der Ausführung der Phase verwendet und sind für den Anwender oder für den Stapelablaufteil nicht notwendigerweise sichtbar. Jede Phase enthält eine oder mehrere Phasenalgorithmusdefinitionen (PADs), die allgemein gesagt die Steuer- oder Regelroutinen sind, die dazu verwendet werden, um die Phase zu implementieren. Auch besitzt jede Phasenklasse eine Liste der zugeordneten keiner, einer, zwei oder mehrerer Geräteklassen und diese Liste definiert die Geräteklassen, für die diese Phasenklasse und demzufolge die PAD der Phasenklasse angewendet werden kann.
Somit kann die gleiche Phasenklasse den gleichen Geräteklassen unterschiedlicher Prozesszellen oder Ausrüstungsstränge oder selbst unterschiedlichen Geräteklassen der gleichen oder unterschiedlichen Prozesszellen oder Ausrüstungssträngen, zugeordnet werden.
Um nun erneut auf die Einheitsmodule in Fig. 3 einzugehen, so enthält jedes Einheitsmodulobjekt keine oder mehrere Einheitsetikettenzeichen (tags) (UT) oder Parameter mit Anfangswerten. Die UT-Objekte sind in Fig. 3 lediglich für die HT1-, R1- und R2-Module dargestellt. Diese Parameter können den Einstellungen und den Konfigurationsparametern der Ausrüstung entsprechen, die dem Einheitsmodul zugeordnet ist. Diese Einheitsetiketten (unit tags) können beispielsweise die Kapazität des Gerätes, die Materialien, aus denen das Gerät hergestellt ist, den Einheitshersteller oder irgendwelche anderen Daten oder Parameter definieren, die dem Gerät zugeordnet sind. Diese Daten können fest sein, wie beispielsweise Herstellungsdaten, oder können variable sein, wie beispielsweise der letzte Zeitpunkt, bei dem das Gerät verwendet wurde, der letzte Prozess oder Material, welches in dem Gerät plaziert wurde, usw. Darüber hinaus kann jedes Einheitsmodulobjekt Alarme, Ressourcen-Identifikationen, Kontrollanzeigen (wie beispielsweise ein Bild auf einer Schnittstelle), eine Liste der Ressourcen enthalten, die dieser Einheitsmodul erfordert, können Prozesszelleninformationen usw. enthalten, die diesem zugeordnet sind.
Jedes Gerätemodul schließt auch eines oder mehrere Gerätephasen-(UP)-Objekte, welche benannte Objekte sind, die Instanzen von Phasenklassen, welche mit einem bestimmten Gerätemodus verknüpft oder dafür erzeugt wurden, repräsentieren. In dem Konfigurationssystem (das heißt in einer der Workstations 14) stellt das Einheitsphasenobjekt eine Komponente eines Einheitsmoduls dar, die unabhängig geändert und herabgeladen werden kann. In dem Laufzeitsystem (das heißt in dem Regler 12) stellt das Einheitsphasenobjekt eine Phasenlogik dar, die unabhängig betrieben werden kann (gestartet, gestoppt, gehalten, abgebrochen usw.), und zwar durch den Regler 12 an einem Einheitsmodul; potentiell parallel mit anderen Einheitsphasen, die gleichzeitig an unterschiedlichen Einheitsmodulen aktiv sind. Im Endeffekt ist das Einheitsphasenobjekt die spezialisierte Version von einer der Phasenklassen, die für den bestimmten Einheitsmodul aufgelöst wurde, zu dem das Einheitsphasenobjekt gehört. Die UP-Objekte sind in Fig. 3 lediglich für die HT1-, R1- und R2- Geräte veranschaulicht.
Wichtig ist, dass jede Geräteprozedur ein Einheitszuordnungsobjekt besitzt, welches diesem zugeordnet ist. Dieses Einheitszuordnungsobjekt (in Fig. 3 nicht gezeigt), definiert bestimmt Einheitsmodulparameter und/oder vom Anwender spezifizierte Prioritäten, die dazu verwendet werden, um dynamisch einen bestimmten Einheitsmodul während der Operation eines Stapelprozesses auszuwählen. Ein unterschiedliches Einheitszuordnungsobjekt kann (durch den Anwender, wenn er das System konfiguriert) für jede unterschiedliche Geräteprozedur erzeugt werden. Als ein Ergebnis können eine oder mehrere Phasenklassen (oder Operationen, die beispielsweise der gleichen Geräteklasse zugeordnet sind) die gleiche Einheitszuordnungstabelle verwenden. Allgemein gesagt, enthält die Einheitszuordnungstabelle für eine Geräteprozedur Bevorzugungen und/oder Auswahlkriterien oder Prozeduren, die verwendet werden, um dynamisch ein bestimmtes Gerät innerhalb einer Geräteklasse auszuwählen oder um eine Liste der Geräte innerhalb einer Geräteklasse mit Prioritäten zu versehen, und zwar während des Laufs einer Prozessregelroutine, wie beispielsweise einer Stapelprozedur.
Wie dies bekannt ist, wird die Stapelregelroutine oder die Stapelprozedur dafür erzeugt, um einen bestimmten Stapelprozess an einer Gruppe oder einem Satz der Ausrüstung durchzuführen, die bzw. der beispielsweise irgendeine der Reaktoreinheiten (R1, R2, R3, R4), der Filtereinheiten (F1, F2, F3) und der Trockner (D1, D2, D3) enthält. Im Allgemeinen wird solch eine Stapelprozedur eine oder mehrere Geräteprozeduren aufrufen oder implementieren, von denen jede einem bestimmten Gerät zugeordnet ist, wenn diese Geräteprozedur während der Gesamtstapelprozedur ausgeführt werden muss. Jedoch enthält die Stapelprozedur, statt der Festlegung entsprechender Geräte, welche in jeder der verschiedenen Geräteprozeduren bei erster Ausführung oder beim Schreiben der Stapelprozedur benutzt werden, eine dynamische Auswahlroutine, welche ein Gerät, welches in einer entsprechenden Geräteprozedur oder einem Schritt einer Stapelprozedur bei Ausführung dieser Geräteprozedur oder dieses Schrittes benutzt wird, dynamisch auswählt. Der Zeitpunkt dieser Auswahl kann lange, nach dem Schreiben und ersten Start der Stapelprozedur liegen. In der Tat kann in einigen Fällen die dynamische Einheitsauswahl für spätere Stufen einer Stapelprozedur Stunden oder selbst Tage, nachdem eine Stapelprozedur zum ersten Mal gestartet wurde, auftreten.
Allgemein gesagt, wird eine Stapelprozedur geschrieben, um unterschiedliche Geräteprozeduren aufzurufen, die unterschiedlichen Sätzen (oder manchmal dem gleichen Satz) der Geräte oder der Ausrüstung zugeordnet sind. Wenn sie geschrieben wird, kann die Stapelprozedur eine bestimmte oder gewisse Prozesszelle oder Ausrüstungsstrang spezifizieren, für die sie laufen soll, oder sie kann dafür geschrieben werden, um es einem Anwender oder Operator zu ermöglichen, eine Prozesszelle oder Ausrüstungsstrang, die bzw. der beim Start der Stapelprozedur zu verwenden ist, auszuwählen. Wenn jedoch einmal eine bestimmte Prozesszelle oder Ausrüstungsstrang ausgewählt worden ist und die Stapelprozedur gestartet ist, ist die Stapelprozedur auf die Verwendung der Ausrüstung oder Einheitsmodule eingeschränkt, die der ausgewählten Prozesszelle oder dem ausgewählten Ausrüstungsstrang zugeordnet ist bzw. sind.
Zu Beginn jeder Geräteprozedur, die einer Stapelprozedur zugeordnet ist, trifft die Stapelprozedur eine Auswahl des bestimmten Gerätes, das während der Geräteprozedur zu verwenden ist, auf der Grundlage einer Anzahl von Kriterien. Die Stapelprozedur (oder Geräteprozedur) kann eine Subroutine aufrufen, die speziell dafür ausgelegt ist, um eine dynamische Einheitsauswahl vorzunehmen, unter Verwendung der Informationen in dem Einheitszuordnungstabellenobjekt, welches einer Geräteprozedur, die laufen soll, zugeordnet ist, als auch auf der Grundlage von Einheitsparameterinformationen und anderen Informationen, die in den Einheitsetiketten (unit tags) für jeden der Einheitsmodule gespeichert sind. Solch eine dynamische Auswahlsubroutine kann die allgemeinen Schritte ausführen gemäß der Identifizierung eines Kandidaten oder möglicher zu verwendender Geräte, Auswählen unter den Kandidateneinheiten von solchen Geräten, die für diese bestimmte Stapelprozedur geeignet sind, Prioritätenvergabe der geeigneten Geräte gemäß einem gewissen Prioritätsschema und dann durchscrollen der Liste der mit Prioritäten versehenen geeigneten Geräte in der Reihenfolge der Priorität, um festzustellen, ob jedes Gerät verfügbar ist, das heißt Online, und momentan für eine unterschiedliche Prozedur nicht verwendet wird. Das erste Gerät in der Reihenfolge der Priorität, das verfügbar ist, und zum Laufen lassen der Geräteprozedur nutzbar ist, wird dann als das Gerät ausgewählt, das durch die Stapelprozedur verwendet wird. Die Stapelprozedur oder Geräteprozedur implementiert dann Operationen unter Verwendung der Einheitsphasen für das ausgewählte Gerät, um dadurch die nächste Stufe des Prozesses auszuführen.
Um ein bestimmtes Gerät für irgendeine bestimmte Geräteprozedur einer Stapelprozedur auszuwählen, kann die Auswahlroutine, die aus einer getrennten Subroutine bestehen kann, durch die Stapelprozedur wiederholt werden oder kann auf irgendeine andere gewünschte Weise ausgeführt werden, wobei zuerst auf der Grundlage der Geräteprozedur, die auszuführen ist, eine Liste der Kandidaten oder möglichen Geräten bestimmt wird. Diese Liste der Geräte führt in typischer Weise alle die Geräte einer bestimmten Geräteklasse innerhalb der Prozesszelle oder Ausrüstungsstranges auf, an der bzw. an dem die Stapelprozedur laufen soll. Als ein Ergebnis kann diese Liste aus einer Identifizierung der Prozesszelle oder des Ausrüstungsstranges bestimmt werden, in welcher bzw. in welchem die Stapelprozedur verwendet wird, und aus einer Identifizierung der Geräteklasse, Phase oder Phasenklasse, die verwendet werden soll.
Als Nächstes bestimmt die Auswahlroutine, welche der möglichen Geräte geeignete Geräte für diese spezielle Stapelprozedur sind. Die Auswahlroutine kann beispielsweise einen Auswahlausdruck implementieren oder ausführen, der ein oder mehrere Auswahlkriterien eines Satzes von Auswahlkriterien verwendet, um zu bestimmen, ob jedes Gerät innerhalb der Liste der möglichen Geräte für diesen Stapelprozess geeignet ist. Anzeigen der Auswahlkriterien, die zu verwenden sind (wenn überhaupt vorhanden), können erstellt werden, wenn die Stapelprozedur geschrieben wird, wenn sie läuft oder zu irgendeinem anderen gewünschten Zeitpunkt. Die Auswahlkriterien können beispielsweise zu der Auswahlroutine durch die Stapelprozedur geleitet werden, können durch einen Anwender spezifiziert und/oder in dem Einheitszuordnungsobjekt für eine Geräteprozedur gespeichert werden. Die Auswahlkriterien können beispielsweise auf Einheitseigenschaften basieren. In der Tat gibt es viele Eigenschaften, wie beispielsweise die Größe eines Gerätes, die Materialien, aus denen ein Gerät konstruiert wird, und andere Eigenschaften, die zu jedem der Geräte zugeordnet sind, die sich von Gerät zu Gerät unterscheiden können, die jedoch bei der Beurteilung wichtig sind, welches Gerät für einen bestimmten Stapellauf zu verwenden ist. Wenn beispielsweise eine Stapelprozedur einen 500 Gallonen-Stapel bewirkt, erfordert dies einen Reaktor mit einer Kapazität von wenigstens 500 Gallonen. Wenn in ähnlicher Weise die Stapelprozedur ätzende, beizende Materialien verwendet, kann dies einen Reaktor erforderlich machen, der einen mit Glas ausgekleideten Tank besitzt. Als ein Ergebnis können Auswahlkriterien Tests spezifizieren, die basierend auf Parametern der Geräte durchzuführen sind. In diesem Fall kann die Auswahlroutine die Auswahlkriterien mit den Parametern von jedem Gerät vergleichen, die in diesem Einheitsetikettenobjekt für jedes Gerät gespeichert sind, um zu bestimmen, ob ein Gerät geeignet ist. Die Einheitsparameter, die verwendet werden, um die Auswahlkriterien zu testen, können festlegen, wie beispielsweise die Kapazität oder die Materialien einer Konstruktion des Gerätes, oder können dynamisch sein, beispielsweise dann, wenn das Gerät zuletzt verwendet wurde, welches letzte Material es war, das durch das Gerät verarbeitet wurde, usw. Ferner können die Einheitsparameter aus vielfältigen Typen bestehen, einschließlich beispielsweise Zeichenfolgen, numerische Worte, ganzzahlige Worte, benannte Geräte, Gleitkommawerte usw.
Die Auswahlkriterien können auch oder alternativ Rezepteinschränkungen enthalten" Beispielsweise kann eine stromabwärtige Geräteprozedur es erfordern, dass sie in dem gleichen Gerät wie bei der früheren stromaufwärtigen Geräteprozedur durchgeführt wird, in welchem Fall die Auswahlkriterien in der Form einer Rezepteinschränkung die stromabwärtige Geräteprozedur zwingt, das gleiche Gerät auszuwählen, welches die stromaufwärtige Geräteprozedur ausführt. Bei einem Stapelprozess, der beispielsweise in einer aufeinander folgenden Weise abläuft, kann die Auswahlroutine zwei Geräteprozeduren, von denen jede eine Füll-, eine Heiz- und eine Entleerungsphase an einem Reaktor durchführt, irgendeinen der verfügbaren Reaktoren auswählen, wenn die Füllphase der ersten solchen Geräteprozedur implementiert wird. Wenn jedoch die Heiz- und Entleerungsphasen implementiert werden, muss die Auswahlroutine den gleichen Reaktor auswählen, der in der Füllphase gefüllt wurde, und es liegt somit für diese Phasen durch das Rezept eine Einschränkung vor (das heißt durch eine frühere Auswahl), und zwar auf ein bestimmtes Gerät. Wenn in ähnlicher Weise die zweite Geräteprozedur auf dem gleichen Gerät wie die erste Geräteprozedur laufen soll, so kann eine Einschränkung, die so durchzuführen ist, durch eine Rezepteinschränkung vorliegen.
In ähnlicher Weise können die Auswahlkriterien Operator- Anzeigen enthalten, ob in einem Prozess ein bestimmtes Gerät verwendet werden soll. Somit kann beispielsweise ein Operator oder Anwender ein Auswahlflag setzen, welches einem Gerät zugeordnet ist, um dieses Gerät daran zu hindern, durch die Auswahlroutine ausgewählt zu werden (oder alternativ, um dieses Gerät zu veranlassen, durch die Auswahlroutine ausgewählt zu werden). Solch ein Auswahlflag kann durch den Anwender während der Laufzeit eingestellt werden, kann in dem Einheitsetikettenobjekt für das bestimmte Gerät gesetzt werden oder kann auf irgendeine andere gewünschte Weise zu irgendeinem gewünschten Zeitpunkt gesetzt werden.
In jedem Fall kann die Auswahlroutine auf die Eigenschaften von jedem der Geräte zugreifen, das als mögliches Gerät identifiziert worden ist, und kann die Parameter von jedem solcher Geräte (wie in den Einheitsetiketten abgespeichert) mit Auswählkriterien vergleichen, die durch die Stapelprozedur geliefert werden, welche in der zugeordneten Einheitszuordnungstabelle gespeichert sind oder durch einen Anwender spezifiziert sind, als auch bestimmen, ob irgendwelche Rezepteinschränkungen existieren. Natürlich können andere Auswählkriterien ebenfalls verwendet werden.
Nachdem die Liste der Geräte, welche die Auswählkriterien erfüllen, bestimmt worden ist, kann die dynamische Auswahlroutine die Liste mit Prioritäten versehen unter Verwendung irgendeines gewünschten Prioritätsvergabeverfahrens. Eine Einheitsprioritätsvergabe kann basierend auf einem oder mehreren Einheitsparametern durchgeführt werden, wie beispielsweise solchen, die oben angegeben wurden, oder basierend auf irgendwelchen anderen Kriterien. Natürlich können Prioritätsausdrücke, die aus irgendeinem Typ eines mathematischen, Boolschen- usw. Ausdruckes bestehen können, unter Verwendung irgendwelcher Prioritätskriterien, durch die Stapelroutine oder durch einen Anwender vorgesehen oder vorgegeben werden, um die Prioritätenvergabe durchzuführen. Bei einer Ausführungsform wird der geeignete Auswahlausdruck und der Prioritätenvergabeausdruck erzeugt und in dem Einheitszuordnungstabellenobjekt für jede Einheitsphase oder Geräteklasse gespeichert und dieses Einheitszuordnungstabellenobjekt wird durch die Auswahlroutine verwendet, um sowohl eine Auswahl als auch Prioritätenvergabe der Geräte durchzuführen, die als mögliche Geräte identifiziert wurden.
Nach der Bestimmung einer Prioritätenvergabeliste der geeigneten Geräte kann die Auswahlroutine dann durch die Liste hindurch scrollen, und zwar in der Reihenfolge der Prioritäten, und versuchen, jedes der geeigneten Geräte zu nutzen, bis die Auswahlroutine ein Gerät findet, das momentan befähigt ist, genutzt zu werden, da es sich Online befindet und nicht momentan durch eine andere Stapelprozedur oder Prozessregelroutine verwendet wird. Sobald die Auswahlroutine ein Gerät in der Prioritätenvergabeliste des geeigneten Gerätes auswählt, führt die Auswahlroutine den Namen oder die Identifizierung dieses Gerätes zu der Stapelprozedur (oder der Geräteprozedur) zurück oder die Stapelprozedur verwendet in anderer Weise diese Bestimmung, um die Geräteprozedur an dem bestimmten Gerät ablaufen zu lassen. Wenn kein Gerät verfügbar ist, kann die Auswahlroutine eine vorbestimmte Zeitdauer warten und kann oben an der Prioritätenvergabeliste starten und dann versuchen, ihrerseits die Geräte in der Liste zu nutzen. Diese Prozedur kann so lange wiederholt werden, bis eines der Geräte in der Liste verfügbar wird oder genutzt wird.
Wenn es gewünscht wird, kann die Auswahlroutine auch einen Anwender dazu befähigen, eine Auswahl eines Gerätes zu treffen. In diesem Fall kann die Auswahlroutine die Liste der geeigneten Geräte dem Anwender präsentieren und den Anwender dazu befähigen, eines von diesen Geräten auszuwählen. In dieser Konfiguration braucht der Anwender nicht zu berücksichtigen, ob ein Gerät befähigt ist, verwendet zu werden, basierend auf deren Lage oder Verbindung mit dem Prozess, oder ob ein Gerät für die Verwendung in einer bestimmten Stapelprozedur geeignet ist, da die Auswahlroutine bereits diese Bestimmungen vorgenommen hat. In ähnlicher Weise kann die Auswahlroutine die Liste der geeigneten Geräte mit Prioritäten versehen, wodurch die Auswahl des Anwenders einfacher gestaltet wird.
Wenn natürlich die Stapelprozedur erzeugt oder geschrieben wird, kann ein Ingenieur einfach bewirken, dass die Stapelprozedur die dynamische Geräteauswahlroutine aufruft, und zwar immer dann, wenn eine neue Geräteprozedur ausgeführt werden muss. Der Ingenieur kann ein Einheitszuordnungstabellenobjekt für jede Geräteprozedur, Geräteklasse, Einheitsobjekt usw. erzeugen, die durch die Auswahlroutine zur dynamischen Auswahl der Geräte auszuführen sind. Diese Einheitszuordnungstabelle kann beispielsweise einen geeigneten Ausdruck und einen Prioritätsausdruck enthalten, der für die zugeordnete Geräteprozedur, Geräteklassen, Einheitsmodule usw. zu implementieren ist. Der Ingenieur muss auch sicherstellen, dass die Einheitsetiketten (unit tag) für jeden Einheitsmodul die Einheitsparameter enthält, die durch die Auswahlroutine benötigt werden. Der Ingenieur kann dann die Stapelprozedur, Auswahlroutine, die Einheitszuordnungstabellen und die Einheitsetiketten auf die geeigneten Datenbasen innerhalb des geeigneten Reglers 12 und/oder Workstation 14 herunterladen, zu welchem Zeitpunkt die Stapelprozedur ausgeführt werden kann.
In Fig. 4 ist eine Stapelprozedur 60 veranschaulicht, die vier Schritte, Stufen oder Geräteprozeduren enthält (bezeichnet durch die Schritte A, B, C und D), die vier unterschiedlichen Geräten zugeordnet sind oder diese verwenden, und eine nicht spezifizierte Kopftankeinheit (HTX), eine nicht spezifizierte Reaktoreinheit (RX), eine nicht spezifizierte Filtereinheit (FX) und eine nicht spezifizierte Trocknereinheit (DX) enthalten. Wie durch das Kästchen 62 angezeigt ist, wird bei dem Kriterium der Stapelprozedur 60 die Stapelprozedur so spezifiziert, dass sie auf einer Prozesszellenklasse läuft (die eine oder mehrere Prozesszellen besitzen kann) oder auf einer Ausrüstungsstrangklasse (die einen oder mehrere Ausrüstungsstränge besitzt, die dieser zugeordnet sind). Wenn die Stapelprozedur 60 läuft (beispielsweise in der Workstation 14 von Fig. 1), kann diese den Anwender dazu auffordern, eine bestimmte Prozesszelle oder Ausrüstungsstrang, die bzw. der zu verwenden ist, zu spezifizieren, die bzw. der während des gesamten Laufes der Stapelprozedur 60 fixiert bleibt. Die Auswahl wird durch das Kästchen 64 in Fig. 4 angezeigt, in welchem beispielsweise Cell_01/Train_01 ausgewählt wird. Wenn es natürlich gewünscht wird, kann die Stapelprozedur 60 auf eine bestimmte Prozesszelle oder einen bestimmten Ausrüstungsstrang begrenzt werden, wenn sie zuerst oder zum ersten Mal erzeugt wird.
Nachdem die Prozesszelle oder der Ausrüstungsstrang für die Stapelprozedur 60 spezifiziert worden ist, werden die Geräteklassen und die Einheitsmodule von jeder der Geräteklassen, die durch die Stapelprozedur 60 verwendet werden können, effektiv als die Geräteklassen und Einheitsmodule erstellt, die dem ausgewählten Ausrüstungsstrang oder der Prozesszelle zugeordnet sind. Das Kästchen 64 veranschaulicht, dass für eine Auswahl von Cell_01/Train_01 die Geräteklassen die Kopftank-, Reaktor-, Filter- und Trocknerklassen und die Einheitsmodule HT1, R1 und R2, F1 und D1 und D2 enthalten.
Die Stapelprozedur 60 beginnt dann, indem der Schritt A implementiert wird (das heißt die Geräteprozedur A). Als ein Teil des Schrittes A, der eine Geräteprozedur ist, die auf der Kopftankklasse läuft, oder kurz vor dem Beginn des Schrittes A, kann die Stapelprozedur 60 eine Auswahlroutine 70 aufrufen, um dynamisch einen Kopftank auszuwählen, der während des Schrittes A zu verwenden ist. Die Auswahlroutine 70 bestimmt, dass der einzig mögliche Kopftank, der für den Schritt A verwendet werden kann, HT1 ist, da dies der einzige Kopftank innerhalb der spezifizierten Prozesszelle oder des spezifizierten Ausrüstungsstranges ist. Als ein Ergebnis braucht die Auswahlroutine 70 nicht die Einheitszuordnungstabelle 72 für die Kopftankeinheitsprozedur zu verwenden oder zu konsultieren und in der Tat braucht solch ein Objekt für die Kopftankeinheitsprozedur nicht erzeugt zu werden. Die Auswahlroutine 70 bestimmt dann, ob HT1 verfügbar ist, das heißt ob diese genutzt werden kann. Wenn dies der Fall ist, führt die Auswahlroutine 70 eine Anzeige von HT1 zu der Stapelprozedur 60 zurück, und zwar als das zu verwendende Gerät. Die Stapelprozedur 60 wählt dann HT1 aus und führt die Operation(en) und Phase(n) durch, die der Kopftankeinheitsprozedur an HT1 zugeordnet ist bzw. sind, um dadurch den Schritt A durchzuführen.
Nach der Vervollständigung des Schrittes A, implementiert die Prozedur 60 den Schritt B, der aus einer Geräteprozedur besteht, die einem Reaktor zugeordnet ist. Um dies durchzuführen, ruft die Geräteprozedur B oder die Stapelprozedur 60 die dynamische Auswahlroutine 70 auf, die einen der möglichen Reaktoren R1 oder R2 für die Verwendung in dem Schritt B auswählt. Wie oben dargelegt wurde, kann die dynamische Auswahlroutine 70 die verfügbaren Geräte in der Reaktorklasse bestimmen, die Cell_01/Train_01 zugeordnet sind, wobei diese Reaktoren R1 und R2 sind. (Natürlich braucht die Auswahlroutine 70 dies nicht erneut zu tun, nachdem diese Bestimmung zu Beginn der Stapelprozedur 60 vorgenommen worden ist). Als Nächstes greift die Auswahlroutine 70 auf die Einheitszuordnungstabelle 74 für die Reaktoreinheitsprozedur zu, um die geeigneten Auswahlkriterien (oder Ausdruck) und die Prioritätskriterien (oder Ausdruck) zu erhalten, die bei einer Auswahl eines Reaktors in Cell_01/Train_01 anzuwenden sind. Wie in Fig. 4 dargestellt ist, enthält die Einheitszuordnungstabelle 74 für die Reaktoreinheitsprozedur einen Auswahlausdruck, der eine Kapazität von größer als 400 erfordert. (Natürlich können andere geeignete Kriterien stattdessen oder zusätzlich verwendet werden.) Die Auswahlroutine 70 bestimmt dann, ob jeder der Reaktoren R1 und R2 eine Kapazität größer als 400 besitzt. Wenn dies der Fall ist, stuft die Auswahlroutine 70 die Reaktoren R1 und R2 in der Priorität basierend auf dem Prioritätsausdruck in der Einheitszuordnungstabelle 74 ein. Es sei darauf hingewiesen, dass der in Fig. 4 veranschaulichte Prioritätsausdruck spezifiziert, dass die Auswahlroutine 70 das Gerät, das sich am längsten ruhend befunden hat, mit der höchsten Priorität versieht. (Natürlich können andere Prioritätsausdrücke ebenfalls verwendet werden.) Um dies so durchzuführen, kann die Auswahlroutine 70 dann aus den Einheitsparametern, die in den Einheitsetiketten für jedes der Geräte R1 und R2 gespeichert sind, bestimmen, welche zuletzt verwendet worden ist, und sie vergibt dann Prioritäten an diese Geräte in dieser Reihenfolge. Danach versucht die Auswahlroutine 70, das Gerät R2 zu nutzen (das aus Gründen dieses Beispiels angenommenermaßen die höchste Priorität besitzen soll). Wenn der Reaktor R2 genutzt werden kann, da er momentan nicht verwendet wird und auch nicht in anderer Weise belegt ist, führt die Auswahlroutine 70 eine Anzeige des R2-Gerätes zu der Stapelprozedur 60 zurück, die dann den Reaktor R2 verwendet, um die Operationen und Phasen durchzuführen, die mit der Geräteprozedur B verbunden sind. Natürlich kann die Auswahlroutine 70 einem Operator auch ermöglichen, zwischen R1 und R2 auszuwählen, indem die Prioritätenvergabeliste von R2, R1 dem Operator dargeboten oder dargestellt wird und der Anwender aufgefordert wird, eine Auswahl zu treffen, welcher der geeigneten Reaktoren verwendet werden soll.
In jedem Fall beginnt die Stapelprozedur 60 nach dem Lauf des Schrittes B, den Schritt C zu implementieren, der aus einer Geräteprozedur besteht, welche eine Filtereinheitsklasse verwendet. (Es sei darauf hingewiesen, dass sehr viele unterschiedliche Geräteprozeduren mit irgendeiner bestimmten Geräteklasse zugeordnet sein können). Die Stapelprozedur 60 kann die dynamische Auswahlroutine 70 aufrufen, um zu bestimmen, welche Geräte, für die Verwendung verfügbar sind, basierend auf der Prozesszelle oder dem Ausrüstungsstrang, die bzw. der momentan verwendet wird, um zu bestimmen, welche dieser Geräte, die in der Einheitszuordnungstabelle 76 abgespeichert sind, und anhand anderer Einschränken, wie beispielsweise Rezepteinschränkungen, die durch die Stapelprozedur 60 vorgegeben werden können oder anhand von Anwendereinschränkungen, die durch die Anwendereingabe vorgegeben sein können gemäß den. Auswahlkriterien geeignet sind. Da sich in Cell_01/Train_01 lediglich ein Filter befindet, braucht die Auswahlroutine 70, obwohl sie dies könnte, wenn es noch wünschenswert wäre, nicht die Einheitszuordnungstabelle 76 zu konsultieren, um zu bestimmen, ob das einzige verfügbare Gerät den Eignungs-Ausdruck erfüllt. Die Auswahlroutine 70 kann dann bestimmen, ob der Filter F1 verfügbar ist und, wenn dies der Fall ist, liefert sie einen Hinweis von F1 an die Stapelprozedur 60 zurück, welche die Einheitsphase(n) für F1 und den F1-Einheitsmoduls zum Implementieren des Schritts C verwendet.
In ähnlicher Weise beginnt die Stapelprozedur 60, nachdem der Schritt C gelaufen ist, damit, den Schritt D zu implementieren, der einen Trockner verwendet, um eine oder mehrere Trockneroperationen und -phasen zu implementieren. Die Stapelprozedur 60 kann die dynamische Auswahlroutine 70 aufrufen, um zu bestimmen, welche Geräte für die Verwendung verfügbar sind, basierend auf der Prozesszelle oder dem Ausrüstungsstrang, die bzw. der momentan verwendet wird, um zu bestimmen, welche dieser Geräte in Einklang mit den Auswahlkriterien oder dem Ausdruck geeignet sind, die bzw. der in der Einheitszuordnungstabelle 78 gespeichert sind bzw. ist, und anhand anderer Einschränkungen, wie beispielsweise Rezepteinschränkungen. Wie in Fig. 4 dargestellt ist, zeigt der Eignungs-Ausdruck innerhalb der Einheitszuordnungstabelle 78, dass der Trockner, der auszuwählen ist, eine Kapazität größer als 400 haben muss und aus einem Elektrotrockner bestehen muss. Die Auswahlroutine 70 prüft die Einheitsparameter für jede der verfügbaren Trocknereinheiten in Cell_01/Train_01 (das heißt D1 und D2), um zu sehen, ob diese den Eignungs-Ausdruck in der Einheitszuordnungstabelle 78 erfüllen. Die Geräteauswahlroutine 70 weist dann den Geräten, die als geeignet gefunden wurden, die Prioritäten zu, und zwar basierend auf dem Prioritätsausdruck in der Einheitszuordnungstabelle 78 (tatsächlich nicht dargestellt) und versucht dann, jedes der Geräte in der Prioritätenvergabereihenfolge zu nutzen. Die erste Trocknereinheit innerhalb der Prioritätenvergabeliste der geeigneten Trockner, die als verfügbar gefunden wird, wird zu der Stapelprozedur 60 zurückgeführt, die dieses Gerät nutzt, und die Geräteprozedur D unter Verwendung der Einheitsphasen für dieses Gerät ausführt, wie dies durch die Operation(en) spezifiziert ist, die der Geräteprozedur zugeordnet ist bzw. sind.
Natürlich können die Eignungs-Ausdrücke und die Prioritätsausdrücke in den Einheitszuordnungstabellen in irgendeiner gewünschten Weise unter Verwendung irgendeiner gewünschten Programmiersprache oder -technik konfiguriert sein. Wenn es gewünscht wird, kann eine unterschiedliche Einheitszuordnungstabelle für jede Geräteprozedur, für jede Operation oder für jede Phase einer Geräteprozedur erzeugt werden oder, wenn dies gewünscht wird, für jede Geräteklasse oder selbst für jedes Gerät, das einer Geräteklasse zugeordnet ist. Ferner können die Eignungs- und Prioritätsausdrücke oder Kriterien in irgendeiner anderen gewünschten Weise spezifiziert und gespeichert werden. Somit kann beispielsweise ein Anwender oder ein Operator diese Ausdrücke oder Kriterien über eine Schnittstelle vorgeben, wie beispielsweise eine OPC- Schnittstelle. Darüber hinaus kann die dynamische Auswahlroutine 70 lediglich eine der Eignungs- oder Prioritätsbestimmung durchführen und braucht nicht beide durchzuführen. In ähnlicher Weise kann die dynamische Auswahlroutine 70 andere Operationen in einer gewünschten Weise ausführen, wie beispielsweise eine Überprüfung der Rezepteinschränkungen und der Anwendereingabeeinschränkungen an jeder der möglichen oder geeigneten Geräte. Auch kann die dynamische Auswahlroutine 70 selbst in irgendeiner gewünschten Weise in irgendeinem gewünschten Typ einer Programmierumgebung implementiert sein. Beispielsweise kann die dynamische Auswahlroutine 70 gesplittet sein, kann Rezept- und Anwendereinschränkungsbestimmungen als Befehle innerhalb der Stapelprozedur 60 durchführen und geeignete Bestimmungen und Prioritätsbestimmungen als Teil einer Subroutine durchführen. Auch kann die dynamische Auswahlroutine 70 einen Abschnitt enthalten, der zu Beginn der Stapelprozedur 60 arbeitet, um zu bestimmen, und zwar einmal für die gesamte Stapelprozedur 60, welche Geräte aus verfügbaren Geräten in jeder der Klassen bestehen, die der ausgewählten Prozesszelle oder dem Ausrüstungsstrang zugeordnet sind. Die Routine 70 kann dann diese Liste jedes Mal dann verwenden, wenn sie eine dynamische Einheitsauswahl vornimmt. Auch braucht die Stapelprozedur 60 nicht die Routine 70 aufzurufen, wenn lediglich ein verfügbares Gerät innerhalb einer Prozesszelle oder eines Ausrüstungsstranges für eine bestimmte Phase oder Operation des Prozesses existiert.
Es sei darauf hingewiesen, dass in ähnlicher Weise die Prozessregelroutinen, wie beispielsweise die Stapelprozeduren, die eine dynamische Geräteauswahlroutine verwenden, welche ein Gerät für die Verwendung während der Laufzeit auswählt, innerhalb irgendeiner gewünschten Prozesssteuer- oder -regelprogrammierumgebung verwendet und implementiert werden können und in irgendeinem Prozessregelsystem verwendet werden können, welches irgendeinen gewünschten Typ eines Prozessregelkommunikationsprotokolls verwendet und ferner auch dazu verwendet werden kann, um irgendeinen Typ einer Funktion in Bezug auf irgendeinen Typ der Vorrichtung(en) oder Subeinheiten der Vorrichtung(en) durchzuführen.
Prozessregelroutinen, die eine dynamische Einheitsauswahl verwenden, wie dies hier beschrieben ist, sind in bevorzugter Weise als Software implementiert, die beispielsweise in einem Regler oder einer anderen Prozessregelvorrichtung gespeichert ist. Jedoch können diese Routinen alternativ oder zusätzlich, wie dies gewünscht wird, als Hardware, Firmware, als anwendungsspezifische integrierte Schaltungen, programmierbare logische Schaltungen usw. implementiert sein. Wenn sie als Software implementiert sind, können die Prozessregelroutinen in irgendeinem computerlesbaren Speicher, wie beispielsweise einer Magnetplatte, einer Laserplatte oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers, Reglers, Feldvorrichtung usw. gespeichert sein. In ähnlicher Weise kann diese Software an einen Anwender oder eine Vorrichtung übergeben werden, und zwar vermittels irgendeines bekannte oder gewünschten Übergabeverfahrens einschließlich beispielsweise eines Kommunikationskanals, wie beispielsweise einer Telefonleitung, dem Internet, auf einem transportierbaren Medium, wie beispielsweise einer durch Computer lesbaren Platte usw.
Obwohl die vorliegende Erfindung unter Hinweis auf spezifische Beispiele beschrieben wurde, die lediglich die Erfindung veranschaulichen sollen und die Erfindung nicht einschränken, ist es für Fachleute offensichtlich, dass Änderungen, Hinzufügungen oder Weglassungen bei den offenbarten Ausführungsformen vorgenommen werden können, ohne jedoch dadurch den Rahmen der Erfindung zu verlassen.

Claims (39)

1. Prozessregelsystem für die Verwendung bei der Regelung oder Steuerung eines Prozesses, welches mehrere Geräteklassen enthält, von denen jedes eine oder mehrere Geräte enthält, wobei das Prozessregelsystem folgendes aufweist:
einen Regler;
einen Speicher;
eine Regelroutine, die so geschrieben ist, dass eine Geräteprozedur unter Verwendung eines nicht spezifizierten Gerätes innerhalb einer der Geräteklassen durchzuführen ist; und
eine dynamische Geräteauswahlroutine, die ein bestimmtes Gerät als das nicht spezifizierte Gerät während des Betriebes der Regelroutine auswählt;
wobei die Regelroutine die Geräteprozedur unter Verwendung des bestimmten Gerätes, dass durch die dynamische Geräteauswahlroutine ausgewählt wurde, durchführt.
2. Prozessregelsystem nach Anspruch 1, bei dem die dynamische Geräteauswahlroutine einen Satz von möglichen Geräten bestimmt und das bestimmte Gerät aus dem Satz der möglichen Geräte auswählt.
3. Prozessregelsystem nach Anspruch 2, bei dem die Regelroutine an einer Prozesszelle implementiert ist, welche einen zugeordneten Satz von Geräten enthält und wobei die dynamische Geräteauswahlroutine den Satz der möglichen Geräte basierend auf dem zugeordneten Satz der Geräte bestimmt.
4. Prozessregelsystem nach Anspruch 2, bei dem die Regelroutine an einem Ausrüstungsstrang (equipment train) implementiert ist, welcher einen zugeordneten Satz von Geräten enthält und wobei die dynamische Geräteauswahlroutine den Satz der möglichen Geräte basierend auf dem zugeordneten Satz der Geräte bestimmt.
5. Prozessregelsystem nach Anspruch 1, bei dem die dynamische Geräteauswahlroutine bestimmt, ob jedes Gerät eines Satzes der Geräte für die Verwendung durch die Regelroutine geeignet ist, und zwar basierend auf einem Eignungs-Kriterium, und das bestimmte Gerät aus den Geräten auswählt, welches das Eignungs-Kriterium erfüllt.
6. Prozessregelsystem nach Anspruch 1, bei dem die dynamische Geräteauswahlroutine Prioritäten an einen Satz der Geräte vergibt, um eine Prioritätenvergabeliste der Geräte zu erzeugen, und das bestimmte Gerät aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
7. Prozessregelsystem nach Anspruch 1, ferner mit einer Tabelle, die ein Auswahlkriterium definiert und wobei die dynamische Geräteauswahlroutine die Tabelle dazu verwendet, um das bestimmte Gerät auszuwählen.
8. Prozessregelsystem nach Anspruch 7, ferner mit einem Satz von Etiketten (tags), welche Parameter für jedes der Geräte in einem Satz der Geräte definieren und wobei die dynamische Geräteauswahlroutine den Satz der Etiketten dazu verwendet, um zu bestimmen, ob jedes der Geräte in dem Satz der Geräte das Auswahlkriterium erfüllt.
9. Prozessregelsystem nach Anspruch 7, bei dem das Auswahlkriterium aus einem Eignungs-Ausdruck besteht.
10. Prozessregelsystem nach Anspruch 7, bei dem das Auswahlkriterium aus einem Prioritätsausdruck besteht.
11. Prozessregelsystem nach Anspruch 7, bei dem die Tabelle als ein Objekt in der objektorientierten Programmierumgebung abgespeichert ist.
12. Prozessregelsystem nach Anspruch 1, bei dem die Regelroutine eine Serie oder Aufeinanderfolge von Geräteprozeduren implementiert und bei dem die dynamische Geräteauswahlroutine das bestimmte Gerät für eine spätere Geräteprozedur der Regelroutine als ein Gerät auswählt, das in einer früheren Geräteprozedur der Regelroutine verwendet wurde.
13. Prozessregelsystem nach Anspruch 1, bei dem die dynamische Geräteauswahlroutine einen Satz von möglichen Geräten bestimmt, ferner bestimmt, ob jedes des Satzes der möglichen Geräte für die Verwendung durch die Regelroutine geeignet ist, und zwar basierend auf einem Eignungs-Kriterium, die Geräte mit Prioritäten versieht, die das Eignungs-Kriterium erfüllen, um eine Prioritätenvergabeliste der Geräte basierend auf einem Prioritätskriterium zu erzeugen, und das bestimmte Gerät aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
14. Prozessregelsystem nach Anspruch 13, bei dem die dynamische Geräteauswahlroutine bestimmt, ob eines oder mehrere der Geräte in der Prioritätenvergabeliste der Geräte möglicherweise genutzt werden kann, und das erste Gerät in der Prioritätenvergabeliste der Geräte auswählt, die als das bestimmte Gerät genutzt werden kann.
15. Prozessregelsystem für die Verwendung bei der Regelung oder Steuerung eines Prozesses mit mehreren Geräteklassen, von denen jede eines oder mehrere Geräte enthält, wobei das Prozessregelsystem folgendes aufweist:
einen Regler;
einen Speicher;
eine Regelroutine, die derart geschrieben ist, dass mehrere Geräteprozeduren ausgeführt werden können, von denen jede ein nicht spezifiziertes Gerät verwendet; und
eine dynamische Geräteauswahlroutine, die ein bestimmtes Gerät als das nicht spezifizierte Gerät für wenigstens eine mehreren Geräteprozeduren während der Operation der Regelroutine auswählt.
16. Prozessregelsystem nach Anspruch 15, bei dem die dynamische Geräteauswahlroutine für eine von mehreren Geräteprozeduren auf Basis eines mit der Geräteprozedur verknüpftem Eignungs-Kriterium bestimmt, ob jedes eines Satzes von Geräten zur Benutzung durch die Regelroutine geeignet ist, und das bestimmte Gerät aus den Geräten auswählt, welches das Eignungs-Kriterium erfüllt.
17. Prozessregelsystem nach Anspruch 15, bei dem die dynamische Geräteauswahlroutine für eine mehrerer Geräteprozeduren einen Satz der Geräte mit Prioritäten belegt, um eine Prioritätenvergabeliste der Geräte zu erzeugen, und das bestimmte Gerät für eine der Geräteprozeduren aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
18. Prozessregelsystem nach Anspruch 15, ferner mit einer Tabelle, die ein Auswahlkriterium festlegt und bei dem die dynamische Geräteauswahlroutine die Tabelle dazu verwendet, um das bestimmte Gerät für die eine der mehreren Geräteprozeduren auszuwählen.
19. Prozessregelsystem nach Anspruch 18, ferner mit einem Satz von Etiketten (tags), die Parameter für jedes der Geräte in einem Satz der Geräte festlegen und bei dem die dynamische Geräteauswahlroutine den Satz der Etiketten dazu verwendet, um zu bestimmen, ob jedes der Geräte in dem Satz der Geräte das Auswahlkriterium erfüllt.
20. Prozessregelsystem nach Anspruch 15, bei dem die dynamische Geräteauswahlroutine das bestimmte Gerät für eine spätere Geräteprozedur der Regelroutine als ein Gerät auswählt, das in einer früheren Geräteprozedur der Regelroutine verwendet wurde.
21. Prozessregelsystem nach Anspruch 15, bei dem die dynamische Geräteauswahlroutine für eine der mehreren Geräteprozeduren einen Satz von möglichen Geräten bestimmt, ferner bestimmt, ob jedes Gerät des Satzes der möglichen Geräte für die Verwendung durch die Regelroutine geeignet ist, und zwar basierend auf einem Eignungs- Kriterium, die Geräte mit Prioritäten belegt, die das Eignungs-Kriterium erfüllen, um eine Prioritätenvergabeliste der Geräte basierend auf einem Prioritätskriterium zu erzeugen, und das bestimmte Gerät aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
22. Steuer- oder Regelkomponente für die Verwendung in einem Prozessregelsystem mit einem Prozessor, der einen Prozess steuert oder regelt unter Verwendung von einer oder von mehreren Geräten in jeder von mehreren Geräteklassen, wobei die Steuer- oder Regelkomponente folgendes aufweist:
einen durch einen Computer lesbaren Speicher;
eine Regelprozedur, die so geschrieben ist, dass eine Geräteprozedur des Prozesses unter Verwendung eines nicht spezifizierten Gerätes innerhalb einer der Geräteklassen durchgeführt werden kann; und
eine dynamische Geräteauswahlprozedur, die ein bestimmtes Gerät als das nicht spezifizierte Gerät während der Operation der Regelprozedur auswählt;
wobei die Regelprozedur und die dynamische Geräteauswahlprozedur in einem von dem Computer lesbaren Speicher gespeichert sind und die zur Durchführung durch einen Prozessor dafür geeignet sind, so dass die Regelprozedur die Geräteprozedur des Prozesses unter Verwendung des bestimmten Gerätes durchführt, das durch die dynamische Geräteauswahlprozedur ausgewählt wurde, nachdem die dynamische Geräteauswahlprozedur das bestimmte Gerät ausgewählt hat.
23. Steuer- oder Regelkomponente nach Anspruch 22, bei der die dynamische Geräteauswahlprozedur einen Satz von möglichen Geräten bestimmt und das bestimmte Gerät aus dem Satz der möglichen Geräte auswählt.
24. Steuer- oder Regelkomponente nach Anspruch 22, bei der die dynamische Geräteauswahlprozedur bestimmt, ob jedes Gerät eines Satzes von Geräten für die Verwendung durch die Regelprozedur geeignet ist, basierend auf einem Eignungs-Kriterium, und das bestimmte Gerät aus den Geräten auswählt, die das Eignungs-Kriterium erfüllen.
25. Steuer- oder Regelkomponente nach Anspruch 22, bei der die dynamische Geräteauswahlprozedur einen Satz von Geräten mit Prioritäten belegt, um eine Prioritätenvergabeliste der Geräte zu erzeugen, und das bestimmte Gerät aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
26. Steuer- oder Regelkomponente nach Anspruch 22, ferner mit einer Tabelle, die ein Auswahlkriterium definiert und bei der die dynamische Geräteauswahlprozedur die Tabelle dazu verwendet, um das bestimmte Gerät auszuwählen.
27. Steuer- oder Regelkomponente nach Anspruch 26, ferner mit einem Satz von Etikettenkennzeichen, die Parameter für jedes der Geräte in einem Satz der Geräte definieren, und bei der die dynamische Geräteauswahlprozedur den Satz der Etikettenkennzeichen dazu verwendet, zu bestimmen, ob jedes der Geräte in dem Satz der Geräte das Auswahlkriterium erfüllt.
28. Steuer- oder Regelkomponente nach Anspruch 26, bei der das Auswahlkriterium ein Eignungs-Ausdruck ist.
29. Steuer- oder Regelkomponente nach Anspruch 26, bei der das Auswahlkriterium ein Prioritätsausdruck ist.
30. Steuer- oder Regelkomponente nach Anspruch 22, bei der die Regelprozedur eine Reihe von Geräteprozeduren implementiert und bei der die dynamische Geräteauswahlprozedur das bestimmte Gerät für eine spätere Geräteprozedur der Regelprozedur als ein Gerät auswählt, das in einer früheren Geräteprozedur der Regelprozedur verwendet wurde.
31. Steuer- oder Regelkomponente nach Anspruch 22, bei der die dynamische Geräteauswahlprozedur einen Satz von möglichen Geräten bestimmt, ferner bestimmt, ob jedes Gerät des Satzes der möglichen Geräte für die Verwendung durch die Regelprozedur geeignet ist, und zwar basierend auf einem Eignungs-Kriterium, die Geräte mit Prioritäten belegt, die das Eignungs-Kriterium erfüllen, um eine Prioritätenvergabeliste der Geräte basierend auf einem Prioritätskriterium zu erzeugen, und die das bestimmte Gerät aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten auswählt.
32. Steuer- oder Regelkomponente nach Anspruch 31, bei der die dynamische Geräteauswahlprozedur bestimmt, ob eine oder mehrere der Geräte in der Prioritätenvergabeliste der Geräte genutzt werden kann, und das erste Gerät in der Prioritätenvergabeliste der Geräte auswählt, das als bestimmtes Gerät genutzt werden kann.
33. Verfahren zum Regeln eines Prozesses mit einem Regler, der an Regelgeräten innerhalb jeder mehreren Geräteklassen angeschlossen ist, wobei das Verfahren die folgenden Schritte umfasst:
Laufen lassen einer Regelprozedur, um eine Folge von Geräteprozeduren, die dem Prozess zugeordnet sind, auszuführen, wobei jede Geräteprozedur ein Gerät verwendet, das einer der Geräteklassen zugeordnet ist; und während des Betriebes der Regelprozedur automatisches Auswählen eines bestimmten Gerätes als das Gerät, das während einer der Geräteprozeduren zu verwenden ist.
34. Verfahren nach Anspruch 33, wobei der Schritt der automatischen Auswahl eines bestimmten Gerätes die Schritte der Bestimmung eines Satzes möglicher Gräte als Satz von Geräten einer Prozesszelle oder eines Ausrüstungsstranges des Prozesses und die Auswahl des bestimmten Gerätes aus einem Satz möglicher Geräte umfasst.
35. Verfahren nach Anspruch 33, wobei der Schritt der automatischen Auswahl eines bestimmten Gerätes die Schritte der Bestimmung, ob jedes Gerät eines Satzes von Geräten zur Benutzung durch die Regelprozedur auf Basis eines Eignungs-Kriteriums geeignet ist, und die Auswahl des bestimmten Gerätes aus den Geräten, welche aus Eignungs-Kriterium erfüllen, umfasst.
36. Verfahren nach Anspruch 33, bei dem der Schritt der automatischen Auswahl eines bestimmten Gerät die Schritte einer Prioritätenvergabe an einen Satz der Geräte zur Erzeugung einer Prioritätenvergabeliste der Geräte, und die Auswahl der bestimmten Geräte aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten umfasst.
37. Verfahren nach Anspruch 33, ferner mit den Schritten einer Speicherung eines Auswahlkriteriums in einer Tabelle, wobei der Schritt der automatischen Auswahl eines bestimmten Gerätes den Schritt der Verwendung der Tabelle für die Auswahl des bestimmten Gerätes umfasst.
38. Verfahren nach Anspruch 37, ferner mit dem Schritt einer Speicherung eines Satzes der Parameter für jedes Gerät eines Satzes der Geräte, wobei der Schritt der automatischen Auswahl des bestimmten Gerätes den Schritt der Verwendung der Parameter zur Bestimmung, ob jedes der Geräte in dem Satz der Geräte das Auswahlkriterium erfüllt, umfasst.
39. Verfahren nach Anspruch 33, bei dem der Schritt der automatischen Auswahl des bestimmten Gerätes die Schritte einer Bestimmung eines Satzes von möglichen Geräten, einer Bestimmung, ob jede des Satzes der möglichen Geräte, basierend auf einem Eignungs-Kriterium, für die Verwendung durch die Regelprozedur geeignet ist, einer Prioritätenvergabe an die Geräte, die das Eignungs-Kriterium erfüllen, um eine Prioritätenvergabeliste der Geräte basierend auf einem Prioritätskriterium zu erzeugen, und die Auswahl des bestimmten Gerätes aus der Prioritätenvergabeliste der Geräte in der Reihenfolge der Prioritäten.
DE10031671A 1999-07-02 2000-06-29 Dynamische Einheitsauswahl in einem Prozessregelsystem Ceased DE10031671A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/347,178 US6522934B1 (en) 1999-07-02 1999-07-02 Dynamic unit selection in a process control system

Publications (1)

Publication Number Publication Date
DE10031671A1 true DE10031671A1 (de) 2001-01-04

Family

ID=23362646

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10031671A Ceased DE10031671A1 (de) 1999-07-02 2000-06-29 Dynamische Einheitsauswahl in einem Prozessregelsystem

Country Status (4)

Country Link
US (1) US6522934B1 (de)
JP (1) JP3513086B2 (de)
DE (1) DE10031671A1 (de)
GB (1) GB2351815B8 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850953B1 (en) * 1999-08-23 2005-02-01 Sun Microsystems, Inc. Creating multiple sets of data by spawning a secondary virtual machine
US7020876B1 (en) * 2000-06-30 2006-03-28 Fisher-Rosemount Systems, Inc. Campaign management for batch processes
US7181487B1 (en) * 2000-07-07 2007-02-20 Schneider Automation Inc. Method and system for transmitting and activating an application requesting human intervention in an automation network
US6647315B1 (en) * 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
US6750882B1 (en) * 2000-10-31 2004-06-15 Verizon Laboratories, Inc. Automated association of operations with objects in a graphical window
US6742136B2 (en) * 2000-12-05 2004-05-25 Fisher-Rosemount Systems Inc. Redundant devices in a process control system
JP2002335965A (ja) * 2001-05-14 2002-11-26 Japan Science & Technology Corp 細胞特異的発現複製ベクター
EP1286238A1 (de) 2001-08-07 2003-02-26 Siemens Aktiengesellschaft Prozessleitsystem mit Taxierfunktion
US8856345B2 (en) * 2002-03-11 2014-10-07 Metso Automation Oy Redundancy in process control system
US8190370B2 (en) * 2002-04-15 2012-05-29 Sap Aktiengesellschaft Change management of process flow descriptions
US6697690B2 (en) * 2002-04-15 2004-02-24 Sap Aktiengesellschaft Customizing process flows
US7181303B2 (en) 2002-04-15 2007-02-20 Sap Aktiengesellschaft Building blocks for describing process flows
US20030195799A1 (en) * 2002-04-15 2003-10-16 Juergen Scholl Quality management in process flows
US20040054645A1 (en) * 2002-09-13 2004-03-18 Juergen Scholl Integrating process flows and safety information
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US9983559B2 (en) 2002-10-22 2018-05-29 Fisher-Rosemount Systems, Inc. Updating and utilizing dynamic process simulation in an operating process environment
US7369912B2 (en) * 2003-05-29 2008-05-06 Fisher-Rosemount Systems, Inc. Batch execution engine with independent batch execution processes
US7474783B2 (en) * 2003-06-30 2009-01-06 Xerox Corporation Systems and methods for associating color profiles with a scanned input image using spatial attributes
US7234084B2 (en) * 2004-02-18 2007-06-19 Emerson Process Management System and method for associating a DLPDU received by an interface chip with a data measurement made by an external circuit
US7058089B2 (en) * 2004-02-18 2006-06-06 Rosemount, Inc. System and method for maintaining a common sense of time on a network segment
US7369913B2 (en) * 2004-04-02 2008-05-06 Siemens Medical Solutions Usa, Inc. Recipe editor and controller
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 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7680970B2 (en) * 2004-10-22 2010-03-16 Fisher-Rosemount Systems, Inc. Method and system for batch process arbitration in a process control system
GB2446343B (en) 2005-12-05 2011-06-08 Fisher Rosemount Systems Inc Multi-objective predictive process optimization with concurrent process simulation
US20070179634A1 (en) * 2006-01-27 2007-08-02 The Procter & Gamble Company Method of controlling a process
US7793292B2 (en) * 2006-09-13 2010-09-07 Fisher-Rosemount Systems, Inc. Compact batch viewing techniques for use in batch processes
US8046086B2 (en) * 2007-05-15 2011-10-25 Fisher-Rosemount Systems, Inc. Methods and systems for batch processing and execution in a process system
US8150541B2 (en) * 2007-11-13 2012-04-03 Fisher-Rosemount Systems, Inc. Methods and apparatus to modify a recipe process flow associated with a process control system during recipe execution
US8825189B2 (en) * 2007-11-13 2014-09-02 Fisher Rosemount Systems, Inc. Methods and apparatus to execute an auxiliary recipe and a batch recipe associated with a process control system
US8555206B2 (en) * 2007-12-21 2013-10-08 Fisher-Rosemount Systems, Inc. Methods and apparatus to present recipe progress status information
US8606379B2 (en) * 2008-09-29 2013-12-10 Fisher-Rosemount Systems, Inc. Method of generating a product recipe for execution in batch processing
JP5520305B2 (ja) * 2008-09-29 2014-06-11 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセス制御の環境設定を行う方法
US8127063B2 (en) * 2009-01-20 2012-02-28 Fisher-Rosemount Systems, Inc. Distributed equipment arbitration in a process control system
US8881039B2 (en) 2009-03-13 2014-11-04 Fisher-Rosemount Systems, Inc. Scaling composite shapes for a graphical human-machine interface
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
US10503156B2 (en) * 2015-09-18 2019-12-10 Fisher-Rosemount Systems, Inc. Methods and apparatus to define stages for multi-variate batch control analytics
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
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4884217A (en) * 1987-09-30 1989-11-28 E. I. Du Pont De Nemours And Company Expert system with three classes of rules
US5058043A (en) * 1989-04-05 1991-10-15 E. I. Du Pont De Nemours & Co. (Inc.) Batch process control using expert systems
JPH0363822A (ja) 1989-08-02 1991-03-19 Nec Corp 計算機制御方式
JPH0594931A (ja) 1991-03-11 1993-04-16 Miyagi Oki Denki Kk 半導体製造装置の処理システム
JPH04355867A (ja) 1991-05-31 1992-12-09 Oki Electric Ind Co Ltd 分散処理方式
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
JP3287422B2 (ja) 1992-11-30 2002-06-04 日本電信電話株式会社 生産プロセス資源の最優先ワーク選択決定装置
US5844795A (en) * 1995-11-01 1998-12-01 Allen Bradley Company, Llc Diagnostic aid for industrial controller using multi-tasking architecture
US5812133A (en) * 1995-11-01 1998-09-22 Allen Bradley Company, Llc Industrial controller with display of rung execution
US5838563A (en) * 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
US5909368A (en) * 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US5960441A (en) 1996-09-24 1999-09-28 Honeywell Inc. Systems and methods for providing dynamic data referencing in a generic data exchange environment
US5963448A (en) * 1997-06-18 1999-10-05 Allen-Bradley Company, Llc Industrial controller having redundancy and using connected messaging and connection identifiers to enable rapid switchover without requiring new connections to be opened or closed at switchover
US6269274B1 (en) * 1998-09-09 2001-07-31 Honeywell International Inc System and method for balancing and distributing control algorithm processing load and real time plant control system employing the same
US6298454B1 (en) * 1999-02-22 2001-10-02 Fisher-Rosemount Systems, Inc. Diagnostics in a process control system

Also Published As

Publication number Publication date
GB2351815A (en) 2001-01-10
US6522934B1 (en) 2003-02-18
GB2351815A8 (en) 2018-05-23
JP3513086B2 (ja) 2004-03-31
GB2351815B (en) 2003-04-09
GB0015461D0 (en) 2000-08-16
GB2351815B8 (en) 2018-05-23
JP2001042904A (ja) 2001-02-16

Similar Documents

Publication Publication Date Title
DE10031671A1 (de) Dynamische Einheitsauswahl in einem Prozessregelsystem
DE10011661B4 (de) Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung
DE10147115B4 (de) Verwendung von entfernt gelegenen Softphasen in einem Prozeßsteuerungssystem
DE102004025877A1 (de) Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen
DE102004007435A1 (de) Modulklassenobjekte in einem Prozessanlagenkonfigurierungssystem
DE10165123B3 (de) Integrierte Optimalmodell-Vorhersagesteuerung in einem Prozeßsteuerungssystem
DE69523325T2 (de) Graphisches programmier-interface für maschinen- bzw. prozess- steuerungen mit vorverbundenen parameterkonfigurationen
DE102004025875B4 (de) Funktionsblock mit Boolescher Logik
DE112013004924T9 (de) Dynamisch wiederverwendbare Klassen
DE19940078B4 (de) Verteiltes Stapelverarbeitungssystem und Verfahren
DE102005050608B4 (de) Verfahren und System für die Batch-Verarbeitungseinschätzung in einem Prozesssteuerungssystem
DE69809254T2 (de) Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb
DE10335116B4 (de) Integrierte elektronische Authentifizierung für die Freigabe von Softwareobjekten für ein Prozesssteuerungssystem
DE102012104305A1 (de) Software-Aussperrkoordination zwischen einem Prozessregelungssystem und einem Anlagenverwaltungssystem
DE10341574A1 (de) Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock
DE10341573A1 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
DE10012249A1 (de) Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem
DE102007046572A1 (de) Flexible Eingabe-/Ausgabegeräte zur Verwendung in Prozesssteuerungssystemen
EP1182528A2 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
DE10012258A1 (de) Selbst-Abstimmung in einer verteilten Prozeß-Regelumgebung
DE10021698A1 (de) Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem
EP1699005A1 (de) Integration von MES- und Controls-Engineering
DE68924977T2 (de) Steuermodul für eine Arbeitsstation.
EP3246773B1 (de) Verfahren zur parametrierung einer verfahrens- oder prozesstechnischen anlage
DE69911986T2 (de) Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection