-
Die Erfindung betrifft allgemein Prozesssteuerungssysteme und insbesondere eine Kampagnenmanagementtechnik, die Steuerungsfunktionen mit Überwachungseingriff über die Erzeugung und Durchführung von Chargenprozesskampagnen durch ein Prozesssteuerungssystem ausführt.
-
Prozesssteuerungssysteme wie solche, die Chargenprozesstechniken in der Produktion großer Mengen pharmazeutischer und chemischer Erzeugnisse, Getränke, Farben oder anderer Produkte einsetzen, enthalten im Allgemeinen eine oder mehrere zentrale Prozesssteuerungen, die zum Datenaustausch mit einem oder mehreren Feldgeräten gekoppelt sind, bei denen es sich beispielsweise um Ventilstellungsregler, Schalter, Sensoren (z.B. Temperatur-, Druck- und Durchflusssensoren etc.) handeln kann. Diese Feldgeräte können zu Steuerungseinrichtungen gehören wie z.B. Ventilen, Pumpen, Mischeinheiten etc., können physikalische Steuerungsfunk-tionen innerhalb eines Prozesssteuerungssystems ausführen (wie Öffnen oder Schließen eines Ventils, Ein- und Ausschalten einer Pumpe oder Mischeinheit etc.), können Messungen innerhalb des Prozesssteuerungssystems zur Regelung des Prozessbetriebs vornehmen oder irgend eine andere gewünschte Funktion innerhalb des Prozesssteuerungssystems ausführen. Allgemein ausgedrückt erhalten die Prozesssteuerungen Signale, die Angaben zu Messungen durch eines oder mehrere der Feldgeräte und/oder anderen Informationen bezüglich der Feldgeräte machen, verwenden diese Information, um eine typischerweise komplexe Steuerungsroutine zu implementieren und erzeugen Steuersignale, die über die Signalleitungen oder Busse an die Feldgeräte geschickt werden, um den Betrieb des Prozesssteuerungssystems zu steuern.
-
Des Weiteren sind die Prozesssteuerungen im Allgemeinen über einen Datenbus wie einen Ethernetbus mit einer oder mehreren Workstations oder anderen Geräten gekoppelt. Auf diesen anderen Geräten laufen typischerweise andere Anwendungen oder Programme, die die von der einen oder den mehreren Steuerungen bereitgestellte Information verwenden, um andere Prozesssteuerungsfunktionen bereitzustellen, wie Bereitstellen einer Benutzerschnittstelle mit der Steuerungsroutine, Ermöglichen der Modifikation oder Aktualisierung der Steuerungsroutine, Datenaustausch mit den Feldgeräten, Speichern historischer bzw. älterer Prozesssteuerdaten, Überwachen oder Einschränken von Anwenderzugriffen etc. Bei einigen großen Prozesssteuerungssystemen können eine oder mehrere entfernt angeordnete Workstations mit dem Datenbus über ein weiteres Kommunikationsnetzwerk z.B. eine Internetverbindung, eine Satelliten- oder Zellkommunikationsstrecke, eine Funkstrecke (wie in drahtlosen Ethernet-Verbindungen verwendet) etc. gekoppelt sein.
-
Prozesssteuerungssysteme, die Chargen von Produkten produzieren, enthalten typischerweise eine grafische Schnittstelle bzw. Benutzeroberfläche, die es einem Anwender (z.B. einem Ingenieur) ermöglicht, eines oder mehrere Basisproduktrezepte, Chargenparameter, Ausrüstungslisten etc. zu definieren und zu speichern. Diese Basisproduktrezepte enthalten typischerweise eine Abfolge von Prozessschritten, die jeweils zu einer bestimmten Geräteliste gehören oder mit dieser gekoppelt sind. Durch die Kopplung von Prozessschritten für das Rezept an bestimmte Geräte der Ausrüstung definiert der Anwender (z.B. ein Bedienungsmann) explizit vor der chargenweisen Ausführung des Rezepts, welches Gerät der Prozesssteuerungsausrüstung zu verwenden ist, um jeden Prozessschritt für das Rezept auszuführen. Außerdem kann für jeden der Prozessschritte von einem Anwender (z.B. einem Bedienungsmann) verlangt werden, einen oder mehrere Ein-/Ausgabe-(Input/Output – I/O)-Chargenparameterwerte zu definieren, die während der Ausführung der Charge verwendet werden, um die Abfolge und/oder den Zeitablauf zu steuern, Alarmgrenzwerte zu setzen, Zielsteuerwerte (z.B. Sollwerte) zu setzen etc. Diese I/O-Parameterwerte können Ein- und Ausgängen zugeordnet werden, die an eines oder mehrere der Feldgeräte innerhalb der Prozesssteuerung geschickt oder von diesen empfangen werden, oder können alternativ Zwischenwerte oder berechnete Werte sein, die vom Prozesssteuerungssystem während der Ausführung einer Charge erzeugt werden. Bei der Definition einer Charge verwendet also ein Anwender (z.B. ein Bedienungsmann) typischerweise die grafische Schnittstelle, um ein Basisproduktrezept (das Spezifikationen enthält, die die Prozessschritte des Rezepts mit der Prozesssteuerungsausrüstung verknüpfen) zu wählen und um die Parameterwerte vorzugeben, die während der Ausführung der Charge zu verwenden sind. Bei einem Steuerungssystem, das beispielsweise Lackchargen produziert, kann ein Anwender (z.B. ein Bedienungsmann) im Dialog mit der grafischen Schnittstelle ein Basislackrezept wählen, z.B. für einen Halbglanz-Latexlack für Außenflächen, und Parameterwerte vorgeben, die zu Produktion einer Charge von 390 Litern (100 Gallonen) eines Halbglanz-Latexlacks für Außenflächen einer bestimmten Farbe führen.
-
Um nur ein Beispiel zu nennen, kann ein Basislackrezept einen oder mehrere Prozessschritte beinhalten, die Farbstoffe oder andere Substanzen zu einer Lack-Basismischung hinzufügen, sowie weitere Prozessschritte, die diese Farbstoffe und andere Substanzen mit der Lack-Basismischung vermischen. Diese Prozessschritte des Vermischens oder alle anderen Prozessschritte in Zusammenhang mit dem Basislackrezept können mit bestimmten Teilen der Ausrüstung innerhalb des Prozesssteuerungssystems verknüpft sein. So kann beispielsweise ein erster Mischschritt mit einem ersten Mischer und ein zweiter Mischschritt mit einem zweiten Mischer verknüpft sein oder, falls gewünscht, kann alternativ der zweite Mischschritt statt dessen mit dem ersten Mischer verknüpft sein. Analog kann jeder Prozessschritt des Rezepts, der Farbstoff zur Lackmischung hinzufügt, mit einem bestimmten Teil der Farbstoffdosierausrüstung verknüpft sein.
-
Des Weiteren kann der Anwender bei der Definition einer Charge eine Vielfalt I/O-Parameterwerte angeben, wie Mischzeiten, Mengen der Farbstoffe etc., die vom Prozesssteuerungssystem während der Ausführung der Charge verwendet werden, um die von der Charge vorgeschriebenen Prozessschritte durchzuführen und das gewünschte Lackendprodukt zu erzielen. Mit herkömmlichen Chargendefinitionstechniken kann ein Anwender also eine Vielfalt Farbendprodukte einschließlich einer Vielfalt Basislacktypen (wie durch die Basisrezepte vorgegeben) in einer Vielfalt Farben (wie durch die I/O-Parameterwerte vorgegeben) produzieren. Da herkömmliche Chargendefinitionstechniken natürlich auch angewendet werden können, um zahlreiche andere Produkttypen wie pharmazeutische Produkte, Getränke, Lebensmittelprodukte etc. zu erzeugen, können die betreffenden Prozessschritte, die ausrüstungsbezogen mit den Prozessschritten und den I/O-Parameterwerten verknüpft sind, variiert werden, so dass das Prozesssteuerungssystem das gewünschte Endprodukt produziert.
-
Produktionskampagnen sind eine hinreichend bekannte Technik zur Erhöhung der Wirtschaftlichkeit chargenorientierter Prozesssteuerungssysteme. Herkömmlicherweise gibt eine Produktionskampagne die sich wiederholende Ausführung identischer Chargen vor. Bei manchen herkömmlichen chargenorientierten Prozesssteuerungssystemen kann ein Anwender eine Produktionskampagne erzeugen, indem er eine Charge mehrere Male definiert. Möchte der Anwender beispielsweise eine Kampagne für 20 Chargen eines bestimmten Lackrezepts erzeugen, tritt der Anwender mit einer Chargendefinitionsschnittstelle in Dialog, um das gleiche Rezept und die gleichen Parameterwerte zwanzig mal vorzugeben. Selbstverständlich erfordert eine solche sich wiederholende Definition einer Charge zur Erzeugung einer Kampagne, dass der Anwender eine erhebliche Datenmenge eingibt, und als Ergebnis sind einige Chargendefinitionsschnittstellen entwickelt worden, die dem Anwender die Erzeugung einer Kampagne ermöglichen, indem eine Charge einmal definiert und dann die Anzahl der Male vorgegeben wird, wie die Charge auszuführen ist, um die Kampagne zu komplettieren.
-
In jedem Fall sind herkömmliche Techniken zur Erzeugung einer Produktionskampagne relativ unflexibel, da sie es einem Anwender typischerweise nicht gestatten, eine Kampagne zu erzeugen, die verschiedene Chargentypen enthält. Mit anderen Worten, mit herkömmlichen Techniken zur Erzeugung einer Produktionskampagne kann der Anwender typischerweise nur Kampagnen erzeugen, die identische Chargen enthalten. Des Weiteren sind herkömmliche Techniken zur Erzeugung und Durchführung einer Produktionskampagne typischerweise nicht eng mit den Chargendefinitions- und -ausführungsfunktionen des Prozesssteuerungssystems verbunden, noch sind diese herkömmlichen Techniken zur Erzeugung und Durchführung einer Produktionskampagne mit anderen Prozesssteuerfunktionen z.B. Sicherheitsfunktionen (d.h. Überwachung des Anwenderzugriffs), Datenarchivierungsfunktionen etc. eng verbunden. Tatsächlich haben die Sicherheitsfunktionen, die Datenarchivierungsfunktionen und andere Funktionen innerhalb des Prozesssteuerungssystems typischerweise keinerlei Zugriff auf chargenbezogene Informationen, die in der von den Chargendefinitions- und -ausführungsfunktionen verwendeten Datenbasis gespeichert sind. Als Ergebnis muss der Anwender von Hand erhebliche Datenmengen eingeben, um getrennte Chargeninformationsdatenbanken in jeder Funktion des Prozesssteuerungssystems zu erstellen, die der Anwender mit den Prozessen der Erzeugung und Durchführung von Kampagnen verbinden möchte. Die manuelle Erstellung und Wartung getrennter Chargeninformationsdatenbanken macht es für den Anwender leider erforderlich, an die Synchronisierung der Datenbanken zu denken (d.h. die Informationen zwischen den Datenbanken konsistent bzw. widerspruchsfrei zu machen), wenn beispielsweise das Rezept, ein Chargenparameter oder eine andere chargenbezogene Information innerhalb einer der Datenbanken geändert wird.
-
Außerdem resultieren herkömmliche Techniken zur Erzeugung und Durchführung von Kampagnen häufig in einer unzulänglichen Nutzung der Speicher- und Verarbeitungsressourcen für die Chargenausführung. Bei einer herkömmlichen Technik zur Erzeugung einer Kampagne tritt der Anwender in Dialog mit der Chargendefinitionsfunktion, um eine Mehrzahl Chargen nacheinander zu erzeugen und bereitzustellen. Bei Anwendung dieser herkömmlichen Technik zur Erzeugung einer Kampagne wird der Anwender in der Praxis typischerweise alle gewünschten Chargen einer Kampagne erzeugen und bereitstellen, ungeachtet, ob einige Chargen bereits ausgeführt sind und ungeachtet, ob Ausrüstung zur Verfügung steht, um mehr als eine dieser bereitgestellten Chargen auszuführen. Als Ergebnis kann die Anzahl der bereitgestellten Chargen, die auf die Ausführung warten, unnötige Speicher- und Verarbeitungsressourcen der Chargenausführungsfunktion beanspruchen.
-
Bei einer anderen herkömmlichen Technik zur Erzeugung einer Kampagne tritt der Anwender in Dialog mit der Chargendefinitionsfunktion, um eine einzelne Charge zu erzeugen und bereitzustellen, und tritt dann in Dialog mit einfachen Kampagnenerzeugungs- und Durchführungsfunktionen, mit denen der Anwender vorgeben kann, wie oft die definierte Charge von der Kampagnendurchführungsfunktion auszuführen (d.h. zu wiederholen) ist.
-
Des Weiteren erlauben es herkömmliche Techniken für die Erzeugung und Durchführung einer Kampagne dem Anwender typischerweise nicht, wesentliche Änderung an der Kampagne vorzunehmen, sobald die Kampagne erzeugt und innerhalb der Chargenausführungsfunktion bereitgestellt oder freigegeben worden ist. Obwohl es beispielsweise einige herkömmliche Prozesssteuerungssysteme einem Anwender gestatten, begrenzte Änderungen der Parameterwerte während der Durchführung einer Kampagne vorzunehmen, erlauben diese herkömmlichen Systeme typischerweise nicht, dass ein Anwender eine Änderung dahingehend vornimmt, welches Rezept von einer gegebenen Charge einer laufenden Kampagne produziert wird, noch gestatten es diese herkömmlichen Systeme dem Anwender, ein anderes Teil der Ausrüstung mit einem Prozessschritt zu koppeln, sobald die Kampagne erzeugt und innerhalb der Chargenausführungsfunktion bereitgestellt worden ist.
-
Eine Kampagnenmanagementtechnik ist eng mit einem Prozesssteuerungssystem verbunden und führt Steuerungsfunktionen mit Überwachungseingriff über die Erzeugung und Durchführung von Chargenprozesskampagnen durch ein Prozesssteuerungssystem aus. Allgemein gesagt bietet die hierin beschriebene Kampagnenmanagementtechnik eine hochwertige Überwachungsfunktion, die die Chargendefinitions- und -ausführungsfunktionen überlagert und die eng mit diesen verbunden ist. Die Kampagnenmanagementtechnik kann auch eng mit anderen chargenbezogenen Funktionen wie Chargenarchivierungsfunktionen und/oder einer Sicherheitsfunktion (d.h. Überwachung des Anwenderzugriffs) oder anderen Funktionen des Prozesssteuerungssystems verbunden sein.
-
Die Offenlegungsschrift
DE 42 06 076 A1 beschreibt ein Verfahren zur Kontrolle und Steuerung von Chargenprozessen, welche mehrere Prozessschritte beinhalten, die in einem rezeptspezifischen zeitlichen Abstand nacheinander ablaufen und deren Anfangszustände durch einen Satz von spezifischen Parametern charakterisiert sind.
-
Die Patentschrift
DE 693 21 735 T2 beschreibt ein Verfahren zur Steuerung der Produktion eines Produkts in einer Prozessanlage mit einem Prozesssteuersystem und wenigstens einer Produktionslinie, wobei eine Formel für jedes zu produzierende Produkt auf der Basis von Formeldaten und, basierend auf der Formel, ein erzeugtes Rezept für das Produkt aufgebaut werden, und das Rezept durch die Steuerung ausgeführt wird.
-
Die Aufgabe der vorliegenden Erfindung liegt darin, ein System für ein Prozesssteuerungssystem derart weiterzuentwickeln, dass dieses auf Ausrüstungsausfälle reagieren kann.
-
Erfindungsgemäß werden ein System gemäß Anspruch 1, ein Verfahren zur Erzeugung einer Chargenprozesskampagne gemäß Anspruch 8 und ein Verfahren zur Durchführung einer Chargenprozesskampagne gemäß Anspruch 17 bereitgestellt.
-
Vorzugsweise schicken ein System und ein Verfahren zur Erzeugung der Chargenprozesskampagne eine Chargeninformationen anfordernde erste Meldung an eine Chargenerzeugungsfunktion und erhalten eine zweite Meldung als Antwort auf die die Chargeninformation anfordernde Meldung, die eine Menge Chargeninformation enthält. Das System und das Verfahren zeigen die Menge Chargeninformation unter Verwendung einer grafischen Benutzerschnittstelle bzw. -oberfläche an und fordern einen Anwender zu einer ersten Eingabe auf, die eine Untermenge der Menge Chargeninformation aus der angezeigten Menge Chargeninformationen identifiziert, die in mindestens eine Charge der Mehrzahl Chargen einzubeziehen ist. Außerdem fordern das System und das Verfahren den Anwender zu einer zweiten Eingabe auf, die Kampagneninformation angibt, die in die Chargenprozesskampagne aufzunehmen sind, und verwenden die erste und zweite Eingabe zur Erzeugung der Chargenprozesskampagne.
-
Vorzugsweise bestimmen ein System und ein Verfahren zur Durchführung einer Chargenprozesskampagne einen zur Chargenprozesskampagne gehörigen Chargenausführungsmodus und geben eine oder mehrere Chargen aus einer Mehrzahl Chargen an eine Chargenausführungsfunktion auf Basis des Chargenausführungsmodus frei. Das System und das Verfahren senden außerdem Meldungen an die Chargenausführungsfunktion, um diese zu veranlassen, eine oder mehrere der freigegebenen Chargen auszuführen.
-
Gemäß einem weiteren Aspekt der Erfindung fordern ein eine Chargenprozesskampagne editierendes System und ein Verfahren einen Anwender zu einer ersten Eingabe über eine grafische Benutzeroberfläche auf, die eine oder mehrere nicht freigegebene Chargen aus der Chargenprozesskampagne identifiziert. Des Weiteren fordern das System und das Verfahren den Anwender zu einer zweiten Eingabe über die grafische Benutzeroberfläche auf, die eine Änderung der Chargeninformation angibt, die zu der einen oder den mehreren nicht freigegebenen Chargen gehören, und speichert die Änderung der Chargeninformationen zusammen mit der Chargenprozesskampagne in einem Datenspeicher.
-
1 ist ein schematisches Blockdiagramm eines Prozesssteuerungssystems, das eine Kampagnenmanagementtechnik anwendet, um Steuerungsfunktionen mit Überwachungseingriff über die Erzeugung und Durchführung von Chargenprozesskampagnen auszuführen;
-
2 ist ein beispielhaftes schematisches Blockdiagramm, aus dem ersichtlich ist, wie die vom Server von 1 ausgeführten Kampagnenmanagementtechniken eng mit anderen Prozesssteuerungsfunktionen verbunden sind;
-
3 ist eine beispielhafte Darstellung eines Bildschirms einer Kampagnenliste, der von der grafischen Benutzeroberfläche von 2 bereitgestellt wird;
-
4 ist eine beispielhafte Darstellung eines Dialogfensters zur Kampagnenerzeugung, mit dem ein Anwender eine neue Kampagne erzeugen und zur Kampagnenliste von 3 hinzufügen kann;
-
5 ist eine beispielhafte Darstellung eines Rezeptauswahlfensters, das als Reaktion auf die benutzerseitige Aktivierung des Wahltasters im Fenster "Create Campaign" (Kampagne erzeugen) von 4 erscheint;
-
6 ist eine beispielhafte Darstellung des Fensters "Select Recipe" (Rezept auswählen), das erscheint, wenn ein Anwender die Taste "View parameters" (Parameteransicht) von 5 gewählt hat;
-
7 ist eine beispielhafte Darstellung eines Fensters der Eigenschaften einer Chargenkampagne, mit dem ein Anwender wählen und optimieren kann, wie Chargen in einer Kampagne an die Chargenausführung von 2 freigegeben und von dieser gestartet werden;
-
8 ist ein beispielhaftes Flussdiagramm, das darstellt, wie die Kampagnendurchführungsfunktion und die Chargenausführungsmaschine von 2 zusammenarbeiten, um eine Chargenprozesskampagne im automatischen Startmodus zum Ausführen der Chargen auszuführen;
-
9 ist eine beispielhafte Darstellung eines Chargeneditierfensters, das es einem Anwender ermöglicht, eine oder mehrere Chargen innerhalb einer Kampagne zu editieren; und
-
10 ist eine beispielhafte Darstellung eines Fensters, das eine zum Chargeneditierfenster von 9 gehörige geänderte Chargengruppe zeigt.
-
Obwohl hierin eine Kampagnenmanagementtechnik in Zusammenhang mit einem Prozesssteuerungssystem beschrieben wird, das Lack produziert, sollte beachtet werden, dass die hierin beschriebene Kampagnenmanagementtechnik auf vorteilhafte Weise im Rahmen vielfältiger chargenorientierter Prozesssteuerungssysteme eingesetzt werden kann, einschließlich Prozesssteuerungssysteme, die pharmazeutische Erzeugnisse, Chemikalien, Lebensmittelprodukte, Verbrauchsgüter oder beliebige andere Produkte produzieren. Bevor die Kampagnenmanagementtechnik detaillierter erörtert wird, ist es wichtig sich zu vergegenwärtigen, dass herkömmliche Techniken zur Erzeugung und Durchführung von Kampagnen typischerweise keinen Zugriff auf Informationen in der Datenbank haben, die von den Chargendefinitions- und Ausführungsfunktionen verwendet wird. Statt dessen verlangen diese herkömmlichen Techniken, dass der Anwender die Datenbank mit der Chargeninformation innerhalb jeder Prozesssteuerungssystemfunktion neu erzeugt, mit der nach dem Wunsch des Anwenders die Kampagnenerzeugungs- und -durchführungsfunktionen kommunizieren sollen. Des Weiteren verlangen diese herkömmlichen Kampagnenerzeugungs- und -durchführungstechniken vom Anwender, daran zu denken, alle Chargeninformationsdatenbanken manuell zu aktualisieren, wenn Änderungen in einer der Chargeninformationsdatenbanken vorgenommen werden. Mit anderen Worten, der Anwender muss typischerweise einen erheblichen Aufwand betreiben, um eine große Chargeninformationsdatenbank mehrere Male neu zu erstellen, und muss die Synchronisierung dieser mehreren Chargeninformationsdatenbanken auf manuelle Weise aufrechterhalten, so dass von einer Kampagnenerzeugungsfunktion erzeugte Kampagnen, die eine Chargeninformationsdatenbank verwenden, ordnungsgemäß arbeiten, wenn sie von einer Chargenausführungsfunktion ausgeführt werden, die eventuell eine andere Chargeninformationsdatenbank verwendet, die sich von der von der Kampagnenerzeugungsfunktion verwendeten Datenbank unterscheidet.
-
Außerdem kann bei herkömmlichen Kampagnenerzeugungs- und -ausführungstechniken ein Anwender typischerweise keinen Abschnitt einer Kampagne editieren, sobald die Ausführung der Kampagne begonnen hat. Im Ergebnis kann der Anwender bei Ausfall eines Ausrüstungsteils während der Durchführung der Kampagne die Situation nur dadurch bereinigen, dass er die Durchführung der gesamten Kampagne anhält und eine neue Kampagne erzeugt, die eine alternative funktionale Ausrüstung verwendet. Wünscht ein Anwender ein zu einer bestimmten Charge in der Kampagne gehöriges Rezept zu ändern (z.B. aufgrund einer Änderung eines Auftrags durch den Kunden), muss er gleichermaßen die Durchführung der gesamten Kampagne anhalten und eine neue Kampagne erzeugen, die die gewünschten Chargentypen vorgibt.
-
1 ist ein schematisches Blockdiagramm eines Prozesssteuerungssystems 10, das eine Kampagnenmanagementtechnik anwendet, um Steuerungsfunktionen mit Überwachungseingriff über die Erzeugung und Durchführung von Chargenprozesskampagnen auszuführen. Insbesondere und nur beispielhaft ist das Prozesssteuerungssystem 10 so konfiguriert, dass es Lackchargen produziert. Es versteht sich jedoch, dass die hierin beschriebene Kampagnenmanagementtechnik auf vorteilhafte Weise innerhalb jedes Prozesssteuerungssystems eingesetzt werden kann, das Chargen pharmazeutischer Erzeugnisse, Chemikalien, Lebensmittelprodukte oder beliebiger anderer Produkte produziert. Das Prozesssteuerungssystem 10 enthält Workstations 12 und 14 und einen Server 16, die auf Systemebene kommunikativ über einen Datenbus 18 verbunden sind, bei dem es sich um einen Ethernet-Datenbus oder jeden anderen Datenbus handeln kann, der zur Datenübertragung geeignet ist. Die Workstations 12 und 14 können vielfältige bekannte Prozesssteuerungsfunktionen ausführen. Beispielsweise kann die Workstation 12 eine Routine 20 enthalten, die in einem Speicher 21 abgelegt ist und von einem Prozessor 22 ausgeführt wird, der Sicherheitsfunktionen ausführt, die den Anwenderzugriff auf andere Funktionen und Informationen im Prozesssteuerungssystem 10 überwachen. In ähnlicher Weise kann die Workstation 14 Routinen 23 und 24 enthalten, die in einem Speicher 25 abgelegt sind und von einem Prozessor 26 ausgeführt werden, um Datenarchivierungs- bzw. Chargenausführungsfunktionen bereitzustellen. Der Server 16 kann eine Workstation mit einem Prozessor 27 sein, der eine oder mehrere Softwareroutinen 28 ausführt, die in einem Speicher 30 abgelegt sind, um die hierin beschriebenen Kampagnenmanagementtechniken auszuführen. Der Server 16 kann mit Clients 32 und 34 über einen Datenbus 18 auf Systemebene oder alternativ über jede andere geeignete Datenverbindung wie eine Satelliten gestützte drahtlose Verbindung, eine Modemverbindung etc. kommunizieren. In ähnlicher Weise kann der Server 16 auch mit einem Client 33 eines anderen Knotens oder Systems über einen Datenbus 35 kommunizieren, bei dem es sich um einen Ethernet-Datenbus oder um jeden anderen geeigneten Datenbus handeln kann. Die Clients 32 bis 34 können auf jedem Typ Hardwareplattform laufen, wie etwa einer Workstation, einem PC (Personal Data Assistant), einem Laptop Computer etc., der mit dem Server 16 kommunizieren kann. Natürlich können auch andere Geräte wie Datenspeichergeräte, zusätzliche Benutzerschnittstellen etc. (nicht dargestellt) mit dem Datenbus 18 auf Systemebene und/oder dem zum anderen Knoten oder System gehörigen Datenbus 35 verbunden sein.
-
Das Prozesssteuerungssystem 10 enthält des Weiteren eine erste und zweite Steuerung 36 und 38, die vom Typ des verteilten Steuerungssystems (distibuted control system – DCS) oder jedem anderen Typ sein können, und die unter Verwendung eines anwendereigenen Kommunikationsprotokolls oder jedes anderen geeigneten Kommunikationsprotokoll kommunikativ mit dem Datenbus 18 auf Systemebene gekoppelt sein können. Die Steuerungen 36 und 38 kommunizieren mit entsprechenden Feldgeräten 40 bis 44 und 46 bis 50 über entsprechende erste und zweite Eingangs-/Ausgangsgeräte (input/output – I/O) 52 und 54 sowie Steuerdatenbusse 56 und 58. Wie in 1 dargestellt sind die Feldgeräte 40 bis 50 intelligente Feldgeräte, die Information bezüglich des Prozesssteuerungssystems 10 mitteilen, indem sie Meldungen über die Steuerdatenbusse 56 und 58 schicken. Wie hinreichend bekannt ist, können intelligente Feldgeräte zur Ausführung einer oder mehrerer Prozesssteuerungsschleifen entweder zusammen mit oder unabhängig von einer Steuerung verwendet werden. Die intelligenten Feldgeräte 40 bis 50 können beispielsweise Fieldbus-Geräte sind, wobei in diesem Fall die Steuerdatenbusse 56 und 58 nicht proprietäre Protokolldatenbusse sind, die das Fieldbus-Signalprotokoll verwenden. Jedoch können ebenso gut andere Typen Geräte und Protokolle verwendet werden, wie z.B. das HART®, PROFIBUS®, WORLDFIP®, Device-Net®, CAN und AS-Interface Protokoll. Außerdem können die Steuerungen 36 bis 38 direkt mit herkömmlichen (d.h. nicht intelligenten) Feldgeräten (z.B. Feldgeräten mit einer herkömmlichen analogen Schnittstelle 4–20 mA oder 0–10 VDC) verbunden sein. So ist beispielsweise wie in 1 gezeigt die erste Steuerung 36 mit einem herkömmlichen nicht intelligenten Feldgerät 60 verbunden.
-
Die Feldgeräte 40 bis 50 und 60 sind mit Ausrüstungsteilen 62 bis 70 verbunden. Insbesondere ist das nicht intelligente Feldgerät 60 mit dem Mischbehälter 62, die Feldgeräte 40 und 42 sind mit dem ersten Mischer 64, das Feldgerät 44 ist mit einem ersten Farbstoffdosierer 66, die Feldgeräte 46 und 48 sind mit einem zweiten Mischer 70 und das Feldgerät 50 ist mit dem zweiten Farbstoffdosierer 68 verbunden. Obwohl in 1 nicht dargestellt, kann das Prozesssteuerungssystem 10 weitere Steuerungen, Feldgeräte und Ausrüstung wie erforderlich enthalten, um Lackchargen zu produzieren.
-
2 ist ein beispielhaftes Blockdiagramm 100, das zeigt, wie die vom Server 16 in 1 ausgeführten Kampagnenmanagementtechniken eng mit anderen Prozesssteuerungsfunktionen des in 1 dargestellten Prozesssteuerungssystems 10 integriert sind. Die hierin beschriebenen Kampagnenmanagementtechniken werden von einem Kampagnenmanager 110 ausgeführt, der eine Kampagnenerzeugungsfunktion 111, eine Kampagnendurchführungsfunktion 112, eine Kampagneneditierfunktion 113 und einen Datenspeicher 114 aufweist. Allgemein gesagt überwacht die Kampagnenerzeugungsfunktion 111 die Erstellung von Chargenprozesskampagnen, die Kampagnendurchführungsfunktion 112 steuert die Freigabe von Chargen zur Ausführung und die Kampagneneditierfunktion 113 ermöglicht einem Anwender die Editierung nicht freigegebener Chargen, während des Betriebes, wodurch der Anwender flexibel auf Ausrüstungsausfälle, Auftragsänderungen seitens des Kunden in letzter Minute etc. reagieren kann. Der Kampagnenmanager 110 tauscht Meldungen und andere Information mit anderen Funktionen innerhalb des Prozesssteuerungssystems 10 aus. Insbesondere empfängt der Kampagnenmanager 110 Eingaben und Befehle von einem Anwender über eine grafische Benutzeroberfläche 120 und kommuniziert mit einer Chargenausführung 130, einem Sicherheitssystem 140 und eine Chargenarchivierungsvorrichtung 150. Wie in 2 dargestellt schickt die Chargenausführung 130 außerdem Chargenausführungsmeldungen an die Chargenarchivierungsvorrichtung 150 und kommuniziert mit dem Sicherheitssystem 140.
-
Die Chargenausführung 130, das Sicherheitssystem 140 und die Chargenarchivierungsvorrichtung 150 sind hinreichend bekannte Prozesssteuerungsfunktionen. Insbesondere hat die Chargenausführung 130 eine Definitions-/Bereitstellungsfunktion 160, eine Ausführungsmaschine 170 und eine Datenbank 180. Die Chargenausführung 130 kann auf dem Server 14 oder einem anderen Knoten oder System innerhalb des Prozesssteuerungssystems 10 stehen, z.B. der Workstation 12 oder dem Server 16. Die Chargenausführung 130 kann jedes System sein, das Chargen definiert (d.h. erzeugt) und ausführt, wie z.B. die DeltaVTM Batch Executive von Fisher-Rosemount Systems, Inc., mit der ein Anwender Rezepte, Ausrüstungslisten, Chargenparameter etc. für die Chargenausführung definieren kann, und die die Abwicklung eines Chargenprozesses ausführt. Bei der Erstellung eines Rezeptes kann die Definitions-Bereitstellungsfunktion 160 dem Anwender z.B. eine grafische Schnittstelle zur Verfügung stellen, mit der es dem Anwender möglich ist, die Prozessschritte eines Rezeptes, die Ausrüstung, mit der jeder Prozessschritt gekoppelt ist usw. vorzugeben. Der Anwender kann diese Vorgaben über die Tastatur oder alternativ oder zusätzlich mittels Zeiger- und Mausklickoperationen in Verbindung mit Piktogrammen, Pulldown-Menüs oder anderen herkömmlichen Techniken grafischer Benutzeroberflächen eingeben. Außerdem kann es die Definitions-/Bereitstellungsfunktion 160 dem Anwender gestatten, eine Charge näher zu spezifizieren, indem bestimmte Parameter vorgegeben werden, die bei der Ausführung eines gegebenen Rezeptes innerhalb der Charge zu verwenden sind.
-
Die Datenbank 180 speichert Chargen-Definitions- und Ausführungsinformation beispielsweise detaillierte Rezeptinformation, Verfügbarkeit und Profile der Ausrüstung, Kopplungsinformation, Statusinformation der Chargenausführung etc. Chargenbezogene Informationen (d.h. Rezepte, Chargenparameterwerte etc.), die unter Verwendung der Definitions-/Bereitstellungsfunktion 160 erzeugt werden, werden in der Datenbank 180 zur Verwendung durch die Ausführungsmaschine 170 während der Ausführung einer Charge und wie nachstehend detaillierter erörtert durch den Kampagnenmanager 110 und die grafische Benutzeroberfläche 120 während der Erzeugung und Durchführung einer Kampagne gespeichert.
-
Der Kampagnenmanager 110 hält keine getrennte Chargeninformationsdatenbank in der Kampagnenmanagementfunktion bzw. fordert vom Anwender nicht, eine solche zu halten. Ganz im Gegenteil kann der Kampagnenmanager 110, der im Server 16 angeordnet ist, z.B. Meldungen (d.h. Anforderungen) über den Bus 18 auf Systemebene an die Chargenausführung 130 senden (die z.B. in der Workstation 14 angeordnet sein kann), um chargenbezogene Information wie erforderlich aus der Datenbasis 180 (die im Speicher 25 abgelegt sein kann) zur Erzeugung und Durchführung von Kampagnen zu extrahieren. Somit teilen sich der Kampagnenmanager 110 und die Chargenausführung 130 einen einzigen Vorrat an Chargeninformation, was dem Anwender die Notwendigkeit erspart, mehrere Kopien der Datenbank 180 zu erstellen und zu pflegen (d.h. synchronisieren), wie es bei herkömmlichen Kampagnenerzeugungs- und -durchführungstechniken typisch ist.
-
Die Chargenausführungsmaschine 170 empfängt und stellt Chargen bereit, die von der Kampagnendurchführungsfunktion 112 zur Ausführung freigegeben worden sind. Während der Durchführung einer Kampagne wickelt die Chargenausführungsmaschine 170 die Zuteilung von Ausrüstung ab und schickt Meldungen mit Statusinformation über die Chargenausführung, Verfügbarkeit der Ausrüstung etc. an die Kampagnendurchführungsfunktion 112 und die Chargenarchivierungsvorrichtung 150. Insbesondere schickt die Chargenausführungsmaschine 170 Meldungen an die beiden Steuerungen 36 und 38 bzw. erhält Meldungen von diesen, um entsprechende Prozeduren in einem oder mehreren der intelligenten Feldgeräte 40 bis 50 auszulösen und um entsprechende Meldungen/Signale mit einem oder mehreren der Feldgeräte 40 bis 50 auszutauschen und um die Prozessschritte in Zusammenhang mit der von der Chargenausführungsmaschine 170 aktuell ausgeführten Charge auszuführen.
-
Die Kampagnenerzeugungsfunktion 111, die Kampagnendurchführungsfunktion 112 und die Kampagneneditierfunktion 113 arbeiten mit der grafischen Benutzeroberfläche 120 zusammen, um es einem Anwender zu ermöglichen, Chargenprozesskampagnen zu erzeugen und durchzuführen. Insbesondere erlaubt es die Kampagnenerzeugungsfunktion 111 einem Anwender, eine Kampagne flexibel zu erzeugen, die mehrere Typen Chargen enthält, sowie außerdem, einen Modus aus einer Mehrzahl Betriebsmodi zu wählen, der die Freigabe von Chargen an die Chargenausführung 130 steuert, um die mit der Chargenausführung 130 verbundenen Speicher- und Verarbeitungsressourcen effizienter zu nutzen.
-
Die grafische Benutzeroberfläche 120 kann unter Verwendung beispielsweise einer WindowsTM-Betriebsumgebung implementiert werden und so vielfältige Pulldown-Menüs, Icons und andere grafische Symbole enthalten, um die Erzeugung von Chargenprozesskampagnen, die Überwachung des Kampagnenstatus, das Editieren von Kampagnen etc. zu erleichtern. Es dürfte klar sein, dass die grafische Benutzeroberfläche 120 als Client-Anwendung innerhalb eines der Clients 32 bis 34 oder alternativ auf einem anderen Client oder einem anderen Knoten oder System innerhalb des Prozesssteuerungssystems 10 laufen kann. Des Weiteren dürfte klar sein, dass die grafische Benutzeroberfläche 120 auf praktisch jeder Hardwareplattform basiert sein kann, einschließlich beispielsweise PCs, Strichcode-Scanner, Laptops, Palmtops etc. und über den Datenbus 18 auf Systemebene oder einer anderen verdrahteten oder drahtlosen Kommunikationsverbindung (z.B. Zellverbindung, Satellitenverbindung etc.) mit dem Kampagnenmanager 110 kommunizieren kann.
-
3 zeigt einen Bildschirm 200 einer Kampagnenliste, der von der grafischen Benutzeroberfläche 120 erzeugt wurde und eine Liste Kampagnen 205 enthält, die von einem Anwender im Dialog mit der Kampagnenerzeugungsfunktion 111 erstellt oder definiert wurde. Eine Kopfzeile 207 enthält eine Reihe von Feldern, die jede der Kampagnen in der Liste 205 näher bezeichnen. Ein Feld "Campaign" (Kampagne) 210 enthält einen benutzerdefinierten Kampagnennamen, der vom Kampagnenmanager 110 verwendet wird, um die Kampagne während der Erstellung, des Editierens oder der Durchführung der Kampagne zu identifizieren. Der Kampagnenname kann im gesamten Prozesssteuerungssystem 10 verwendet werden, um die aktuell erzeugte, editierte oder durchgeführte Kampagne gegenüber anderen Prozesssteuerungsfunktionen wie beispielsweise der Chargenausführung 130, dem Sicherheitssystem 140 und der Datenarchivierungsvorrichtung 150 oder einer anderen Benutzerschnittstelle oder einem anderen System innerhalb des Prozesssteuerungssystems 10 zu identifizieren. Ein Feld "Execution Mode" 220 (Ausführungsmodus) gibt an, welchen Ausführungsmodus der Anwender für die Kampagne gewählt hat. Wie nachstehend detaillierter erörtert wird, kann der Anwender aus einer Mehrzahl Chargenausführungsmodi einschließlich manuellem Modus, automatischem Freigabemodus und automatischem Startmodus wählen, von denen ein jeder von der Kampagnendurchführungsfunktion 112 verwendet wird, um die Freigabe von Chargen an die Chargenausführung 130 zu steuern, um die Verarbeitungs- und Speicherressourcen der Chargenausführung 130 am effizientesten zu nutzen. Ein Feld "Status" 230 gibt an, ob eine Charge ausgeführt ("Complete") worden ist, derzeit aktiv oder ablaufend oder erst definiert ("Defined"), aber noch nicht von der Chargenausführung 130 ausgeführt worden ist. Ein Feld "Base Recipe" 240 (Basisrezept) gibt an, welches Basisrezept zur Definition einer Charge verwendet wurde. In der beispielhaften Bildschirmliste 200 von 3 basieren alle Kampagnen der Liste 205 auf dem Basisrezept für einen Emaillelack für Außenflächen, der im Feld "Basisrezept" 240 mit "EXT_ENAMEL_STRG" bezeichnet ist. Ein Feld "Batch Count" 250 (Chargenzählung) gibt die Anzahl der Chargen an, die in jeder der Kampagnen der Liste 205 enthalten sind und ein Feld "Created By" 260 (Erstellt von) gibt an, welcher Anwender jede der Kampagnen erzeugt hat.
-
4 zeigt ein beispielhaftes Dialogfenster 300 zur Kampagnenerzeugung, mit dem ein Anwender eine neue Kampagne erzeugen und zur Kampagnenliste 205 von 3 hinzufügen kann. Allgemein ausgedrückt fordert das Dialogfenster 300 den Anwender über grafische Eingabeblöcke auf, die zur Erzeugung der Kampagne erforderliche Information einzugeben. Natürlich kann jede andere Technik, mit der vom Anwender Information angefordert wird, verwendet werden wie z.B. Textfragen etc. Insbesondere erlaubt ein Block 305 "Campaign Name" (Name der Kampagne) dem Anwender, einen alphanumerischen Namen einzugeben, der vom Kampagnenmanager 110, der Chargenausführung 130 und jeder anderen Prozesssteuerungsfunktion innerhalb des Prozesssteuerungssystems 10 in Zusammenhang mit der zu erzeugenden Kampagne verwendet wird. Ein Block 310 "Number of Batches" (Anzahl der Chargen) gestattet einem Anwender die Eingabe der Anzahl Chargen, die in der zu erzeugenden Kampagne enthalten sind, und ein Block 315 "Maximum Active Batches" (maximale Anzahl aktiver Chargen) ermöglicht es einem Anwender, die Anzahl der Chargen einzugeben, die gleichzeitig bereitgestellt werden oder innerhalb der Chargenausführung 130 gleichzeitig ablaufen können. Typischerweise wird der Anwender eine maximale Anzahl aktiver Chargen eingeben, bei der die verfügbare Ausrüstung voll genutzt wird. Ist beispielsweise innerhalb des Prozesssteuerungssystems 10 ausreichend Ausrüstung vorhanden, um fünf Chargen gleichzeitig auszuführen, kann der Anwender die maximale Anzahl aktiver Chargen auf fünf setzen wie in 3 dargestellt.
-
Ein Block 320 "Description" (Beschreibung) gestattet dem Anwender die Eingabe eines Beschreibungstextes der zu erstellenden Kampagne. Der Anwender kann beispielsweise einen zur Kampagne gehörigen Kundennamen, einen Produktnamen oder eine Produktbeschreibung, z.B. "Weatherkiller Six Star Exterior Latex" oder jeden anderen gewünschten Beschreibungstext eingeben. Ein Block 325 "Base Recipe" (Basisrezept) gibt an, welches Basisrezept zur Erzeugung der Kampagne verwendet worden ist, und wie nachstehend detailliert in Zusammenhang mit 5 und 6 beschrieben kann eine Taste "Select" (Wählen) verwendet werden, um ein anderes Basisrezept für die zu erstellende Charge zu wählen.
-
Ein Block 335 "Batch Identification" (Chargenkennung) enthält einen Block 340 "Prefix" (Präfix), einen Block 345 "Sequence" (Startnummer Chargenfolge) und einen Block 350 "Suffix". Der Block 335 Chargenkennung ermöglicht dem Anwender, die Kampagnenerzeugungsfunktion 111 anzuweisen, wie Chargen innerhalb der zu erzeugenden Kampagne zu benennen sind. Mit vorangestellten Zeichen "Patent_Demo_3_", einer Folgennummer "001" und nachgestellten Zeichen ".A" beispielsweise erzeugt die Kampagnenerzeugungsfunktion 111 aufeinander folgende Chargen mit dem Namen "Patent_Demo_3_XXX.A", wobei "XXX" mit "001" beginnt und für jede Charge innerhalb der Kampagne um eins hochgezählt wird. Im obigen Beispiel, bei dem 20 Chargen erzeugt werden, wird also die Kampagnenerzeugungsfunktion 111 die letzte erzeugte Charge als "Patent_Demo_3_020.A" benennen.
-
Eine Taste 355 "Setup Batch" (Vorlaufcharge) und eine Taste "Cleanup Batch" (Reinigungscharge) ermöglichen es dem Anwender, eine spezielle Vorlaufcharge als erste Charge der zu erstellenden Kampagne und/oder eine spezielle Reinigungscharge als letzte Charge der Kampagne vorzusehen. Eine Vorlaufcharge kann das Prozesssteuerungssystem für den Ablauf einer Kampagne vorbereiten, indem die Ausrüstung rückgesetzt wird, die Verfügbarkeit der Rohmaterialien geprüft wird usw. Eine Reinigungscharge andererseits kann Mischausrüstung zwischen Kampagnen spülen, so dass Materialien, die in der Verarbeitung einer Kampagne verwendet werden, die Chargen der nachfolgend durchgeführten Kampagne nicht verunreinigen. Erzeugt beispielsweise eine erste Kampagne Chargen eines roten Lacks auf Ölbasis und eine nachfolgende Kampagne Chargen eines weißen Latex-Lacks, ist zwischen den Kampagnen eine Reinigungscharge erforderlich, um sicherzustellen, dass die Ölbasis und die rote Farbe der ersten Kampagne die zweite Kampagne für weißen Latex-Lack nicht verunreinigen.
-
Außerdem kann ein Anwender wünschen, eine Reinigungscharge zwischen Chargen einer Kampagne mit mehreren Chargentypen vorzusehen, die in einer Verunreinigung der Chargen resultieren würden, wenn sie nacheinander abliefen, ohne die Prozesssteuerungsausrüstung zwischen den verschiedenen Chargentypen zu reinigen. Definiert beispielsweise der Anwender eine einzige Kampagne, die zehn Chargen roten Lack auf Ölbasis und zehn Chargen grünen Lack auf Ölbasis umfasst (die das gleiche Lackbasisrezept verwenden können oder nicht), kann zwischen der letzten Charge des roten Lacks und der ersten Charge des grünen Lacks eine Reinigungscharge eingefügt werden, um eine Farbverunreinigung der grünen Chargen zu vermeiden. Natürlich können in manchen Fällen verschiedene Chargentypen nacheinander innerhalb einer einzigen Kampagne durch die Ausrüstung der Prozesssteuerung ablaufen, ohne dass die Gefahr der Verunreinigung besteht. Enthält beispielsweise eine Kampagne zehn Chargen weißen Latex-Lack gefolgt von zehn Chargen schwarzen Latex-Lack, ist eine Reinigungscharge zwischen der letzten Charge weißen Lacks und der ersten Charge schwarzen Lacks eventuell nicht erforderlich.
-
Eine Taste 365 "Create" (Erzeugen) kann vom Anwender gewählt werden, um automatisch alle im Fenster 300 zur Kampagnenerzeugung vorgegebenen Chargen zu erzeugen. Bei dem in 4 dargestellten beispielhaften Fenster bewirkt die Wahl der Taste 365 "Erzeugen", dass die Kampagnenerzeugungsfunktion 111 eine Kampagne "Patent_Demo_3" mit 20 Chargen (von denen eine jede einen eindeutigen Namen hat, der wie oben beschrieben gemäß dem Block 335 "Chargenkennung" erzeugt wird) des im Block 325 "Basisrezept" vorgegebenen Rezeptes erzeugt.
-
5 ist eine beispielhafte Darstellung eines Fenster "Select Recipe" (Rezeptauswahl), das als Reaktion auf die benutzerseitige Aktivierung des Wahltasters 300 im Fenster "Create Campaign" (Kampagne erzeugen) (4) erscheint. Das Rezeptauswahlfenster 400 ermöglicht es dem Anwender, ein Basislackrezept auszuwählen und zu modifizieren und eine bestimmte Formel des Basislackrezeptes zu definieren, indem die zu dieser bestimmten Formel gehörigen Chargenparameterwerte eingegeben werden. Ein Block 410 "Base Recipe" (Basisrezept) gibt an, welches Basisrezept aktuell gewählt ist, und ein Pulldown-Pfeil 415 zeigt, sofern er gewählt wird, eine Mehrzahl weiterer Basisrezepttypen an, die mit herkömmlichen Zeiger-, Hervorhebungs- und Auswahl-Windowsopera-tionen gewählt werden können.
-
Ein Block 420 "Unit Binding" (Einheitenkopplung) enthält die Prozessschritte 425 (Step) und die gekoppelte Ausrüstung 430 (Bound equipment), die zu jedem der Prozessschritte 425 gehört. Jeder der Prozessschritte 425 kann eine objektbasierte Routine oder ein anderer Typ Softwareroutine sein, die innerhalb des Prozesssteuerungssystems 10 von 1 Aktionen ausführt, Prozesssteuerungsparameter überwacht usw. Außerdem ist jeder der Prozessschritte 425 einem bestimmten Ausrüstungsteil zugehörig oder mit diesem gekoppelt, z.B. mit der in 1 dargestellten Ausrüstung 62 bis 70. Der Anwender (z.B. ein Bedienungsmann) kann jeden der Prozessschritte 425 wie erforderlich mit der entsprechenden Ausrüstung koppeln. So kann beispielsweise ein Mischschritt mit einem Mischer gekoppelt sein, z.B. einem der in 1 dargestellten Mischer 64 und 70, und ein Schritt, in dem Farbstoff zur Basislackmischung hinzugefügt wird, kann mit dem entsprechenden Dosierer der Farstoffdosierer 66 und 68 gekoppelt sein.
-
Ein Formelkonfigurationsblock 435 ermöglicht dem Anwender, eine bestimmte Lackformel zu wählen, die einen oder mehrere Chargenparameterwerte enthält, die in der das gewählte Basisrezept ausführenden Charge verwendet werden. Durch Wahl eines Pulldown-Pfeils 437 kann sich der Anwender eine Liste verfügbarer Formeln anzeigen lassen und eine bestimmte Formel mit herkömmlichen Zeiger- und Klickoperationen wählen. Außerdem kann der Anwender eine Taste 440 "View Parameters" (Parameteransicht) wählen, um die der derzeit gewählten Formel zugehörigen Parameterwerte einzusehen und/oder zu editieren.
-
6 ist eine beispielhafte Darstellung des Fensters 400 "Select Recipe" (Rezept auswählen), das erscheint, wenn ein Anwender die Taste "View Parameters" (Parameteransicht) von 5 gewählt hat. Wie aus 6 ersichtlich erscheint ein Block 450 "Parameter" unter dem Block 435 "Formula" (Formel). Der Block 450 Parameter enthält eine Tabelle aller Parameter und Parameterwerte, die zur Durchführung der Prozessschritte 425 des gewählten Basisrezeptes erforderlich sind. Nur als Beispiel gedacht enthält der Block 450 Parameter eine Liste der Parameter 455, die von den Prozessschritten 425 während der Chargenausführung des Basisrezeptes benötigt werden. Wie in 6 dargestellt kann jeder Parameter eine Mehrzahl Werte enthalten wie z.B. einen Mindestwert 460, einen Zielwert 465, einen skalierten Wert 470, einen Maximalwert 475 sowie physikalische Einheiten 480, die zu den Werten gehören. Selbstverständlich könnten auch andere Werte und Einheiten enthalten sein.
-
Zusätzlich zur Ansicht der Parameter im Block 450 Parameter kann ein Anwender auch die zu jedem der Parameter gehörigen Werte editieren. Möchte ein Anwender beispielsweise die Mischdauer eines Mischprozessschrittes verlängern oder die Menge eines bestimmten Farbstoffes, der der Farbmischung zugesetzt wird, vergrößern, kann der Anwender eine entsprechende Änderung des Wertes vornehmen. Um einen Parameterwert zu ändern, kann der Anwender den zu ändernden Wert wählen und einen neuen Wert über die Tastatur oder mittels einer anderen Dateneingabetechnik eingeben. Werden seitens des Anwenders solche Änderungen der Parameterwerte vorgenommen, schickt die Kampagnendurchführungsfunktion 112 eine oder mehrere Parameteränderungsmeldungen zusammen mit anderer chargenbezogener Information zum Zeitpunkt, in dem die Kampagnendurchführungsfunktion 112 die Charge zur Ausführung durch die Chargenausführungsmaschine 170 freigibt, an die Ausführungsmaschine 170.
-
Es ist wichtig sich zu vergegenwärtigen, dass sämtliche dem Anwender über die grafische Benutzeroberfläche 120 präsentierte chargenbezogene Information (z.B. die in Zusammenhang mit 3 bis 6 dargestellte chargenbezogene Information) vom Kampagnenmanager 110 aus der Chargenausführung 130 erhalten werden. Der Kampagnenmanager 110 füllt die verschiedenen chargenbezogenen Felder der von der grafischen Benutzeroberfläche 120 erzeugten Ansichten aus, indem er Anforderungen auf Chargeninformation an die Chargenausführung 130 schickt, die ihrerseits Antwortmeldungen mit der angeforderten Chargeninformation an den Kampagnenmanager 110 schickt. So tauscht beispielsweise die Kampagnenerzeugungsfunktion 111 Meldungen mit der Chargenausführung 130 aus, um chargenbezogene Information aus der Datenbank 180 abzurufen, die ihrerseits an die grafische Benutzeroberfläche 120 geschickt werden können, um dem Anwender in einem oder mehreren Anzeigefenstern wie die oben beschriebenen in 3 bis 6 dargestellten angezeigt zu werden. Der Anwender muss also nicht die Kampagnenerzeugungsfunktion 111 darüber informieren, welche Rezepte von der Chargenausführungsmaschine 170 ausgeführt werden können oder welche Prozesssteuerungsausrüstung zur Durchführung einer bestimmten Charge oder Kampagne verfügbar ist.
-
7 ist eine beispielhafte Darstellung eines Fensters 500 der Eigenschaften einer Chargenkampagne, mit dem ein Anwender wählen und optimieren kann, wie Chargen in einer Kampagne von der Kampagnendurchführungsfunktion 112 freigegeben und von der Chargenausführungsmaschine 170 gestartet werden. Ein Block 505 "Batch Execution Mode" (Chargenausführungsmodus) zeigt drei mögliche Chargenausführungsmodi. Ein manueller Betriebsmodus gibt Chargen an die Chargenausführungsmaschine 170 frei und startet die Ausführung der freigegebenen Chargen als Reaktion auf die manuelle Wahl einer Charge zur Freigabe und die Bereitstellung manueller Eingaben an die Kampagnendurchführungsfunktion 112 durch den Anwender, die ihrerseits Meldungen an die Chargenausführungsmaschine 170 schickt, die den Start der freigegebenen Charge anstoßen. Der manuelle Betriebsmodus kann in einem Prozesssteuerungssystem angewendet werden, das sehr kritische, teure und/oder potenziell gefährliche Prozessschritte beinhaltet, deren Ausführung am Sinnvollsten durch den Befehl eines überwachenden Bedienungsmannes, den Prozess zu starten, ausgeführt werden.
-
In einem Betriebsmodus 'Automatische Freigabe' muss der Anwender die Ausführung jeder Charge innerhalb der Kampagne manuell starten und eine anschließende Charge vor Abschluss der vorangehenden Charge bereit zur Ausführung machen. Mit anderen Worten, der Modus automatische Freigabe für die Chargenausführung stellt eine zweite bereite Charge in die Warteschlange, während eine erste Charge noch ausgeführt wird, um die Verarbeitungsverzögerung zu beseitigen, die mit der Bereitstellung einer Charge in der Chargenausführungsmaschine 170 einhergehen kann, sowie Verzögerungen in Zusammenhang mit anderen Schritten, die erforderlich sind, um das Prozesssteuerungssystem 10 zur Ausführung einer Nachfolgercharge bereit zu machen. Der Modus automatische Freigabe der Chargenausführung ermöglicht es also dem Anwender, eine Nachfolgercharge zu starten, sobald die Ausführung der vorangegangenen Charge abgeschlossen ist, falls gewünscht.
-
Ein Betriebsmodus 'automatischer Start' gibt Chargen automatisch frei, stellt bereite Chargen in die Warteschlange und startet die Chargen in der Warteschlange ohne jeglichen Eingriff seitens des Bedienungsmannes. Während beispielsweise eine erste Charge ausgeführt wird, stellt die Kampagnendurchführungsfunktion 112 eine zweite Charge in die Warteschlange, die durch Bereitstellung der bereiten Charge in der Chargenausführungsmaschine 170 bereit gehalten wird. Mit Abschluß der Ausführung der ersten Charge wird die zweite Charge automatisch gestartet, ohne irgendeine Eingabe seitens des Bedienungsmannes zu erfordern (sogar ohne Anforderung). Der Modus automatischer Start der Chargenausführung kann besonders vorteilhaft sein, wenn er in Prozesssteuerungssystemen angewendet wird, die Chargen mit kurzer Zykluszeit ausführen und bei denen die Art und Weise der Verarbeitung weniger kritisch ist und/oder bei denen Verarbeitungsfehler weniger kostspielig, gefährlich etc. sind. So kann beispielsweise ein Prozesssteuerungssystem, das Butter produziert, eine sehr kurze Zykluszeit und relativ niedrige Kosten bei Verarbeitungsfehlern haben, und wäre deshalb für den Modus automatischer Start der Chargenausführung gut geeignet. In der Tat kann ein Eingriff seitens des Bedienungsmanns zum manuellen Starten jeder neuen Buttercharge aufgrund der kurzen Zykluszeit teurer sein als die Kosten in Zusammenhang mit Verarbeitungsfehlern, die aufgrund des automatischen Starts der Chargen entstehen könnten.
-
Die maximal vorgegebene Anzahl aktiver Chargen beeinflußt auch die Art und Weise, in der Chargen an die Chargenausführungsmaschine 170 freigegeben und von dieser gestartet werden. Sind beispielsweise von der Kampagne fünf aktive Chargen vorgegeben und ist ausreichend Ausrüstung vorhanden, um fünf aktive (d.h. in der Ausführung befindliche) Chargen zu unterstützen, gibt die Kampagnendurchführungsfunktion 112 die ersten fünf Chargen der Kampagne frei. Sobald diese fünf Chargen alle gestartet worden sind (entweder automatisch oder manuell, je nach gewähltem Chargenausführungsmodus), macht die Kampagnendurchführungsfunktion 112 eine weitere Charge bereit (d.h. eine weitere Charge wird in der Chargenausführungsmaschine 170 in die Warteschlange gestellt und ist bereit zur Ausführung).
-
In jedem Fall steuern die oben erörterten Chargenausführungsmodi die Freigabe an die Chargenausführungsmaschine 170, so dass nicht eine gesamte Chargenkampagne gleichzeitig an die Chargenausführung 130 geschickt werden muss. Statt dessen kann die Kampagnendurchführungsfunktion 112 beispielsweise eine einzelne Charge an die Chargenausführung 130 zur Ausführung durch die Chargenausführungsmaschine 170 freigeben und kann (je nachdem, welcher Chargenausführungsmodus gewählt ist) vor dem Abschluss einer gerade in Ausführung befindlichen Charge eine nachfolgende Charge zur Ausführung bereit machen. Da die Kampagnendurchführungsfunktion 112 nicht die gesamte Kampagne innerhalb der Chargenausführung 130 bereitstellt (die im obigen Beispiel 20 Chargen umfassen würde), minimiert der Kampagnenmanager 110 die Anforderungen, die an die Verarbeitungs- und Speicherressourcen der Chargenausführung 130 gestellt werden.
-
8 ist ein beispielhaftes Flussdiagramm 550, das darstellt, wie die Kampagnendurchführungsfunktion 112 und die Chargenausführungsmaschine 170 zusammenarbeiten, um eine Kampagne aus N Chargen im oben beschriebenen automatischen Startmodus zum Ausführen der Chargen auszuführen. In Block 552 setzt die Kampagnendurchführungsfunktion 112 einen Zähler I auf null und in Block 554 inkrementiert die Kampagnendurchführungsfunktion 112 den Zähler I um eins. In Block 556 bestimmt die Kampagnendurchführungsfunktion 112, ob der Zähler I derzeit größer ist als die Anzahl (N) der Chargen in der Kampagne und wenn der Zähler I derzeit nicht größer ist als N, geht die Kampagnendurchführungsfunktion 112 zu Block 558. In Block 558 gibt die Kampagnendurchführungsfunktion 112 Charge I an die Chargenausführungsmaschine 170 frei und in Block 560 bestimmt die Kampagnendurchführungsfunktion 112, ob die Anzahl der derzeit von der Chargenausführungsmaschine 170 ausgeführten Chargen gleich ist den maximalen aktiven Chargen (wie seitens des Anwenders vorgegeben). Ist die Anzahl der derzeit in Ausführung befindlichen Chargen gleich den maximalen aktiven Chargen, geht die Kampagnendurchführungsfunktion 112 erneut in Block 560. Ist die Anzahl der derzeit in Ausführung befindlichen Chargen nicht gleich (d.h. kleiner als) den maximalen aktiven Chargen, geht die Kampagnendurchführungsfunktion 112 zu Block 562. In Block 562 startet die Kampagnendurchführungsfunktion 112 Charge I und geht dann zu Block 554 zurück. Bestimmt die Kampagnendurchführungsfunktion 112 in Block 556, dass der Zähler I größer als N ist (d.h. die Anzahl der Chargen in der Kampagne), geht die Kampagnendurchführungsfunktion 112 zu Block 564. In Block 564 bestimmt die Kampagnendurchführungsfunktion 112, ob immer noch Chargen von der Chargenausführungsmaschine 170 ausgeführt werden, und wenn dies der Fall ist, geht die Kampagnendurchführungsfunktion 112 zurück zu Block 564. Bestimmt die Kampagnendurchführungsfunktion 112 dagegen, dass derzeit keine Chargen ausgeführt werden, geht sie zu Block 566 und beendet die Kampagne.
-
9 ist eine beispielhafte Darstellung eines Chargeneditierfensters 600, das es einem Anwender ermöglicht, eine oder mehrere Chargen innerhalb einer Kampagne zu editieren. Nur als Beispiel hat der Anwender eine Gruppe 605 aus fünf Chargen der Kampagne "Patent_Demo_3" zum Editieren gewählt und hat über den Formelblock 435 die Formel für diese Chargen von MIDNIGHT_BLUE auf FIREBIRD_RED geändert. 10 zeigt die geänderte Gruppe der Chargen 605, die nun für die Verwendung der Formel FIREBIRD_RED, die unter der Kopfzeile "Formula" (Formel) im Listenfenster 200 definiert sind.
-
Es ist wichtig sich zu vergegenwärtigen, dass das Editieren einer Kampagne wie es beispielhaft in 9 und 10 dargestellt ist, nur bei Chargen in der Kampagne vorgenommen werden kann, die noch nicht bereits an die Chargenausführungsmaschine 170 freigegeben worden sind. Die Fähigkeit, nicht freigegebene Chargen während des Betriebs zu editieren, kann jedoch besonders hilfreich in Situationen sein, in denen während der Durchführung einer Kampagne ein Ausrüstungsausfall auftritt. Fällt beispielsweise der erste Mischer 64 des Prozesssteuerungssystems 10 (1) während der Durchführung einer Kampagne aus, kann der Anwender nicht freigegebene Chargen editieren, um alle Prozessschritte, die ursprünglich mit dem ersten Mischer 64 gekoppelt waren, mit dem zweiten Mischer 70 (oder einem anderen verfügbaren Mischer) zu koppeln. Falls in einem ähnlichen Fall ein später Kundenauftrag oder eine Auftragsänderung die Änderung einer Formel oder eines Rezeptes in Zusammenhang mit einer oder mehreren nicht freigegebenen Chargen einer Kampagne verlangt, kann der Anwender entsprechende Modifikationen des Rezeptes und/oder der Formel dieser nicht freigegebenen Chargen vornehmen. Selbstverständlich kann der Anwender falls gewünscht, neue Chargen zu einer Kampagne hinzufügen oder Chargen vollständig löschen.
-
Falls gewünscht, kann der Anwender außerdem den Chargenausführungsmodus in Zusammenhang mit der Kampagne ändern. Möchte der Anwender beispielsweise Chargen innerhalb einer aktuell laufenden Kampagne modifizieren, die für die automatische Freigabe oder den automatischen Start der Chargen konfiguriert ist, kann es erforderlich sein, den Chargenausführungsmodus auf den manuellen Freigabemodus zu ändern, um die nicht beabsichtigte Freigabe und/oder den Start einer Charge während des Editierprozesses zu verhindern.
-
Zusätzlich zur engen Integration mit der Chargenausführung 130 ist der Kampagnenmanager 110 auch eng mit dem Sicherheitssystem 140 und der Chargenarchivierungsvorrichtung 150 integriert. Insbesondere schickt die Kampagnendurchführungsfunktion 112 automatisch Kampagnenmanagementmeldungen im geeigneten Format direkt an die Chargenarchivierungsvorrichtung 150 zur Speicherung, ohne dass dazu irgend welche Eingriffe seitens der Chargenausführung 130 oder des Anwenders erforderlich sind. Gleichermaßen werden die Merkmale der Zugriffskontrolle des Sicherheitssystems 140 verwendet, um über einen Benutzernamen und ein Passwort z.B. die Berechtigung eines Anwenders, Chargenprozesskampagnen zu modifizieren und durchzuführen auf ähnliche Weise zu kontrollieren, wie der Anwenderzugriff in anderen herkömmlichen Prozesssteuerungsanwendungen wie Rezeptdefinition, Definition der Ausrüstungslisten etc. kontrolliert wird. Außerdem beinhaltet der Kampagnenmanager 110 einen permanenten Datenmechanismus, der es dem Kampagnenmanager 110 gestattet, den Status der Chargen in der Kampagne bei einem Ausfall des Prozesssteuerungssystems wieder herzustellen und zu aktualisieren.
-
Des Weiteren kann der Kampagnenmanager 110 mittels eines skriptfähigen Objekts implementiert werden, das wie hinreichend bekannt ist, als Host in netzbasierten Anwendungen laufen kann. Des Weiteren ist der Kampagnenmanager 110 im Prozesssteuerungssystem 10 von 1 so konfiguriert, dass er in einer Client-Server-Architektur arbeitet. Auf diese Weise kann der Kampagnenmanager 110 auf dem Server 16 angeordnet sein, bei dem es sich um eine Workstation oder ein anderes System mit einem Prozessor handeln kann, und die anderen Prozesssteuerungsfunktionen wie die Chargenausführung 130, das Sicherheitssystem 140 und die Chargenarchivierungsvorrichtung 150 können auf der gleichen oder auf anderen Workstations und/oder Knoten des Prozesssteuerungssystems 10 stehen. Diese anderen Prozesssteuerungsfunktionen können mit dem Kampagnenmanager 110 über den Datenbus 18 auf Systemebene oder über eine andere verdrahtete oder drahtlose Kommunikationsverbindung kommunizieren. Außerdem können eine Mehrzahl Clients (wie die Clients 32 und 34), die Operatorschnittstellen auf praktisch jeder Hardwareplattform (z.B. Strichcodeleser, PCs, Laptops, Palmtops etc.) betreiben können, mit dem Kampagnenmanager 110 kommunizieren und Ereignismeldungen empfangen, die vom Kampagnenmanager 110 automatisch erzeugt werden, ohne dass Aktualisierungen vom Kampagnenmanager 110 abgefragt oder angefordert werden müssen.
-
Die hierin beschriebene Kampagnenmanagementtechnik kommuniziert mit den Chargendefinitions- und -ausführungsfunktionen und erhält automatisch als Antwort auf Anforderungen durch eine Kampagnenmanagementfunktion Chargeninformation (z.B. Rezepte, Chargenparameter, Ausrüstungslisten etc.) von der von den Chargendefinitions- und -ausführungsfunktionen verwendeten Datenbank. Auf diese Weise beseitigt die hierin beschriebene Kampagnenmanagementtechnik die Notwendigkeit, dass der Anwender chargenbezogene Databankinformation direkt in die Kampagnenmanagementfunktion eingibt, sowie die Notwendigkeit, dass der Anwender in mehr als einer Anwendung Chargeninformationsdatenbanken erstellt und aktualisiert (d.h. die Datenbanken zwischen Anwendungen synchronisiert), wie dies typischerweise bei herkömmlichen Kampagnenerzeugungs- und -ausführungstechniken erforderlich ist. Die hierin beschriebene Kampagnenmanagementtechnik gestattet also den Chargendefinitions- und -ausführungsfunktionen die Führung einer einzigen Chargendatenbank, die Information bezüglich der Definition der Rezepte, der Konfiguration der Ausrüstung (z.B. Koppeln von Ausrüstung mit Prozessschritten) etc. enthält. Mit anderen Worten, mit der hierin beschriebenen Kampagnenmanagementtechnik muss der Anwender die Kampagnenmanagementfunktion nicht darüber informieren, welche Rezepte in einer Chargenausführungsfunktion ausgeführt werden können, oder welche Prozesssteuerungsausrüstung zur Durchführung einer bestimmten Charge oder Kampagne verfügbar ist.
-
Weiterhin ermöglicht die hierin beschriebene Kampagnenmanagementtechnik einem Anwender die flexible Erzeugung von Kampagnen, so dass eine Kampagne mehrere Chargentypen enthalten kann. Mit der hierin beschriebenen Kampagnenmanagementtechnik ist also eine Kampagne nicht darauf beschränkt, einen Chargentyp mehrere Male auszuführen, wie dies bei herkömmlichen Chargendefinitions- und -ausführungstechniken der Fall ist. Zum Beispiel kann der Anwender innerhalb einer einzigen Kampagne eine Charge mitternachtsblauen Halbglanz-Latexlack, eine Charge marineblauen Halbglanz-Latexlack und eine Charge roten Lack auf Ölbasis produzieren. Außerdem ermöglicht es diese Kampagnenmanagementtechnik einem Anwender beispielsweise, spezielle Chargen vorzusehen wie eine Vorlaufcharge, die ein spezielles Vorlaufrezept verwendet und innerhalb einer Kampagne immer zuerst ausgeführt wird, um die Ausrüstung des Prozesssteuerungssystems auf die Kampagne vorzubereiten, sowie eine spezielle Reinigungscharge, die ein spezielles Reinigungsrezept verwendet, das nach der Ausführung aller anderen Chargen in der Kampagne ausgeführt wird.
-
Außerdem steuert die hierin beschriebene Kampagnenmanagementtechnik die Freigabe von Chargen an die Chargenausführungsfunktion auf eine Weise, die die Speicher- und Verarbeitungsressourcen effizient nutzt. So kann der Anwender beispielsweise aus einer Mehrzahl Betriebsmodi des Kampagnenmangements wählen, die Chargen an die Chargenausführungsfunktion freigeben, wenn Ausrüstungsressourcen zur Ausführung der Chargen verfügbar werden, im Gegensatz zur Freigabe einer gesamten Chargenkampagne an die Chargenausführung ungeachtet der Verfügbarkeit der Ausrüstungsressourcen, was wie oben beschrieben der Fall bei herkömmlichen Kampagnenerzeugungs- und -durchführungstechniken sein kann.
-
Die hierin beschriebene Kampagnenmanagementtechnik kann so konfiguriert werden, dass Chargen in der Weise an die Chargenausführungsfunktion freigegeben (d.h. geschickt) werden, in der Ausrüstung zur Ausführung der Charge verfügbar wird. Auf diese Weise werden nicht freigegebene Chargen nicht in den Speicherressourcen der Chargenausführungsfunktion bereitgestellt, sondern bleiben statt dessen in der Kampagnenmanagementanwendung. Außerdem können diese nicht freigegebenen Chargen vor ihrer Freigabe zur Chargenausführungsfunktion vom Anwender in ihrer Substanz modifiziert werden, wodurch es dem Anwender möglich ist, Änderungen an nicht freigegebenen Chargen in einer laufenden Kampagne vorzunehmen, ohne die aktuell laufende Kampagne anhalten und eine völlig neue Kampagne erstellen zu müssen, um die gewünschten Änderungen vorzunehmen. So kann der Anwender beispielsweise auf Ausrüstungsausfälle reagieren, die während einer laufenden Kampagne auftreten, indem er Prozessschritte der nicht freigegebenen Chargen editiert, so dass mit ausgefallener Ausrüstung gekoppelte Prozessschritte modifiziert werden, um diese Prozessschritte mit einem alternativen Ausrüstungsteil zu koppeln. Außerdem kann der Anwender durch die Möglichkeit, nicht freigegebene Chargen zu modifizieren, die Kampagne ändern, um auf späte Kundenaufträge zu reagieren. Enthält beispielsweise eine Kampagne zunächst 20 Chargen mitternachtsblauen Latexlack für Außenflächen und fordert der Kunde nach dem Start der Kampagne, dass zwei Chargen des mitternachtsblauen Lacks zu marineblauem Lack auf Ölbasis für Innenflächen geändert werden, kann der Anwender zwei nicht freigegebene Chargen der ursprünglichen Kampagne editieren, so dass diese nicht freigegebenen Chargen ein zu Lack auf Ölbasis für Innenflächen gehöriges Rezept und Parameterwerte angeben, die die Farbe marineblau anstatt mitternachtsblau produzieren.
-
Die hierin beschriebene Kampagnenmanagementtechnik kann unter Anwendung einer Client-Server-Architektur in einem Prozesssteuerungssystem konfiguriert sein. Auf diese Weise kann die Kampagnenmanagementfunktion auf einem Server stehen (bei dem es sich um eine Workstation oder ein anderes System mit einem Prozessor handeln kann) oder einem Knoten des Prozesssteuerungssystems, und die anderen Prozesssteuerungsfunktionen wie die Chargendefinitions- und -ausführungsfunktionen, eine Datenarchivierungsfunktion, eine Sicherheitsfunktion etc. können auf der gleichen oder auf anderen Workstations und/oder Knoten des Prozesssteuerungssystems stehen. Diese anderen Prozesssteuerungsfunktionen können mit der Kampagnenmanagementfunktion über einen Datenbus oder über eine andere verdrahtete oder drahtlose Kommunikationsverbindung kommunizieren. Außerdem kann eine Mehrzahl Clients, die Operatorschnittstellen auf praktisch jeder Hardwareplattform (z.B. PCs, Laptops, Palmtops etc.) betreiben können, mit der Kampagnenmanagementfunktion kommunizieren und Ereignismeldungen empfangen, die von der Kampagnenmanagementfunktion automatisch erzeugt werden, ohne dass Aktualisierungen von der Kampagnenmanagementfunktion abgefragt oder angefordert werden müssen.
-
Die hierin beschriebene Kampagnenmanagementtechnik ermöglicht auch die enge Verbindung der Kampagnenmanagementfunktion mit anderen Funktionen des Prozesssteuerungssystems z.B. einer Chargenarchivierungsfunktion und einer Sicherheitsfunktion. Somit kann die Kampagnenmanagementfunktion automatisch Kampagnenmanagementmeldungen direkt an die Chargenarchivierungsvorrichtung zur Speicherung schicken, ohne dass dazu irgend welche Eingriffe seitens der Chargenausführungsfunktion oder des Anwenders erforderlich sind. Gleichermaßen können die Merkmale der Zugriffskontrolle der Sicherheitsfunktion verwendet werden, um über einen Benutzernamen und ein Passwort z.B. die Berechtigung eines Anwenders, Chargenprozesskampagnen zu definieren und durchzuführen auf ähnliche Weise zu kontrollieren, wie der Anwenderzugriff in anderen herkömmlichen Prozesssteuerungsanwendungen wie Rezeptdefinition, Definition der Ausrüstungslisten etc. kontrolliert wird. Außerdem beinhaltet die hierin beschriebene Kampagnenmanagementtechnik einen permanenten Datenmechanismus, der es der Kampagnenmanagementfunktion gestattet, den Status der Chargen in der Kampagne bei einem Ausfall des Prozesssteuerungssystems wieder herzustellen und zu aktualisieren.
-
Bei einer softwaremäßigen Implementierung können die hierin erörterten funktionalen Blöcke und Routinen in jedem computerlesbaren Speicher gespeichert werden, wie z.B. einem magnetischen, optischen oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers, einer Steuerung, eines Feldgeräts etc. Gleichermaßen kann diese Software auf einen Träger moduliert und an einen Anwender oder ein Gerät über jede bekannte oder gewünschte Liefermethode geliefert werden, einschließlich beispielsweise über einen Kommunikationskanal wie eine Telefonleitung, das Internet etc.