DE102004025877A1 - Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen - Google Patents

Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen Download PDF

Info

Publication number
DE102004025877A1
DE102004025877A1 DE102004025877A DE102004025877A DE102004025877A1 DE 102004025877 A1 DE102004025877 A1 DE 102004025877A1 DE 102004025877 A DE102004025877 A DE 102004025877A DE 102004025877 A DE102004025877 A DE 102004025877A DE 102004025877 A1 DE102004025877 A1 DE 102004025877A1
Authority
DE
Germany
Prior art keywords
batch
application
applications
run
execution
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
DE102004025877A
Other languages
English (en)
Inventor
Godfrey R. Austin Sherriff
William G. Austin Irwin
David L. Austin Deitz
Grant Austin Wilson
Nathan W. Georgetown Pettus
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 DE102004025877A1 publication Critical patent/DE102004025877A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41835Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by programme execution
    • 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/32Operator till task planning
    • G05B2219/32077Batch control system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Control By Computers (AREA)

Abstract

Ein Prozessanlagensteuerungssystem umfasst eine Stapelausführungsmaschine, die eine einzelne Stapelprozessanwendung in einem separaten Prozessanwendungsraum für jeden Stapel, die in einer Prozessanlage ablaufen soll, hervorbringt oder erstellt. Die Stapelausführungsmaschine umfasst eine Kommunikationssoftware, um mit einer oder mehreren Stapel-Bedieneroberflächen oder anderen Schnittstellen zu kommunizieren, die verwendet werden, um Stapelabläufe aufzustellen, ein Hauptprozessgeräteschaftenmodell, das den aktuellen Zustand der Einrichtungen in der Prozessanlage widerspiegelt, und einen Stapelausführungsmanager, der einzelne Stapelprozesse erstellt und jeden der einzelnen Stapelprozesse abkoppelt, so dass er in einem separaten Prozessanwendungsraum abläuft. Die ersten Stapelprozesse umfassen jeweils eine Stapellogik, die den vom Benutzer spezifizierten Stapelablauf implementiert, eine Kopie des Prozessgerätschaftenmodells wird dazu verwendet, Einrichtungen in der Anlage und eine Kommunikationsschnittstelle zur Kommunikation mit Rechnern und anderen Ablaufeinrichtungen auszuwählen, um die Stapel zu implementieren und mit dem Stapelausführungsmanager zu kommunizieren, um Benutzern spezielle Stapeldaten bereitzustellen und um eine Koordination mit anderen Stapeln, die gerade in der Prozessanlage ablaufen, abzurufen oder bereitzustellen.

Description

  • TECHNOLOGISCHES GEBIET
  • Die vorliegenden Erfindung bezieht sich allgemein auf Prozesssteuerungsnetze und im Spezielleren auf eine Stapelausführungsmaschine, die in einer Prozessanlage unabhängige Stapelprozesse ablaufen lässt.
  • BESCHREIBUNG DES VERWANDTEN STANDS DER TECHNIK
  • Prozesssteuerungsnetze wie diejenigen, die in Chemie-, Erdöl- und anderen Prozessen eingesetzt werden, umfassen im Allgemeinen einen zentralisierten Prozessrechner, der kommunikativ mit einem oder mehreren Feldgerät/en gekoppelt ist, bei denen es sich beispielsweise um Ventilstellglieder, Schalter, Sensoren (wie Temperatur-, Druck- und Fließgeschwindigkeitssensoren) etc. handeln kann. Diese Feldgeräte können innerhalb der Prozessanlage physikalische Funktionen erfüllen (wie Öffnen und Schließen eines Ventils), können innerhalb der Prozessanlage Messwerte zur Steuerung des Betriebs der Prozessanlage ermitteln, oder können irgendwelche anderen gewünschten Funktionen innerhalb der Prozessanlage erfüllen. Prozessrechner wurden in der Vergangenheit an Feldgeräte über eine/n oder mehrere analoge/n Signalleitung/en oder Bus/se angeschlossen, welche/r beispielsweise Signale mit 4–20 mA (Milliampere) an die und aus den Feldgeräten übertragen kann/können. In jüngster Zeit hat die Prozesssteuerungsindustrie jedoch eine Anzahl von standardmäßigen, offenen, digitalen oder kombinierten digitalen und analogen Kommunikationsprotokollen entwickelt, wie den FOUNDATIONTMFieldbus (im Folgenden „Fieldbus"), HART®, PROFIBUS®, WORLDFIP®, Device-Net® und CAN-Protokolle, welche eingesetzt werden können, um Kommunikation zwischen einem Rechner und Feldgeräten zu bewerkstelligen. Allgemein ausgedrückt, empfängt der Prozessrechner Signale, die für Messungen stehen, die von einem Feldgerät oder mehreren Feldgeräten gemacht wurden, und/oder andere, die Feldgeräte betreffende Daten, verwendet diese Daten, um ein typischerweise komplexes Steuerprogramm ablaufen zu lassen, und erzeugt Steuersignale, die über die Signalleitungen oder -busse an die Feldgeräte geschickt werden, um dadurch den Betrieb der Prozessanlage zu steuern.
  • Bestimmte Arten von Prozesssteuerungsnetzen wie diejenigen, die in Stapelprozessen eingesetzt werden, umfassen typischerweise mehrere Gruppen von sich wiederholenden Einrichtungen, wobei jede Gruppe so ausgelegt ist, dass sie dieselben oder entsprechende Einrichtungen aufweist, die innerhalb der Prozessanlagen dieselben Funktionen erfüllt. Auf diese Weise kann beispielsweise eine Keksherstellungsanlage mehrere Gruppen von Mischeinrichtungen, mehrere Gruppen von Backeinrichtungen und mehrere Gruppen von Verpackungseinrichtungen aufweisen, wobei einige oder alle der einzelnen Mischeinrichtungen parallel laufen und so geschaltet sein können, dass sie mit einigen oder allen Backeinrichtungen bzw. Verpackungseinrichtungen in Reihe laufen. In einem solchen System ist es wünschenswert, denselben allgemeinen Steueralgorithmus oder dasselbe allgemeine Steuerprogramm verwenden zu können, um den Betrieb irgendeiner besonderen Gruppe von sich wiederholendem Einrichtungen zu steuern, um dadurch die Anzahl von Steuerprogrammen zu reduzieren, die erstellt und im Rechner gespeichert werden müssen. Diese Steueralgorithmen müssen aber so geschrieben sein, dass sie, wenn sie ausgeführt werden, die Einrichtungen einer bestimmten Einheit, die gleichzeitig verwendet werden, spezifizieren. Typischerweise vollzieht eine Stapelsteuerungsprozedur eine aufeinanderfolgende Anzahl von Schritten oder Stufen, indem sie die erste Stufe beendet, bevor sie mit der zweiten Stufe beginnt, usw. Somit lässt in der vorstehend beschriebenen Keksherstellungsanlage die Stapelprozedur einen ersten Teil prozess oder Schritt ablaufen, um die Mischeinrichtungen zu steuern, lässt dann einen zweiten Teilprozess ablaufen, um die Backeinrichtungen am von den Mischeinrichtungen hergestellten Produkt ablaufen zu lassen, und lässt dann einen dritten Teilprozess ablaufen, der die Verpackungseinrichtungen so steuert, dass sie das von den Backeinrichtungen hergestellte Produkt verpacken, wovon jeder Schritt einen endlichen Zeitbetrag in Anspruch nimmt.
  • In Prozesssteuerungssystemen aus dem Stand der Technik ist es bekannt, ein Stapelausführungsprogramm oder eine Stapelausführungsanwendung bereitzustellen, um einen Benutzer in die Lage zu versetzen, eine Anzahl unterschiedlicher Stapelabläufe („batch runs") gleichzeitig in der Prozessanlage ablaufen zu lassen, indem verschiedene Einrichtungen verwendet werden, oder aber auch einige derselben Einrichtungen zu unterschiedlichen Zeiten zu verwenden. Diese Stapelausführungsanwendung speichert ein ProzessGerätschaftenmodell, das eine Liste der und Zusammenschaltungen zwischen den verschiedenen Einrichtungen in der Anlage enthält, die die Stapelausführungsanwendung verwendet, um die aktuelle Einrichtung auszuwählen, die von jedem Schritt der einzelnen Stapel verwendet werden soll, der zu einer bestimmten Zeit über den ganzen Stapelbetrieb durchgeführt werden soll. Ein Verfahren zum dynamischen Auswählen von Einrichtungen während des Betriebs unterschiedlicher Stapelabläufe ist im US-Patent Nr. 6,522,934 beschrieben, welches hiermit ausdrücklich durch Bezugnahme mitaufgenommen wird. Wie klar wird, kann die Stapelausführungsanwendung je nach der Größe der Anlage dazu verwendet werden, viele gleichzeitige Stapelabläufe unter Verwendung der unterschiedlichen Ausrüstungsteile in der Anlage auszuführen.
  • In einigen größeren Prozessanlagen werden Stapelausführungsanwendungen verwendet, um die Ausführung von etwa einem Stapel bzw. Batch bis zu potentiell mehreren hundert Stapel gleichzeitig zu koordinieren. Unglücklicherweise sind einige Stapelausführungsanwendungen derart programmiert, dass ein Softwareausfall, der während einem Stapelablauf auftritt, die Stapelausführungsanwendung zum „Absturz" oder Abbruch bringen kann, was im Allgemeinen dazu führt, dass alle Stapel, die gegenwärtig unter der Steuerung der Stapelausführungsanwendung laufen, anhalten oder abbrechen. Ein Absturz der Stapelausführungsanwendung kann zum Abbruch des Durchsatzes der Prozessanlage und dem Bedarf nach einem Be diener führen, der alle Stapelabläufe manuell wieder neu startet. Solche Neustartvorgänge können einen übermäßigen Betrag an Zeit in Anspruch nehmen, die aufzuwenden ist, während der Angestellte jeden Stapel wieder in den Zustand vor der Zeit des Absturzes zurückversetzt und wieder auf das zugrundeliegende Steuersystem synchronisiert. Es erübrigt sich, zu erwähnen, dass dieser Vorgang einen großen Betrag an Ausfallzeit in der Prozessanlage und eine Menge zusätzlicher Arbeit für den Bediener hervorruft. Ein Absturz der Stapelausführungsanwendung kann auch dazu führen, dass eine oder mehrere der Stapel, die sich zur Zeit des Absturzes in der Prozessanlage befinden, zu Ausschuss werden, was zu einem erheblichen finanziellen Verlust führen kann, sowohl was vergeudete Materialien als auch verlorengegangene Anlagenbetriebszeit betrifft.
  • Noch darüber hinaus ist es schwierig, wenn nicht gar unmöglich, die Konfiguration des ProzessGerätschaftenmodells, das von bekannten Stapelausführungsanwendungen verwendet wird, während die Anwendung in Betrieb ist oder in der Prozessanlage abläuft, zu ändern, weil jede der unterschiedlichen Stapel, die von der Stapelausführungsanwendung ablaufen gelassen wird, auf dieses Gerätschaftenmodell zurückgreift oder es verwendet, um Entscheidungen hinsichtlich der zu verwendenden Einrichtungen zu treffen. Somit ist es bei bekannten Stapelausführungsanwendungen notwendig, die Stapelausführungsanwendung zu schließen (entweder abzuwarten, bis die gegenwärtig ausgeführten Stapel fertig sind, oder den Arbeitsablauf dieser Stapel anzuhalten), die Konfiguration des ProzessGerätschaftenmodells in der Stapelausführungsanwendung zu aktualisieren, und dann die Stapelausführungsanwendung mit dem neuen ProzessGerätschaftenmodell neu zu starten. Wie klar wird, hat dieser Vorgang möglicherweise negative Auswirkungen auf all diejenige Stapel, die gerade von der Stapelausführungsanwendung gesteuert werden.
  • Zusätzlich beschränkt die meiste Betriebssoftware wie die Betriebssoftware Microsoft Windows, den Umfang des physikalischen und virtuellen Speichers, der von irgendeiner bestimmten (Einzel-)Anwendung adressiert oder verwendet werden kann. In einem Fall ermöglicht die Betriebssoftware ein Speicherlimit von ca. 2 Gigabytes, bevor der Anwendung Speicherplatz ausgeht und sie vom Betriebssystem abgebrochen wird. Dieses Merkmal beschränkt die Anzahl von Stapeln, speziell großen oder komplexen Stapeln mit komplizierten Rezepten, die gleichzeitig von der Stapelausführungsanwendung ablaufen gelassen oder durchgeführt werden können, weil jeder neue Stapel, der ablaufen gelassen wird, den Speicherbedarf der Stapelausführungsanwendung erhöht. Gegenwärtig beginnt eine Stapelausführungsanwendung, die an die hundert gleichzeitige Stapel ablaufen lässt, gegen diese Speicherbeschränkung anzulaufen. Während diese Speicherbeschränkung in den meisten kleiner dimensionierten Prozessanlagen für gewöhnlich kein Problem darstellt, zwingt diese Beschränkung Stapelausführungsanwendungen in sehr großen Prozessanlagen dazu, die Anzahl gleichzeitiger Stapel, die sie ausführen können, einzuschränken. Aufgrund dieser Beschränkung implementieren Stapelprozessentwickler manchmal mehrere Stapelausführungsanwendungen innerhalb ein- und derselben Prozessanlage, um die gewünschte Anzahl gleichzeitig ablaufender Stapel abwickeln oder implementieren zu können. Der Einsatz einer solchen Behelfslösung bedeutet aber, dass die verschiedenen Stapelausführungsprogramme (die als separate Anwendungen ablaufen) die Prozesseinrichtungen bzw. Prozessgerätschaften nicht auf die ökonomischste oder optimalste Weise gemeinsam nutzen oder koordinieren.
  • ZUSAMMENFASSUNG DER OFFENBARUNG
  • Ein Prozesssteuerungssystem für eine Prozessanlage umfasst eine Stapelausführungsmaschine, die für jeden Stapel, der in der Prozessanlage ablaufen soll, einen individuellen Stapelausführungsprozess hervorbringt oder erstellt. Die Stapelausführungsmaschine umfasst eine Kommunikationssoftware zur Kommunikation mit den Stapel-Bedienerschnittstellen oder anderen Schnittstellen, die dazu verwendet werden, einen Stapelablauf aufzubauen, wobei ein Hauptprozessgerätschaftenmodell den gegenwärtigen Zustand der Einrichtungen in der Prozessanlage wiederspiegelt, und einen Stapelausführungsmanager, der individuelle Stapelprozesse erstellt und diese individuellen Stapelprozesse abkoppelt, um sie in separaten Anwendungsprozessräumen ablaufen zu lassen. Jeder dieser erstellten Stapelprozesse umfasst eine Stapellogik, die eine bestimmte Stapel implementiert, wie sie etwa durch das Stapelrezept definiert ist, welche Stapellogik eine Prozedur mit einer oder mehreren Einheitsprozeduren umfasst, wobei jede Einheitsprozedur eine Einheitsoperation oder mehrere Einheitsoperationen, wobei jede Operation eine Phase oder mehrere Phasen aufweist, eine Kopie des ProzessGerätschaftenmodells und eine Kommunikationsschnittstelle zur Kommunikation mit dem Stapelausführungsmanager aufweist, um Benutzern spezielle Stapeldaten zur Verfügung zu stellen, eine Koordination mit anderen Stapeln in der Prozessanlage abzurufen oder bereitzustellen, etc.
  • Jeder der einmal erstellten Stapelprozesse läuft in einem von der Stapelausführungsmaschine unabhängigen Raum ab, um den Betrieb einer bestimmten Stapel zu bewerkstelligen oder überwachen. Weil die erstellten Stapelprozesse in von der Stapelausführungsmaschine und untereinander abgetrennten Anwendungsprozessräumen ausgeführt werden, bringt ein Softwareausfall in einem Stapelprozess die Stapelausführungsmaschine oder irgendeinen der anderen Stapelprozesse nicht zum Absturz, was die Auswirkung eines Softwareausfalls in einem bestimmten Stapelprozess reduziert. Gleichermaßen kann das ProzessGerätschaftenmodell, das mit dem Stapelausführungsmanager zusammenhängt, verändert werden, ohne sich auf den gegenwärtigen Betrieb bestehender Stapelprozesse auszuwirken, weil jeder der im Ablauf befindlichen Stapelprozesse eine Kopie des ProzessGerätschaftenmodells umfasst, wie es beim Erstellen des Stapelprozesses war, und der Stapelprozess die Gerätschaftenmodellkopie in dem Maße, als die darin befindlichen Daten noch stimmen, jederzeit während des Betriebs des Stapelprozesses verwenden kann, selbst wenn der Stapelausführungsmanager nicht läuft. Noch weiter darüber hinaus wird kein Stapelprozess durch Grenzen beeinträchtigt, die Einzelprozessen vom Betriebssystem auferlegt werden, weil jeder Stapelprozess als separate Anwendung in einem separaten Anwendungsraum abläuft.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Teilblockschema eines Abschnitts einer Prozesssteuerungsnetzes, in dem eine Stapelausführungsmaschine gleichzeitige Stapelprozesse bewerkstelligen kann;
  • 2 ist ein Blockschema eines Netzes von Computern, die eine Stapelausführungsanwendung aus dem Stand der Technik umfassen, die dazu verwendet wird, mehrere Stapel in einer Prozessanlage, ohne separate Stapelprozesse einzusetzen, zu implementieren;
  • 3 ist ein Blockschema eines Netzes von Computern, die eine Stapelausführungsmaschine mit einem Stapelausführungsmanager umfassen, der separate Stapelprozesse erstellt, wovon jeder dazu verwendet wird, eine andere Stapel in einer Prozessanlage zu implementieren; und
  • 4 ist ein Blockschema der Stapelausführungsmaschine von 3, die unanhängige Stapelprozesse in unterschiedlichem Anwendungsprozessräumen erstellt oder hervorbringt, um dadurch gleichzeitige Stapel in einer Prozessanlage zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nunmehr umfasst mit Bezug auf 1 ein Prozessanlagensteuernetz 10 einen Prozessrechner 12, der beispielsweise über eine Ethernet-Kommunikationsverbindung 15 mit zahlreichen Arbeitsplatzrechnern 14 verbunden ist. Der Rechner 12 ist auch mit Geräten oder Einrichtungen in der Prozessanlage (die allgemein mit dem Bezugszeichen 16 bezeichnet ist) über eine (nicht gezeigte) Eingabe-/Ausgabevorrichtung (E-/A-Vorrichtung) und eine Gruppe von Kommunikationsleitungen oder einen Bus 18 verbunden. Der Rechner 12, der nur beispielhaft der Rechner DeltaVTM sein kann, der von Fisher-Rosemount Systems, Inc. vertrieben wird, kann mit Steuerelementen wie Feldgeräten und Funktionsblöcken in den Feldgeräten kommunizieren, die über die Prozessanlage 16 verteilt sind, um ein oder mehrere Prozesssteuerungsprogramm/e durchzuführen, um dadurch eine gewünschte Steuerung der Prozessanlage 16 zu bewerkstelligen. Diese Prozesssteuerungsprogramme können Steuerungsprogramme oder -prozeduren für kontinuierliche oder Stapelprozesse sein. Die Arbeitsplatzrechner 14 (bei denen es sich beispielsweise um PCs, Server, etc. handeln kann) können von einem oder mehreren Techniker/n oder Bediener/n verwendet werden, um Prozesssteuerungsprogramme zu entwickeln, die vom Rechner 12 ausgeführt werden sollen, um mit dem Rechner 12 so zu kommunizieren, dass solche Prozesssteuerungsprogramme heruntergeladen werden, um während des Betriebs der Prozessanlage 16 Daten, die die Prozessanlage 16 betreffen, zu empfangen und anzuzeigen und auf andere Art mit den Prozesssteuerungsprogrammen zu interagieren, die vom Rechner 12 ausgeführt werden.
  • Jeder der Arbeitsplatzrechner 14 umfasst einen Speicher 20 zum Speichern von Anwendungen wie Konfigurationsentwicklungsanwendungen, und zum Speichern von Daten, die die Konfiguration der Prozessanlage 16 betreffen. Jeder der Arbeitsplatzrechner 14 umfasst auch einen Prozessor 21, der die Anwendungen ausführt, um einen Benutzer unter anderem in die Lage zu versetzen, Prozesssteuerungsprogramme zu entwickeln und diese Prozesssteuerungsprogramme auf den Rechner 12 herunterzuladen. Gleichermaßen umfasst der Rechner 12 einen Speicher 22 zum Speichern von Konfigurationsdaten und Prozesssteuerungsprogrammen, die dazu verwendet werden sollen, die Prozessanlage 16 zu steuern, und umfasst einen Prozessor 24, der die Prozesssteuerungsprogramme ausführt, um eine Prozesssteuerungsstrategie zu implementieren. Ist der Rechner 12 ein DeltaV-Rechner, kann er, zusammen mit einer oder mehreren Anwendung/en auf einem der Arbeitsplatzrechner 14 einem Benutzer eine graphische Darstellung der Prozesssteuerungsprogramme im Rechner 12 bereitstellen, die die Steuerelemente im Prozesssteuerungsprogramm und die Art und Weise veranschaulicht, in der diese Steuerelemente konfiguriert sind, um die Steuerung der Prozessanlage 16 zu bewerkstelligen.
  • In dem Beispiel des in 1 dargestellten Prozessanlagensteuernetzes 10 ist der Rechner 12 über den Bus 18 kommunikativ mit zwei Gruppen von ähnlich konfigurierten Einrichtungen verbunden, wobei jede Ausrüstungsgruppe eine Reaktoreinheit, die hier als Reaktor_01 (R1) oder Reaktor_02 (R2) bezeichnet wird, eine Filtereinheit, die hier als Filter_01 (F1) oder Filter_02 (F2) bezeichnet wird, und eine Trocknereinheit aufweist, die hier als Trockner_01 (D1) oder Trockner_02 (D2) bezeichnet wird. Der Reaktor_01 umfasst einen Reaktorbehälter 100, zwei Einlassventile 101 und 102, die so angeschlossen sind, dass sie Fluideinlassleitungen steuern, die Fluid beispielsweise aus einem (nicht gezeigten) Kopftank in den Reaktorbehälter 100 leiten, und ein Auslassventil 103, das so angeschlossen ist, dass es einen Fluidstrom aus dem Reaktorbehälter 100 heraus über eine Fluidauslassleitung steuert. Ein Gerät 105, bei dem es sich um einen Sensor wie einen Temperatursensor, einen Drucksensor, einen Fluidfüllstandsmesser, etc. oder irgendeine andere Einrichtung wie einen Elektroheizer oder Dampfheizer handeln kann, ist im oder nahe am Reaktorbehälter 100 angeordnet. Der Reaktor_01 ist über das Ventil 103 mit dem Filter_01 mit der Filtereinrichtung 110 verbunden, die wiederum mit dem Trockner_01 mit der Trocknereinrichtung 120 verbunden ist. Entsprechend umfasst die zweite Ausrüstungsgruppe den Reaktor_02, der einen Reaktorbehälter 200, zwei Einlassventile 201 und 202, ein Auslassventil 203 und ein Gerät 205 umfasst. Der Reaktor_02 ist mit dem Filter_02 mit der Filtereinrichtung 210 verbunden, die wiederum mit dem Trockner_02 verbunden ist, der die Trocknereinrichtung 220 aufweist. Die Filtereinrichtung 110 und 210 und die Trocknereinrichtung 120 und 220 können zusätzliche, damit verbundene Steuerelemente (wie Heizgeräte, Förderbänder u. dgl.), Sensoren, etc. aufweisen. Obwohl nicht gezeigt, können, falls gewünscht, jede der Filtereinheiten Filter_01 bzw. Filter_02 physikalisch mit jeder der Reaktoreinheiten Reaktor_01 bzw. Reaktor_02 verbunden werden, während jede der Trocknereinheiten Trockner_01 und Trockner_02 mit den Filtereinheiten Filter_01 bzw. Filter_02 verbunden werden kann, so dass ein Stapelablauf, der jeweils einen Reaktor, einen Filter und einen Trockner verwendet, jede Kombination der in 1 gezeigten Einrichtungen einsetzen kann.
  • Wie in 1 dargestellt ist, ist der Rechner 12 kommunikativ mit den Ventilen 101–103, 201–203, den Geräten 105, 205, den Filtern 110, 210 und den Trocknern 120 und 220 (und anderen damit zusammenhängenden Einrichtungen) über den Bus 18 verbunden, um den Betrieb dieser Elemente (welche Einheiten, Feldgeräte, etc. sein können) so zu steuern, dass ein Arbeitsgang oder mehrere Arbeitsgänge im Hinblick auf diese Elemente durchgeführt werden. Solche Arbeitsgänge können beispielsweise umfassen, die Reaktorbehälter oder Trockner zu befüllen, das Material in den Reaktorbehältern oder Trocknern zu erwärmen, die Reaktorbehälter oder Trockner zu leeren, die Reaktorbehälter oder Trockner zu reinigen, die Filter zu aktivieren, etc. Selbstverständlich könnte der Rechner 12 über zusätzliche Busse, über zweckgebundene Leitungen wie 4–20 ma-Leitungen, HART-Kommunikationsleitungen, etc. mit den Elementen in der Prozessanlage 16 verbunden werden.
  • Die Ventile, Sensoren und andere in 1 dargestellte Einrichtungen können von jeder beliebigen Art oder jedem beliebigen Typ sein, einschließlich, beispielsweise, Fieldbus-Feldgeräte, standardmäßige 4–20 ma-Feldgeräte, HART-Feldgeräte, etc., und können mit dem Rechner 12 unter Verwendung irgendeines bekannten oder gewünschten Kommunikationsprotokolls kommunizieren, wie dem Fieldbus-Protokoll, dem HART-Protokoll, dem analogen 4–20 ma-Protokoll, etc. Noch darüber hinaus können andere Gerätetypen auf jede gewünschte Weise an den Rechner 12 angeschlossen und von diesem gesteuert werden. Es können auch andere Rechner an den Rechner 12 und die Arbeitsplatzrechner 14 beispielsweise über die Ethernet-Kommunikationsleitung 15 angeschlossen werden, um andere Geräte oder Bereiche zu steuern, die mit der Prozessanlage 16 zusammenhängen, und der Betrieb solcher zusätzlicher Rechner könnte auf jede gewünschte oder bekannte Weise mit dem Betrieb des in 1 dargestellten Rechners 12 koordiniert werden.
  • Allgemein ausgedrückt, kann das Prozesssteuerungssystem von 1 dazu verwendet werden, Stapelprozesse zu implementieren, bei denen beispielsweise einer der Arbeitsplatzrechner 14 ein Stapelausführungssystem ausführt, das unterschiedliche Stapelabläufe in der Prozessanlage 16 bewerkstelligt und koordiniert. Solch ein Stapelausführungssystem 30 ist als im Arbeitsplatzrechner 14a von 1 gespeichert dargestellt, wobei klar ist, dass das Stapelausführungssystem 30 auch in anderen Arbeitsplatzrechnern 14 oder anderen Computern gespeichert und ausgeführt werden könnte, die kommunikativ in jeder gewünschten Weise, einschließlich jeder drahtlosen Weise, mit dem Bus 15 oder dem Bus 18 verbunden sind. Gleichermaßen kann das Stapelausführungssystem 30, wie zuvor ausführlicher im Hinblick auf 3 erörtert, in verschiedene Komponenten aufgeteilt oder mit verschiedenen Komponenten assoziiert werden, die in unterschiedlichen Computern oder Arbeitsplatzrechnern in der Prozessanlage 16 gespeichert sind und von diesen ausgeführt werden.
  • Anders ausgedrückt ist das Stapelausführungssystem 30 ein Steuerprogramm auf hoher Ebene, das es einem Benutzer ermöglicht, eine Anzahl von Stapelabläufen zu spezifizieren, die in der Prozessanlage abgewickelt werden sollen, und das eine Anzahl von verschiedenen Stapelabläufen oder Stapelprozessen aufbaut, die im Prozessanlagensteuernetz 10 im Wesentlichen unabhängig ablaufen, um die unterschiedlichen Stapelabläufe zu implementieren. Jeder solcher Stapelprozess leitet den Betrieb einer oder mehrerer Einheitsprozeduren, die Unterprogramme oder -prozesse sind, die auf einer einzelnen Einheit ablaufen, wie einer der Reaktoreinheiten, Filtereinheiten, Trocknereinheiten oder einer anderen Einrichtung in der Prozessanlage. Jede Einheitsprozedur (welche ein Teil eines Stapelablaufs ist, der im Allgemeinen auf einem der Arbeitsplatzrechner 14 abläuft), kann eine Reihe von Operationen durchführen, wovon jede eine oder mehr Phasen in einer Einheit durchführen kann. Für diese Erörterung ist eine Phase eine Aktion oder ein Schritt auf der untersten Ebene, die/der an einer Einheit vorgenommen und typischerweise in einem der Rechner 12 implementiert oder ausgeführt wird. Eine Operation ist eine Gruppe von Phasen, die eine bestimmte Funktion an der Einheit erfüllt, und wird typischerweise auf einem der Arbeitsplatzrechner 14 implementiert oder ausgeführt, indem eine Reihe von Phasen im Rechner 12 abgerufen wird, während eine Einheitsprozedur eine Reihe von einer oder mehreren Operationen ist, die auf einer einzelnen Einheit durchgeführt werden, und typischerweise als ein Satz von Operationsabrufen auf einem der Arbeitsplatzrechner 14 implementiert wird. Im Ergebnis kann irgendeine Einheitsprozedur eine oder mehrere Phasen und/oder eine oder mehrere Operationen umfassen. Auf diese Weise vollzieht jeder Stapelprozess verschiedene Schritte oder Stufen (d.h. Einheitsprozeduren), die zur Herstellung eines Produkts wie eines Nahrungsmittelprodukts, eines Medikaments, etc. benötigt werden.
  • Um verschiedene Einheitsprozeduren, Operationen und Phasen für eine einzelne Stapel zu implementieren, verwendet ein Stapelprozess etwas, was gemeinhin als Rezept bezeichnet wird, welches die auszuführenden Schritte spezifiziert, den Umfang und die Zeit, die mit den Schritten verbunden sind, und die Reihenfolge der Schritte. Schritte für ein Rezept könnten beispielsweise umfassen, einen Reaktorbehälter mit den geeigneten Materialien oder Zutaten zu befüllen, die Materialien im Reaktorbehälter zu mischen, die Materialien im Reaktorbehälter eine bestimmte Zeit lang auf eine bestimmte Temperatur zu erwärmen, den Reaktorbehälter zu leeren und ihn dann zu reinigen, um ihn für die nächste Stapel herzurichten, einen Filter zu betätigen, um die Abgabe des Reaktors zu filtern, und dann einen Trockner laufen zu lassen, um das im Reaktorbehälter entstandene Produkt zu trocknen. Jeder dieser Reihe von Schritten, die mit einer anderen Einheit zusammenhängen, definiert eine Einheitsprozedur der Stapel, und der Stapelprozess führt für jede einzelne dieser Einheitsprozeduren einen anderen Steueralgorithmus durch. Natürlich können die speziellen Materialien, Materialmengen, Erwärmungstemperaturen und Zeiten, etc. für verschiedene Rezepte unterschiedlich sein, und folglich können sich diese Parameter, je nach dem Produkt, das hergestellt oder erzeugt wird, und dem Rezept, das verwendet wird, von Stapelablauf zu Stapelablauf ändern. Dem Fach mann wird klar sein, dass, während die in 1 dargestellten Steuerprogramme und -konfigurationen hier für Stapel beschrieben sind, die Reaktor-, Filter- und Trocknereinheiten verwenden, auch Steuerprogramme zur Steuerung anderer beliebiger Geräte verwendet werden können, um andere beliebige Stapelweise Prozessläufe durchzuführen, oder um kontinuierliche Prozessanlagenläufe durchzuführen, falls das so gewünscht wird.
  • Wie dem Fachmann klar sein wird, können dieselben Phasen, Operationen oder Einheitsprozeduren einer Stapelprozessgattung auf jeder der unterschiedlichen Reaktoreinheiten von 1 gleichzeitig oder zu unterschiedlichen Zeiten als Teil von unterschiedlichen, aktuellen Stapelprozessen implementiert werden. Da darüber hinaus die Reaktoreinheiten von 1 im Allgemeinen dieselbe Anzahl und dieselben Arten von Einrichtungen umfassen (d.h., sie zur selben Einheitsklasse gehören), kann dieselbe Phasensteuerungsprogrammgattung für eine bestimmte Phase verwendet werden, um jede der verschiedenen Reaktoreinheiten zu steuern, mit der Ausnahme, dass diese Phasensteuerungsprogrammgattung modifiziert werden muss, um die unterschiedliche Hardware und Ausrüstung zu steuern, die mit den unterschiedlichen Reaktoreinheiten zusammenhängt. Um beispielsweise eine Befüllungsphase für den Reaktor_01 zu implementieren (bei der die Reaktoreinheit befüllt wird), öffnet ein Befüllungssteuerprogramm eines oder mehrere der Einlassventile 101 oder 102 eine bestimmte Zeit lang, bis beispielsweise der Fluidfüllstandsmesser erfasst, dass der Behälter 100 voll ist. Dasselbe Steuerprogramm kann jedoch verwendet werden, um eine Befüllungsphase für den Reaktor_02 zu implementieren, indem einfach nur die Bezeichnung des Einlassventils (der Einlassventile) auf 201 oder 201 anstatt der Ventile 101 oder 102 geändert wird, und, indem die Bezeichnung des Fluidfüllstandsmessers auf Fluidfüllstandsmesser 205 anstatt des Fluidfüllstandsmessers 105 geändert wird. Selbstverständlich ist die mit dem allgemeinen Betrieb von Stapelabläufen zusammenhängende Logik bekannt und wird hier nicht weiter beschrieben.
  • 2 ist ein Blockschema eines bekannten Client/Server-Netzes 40, also eines hierarchischen Netzes, mit einer Gruppe von Client-Computern oder -Knoten 42 und einer Gruppe von Server-Computern oder -Knoten 44, die über einen Bus oder eine andere Kommunikationsleitung 46 angeschlossen sind, die dazu verwen det wurde, eine oder mehrere Stapelausführungsprogramme aus dem Stand der Technik in einer Prozessanlage freizugeben und zu implementieren. Im Allgemeinen nimmt die Stapelnetzwerkarchitektur von 2 die Form einer klassischen zweireihigen, auf Client/Server beruhenden Auslegung an, bei der die Client-Knoten 42 den Server-Knoten 44 Befehle oder Nachrichten zukommen lassen, die dann die aktuellen Stapel in einer Prozessanlage (nicht gezeigt in 2) anfertigen. Die Client-Knoten 42 umfassen im Allgemeinen Bedienerschnittstellenanwendungen, die es einem Benutzer ermöglichen, in einer Prozessanlage unter Verwendung irgendeiner gewünschten Strategie, die sich auf die Anlage anwenden lässt, mehrfache Stapelabläufe aufzubauen und zu konfigurieren. Im Schema von 2 sind drei der Client-Knoten 42a, 42c und 42d so dargestellt, dass sie eine BOI-Anwendung oder Batch-Bedienerschnittstellenanwendung 48 (BOI – Batch Operator Interface) umfassen, welche ein Programm ist, das mit einem Bediener interagiert, um es ihm zu ermöglichen, eine einzelne Stapel, die abgewickelt werden soll, aufzustellen und zu spezifizieren, d.h. einen oder mehrere Stapelabläufe einzuleiten. Auf ähnliche Weise sind die Client-Knoten 42b und 42c so dargestellt, dass sie eine CMOI-Anwendung oder Aktionsmanager-Bedienerschnittstellenanwendung 50 (CMOI – Campaign Manager Operator Interface) umfassen, welche es einem Benutzer ermöglichen, eine Stapelablaufaktion aufzustellen (die im Allgemeinen mehrere aufeinanderfolgende Stapelabläufe umfasst), die in einer bestimmten Reihenfolge oder zu bestimmten zukünftigen Zeiten in der Prozessanlage ablaufen oder ausgeführt werden soll. Eine solche Aktionsmanageranwendung ist ausführlich in der US-Patentanmeldung Seriennummer 09/609,091 mit dem Titel „Campaign Management for Batch Processes" beschrieben, welche am 30. Juni 2000 eingereicht wurde, und deren Offenbarung hiermit durch Bezugnahme ausdrücklich mitaufgenommen wird. Es ist klar, dass andere BOI- und CMOI-Anwendungen bekannt sind und ebenfalls eingesetzt werden können.
  • Jeder der Server-Knoten 44a, 44b und 44c ist ein Batch- bzw. Stapelserver mit einem bekannten Stapelausführungsprogramm oder einer bekannten Stapelausführungsanwendung 52, welche eine bidirektionale Verbindung mit einer oder mehreren BOI-Anwendungen 48 in den Knoten 42a, 42c und 42d herstellt, und welche eine oder mehrere separate Stapel in der Prozessanlage gleichzeitig implementiert und überwacht. Auf ähnliche Weise umfasst der Client-Knoten 44d eine Aktions manager-Serveranwendung 54, welche eine bidirektionale Verbindung mit den CMOI-Anwendungen 50 herstellt und die Stapelaktionen implementiert, die unter Verwendung der CMOI-Anwendungen 50 erstellt werden, indem eine Interaktion oder Kommunikation mit den Stapelausführungsanwendungen 52 (unter Verwendung einer Stapelinitialisierungsanforderung) in den Stapelserver-Knoten 44a, 44b und 44c stattfindet. Die Client/Server-Architektur von 2 wird traditionell dazu verwendet, die Client-Anwendungen von den Server-Anwendungen zu entkoppeln, um eine größere Fehlertoleranz bereitzustellen.
  • Wie für die Stapelausführungsanwendung 52 im Stapelserver-Knoten 44b dargestellt, spricht die Stapelausführungsanwendung 52 auf die vom Aktionsmanager-Server 54 geschickten Stapelinitialisierungsanforderung und die BOI-Anwendungen 48 an, um einen oder mehrere gleichzeitige Stapelabläufe in der Prozessanlage 16 zu implementieren. Es wird klar, dass der Stapel-Server 44b kommunikativ mit einem oder mehreren Rechnern 12 verbunden ist, die wiederum mit einem oder mehreren Geräten, Einheiten, etc. in der Prozessanlage verbunden sind, wie zum Beispiel in 1 veranschaulicht ist.
  • Im Hinblick auf das verbreiterte Schema des Server-Knotens 44b von 2 umfasst das bekannte Stapelausführungsprogramm 52 eine Stapelausführungslogik 56 und ein ProzessGerätschaftenmodell 58, das von der Stapelausführungslogik 56 dazu verwendet wird, eine endliche Anzahl von verschiedenen gleichzeitigen Stapelabläufen 60 zu implementieren (die als Stapel 1, Stapel 2, ..., Stapel N bezeichnet sind). Insbesondere erstellt oder initiiert die Stapelausführungslogik 56 einen Stapelablauf 60, wenn ein Benutzer über eine der BOI-Anwendungen 48, oder der Aktionsmanager-Server 54, der das darin gespeichert ProzessGerätschaftenmodell 58 verwendet, dazu die Anweisung gibt. Wie in 2 dargestellt ist, erstellt die Stapelausführungslogik 56 die verschiedenen Stapel 60 im selben Anwendungsprozessraum wie die Stapelausführungslogik 56 und lässt sie dort ablaufen, und überwacht die Abwicklung dieser verschiedenen Stapelabläufe 60 unter Verwendung einer gemeinsamen Verarbeitungstechnik. Über den gesamten Ablauf des Stapelablaufs 60 hinweg greift die Stapelausführungslogik 56 häufig auf das ProzessGerätschaftenmodell 58 zu, um zu bestimmen, welche Einrichtung zur Verwendung in der Stapel zur Verfügung steht, etc., und kommuniziert mit einer oder mehreren Rechnerlauf zeitanwendungen 62, um den Zustand jedes Stapelablaufs zu überwachen, verschiedene Phasen der Stapelabläufe zu implementieren, mit den Benutzeroberflächen oder anderen Anwendungen in den Client-Knoten 42 (oder anderen Arbeitsplatzrechnern) zu kommunizieren, um einem Benutzer oder Bediener Daten über den Zustand eines Stapelablaufs zur Verfügung zu stellen.
  • Wie zuvor festgestellt, kann ein Fehler oder Ausfall eines der Stapelabläufe 60, welcher als Ergebnis einer fehlerbehafteten Einrichtung, einer Kommunikationsunterbrechung mit dem Rechner oder einzelnen Ausrüstungsteilen, Speicher- oder Stromausfall, etc., auftreten kann, die Stapelausführungslogik 56 zum Ausfall oder „Absturz" bringen, was in der Folge zum Abbruch des Ablaufs jeder der anderen Stapelabläufe 60 führt, weil alle Stapelabläufe 60 von der Stapelausführungslogik 56 als Teil derselben Anwendung im selben Anwendungsprozessraum implementiert werden. Wie vorstehend erörtert, kann dies zu einer erheblichen Ausfallzeit führen und einen erheblichen Bedienereinsatz notwendig machen, um die Stapelabläufe 60 wieder zum Laufen zu bringen, oder können zum Verlust von Prozessanlagenmaterialien und Prozessanlagenbetriebszeit führen. Gleichermaßen ist die Stapelausführungslogik aufgrund der Speicherbeschränkungen, die ihr von der Betriebssoftware des Stapelservers 44b auferlegt werden, bei der Zahl N von Stapelabläufen 60, die sie auf einmal (d.h. gleichzeitig) bewerkstelligen kann, praktisch eingeschränkt. Diese Einschränkung kann in großen Prozessanlagen ein Problem darstellen, die potentiell physikalisch Hunderte von Stapelabläufen zu jeder bestimmten Zeit unterstützen könnten.
  • 3 stellt ein Client/Server-Netz 68 ähnlich demjenigen von 2 dar (wobei gleiche Komponenten dieselben Bezugszahlen aufweisen), mit der Ausnahme, dass der Stapelserver 44 eine Stapelausführungsmaschine 70 speichern und ausführen, welche so konfiguriert ist, dass sie einige oder alle der zuvor im Hinblick auf Stapelausführungsanwendungen 52 aus dem Stand der Technik erörterten Probleme aus der Welt schafft. Wie insbesondere für den Stapelserver 44b in 3 dargestellt ist, umfasst jeder der Stapelserver 44 einen Speicher 72, der die Stapelausführungsmaschine 70 speichert, und einen Prozessor 74, der die Stapelausführungsmaschine 70 während des Betriebs der Prozessanlage ausführt, um mehrere verschiedene Stapelabläufe zu erstellen und zur selben Zeit ablaufen zu lassen.
  • Allgemein ausgedrückt erstellt und koppelt die Stapelausführungsmaschine 70, die in 4 ausführlicher dargestellt ist, einen separaten Stapelprozess ab, der in einem separaten Anwendungsprozessraum (APS – Application Process Space) für jeden neuen, zu koordinierenden Stapel ablaufen soll. Jeder solche Stapelprozess wirkt unabhängig als separate Anwendung, um eine spezielle Stapel zu implementieren, kann aber mit der Stapelausführungsmaschine 70 kommunizieren, um den Einsatz von Prozesseinrichtungen bzw. -gerätschaften mit anderen Stapeln zu koordinieren, Status-, Alarm- und andere Nachrichten an einen Bediener oder sonstigen Benutzer zu schicken, etc. Insbesondere umfasst die Stapelausführungsmaschine 70, wie in 4 dargestellt, eine erste Kommunikationsschicht 80, einen Stapelausführungsmanager 82, ein Hauptgerätschaftenmodell 84 und eine zweite Kommunikationsschicht 86. Die erste Kommunikationsschicht 80 kann irgendein standardmäßiges Kommunikationsprogramm oder irgendeine standardmäßige Kommunikationsroutine sein, das/die eine Kommunikation mit den BOI-Anwendungen 48, dem CM-Server 50 und/oder anderen gewünschten Anwendungen wie Sichtungs- und Anzeigeanwendungen in einem der Client-Knoten 42 ermöglicht, und Benutzer oder Bediener in die Lage versetzt, Stapel zu spezifizieren, die erstellt werden und in der Prozessanlage 16 ablaufen sollen. Der Stapelausführungsmanager 82 ist ein Programm, eine Routine oder eine andere Logik, die einen anderen Stapelprozess 90 in einem anderen Anwendungsprozessraum, d.h. als separates Programm oder als separate Anwendung für jeden anderen Stapel erstellt und abkoppelt, der ablaufen soll, während das Hauptgerätschaftenmodell 84 die jüngste Version des Gerätschaftenmodells für die Anlage abspeichert, die von den Stapeln verwendet werden soll, um beispielsweise die Einrichtungen auszuwählen, die in verschiedenen Phasen und Arbeitsabläufen der Stapel verwendet werden sollen. Die zweite Kommunikationsschicht 86, die dieselbe wie die erste Kommunikationsschicht 80 sein kann, stellt Verbindungen zwischen der Stapelausführungsmaschine 70 und den verschiedenen, gegenwärtig ablaufenden Stapelprozessen 90 bereit. Natürlich kann die Kommunikationsschicht 80 auf jede gewünschte oder bekannte Weise implementiert werden, um eine Verbindung zwischen zwei verschiedenen Anwendungen herzustellen, die auf demselben Prozessor ausgeführt werden.
  • 4 stellt eine Gruppe von N Stapelprozessen 90 dar (die als Stapel 1, Stapel 2, ...; Stapel N bezeichnet sind), wovon sich jeder in einem anderen Anwendungsprozessraum (APS) befindet und die deshalb vom Prozessor 74 von 3 als Programm oder Anwendung behandelt werden, das/die vom Stapelausführungsmanager 82 und voneinander getrennt sind. Der Stapelausführungsmanager 82 erstellt jeden der Stapelprozesse 90 so, dass er eine Kommunikationsschicht 92, eine Stapelausführungslogik 94 und ein Gerätschaftenmodell 96 umfasst. Die Kommunikationsschicht 92 stellt eine Verbindung zum Stapelausführungsmanager 82 der Stapelausführungsmaschine 70 bereit, um zu ermöglichen, dass der bestimmte Stapelprozess 90 Nachrichten an den Stapelausführungsmanager 82 schicken und von diesem empfangen kann, um beispielsweise Status- oder Alarmnachrichten bezüglich der Stapel bereitzustellen, die gerade vom Stapelprozess 90 implementiert wird, um den Stapelausführungsmanager 82 aufzufordern, eine Prozessausrüstungsfrage zu lösen oder darüber zu befinden, oder um den Stapelausführungsmanager 82 anderweitig in die Lage zu versetzen, verschiedene Stapelprozesse 90 miteinander zu koordinieren. Die Kommunikationsschicht 92 kommuniziert auch mit den Ablaufeinrichtungen, wie Steuergeräten, Feldgeräten, etc., um einen Stapelablauf zu bewerkstelligen, zu überwachen und auszuführen. Solche Verbindungen können über einen Ablauf-Server 97 (in 3 dargestellt) stattfinden, die in diesem oder einem anderen Server als Stapelprozesse 90 abgespeichert werden. Natürlich kann die Kommunikationsschicht 92 jede beliebige Form annehmen und hängt allgemein von der Art der Verbindungen und Kommunikationsnetze ab, die in der Prozessanlage zwischen den Stapelserverknoten 44 und den Client-Serverknoten 42, sowie zwischen den Stapelserverknoten 44 und dem Ablaufsystem (wie den Rechnern 12 von 1) verwendet werden.
  • Das Gerätschaftenmodell 96 ist einfach eine Kopie aller relevanten Abschnitte des Hauptgerätschaftenmodells 84, weil das Hauptgerätschaftenmodell 84 bereits existierte als der Stapelprozess vom Stapelausführungsmanager 82 erstellt und hervorgebracht wurde. Die Stapelausführungslogik 94 ist die Logik, die tatsächlich eine bestimmte Stapel unter Verwendung von bestimmten Einrichtungen implementiert, die während des Ablaufs der Stapel aus dem Gerätschaftenmodell 96 ausgewählt werden kann, indem ein bestimmtes, wie beim Erstellen des Stapelprozesses 90 spezifiziertes Rezept verwendet wird. Die Stapelausführungslogik 94 kann ähnlich der Logik sein, die gegenwärtig in Stapelausführungsprogrammen verwendet wird, um eine Stapel zu beginnen, den Arbeitsablauf und Fortschritt einer Stapel zu überwachen, die Einrichtungen, Prozeduren, Phasen, etc., zu spezifizieren, die während der Stapel wie von einem Rezept gefordert verwendet werden sollen, etc. Wie klar wird, ist die Stapelausführungslogik 94 dafür verantwortlich, eine einzelne Stapel oder einen einzelnen Stapelablauf durch alle seine Stadien zu bringen, und um mit dem Stapelausführungsmanager 82 wegen einer Ausrüstungsentscheidung zwischen den unterschiedlichen Stapelabläufen 90 oder irgendwelcher anderen stapelübergreifenden Prozessverbindungen oder Client-Verbindungen zu kommunizieren. Client-Verbindungen können umfassen, Stapelstatusdaten wie Alarme, Warnhinweise, Ereignisse, etc. zu verschicken, die während des Arbeitsablaufs der dazugehörigen Stapel entstehen, der gerade vom Stapelprozess 90 bewerkstelligt wird. Selbstverständlich kann jede beliebige Stapelausführungslogik eingesetzt werden.
  • Während des Betriebs erstellt der Stapelausführungsmanager 82, wenn eine BOI-Anwendung 48 oder der Aktionsmanager-Server 54 die Stapelausführungsmaschine 70 anweist, eine Stapel zu implementieren oder zu erstellen, einen Stapelprozess 90 (z.B. den Stapelprozess 90a) für diejenige Stapel, die die Daten über die Stapel verwendet, wie sie von der BOI-Anwendung 48 oder dem Aktionsmanager-Server 54 bereitgestellt werden. Um den Stapelprozess 90a zu erstellen, kann der Stapelausführungsmanager 82 eine Stapelprozesslogikvorlage 98 einschließlich einer generischen Stapellogik (oder Programmierung) abspeichern und verwenden, und diese Logik unter Verwendung einer Datei oder anderer Daten modifizieren oder instanzieren, die die speziellen Daten, die von der Stapellogikvorlage verwendet werden sollen, um eine bestimmte Stapel auszuführen, spezifizieren, wie etwa das Rezept, die Prozeduren, die Einrichtungen, die verwendet werden sollen. Während dieser Zeit kann der Stapelausführungsmanager 82 das Hauptgerätschaftenmodell 84 (oder irgendeinen einschlägigen Abschnitt davon) in den Stapelprozess 90a oder als Teil des Stapelprozesses 90a kopieren. Steht der Stapelprozess 90a, kann ihn der Stapelausführungsmanager 82 dann auf jede beliebige oder bekannte Weise abkoppeln, um den Stapelprozess 90a zur Ausführung im Prozessor 74 (3) in einem anderen Anwendungsprozessraum zur Ausführung zu bringen, so dass er als autonome Anwendung unabhängig vom Stapelausführungsmanager 82 wirkt.
  • Wie in 4 dargestellt, erstellt der Stapelausführungsmanager 82 einen separaten Stapelprozess 90 in einem anderen Anwendungsverarbeitungsraum für jede neue Stapel, die ausgeführt werden soll. Einmal erstellt oder abgekoppelt, wird jeder der Stapelprozesse 90 vom Prozessor 74 des Stapelservers, in welchem er erstellt wird, ausgeführt, und wirkt wie jede andere Anwendung auf diesem Prozessor 74, wodurch Speicherplatz und Verarbeitungszeit auf dem Prozessor 74 mehrfach genutzt werden. Wie klar wird, läuft dadurch jeder Stapelprozess 90 eigenständig ab und kann ausfallen, ohne dabei den Stapelausführungsmanager 82 oder irgendeinen der andere Stapelprozesse 90 unnötig in Mitleidenschaft zu ziehen. Die hier beschriebene Stapelausführungsmaschine 70 entkoppelt die einzelnen Stapelabläufe zu separaten Stapelprozessen, die am selben Prozessor oder im selben Server, aber in separaten Anwendungsprozessräumen ablaufen, um dadurch dazu beizutragen, zu verhindern, dass der Ausfall eines der Stapelabläufe einen Ausfall oder ein Anhalten aller anderen Stapelabläufe verursacht, die gerade auf dem Server ausgeführt werden. Auf diese Weise verursacht ein Ausfall (wie ein Softwareausfall) in oder bei einem der Stapelprozesse 90 nicht notwendigerweise den Ausfall irgendeines der anderen Stapelprozesse 90 und kann in den meisten Fällen auch die Stapelausführungsmaschine 70 nicht zum Ausfall bringen. Auf diese Weise beschränkt sich der Ausfall im Allgemeinen auf einen einzelnen Stapelablauf, der gerade von einem Prozessor 74 implementiert wird, und überträgt oder wirkt sich nicht auf alle Stapelabläufe aus, die gerade vom Prozessor 74 implementiert werden. Diese Tatsache reduziert signifikant die Neustartzeit, die mit einem Stapelsoftwareausfall verbunden ist, weil im Allgemeinen nur eine einzelne Stapel manuell neu gestartet werden muss. Im Falle, dass die Stapel nicht neu gestartet werden kann oder als Ausschuss entsorgt werden muss, reduziert das hier beschriebene Stapelausfallentkopplungsmerkmal den Umfang an verlorengegangener Prozessanlagenzeit und verlorengegangenen Ressourcen, die sich aus diesem Ausfall ergeben.
  • Da darüber hinaus jeder der Stapelprozesse 90 sein eigenes Gerätschaftenmodell abspeichert, welches er verwendet, bis er abgeschlossen ist, kann das Hauptgerätschaftenmodell 84 in der Stapelausführungsmaschine 70 jederzeit geändert oder abgeändert werden, ohne sich dabei auf die momentan ablaufenden Stapelabläufe oder Stapelprozesse 90 auszuwirken. Auf diese Weise kann ein Benutzer oder Bediener das Hauptgerätschaftenmodell 83 in der Stapelausführungsmaschine 70 ändern, um sich in der Anlage verändernde Bedingungen zu reflektieren, wie das Hinzukommen oder Entfernen bestimmter Einrichtungen, ohne warten zu müssen, dass alle momentan ablaufenden Stapelprozesse 90 zum Abschluss kommen, und ohne die Prozesse 90 anhalten oder abbrechen zu müssen, um die Änderung in der Stapelausführungsmaschine 70 vorzunehmen.
  • Zusätzlich kann die Stapelausführungsmaschine 70, weil jeder Stapelprozess 90 in einem anderen Anwendungsverarbeitungsraum als der Stapelausführungsmaschine 70 abläuft, gleichzeitig viel mehr Stapelabläufe implementieren, ohne die Speicherplatzzuteilung zu verletzen, die von der auf dem Stapelserver 44 (4) verwendeten Betriebssoftware durchgesetzt wird, weil das Hinzufügen oder Erstellen eines neuen Stapelprozesses 90 den von der Stapelausführungsmaschine 82 verwendeten Speicher nicht signifikant belastet, wenn dieser Stapelprozess 90 erst einmal abgekoppelt ist und selbständig läuft. Im Ergebnis kann der Stapelausführungsmanager 82 effektiv jede Anzahl von Stapelprozessen 90, die gleichzeitig ablaufen sollen, erstellen, ohne dabei die Speicherzwänge zu verletzen, die von der Betriebssoftware für jede Einzelanwendung auferlegt werden.
  • Noch weiter darüber hinaus kann, wie zuvor beschrieben, jeder Stapelserver 44 von 3 einen Ablauf-Server 97 umfassen, der eine Ablaufinteraktion und Herunterladedienste für alle Stapelprozesse oder -anwendungen 90 bereitstellt, und kann Daten wie Sicherheitsdaten, Gerätehierarchiedaten, Rezeptdaten und weitere Rechner- oder Prozessanlagendaten zur Verfügung stellen, die benötigt werden, um Stapel in der Prozessanlage 16 zu erstellen und ablaufen zu lassen. Gleichermaßen kann der Ablauf-Server 97 eine Kommunikationsschnittstelle zwischen den Stapelprozessen 90 und den Rechnern 12 von 1 bereitstellen, um es den Stapelprozessen 90 zu ermöglichen, mit den Rechnern 12 zu kommunizieren und dadurch Stapel in der Prozessanlage 16 einzuleiten, zu überwachen und zu steuern. Falls gewünscht, kann der Ablauf-Server 97 ein teilweises Herunterladen von Gerätschaftenmodellveränderungen auf das Hauptgerätschaftenmodell 84 in der Stapelausführungsmaschine 70 ermöglichen, und kann dazu verwendet werden, eine Koordinierung zwischen den unterschiedlichen Stapelausführungsknoten 44 zu ermöglichen, um es dadurch Stapelprozessen 90, die in verschiedenen der Knoten 44 ablaufen, zu ermöglichen, sich miteinander zu koordinieren, um beispielsweise eine knotenübergreifende Geräteentscheidung zu treffen.
  • Wie klar wird, kann die hier beschriebene Architektur der Stapelausführungsmaschine die gleichzeitige Ausführung von irgendwelchen von einem bis mehreren Hunderten oder mehr unterschiedlichen Stapelprozessen zu jeder bestimmten Zeit unterstützen, während ein Softwareausfall in irgendeinem der aktuell ablaufenden Stapelprozesse reduziert oder daran gehindert wird, sich auf den Ablauf irgendwelcher anderer Stapelprozesse oder auch den Ablauf des Stapelausführungsmanagers auszuwirken. Zusätzlich kann diese Architektur der Stapelausführungsmaschine signifikant die Zeit für einen Neustart im Falle eines Softwareausfalls reduzieren, weil typischerweise nur ein einzelner Stapelablauf (derjenige, der den Softwareausfall verursacht hat) manuell neu gestartet werden muss, und nicht alle Stapelabläufe. Auch ermöglicht es diese Architektur der Stapelausführungsmaschine, dass die Stapelausführungsmaschine geändert werden kann, ohne die verschiedenen Stapelabläufe anzuhalten oder abzubrechen, die gerade bewerkstelligt werden. Da jeder Stapelprozess in seinem eigenen Anwendungsverarbeitungsraum abläuft, besteht auch keine praktische Grenze für die Anzahl von Stapeln, die gleichzeitig auf einer einzelnen Stapelausführungsmaschine ausgeführt werden können, die auf die Betriebssoftware zurückzuführen ist, die dem Umfang des physikalischen und virtuellen Speichers, der von einer Einzelanwendung adressiert werden kann, eine Grenze auferlegt. Im Ergebnis besteht keine oder nur eine reduzierte Notwendigkeit, separate Stapelausführungsmaschinen in denselben oder unterschiedlichen Servern zu erstellen, um eine Entkopplung vorzusehen und die Anzahl gleichzeitiger Stapelabläufe, die zu irgendeiner gegebenen Zeit in einer Prozessanlage bewerkstelligt werden können, zu erhöhen.
  • Es wird klar, dass Stapelprogramme wie die Stapelausführungsmaschine, die BOI, CMOI und die Aktionsmanager-Serveranwendungen, die hier beschrieben sind, in jeder beliebigen Prozessanlagensteuerungsprogrammierumgebung verwendet und implementiert werden können, und in jedem Prozessanlagensteuerungssystem verwendet werden können, das irgendeine beliebige Art von Prozessanlagensteuerungskommunikationsprotokoll verwendet, und darüber hinaus dazu verwendet werden kann, jede Art von Funktion im Hinblick auf irgendwelche Art von Ge rät(en) oder Teileinheiten von Geräten) zu erfüllen. Während die wie hier beschriebenen Stapelprogramme vorzugsweise in Software implementiert sind, die beispielsweise in einem Server, einem Arbeitsplatzrechner oder einem anderen Computer gespeichert sind, können je nach Wunsch diese Programme alternativ oder zusätzlich in Hardware, Firmware, anwendungsspezifischen integrierten Schaltungen, programmierbaren Logikschaltungen, etc. implementiert werden. Falls sie in Software implementiert werden, können die Stapelprogramme in jedem maschinenlesbaren Speicher wie etwa einer Magnetplatte, einer Laserplatte oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers, Rechners, Feldgeräts, etc., gespeichert werden. Gleichermaßen kann diese Software einem Benutzer oder einem Gerät über jedes bekannte oder gewünschte Übermittlungsverfahren einschließlich, beispielsweise einen Kommunikationskanal wie eine Telefonleitung, das Internet, ein tragbares Medium, wie eine computerlesbare Diskette, etc. übermittelt werden.
  • Während die vorliegende Erfindung mit Bezug auf spezielle Beispiele beschrieben wurde, die nur veranschaulichend für die Erfindung und diese nicht einschränkend sein sollen, wird dem Fachmann klar sein, dass Veränderungen, Hinzufügungen oder Weglassungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne dass dabei vom Aussagegehalt und Umfang der Erfindung abgewichen würde.

Claims (25)

  1. Stapelausführungsmaschine, die dazu ausgelegt ist, auf einem Prozessor in einer Prozessanlage ausgeführt zu werden, um eine Vielzahl von Stapelabläufen auf Prozessgerätschaften in der Prozessanlage zu implementieren, wobei die Stapelausführungsmaschine umfasst: einen Speicher; eine Kommunikationsschicht, die im Speicher gespeichert und dazu ausgelegt ist, auf dem Prozessor in einem ersten Prozessanwendungsraum ausgeführt zu werden, um eine Stapelinitialisierungsaufforderung oder mehrere Stapelinitialisierungsaufforderungen zu empfangen; und einen Stapelausführungsmanager, der im Speicher gespeichert und dazu ausgelegt ist, auf dem Prozessor im ersten Prozessanwendungsraum ausgeführt zu werden, um eine andere Stapelprozessanwendung im Ansprechen auf den Erhalt der einen Stapelinitialisierungsaufforderung und/oder der mehreren Stapelinitialisierungsaufforderungen zu erstellen, wobei jede der erstellten Stapelprozessanwendungen dazu ausgelegt ist, auf dem Prozessor in einem separaten Prozessanwendungsraum abzulaufen, der sich vom ersten Prozessanwendungsraum unterscheidet, um einen aus der Vielzahl von Stapelabläufen unter Verwendung der Prozessgerätschaften zu bewerkstelligen.
  2. Stapelausführungsmaschine nach Anspruch 1, darüber hinaus ein Hauptprozessgerätschaftenmodell umfassend, das Prozessgerätschaften innerhalb der Prozessanlage spezifiziert, und wobei der Stapelausführungsmanager dazu ausgelegt ist, beim Erstellen jeder der Stapelprozessanwendungen den Stapelprozessanwendungen jeweils eine Kopie mindestens eines Abschnitts des Hauptprozessgerätschaftenmodells bereitzustellen.
  3. Stapelausführungsmaschine nach Anspruch 1 oder 2, wobei der Stapelausführungsmanager dazu ausgelegt ist, jede der Stapelprozessanwendungen so zu erstellen, dass sie Stapelausführungslogik enthält, welche mit den Prozessgerätschaften interagiert, um einen der Vielzahl von Stapelabläufen innerhalb des Prozesses zu implementieren und zu steuern.
  4. Stapelausführungsmaschine nach Anspruch 3, wobei der Stapelausführungsmanager eine Stapellogikvorlage enthält, welche der Stapelausführungsmanager verwendet, um die Stapelausführungslogik für jede der Stapelprozessanwendungen zu erstellen.
  5. Stapelausführungsmaschine nach einem der vorhergehenden Ansprüche, wobei die Kommunikationsschicht eine Kommunikationskomponente umfasst, die dazu ausgelegt ist, jeweils mit den Stapelprozessanwendungen in den separaten Prozessanwendungsräumen zu kommunizieren.
  6. Stapelausführungsmaschine nach Anspruch 6, wobei der Stapelausführungsmanager dazu ausgelegt ist, eine Koordination zwischen zwei oder mehreren der Stapelprozessanwendungen bereitzustellen, wenn die zwei oder mehreren der Stapelprozessanwendungen auf dem Prozessor ablaufen.
  7. Prozesssteuerungssystem zur Verwendung bei der Steuerung einer Vielzahl von Stapelabläufen in einem Prozess mit einer Gruppe von Prozessgerätschaften, wobei das Prozesssteuerungssystem umfasst: einen oder mehrere Prozessrechner zum Steuern der Gruppe von Prozessgerätschaften; einen Server mit einem Prozessor und einem Speicher; eine Kommunikationsschicht, die im Speicher des Servers gespeichert und dazu ausgelegt ist, auf dem Prozessor in einem ersten Prozessanwendungsraum ausgeführt zu werden, um eine Stapelinitialisierungsaufforderung oder mehrere Stapelinitialisierungsaufforderungen zu empfangen; und einen Stapelausführungsmanager, der im Speicher gespeichert und dazu ausgelegt ist, auf dem Prozessor im ersten Prozessanwendungsraum ausgeführt zu werden, um eine andere Stapelprozessanwendung im Ansprechen auf den Erhalt der einen Stapelinitialisierungsaufforderung und/oder der mehreren Stapelinitialisierungsaufforderungen zu erstellen, wobei jede der erstellten Stapelprozessanwendungen dazu ausgelegt ist, auf dem Prozessor in einem separaten Prozessanwendungsraum abzulaufen, der sich vom ersten Prozessanwendungsraum unterscheidet, um mit dem einen Prozessrechner oder den mehreren Prozessrechnern zu kommunizieren, um einen Stapelablauf unter Verwendung der Prozessgerätschaften zu implementieren.
  8. Prozesssteuerungssystem nach Anspruch 7, darüber hinaus eine Bedieneroberfläche mit einer darin gespeicherten Stapelbetriebschnittstellenanwendung umfassend, wobei die Stapelbetriebschnittstellenanwendung dazu ausgelegt ist, die eine Stapelinitialisierungsaufforderung oder die mehreren Stapelinitialisierungsaufforderungen zu erstellen und an die Kommunikationsschicht zu schicken.
  9. Prozesssteuerungssystem nach Anspruch 7 oder 8, darüber hinaus eine Ablauf-Serveranwendung umfassend, die dazu ausgelegt ist, mit dem einen oder den meh reren Prozessrechner/n und mit den Stapelprozessanwendungen zu kommunizieren, um die Stapelabläufe über die Prozessrechner im Ansprechen auf Signale von der einen Stapelprozessanwendung oder den mehreren Stapelprozessanwendungen zu implementieren.
  10. Prozesssteuerungssystem nach einem der Ansprüche 7 bis 9, darüber hinaus umfassend einen zweiten Server mit einem zweiten Prozessor und einem zweiten Speicher, einer zweiten Kommunikationsschicht, die im zweiten Speicher des zweiten Servers gespeichert und dazu ausgelegt ist, auf dem zweiten Prozessor in einem weiteren Prozessanwendungsraum ausgeführt zu werden, um eine zusätzliche Stapelinitialisierungsaufforderung oder mehrere zusätzliche Stapelinitialisierungsaufforderungen zu empfangen, und einen zweiten Stapelausführungsmanager, der im zweiten Speicher gespeichert und dazu ausgelegt ist, auf dem zweiten Prozessor in dem weiteren Prozessanwendungsraum ausgeführt zu werden, um eine andere Stapelprozessanwendung im Ansprechen auf den Erhalt der einen zusätzlichen Stapelinitialisierungsaufforderung oder der mehreren zusätzlichen Stapelinitialisierungsaufforderungen zu erstellen, wobei jede der erstellten anderen Stapelprozessanwendungen dazu ausgelegt ist, auf dem zweiten Prozessor in einem separaten Prozessanwendungsraum abzulaufen, der sich von dem weiteren Prozessanwendungsraum unterscheidet, um mit dem einen Prozessrechner oder den mehreren Prozessrechnern zu kommunizieren, um einen Stapelablauf unter Verwendung der Prozessgerätschaften zu implementieren.
  11. Prozesssteuerungssystem nach einem der Ansprüche 7 bis 10, darüber hinaus ein Hauptprozessgerätschaftenmodell umfassend, das Prozessgerätschaften innerhalb der Prozessanlage spezifiziert, und wobei der Stapelausführungsmanager dazu ausgelegt ist, jeder der Stapelprozessanwendungen jeweils eine Kopie mindestens eines Abschnitts des Hauptprozessgerätschaftenmodells beim Erstellen jeder der Stapelprozessanwendungen bereitzustellen.
  12. Prozesssteuerungssystem nach einem der Ansprüche 7 bis 12, wobei der Stapelausführungsmanager dazu ausgelegt ist, jede der Stapelprozessanwendungen so zu erstellen, dass sie Stapelausführungslogik enthält, welche mit dem einen oder den mehreren der Prozessrechner/n interagiert, um einen Stapelablauf innerhalb des Prozesses zu implementieren und zu steuern.
  13. Prozesssteuerungssystem nach Anspruch 12, wobei der Stapelausführungsmanager eine Stapellogikvorlage enthält, welche der Stapelausführungsmanager verwendet, um die Stapelausführungslogik für jede der Stapelprozessanwendungen zu erstellen.
  14. Prozesssteuerungssystem nach Anspruch 12 oder 13, darüber hinaus ein Hauptprozessgerätschaftenmodell umfassend, das Prozessgerätschaften innerhalb der Prozessanlage spezifiziert, und wobei der Stapelausführungsmanager dazu ausgelegt ist, beim Erstellen jeder der Stapelprozessanwendungen den Stapelprozessanwendungen jeweils eine Kopie mindestens eines Abschnitts des Hauptprozessgerätschaftenmodells bereitzustellen.
  15. Prozesssteuerungssystem nach einem der Ansprüche 7 bis 14, wobei die Kommunikationsschicht eine Kommunikationskomponente umfasst, die dazu ausgelegt ist, mit jeder der Stapelprozessanwendungen in den separaten Prozessanwendungsräumen zu kommunizieren.
  16. Prozesssteuerungssystem nach Anspruch 15, wobei der Stapelausführungsmanager dazu ausgelegt ist, eine Koordination zwischen zwei oder mehreren der Stapelprozessanwendungen bereitzustellen, wenn die zwei oder mehreren der Stapelprozessanwendungen auf dem Prozessor ablaufen.
  17. Verfahren zum Implementieren einer Mehrzahl von Stapeln, so dass diese gleichzeitig in einer Prozessanlage ablaufen, wobei die Prozessanlage die einen oder mehrere mit Prozessgerätschaften verbundene/n Prozessrechner aufweist, wobei das Verfahren umfasst: Stapelinitialisierungsdaten von einem Benutzer entgegenzunehmen, die einen Stapel oder mehrere Stapel spezifizieren, die in der Prozessanlage ablaufen sollen; die Stapelinitialisierungsdaten an einen Stapelserver zu schicken, der kommunikativ mit dem Prozess verbunden ist; eine erste Anwendung auf dem Stapelserver in einem ersten Prozessanwendungsraum ablaufen zu lassen, um die Stapelinitialisierungsdaten für jeden von dem einen Stapel oder von den mehreren Stapeln, die im Prozess ablaufen sollen, zu erhalten, und um für jeden Satz von Stapelinitialisierungsdaten eine Stapelprozessanwendung zu erstellen, die mit dem einen Prozessrechner oder den mehreren Prozessrechnern kommuniziert, um einen Stapelablauf unter Verwendung der Prozessgerätschaften entsprechend den Stapelinitialisierungsdaten zu implementieren; und jede der Stapelprozessanwendungen in einem Prozessanwendungsraum ablaufen zu lassen, der sich vom ersten Prozessanwendungsraum unterscheidet, um die Stapel, die im Prozess ablaufen sollen, zu implementieren.
  18. Verfahren nach Anspruch 17, wobei das Ablaufenlassen der Stapelprozessanwendungen in einem anderen Prozessanwendungsraum weiterhin umfasst, jede der Stapelprozessanwendungen jeweils für sich in einem anderen Prozessanwendungsraum ablaufen zu lassen.
  19. Verfahren nach Anspruch 17 oder 18, wobei das Entgegennehmen der Stapelinitialisierungsdaten umfasst, eine Stapelbetriebschnittstellenanwendung zu verwenden, um die Stapelinitialisierungsdaten entgegenzunehmen.
  20. Verfahren nach einem der Ansprüche 17 bis 19, wobei das Verschicken der Stapelinitialisierungsdaten umfasst, die Stapelinitialisierungsdaten über ein Kommunikationsnetz von einem ersten Computer zu einem zweiten Computer zu schicken.
  21. Verfahren nach einem der Ansprüche 17 bis 20, wobei das Ablaufenlassen jeder der Stapelprozessanwendungen in einem anderen Prozessanwendungsraum als dem ersten Prozessanwendungsraum umfasst, jede der Stapelprozessanwendungen zur gleichen Zeit in einem anderen Prozessanwendungsraum ablaufen zu lassen.
  22. Verfahren nach einem der Ansprüche 17 bis 21, umfassend, ein Hauptprozessgerätschaftenmodell auf dem Stapelserver abzuspeichern, und wobei das Ablaufenlassen der ersten Anwendung umfasst, zumindest einen Abschnitt des Hauptprozessgerätschaftenmodells zu kopieren und den kopierten Abschnitt des Hauptprozessgerätschaftenmodells dazu zu verwenden, die Stapelprozessanwendungen zu erstellen.
  23. Verfahren nach einem der Ansprüche 17 bis 22, darüber hinaus umfassend, Kommunikationen zwischen den Stapelprozessanwendungen und der ersten Anwendung bereitzustellen und die erste Anwendung den Betrieb der Stapelprozessanwendungen untereinander unter Verwendung der Kommunikationen zwischen den Stapelprozessanwendungen und der ersten Anwendung koordinieren zu lassen.
  24. Verfahren nach einem der Ansprüche 17 bis 23, darüber hinaus umfassend, Kommunikationen zwischen den Stapelprozessanwendungen und der ersten Anwendung bereitzustellen und die Stapelprozessanwendungen unter Verwendung der Kommunikationen zwischen den Stapelprozessanwendungen und der ersten Anwendung die erste Anwendung mit Stapelstatusdaten versorgen zu lassen, die den Betrieb der Stapel betrifft, die im Prozess ablaufen sollen.
  25. Verfahren nach Anspruch 24, wobei die Stapelstatusdaten Alarmdaten sind, die während des Betriebs der Stapel, die im Prozess ablaufen sollen, generiert werden.
DE102004025877A 2003-05-29 2004-05-27 Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen Ceased DE102004025877A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/447,797 US7369912B2 (en) 2003-05-29 2003-05-29 Batch execution engine with independent batch execution processes
US10/447797 2003-05-29

Publications (1)

Publication Number Publication Date
DE102004025877A1 true DE102004025877A1 (de) 2004-12-16

Family

ID=32655761

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004025877A Ceased DE102004025877A1 (de) 2003-05-29 2004-05-27 Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen

Country Status (6)

Country Link
US (1) US7369912B2 (de)
JP (1) JP4576159B2 (de)
CN (1) CN100485561C (de)
DE (1) DE102004025877A1 (de)
GB (1) GB2402768B (de)
HK (1) HK1070712A1 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6662061B1 (en) * 1997-02-07 2003-12-09 Peter G. Brown System and method for simulation and modeling of batch process manufacturing facilities using process time lines
US7444197B2 (en) 2004-05-06 2008-10-28 Smp Logic Systems Llc Methods, systems, and software program for validation and monitoring of pharmaceutical manufacturing processes
US8146090B2 (en) 2005-09-29 2012-03-27 Rockstar Bidco, LP Time-value curves to provide dynamic QoS for time sensitive file transfer
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
US7759503B2 (en) 2007-03-05 2010-07-20 Nitto Denko Corporation Trisoxetane compound, process for producing the same, and optical waveguide using the same
US8046086B2 (en) * 2007-05-15 2011-10-25 Fisher-Rosemount Systems, Inc. Methods and systems for batch processing and execution in a process system
CN101403913B (zh) * 2007-09-21 2013-07-24 费舍-柔斯芒特系统股份有限公司 实时批执行程序环境中的联机配方同步
US8369975B2 (en) 2007-09-21 2013-02-05 Fisher-Rosemount Systems, Inc. Online recipe synchronization in a real-time batch executive environment
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
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
US8555206B2 (en) * 2007-12-21 2013-10-08 Fisher-Rosemount Systems, Inc. Methods and apparatus to present recipe progress status information
JP2009217587A (ja) * 2008-03-11 2009-09-24 Hitachi Ltd バッチ処理装置及び方法
US20090271021A1 (en) * 2008-04-28 2009-10-29 Popp Shane M Execution system for the monitoring and execution of insulin manufacture
US9015720B2 (en) * 2008-04-30 2015-04-21 Advanced Micro Devices, Inc. Efficient state transition among multiple programs on multi-threaded processors by executing cache priming program
US8984390B2 (en) 2008-09-15 2015-03-17 Palantir Technologies, Inc. One-click sharing for screenshots and related documents
US8165700B2 (en) * 2008-10-02 2012-04-24 Fisher-Rosemount Systems, Inc. Complete integration of stand-alone batch operator interface capabilities into generic human machine interface using componentized objects
US8332443B2 (en) 2008-12-19 2012-12-11 Microsoft Corporation Masterless distributed batch scheduling engine
US20110022197A1 (en) * 2009-07-27 2011-01-27 Rec Advanced Silicon Materials Llc Process control application development environment and features
US20110246553A1 (en) * 2010-04-06 2011-10-06 Somani Mahesh K Validation of internal data in batch applications
US8880725B2 (en) * 2010-05-26 2014-11-04 Microsoft Corporation Continuous replication for session initiation protocol based communication systems
US9927788B2 (en) * 2011-05-19 2018-03-27 Fisher-Rosemount Systems, Inc. Software lockout coordination between a process control system and an asset management system
US8762528B2 (en) 2011-05-31 2014-06-24 General Electric Company Systems and methods for write protecting foundation fieldbus linking devices
US8868732B2 (en) * 2011-05-31 2014-10-21 General Electric Company Systems and methods for facilitating communication with foundation fieldbus linking devices
US8769072B2 (en) 2011-05-31 2014-07-01 General Electric Company Systems and methods for identifying foundation fieldbus linking devices
US8713166B2 (en) 2011-05-31 2014-04-29 General Electric Company Systems and methods for facilitating communication with foundation fieldbus linking devices
US9130853B2 (en) 2011-05-31 2015-09-08 General Electric Company Systems and methods for identifying foundation fieldbus linking devices
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US9378526B2 (en) 2012-03-02 2016-06-28 Palantir Technologies, Inc. System and method for accessing data objects via remote references
US9471370B2 (en) * 2012-10-22 2016-10-18 Palantir Technologies, Inc. System and method for stack-based batch evaluation of program instructions
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9367463B2 (en) 2013-03-14 2016-06-14 Palantir Technologies, Inc. System and method utilizing a shared cache to provide zero copy memory mapped database
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US10728284B2 (en) * 2013-05-03 2020-07-28 Vmware, Inc. Methods and apparatus to assess compliance of a computing resource in a virtual computing environment
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
CN104821924B (zh) * 2014-01-30 2018-11-27 西门子公司 一种网络数据包处理方法、装置和网络处理设备
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
US20160026923A1 (en) 2014-07-22 2016-01-28 Palantir Technologies Inc. System and method for determining a propensity of entity to take a specified action
US10558339B1 (en) 2015-09-11 2020-02-11 Palantir Technologies Inc. System and method for analyzing electronic communications and a collaborative electronic communications user interface
US9798787B1 (en) 2015-12-10 2017-10-24 Palantir Technologies Inc. System and user interfaces for searching resources and related documents using data structures
US10554516B1 (en) 2016-06-09 2020-02-04 Palantir Technologies Inc. System to collect and visualize software usage metrics
US10552531B2 (en) 2016-08-11 2020-02-04 Palantir Technologies Inc. Collaborative spreadsheet data validation and integration
US10373078B1 (en) 2016-08-15 2019-08-06 Palantir Technologies Inc. Vector generation for distributed data sets
US10650086B1 (en) 2016-09-27 2020-05-12 Palantir Technologies Inc. Systems, methods, and framework for associating supporting data in word processing
US10152306B2 (en) 2016-11-07 2018-12-11 Palantir Technologies Inc. Framework for developing and deploying applications
US10261763B2 (en) 2016-12-13 2019-04-16 Palantir Technologies Inc. Extensible data transformation authoring and validation system
US10509844B1 (en) 2017-01-19 2019-12-17 Palantir Technologies Inc. Network graph parser
US10180934B2 (en) 2017-03-02 2019-01-15 Palantir Technologies Inc. Automatic translation of spreadsheets into scripts
US10572576B1 (en) 2017-04-06 2020-02-25 Palantir Technologies Inc. Systems and methods for facilitating data object extraction from unstructured documents
US10824604B1 (en) 2017-05-17 2020-11-03 Palantir Technologies Inc. Systems and methods for data entry
US10534595B1 (en) 2017-06-30 2020-01-14 Palantir Technologies Inc. Techniques for configuring and validating a data pipeline deployment
US10204119B1 (en) 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
US11016936B1 (en) 2017-09-05 2021-05-25 Palantir Technologies Inc. Validating data for integration
US11379525B1 (en) 2017-11-22 2022-07-05 Palantir Technologies Inc. Continuous builds of derived datasets in response to other dataset updates
US10552524B1 (en) 2017-12-07 2020-02-04 Palantir Technolgies Inc. Systems and methods for in-line document tagging and object based data synchronization
US10360252B1 (en) 2017-12-08 2019-07-23 Palantir Technologies Inc. Detection and enrichment of missing data or metadata for large data sets
US11176116B2 (en) 2017-12-13 2021-11-16 Palantir Technologies Inc. Systems and methods for annotating datasets
US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management
GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system
US10599762B1 (en) 2018-01-16 2020-03-24 Palantir Technologies Inc. Systems and methods for creating a dynamic electronic form
CN110275782B (zh) * 2018-03-13 2023-08-29 阿里巴巴集团控股有限公司 数据处理方法及装置
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US10795909B1 (en) 2018-06-14 2020-10-06 Palantir Technologies Inc. Minimized and collapsed resource dependency path
CN113535413B (zh) * 2020-04-21 2023-10-17 长鑫存储技术有限公司 交易请求的处理方法及半导体生产系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910691A (en) * 1987-09-30 1990-03-20 E.I. Du Pont De Nemours & Co. Process control system with multiple module sequence options
US5280626A (en) * 1987-12-02 1994-01-18 Hitachi, Ltd. Multi-process emulator suitable for testing software under multi-process environments
JP3189326B2 (ja) * 1990-11-21 2001-07-16 セイコーエプソン株式会社 生産管理装置および該装置を用いた生産管理方法
DE4139179C2 (de) 1991-11-28 1994-01-13 Wacker Chemie Gmbh Verfahren zur automatischen Steuerung von Chargenprozessen
US5450356A (en) * 1994-10-25 1995-09-12 At&T Corp. Programmable pull-up buffer
US6085217A (en) * 1997-03-28 2000-07-04 International Business Machines Corporation Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
US6148244A (en) * 1998-04-13 2000-11-14 Intellution, Inc. Equipment pathing and unit allocation for a process control system
US6289252B1 (en) * 1998-08-31 2001-09-11 Fisher-Rosemount Systems, Inc. Distributed batch processing system and methods
US6629003B1 (en) * 1998-12-04 2003-09-30 Vector Corporation Batch processing control system recipe management and batch information system
US6385496B1 (en) * 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US6522934B1 (en) 1999-07-02 2003-02-18 Fisher-Rosemount Systems, Inc. Dynamic unit selection in a process control system
US6947798B2 (en) * 1999-09-24 2005-09-20 Rockwell Software Inc. System and method for developing software programs by way of multiple applications and users
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US6647315B1 (en) 2000-09-29 2003-11-11 Fisher-Rosemount Systems, Inc. Use of remote soft phases in a process control system
JP3798954B2 (ja) * 2001-08-30 2006-07-19 東芝三菱電機産業システム株式会社 バッチプロセス制御装置
US6732006B2 (en) * 2002-02-06 2004-05-04 Asm International Nv Method and system to process semiconductor wafers
WO2004073193A1 (ja) * 2003-02-14 2004-08-26 Hitachi Metals, Ltd. スイッチ回路及び複合高周波部品
US7248938B2 (en) * 2003-12-31 2007-07-24 Vigilistics, Inc. Method and system for monitoring batch product manufacturing
US7515977B2 (en) * 2004-03-30 2009-04-07 Fisher-Rosemount Systems, Inc. Integrated configuration system for use in a process plant
TWI236044B (en) * 2004-05-12 2005-07-11 Powerchip Semiconductor Corp System and method for real-time dispatching batch in manufacturing process
US7127304B1 (en) * 2005-05-18 2006-10-24 Infineon Technologies Richmond, Lp System and method to predict the state of a process controller in a semiconductor manufacturing facility
US7757234B2 (en) * 2005-10-24 2010-07-13 Sap Aktiengesellschaft Methods and software for a batch processing framework for wizard-based processes
JP2007199811A (ja) * 2006-01-24 2007-08-09 Hitachi Ltd プログラム制御方法、計算機およびプログラム制御プログラム

Also Published As

Publication number Publication date
CN1573627A (zh) 2005-02-02
CN100485561C (zh) 2009-05-06
GB2402768B (en) 2006-12-20
GB0411362D0 (en) 2004-06-23
JP2004355622A (ja) 2004-12-16
GB2402768A (en) 2004-12-15
JP4576159B2 (ja) 2010-11-04
US7369912B2 (en) 2008-05-06
HK1070712A1 (en) 2005-06-24
US20040254658A1 (en) 2004-12-16

Similar Documents

Publication Publication Date Title
DE102004025877A1 (de) Stapelausführungsmaschine mit unabhängigen Stapelausführungsprozessen
DE10147115B4 (de) Verwendung von entfernt gelegenen Softphasen in einem Prozeßsteuerungssystem
DE10011661B4 (de) Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung
DE10131531B4 (de) Kampagnenmanagement für Chargenprozesse
DE10031671A1 (de) Dynamische Einheitsauswahl in einem Prozessregelsystem
DE10335116B4 (de) Integrierte elektronische Authentifizierung für die Freigabe von Softwareobjekten für ein Prozesssteuerungssystem
DE10204434B4 (de) Fehlermanagementverfahren und Prozesssteuersystem mit Fehlermanagement
EP2098926B1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102012104305A1 (de) Software-Aussperrkoordination zwischen einem Prozessregelungssystem und einem Anlagenverwaltungssystem
DE10316217A1 (de) Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem
DE102010029952A1 (de) Verfahren zum Integrieren von zumindest einem Feldgerät in ein Netzwerk der Automatisierungstechnik
DE10012249A1 (de) Modifikationsfunktionsblöcke in einem Prozeßsteuerungssystem
DE10012258A1 (de) Selbst-Abstimmung in einer verteilten Prozeß-Regelumgebung
DE102004003569A1 (de) Integriertes Sicherungssystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE112004001716T5 (de) Integrierte elektronische Signaturen zur Freigabe von Softwareobjekten von Prozesssteuer- und Sicherheitssystemen
DE10021698A1 (de) Auf einem einzelnen Computer realisierte integrierende Funktionalität für ein verteiltes Prozessregelsystem
DE102009019088A1 (de) Sicherheitssteuerung zum Steuern einer automatisierten Anlage und Verfahren zum Erstellen eines Anwenderprogramms für eine Sicherheitssteuerung
DE102015108359A1 (de) Verfahren und Vorrichtung zur automatischen Validierung von Sicherheitsfunktionen an einem modular aufgebauten Sicherheitssystem
DE10147050B4 (de) Bedienersperre in Steuersystemen von Batchprozessen
DE102021127384A1 (de) Industrielles prozesssteuerungssystem als rechenzentrum einer industriellen prozessanlage
EP0628182B1 (de) Verfahren zur kontrolle und steuerung von chargenprozessen
EP2557464B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
WO2019057559A1 (de) Verfahren und datenverarbeitungsvorrichtung zum computerunterstützten bereitstellen einer in form von computercode vorliegenden information zu einem prozessmodul, sowie computerprogrammprodukt zur durchführung des verfahrens
EP2090948A1 (de) Automatisierungssystem und Verfahren zum Betrieb eines solchen Automatisierungssystems
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final