DE102007046642A1 - Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen - Google Patents

Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen Download PDF

Info

Publication number
DE102007046642A1
DE102007046642A1 DE102007046642A DE102007046642A DE102007046642A1 DE 102007046642 A1 DE102007046642 A1 DE 102007046642A1 DE 102007046642 A DE102007046642 A DE 102007046642A DE 102007046642 A DE102007046642 A DE 102007046642A DE 102007046642 A1 DE102007046642 A1 DE 102007046642A1
Authority
DE
Germany
Prior art keywords
module
module class
class object
entity
objects
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.)
Pending
Application number
DE102007046642A
Other languages
English (en)
Inventor
Mark John Round Rock Nixon
John Michael Lucas
Julian Kevin Cedar Park Naidoo
Larry Oscar Round Rock Jundt
Dennis Round Rock Stevenson
Herschel Odis San Marcos Koska II
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 DE102007046642A1 publication Critical patent/DE102007046642A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/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] or 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
    • G05B15/00Systems controlled by a computer
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • 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/32137Configure, connect, combine different program modules
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • General Factory Administration (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren und Modulklassenobjekte zur Konfiguration fehlender Einrichtungen in verfahrenstechnischen Anlagen werden offenbart. Ein beispielhaftes offenbartes Verfahren zum Erzeugen einer Konfigurationsentität zur Verwendung bei der Konfiguration einer verfahrenstechnischen Anlage schließt das Erzeugen eines Klassenobjekts ein, das eine Prozessentität in der verfahrenstechnischen Anlage wiedergibt, die eine erste Datenstruktur einschließt, die ein Prozesselement oder mehrere Prozesselemente wiedergibt, aus dem/denen die Prozessentität zusammengesetzt ist; sowie das Erzeugen eines Modulobjekts auf der Basis des Klassenobjekts, das eine zweite Datenstruktur einschließt, wobei die zweite Datenstruktur eine konfigurierbare erste Angabe einschließt, um wiederzugeben, ob ein spezifisches Prozesselement fehlt, das einem ersten Prozesselement des einen Prozesselements oder der mehreren Prozesselemente entspricht, aus dem/denen die Prozessentität zusammengesetzt ist.

Description

  • GEBIET DER OFFENBARUNG
  • Die Offenbarung betrifft allgemein verfahrenstechnische Anlagen und insbesondere Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen.
  • HINTERGRUND
  • Verteilte Prozesssteuersysteme, wie sie in chemischen, erdölverarbeitenden und/oder weiteren Prozessen, Systemen und/oder verfahrenstechnischen Anlagen verwendet werden, enthalten üblicherweise eine oder mehrere zentrale Prozesssteuerungen, die über eine Vielzahl analoger, digitaler oder kombinierter analog-digitaler Busleitungen mit einem oder mehreren Feldgeräten kommunikativ verbunden sind. In derartigen Systemen und/oder Prozessen sind Feldgeräte, die beispielsweise Ventile, Ventilpositionierer, Schalter und/oder Geber einschließen (z. B. Temperatur-, Druck-, Pegel und oder Strömungssensoren) in der Prozessumgebung angeordnet, und sie führen Prozesssteuerungs- und/oder Management-Funktionen aus wie das Öffnen oder Schließen von Ventilen, das Messen von Prozessparametern usw. Intelligente Feldgeräte wie z. B. Feldgeräte, die einem beliebigen der Fieldbus-Protokolle entsprechen, können ebenfalls Steuerungsberechnungen, Alarmfunktionen und/oder Überwachungsfunktionen anderer Art ausführen, die in der und/oder durch die Steuerung implementiert sein können. Die Prozesssteuerungen, die ebenfalls in der Anlagenumgebung angeordnet sein können, empfangen Signale, die von den Feldgeräten vorgenommene Messungen und/oder Informationen in Zusammenhang mit Feldgeräten angeben. Die Prozesssteuerungen führen, beispielsweise auf der Grundlage der empfangenen Signale, eine Steuerungsanwendung aus, um beliebige Elemente aus einer Vielzahl von Steuerungsmodulen, Routinen und/oder Software-Threads umzusetzen, um Prozesssteuerungsentscheidungen zu treffen oder Steuersignale zu erzeugen und/oder sie mit anderen Steuerungsmodulen und/oder Funktionen zu koordinieren, die von Feldgeräten ausgeführt werden, wie z. B. von HART- oder Fieldbus-Feldgeräten. Die Steuerungsmodule in der/den Steuerung(en) senden die Steuersignale über die Kommunikationsleitungen zu den Feldgeräten, um den Betrieb der verfahrenstechnische Anlage zu steuern.
  • Informationen von den Feldgeräten und/oder der Steuerung werden normalerweise über eine Datenautobahn oder ein Kommunikationsnetz für eine oder mehrere Hardware-Einrichtung(en) bereitgestellt, wie z. B. für Bediener-Workstations, Personal Computer, Data Historians, Report-Generatoren, zentrale Datenbanken usw. Derartige Einrichtungen sind normalerweise in Leitwarten und/oder anderen relativ zur raueren Anlagenumgebung entfernt angeordneten Standorten positioniert. Diese Hardware-Einrichtungen führen beispielsweise Anwendungen aus, die es einem Bediener ermöglichen, beliebige Funktionen einer Vielzahl von Funktionen mit Bezug auf den/die Prozess(e) einer verfahrenstechnischen Anlage auszuführen, wie z. B. die Änderung der Einstellungen der Prozesssteuerroutine(n), die Änderung des Betriebs der Steuerungsmodule in den Prozesssteuerungen und/oder Feldgeräten, die Ansicht des aktuellen Zustands des Prozesses bzw. der Prozesse, die Ansicht von Alarmen, die von Feldgeräten und/oder Steuerungen erzeugt werden, die Simulation des Betriebs des Prozesses bzw. der Prozesse zum Zweck der Personalausbildung und/oder des Testens der Prozesssteuersoftware, sowie die Wartung und/oder Aktualisierung einer Konfigurationsdatenbank usw.
  • Beispielsweise unterstützt das Steuerungssystem DeltaVTM, das von Fisher-Rosemount Systems, Inc., einem Unternehmen von Emerson Process Management, vertrieben wird, mehrere Anwendungen, die in unterschiedlichen, potenziell an unterschiedlichen Stellen in einer verfahrenstechnischen Anlage angeordneten Einrichtungen gespeichert sind und/oder ausgeführt werden. Eine Konfigurationsanwendung, die sich in einer oder mehreren Bediener-Workstation(s) befindet und/oder dort ausgeführt wird, ermöglicht es Benutzern, Prozesssteuerungsmodule einzurichten und/oder zu ändern und/oder Prozesssteuerungsmodule über eine Datenautobahn oder ein Kommunikationsnetz zu dedizierten verteilten Steuerungen herunterzuladen. Üblicherweise sind die Steuerungsmodule aus miteinander kommunikativ gekoppelten und/oder verbundenen Funktionsblöcken zusammengesetzt, die die Funktionen im Steuerungsschema auf der Basis von empfangenen Eingaben ausführen und/oder die Ausgaben für andere Funktionsblöcke im Steuerungsschema bereitstellen. Die Konfigurationsanwendung kann es auch einem Konfigurationstechniker und/oder Bediener ermöglichen, Bedienerschnittstellen einzurichten und/oder zu ändern, die beispielsweise von einer Anzeigeanwendung verwendet werden, um Daten für einen Bediener anzuzeigen und/oder um dem Bediener die Änderung von Einstellungen in den Prozesssteuerungsroutinen zu ermöglichen, wie z. B. von Sollwerten. Jede dedizierte Steuerung und in einigen Fällen jedes Feldgerät speichert eine Steuerungsanwendung und/oder führt sie aus, welche die Steuerungsmodule ausführt, die für die Implementierung der eigentlichen Prozesssteuerfunktionalität zugeordnet sind. Die Anzeigeanwendungen, die z. B. auf einer oder auf mehreren Bediener-Workstation(s) ausgeführt werden können, empfangen Daten von der Steuerungsanwendung über die Datenautobahn und/oder zeigen diese Daten für Prozesssteuersystem-Techniker, Bediener oder Benutzer unter Verwendung von Schnittstellen an, die eine beliebige Anzahl unterschiedlicher Ansichten bereitstellen können, wie z. B. eine Bedieneransicht, ein Entwickleransicht, eine Technikeransicht usw. Eine Data-Historian-Anwendung wird normalerweise in einer Data-Historian-Einrichtung gespeichert und/oder ausgeführt, die einige oder alle der über die Datenautobahn bereitgestellten Daten erfasst und/oder speichert. Eine Konfigurationsdatenbankanwendung kann in noch einem anderen Computer ausgeführt werden, der mit der Datenautobahn kommunikativ verbunden ist, um die aktuelle(n) Konfiguration(en) der Prozesssteuerungsroutine und/oder damit zusammenhängende Daten zu speichern. Alternativ dazu können die Konfigurationsanwendung(en), und/oder Konfigurationsdatenbankanwendung(en) in einer beliebigen Anzahl von Workstations, einschließlich beispielsweise einer einzelnen Workstation, angeordnet sein und/oder dort ausgeführt werden.
  • Beispiele von Konfigurationsanwendungen schließen eine Bibliothek (Library) von Vorlagenobjekten ein, wie z. B. von Funktionsblock-Vorlagenobjekten und/oder Steuermodul-Vorlagenobjekten, die verwendet werden, um eine Steuerungsstrategie für eine verfahrenstechnische Anlage zu konfigurieren und/oder aufzustellen. Beispielhafte Vorlagenobjekte haben ihnen zugeordnete vorgegebene Eigenschaften, Einstellungen und/oder Verfahren, sodass ein Prozessentwickler und/oder Bediener über einen Konfigurationsbildschirm ein oder mehrere Vorlagenobjekt(e) auswählen und/oder verwenden kann, um ein Steuerungsmodul zu entwickeln. Während des Vorgangs der Auswahl von Vorlagenobjekten über den Konfigurationsbildschirm verknüpft der Entwickler die Eingaben und/oder Ausgaben dieser Objekte, und/oder er kann ihre Parameter, Namen, Tags und anderen Eigenschaften ändern, um ein spezifisches Steuerungsmodul für einen spezifischen Einsatz in der verfahrenstechnischen Anlage zu erzeugen. Nach dem Anlegen von einem oder mehreren derartigen Steuerungsmodul(en) kann der Entwickler anschließend die Steuerungsmodule als Instanz erzeugen und sie für die Ausführung während des Betriebs der verfahrenstechnischen Anlage in die jeweilige(n) Steuerung(en) und/oder das/die jeweilige(n) Feldgerät(e) laden.
  • Der Entwickler kann auch eine oder mehrere Anzeige(n) für Bediener, Wartungspersonal usw. der verfahrenstechnischen Anlage erzeugen, indem beispielsweise unter Verwendung einer Anzeigeerzeugungsanwendung Anzeigeobjekte ausgewählt und/oder angelegt werden. Diese Anzeigen sind üblicherweise auf systemumfassender Basis über eine oder mehrere der Workstations implementiert, und sie stellen vorkonfigurierte Anzeigen für den Bediener oder für Wartungspersonal mit Bezug auf betriebliche Zustände des Steuerungssystems bzw. der Steuerungssysteme und/oder der Einrichtungen in der Anlage bereit. Beispielhafte Anzeigen haben die Form von Alarmanzeigen, die Alarme empfangen und/oder anzeigen, die von Steuerungen und/oder Einrichtungen in der verfahrenstechnischen Anlage erzeugt werden, sowie von Steuerungsanzeigen, die betriebliche Zustände der Steuerung(en) und anderer Einrichtungen in der verfahrenstechnischen Anlage angeben, und von Wartungsanzeigen, die den funktionellen Zustand der Einrichtungen und/oder anderen Ausrüstungskomponenten in der verfahrenstechnischen Anlage angeben usw. Bei einigen Beispielen werden Anzeigen über die Verwendung von Objekten erzeugt, die eine grafische Darstellung haben, die einem physischen und/oder logischen Element zugeordnet sind und die mit dem physischen und/logischen Element kommunikativ verbunden sind, um Daten zu dem physischen und/oder logischen Element zu empfangen. Das Objekt kann beispielsweise die grafische Darstellung in einem Anzeigebildschirm auf der Basis der empfangenen Daten ändern, um darzustellen, dass ein Tank halb gefüllt ist, um die von einem Strömungswächter gemessene Strömung darzustellen usw.
  • Ähnlich wie bei Steuerungskonfigurationsanwendungen hat eine Anwendung zur Anzeigeerzeugung grafische Vorlageelemente für die Anzeige, wie z. B. Tanks, Ventile, Sensoren, Bedienersteuerelemente wie Schieberegler, Ein-/Aus-Schalter usw., die in beliebigen gewünschten Konfigurationen auf einem Bildschirm positioniert werden können, um eine Bedieneranzeige, eine Wartungsanzeige usw. zu erzeugen. Individuelle grafische Elemente können, nachdem sie auf dem Bildschirm platziert worden sind, auf dem Bildschirm miteinander auf eine Weise verknüpft werden, die einige Informationen zu den internen Abläufen in der verfahrenstechnischen Anlage für verschiedene Benutzer bereitstellt und/oder anzeigt. Zur Animierung der grafischen Anzeige bindet der Erzeuger der Anzeige jedes der grafischen Elemente an Daten, die in der verfahrenstechnischen Anlage erzeugt werden, wie z. B. an Daten, die von Sensoren gemessen werden oder die Ventilpositionierer usw. angeben, indem eine Verknüpfung zwischen dem grafischen Element und den relevanten Datenquellen in der verfahrenstechnischen Anlage angegeben wird.
  • Während die Vorlagenobjekte für die Steuerung in der Steuerungskonfigurationsanwendung und die Anzeigeelemente in der Anzeigeerzeugungsanwendung zweckmäßig sind, da sie kopiert und anschließend verwendet werden können, um viele unterschiedliche Steuerungsmodule und grafische Anzeigen anzulegen, besteht häufig Bedarf an der Erzeugung zahlreicher Kopien und/oder Instanzen des gleichen Steuerungsmoduls und/der gleichen grafischen Anzeige für unterschiedliche Einrichtungen in der verfahrenstechnischen Anlage. Beispielsweise haben verfahrenstechnische Anlagen zahlreiche Ausführungen der gleichen und/oder ähnlichen Ausrüstungskomponenten, die unter Verwendung des gleichen grundlegenden Steuerungsmoduls und/oder der gleichen Anzeige gesteuert und/oder überwacht werden können. Zum Erzeugen dieser zahlreichen Steuerungsmodule und/oder Anzeigen wird jedoch ein allgemeines Steuerungsmodul und/oder eine allgemeine Anzeige erzeugt, und dieses allgemeine Steuerungs- und/oder Anzeigemodul wird anschließend für jede der unterschiedlichen Ausrüstungskomponenten kopiert, für die es anwendbar ist. Nach dem Kopieren muss jedes neue Steuerungs- und/oder Anzeigemodul selbstverständlich in der Konfigurationsanwendung manuell geändert werden, um die besondere Einrichtung anzugeben, der es zugeordnet ist. Ferner müssen anschließend alle diese Steuerungs- und/oder Anzeigemodule als Instanz erzeugt und in das/die Prozesssteuersystem(e) heruntergeladen werden.
  • Die vorstehend beschriebenen Steuerungsmodule und/oder Anzeigeelemente sind auf keine Weise modular, sodass jedes Steuerungsmodul und/oder jede Anzeige nach dem Kopien manuell und/oder individuell unter Verwendung der jeweiligen Konfigurationsanwendungen) und/oder Schnittstelle(n) geändert werden, um die Einrichtung in der Anlage anzugeben, der sie zugeordnet werden sollen. In einer verfahrenstechnischen Anlage mit zahlreichen Kopien des gleichen Einrichtungstyps (z. B. mit wiederholt eingesetzten Einrichtungen) ist dieser Vorgang mühsam, zeitaufwendig und/oder anfällig für eingeführte Fehler. Nach der Programmierung sind sich diese unterschiedlichen Steuerungsmodule und/oder Anzeigen zudem untereinander nicht bekannt (d. h., dass Informationen zum Inhalt in einer Anzeige nicht für andere Anzeigen verfügbar sind). Zur Vornahme einer Änderung an bereits erzeugten Steuerungsmodulen muss der Steuerungs- und/oder Konfigurationstechniker daher die gleichen oder ähnliche Änderungen an jedem der unterschiedlichen Steuerungsmodule für die unterschiedlichen wiederholten Einrichtungen vornehmen, was wiederum zeitaufwendig, mühsam und/oder anfällig für eingeführte Fehler ist. Das gleiche Problem gilt entsprechend für die grafischen Ansichten, die für die unterschiedlichen Gruppen wiederholt installierter Einrichtungen in der Anlage erzeugt werden. Das bedeutet, dass, nachdem ein spezifisches Steuerungsmodul und/oder eine spezifische grafische Ansicht erzeugt (individuell und/oder mittels Kopieren aus einem Vorlagenobjekt) und anschließend an eine bestimmte Ausrüstungsgruppe in der Anlage gebunden worden ist, das Steuermodul und/oder die grafische Ansicht als separate Entität und/oder als separates Objekt im Steuersystem und oder in der verfahrenstechnischen Anlage vorliegt, ohne automatisch Kenntnis von den anderen Steuerungsmodulen und/oder grafischen Anzeigen zu haben, die gleich und/oder ähnlich sind. Demzufolge müssen Änderungen, die bei einem oder mehreren Steuerungsmodul(en) und/oder bei einer oder mehreren grafischen Anzeige(n) eines bestimmten Typs anwendbar sind, individuell an den betreffenden Modulen und Anzeigen vorgenommen werden.
  • Da jedes Steuerungsmodul und jede Anzeige ein individuelles Objekt ist, muss dieses Objekt ferner offen sein, sodass alle seine internen Parameter, Ansichten, Funktionsblöcke und/oder anderen Elemente zur Umstellung, Einstellung, Änderung und/oder Ansicht durch beliebige Benutzer verfügbar gemacht werden müssen. Dementsprechend gibt es keine einfach verfügbare Möglichkeit, um beispielsweise bestimmte Elemente dieser Steuerungsmodule und/oder Anzeigen für einen Benutzer der Steuerungsmodule und/oder Anzeigen auszublenden, wie z. B. proprietäre Software und Methoden, Alarmvorgänge usw.
  • ZUSAMMENFASSUNG
  • Ein Konfigurationssystem für eine verfahrenstechnische Anlage verwendet Modulklassenobjekte zur Unterstützung bei der Konfiguration, Organisation und/oder Änderung der Steuerungs- und/oder Anzeigevorgänge in der verfahrenstechnischen Anlage. Jedes Modulklassenobjekt modelliert allgemein eine Prozessentität wie z. B. eine Einheit, ein Ausrüstungselement, einen Steuerungsvorgang usw. und gibt sie wieder, und es kann verwendet werden, um als Modulobjekte bezeichnete Instanzen des Objekts zu erzeugen, die bestimmte Einrichtungen in der verfahrenstechnischen Anlage wiedergeben und/oder daran gebunden sind. Die Modulklassenobjekte können Prozessentitäten beliebigen gewünschten Umfangs wiedergeben, was bedeutet, dass ein einzelnes Modulklassenobjekt verwendet werden kann, um die Steuerungs- und Anzeigevorgänge von Prozessentitäten beliebigen Umfangs in der verfahrenstechnischen Anlage zu konfigurieren, statt nur auf der Ebene eines Steuermoduls. Insbesondere können Modulklassenobjekte großen Umfangs verwendet werden, um große Bereiche und/oder Abschnitte der verfahrenstechnischen Anlage zu konfigurieren, was die Konfiguration der verfahrenstechnischen Anlage erleichtert und weniger zeitaufwendig macht. Ein Modulklassenobjekt kann beispielsweise ein Einheiten-Modulklassenobjekt sein, das eine physische Einheit in der verfahrenstechnischen Anlage wiedergibt, oder ein Einrichtungs-Modulklassenobjekt, das eine physische Ausrüstungskomponente in der verfahrenstechnischen Anlage wiedergibt, oder ein Steuerungs-Modulklassenobjekt, das ein Steuerungsmodul oder -schema in der verfahrenstechnischen Anlage wiedergibt, oder ein Anzeige-Modulklassenobjekt, das eine Anzeigeroutine wiedergibt, die Informationen für einen Benutzer der verfahrenstechnischen Anlage bereitstellt.
  • Zur Erweiterung der Verwendung der Modulklassenobjekte während der Konfigurationsvorgänge kann ein Modulklassenobjekt Verweise auf und/oder Platzhalter für andere Modulklassenobjekte aufweisen, sodass die von unterschiedlichen Modulklassenobjekten erzeugten Modulobjekte voneinander Kenntnis haben und/oder untereinander integriert sind. Bei einigen Beispielen kann ein Einheiten-Modulklassenobjekt Verweise auf Einrichtungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und/oder Anzeige-Modulklassenobjekte aufweisen, die je nach Notwendigkeit mit anderen einfachen Ausrüstungskomponenten und Steuerungsmodulen verbunden sind, um eine Einheit zu bilden. Entsprechend kann ein Einrichtungs-Modulklassenobjekt Verweise auf Steuerungs- und/oder Anzeige-Modulklassenobjekte aufweisen, während ein Steuerungs-Modulklassenobjekt Verweise auf Anzeige-Modulklassenobjekte aufweisen kann.
  • Zur weiteren Erweiterung von Modulklassenobjekten und/oder von Modulklassen, die von Modulklassenobjekten erzeugt und/oder als Instanz erzeugt worden sind, schließen Modulklassenobjekte und/oder Elemente eines Modulklassenobjekts Aktivierungseigenschaften ein, sodass ein Konfigurationstechniker sie selbst und/oder beliebige Abschnitte eines daraus erzeugten Objekts als fehlend konfigurieren und/oder kennzeichnen kann. Derartige fehlende Einrichtungen fehlen absichtlich, da sie nicht erforderlich sind und/oder von und/oder in einem bestimmten Prozess, einer Einrichtung, einer Einheit usw. verwendet werden und sich somit von unbeabsichtigt fehlenden Einrichtungen unterscheiden, die wegen eines Einrichtungsausfalls, eines Kommunikationsfehlers, Installationsfehlers usw. fehlen. Durch die Erweiterung der Modulklassenobjekte und Modulobjekte, um absichtlich fehlende Einrichtungen zu berücksichtigen, können Modulklassenobjekte und/oder Modulobjekte verwendet werden, um beliebige Varianten einer Vielzahl von Modulobjektvarianten zu erzeugen, die es jeder Variante ermöglichen, Änderungen und/oder Erweiterungen auszunutzen, die an ihren zugeordneten Modulklassenobjekten vorgenommen wurden.
  • Jedes Modulklassenobjekt besitzt die aus dem betreffenden Modulklassenobjekt erzeugten Instanzen (Modulobjekte) und/oder ist daran gebunden, und somit haben die erzeugten Modulobjekte weiterhin Kenntnis vom Modulklassenobjekt. Demzufolge können am Modulklassenobjekt vorgenommene Änderungen automatisch auf dem betreffenden Modulklassenobjekt zugeordnete Modulobjekte übertragen werden, wodurch das Erfordernis entfällt, die gleiche Änderung an mehreren Steuerungsmodulen und/oder Anzeigeanwendungen in der verfahrenstechnischen Anlage manuell vornehmen zu müssen. Wegen dieses Merkmals können Änderungen erfolgen, die an den Steuerungs- und/oder Anzeigeroutinen vorgenommen werden, die jeder Gruppe einer Anzahl von Gruppen wiederholt installierter Einrichtungen zugeordnet sind, indem die Änderungen an den jeweiligen Modulklassenobjekten vorgenommen werden, wobei diese Änderungen automatisch in den von den betreffenden Modulklassenobjekten erzeugten Modulobjekten übernommen werden. Dadurch entfällt die Notwendigkeit, die gleichen Ände rungen an zahlreichen individuellen Steuerungsmodulen für jede Gruppe der unterschiedlichen Gruppen wiederholt installierter Einrichtungen vorzunehmen. Entsprechend kann die Bindung der unterschiedlichen Modulobjekte, die dem gleichen Modulklassenobjekt zugeordnet sind, auf globale Weise ausgeführt werden, indem beispielsweise eine Tabellenkalkulationsanwendung verwendet wird, die die Parameter, Eingaben und Ausgaben, Einrichtungen usw. von Modulobjekten mit den unterschiedlichen vorhandenen Einrichtungen in der verfahrenstechnischen Anlage in einer einzelnen Ansicht oder auf einem einzelnen Anzeigebildschirm in Beziehung setzt. Ferner können Informationen mit Bezug auf die unterschiedlichen Modulobjekte in Zusammenhang mit einem Modulklassenobjekt für Bediener oder andere Benutzer ausgeblendet werden, da das Modulklassenobjekt, auf das diese Benutzer keinen Zugriff haben, steuern kann, welche Informationen in den von dem betreffenden Modulklassenobjekt erzeugten Modulobjekten eingesehen oder abgerufen werden können oder nicht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung einer beispielhaften verfahrenstechnischen Anlage.
  • 2 gibt eine beispielhafte Art der Implementierung der beispielhaften Reaktoreinheiten aus 1 wieder.
  • 3 gibt einen beispielhaften modifizierten Totalisator wieder, der in beliebigen der beispielhaften Reaktoren aus 1 und 2 verwendet werden kann.
  • 4 ist eine schematische Darstellung des beispielhaften Auslassventilsystems aus 2.
  • 5 ist eine Blockdarstellung mit der Wiedergabe von beispielhaften logischen Beziehungen zwischen Modulklassenobjekten und dazugehörigen Modulobjekten.
  • 6 stellt ein beispielhaftes Reaktoreinheit-Modulklassenobjekt dar, das verwendet werden kann, um Konfigurationsvorgänge für den beispielhaften Reaktor aus 2 auszuführen.
  • 7 stellt ein beispielhaftes Totalisatoreinrichtungs-Modulklassenobjekt dar, das verwendet werden kann, um Konfigurationsvorgänge für die beispielhaften Totalisatoren aus 2 und/oder 3 auszuführen.
  • 8 gibt einen beispielhaften ersten Konfigurationsbildschirm wieder, der verwendet werden kann, um eine Konfiguration einer verfahrenstechnischen Anlage einzusehen.
  • 9 gibt ein beispielhaftes erstes Dialogfeld wieder, das verwendet werden kann, um die Identifikation von Einrichtungen als fehlend zu ermöglichen.
  • 10 gibt ein beispielhaftes zweites Dialogfeld wieder, das verwendet werden kann, um fehlende Einrichtungen zu identifizieren.
  • 11 gibt den beispielhaften ersten Konfigurationsbildschirm aus 8 wieder, nachdem ein beispielhaftes Objekt FINE_VALVE als fehlend identifiziert worden ist.
  • 12 gibt einen beispielhaften zweiten Konfigurationsbildschirm wieder, der beispielhafte Parameter eines beispielhaften Totalisator-Modulklassenobjekts darstellt, das ein fehlendes Objekt FINE_VALVE aufweist.
  • 13 gibt einen beispielhaften dritten Konfigurationsbildschirm wieder, der verwendet werden kann, um eine Steuerungsroutine in Zusammenhang mit fehlenden Einrichtungen zu konfigurieren und/oder einzusehen.
  • 14 gibt einen beispielhaften Abschnitt eines beispielhaften Download-Scripts einer Steuerung wieder.
  • 15 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt, das ausgeführt werden kann, um eine Parameterkonfiguration eines Modulobjekts auszuführen.
  • 16 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt, das ausgeführt werden kann, um das beispielhafte Download-Script aus 14 zu erzeugen.
  • 17 ist ein Ablaufdiagramm, das ein beispielhaftes Verfahren wiedergibt, das ausgeführt werden kann, um das beispielhafte Download-Script aus 14 zu verarbeiten.
  • 18 ist eine schematische Darstellung einer beispielhaften Prozessorplattform, die verwendet und/oder programmiert werden kann, um die beispielhaften Verfahren aus 15, 16 und/oder 17 auszuführen.
  • DETAILLIERTE BESCHREIBUNG
  • Verfahrenstechnische Anlagen weisen häufig zahlreiche Komponenten und/oder Zusammenstellungen wiederholt installierter Einrichtungen und/oder Prozessentitäten auf, die ähnliche Funktionen und/oder Prozesse ausführen. Die Wiederverwendung gemeinsamer und/oder gemeinsam genutzter Phasenklassen, Algorithmen, Konfigurations-, Steuerungs- und/oder Anzeigeroutinen usw. in wiederholt installierten Einrichtungen erleichtert die effiziente Konfiguration und/oder den effizienten Betrieb von verfahrenstechnischen Anlagen. Bei einigen Beispielen weisen wiederholt installierte Einrichtungen Varianten und/oder Abänderungen auf, die weiterhin die Verwendung einer gemeinsamen und/oder gemeinsam genutzten Phasenklasse, eines Algorithmus, einer Konfigurations-, Steuerungs- und/oder Anzeigeroutine ermöglichen können. Beispielsweise könnte eine erste Prozessentität mit zwei oder mehr Ventilen als zweite Prozessentität wiederholt werden, wobei eines der Ventile absichtlich fehlt. Da die erste und die zweite Prozessentität jedoch eine gemeinsame Struktur gemeinsam nutzen, können sie unter Verwendung einer im Wesentlichen ähnlichen Routine gesteuert werden. Falls die gemeinsam genutzte Routine insbesondere absichtlich fehlende Einrichtungen kennt und/oder identifizieren kann, kann die gemeinsam genutzte Routine trotz der fehlenden Einrichtung fehlerfrei ausgeführt werden. Beschrieben werden Verfahren und Klassenobjekte zur Konfiguration, Beschreibung und/oder Angabe von Prozessentitäten, die es einem Konfigurationstechniker ermöglichen, fehlende Einrichtungen zu identifizieren. Entsprechend der Beschreibung können derartige Klassenobjekte bei der Instanzerzeugung zur Wiedergabe einer bestimmten Ausrüstungskomponente konfiguriert werden, um einen Teil der Ausrüstung als fehlend wiederzugeben und/oder zu identifizieren. Wenn eine Steuerungsroutine des Klassenobjekts somit durch eine Steuerung ausgeführt wird, um die bestimmte Ausrüstungskomponente beim Betrieb der verfahrenstechnischen Anlage zu steuern, kann die Steuerung identifizieren, ob dieser Teil fehlt und, falls er fehlt, bewirken, dass unnötige und/oder unsinnige Alarme in Zusammenhang mit dem fehlenden Teil eliminiert werden.
  • 1 ist eine schematische Darstellung einer beispielhaften verfahrenstechnischen Anlage 10. Die beispielhafte verfahrenstechnische Anlage 10 aus 1 weist Prozesssteuerungen beliebiger Art auf, von denen drei (3) in 1 mit den Kennziffern 12A, 12B und 12C wiedergegeben sind. Die beispielhaften Prozesssteuerungen 12A-C aus 1 sind mit Workstations beliebiger Art, von denen drei (3) in 1 mit den Kennziffern 14A, 14B und 14C wiedergegeben sind, über beliebige Einrichtungen einer Vielzahl von Kommunikationspfaden, Bussen und/oder Netzwerken 15 kommunikativ verbunden, wie beispielsweise über ein Ethernet-basiertes lokales Netzwerk (LAN/Local Area Network).
  • Zur Steuerung von mindestens einem Abschnitt der beispielhaften verfahrenstechnischen Anlage 10 ist die beispielhafte Steuerung 12A aus 1 mit Einrichtungen und/oder Ausrüstungen beliebiger Art in der beispielhaften verfahrenstechnischen Anlage 10 über eine beliebige Einrichtung einer Vielzahl und/oder Kombination von Kommunikationsleitungen oder Bussen 18 kommunikativ verbunden, wie z. B. über einen Kommunikationsbus 18, der überwiegend entsprechend einem Fieldbus-Protokoll implementiert und/oder konstruiert ist und/oder betrieben wird. Obwohl dies in 1 nicht dargestellt ist, werden Fachleute auf diesem Gebiet leicht erkennen, dass die beispielhaften Prozesssteuerungen 12B und 12C entsprechend mit den gleichen, mit alternativen und/oder mit zusätzlichen Ausrüstungen und/oder Einrichtungen der verfahrenstechnischen Anlage 10 kommunikativ verbunden sind.
  • Die beispielhaften Prozesssteuerungen 12A, 12B und 12C aus 1 können mit Steuerungselementen kommunizieren, wie z. B. mit Feldgeräten und/oder Funktionsblöcken in Feldgeräten, die über die beispielhafte verfahrenstechnische Anlage 10 verteilt sind, um eine oder mehrere zugeordnete Prozesssteuerungsroutine(n) 19A, 19B bzw. 19C zu betreiben und/oder auszuführen, um eine gewünschte Steuerungskonfiguration und/oder einen Steuerungsprozess für die verfahrenstechnische Anlage 10 zu implementieren. Bei einigen beispielhaften verfahrenstechnischen Anlagen sind die Steuerungen 12A-C DeltaVTM-Controller, die von Fisher-Rosemount Systems, Inc., einem Unternehmen von Emerson Process Management, vertrieben werden.
  • Bei dem in 1 wiedergegebenen Beispiel schließen die Steuerungsroutinen 19A-C als „Funktionsblöcke" bezeichnete Einrichtungen ein. Der hier verwendete Begriff Funktionsblock ist die Gesamtheit oder ein beliebiger Teil einer gesamten Steuerungsroutine (möglicherweise über Kommunikationsverbindungen zusammen mit anderen Funktionsblöcken betrieben), die zur Implementierung von Prozesssteuerschleifen in der beispielhaften verfahrenstechnischen Anlage 10 verwendet wird. Bei einigen Beispielen sind Funktionsblöcke Objekte eines objektorientierten Programmierprotokolls, die beliebige der folgenden Funktionen ausführen: (a) eine Eingabefunktion, wie z. B. eine Funktion in Zusammenhang mit einem Geber, einem Sensor und/oder einer anderen Messeinrichtung für Prozessparameter; (b) eine Steuerungsfunktion, wie z. B. eine Funktion in Zusammenhang mit einer Steuerungsroutine, die PID-, Fuzzy-Logic-Steuerung usw. ausführt; und/oder (c) eine Ausgabefunktion, die den Betrieb einer Einrichtung steuert, wie z. B. den Betrieb eines Ventils, um bestimmte physische Funktionen in der verfahrenstechnischen Anlage 10 auszuführen. Selbstverständlich existieren hybride und/oder andere Typen komplexer Funktionsblöcke, wie z. B. modellprädiktive Steuerungen (MPCs), Optimierer usw. Während die Fieldbus-Protokolle und/oder das DeltaV-Systemprotokoll die Steuerungsmodule 19A-C und/oder Funktionsblöcke benutzen, die über ein objektorientiertes Programmierprotokoll entwickelt und/oder implementiert wurden, könnten die beispielhaften Steuerungsmodule 19A-C aus 1 unter Verwendung beliebiger Schemata aus einer Vielzahl von Steuerungsprogrammierschemata entwickelt sein, einschließlich beispielsweise von sequenziellen Funktionsblöcken, Ladder Logic usw., und sie sind nicht beschränkt auf die Entwicklung unter Verwendung von Funktionsblöcken und/oder von beliebigen bestimmten Programmierverfahren und/oder -sprachen.
  • Zum Speichern der beispielhaften Prozesssteuerungsroutinen 19A-C weist jede der beispielhaften Prozesssteuerungen 12A-C aus 1 Datenspeicher 20 beliebiger Art auf. Zusätzlich zum Speichern der Prozesssteuerungsroutinen 19A-C können die beispielhaften Datenspeicher 20 aus 1 verwendet werden, um beliebige Anwendungen aus einer Vielzahl von zusätzlichen und/oder alternativen Steuerungs- und/oder Kommunikationsanwendungen zu speichern, die verwendet werden, um die Kommunikation mit den Workstations 14A-C und/oder mit Steuerungselementen der beispielhaften verfahrenstechnischen Anlage 10 zu ermöglichen. Beispiele von Datenspeichern 20 schließen beliebige Arten von flüchtigen Datenspeicherelementen, -einrichtungen und/oder -einheiten ein (z. B. Direktzugriffsspeicher (RAM)) und/oder von nichtflüchtigen Datenspeicherelementen, -einrichtungen und/oder -einheiten (z. B. FLASH, Festwertspeicher (ROM) und/oder ein Festplattenlaufwerk).
  • Zum Betrieb und/oder zur Ausführung der Prozesssteuerungsroutinen 19A-C und/oder der Funktionsblöcke weist jede der beispielhaften Prozesssteuerungen 12A-C aus 1 beliebige Prozessoren aus einer Vielzahl von Prozessoren 21 auf. Die beispielhaften Prozessoren 21 aus 1 können Verarbeitungseinheiten beliebigen Typs sein, wie z. B. ein Prozessor-Core, ein Prozessor und/oder ein Mikrocontroller, die unter anderem maschinenlesbare Anweisungen ausführen können.
  • Beispiele von Workstations 14A-14C schließen beliebige Arten von Personal Computern und/oder Computer-Workstations ein. Die beispielhaften Workstations 14A-C aus 1 können beispielsweise von einem oder mehreren Konfigurationstechnikern verwendet werden, um die beispielhaften Prozesssteuerungsroutinen 19A-C zu entwickeln und/oder zu konfigurieren, die von den beispielhaften Steuerungen 12A-C ausgeführt werden sollen. Die Workstations 14A-C des dargestellten Beispiels können zusätzlich oder alternativ verwendet werden, um Anzeigeroutinen für die Ausführung durch die Workstations 14A-C und/oder durch andere Computer zu entwickeln und/oder zu konfigurieren. Die Workstations 14A-C können weiter zusätzlich oder alternativ mit den Steuerungen 12A-C kommunizieren, um Prozesssteuerungsroutinen 19A-C für die Steuerungen 12A-C bereitzustellen und/sie darin zu laden. Ferner können die Workstations 14A-C zusätzlich oder alternativ verwendet werden, um Anzeigeroutinen auszuführen, die während des Betriebs der verfahrenstechnischen Anlage 10 Informationen in Zusammenhang mit der beispielhaften verfahrenstechnischen Anlage 10, mit ihren Elementen und/oder Subelementen empfangen und/oder anzeigen.
  • Zum Speichern von Anwendungen wie von Konfigurationsentwicklungsanwendungen und/oder Anzeige- und/oder Ansichtanwendungen und/oder zum Speichern von Daten wie Konfigurationsdaten in Zusammenhang mit der Konfiguration der beispielhaften verfahrenstechnischen Anlage 10 weist jede der beispielhaften Workstations 14A-C aus 1 eine beliebige Art von Speichern oder Speichereinrichtungen 22 auf. Die beispielhaften Speicher 22 aus 1 können beliebige Arten von flüchtigen Datenspeicherelementen, -einrichtungen und/oder -einheiten sein (z. B. RAM) und/oder von nichtflüchtigen Datenspeicherelementen, -einrichtungen und/oder -einheiten (z. B. FLASH, ROM und/oder ein Festplattenlaufwerk).
  • Zur Ausführung der Anwendungen, die es beispielsweise einem Konfigurationstechniker ermöglichen, Prozesssteuerungsroutinen und/oder andere Routinen zu entwickeln, zum Laden dieser Prozesssteuerungsroutinen in die beispielhaften Steuerungen 12A-C und/oder in andere Computer und/oder zur Erfassung und/oder Anzeige von Informationen für einen Benutzer während des Betriebs der verfahrenstechnischen Anlage 10 weist jede der beispielhaften Workstations 14A-C aus 1 einen beliebigen Prozessor 23 aus einer Vielzahl von Prozessoren auf. Die beispielhaften Prozessoren 23 aus 1 können Verarbeitungseinheiten beliebigen Typs sein, wie z. B. ein Prozessor-Core, ein Prozessor und/oder ein Mikrocontroller, die unter anderem maschinenlesbare Anweisungen ausführen können, die die beispielhaften, in 15 und/oder 16 wiedergegebenen Verfahren implementieren.
  • Die beispielhaften Workstations 14A-C aus 1 können über Anzeigebildschirme 24 beliebiger Art, die die Steuerelemente in den Prozesssteuerungsroutinen 19A-C wiedergeben und/oder die Art, auf die diese Steuerelemente konfiguriert sind, für einen Benutzer eine grafische Darstellung der den beispielhaften Steuerungen 12A-C zugeordneten Prozesssteuerungsroutinen 19A-C bereitstellen, um die Steuerung der verfahrens technischen Anlage 10 bereitzustellen. Zum Speichern von Konfigurationsdaten, die von den Prozesssteuerungen 12A-C und/oder den Workstations 14A-C verwendet werden, schließt das in 1 wiedergegebene beispielhafte System eine Konfigurationsdatenbank 25 ein. Die beispielhafte Konfigurationsdatenbank 25 aus 1 ist, beispielsweise über das Ethernet-basierte LAN 15, mit den Steuerungen 12A-C und den Workstations 14A-C kommunikativ verbunden. Die beispielhafte Konfigurationsdatenbank 25 aus 1 dient auch als Data Historian, indem durch die und/oder in der verfahrenstechnische(n) Anlage 10 erzeugte Daten zur späteren Verwendung und/oder zum späteren Abruf erfasst und/oder gespeichert werden.
  • Bei dem in 1 wiedergegebenen Beispiel ist die Prozesssteuerung 12A über den beispielhaften Bus 18 mit drei (3) ähnlich konfigurierten Reaktoren (d. h. mit wiederholten Ausrüstungskomponenten) kommunikativ verbunden, die hier als REACTOR_01, REACTOR_02 und REACTOR_03 bezeichnet werden. Um eine Master-Steuerung zur Steuerung des Wasserflusses zu jedem der Reaktoren bereitzustellen, weist die beispielhafte verfahrenstechnische Anlage 10 aus 1 ein gemeinsam genutztes Kopfventilsystem 110 auf, das an der Wasserleitung stromaufwärts zu jedem der beispielhaften Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 angeschlossen ist.
  • Der beispielhafte Reaktor REACTOR_01 aus 1 weist einen Reaktorkessel oder Tank 100 beliebiger Art auf, sowie drei (3) Eingangsventilsysteme (d. h. Einrichtungsentitäten) 101, 102 und 103, die angeschlossen sind, um Flüssigkeitseinlassleitungen zu steuern, die Säure, Lauge bzw. Wasser in den Reaktorkessel 100 bereitstellen, und ein Auslassventilsystem 104, das angeschlossen ist, um die Flüssigkeitsströmung(en) aus dem Reaktorkessel 100 zu steuern. Ein Sensor 105, der ein Sensor beliebigen gewünschten Typs sein kann, wie ein Pegelsensor, ein Temperatursensor, ein Drucksensor usw., ist im und/oder in der Nähe des beispielhaften Reaktorkessel(s) 100 angeordnet. Bei dem in 1 dargestellten Beispiel ist der Sensor 105 ein Pegelsensor.
  • Auf ähnliche Weise weist der beispielhafte Reaktor REACTOR_02 aus 1 einen Reaktorkessel 200 auf sowie drei Eingangsventilsysteme 201, 202 und 203, ein Auslassventilsystem 204 und einen Pegelsensor 205. Entsprechend weist der beispielhafte Reak tor REACTOR_03 aus 1 einen Reaktorkessel 300 auf sowie drei Eingangsventilsysteme 301, 302 und 303, ein Auslassventilsystem 304 und einen Pegelsensor 305.
  • Fachleute auf diesem Gebiet werden leicht erkennen, dass die beispielhafte verfahrenstechnische Anlage 10 und/oder insbesondere die beispielhaften Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 verwendet werden können, um Produkte beliebiger Art herzustellen und/oder auszugeben. Beispielsweise können die Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 Salz produzieren, wobei die beispielhaften Eingangsventilsysteme 101, 201 und 301 Säure bereitstellen, wobei die beispielhaften Eingangsventilsysteme 102, 202 und 302 Lauge bereitstellen und wobei die beispielhaften Eingangsventilsysteme 103, 203 und 303 in Verbindung mit dem gemeinsam genutzten Wasserverteiler 110 Wasser für die Reaktorkessel 100, 200 und 300 bereitstellen. Die Auslassventilsysteme 104, 204 und 304 können betrieben werden, um Produkt aus den rechts von jedem der Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 aus 1 angeordneten Strömungsleitungen auszugeben und/oder um Wasser oder andere unerwünschte Materialien aus einer in 1 zum Boden gerichteten Strömungsleitung abzulassen.
  • In der beispielhaften verfahrenstechnischen Anlage 10 aus 1 ist die beispielhafte Steuerung 12A über den Bus 18 mit den Ventilsystemen 101, 102, 104, 110, 201, 202, 204, 301, 302 und 304 und mit den Sensoren 105, 205 und 305 kommunikativ verbunden, um den Betrieb dieser Elemente zu steuern, um einen oder mehrere Verarbeitungsvorgänge mit Bezug auf die beispielhaften Reaktoreinheiten REACTOR_01, REACTOR_02 und REACTOR_03 auszuführen. Derartige Vorgänge, die in der Industrie gemeinhin als „Phasen" bezeichnet werden, können beispielsweise das Befüllen der beispielhaften Reaktorkessel 100, 200, 300 einschließen sowie das Erhitzen des Materials in den Reaktorkesseln 100, 200, 300, das Entleeren der Reaktorkessel 100, 200, 300, die Reinigung der Reaktorkessel 100, 200, 300 usw.
  • Die beispielhaften Ventile, Sensoren und sonstigen in 1 wiedergegebenen Einrichtungen 101, 102, 104, 105, 201, 202, 204, 205, 301, 302, 304 und 305 können Einrichtungen beliebiger Art sein, einschließlich, aber ohne diesbezügliche Einschränkung, von Fieldbus-Einrichtungen, standardmäßigen 4/20-mA-Einrichtungen und/oder HART-Einrichtungen, und sie können unter Verwendung beliebiger Kommunikationsprotokolle und/oder Technologien aus einer Vielzahl von Kommunikationsprotokollen und/oder Technologien, wie z. B., jedoch ohne diesbezügliche Einschränkung, des Fieldbus-Protokolls, des HART-Protokolls und/oder des analogen 4/20-mA-Protokolls, mit den beispielhaften Steuerungen 12A kommunizieren. Andere Einrichtungstypen können zusätzlich oder alternativ dazu gemäß den hier beschriebenen Prinzipien mit den Steuerungen 12A-C verbunden sein und/oder von ihnen gesteuert werden.
  • Allgemein ausgedrückt bedeutet dies, dass die beispielhafte verfahrenstechnische Anlage 10 aus 1 verwendet werden kann, um Batch-Prozesse zu implementieren, in denen beispielsweise eine der beispielhaften Workstations 14A-C und/oder der beispielhaften Steuerungen 12A-C eine ausführbare Batch-Routine ausführt, die eine Steuerroutine höherer Ebene ist, die den Betrieb von einem oder mehreren der Reaktoren REACTOR_01, REACTOR_02, REACTOR_03 sowie möglicherweise von anderen Einrichtungen leitet, um eine Reihe unterschiedlicher Schritte und/oder Vorgänge (d. h. Phasen) auszuführen, die erforderlich sind, um ein Produkt wie z. B. ein bestimmten Salztyp herzustellen. Zur Implementierung der unterschiedlichen Phasen verwendet die ausführbare Batch-Routine eine allgemein als Rezeptur bezeichnete Liste, die die auszuführenden Schritte angibt sowie die den Schritten zugeordneten Mengen und/oder Zeiten und/oder die Reihenfolge der Schritte. Schritte für eine Rezeptur können beispielsweise das Füllen eines Reaktorkessels mit den vorgesehenen Materialien und/oder Zutaten einschließen sowie das Mischen der Materialien im Reaktorkessel, das Erhitzen der Materialien im Reaktorkessel auf eine bestimmte Temperatur über einen bestimmten Zeitraum, das Entleeren des Reaktorkessels und/oder die anschließende Reinigung des Reaktorkessels zur Vorbereitung auf den nächsten Batch-Durchlauf. Jeder der Schritte definiert eine Phase des Batch-Durchlaufs, und die ausführbare Batch-Routine in der beispielhaften Steuerung 12A aus 1 kann für jede dieser Phasen einen potenziell unterschiedlichen Steueralgorithmus ausführen. Die spezifischen Materialien, Materialmengen, Aufheiztemperaturen, Zeiten usw. können für unterschiedliche Rezepturen selbstverständlich unterschiedlich sein, und dementsprechend können sich diese Parameter von Batch-Durchlauf zu Batch-Durchlauf in Abhängigkeit von dem hergestellten und/oder in Herstellung befindlichen Produkt und/oder der verwendeten Rezeptur ändern. Fachleute auf diesem Gebiet werden leicht erkennen, dass, während Steuerungsroutinen und/oder Konfigurationen hier für Batch-Durchläufe der in 1 wiedergegebenen beispielhaften Reaktoren beschrieben sind, Steuerungsroutinen verwendet werden können, um beliebige alternative und/oder zusätzliche Einrichtungen zu steuern, um beliebige alternative und/oder zusätzliche gewünschte Durchläufe von Batch-Prozessen auszuführen und/oder um bei Bedarf kontinuierliche Prozessdurchläufe auszuführen.
  • Wie ebenfalls ersichtlich ist, können die gleichen Phasen und/oder Schritte eines Batch-Prozesses an jeder der unterschiedlichen Reaktoreinheiten REACTOR_01, REACTOR_02, REACTOR_03 aus 1 gleichzeitig oder zu sich überlagernden und/oder unterschiedlichen Zeiten implementiert werden. Da die beispielhaften Reaktoren REACTOR_01, REACTOR_02, REACTOR_03 weiter allgemein die gleiche Anzahl und/oder die gleichen Typen von Einrichtungen aufweisen, können die gleichen generischen Phasensteuerungsroutinen für eine bestimmte Phase verwendet werden, um jede der unterschiedlichen Reaktoreinheiten zu steuern. Diese generische Phasensteuerungsroutine muss aber möglicherweise geändert werden, um die spezifische Hardware und/oder Ausrüstung in Zusammenhang mit den unterschiedlichen Reaktoreinheiten zu steuern. Um beispielsweise eine Füllphase für REACTOR_01 zu implementieren (wobei der beispielhafte Tank 100 befüllt wird), öffnet eine beispielhafte Füllsteuerungsroutine 19A ein oder mehrere den Eingangsventilsystemen 101, 102 und 103 zugeordnete(s) Ventil(e) über einen bestimmten Zeitraum, z. B., bis der beispielhafte Pegelmesser 105 erkennt, dass der beispielhafte Kessel 100 voll ist. Die gleiche Steuerungsroutine 19A kann jedoch auch verwendet werden, um eine Füllphase für REACTOR_02 zu implementieren, indem lediglich die Bezeichnung des Eingangsventils bzw. der Eingangsventile statt der den Ventilsystemen 101, 102 und 103 zugeordneten Ventile auf die den Ventilsystemen 201, 202 und 203 zugeordneten Ventile geändert wird und indem die Bezeichnung des Pegelmessers statt des Pegelmessers 105 auf den Pegelmesser 205 geändert wird.
  • Wie im Folgenden in Zusammenhang mit 5 beschrieben wird, können Steuerungsroutinen und/oder Modulklassenobjekte konstruiert und/oder verwendet werden, um einen beliebigen Umfang von Einrichtungen in einer verfahrenstechnischen Anlage wiederzugeben und/oder zu umfassen. Ein beispielhaftes Modulklassenobjekt gibt die Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 wieder. Wie erläutert wird, ermöglichen derartige Objekte die Wiederverwendung von Steuerungsroutinen 19A-C in einer beliebigen Anzahl ähnlich konfigurierter (z. B. wiederholt installierter) Einrichtungen. Bei einigen Beispielen können sich auf ähnliche Weise wiederholte Einrichtungen jedoch dadurch unterscheiden, dass beliebige bestimmte Teile, Subelemente und/oder Einrichtungen der Ausrüstung absichtlich fehlen können. Entsprechend der folgenden Beschreibung in Zusammenhang mit 8-16 können derartige absichtlich fehlende Teile, Subelemente, Einrichtungen und/oder Ausrüstungen beispielsweise durch einen Konfigurationstechniker als fehlend identifiziert werden und somit anschließend bei der Ausführung der Prozesssteuerungsroutinen 19A-C von den beispielhaften Prozesssteuerungen 12A-C ignoriert werden. Dementsprechend können die Prozesssteuerungsroutinen 19A-C für Varianten replizierter Einrichtungen wiederverwendet und/oder eingesetzt werden, selbst wenn eine bestimmte Instanz der Ausrüstung einen fehlenden Teil, ein fehlendes Subelement oder eine fehlende Einrichtung aufweist.
  • Fachleute auf diesem Gebiet werden leicht erkennen, dass eine derartige Identifizierung fehlender Elemente einer Einheit einer verfahrenstechnischen Anlage in einer Ausrüstung beliebigen Umfangs in der verfahrenstechnischen Anlage auftreten kann. Bei einem Beispiel kann REACTOR_02 ähnlich dem beispielhaften REACTOR_01 sein, wobei aber das Ventil 202 absichtlich fehlt und daher von den Verarbeitungsroutinen 19A-C ignoriert wird. Bei einem weiteren im Folgenden in Zusammenhang mit 2 und 3 beschriebenen Beispiel schließen die Beispielventile 101, 102, 103, 201, 202, 203, 301, 302 und 303 ein Ventil FINE_VALVE und ein Ventil COARSE_VALVE ein. In einer beispielhaften verfahrenstechnischen Anlage enthalten einige Instanzen der Ventile 101, 102, 201, 202, 301, 302 und/oder 110 beispielsweise jedoch möglicherweise kein Ventil FINE_VALVE. Indem bei der Konfiguration der verfahrenstechnischen Anlage die Identifizierung derartiger Ventile FINE_VALVE als fehlend ermöglicht wird, kann eine gemeinsame Steuerungsprozedur 19A-C verwendet werden, um die Ventile 101, 102, 201, 202, 301, 302 und/oder 110 unabhängig davon zu steuern, ob ihr dazugehöriges Ventil FINE_VALVE vorliegt oder nicht.
  • Während in 1 eine beispielhafte verfahrenstechnische Anlage 10 dargestellt ist, können die in 1 wiedergegebenen Steuerungen 12A-C, Workstations 14A-C, Busse 15 und 18, Steuerungseinrichtungen usw. auf beliebige Art einer Vielzahl von Arten unterteilt, kombiniert, umgeordnet, eliminiert und/oder implementiert werden. Ferner kann die beispielhafte verfahrenstechnische Anlage 10 in Bezug auf die in 1 wiedergegebenen Einrichtungen zusätzliche und/oder alternative Steuerungen, Workstations, Busse und Steuerungseinrichtungen beliebiger Art aufweisen, und/oder sie kann im Vergleich zur Darstellung in 1 eine größere Anzahl von Steuerungen, Workstations, Bussen und Steuerungseinrichtungen aufweisen. Beispielsweise kann eine verfahrenstechnische Anlage eine beliebige Anzahl von Steuerungen und/oder Workstations aufweisen.
  • Weiter kann eine verfahrenstechnische Anlage statt der in 1 dargestellten beispielhaften Reaktoren und/oder zusätzlich dazu eine beliebige Prozessentität aus einer Vielzahl von Prozessentitäten aufweisen. Ferner kann eine verfahrenstechnische Anlage eine Vielzahl von Produkten unter Verwendung einer Vielzahl von Prozessen herstellen. Dementsprechend werden Fachleute auf diesem Gebiet leicht erkennen, dass die in 1 wiedergegebene beispielhafte verfahrenstechnische Anlage 10 lediglich der Veranschaulichung dient. Ferner kann eine verfahrenstechnische Anlage einen oder mehrere geografische Standort(e) einschließen und/oder umfassen, beispielsweise einschließlich von einem oder mehreren Gebäuden) an einem und/oder in der Nähe eines bestimmten geografischen Standort(s). Während die beispielhafte verfahrenstechnische Anlage 10 aus 1 ferner verwendet wird, um die beispielhaften Verfahren und Modulklassenobjekte zur Konfiguration des Fehlens von Einrichtungen zu beschreiben, werden Fachleute auf diesem Gebiet leicht erkennen, dass die hier offenbarten Verfahren und Objekte verwendet werden können, um das Fehlen von Einrichtungen für beliebige Anlagen einer Vielzahl von verfahrenstechnischen Anlagen zu konfigurieren.
  • Allgemein erzeugen Reaktoren ein Ausgabeprodukt, indem ein oder mehrere Bestandteil(e) unter Verwendung von einem oder mehreren Prozessschritt(en) kombiniert werden. Beispielhafte Reaktoren können unter Verwendung von beliebigen Elementen einer Vielzahl von Ventilen, Tanks und/oder Sensoren konstruiert und/oder implementiert werden. 2 stellt eine beispielhafte Art der Implementierung von beliebigen der beispielhaften Reaktoren REACTOR_01, REACTOR_02, REACTOR_03 aus 1 dar.
  • Während beliebige der beispielhaften Reaktoren REACTOR_01, REACTOR_02, REACTOR_03 in 2 dargestellt sein können, wird die in 2 wiedergegebene Einrichtung zur Vereinfachung der Beschreibung als REACTOR_01 bezeichnet. Entsprechend der vorstehenden Beschreibung in Zusammenhang mit 1 weist der beispielhafte Reaktor REACTOR_01 aus 2 generell den beispielhaften Reaktortank 100 auf sowie die beispielhaften Eingangsventilsysteme 101, 102, 103 und 110 für die Eingabe von Säure, Lauge und Wasser in den Tank 100, das beispielhafte Auslassventilsystem 104 für die Entfernung von Material aus dem Tank 100, und den beispielhaften Pegelsensor 105. Detaillierter ausgedrückt heißt dies, dass jedes der beispielhaften Eingangsventilsysteme 101, 102 und 110 aus 2 eine ähnliche Einrichtungsentität verwendet (d. h., dass es replizierte Einrichtungen sind), die hier als „Totalisator" bezeichnet wird, der entsprechend der Darstellung in 2 zwei Ventile aufweist, die parallel zueinander angeordnet sind, sowie eine zu den beiden Ventilen stromabwärts angeordnete Strömungsmesseinrichtung.
  • Um eine grobe Strömungssteuerung bereitzustellen, weist der beispielhafte Totalisator 101 ein Ventil COARSE_VALVE 101A auf. Das beispielhafte Ventil COARSE_VALVE 101A ist ein beliebiges Ventil einer Vielzahl von Ventilen des Ein-/Aus-Typs. Zur Bereitstellung einer Feinsteuerung der Strömung weist der beispielhafte Totalisator 101 ein Ventil FINE_VALVE 101B auf. Das beispielhafte Ventil FINE_VALVE 101E ist ein beliebiges Ventil einer Vielzahl von Ventilen des Ein-/Aus-Typs. Die maximal erzielbare Strömungsgeschwindigkeit durch das Ventil FINE_VALVE 101E ist geringer als die erzielbare Geschwindigkeit durch das Ventil COARSE_VALVE 101A. Dadurch ermöglicht die gemeinsame Verwendung der Ventile COARSE_VALVE 101A und FINE_VALVE 101E die Steuerung der Strömungsgeschwindigkeit über einen großen Bereich von Strömungsgeschwindigkeiten.
  • Zur Messung der Strömungsgeschwindigkeit durch den beispielhaften Totalisator 101 weist der beispielhafte Totalisator 101 aus 2 einen Strömungsmesser 101C auf, der stromabwärts zu den beispielhaften Ventilen 101A und 101E angeordnet ist. Der beispielhafte Totalisator 101 aus 2 hat ein(e) oder mehrere ihm zugeordnete(s) Modul(e) oder Routine(n) (z. B. eine der beispielhaften Steuerungsroutinen 19A-C aus 1), die verwendet werden, um die Säureeingabe unter Verwendung der vom beispielhaften Strömungsmesser 101C vorgenommenen Messungen zu steuern. Eine erste derartige Steuerungsroutine kann eine schnelle Strömungssteuerung durch den Totalisator 101C unter Verwendung der Ventile COARSE_VALVE 101A und FINE_VALVE 101E ausführen, während eine zweite derartige Steuerungsroutine eine genaue Strömungssteuerung durch den Totalisator 101C über die Steuerung der Ventile COARSE_VALVE 101A und FINE_VALVE 101E auf unterschiedliche Weise ausführen kann.
  • Wie aus 2 leicht ersichtlich ist, weist der Totalisator 102 des Laugeeinlassventils ein Ventil COARSE_VALVE 102A, ein Ventil FINE_VALVE 102B und einen Strömungsmesser 102C auf, und das gemeinsam genutzte Wassereinlass-Ventilsystem 110 weist ein Ventil COARSE_VALVE 110A, ein Ventil FINE_VALVE 110E und einen Strömungsmesser 110C auf. Bei dem in 2 wiedergegebenen Beispiel stellt jeder der beispielhaften Totalisatoren 101, 102 und 110 replizierte Ausrüstung dar und kann dementsprechend somit, auch wenn die Verwendung an unterschiedlichen Stellen der beispielhaften Einheit REACTOR_01 erfolgt, als Instanz eines gemeinsamen Totalisatorobjekts angesehen und damit über eine gemeinsame Gruppe von Steuerungsroutinen gesteuert werden.
  • Fachleute auf diesem Gebiet werden leicht erkennen, dass es zahlreiche Varianten der beispielhaften Totalisatoren 101, 102 und 110 aus 2 gibt. Beispielsweise kann ein in 3 dargestellter abgeänderter Totalisator 101M aus dem beispielhaften Totalisator 101 aus 2 konstruiert werden, wobei das Ventil FINE_VALVE 101E nicht enthalten ist. Das heißt, dass das beispielhafte Ventil FINE_VALVE 101B beim beispielhaften Totalisator 101M aus 3 absichtlich fehlt. In einem derartigen Fall fehlt das Ventil FINE_VALVE 101E absichtlich, da es beispielsweise nicht erforderlich ist, den Prozess und/oder die Prozessphase(n) korrekt auszuführen, die vom beispielhaften Reaktor REACTOR_01 ausgeführt werden sollen. Fachleute auf diesem Gebiet werden jedoch leicht erkennen, dass der abgeänderte Totalisator 101M abgesehen von dem fehlenden Ventil FINE_VALVE 101E ähnlich dem beispielhaften Totalisator 101 ist und somit unter Verwendung einer Steuerungsprozedur gesteuert werden kann, die im Wesentlichen ähnlich der zur Steuerung des beispielhaften Totalisators 101 aus 2 verwendeten Prozedur ist. In Abhängigkeit von den Erfordernissen des Prozesses und/oder der Prozessphase könnte der beispielhafte abgeänderte Totalisator 101M anstelle eines beliebigen der beispielhaften Totalisatoren 101, 102 und/oder 110 aus 2 verwendet werden.
  • Wiederum mit Bezug auf 2 ist das beispielhafte Auslassventilsystem 104 ein weiteres Teil replizierter Ausrüstung, und es weist drei Ventile auf. Entsprechend der Darstellung in 4 weist das beispielhafte Auslassventilsystem 104 ein Hauptauslassventil 104A auf, das geöffnet sein muss, um beliebiges Material aus dem beispielhaften Tank 100 aus 2 freizugeben, sowie ein Produktventil 104B, das in Verbindung mit dem Hauptauslassventil 104A geöffnet sein muss, um Produkt aus dem Tank 100 abzugeben, und ein Ablassventil 104C, das in Verbindung mit dem Hauptauslassventil 104A geöffnet sein muss, um Material aus dem Tank in ein Abwasser- und/oder Abfallsystem abzulassen, wie z. B. Abfallprodukte, Reinigungsflüssigkeiten usw. Selbstverständlich sind dem Auslassventilsystem 104 eine oder mehrere Steuerroutinen zugeordnet, um den Zustand der Ventile 104A, 104B und 104C zu steuern, um den Tank 100 zu schließen, den Tank 100 abzulassen und/oder Produkt aus dem Tank 100 zu entleeren.
  • Wiederum mit Bezug auf 1 hat in der Vergangenheit ein Konfigurationstechniker zur Erzeugung einer Steuerungsroutine zur Steuerung der unterschiedlichen Einrichtungen in Zusammenhang mit den beispielhaften Reaktoren REACTOR_01, REACTOR_02 und/oder REACTOR_03 möglicherweise zunächst eine Anzahl von Vorlagen für Steuerungsroutinen erzeugt, die allgemeiner Natur waren und die in einer Bibliothek in beispielsweise einer der beispielhaften Workstations 14A-C gespeichert waren. Zur Erzeugung einer Vorlage eines Steuerungsmoduls hat der Techniker unterschiedliche Funktionsblöcke grafisch verbunden, um eine Steuerungsroutine für unterschiedliche Elemente und/oder in Verbindung mit dem Reaktor erzeugte Schleifen bereitzustellen. Nach der normalerweise auf der Basis einer Ventil- und/oder Steuerungsschleife erfolgten Erstellung der generischen Steuerungsmodulvorlagen konnten diese Steuerungsmodulvorlagen kopiert werden, und die Kopien der Steuerungsmodulvorlagen konnten manuell mit bestimmten Einrichtungen in den Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 verknüpft werden. Nach der Verknüpfung, die entsprechend der detaillierteren Beschreibung im US-Patent Nr. 6,385,496 entweder direkt und/oder unter Verwendung von Aliasnamen erfolgt, wurden die verknüpften Kopien der Steuerungsmodule in eine oder mehrere der beispielhaften Steuerungen 12A-C geladen und verwendet, um Prozesssteuerungsvorgänge in Verbindung mit den Reaktoren, mit denen sie verknüpft sind, auszuführen. Die aus den Steuerungsmodulvorlagen erzeugten verknüpften Steuerungsmodule hatten jedoch keinen Bezug und/oder keine Beziehung zu der Modulvorlage, aus der sie erzeugt wurden, und sie waren somit bei der Verwendung im Prozesssteuersystem eigentlich Stand-alone-Steuerungsmodule oder -objekte. Das US-Patent Nr. 6,385,496 wird hiermit ausdrücklich in seiner Gesamtheit als Bestandteil übernommen.
  • In diesen Systemen mussten die Konfigurationsvorgänge ferner auf einer Steuermodulebene ausgeführt werden, was bedeutet, dass für jede der unterschiedlichen Ausrüstungskomponenten und/oder Schleifen in der verfahrenstechnischen Anlage ein separates Steuerungsmodul erzeugt werden musste. Auf der Steuermodulebene gibt es üblicherweise unterschiedliche Typen von Steuerungsmodulen, die für jede der Prozessentitäten in der verfahrenstechnischen Anlage erzeugt und damit verknüpft werden müssen. Demzufolge hat der Konfigurationstechniker viel Zeit für das einfache Kopieren individueller Steuerungsmodule und die Verknüpfung mit individuellen Ausrüstungskomponenten in der verfahrenstechnischen Anlage verwandt. Ein Konfigurationstechniker musste beispielsweise möglicherweise Dutzende von Steuerungsmodulen für eine Reaktoreinheit in der Anlage erzeugen und kopieren und anschließend jedes dieser Steuerungsmodule mit bestimmten Einrichtungen in der betreffenden Reaktoreinheit verknüpfen. Wenn die Reaktoreinheit in der Anlage repliziert war, wurde die Aufgabe des Konfigurationstechnikers noch mühseliger, da der Konfigurationstechniker diesen Kopier- und Verknüpfungsvorgang für Dutzende von Steuerungsmodulen für jede der replizierten Einrichtungen ausführen musste, was zeitaufwendig und anfällig für durch menschliches Versagen eingeführte Fehler war.
  • Während ein Konfigurationstechniker in der Vergangenheit ein Einheitenmodul entwickeln konnte, waren diese Einheitenmodule lediglich Behälter für die Phasen, die an einer Einheit ausgeführt werden konnten, und sie enthielten keine Ausrüstungsangaben in Zusammenhang mit den Einheiten- oder Steuerungsschemata, die zur Steuerung von grundlegenden Funktionen der Einrichtungen in den Einheiten verwendet werden. Während ferner Vorlagen für Steuerungsmodule erzeugt werden konnten, um unterschiedliche Einrichtungen zu steuern, gab es keine Steuermodulpakete, die verwendet werden konnten, um replizierte Entitäten höherer Ebene in der Anlage anzugeben, wie z. B. Einrichtungs- und Einheitenentitäten (z. B. einen Totalisator oder Reaktor). Dies bedeutet, dass der Konfigurationstechniker zum Erzeugen von Steuerungsroutinen für unterschiedliche replizierte Entitäten in der verfahrenstechnischen Anlage 10 Steuerungsmodule für jede der replizierten Ausrüstungskomponenten auf der untersten Steuerungsebene kopieren und anschließend jedes dieser Steuerungsmodule an eine spezifische und/oder bestimmte Ausrüstungskomponente oder andere Entität in der verfahrenstechnischen Anlage 10 anpassen musste. Bei großen Anlagen mit einer großen Anzahl replizierter Einrichtungen konnte diese Aufgabe zeitaufwendig und/oder anfällig für Konfigurationsfehler sein. Ferner mussten Änderungen an einem Steuerungsmodul in Zusammenhang mit replizierten Einrichtungen manuell an jedem der unterschiedlichen Steuerungsmodule für die unterschiedlichen Einrichtungen vorgenommen werden, was ebenfalls mühselig, zeitaufwendig und/oder anfällig für eingeführte Fehler war. Dementsprechend mussten Bedieneranzeigen separat und/oder getrennt von den Steuerungsmodulen erzeugt werden, und ähnlich wie bei den Steuerungsmodulen mussten die Anzeigen individuell erzeugt, geändert und mit den Einrichtungen in der verfahrenstechnischen Anlage verknüpft werden.
  • Um die Erzeugung und/oder Änderung einer Prozesskonfiguration einfacher und/oder weniger zeitaufwendig zu machen, verwendet eine von mindestens einer der beispielhaften Workstations 14A-C aus 1 ausgeführte Konfigurationsanwendung 50 eine Gruppe aus einem oder mehreren Modulklassenobjekt(en) 52 zur Verwendung bei der Konfiguration der Prozesssteueranlage 10. Die beispielhaften Modulklassenobjekte 52 aus 1 sind besonders nützlich bei der Konfiguration einer Anlage mit zahlreichen Gruppen replizierter Einrichtungen, einschließlich replizierter Einrichtungen, die absichtlich fehlende Teile aufweisen können. Allgemein ausgedrückt bedeutet dies, dass für jeden unterschiedlichen Typ einer physischen Einheit und/oder Einrichtung, die in der verfahrenstechnischen Anlage 10 repliziert und/oder verwendet wird, sowie für jeden Typ eines Steuerungsvorgangs, der in der verfahrenstechnischen Anlage 10 repliziert und/oder verwendet wird, und für jeden unterschiedlichen Typ einer Anzeigeanwendung, die in der verfahrenstechnischen Anlage 10 repliziert und/oder verwendet wird, usw. ein unterschiedliches Modulklassenobjekt 52 erzeugt werden kann. Nachdem das beispielhafte Modulklassenobjekt 52 aus 1 erzeugt worden ist, kann es anschließend verwendet werden, um Elemente der verfahrenstechnischen Anlage 10 zu konfigurieren, die den verschiedenen Modulklassenobjekten 52 entsprechen.
  • Die beispielhaften Modulklassenobjekte 52 aus 1 geben allgemeine Versionen von Prozessentitäten wieder und sind somit nicht mit einer beliebigen bestimmten physischen Prozessentität verknüpft. Bei dem dargestellten Beispiel können die Modulklassenobjekte 52 Objekten und/oder Instanzen niedrigerer Ebene zugeordnet worden sein, von denen vier (4) in 1 mit den Kennziffern 53, 54, 55 und 56 wiedergegeben sind. Wenn ein Modulobjekt aus einem Modulklassenobjekt 52 erzeugt wird, übernimmt es die gleiche Struktur und/oder die gleichen Eigenschaften wie das Modulklassenobjekt 52, aus dem es erzeugt worden ist. Jedes Modulobjekt ist jedoch mit einer bestimmten physischen Entität in der verfahrenstechnischen Anlage 10 verknüpft. Somit kann ein einzelnes Modulklassenobjekt 52 erzeugt werden, um einen bestimmten Typ einer Reaktoreinheit wiederzugeben (unabhängig davon, wie viele derartige Reaktoreinheiten in der Anlage 10 vorliegen), während für jede der unterschiedlichen Reaktoreinheiten des betreffenden, in der Anlage 10 tatsächlich vorhandenen Typs ein unterschiedliches Modulobjekt vorliegt.
  • Die aus einem Modulklassenobjekt 52 erzeugten Modulobjekte sind dem Modulklassenobjekt 52 zugeordnet und/oder zugehörig. Demzufolge können am zugeordneten Modulklassenobjekt 52 vorgenommene Änderungen automatisch in jedem dem Modulklassenobjekt 52 zugehörigen Modulobjekt wiedergegeben und/oder übernommen werden. Wenn eine Anzahl von Modulobjekten aus einem bestimmten Modulklassenobjekt (z. B. aus dem Modulklassenobjekt 52) erzeugt worden ist, wobei jedes der unterschiedlichen Modulobjekte mit unterschiedlichen Prozessentitäten verknüpft ist, kann daher jedes der unterschiedlichen Modulobjekte geändert werden, indem einfach das Modulklassenobjekt 52 geändert wird und die Änderungen anschließend automatisch in den zugeordneten Modulobjekten übernommen werden.
  • Nachdem die Modulobjekte aus einem Modulklassenobjekt 52 erzeugt worden sind, können diese Modulobjekte auf ähnliche Weise unter Verwendung eines Bulk-Bearbeitungsverfahrens mit bestimmten Einrichtungen in der verfahrenstechnischen Anlage 10 verknüpft werden. Da die Modulobjekte eines bestimmten Modulklassen objekts 52 alle mit dem gleichen Modulklassenobjekt 52 verbunden und/oder ihm zugehörig sind, können sie insbesondere alle zusammen beispielsweise unter Verwendung einer Anwendung vom Typ einer Tabellenkalkulation geändert werden, was die Angabe der bestimmten Beziehungen zwischen den Modulobjekten und den bestimmten Einrichtungen in der Anlage 10 in Zusammenhang mit den betreffenden Modulobjekten einfacher und/oder weniger zeitaufwendig macht. Beispielhafte Verfahren zur Konfiguration einer Gruppe von Modulobjekten unter Verwendung einer Anwendung vom Typ einer Tabellenkalkulation sind beschrieben im US-Patent Nr. 7,043,311 , welches hiermit in seiner Gesamtheit ausdrücklich als Bestandteil übernommen wird.
  • Die beispielhaften Modulklassenobjekte 52 aus 1 werden in der Industrie gemeinhin als „Objekte" einer objektorientierten Programmierumgebung und/oder -sprache bezeichnet. Demzufolge können diese Modulklassenobjekte 52 eigene andere Objekte aufweisen und/oder darauf verweisen. Allgemein ausgedrückt bedeutet dies, dass die Modulklassenobjekte 52 Objekte höherer Ebene sind, die Angaben und/oder Definitionen von individuellen Elementen aufweisen können, wie z. B. von Steuerungsroutinen, Einrichtungen und/oder anderen Elementen in Zusammenhang mit einer Prozessentität, sowie eine Definition und/oder Angabe der Art, auf die diese individuellen Elemente untereinander agieren, wie z. B. die Weise, in der physische Elemente untereinander verbunden sind, und/oder die Weise, in der logische Elemente in Verbindung mit den physischen Elementen arbeiten. Dies bedeutet, dass ein Modulklassenobjekt 52 ein Objekt sein kann – beispielsweise in einer objektorientierten Programmiersprache – das die Basis für die Steuerung und/oder Anzeige einer bestimmten Ausrüstungskomponente und/oder Gruppe von Einrichtungen, eines Steuerelements, einer Anzeige usw. in der verfahrenstechnischen Anlage 10 bereitstellt und das für die Erzeugung vieler Instanzen des betreffenden Elements nützlich sein kann, die zur Konfiguration unterschiedlicher replizierter Einrichtungen in der verfahrenstechnischen Anlage 10 verwendet werden sollen.
  • Grundsätzlich ist jedes der beispielhaften Modulklassenobjekte 52 aus 1 ein Konfigurationsbehälter und/oder eine Vorlage, die eine allgemeine Definition einer Prozessentität in Form aller unterschiedlichen Steuerungs- und/oder Anzeigeanwendungen und/oder -routinen einschließt, die auf die betreffende Entität anwendbar sind, um von den Steuerungen 12A-C verwendet zu werden, um die betreffende Entität zu steuern, sowie um von den beispielhaften Workstations 14A-C verwendet zu werden, um Anzeigevorgänge mit Bezug auf die betreffende Entität auszuführen. Ein Modulklassenobjekt 52 kann eine Prozessentität beliebiger Art wiedergeben, wie z. B. eine Einheit, eine Ausrüstungskomponente, eine Steuerungsentität, eine Anzeigeanwendung usw. Während der Konfiguration der verfahrenstechnischen Anlage 10 kann das Modulklassenobjekt 52 verwendet werden, um Konfigurationsinstanzen der Prozessentität für eine beliebige Anzahl von Prozessentitäten zu erzeugen, die der durch das Modulklassenobjekt 52 bereitgestellten Definition entsprechen, wobei jede Konfigurationsinstanz (das aus dem Modulklassenobjekt 52 erzeugte Modulobjekt) einer unterschiedlichen tatsächlichen Prozessentität zugeordnet und/oder daran gebunden ist. Diese unterschiedlichen Modulobjekte schließen unter anderem Steuerungsroutinen und/oder Anzeigenroutinen ein, die an bestimmte in der verfahrenstechnischen Anlage 10 angeordnete Prozessentitäten gebunden sind, wobei diese Steuerungsroutinen in die Steuerungen 12A-C aus 1 heruntergeladen und/oder dort verwendet werden können, um eigentliche Steuerungsvorgänge an Prozessentitäten auszuführen, und/oder wobei die Anzeigeroutinen in die Workstations 14A-C heruntergeladen werden können, um tatsächliche Anzeigevorgänge mit Bezug auf Entitäten während des Betriebs der verfahrenstechnischen Anlage 10 auszuführen.
  • Unterschiedliche Typen von Modulklassenobjekten 52 können Prozessentitäten unterschiedlichen Umfangs wiedergeben und daher Steuerungs- und/oder Anzeigeroutinen aufweisen, die konfiguriert sind, um an, und/oder mit Bezug auf, Prozessentitäten unterschiedlichen Umfangs betrieben zu werden. Je größer der Umfang der Prozessentität (wie z. B. einer Einheit) ist, desto mehr Steuerungs- und/oder Anzeigeroutinen sind normalerweise dem Modulklassenobjekt zugeordnet, und desto einfacher ist es somit, größere Bereiche und/oder Teile einer verfahrenstechnischen Anlage unter Verwendung dieser Modulklassenobjekte zu konfigurieren. Je größer jedoch der Umfang der Prozessentität ist, die einem Modulklassenobjekt 52 zugeordnet ist, desto geringer ist die Wahrscheinlichkeit, dass der Prozess replizierte Einrichtungen dieses Umfangs einschließt, und desto geringer ist somit die Wahrscheinlichkeit, dass das Modulklassenobjekt 52 in großem Maßstab nützlich ist. Je geringer dagegen der Umfang der einem Modulklassenobjekt 52 zugeordneten Prozessentität ist, desto größer ist die Wahrschein lichkeit, dass das Modulklassenobjekt 52 an verschiedenen unterschiedlichen Standorten der Anlage zweckmäßig ist, doch desto geringer ist der Umfang der Konfiguration, die bei der Verwendung des betreffenden Modulklassenobjekts 52 in einer beliebigen bestimmten Instanz ausgeführt wird. In jedem Fall ermöglichen die Modulklassenobjekte 52 die Ausführung der Konfiguration für unterschiedliche replizierte Einrichtungen auf höheren Abstraktionsebenen als auf Ebene der Steuerungsmodule, wodurch die Konfiguration einer verfahrenstechnischen Anlage mit replizierten Einheiten und/oder anderer Ausrüstung bei Verwendung von Modulklassenobjekten 52 und insbesondere von Modulklassenobjekten 52 großen Umfangs, wie z. B. auf Einheitenebene, vereinfacht wird und weniger zeitaufwendig ist und/oder weniger Fehler aufweist.
  • Bei einigen Beispielen kann ein Konfigurationstechniker bei der Konfiguration eines Prozesssteuersystems ein einzelnes Modulklassenobjekt 52 für die unterschiedlichen in der verfahrenstechnischen Anlage replizierten Elemente erzeugen, wie z. B. für die beispielhaften Totalisatoren 101, 102, 110, 110M aus 2 und 3. Anschließend kann der Konfigurationstechniker für jeden der in der verfahrenstechnischen Anlage physisch vorhandenen Totalisatoren Instanzen des Modulklassenobjekts 52 (d. h. Modulobjekte) erzeugen. Jedes derart erzeugte Modulobjekt schließt Steuerungsroutinen ein, die von einer Prozesssteuerung verwendet werden, um einen Totalisator zu betreiben, und ist spezifisch an die Einrichtungen in einem bestimmten Totalisator gebunden und/oder damit verknüpft. Diese Steuerungsroutinen können anschließend in die Steuerung geladen und dann während des Betriebs der verfahrenstechnischen Anlage 10 verwendet werden. Nachdem es erzeugt worden ist, ist jedes der Modulobjekte jedoch noch an sein zugeordnetes Modulklassenobjekt 52 gebunden und kann somit durch das Modulklassenobjekt 52 gesteuert werden, um geändert zu werden, um den Zugriff auf das Modulobjekt bereitzustellen und/oder zu verwehren usw.
  • Während es viele unterschiedliche mögliche Typen von Modulklassenobjekten 52 gibt, die in einer verfahrenstechnischen Anlage erzeugt und/oder verwendet werden können, um Konfigurationsvorgänge in der verfahrenstechnischen Anlage 10 auszuführen, schließen vier hier als Beispiele beschriebene spezifische Typen Einheiten-Modulklassenobjekte, Einrichtungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und Anzeige-Modulklassenobjekte ein. Allgemein ausgedrückt bedeutet dies, dass jeder unterschiedliche Typ eines Modulklassenobjekts 52 für einen unterschiedlichen Steuerungsumfang und/oder für einen unterschiedlichen Einsatz in der verfahrenstechnischen Anlage 10 konzipiert und/oder geplant ist. Ein Einheiten-Modulklassenobjekt 52 ist vorgesehen, um zur Wiedergabe und/oder Konfiguration von Steuerungsvorgängen für ein breites Spektrum von Einrichtungen in einer verfahrenstechnischen Anlage verwendet zu werden. Insbesondere ist ein Einheiten-Modulklassenobjekt 52 vorgesehen, um eine untereinander verbundene Gruppe von Einrichtungen (normalerweise sind dies replizierte Einrichtungen) zu modellieren und/oder bei ihrer Konfiguration eingesetzt zu werden, wie z. B. bei den beispielhaften Reaktoren aus 1, die individuelle Elemente haben, die übereinstimmend arbeiten und/oder die auf eine bekannte Weise miteinander interoperieren.
  • Ein Einrichtungs-Modulklassenobjekt 52 ist vorgesehen, um zur Wiedergabe und/oder Konfiguration von Steuerungsvorgängen für ein weniger breites Spektrum physischer Einrichtungen in der verfahrenstechnischen Anlage 10 verwendet zu werden. Die einem Einheiten-Modulklassenobjekt 52 zugeordnete Ausrüstung sind generell eine oder mehrere physische Entität(en) wie z. B. Ventile, Strömungsmesser usw., aus denen ein Subsystem einer Einheit zusammengesetzt ist (z. B. die beispielhaften Totalisatoren aus 2 und 3), und das Einheiten-Modulklassenobjekt 52 kann einen oder mehrere Befehl(e) und/oder Algorithmen einschließen, die befehlsgesteuerte Algorithmen (CDA-Algorithmen) sein können sowie statusgesteuerte Algorithmen (SDA-Algorithmen), Ablaufsprachealgorithmen (SFD-Algorithmen), Funktionsblockdiagramm-Algorithmen (FBD-Algorithmen), Phasenalgorithmen usw., die an der Ausrüstungskomponente ausgeführt werden. Ein Einrichtungs-Modulklassenobjekt 52 hat somit die Konfiguration der Steuerung mehrerer Komponenten niederer Ebene und/oder von Entitäten in einer Einheit zum Ziel (z. B. der beispielhaften Ventile COARSE_VALVE 101A und FINE_VALVE 101B und/oder des beispielhaften Strömungsmessers 101C aus 2), um eine grundlegende Funktionsgruppe zu der betreffenden in der Einheit verwendeten Einrichtung bereitzustellen. Wie bekannt ist, wird ein befehlsgesteuerter Algorithmus (eine befehlsgesteuerte Steuerlogik) verwendet, wenn die Komponenten niederer Ebene über mehrere Schritte koordiniert werden müssen, um eine Funktion auszuführen. Beispielsweise muss ein erstes Ventil möglicherweise über einen bestimmten Zeitraum geöffnet und anschließend geschlossen werden, während ein zweites Ventil geöffnet und dann geschlossen wird. Die beispielhaften Totalisatoren aus 2 und 3 verwenden diesen Typ eines befehlsgesteuerten Algorithmus, um die Ventile COARSE_VALVE (z. B. das beispielhafte Ventil COARSE_VALVE 101A) und FINE_VALVE (z. B. das beispielhafte Ventil FINE_VALVE 101B) auf der Grundlage der Ablesung des Strömungsmessers (z. B. des Strömungsmessers 101C) zunächst zu initiieren und anschließend zu ändern, um die gewünschte totale Strömung durch den Totalisator bereitzustellen. Ein statusgesteuerter Algorithmus (eine statusgesteuerte Steuerlogik) kann die Zustände unterschiedlicher Komponenten niederer Ebene angeben, die in einem einzelnen Schritt bearbeitet werden können. Ein derartiger statusgesteuerter Algorithmus könnte verwendet werden, um das beispielhafte Auslassventilsystem 104 aus 4 zu steuern, bei dem die Zustände der unterschiedlichen darin enthaltenen Ventile auf der Grundlage des gewünschten Zustands des Auslassventilsystems 104 unterschiedlich gesteuert werden (jedoch in einem einzelnen Schritt), um den Tank 100 zu schließen, um den Tank 100 zu entleeren und/oder um Produkt aus dem Tank 100 abzugeben. Einrichtungsmodulklassen können aber unter Verwendung beliebiger anwendbarer Steuerungsalgorithmen gesteuert werden.
  • Ein Steuerungs-Modulklassenobjekt 52 ist vorgesehen, um zur Wiedergabe und/oder zur Konfiguration individueller Steuerelemente und/oder Steuermodule in der verfahrenstechnischen Anlage 10 verwendet zu werden. Ein Steuerungs-Modulklassenobjekt 52 stellt einen bestimmten Steuerungstyp bereit und/oder gibt ihn an, der an einer Anlagenentität ausgeführt werden soll, wie z. B. an einem Ventil, einem Messgerät usw., einer Ausrüstungskomponente und/oder auch einer Einheit. Allgemein ausgedrückt bedeutet dies, dass ein Steuerungs-Modulklassenobjekt 52 einen bestimmten Typ der Steuerungsprogrammierung bereitstellt, wie z. B. eine Gruppe von untereinander kommunikativ verbundenen Funktionsblöcken, die Steuerungsmodule zur Ausführung in einer Steuerung definieren und die nützlich sind, um replizierte Steuerungsvorgänge in einer verfahrenstechnischen Anlage auszuführen. In den meisten Fällen kann ein Steuerungs-Modulklassenobjekt 52 eine allgemeine Steuerungsstrategie bereitstellen, um eine einzelne Einrichtung und/oder eine damit zusammenhängende Gruppe von Einrichtungen zu bearbeiten.
  • Ein Anzeige-Modulklassenobjekt 52 ist vorgesehen, um zur Wiedergabe und/oder zur Konfiguration von Anzeigevorgängen für die Ansicht durch einen Benutzer, wie z. B. einen Steuerungsbediener, während des Betriebs der verfahrenstechnischen Anlage 10 verwendet zu werden. Somit kann ein Anzeige-Modulklassenobjekt 52 die Programmierung angeben, die erforderlich ist, um eine Anzeige eines bestimmten Typs in einer Bediener-Workstation zu erzeugen (z. B. in einer der beispielhaften Workstations 14A-C aus 1), und/oder die Programmierung, die erforderlich ist, um auf einer oder mehreren der Workstations (sowie in beliebigen anderen Einrichtungen in der verfahrenstechnischen Anlage 10) ausgeführt zu werden, um es dieser Anzeige zu ermöglichen, während des Betriebs der Anlage 10 die korrekten Daten und/oder Informationen von der Anlage zu erhalten. Typen von Anzeige-Klassenmodulobjekten 52 schließen beispielsweise Alarmanzeigen, Konfigurationsansichtanzeigen, Betriebsansichtanzeigen, Diagnoseanzeigen usw. ein. Selbstverständlich kann ein Anzeige-Modulklassenobjekt 52 eine Anzeige bereitstellen, die einen beliebigen gewünschten Umfang von physischen Elementen und/oder Entitäten in einer verfahrenstechnischen Anlage wiedergibt oder daran gebunden ist. Beispielsweise kann ein Anzeige-Modulklassenobjekt 52 Informationen zu einem gesamten Bereich, einer Einheit, einer Ausrüstungskomponente, einem Steuerelement oder einer beliebigen Kombination dieser Elemente in der verfahrenstechnischen Anlage 10 anzeigen.
  • Entsprechend der folgenden detaillierteren Beschreibung kann ein Modulklassenobjekt 52 ferner definiert und/oder konfiguriert werden, um es zu ermöglichen, dass alle oder beliebige bestimmte Teile eines Modulobjekts (z. B. das beispielhafte Ventil FINE_VALVE 101B der beispielhaften Totalisatoren 101, 102, 110 aus 2) als konfigurierbar fehlend identifiziert und somit während der anschließenden Ausführung der zugeordneten Steuerungsroutine ignoriert werden. Wenn ein derartiges Modulklassenobjekt 52 für einen Totalisator als Instanz erzeugt und anschließend einem spezifischen physischen Totalisator einer verfahrenstechnischen Anlage zugeordnet wird (d. h., wenn ein Modulobjekt angelegt wird), kann die fehlende Ausrüstungskomponente (z. B. das Ventil FINE_VALVE 101B) vom Konfigurationstechniker als fehlend identifiziert und/oder markiert werden, um einen abgeänderten Totalisator wiederzugeben (z. B. den beispielhaften abgeänderten Totalisator 101M aus 3). Ein derartiges beispielhaftes Totalisator-Modulklassenobjekt 52 kann eine oder mehrere Steuerungsroutine(n) einschließen und/oder definieren, die Prüfungen des Vorliegens der potenziell fehlenden Ausrüstungskomponente einschließen können und die somit korrekt ausgeführt werden können (z. B. ohne Fehlermeldungen für fehlende Einrichtungen), und zwar unabhängig davon, ob die in zulässiger Weise fehlende Ausrüstungskomponente tatsächlich vorliegt oder nicht. Eine derartige Steuerungsprozedur ist sowohl für den beispielhaften Totalisator 101 aus 2 als auch für den beispielhaften abgeänderten Totalisator 101M aus 3 geeignet. Dementsprechend kann ein derartiges flexibles Totalisator-Modulklassenobjekt 52 eine beliebige Variante aus einer Vielzahl von Varianten eines Totalisators wiedergeben und einschließen.
  • In den hier beschriebenen dargestellten Beispielen kann ein bestimmter physischer, abgeänderter Totalisator 101M eine Instanz eines Totalisator-Modulklassenobjekts 52 sein, und somit können Aktualisierungen des Modulklassenobjekts 52 (z. B. eine aktualisierte Steuerungsprozedur 19A) automatisch auf den abgeänderten Totalisator 101M angewandt werden. Falls das Totalisator-Modulklassenobjekt 52 nicht die Möglichkeit enthalten hätte, einen fehlenden Ausrüstungsteil absichtlich zu identifizieren, wäre ein separates Modulklassenobjekt 52 für den abgeänderten Totalisator 101M erforderlich gewesen. Ein derartiges separates Modulklassenobjekt 52 müsste separat gewartet und/oder aktualisiert werden, auch wenn die beiden Modulklassenobjekte 52 ähnliche Einrichtungen wiedergeben. Da der beispielhafte abgeänderte Totalisator 101M jedoch als Instanz des Totalisator-Modulklassenobjekts 52 erzeugt werden kann, können der beispielhafte Totalisator 101 und der abgeänderte Totalisator 101M über ein gemeinsames Totalisator-Modulklassenobjekt 52 konfiguriert und/oder gesteuert werden und daher eine gemeinsam genutzte und/oder eine gemeinsame Gruppe von Steuerungsroutinen verwenden.
  • Während das vorstehend beschriebene Beispiel fehlender Einrichtungen mit Bezug auf ein Totalisator-Modulklassenobjekt 52 beschrieben wurde, werden Fachleute auf diesem Gebiet leicht erkennen, dass Modulklassenobjekte 52, die die Möglichkeit aufweisen, absichtlich fehlende Einrichtungen und/oder Teile davon zu identifizieren, für einen beliebigen Umfang von Einrichtungen und/oder Einheiten in einer verfahrenstechnischen Anlage definiert und/oder erzeugt werden können. Beispielsweise könnte ein Reaktor-Modulklassenobjekt 52 definiert werden, das das Fehlen eines bestimmten Totalisators ermöglicht.
  • Eine verfahrenstechnische Anlage kann durch eine Hierarchie von Modulklassenobjekten mit Verbindungen wiedergegeben werden, die die Instanzbildungen von Modulobjekten aus bestimmten Modulklassenobjekten wiedergeben. Derartige hierarchische Darstellungen können auch die Implementierung von größeren Prozessentitäten aus einer Gruppe von zwei oder mehreren kleineren Prozessentitäten wiedergeben. 5 zeigt hierarchische Verbindungen zwischen den unterschiedlichen Typen von Modulklassenobjekten 52, die von der Konfigurationsanwendung 50 aus 1 verwendet werden. 5 zeigt auch die Verbindungen zwischen Modulklassenobjekten 52 und aus diesen Modulklassenobjekten 52 entwickelten Modulobjekten. Ausgehend vom Anfang von 5 sind Modulklassenobjekte 52 nach Modulklassentypen unterteilt in einen Einheiten-Modulklassentyp 400, einen Einrichtungs-Modulklassentyp 402, einen Steuerungs-Modulklassentyp 404 und einen Anzeige-Modulklassentyp 406. Selbstverständlich können auch andere Typen und/oder Klassen von Modulklassenobjekten 52 definiert, bereitgestellt und/oder verwendet werden, wobei die vier hier beschriebenen Typen lediglich Beispiele zur Veranschaulichung sind. Beispielsweise kann es beliebige Typen einer Vielzahl von zusätzlichen und/oder alternativen Modulklassenobjekten 52 geben, die verwendet werden, um eine verfahrenstechnische Anlage wiederzugeben. Beispielhafte individuelle Modulklassenobjekte (die beispielsweise Objekte höherer Ebene einer beispielsweise objektorientierten Programmiersprache sein können) sind in 5 im Interesse der Verdeutlichung mit doppeltem Umriss wiedergegeben und fallen unter jeden der unterschiedlichen Typen von Modulklassen 400, 402, 404 und 406.
  • Ein beispielhaftes Reaktoreinheit-Modulklassenobjekt 410 gibt einen bestimmten Typ und/oder eine bestimmte Konfiguration eines Reaktors in einer verfahrenstechnischen Anlage wieder (z. B. die beispielhaften Reaktoren der beispielhaften verfahrenstechnischen Anlage 10 aus 1). Entsprechend gibt ein beispielhaftes Verpackungseinheit-Modulklassenobjekt 412 einen bestimmten Typ und/oder eine bestimmte Konfiguration einer Verpackungseinheit in der verfahrenstechnischen Anlage 10 wieder, und ein beispielhaftes Trocknereinheit-Modulklassenobjekt 414 gibt einen bestimmten Typ und/oder eine bestimmte Konfiguration einer Trocknereinheit in der verfahrens technischen Anlage 10 wieder. Selbstverständlich kann es mehr als ein zusätzliches und/oder alternatives Reaktoreinheit-Modulklassenobjekt geben, das Reaktoren wiedergibt, die sich in der physischen Ausgestaltung voneinander unterscheiden. Ferner wird in 5 kein Versuch unternommen, alle unterschiedlichen Typen von Einheiten in einer verfahrenstechnischen Anlage darzustellen, die mit einem Einheiten-Modulklassenobjekt 401 wiedergegeben und/oder modelliert werden können. Fachleute auf diesem Gebiet werden erkennen, dass es viele unterschiedliche Typen von Einheiten in unterschiedlichen Typen von Anlagen gibt, die mit Einheiten-Modulklassenobjekten 401 modelliert und/oder wiedergegeben werden können.
  • Auf ähnliche Weise kann es viele unterschiedliche Einrichtungs-Modulklassenobjekte 402 geben, die verwendet werden, um beliebige Einrichtungen einer Vielzahl von Einrichtungen in der verfahrenstechnischen Anlage 10 wiederzugeben, zu modellieren und/oder zu konfigurieren. In 5 dargestellte Beispiele schließen ein Totalisatoreinrichtungs-Modulklassenobjekt 416 und ein Auslassventil-Einrichtungs-Modulklassenobjekt 418 ein. Auf die gleiche Weise kann es eine Vielzahl von Steuerungs-Modulklassenobjekten 422 geben sowie ein Pegelsensor-Modulklassenobjekt 424 und ein Strömungsmesser-Modulklassenobjekt 426. Ferner schließen in 5 dargestellte beispielhafte Anzeige-Modulklassenobjekte 406 ein Alarmanzeige-Modulklassenobjekt 432 ein sowie ein Ansichtanzeige-Modulklassenobjekt 434 und ein Diagnoseanzeige-Modulklassenobjekt 436. Selbstverständlich können beliebige andere gewünschte Einheiten-, Einrichtungs-, Steuerungs- und Anzeige-Modulklassenobjekte in der beispielhaften Konfigurationsanwendung 50 gemäß den hier beschriebenen Grundsätzen erzeugt und/oder verwendet werden.
  • Entsprechend der Darstellung in 5 kann jedes Modulklassenobjekt 52 damit zugeordnete und/oder ihm zugehörige Sub-Objekte aufweisen und/oder darauf verweisen. Derartige Sub-Objekte können ebenfalls Modulklassenobjekte 52 sein, und/oder sie können entsprechend der Darstellung in 5 Modulobjekte sein, die als Instanzen der Modulklassenobjekte erzeugt werden, zu denen sie gehören. Entsprechend der Darstellung in 5 hat das beispielhafte Reaktoreinheit-Modulklassenobjekt 410 beispielsweise drei (3) ihm zugeordnete Reaktormodulobjekte mit der Bezeichnung REACTOR_01, REACTOR_02 und REACTOR_03, wobei diese Reaktormodulobjekte den dazugehörigen beispielhaften Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 aus 1 entsprechen (d. h. daran gebunden sind). 5 stellt auch das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 dar, das fünf (5) unterschiedliche Modulobjekte mit der Bezeichnung WATER1, ACID1, ACID2, ALKALI1 und ALKALI2 aufweist und/oder besitzt. Entsprechend schließen die beispielhaften Ein-/Aus-Ventil-Steuerungs-Modulklassenobjekte 422 aus 5 Modulobjekte mit der Bezeichnung COARSE_VALVE1, COARSE_VALVE2, COARSE_VALVE3, FINE_VALVE1, FINE_VALVE2 und FINE_VALVE3 ein. Auf ähnliche Weise kann jedes der anderen Einheiten-, Einrichtungs-, Steuerungs- und Anzeige-Modulklassenobjekte aus 5 ein oder mehrere ihm zugeordnete Modulobjekt(e) haben. Im Interesse der Einfachheit sind diese Modulobjekte in 5 jedoch nicht dargestellt.
  • Bei dem in 5 wiedergegebenen Beispiel sind alle Einheitenmodulobjekte REACTOR_01, REACTOR_02 und REACTOR_03, alle Totalisator(einrichtungs)-Modulobjekte WATER1, ACID1, ACID2, ALKALI1 und ALKALI2, alle Steuerungsmodulobjekte COARSE_VALVE1, COARSE_VALVE2, COARSE_VALVE3, FINE_VALVE1, FINE_VALVE2 und FINE_VALVE3 und/oder die anderen Einheiten-, Einrichtungs-, Steuerungs- und Anzeigemodulobjekte individuelle Modulobjekte, die an tatsächliche Einheiten-, Einrichtungs-, Steuerungs- und/oder Anzeigeanwendungen in der verfahrenstechnischen Anlage 10 gebunden sind. Da in der Anlage 10 beispielsweise mehrere physische Säuretotalisatoren (ACID) verwendet werden, werden in der Konfigurationsroutine mehrere ACID-Totalisatormodulobjekte erzeugt, wobei für jeden der individuellen Säuretotalisatoren, der in der Anlage 10 vorliegt, ein separates ACID-Totalisatormodulobjekt existiert. Jedes der separaten Totalisatormodulobjekte, die in der Anlage 10 vorliegen, ist jedoch an das gleiche Totalisator-Modulklassenobjekt 416 gebunden und/oder diesem zugehörig. Selbstverständlich stellt das in 5 wiedergegebene Beispiel nur eine begrenzte Anzahl von Modulklassenobjekten und zugeordneten Modulobjekten dar, und Fachleute auf diesem Gebiet werden leicht erkennen, dass andere Typen von Modulklassenobjekten bereitgestellt werden können und/oder dass eine beliebige gewünschte Anzahl von Modulobjekten aus jedem der unterschiedlichen Modulklassenobjekte erzeugt werden kann.
  • Jedes der Modulklassenobjekte aus 5 (und damit jedes der Modulobjekte aus 5) kann als Teil des Objekts eine Definition und/oder Angabe der physischen und/oder logischen Prozesselemente einschließen, die das Modul definieren und/oder bilden, sowie bei Bedarf der Art, auf die diese Prozesselemente entweder physisch und/oder logisch untereinander interagieren, um Vorgänge in der verfahrenstechnischen Anlage 10 auszuführen. Beispielsweise schließen Einheiten-Modulklassenobjekte 401 normalerweise eine Angabe aller physischen und Steuerungselemente ein, die enthalten sind und/oder die die als Einheit definierte Prozessentität bilden. Das Einheiten-Modulklassenobjekt 401 kann auch die besondere Zusammenstellung der individuellen Teile definieren und/oder, wie diese Teile physisch verbunden sind, um als Einheit zu wirken. Entsprechend schließt ein Einrichtungs-Modulklassenobjekt 402 normalerweise die Steuerungsroutinen und/oder Steuermodule ein, die zur Steuerung der Entität verwendet werden sollen, die als Ausrüstungskomponente definiert ist, und/oder Befehle, die die Steuerungsroutinen und/oder Steuermodule verwenden, um die Art zu definieren, in der die Teile entweder physisch oder logisch interagieren, um bei Anordnung in der Anlage 10 als Ausrüstungskomponente zu wirken. Auf ähnliche Weise definiert jedes Steuerungs-Modulklassenobjekt 404 einen Steuerungsvorgang – normalerweise in Form eines Steuerungsalgorithmus bestimmter Art – der in der Anlage ausgeführt werden soll. Ferner kann jedes Anzeige-Modulklassenobjekt 406 unter anderem eine Konfiguration eines Anzeigebildschirms und/oder die anzuzeigenden Informationen definieren sowie die zu erfassenden Daten und/oder die gegebenenfalls an erfassten Daten vorzunehmenden Datenbearbeitungen für vorgegebene Typen von Einheiten, Einrichtungen, Anlagenbereichen oder beliebigen anderen physischen oder logischen Entitäten in der Anlage 10.
  • Als Teil einer Modulklassendefinition kann ein Modulklassenobjekt 52 andere Modulklassenobjekte 52 angeben und/oder definieren, die darin integriert und/oder verwendet werden sollen. Wenn dies erfolgt, integrieren und/oder beinhalten die aus derartigen Modulklassenobjekten 52 erzeugten Modulobjekte andere, aus anderen Modulklassenobjekten 52 gemäß den auf Modulklassenebene definierten Beziehungen erzeugte Modulobjekte und/oder verweisen darauf. Obwohl dies nicht zwingend erforderlich ist, können Einheiten-Modulklassenobjekte 401 andere Einheiten-Modulklassenobjekte 402 [sic] integrieren sowie Einrichtungs-Modulklassenobjekte 402, Steuerungs-Modulklassenobjekte 403 und/oder Anzeige-Modulklassenobjekte 404, während Einrichtungs-Modulklassenobjekte 402 andere Einrichtungs-Modulklassenobjekte 402 integrieren können sowie Steuerungs-Modulklassenobjekte 403 und/oder Anzeige-Modulklassenobjekte 404. Steuerungs-Modulklassenobjekte 403 können andere Steuerungs-Modulklassenobjekte 403 sowie Anzeige-Modulklassenobjekte 404 integrieren und/oder darauf verweisen. Bei Bedarf können jedoch auch andere Modulklassenobjekt-Beziehungen verwendet werden. Beispielhafte Integrationsbeziehungen sind unten in 5 mit großen Pfeilen wiedergegeben und zeigen, dass beliebige Anzeige-Modulklassenobjekte 404 von beliebigen Steuerungs-, Einrichtungs- und Einheiten-Modulklassenobjekten 401, 402, 403 integriert oder als Verweis verwendet werden können, und sie zeigen, dass beliebige Steuerungs-Modulklassenobjekte 403 von beliebigen Einrichtungs- und Einheiten-Modulklassenobjekten 401, 402 integriert oder als Verweis verwendet werden können und dass beliebige Einrichtungs-Modulklassenobjekte 402 von beliebigen Einheiten-Modulklassenobjekten 401 übernommen oder als Verweis verwendet werden können. Es ist ersichtlich, dass Modulklassenobjekte andere Modulklassenobjekte gleichen Typs integrieren können. Ein Einheiten-Modulklassenobjekt 401 kann beispielsweise als Teil seiner Definition ein anderes Einheiten-Modulklassenobjekt 401 integrieren. Auf ähnliche Weise kann ein Einrichtungs-Modulklassenobjekt 402 ein anderes Einrichtungs-Modulklassenobjekt 402 einschließen; ein Steuerungs-Modulklassenobjekt 403 kann ein anderes Steuerungs-Modulklassenobjekt 403 einschließen; und ein Anzeige-Modulklassenobjekt 404 kann ein anderes Anzeige-Modulklassenobjekt 404 einschließen. Bei Bedarf kann ein Modulklassenobjekt 52 selbstverständlich andere Modulklassenobjekte 52 mehrmals verwenden oder integrieren. Beispielsweise kann ein Reaktoreinheiten-Modulklassenobjekt 410 das Totalisatoreinrichtungs-Modulklassenobjekt 416 vielfach integrieren und/oder verwenden, da die durch das Reaktoreinheiten-Modulklassenobjekt 410 modellierten Reaktoren mehrere Instanzen von Totalisatoren aufweisen.
  • Es ist ebenso ersichtlich, dass, wenn ein erstes Modulklassenobjekt 52 ein zweites Modulklassenobjekt 52 integriert und/oder verwendet, ein beliebiges aus einer oder als eine Instanz des ersten Modulklassenobjekts erzeugtes Modulobjekt ein Modulobjekt integriert und/oder verwendet, das aus einer Instanz oder als Instanz des zweiten Modulklassenobjekts 52 erzeugt wurde. Wenn ein Totalisatoreinrichtungs-Modulklassenobjekt 416 somit ein Auslassventil-Einrichtungs-Modulklassenobjekt 418 integriert und/oder einschließt, schließt ein aus dem Totalisatoreinrichtungs-Modulklassenobjekt 416 erzeugtes Totalisatormodulobjekt, das beispielsweise eindeutig als TOTALIZER_1 bezeichnet ist, ein aus dem Auslassventil-Einrichtungs-Modulklassenobjekt 418 erzeugtes Modulobjekt ein, das beispielsweise eindeutig als OUTLET_VALVE_2 bezeichnet ist. Auf diese Weise werden die Beziehungen zwischen den Modulklassenobjekten 52 entsprechend der Definition auf Ebene der Modulklassenobjekte in den aus diesen Modulklassenobjekten 52 entwickelten und/erzeugten Modulobjekten reflektiert. Diese Verbindung und/oder Referenz zwischen Modulklassenobjekten 52 (und daher Modulobjekten) ermöglicht eine große Variabilität und/oder eine große Übertragbarkeit von Objekten während der Konfigurationsvorgänge, sodass, nachdem eine Gruppe primitiver Modulklassenobjekte 52 wie die Steuerungs- und Einrichtungs-Modulklassenobjekte 402, 403 erzeugt worden ist, komplexere Modulklassenobjekte 52, wie z. B. Einheiten-Modulklassenobjekte 401, leicht über die Bezugnahme auf die primitiven Modulklassenobjekte 402, 403 erzeugt werden können. Während die Modulklassenobjekte 52 auf andere Modulklassenobjekte verweisen und/oder sie verwenden können, können sie selbstverständlich auch und/oder stattdessen einfache Objekte und/oder Prozessentitäten definieren und/oder verwenden, wie z. B. Ventile, Sensoren usw., die kein zugeordnetes Modulklassenobjekt 52 haben. Diese einfachen Objekte können vollständig anhand der im Modulklassenobjekt 52 selbst verwendeten Steuerungsroutinen definiert werden.
  • Entsprechend der vorstehenden Beschreibung gibt ein Modulklassenobjekt generell die Entitäten wieder und/oder definiert sie, aus denen das Modulklassenobjekt gebildet und/oder zusammengesetzt ist. Dadurch definiert das Modulklassenobjekt, wenn ein Modulobjekt als Instanz aus einem Modulklassenobjekt erzeugt wird, die Beziehungen unter den tatsächlichen Komponenten der Prozessausrüstung, die die als Instanz erzeugte Prozessentität bilden. 6 stellt ein beispielhaftes Reaktoreinheiten-Modulklassenobjekt 410 dar, das verwendet werden kann, um die Entitäten zu beschreiben und/oder zu definieren, die einem Einheiten-Modulklassenobjekt zugeordnet sind und/oder die darin vorliegen. Das beispielhafte Reaktoreinheiten-Modulklassenobjekt 410 aus 4 schließt eine Angabe eines Tanks 500 ein, der ein einfaches Objekt und/oder Element in der verfahrenstechnischen Anlage 10 ist und für den kein Modulklassenobjekt vorhanden ist. Der beispielhafte Tank 500 ist in 6 mit gepunkteten Linien wiedergegeben, da keine Steuerungsvorgänge und/oder Vorgänge niederer Ebene erforderlich sind, um Eingangs- /Ausgangsvorgänge bezüglich des Tanks 500 zu steuern und/oder auszuführen. Demzufolge ist der Tank 500 lediglich berücksichtigt, um die Verbindungen zwischen den anderen Objekten zu veranschaulichen, die dem Reaktoreinheiten-Modulklassenobjekt 410 aus 6 zugeordnet sind.
  • Das beispielhafte Reaktoreinheiten-Modulklassenobjekt 410 aus 6 weist auch drei (3) Totalisatoren 501, 502 und 510 mit den Bezeichnungen ACID, ALKALI bzw. WATER auf, die drei (3) unterschiedliche Verweise auf das in 5 wiedergegebene Totalisatoreinrichtungs-Modulklassenobjekt 416 sind. Das beispielhafte Totalisator-Modulklassenobjekt WATER 510 aus 6 ist in einem Bereich des Einheiten-Modulklassenobjekts 410 wiedergegeben, der durch gepunktete Linien abgetrennt ist, um anzugeben, dass dies ein gemeinsam genutztes Modulklassenobjekt ist und dass somit das Einheiten-Modulklassenobjekt 410 eine mit anderen Einheiten-Modulklassenobjekten gemeinsam ausgeübte Steuerung über dieses Objekt hat.
  • Das beispielhafte Auslassobjekt 504 aus 6 ist ein Verweis auf das Auslassventil-Einrichtungs-Modulklassenobjekt 418 aus 5. Entsprechend ist der beispielhafte Sensor LEVEL 505 ein Verweis auf das Pegelsensor-Steuerungs-Modulklassenobjekt 424 aus 5, und das beispielhafte Ventil WATER_IN 503 ist ein Verweis auf ein Ventilobjekt, das ein einfaches Ventilelement sein kann (und damit vollständig im Einheiten-Modulklassenobjekt 410 definiert ist) und/oder das ein Verweis auf ein Ventil-Steuerungs-Modulklassenobjekt 52 sein kann, das an anderer Stelle in der Konfigurationsstrategie definiert ist. Die physischen Verbindungen zwischen den unterschiedlichen Entitäten und/oder Teilen des Reaktoreinheiten-Modulklassenobjekts 410 sind zum Zweck der Definition der Verbindungen zwischen diesen unterschiedlichen Elementen auch in 6 wiedergegeben. Wie vorstehend erwähnt wurde, können das Einheiten-Modulklassenobjekt 410 und/oder andere Modulklassenobjekte beliebigen Typs einfache Elemente aufweisen, die vollständig im Modulklassenobjekt definiert sind (einschließlich von möglicherweise damit zugeordneten allgemeinen Steuerungsroutinen), und/oder sie können Verweise auf in Bezug auf das Modulklassenobjekt externe Modulklassenobjekte aufweisen.
  • Das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 schließt auch zwei beispielhafte Anzeige-Modulklassenobjekte 404 ein, die als Reaktoransichtanzeige 520 und Reaktoralarmanzeige 522 bezeichnet werden und die Verweise auf das Ansichtanzeige-Modulklassenobjekt 434 bzw. das Alarmanzeige-Modulklassenobjekt 432 aus 5 sind. Diese Anzeigeobjekte 520, 522 definieren allgemeine Anzeigevorgänge zur Zustandsanzeige (z. B. zur Anzeige des Füllstands des Tanks) und für Alarme in Zusammenhang mit beliebigen Einrichtungen und/oder Teilen der im Reaktoreinheiten-Modulklassenobjekt 410 definierten Reaktoreinheit.
  • Auf ähnliche Weise weist das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 andere Elemente wie z. B. Phasenklassenobjekte auf, die im Feld 524 als Phasenklassenobjekte DOSE, MIX, DRAIN und FLUSH dargestellt sind, wobei jedes dieser Objekte eine allgemeine Steuerungsroutine definiert, die an der durch das Einheiten-Modulklassenobjekt 410 definierten Einheit ausgeführt werden soll. Einheiten-Modulklassenobjekte 401 können null oder mehr Zuordnungen zu Phasenklassenobjekten aufweisen. Die Phasenklassenobjekte 524 können an anderer Stelle definiert sein und/oder auf beliebige gewünschte Art in das Einheiten-Modulklassenobjekt 410 importiert werden. Die Phasenklassen 524 sind Befehle und/oder Routinen, die an einer durch das Einheiten-Modulklassenobjekt 410 definierten Einheit ausgeführt werden können, um unterschiedliche Funktionen auszuführen, wie z. B. das Befüllen der Einheit, das Aufheizen der Einheit, das Entleeren der Einheit, die Reinigung der Einheit usw.
  • Das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 weist einen Speicher und/oder einen Bereich 526 auf, der Verweise auf die durch die Konfigurationsanwendung 50 (1) aus dem Einheiten-Modulobjekt [sic] 410 erzeugten Modulklassenobjekte [sic] speichert. Der Bereich 526 ist im Wesentlichen eine Liste der Modulobjekte, die vom Einheiten-Modulklassenobjekt 410 erzeugt wurden und/oder die ihm zugehörig sind. Selbstverständlich können diese Liste und/oder andere Angaben der zugehörigen Modulobjekte in der Workstation und/oder durch die Konfigurationsanwendung 50 auf beliebige gewünschte Weise gespeichert werden, und sie müssen im Einheiten-Modulklassenobjekt 410 nicht physisch enthalten sein. In jedem Fall besitzt bei dem in 6 wiedergegebenen Beispiel das Einheiten-Modulklassenobjekt 410 Modulobjekte REACTOR_01, REACTOR_1, REACTOR_02 usw., die jeweils aus dem beispielhaften Reaktoreinheiten-Modulklassenobjekt 410 aus 6 erzeugt worden sind.
  • Das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 schließt auch eine Gruppe von Methoden 530 auf, die entweder während der und/oder nach den Konfigurationsvorgänge(n) vorn Einheiten-Modulklassenobjekt 410 ausgeführt werden können. Die beispielhaften Methoden 530 aus 6 können eine Änderungsmanagement-Methode und/oder -Anwendung einschließen, die am Einheiten-Modulklassenobjekt 410 vorgenommene Änderungen automatisch in alle dem Einheiten-Modulklassenobjekt 410 zugehörigen Modulobjekte 526 überträgt. Andere Methoden können Sicherheitssteuerungsmethoden einschließen, die eine Sicherheits- und/oder Zugriffssteuerung mit Bezug auf das Einheiten-Modulklassenobjekt 410 und/oder mit Bezug auf beliebige ihm zugehörige Einheitenmodulobjekte 526 ausführt, und/oder Methoden, die es einem Benutzer und/oder einem Konfigurationstechniker ermöglichen, Änderungsparameter und/oder Sicherheitsparameter für das Modulklassenobjekt und/oder für beliebige daraus erzeugte Modulobjekte anzugeben. Selbstverständlich können unterschiedliche Methoden 530 beliebige andere Prozeduren an dem oder mit Bezug auf das Einheiten-Modulklassenobjekt 410 ausführen.
  • Bei Bedarf kann das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 die Art steuern, auf die am Modulklassenobjekt 410 vorgenommene Änderungen auf die Einheitenmodulobjekte 526 übertragen werden, sowie die Art, auf die der Sicherheitszugriff in den Einheitenmodulobjekten 526 eingerichtet wird. Ein Weg der Bereitstellung dieser Funktionalität ist die Einrichtung von einem oder mehreren Flag(s) und oder Parameter(n) im Einheiten-Modulklassenobjekt 410, um die Art anzugeben, auf die diese Änderungen verbreitet werden sollen und/oder auf die die Sicherheit in den Einheitenmodulobjekten 526 behandelt werden soll. Insbesondere können ein oder mehrere Verbreitungsparameter eingerichtet werden, um anzugeben, ob am Einheiten-Modulklassenobjekt 410 erfolgte Änderungen automatisch zu dem einen oder den mehreren [Modulobjekten] der Modulklasse 526 übertragen werden sollen oder nicht. Diese Änderungsverbreitungsparameter können in den Einheitenmodulobjekten 526 gespeichert werden, und/oder sie können für das gesamte Einheiten-Modulklassenobjekt 410 oder auf Sub-Element-Basis vorgeben, ob am Einheiten-Modulklassenobjekt 410 vorgenommene Änderungen in den zugeordneten Einheitenmodulobjekten reflektiert werden sollen. Beispielsweise schließt das Einheiten-Modulklassenobjekt 410 aus 6 einen Parameter 534 für globale Änderungen ein (als „C" gekennzeichnet), der in jedem aus dem Einheiten-Modulklassenobjekt 410 erzeugten Einheitenmodulobjekt eingerichtet werden kann, um die automatische Übertragung von am Einheiten-Modulklassenobjekt 410 vorgenommenen Änderungen in das Einheitenmodulobjekt zu aktivieren oder zu deaktivieren. Entsprechend kann jedes Sub-Element und/oder jeder Block, wie z. B. die Blöcke 501, 505, 510, 520 und 522, einen Änderungsparameter 536 aufweisen, der nur für den betreffenden Block angibt, ob an dem betreffenden Block im Einheiten-Modulklassenobjekt 410 vorgenommene Änderungen im Einheitenmodulobjekt reflektiert werden sollen. Selbstverständlich können die unterschiedlichen Blöcke eines Einheitenmodulobjekts unterschiedlich eingerichtet werden, sodass beispielsweise am Block ACID 501 des Einheiten-Modulklassenobjekts 410 vorgenommene Änderungen zum entsprechenden Block ACID eines bestimmten Modulobjekts der Modulobjekte 526 übertragen werden, wobei aber am Block ALKALI 502 des Einheiten-Modulklassenobjekts 410 vorgenommene Änderungen nicht zum Block ALKALI des bestimmten Modulobjekts der Modulobjekte übertragen werden. Ferner können die unterschiedlichen aus einem Einheiten-Modulklassenobjekt erzeugten Einheitenmodulobjekte untereinander unterschiedlich eingerichtete Änderungsparameter haben, sodass Änderungen am Block ALKALI 502 im Einheiten-Modulklassenobjekt 410 zum entsprechenden Block ALKALI eines ersten Modulobjekts der Einheitenmodulobjekte 526, aber nicht zum entsprechenden Block ALKALI eines zweiten Modulobjekts der Einheitenmodulobjekte 526 übertragen werden. Die Änderungsmanagement-Methode des Einheiten-Modulklassenobjekts 410 kann selbstverständlich die Änderungsparameter der Einheitenmodulobjekte 526 abrufen und/oder verwenden, um eine Änderung in den betreffenden Objekten vorzunehmen oder nicht, wenn die Änderung im Einheiten-Modulklassenobjekt 410 erfolgt.
  • Auf ähnliche Weise kann das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 einen oder mehrere Sicherheitsparameter aufweisen, die die Art angeben, auf die die Sicherheit und/oder der Zugriff in jedem der Einheitenmodulobjekte 526 gesteuert werden. Das Einheiten-Modulklassenobjekt 410 kann einen globalen Sicherheitsparameter 538 (als „S" gekennzeichnet) aufweisen, der eine beliebige gewünschte Sicherheitsstufe für das gesamte aus dem Reaktoreinheiten-Modulklassenobjekt 410 erzeugte Reaktoreinheit-Modulobjekt bereitstellt, und/oder es kann einen unterschiedlichen Sicherheitsparameter 540 für jedes Sub-Element des Einheiten-Modulklassenobjekts 410 einschließen, wie z. B. für jeden der Blöcke 501, 505, 510, 520, 522 usw., der auf blockweiser Basis eine Sicherheitsstufe für jeden dieser Blöcke bereitstellt. Der globale Sicherheitsparameter 538 kann ein Sperrparameter sein, der das Einheiten-Modulklassenobjekt für alle Benutzer sperrt, mit Ausnahme der Benutzer, die eine vorweg autorisierte Sicherheitszugangsstufe haben. Selbstverständlich können die Sicherheitsparameter 538 und 540 eine beliebige Stufe aus einer Anzahl unterschiedlicher Sicherheitsstufen angeben, wie z. B. „kein Zugriff", „beschränkter Zugriff", „Zugriff auf bestimmte Typen" oder Benutzeridentitäten usw., und die Sicherheitsstufen können so eingerichtet werden, dass sie in den unterschiedlichen Blöcken und in den unterschiedlichen aus dem gleichen Einheiten-Modulklassenobjekt erzeugten Einheitenmodulobjekten unterschiedlich sind. Bei Bedarf kann ein Teil der Sicherheitsmaßnahmen die Bereitstellung einer Verschlüsselung bei einem oder mehreren Verfahren oder Algorithmen in Zusammenhang mit dem Einheiten-Modulklassenobjekt einschließen.
  • Es ist ersichtlich, dass die Änderungs- und/oder Sicherheitsparameter 534, 538 usw. des Einheiten-Modulklassenobjekts 410 auf einen vorgegebenen Standardwert eingestellt sein können und dass die entsprechenden Änderungs- und Sicherheitsparameter von jedem der aus dem Einheiten-Modulklassenobjekt 410 erzeugten Einheitenmodulobjekt 526 diesen Vorgabewert bei der Erzeugung übernehmen können. Der Vorgabewert und/oder die Sicherheitsparameter 534, 538 usw. können jedoch auch in den Einheitenmodulobjekten 526 individuell geändert werden (durch einen Benutzer mit ausreichendem Sicherheitszugriff), nachdem diese Einheitenmodulobjekte erzeugt worden sind. Während die Änderungs- und Sicherheitsparameter 534, 538 usw. hier mit Bezug auf ein Reaktoreinheiten-Modulklassenobjekt beschrieben sind, können ähnliche Änderungs- und Sicherheitsparameter in anderen Typen von Einheiten-Modulklassenobjekten bereitgestellt sein sowie in beliebigen gewünschten Typen von Einrichtungs-Modulklassenobjekten, Steuerungs-Modulklassenobjekten, Anzeige-Modulklassenobjekten usw.
  • Bei Bedarf kann das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 Verweise einschließen, wie z. B. URL-Adressen oder andere Verweise auf Dokumen tationen, die für das Einheiten-Modulklassenobjekt 410 gespeichert sind und/oder ihm zugeordnet sind, einschließlich von Dokumentationen in Zusammenhang mit der Einheit oder beliebigen Sub-Elementen der Einheit in Zusammenhang mit dem Einheiten-Modulklassenobjekt 410. Derartige Verweise sind in 6 als Referenzen 549 wiedergegeben.
  • Das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 schließt eine globale IGNORE-Eigenschaft 542 ein (in 6 als „I" gekennzeichnet), die angibt, ob eine Instanz eines gesamten aus dem beispielhaften Reaktoreinheiten-Modulklassenobjekt 410 erzeugten Reaktoreinheit-Modulobjekts als absichtlich fehlend identifiziert werden kann und daher ignoriert werden soll. Entsprechend schließt jedes Sub-Element des Einheiten-Modulklassenobjekts 410, wie z. B. jeder der Blöcke 501, 505, 510, 520, 522 usw., eine IGNORE-Eigenschaft 544 ein, die angibt, ob eine aus dem Sub-Element erzeugte Instanz als fehlend konfiguriert werden kann. Fachleute auf diesem Gebiet werden leicht erkennen, dass das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 zusätzlich oder alternativ dazu einfache Objekte und/oder Prozessentitäten definieren und/oder verwenden könnte, wie z. B. Ventile, Sensoren usw., die kein zugeordnetes Modulklassenobjekt 52 haben. Derartige einfache Objekte können ebenfalls eine zugeordnete IGNORE-Eigenschaft 544 haben.
  • In den hier beschriebenen Methoden können die beispielhaften IGNORE-Eigenschaften 542, 544 aus 6 als Flags mit booleschen Werten implementiert sein, die einen Namen PERMIT_INSTANCES_2B_IGNORED und einen Wert TRUE oder FALSE haben (z. B. eine logische „1" oder „0"). Die IGNORE-Eigenschaft 542, 544 eines Modulklassenobjekts, aus dem eine bestimmte Instanz eines Modulobjekts, Sub-Objekts und/oder einfachen Objekts erzeugt wird, wird verwendet, um zu bestimmen, ob ein Konfigurationstechniker die Möglichkeit und/oder Freigabe hat, um anzugeben und/oder zu konfigurieren, ob die bestimmte Instanz physisch fehlt oder nicht. Wenn die IGNORE-Eigenschaft 542, 544 eines Modulklassenobjekts für eine Instanz eines bestimmten Modulobjekt, Sub-Objekts und/oder einfachen Objekts beispielsweise einen Wert TRUE („wahr") hat, kann das entsprechende Modulobjekt, Sub-Objekt und/oder einfache Objekt nach Maßgabe des Konfigurationstechnikers als fehlend konfiguriert werden. Es ist ersichtlich, dass die beispielhaften IGNORE-Eigenschaften 542, 544 des beispielhaften Einheiten-Modulklassenobjekts 410 aus 6 einen Standardwert haben können (z. B. FALSE/"falsch").
  • Allgemein nimmt die IGNORE-Eigenschaft 544 eines bestimmten Sub-Objekts 501, 502, 503, 504, 505, 510 den Wert des zugeordneten Modulklassenobjekts an. Wenn beispielsweise das beispielhafte Einheiten-Modulklassenobjekt 410 aus 6 erzeugt und/oder definiert wird, um ein Totalisatormodulobjekt ACID 501 einzuschließen, wird die IGNORE-Eigenschaft 544 von ACID 501 auf der Grundlage der IGNORE-Eigenschaft 542 des Totalisatormodulobjekts 416 vorgegeben. Regeln und/oder Schemata beliebiger Art können jedoch verwendet werden, um anfängliche IGNORE-Eigenschaften 544 vorzugeben, d. h. um sie z. B. gleich der IGNORE-Eigenschaft 542 des Einheiten-Modulklassenobjekts zu setzen, das auf das Modulklassenobjekt verweist. Schnittstellen beliebiger Art können ebenfalls verwendet werden, um die individuellen IGNORE-Eigenschaften 542, 544 vorzugeben. Im Folgenden wird in Verbindung mit 9 beispielsweise eine Schnittstelle für die Einrichtung der IGNORE-Eigenschaft 544 für ein Ventil FINE_VALVE eines Totalisatoreinrichtungs-Modulklassenobjekts (z. B. des beispielhaften Modulklassenobjekts 416 aus 7) beschrieben.
  • Wenn eine Instanz eines Modulobjekts, Sub-Objekts und/oder simplen Objekts durch einen Konfigurationstechniker als fehlend angegeben und/oder konfiguriert wird (nach Freigabe durch eine IGNORE-Eigenschaft eines zugeordneten Modulklassenobjekts), wird ein Parameter des als Instanz erzeugten Modulobjekts, Sub-Objekts und/oder einfachen Objekts (nicht dargestellt) eingerichtet, um anzugeben, dass das Modulobjekt, Sub-Objekt und/oder einfache Objekt fehlt. Ein Beispielparameter ist ein Flag mit booleschem Wert, das einen Namen_IGNORE und einen Wert TRUE oder FALSE hat (z. B. eine logische „1" oder „0"). Bei den hier beschriebenen und dargestellten Beispielen hat der Parameter einen Vorgabewert FALSE („falsch"), der angibt, dass das Modulobjekt, Sub-Objekt und/oder einfache Objekt fehlt. Alternativ dazu wird standardmäßig der Parameter undefiniert gelassen und somit angenommen, dass er einen Wert FALSE hat. Eine beispielhafte Schnittstelle für die Angabe und/oder Konfiguration, dass eine Instanz eines Modulobjekts, Sub-Objekts und/oder einfachen Objekts [fehlt], wird im Folgenden in Verbindung mit 10 beschrieben.
  • 7 stellt ein beispielhaftes Totalisatoreinrichtungs-Modulklassenobjekt 416 dar, das verwendet werden kann, um die Entitäten zu beschreiben und/oder zu definieren, die einem Einrichtungs-Modulklassenobjekt zugeordnet sind und/oder darin vorliegen. Das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 stellt ein Modulklassenobjekt dar, das beliebige oder alle der beispielhaften Totalisatoren 101, 102, 110, 110M aus 2 und 3 wiedergeben kann. Fachleute auf diesem Gebiet werden leicht erkennen, dass die Struktur und/oder Art der Wiedergabe in dem in 7 dargestellten Beispiel inhaltlich und/oder strukturell dem in 6 wiedergegebenen Beispiel ähnlich ist und sich davon prinzipiell bezüglich des Umfangs unterscheidet. In Anbetracht dessen werden Fachleute auf diesem Gebiet leicht das in 7 wiedergegebene Beispiel anhand der vorstehend wiedergegebenen Beschreibung von 6 zu würdigen wissen.
  • Detaillierter betrachtet, weist das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 Steuerungs-Modulklassenobjekte mit den Bezeichnungen COARSE_VALVE 550 und FINE_VALVE 552 auf, sowie ein Steuerungs-Modulklassenobjekt mit der Bezeichnung FLOW_METER 554 (das ein Strömungsmesser-Steuerungs-Modulklassenobjekt ist) und eine Darstellung der Verbindungen zwischen diesen Elementen. Die beispielhaften Objekte COARSE_VALVE 550 und FINE_VALVE 552 aus 7 stellen Steuerungs-Modulklassenobjekte des Ein-/Aus-Typs dar. Das beispielhafte Objekt FLOW_METER 554 aus 7 stellt ein Strömungsmesser-Steuerungs-Modulklassenobjekt dar.
  • Ferner weist das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 beispielhafte Verweise auf Anzeige-Modulklassenobjekte auf, einschließlich eines Totalisatoralarm-Anzeige-Modulklassenobjekts 560, sowie auf einen oder mehrere Algorithmen 564, die am beispielhaften Einrichtungs-Modulklassenobjekt 416 implementiert sein können. Während die beispielhaften Algorithmen 564 aus 7 so wiedergegeben sind, dass sie einen beispielhaften Befehl TOTALIZE_FAST und einen beispielhaften Befehl TOTALIZE_ACCURATE einschließen, können beliebige andere Befehle und/oder Algorithmen ebenfalls eingeschlossen sein und/oder verwendet werden. Die beispielhaften Befehlsalgorithmen 564 aus 7, die dem beispielhaften Einrichtungs-Modulklassenobjekt 564 aus 7 zugeordnet und/oder darin eingeschlossen sind, können eine beliebige gewünschte Form annehmen, wie z. B. die Form von befehlsgesteuerten Algorithmen (CDA-Algorithmen), statusgesteuerten Algorithmen (SDR-Algorithmen), Ablaufsprachealgorithmen (SFD-Algorithmen), Funktionsblockdiagramm-Algorithmen (FBD-Algorithmen), Phasenalgorithmen usw. Allgemein ausgedrückt haben alle beispielhaften Algorithmen 564 jedoch einen bestimmten Typ, wie z. B. CDA oder SDA. Selbstverständlich können die Algorithmen 564 in einer beliebigen gewünschten Sprache und/oder Programmierumgebung geschrieben sein, wie z. B. in den C- oder C++-Programmierumgebungen, einer beliebigen Ablaufsprache-Programmierumgebung, einer Funktionsblock-Programmierumgebung usw.
  • Das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 weist ferner ein beliebiges Element aus einer Vielzahl von Listen und/oder Speichern auf, die Angaben einer Gruppe zugehöriger Einrichtungsmodulobjekte 566 mit den Bezeichnungen ACID1, ACID2, ALKALI1, ALKALI2, WATER_HDR1 usw. (und, falls notwendig, diesbezügliche Kommunikationspfade) speichern, die aus dem beispielhaften Einrichtungs-Modulklassenobjekt 416 erzeugt wurden. Das Totalisatoreinrichtungs-Modulklassenobjekt 416 weist entsprechend eine Gruppe von Methoden 570 auf, die eine Änderungsmanagement-Methode einschließt, die in Verbindung mit dem globalen Änderungsparameter 572 und/oder den objektbasierten Änderungsparametern 574 verwendet werden kann, um die Übertragung von Änderungen zu den Einrichtungsmodulobjekten 566 zu steuern. Das Totalisatoreinrichtungs-Modulklassenobjekt 416 schließt auch einen globalen Sicherheitsparameter 580 ein sowie objektbasierte Sicherheitsparameter 582. Die Änderungs- und Sicherheitsparameter 572, 574, 580 und 582 arbeiten im Wesentlichen entsprechend der vorstehenden Beschreibung in Verbindung mit den beispielhaften Änderungs- und Sicherheitsparametern des Einheiten-Modulklassenobjekts 410 aus 6, und sie können auf beliebige Elemente des Einrichtungs-Modulklassenobjekts 416 angewandt werden, einschließlich der Befehle 564. Im Interesse der Kürze werden interessierte Leser für zusätzliche Details auf die Beschreibung der vorstehend in Verbindung mit 6 besprochenen Änderungs- und/oder Sicherheitsparameter verwiesen.
  • Ähnlich dem in 6 wiedergegebenen Beispiel schließt das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 eine globale IGNORE-Eigenschaft 584 ein (in 7 als „I" gekennzeichnet), die angibt, ob eine aus dem beispielhaf ten Totalisatoreinrichtungs-Modulklassenobjekt 416 erzeugte Instanz eines Totalisatormodulobjekts als absichtlich fehlend identifiziert werden kann und daher ignoriert werden soll. Entsprechend schließt jedes Sub-Element des Einheiten-Modulklassenobjekts [sic] 416, wie z. B. jeder der Blöcke 550, 552, 560, eine IGNORE-Eigenschaft 586 ein, die angibt, ob eine aus dem Sub-Element erzeugte Instanz als fehlend konfiguriert werden kann. Fachleute auf diesem Gebiet werden leicht erkennen, dass das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 zusätzlich oder alternativ dazu einfache Objekte und/oder Prozessentitäten definieren und/oder verwenden könnte, wie z. B. Ventile, Sensoren usw., die kein zugeordnetes Modulklassenobjekt 52 haben. Derartige einfache Objekte können ebenfalls eine zugeordnete IGNORE-Eigenschaft 586 haben. Die Verwendung, Einrichtung und/oder Anwendung der IGNORE-Eigenschaften 584, 586 ähnelt im Wesentlichen den vorstehend in Verbindung mit 6 beschriebenen Vorgängen, und daher werden interessierte Leser für zusätzliche Details bezüglich der IGNORE-Eigenschaften 584, 586 auf die Beschreibung von 6 verwiesen. Eine Beispielschnittstelle zur Einrichtung der IGNORE-Eigenschaft 586 für das Ventil FINE_VALVE 552 des beispielhaften Totalisatoreinrichtungs-Modulklassenobjekts 416 wird im Folgenden in Verbindung mit 9 beschrieben.
  • Wenn eine Instanz eines Einrichtungs-Modulklassenobjekts, Sub-Objekts und/oder einfachen Objekts von einem Konfigurationstechniker als fehlend angegeben und/oder konfiguriert wird (nach Freigabe durch eine IGNORE-Eigenschaft eines zugeordneten Einrichtungs-Modulklassenobjekts), wird ein Parameter des als Instanz erzeugten Einrichtungsmodulobjekts, Sub-Objekts und/oder einfachen Objekts (nicht dargestellt) eingerichtet, um anzugeben, dass das Einrichtungsmodulobjekt, Sub-Objekt und/oder einfache Objekt (nicht dargestellt) fehlt. Ein Beispielparameter ist ein Flag mit booleschem Wert, das einen Namen_IGNORE und einen Wert TRUE oder FALSE hat (z. B. eine logische „1" oder „0"). Bei den hier beschriebenen und dargestellten Beispielen hat der Parameter einen Vorgabewert FALSE („falsch"), der angibt, dass das Modulobjekt, Sub-Objekt und/oder einfache Objekt vorliegt. Alternativ dazu wird standardmäßig der Parameter undefiniert gelassen und somit angenommen, dass er einen Wert FALSE hat. Eine beispielhafte Schnittstelle für die Angabe und/oder Konfiguration, dass eine Instanz eines Modulobjekts, Sub-Objekts und/oder einfachen Objekts [fehlt], wird im Folgenden in Verbindung mit 10 beschrieben.
  • Bei Bedarf kann das beispielhafte Einrichtungs-Modulklassenobjekt 416 aus 7 Verweise einschließen, wie z. B. URL-Adressen oder andere Verweise auf Dokumentationen, die für das Einrichtungs-Modulklassenobjekt gespeichert sind und/oder ihm zugeordnet sind, einschließlich von Dokumentationen in Zusammenhang mit der Einrichtung oder beliebigen Sub-Elementen der Einrichtung in Zusammenhang mit dem Einrichtungs-Modulklassenobjekt 416. Entsprechend können beliebige Algorithmen des beispielhaften Einrichtungs-Modulklassenobjekts 416, wie z. B. beliebige der beispielhaften Algorithmen 564, verschlüsselt werden und/oder einen zugeordneten Sicherheitsparameter aufweisen, der diese Algorithmen 564 verschlüsselt und/oder entschlüsselt. Eine derartige Verschlüsselung und/oder Entschlüsselung kann bei Bedarf durch eine der Methoden 570 ausgeführt werden.
  • Mit Bezug wiederum auf 1 erzeugt ein Konfigurationstechniker zur Konfiguration der beispielhaften verfahrenstechnischen Anlage 10 Einheiten-, Einrichtungs-, Steuerungs- und Anzeige-Modulklassenobjekte nach Bedarf in einer der Konfigurationsanwendung 50 zugeordneten Bibliothek (Library). Bei einigen Beispielen beginnt der Konfigurationstechniker mit dem Erzeugen von Entitäten niedrigerer Bereiche, wie z. B. den Steuerungs- und/oder Anzeigemodulklassen, und entwickelt anschließend Modulklassenobjekte für die Entitäten höherer Bereiche, wie z. B. den Einrichtungs- und/oder Einheiten-Modulklassenobjekten, die die Entitäten niedrigerer Bereiche verwenden und/oder darauf verweisen können. Anschließend kann der Konfigurationstechniker die Modulklassenobjekte nach Bedarf auswählen und/oder angeben, um für jede der Prozessentitäten in der Anlage die eigentlichen Modulobjekte zu erzeugen, die den ausgewählten Modulklassenobjekten entsprechen. Bei der Konfiguration replizierter Einrichtungen erzeugt der Konfigurationstechniker aus dem gleichen Modulklassenobjekt ein Modulobjekt für jede Instanz der replizierten Einrichtung. Somit kann der Konfigurationstechniker ein Reaktoreinheiten-Modulklassenobjekt erzeugen, das die beispielhaften Reaktoren aus 1 wiedergibt und möglicherweise die Erzeugung von anderen Modulklassenobjekten einschließt, auf die durch das Reaktoreinheiten-Modulklassenobjekt verwiesen wird, falls derartige andere Modulklassenobjekte nicht bereits in der Library vorliegen. Anschließend kann der Konfigurationstechniker den Prozess konfigurieren, indem er für jeden der beispielhaften Reaktoren REACTOR_01, REACTOR_02 und REACTOR_03 aus 3 aus dem Reaktoreinheiten-Modulklassenobjekt ein Reaktoreinheit-Modulobjekt erzeugt.
  • Nach dem Erzeugen von einem oder mehreren Modulobjekten aus einem Modulklassenobjekt kann der Konfigurationstechniker die erzeugten Modulobjekte (einschließlich der Sub-Objekte und/oder der Referenzobjekte) an die spezifische Ausrüstung der verfahrenstechnischen Anlage 10 binden. Da die Einheitenmodulobjekte einem einzelnen Einheiten-Modulklassenobjekt zugeordnet sind, können die Aliasnamen, Parameter und anderen Variablen für die unterschiedlichen Einheitenmodulobjekte zusammen angegeben werden, indem beispielsweise eine Bulk-Verarbeitungsanwendung wie z. B. eine Tabellenkalkulationsanwendung eingesetzt wird. Durch die Bindung der Modulobjekte an bestimmte Einrichtungen gibt der Konfigurationstechniker selbstverständlich tatsächlich die Namen der Steuerungsvariablen und Kommunikationspfade vor, die von Steuerungsroutinen und/oder Steuermodulen in den Steuerungen 12A-C verwendet werden, um Steuerungsvorgänge während des Betriebs der verfahrenstechnischen Anlage 10 auszuführen und/oder um Variablen anzuzeigen, die von Anzeigeroutinen während des Betriebs der verfahrenstechnischen Anlage 10 beispielsweise in den Workstations 14A-C verwendet werden. Nachdem die Bindungsvorgänge abgeschlossen sind, kann der Konfigurationstechniker anschließend die verknüpften Steuerungsroutinen in die beispielhaften Steuerungen 12A-C und die verknüpften Anzeigeroutinen in die beispielhaften Workstations 14A-C laden.
  • Die Erzeugung von Modulklassenobjekten, die Instanzbildung von Modulobjekten, Sub-Objekten und/oder Referenzobjekten kann unter Verwendung eines beliebigen Elements einer Vielzahl von Anwendungen, Benutzerschnittstellen, Bildschirmen, Methoden und/oder Prozessen erfolgen. Beispielhafte Modulklassenobjekte, Konfigurationssysteme und/oder Methoden sind beschrieben im US-Patent 7,043,311 , das hiermit in seiner Gesamtheit ausdrücklich hierin übernommen wird.
  • 8, 9, 10, 11, 12 und 13 stellen Bildschirmanzeigen dar sowie Benutzeroberflächen, Dialogfelder und/oder Fenster, die während des Prozesses der Erzeugung, Konfiguration und/oder Verwendung von Modulklassenobjekten zur Konfiguration der beispielhaften verfahrenstechnischen Anlage 10 durch einen Konfigurationstechniker zum Beispiel durch die beispielhafte Konfigurationsanwendung 50 aus 1 erzeugt werden können. Während beispielhafte Konfigurationsbildschirme, Benutzeroberflächen, Dialogfelder und/oder Fenster in 8-13 wiedergegeben sind, werden Fachleute auf diesem Gebiet leicht erkennen, dass beliebige Elemente aus einer Vielzahl von Konfigurationsansichten, Bildschirmen, Schnittstellen, Dialogfeldern und Fenstern angezeigt und/oder verwendet werden können, um Modulklassenobjekte und Modulobjekte darzustellen. Daher sind die in 8-13 wiedergegebenen Beispiele lediglich Beispiele zur Veranschaulichung.
  • Wie Fachleute auf diesem Gebiet leicht erkennen, schließen die in 8, 11 und 12 dargestellten Beispiele generell eine Verwaltungs-(Explorer)-Ansicht in der linken Bildschirmseite ein und/oder eine Benutzeroberfläche, die eine organisatorische Baumstruktur bereitstellt, die einen Abschnitt einer beispielhaften Konfiguration der verfahrenstechnischen Anlage 10 wiedergibt. Entsprechend schließen die meisten der Beispiele aus 8, 11 und 12 eine oder mehrere Informationsansicht(en) auf der rechten Seite ein, die weitere Informationen zu ausgewählten Elementen der Elemente der linken Explorer-Ansicht bereitstellen. Die Informationen, die in den Informationsansichten einem Benutzer angezeigt und/oder von einem Benutzer geändert werden können, können durch die beispielhaften Steuerungs- und/oder Sicherheitsparameter 534, 536, 538, 540, 572, 574, 580 und/oder 582 und/oder die beispielhaften IGNORE-Eigenschaften 542, 544, 584 und/oder 586 aus 6 und/oder 7 bestimmt und/oder gesteuert werden, die für jedes der unterschiedlichen Modulklassenobjekte und/oder seine Sub-Elemente eingerichtet worden sind. Somit kann nach Maßgabe der Sicherheits- und Steuerungsparameter und/oder der in den Modulklassenobjekten eingerichteten und auf die in der Explorer-Ansicht wiedergegebenen Modulobjekte übertragenen IGNORE-Eigenschaften ein bestimmtes Element in der Explorer-Ansicht anzeigbar sein und/oder einem Benutzer zur Ansicht und/oder Änderung vorgelegt werden. Entsprechend der vorstehend wiedergegebenen Erläuterung können bestimmte Informationen selbstverständlich jederzeit verborgen bleiben; sie können nur nach Eingabe eines Passworts und/oder anderen Sicherheitscodes anzeigbar und/oder durch einen Benutzer änderbar sein; sie können jederzeit anzeigbar und nie änderbar sein; sie können jederzeit anzeigbar und änderbar sein; oder eine beliebige andere Kombination dieser oder anderer Sicherheits- und Änderungsparameter und/oder IGNORE-Eigenschaften kann gelten. Bei Bedarf kann die Anzeig barkeit und/oder Änderbarkeit eines Elements ferner in der Explorer-Ansicht unter Verwendung von Hervorhebungen, Grautönung, Farbanzeige oder beliebige andere Verfahren angegeben sein, um den Benutzer darüber zu informieren, welche Elemente detaillierter angezeigt und/oder geändert werden können.
  • Bei einigen Beispielen wird eine grafische Benutzeroberfläche (GUI/Graphical User Interface) verwendet und/oder ist zweckmäßig, um eine Steuerungsstruktur für eine verfahrenstechnische Anlage unter Verwendung von Modulklassenobjekten und/oder Modulobjekten wiederzugeben, anzuzeigen und/oder zu konstruieren. Derartige Benutzeroberflächen stellen bei einigen Beispielen eine Explorer-Ansicht und/oder Fenster bereit, die es einem Konfigurationstechniker ermöglichen, eine Darstellung einer verfahrenstechnischen Anlage zu konstruieren und/oder diese zu konfigurieren. Zur Bereitstellung einer Explorer-Ansicht weist der beispielhafte Bildschirm 800 aus 8 einen auf der linken Seite der Anzeige 800 wiedergegebenen Abschnitt 802 auf. Der beispielhafte Explorer-Abschnitt 802 aus 8 weist einen oberen Abschnitt 804 auf, der eine Liste von Modulklassen darstellt, sowie einen unteren Abschnitt 806, der eine Liste von Modulobjekten wiedergibt. Bei dem in 8 wiedergegebenen Beispiel sind die in der Explorer-Ansicht 802 wiedergegebenen Modulklassen und Modulobjekte in hierarchischer Form dargestellt. Eine beispielhafte Totalisatoreinrichtungs-Modulklasse 808 (die z. B. dem beispielhaften Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7 entspricht) gehört beispielsweise zu einer Library 810 von Einrichtungsmodulklassen. Entsprechend der Darstellung schließt die beispielhafte Totalisatormodulklasse 808 Angaben und/oder Verweise auf zahlreiche Sub-Elemente ein, einschließlich eines Ventil COARSE_VALVE, eines Ventils FINE_VALVE, eines Bildschirms MONITOR usw. Da das beispielhafte Totalisatorklassenobjekt im beispielhaften Bildschirm 800 ausgewählt ist, sind die Elemente des Totalisatorklassenobjekts 808 in der oberen rechten Seite 812 des Bildschirms 800 detaillierter dargestellt.
  • Entsprechend wird durch ein beispielhaftes Reaktormodulobjekt 820 (das dem beispielhaften Reaktor REACTOR_01 aus 1 entsprechen kann) auf beispielhafte Totalisatormodulobjekte 814, 816 und 818 verwiesen. Da das beispielhafte Totalisatormodulobjekt ACID1 814 aus 8 (das z. B. dem beispielhaften Totalisator 101 aus 2 entspricht) im Bildschirm 800 ausgewählt ist, sind die Elemente des Totalisatormodul objekts ACID1 814 in der unteren rechten Seite 822 des Bildschirms 800 detaillierter dargestellt.
  • Bei vielen GUI-Oberflächen werden Dialogfelder verwendet, um ein konsistentes und/oder leicht verständliches Verfahren zur Konfiguration von einem oder mehreren Parameter(n) und/oder einer oder mehreren Option(en) bereitzustellen. Beispielsweise können Dialogfelder verwendet werden, um Eigenschaften und/oder Parameter von Modulklassenobjekten und/oder Modulklasseninstanzen auszuwählen und/oder vorzugeben. 9 stellt ein beispielhaftes Dialogfeld für die Einstellung von einer oder mehreren Eigenschaft(en) eines Modulklassenobjekts dar (z. B. der Eigenschaften für ein Steuerungs-Modulklassenobjekt FINE_VALVE). Ein derartiges Steuerungs-Modulklassenobjekt FINE_VALVE kann als Teil eines Einrichtungs-Modulklassenobjekts TOTALIZER verwendet werden (z. B. des beispielhaften Modulklassenobjekts 416 aus 5 und/oder 7). Fachleute auf diesem Gebiet werden leicht erkennen, dass ein oder mehrere ähnliche und/oder unterschiedliche Dialogfeld(er) verwendet werden kann/können, um die Eigenschaften und/oder Parameter eines Modulklassenobjekts vorzugeben. Ferner können Konfigurationsdialogfelder eine beliebige Anzahl und/oder beliebige Typen von Checkboxen, Auswahllisten, Textfeldern usw. einschließen, um beliebige Werte einer Vielzahl von Eigenschaften und/oder Parametern eines Modulklassenobjekts vorzugeben. Allgemein sind der Typ und/oder die Anzahl von Dialogfeldern und Dialogfeldelementen und/oder der Typ und/oder die Anzahl von Eigenschaften und/oder Parametern, die ausgewählt und/oder vorgegeben werden können, spezifisch für bestimmte Modulklassenobjekte.
  • Um einem Konfigurationstechniker die Identifizierung und/oder Konfiguration bestimmter aus dem Steuerungs-Modulklassenobjekt FINE_VALVE erzeugter Modulobjektinstanzen als fehlend zu ermöglichen, weist das beispielhafte Dialogfeld aus 9 eine Checkbox 905 auf. Die beispielhafte Checkbox 905 aus 9 wird ausgewählt und/oder abgewählt, um die entsprechende IGNORE-Eigenschaft des Steuerungs-Modulklassenobjekts FINE_VALVE vorzugeben. Wenn die Checkbox 905 angewählt ist (und z. B. ein Auswahlzeichen anzeigt) ist die Eigenschaft PERMIT_INSTANCES_2B_IGNORED mit dem Wert TRUE („wahr") vorgegeben. Anderenfalls ist die Eigenschaft PERMIT_INSTANCES_2B_IGNORED mit dem Wert FALSE („falsch") vorgegeben und/oder wird undefiniert gelassen. Falls die Eigenschaft PERMIT_INSTANCES_2B_IGNORED undefiniert gelassen wird, wird sie anschließend mit dem Wert FALSE („falsch") angenommen.
  • 10 stellt ein beispielhaftes Dialogfeld für die Vorgabe von einem oder mehreren Parameter(n) eines Modulobjekts dar (z. B. eines Ventils FINE_VALVE eines bestimmten Totalisatormodulobjekts). Fachleute auf diesem Gebiet werden leicht erkennen, dass ein oder mehrere ähnliche und/oder unterschiedliche Dialogfeld(er) verwendet werden kann/können, um die Eigenschaften und/oder Parameter eines Modulobjekts vorzugeben. Ferner können Konfigurationsdialogfelder eine beliebige Anzahl und/oder beliebige Typen von Checkboxen, Auswahllisten, Textfeldern usw. einschließen, um beliebige Werte einer Vielzahl von Eigenschaften und/oder Parametern eines Modulobjekts vorzugeben. Allgemein sind der Typ und/oder die Anzahl von Dialogfeldelementen und/oder der Typ und/oder die Anzahl von Eigenschaften und/oder Parametern, die ausgewählt und/oder vorgegeben werden können, spezifisch für bestimmte Modulobjekte. Zusätzlich oder alternativ dazu kann über ein Bulk-Bearbeitungsverfahren, -Werkzeug und/oder -Anwendungsprogramm (z. B. eine Tabellenkalkulation), das zum Verknüpfen und/oder Zuordnen von Objektmodulen und tatsächlichen Einrichtungen einer verfahrenstechnischen Anlage verwendet wird, konfiguriert werden, ob ein bestimmtes Objektmodul fehlt oder nicht.
  • Um einem Konfigurationstechniker die Identifizierung und/oder Konfiguration zu ermöglichen, ob das bestimmte Objektmodul fehlt oder nicht, weist das beispielhafte Dialogfeld aus 10 eine Checkbox 1005 auf. Die beispielhafte Checkbox 1005 aus 10 wird ausgewählt und/oder abgewählt, um den entsprechenden _IGNORE-Parameter des Steuerungsmodulobjekts FINE_VALVE vorzugeben. Wenn die Checkbox 1005 angewählt ist (und z. B. ein Auswahlzeichen anzeigt) ist der _IGNORE-Parameter mit dem Wert TRUE („wahr") vorgegeben. Anderenfalls ist der _IGNORE-Parameter mit dem Wert FALSE („falsch") vorgegeben und/oder wird undefiniert gelassen. Falls der _IGNORE-Parameter undefiniert gelassen wird, wird er anschließend mit dem Wert FALSE („falsch") angenommen.
  • Die beispielhafte Checkbox 1005 aus 10 ist nur aktiv, wenn die Eigenschaft PERMIT_INSTANCES_2B_IGNORED des zugeordneten Modulklassenobjekts mit TRUE („wahr") vorgegeben ist. Falls die Eigenschaft PERMIT_INSTANCES_2B_IGNORED des zugeordneten Modulklassenobjekts mit FALSE („falsch") vorgegeben ist und/oder undefiniert gelassen wird, ist die Checkbox 1005 inaktiv (z. B. mit Grauton ausgeblendet), sodass ein Konfigurationstechniker die Checkbox 1005 nicht anwählen und/oder abwählen kann, um einen dazugehörigen _IGNORE-Parameter vorzugeben.
  • 11 stellt den beispielhaften Konfigurationsbildschirm aus 8 dar, nachdem das Modulobjekt FINE_VALVE 1105 des Totalisatormodulobjekts ACID1 814 durch einen Konfigurationstechniker als fehlend markiert, konfiguriert und/oder identifiziert worden ist. Beispielsweise könnte der Konfigurationstechniker das beispielhafte Dialogfeld aus 9 verwenden, um die Konfiguration und/oder Identifizierung von Modulobjekten FINE_VALVE der Modulobjekte TOTALIZER als fehlend zu ermöglichen. Falls der Konfigurationstechniker zur Identifizierung beliebiger bestimmter Ventile FINE_VALVE eines Totalisatormodulobjekts als fehlend autorisiert ist (z. B. des beispielhaften Objekts 1105 aus 11), kann der Konfigurationstechniker anschließend beispielsweise die beispielhafte Checkbox 1005 aus 10 verwenden, um das Modulobjekt FINE_VALVE 1105 als fehlend zu identifizieren.
  • Entsprechend der Darstellung in 11 ist das Modulobjekt FINE_VALVE 1105 als fehlend dargestellt, da das Modulobjekt FINE_VALVE 1105 als fehlend identifiziert, konfiguriert und/oder markiert worden ist. Bei dem dargestellten Beispiel ist die Grafik 1110 links vom Namen des Modulobjekts 1105 geändert (z. B. mit Punkten unterlegt), und „<ignored>" 1115 erscheint vor dem Namen. Entsprechend der Darstellung in 11 ist im Abschnitt 822 des Bildschirms 800, der zusätzliche Daten, Details und/oder Informationen mit Bezug auf das Modulobjekt ACID1 814 bereitstellt, das Ventil FINE_VALVE entsprechend als nicht verknüpft identifiziert.
  • 12 ist ein beispielhafter Bildschirm 1200 mit der Darstellung einer alternativen Ansicht und/oder Wiedergabe des beispielhaften Modulobjekts ACID1 814 aus 11. Der beispielhafte Bildschirm 1200 aus 12 kann verwendet werden, um beispielsweise beliebige Werte einer Vielzahl von Parametern und/oder Steuerungsaspekten für das beispielhafte Modulobjekt ACID1 814 vorzugeben. Da das Modulobjekt FINE_VALVE 1105 durch einen Steuerungstechniker als fehlend identifiziert und/oder konfiguriert worden ist, ist das Ventil FINE_VALVE als fehlend dargestellt und in 12 mit „<ignored>" 1205 wiedergegeben. Dementsprechend kann ein Steuerungstechniker das Ventil FINE_VALVE nicht mit einem bestimmten physischen Ventil verknüpfen und/oder keine Parameter für FINE_VALVE vorgeben.
  • Bei einigen Beispielen werden Steuerungsroutinen unter Verwendung einer textgestützten Script- und/oder Programmiersprache geschrieben und/oder wiedergegeben. Bei einigen Beispielen kann von einem Steuerungs- und/oder Konfigurationstechniker ein Tool verwendet werden, das die Erzeugung und/oder Änderung von Steuerungsroutinen erleichtert. 13 stellt eine weitere beispielhafte Bildschirmanzeige 1300 dar (z. B. ein Pop-up-Fenster 1300), die verwendet werden kann, um die Details einer Steuerungsroutine und/oder eines Schritts einer Steuerungsroutine, z. B. für das beispielhafte Totalisatoreinrichtungs-Modulklassenobjekt 416 aus 7, anzuzeigen und/oder zu erzeugen. Bei dem dargestellten Beispiel wird der _IGNORE-Parameter eines Modulobjekts FINE_VALVE getestet und/oder verwendet, um die Strömung und/oder die Ausführung der Steuerungsroutine zu steuern. Wenn die in 13 wiedergegebene beispielhafte Steuerungsroutine für ein bestimmtes Totalisatoreinrichtungs-Modulobjekt betrieben und/oder ausgeführt wird (z. B. für den beispielhaften Totalisator 101 aus 2) wird der _IGNORE-Parameter, auf den verwiesen wird, mit dem _IGNORE-Parameter für das gesteuerte Ventil FINE_VALVE eines bestimmten Totalisatoreinrichtungs-Modulobjekts aufgelöst. Demgemäß kann die beispielhafte Steuerungsroutine aus 13 unabhängig davon, ob ihr zugeordnetes Ventil FINE_VALVE vorliegt oder nicht, für Totalisatormodulobjekte verwendet werden. Auf diese Weise können Steuerungsroutinen für das Totalisatoreinrichtungs-Modulklassenobjekt 614 [sic] geschrieben und/oder konstruiert werden, um Modulobjekte mit fehlenden Einrichtungen zu berücksichtigen (d. h. Varianten von Totalisatormodulobjekten).
  • Bei dem in 13 wiedergegebenen Beispiel wird der Parameter FINE_VALVE/SETPOINT 1310 nur vorgegeben, wenn das Ventil FINE_VALVE nicht fehlt (z. B., wenn der Wert FINE_VALVE/_IGNORE nicht TRUE ist). Entsprechend der Darstellung in 13 kann der _IGNORE-Parameter so getestet werden, dass Code für fehlende Einrichtungen nicht ausgeführt wird. Wenn die beispielhafte Routine aus 13 in der Praxis ausgeführt und/oder betrieben wird, können dementsprechend Fehlermeldungen und/oder Flags, die potenziell von ablaufendem und/oder ausgeführtem Code für fehlende Einrichtungen verursacht werden, unterdrückt werden oder auf sonstige Weise nicht erzeugt und/oder Systembedienern und/oder Benutzern nicht angezeigt werden.
  • Fachleute auf diesem Gebiet werden leicht erkennen, dass _IGNORE-Parameter in beliebigen Anweisungen einer Vielzahl von Code-Anweisungen und Kombinationen und/oder mit beliebigen Anweisungen einer Vielzahl von zusätzlichen bedingten Anweisungen verwendet werden können. Beispielsweise hätte auch der _IGNORE-Parameter von COARSE_VALVE markiert sein können.
  • Für Fachleute auf diesem Gebiet ist leicht ersichtlich, dass ein Konfigurationstechniker auf eine beliebige Art einer Vielzahl ähnlicher Arten Einrichtungen für die Konfiguration als fehlend vorgeben kann, bestimmte Einrichtungen als fehlend konfigurieren kann und/oder andere Einheiten-Modulklassenobjekte, Einrichtungs-Modulklassenobjekte und Steuerungs-Modulklassenobjekte sowie Anzeige-Modulklassenobjekte konfigurieren kann, um Konfigurationselemente für Einheiten, Einrichtungen, Steuerungselemente und Anzeigeelemente in der Prozesssteuerungsumgebung gemäß den hier beschriebenen Prinzipien zu erzeugen. Es ist ebenfalls ersichtlich, dass Modulklassenobjekte, die ihrer Natur gemäß vergleichsweise detailliert sein können, dem Konfigurationstechniker große Vorteile bei der Erstellung einer Konfiguration bieten, da der Techniker nicht jedes individuelle Steuerungselement separat erzeugen muss oder jedes individuelle Steuerungselement separat aus einer Steuerungsvorlage kopieren muss, sondern stattdessen Modulklassenobjekte verwenden kann, die auf wesentlich höheren Ebenen oder Stufen bereitgestellt sind, um wesentlich umfangreichere Bulk-Konfigurationselemente zur Verwendung bei der Konfiguration der verfahrenstechnischen Anlage 10 zu erzeugen. Durch die Möglichkeit, bestimmte Modulobjekte und/oder bestimmte Abschnitte von Modulobjekten absichtlich als fehlend zu konfigurieren, hat ein Konfigurationstechniker zudem zusätzliche Flexibilität und/oder Möglichkeiten für die Wieder verwendung von Modulklassenobjekten in einer zunehmend größeren Anzahl, Bandbreite und/oder Vielfalt replizierter Einrichtungen.
  • Der Konfigurationstechniker kann auch Änderungen an den Elementen einer Konfiguration unterschiedlicher Prozessentitäten auf globaler Basis vornehmen, indem eines oder mehrere der Einheiten-Modulklassenobjekte geändert und diese Änderungen auf jedes der aus den betreffenden Einheiten-Modulklassenobjekten erzeugten und diesen zugeordneten Modulobjekte übertragen werden. Dank dieses Merkmals sind Änderungen in der Konfiguration einfacher und/oder weniger zeitaufwendig vorzunehmen, nachdem eine Konfiguration bereits erzeugt worden ist. Ferner kann der Konfigurationstechniker eine Zugangsstufe für unterschiedliche Elemente oder Komponenten von Modulobjekten im Konfigurationssystem angeben, indem Sicherheitsparameter in den Modulklassenobjekten eingerichtet werden. Wie vorstehend erwähnt wurde, kann der Konfigurationstechniker eine Sicherheit auf jeder Stufe auf modulweiser Basis vorgeben, wie z. B. auf der Einheitenmodulebene, der Einrichtungsmodulebene, der Steuerungsmodulebene und der Anzeigemodulebene. Auf diese Weise können einige Elemente eines Einheitenmodulobjekts einsehbar sein, während andere Elemente nicht einsehbar sein können. Durch die Flexibilität der absichtlichen Konfiguration und/oder Identifizierung fehlender Einrichtungen kann ein Konfigurationstechniker ferner Konfigurationsänderungen auf noch breiterer Grundlage anwenden. Beispielsweise kann ein Konfigurationstechniker ein Modulklassenobjekt definieren, das mehrere Varianten fehlender Einrichtungen aufnimmt. Wenn Änderungen an dem Modulklassenobjekt erfolgen, können die Änderungen dementsprechend automatisch auf alle aus dem Modulklassenobjekt erzeugten Modulobjekte übertragen und/oder angewandt werden, einschließlich von Modulobjekten mit absichtlich als fehlend konfigurierten Einrichtungen.
  • Nachdem die Konfiguration des Systems abgeschlossen ist und die Modulobjekte mit individuellen Prozessentitäten in der verfahrenstechnischen Anlage 10 verknüpft worden sind, können die Steuerungs- und Anzeigemodule oder diesen Modulen zugeordnete Elemente selbstverständlich für die diesbezüglichen Steuerungen 12A-C und Workstations 14A-C zur Ausführung während des Betriebs der verfahrenstechnischen Anlage 10 bereitgestellt werden. Die Steuerungs- und/oder Anzeigemodule oder -elemente können über eine Vielzahl von Mitteln bereitgestellt werden, wie z. B. ohne diesbezügliche Einschränkung über ihren Download in eine Steuerung unter Verwendung eines Download-Scripts, über den Abruf durch eine Steuerung, über den Abruf unter Verwendung eines Download-Scripts, über das Schreiben in einen Speicher einer Steuerung usw.
  • Bei einigen beispielhaften verfahrenstechnischen Anlagen werden Scripts verwendet, um den Download zahlreicher Steuerungsroutinen und/oder Konfigurationsdaten für mehrere Prozessentitäten in eine oder mehrere Steuerung(en) zu ermöglichen. Beispielsweise können Download-Scripts definieren und/oder organisieren, welche Routinen und/oder Daten heruntergeladen, eingelesen, bereitgestellt und/oder übernommen werden sollen. 14 stellt eine beispielhafte Clause (z. B. eine Zeile) eines Download-Scripts dar, die verwendet wird, um Steuerungsroutinen und/oder Konfigurationsdaten und/oder Parameter in beliebige Steuerungen der beispielhaften Steuerungen 12A-C aus 1 herunterzuladen. Eine beliebige Anzahl von Clauses für eine beliebige Anzahl und/oder Art von Objekten und/oder Modulobjekten kann verwendet werden, um ein Download-Script zu bilden. Bei einem beispielhaften Download-Script ist jede Zeile des Scripts entsprechend der Darstellung in 14 strukturiert, wobei jede Zeile einem bestimmten Objekt und/oder Modulobjekt entspricht.
  • Zur Identifizierung der Modulobjekte, auf die sich die Download-Clause bezieht, weist das beispielhafte Download-Script aus 14 ein Kennzeichnerfeld 1405 auf, das einen bestimmten Typ eines Modulobjekts identifiziert. Bei dem Beispiel aus 14 identifiziert das Kennzeichnerfeld 1405 ein Ventil FINE_VALVE.
  • Bei diesem Beispiel war das Referenzobjekt FINE_VALVE als absichtlich fehlend konfiguriert, und daher schließt die beispielhafte Clause des Download-Scripts aus 14 ein Ignorierfeld 1410 ein. Das beispielhafte Ignorierfeld 1410 aus 14 ist ein boolesches Feld mit der Bezeichnung „IGN". Das Modulobjekt, auf das das Kennzeichnerfeld 1405 verweist, fehlt, und das beispielhafte IGN-Feld 1410 hat einen Wert „T" für TRUE („wahr"). Falls das Referenzmodulobjekt nicht fehlt, könnte das beispielhafte IGN-Feld 1410 einen Wert „F" für FALSE („falsch") haben. Alternativ dazu könnte das IGN-Feld 1410 ausgelassen sein, und eine empfangende Steuerung 12A-C kann annehmen, dass die Einrichtung als vorhanden angenommen wird.
  • Eine Steuerung (z. B. eine der beispielhaften Steuerungen 12A-C), die Steuerungsroutinen und/oder Konfigurationsdaten und/oder Parameter über das beispielhafte Download-Script aus 14 empfängt, kann den Wert des IGN-Feldes 1410 verwenden, um zu bestimmen, ob Einrichtungen als fehlend konfiguriert sind. Dementsprechend kann die Steuerung den Status fehlender Einrichtungen ignorieren und dadurch keine Fehlermeldungen und/oder Warnmeldungen wegen nicht verknüpfter, fehlender und/oder nicht konfigurierter Einrichtungen initiieren.
  • Während eine beispielhafte Clause eines Download-Scripts in 14 wiedergegeben ist, werden Fachleute auf diesem Gebiet leicht erkennen, dass Download-Scripts und/oder Clauses von Download-Scripts unter Verwendung beliebiger Felder einer Vielzahl alternativer und/oder zusätzlicher Felder konstruiert werden können. Ferner können die in 14 wiedergegebenen Felder auf beliebige Art einer Vielzahl von Arten kombiniert, aufgeteilt, unterteilt und umgeordnet werden.
  • Beliebige vorstehend beschriebene beispielhafte Verfahren und/oder Prozesse beispielsweise zur Konfiguration von Parametern von Modulobjekten, zum Erzeugen eines Download-Scripts und/oder zur Verarbeitung eines Download-Scripts können unter Verwendung eines von einem Prozessor, einer Steuerung, einem Computer, einer Workstation usw. ausgeführten Programms, einer Anwendung und/oder eines Dienstprogramms implementiert werden. 15, 16 und 17 sind Ablaufdarstellungen, die beispielhafte Verfahren wiedergeben, die verwendet und/oder ausgeführt werden können, um Parameter von Modulobjekten zu konfigurieren, um ein Download-Script zu erzeugen bzw. um ein Download-Script zu verarbeiten. Die beispielhaften Verfahren aus 15, 16 und/oder 17 können unter Verwendung von durch einen Prozessor, eine Steuerung und/oder beliebige andere geeignete Verarbeitungseinrichtungen ausgeführten maschinenlesbaren Anweisungen implementiert werden. Beispielsweise können die maschinenlesbaren Anweisungen, die zur Implementierung der beispielhaften Verfahren aus 15, 16 und/oder 17 verwendet werden, in codierten Anweisungen enthalten sein, die auf einem materiellen Medium gespeichert sind, wie z. B. in einem Flash Memory, ROM und/oder RAM in Zusammenhang mit einem Prozessor (z. B. den beispielhaften Prozessoren 23 aus 1 und/oder dem im Folgenden in Verbindung mit 18 beschriebenen Prozessor 1805). Alternativ dazu können einige oder alle der beispielhaften Verfahren aus 15, 16 und/oder 17 unter Verwendung einer beliebigen Einrichtung einer Vielzahl von anwendungsspezifischen integrierten Schaltungen (ASICs), programmierbaren logischen Schaltungen (PLDs), feldprogrammierbaren logischen Schaltungen (FPLDs), diskreter Logik, Hardware, Firmware usw. implementiert werden. Einige oder alle der beispielhaften Verfahren aus 15, 16 und/oder 17 können auch manuell oder als beliebige Kombinationen) aus beliebigen der vorstehenden Verfahren implementiert werden, z. B. als beliebige Kombination aus Firmware, Software, diskreter Logik und/oder Hardware. Obwohl die beispielhaften Verfahren aus 15, 16 und/17 ferner mit Bezug auf die Ablaufdarstellungen aus 15, 16 und/oder 17 beschrieben sind, werden Fachleute auf diesem Gebiet leicht erkennen, dass viele andere Verfahren zur Parameterkonfiguration von Modulobjekten, zum Erzeugen von Download-Scripts und/oder zur Verarbeitung von Download-Scripts eingesetzt werden können. Beispielsweise kann die Reihenfolge der Ausführung der Blöcke geändert werden, und/oder einige der beschriebenen Blöcke können geändert, eliminiert, unterteilt oder kombiniert werden. Zusätzlich werden Fachleute auf diesem Gebiet erkennen, dass die beispielhaften Verfahren aus 15, 16 und/oder 17 sequenziell und/oder parallel ausgeführt werden können, beispielsweise durch separate Verarbeitungs-Threads (Ausführungsstränge), Prozessoren, Einrichtungen, diskrete Logik, Schaltungen usw.
  • Das beispielhafte Verfahren aus 15 kann betrieben und/oder ausgeführt werden, um Parameter eines Modulobjekts zu konfigurieren. Das beispielhafte Verfahren aus 15 beginnt, wenn beispielsweise ein Konfigurationstechniker ein zu konfigurierendes Modulobjekt auswählt. Falls der Konfigurationstechniker autorisiert ist, anzugeben, dass die Modulinstanz ignoriert werden soll (z. B. über die beispielhafte Checkbox 905 aus 9) (Block 1505), werden ein oder mehrere zusätzliche(s) und/oder alternative(s) Element(e) (z. B. die beispielhafte Checkbox 1005 aus 10) eines Konfigurationsfensters, Bildschirms, Dialogfelds usw. aktiviert (Block 1510). Derartige Elemente können vom Konfigurationstechniker verwendet werden, um das Fehlen von Einrichtungen zu identifizieren und/oder konfigurieren. Bei Block 1505 kann die Eigenschaft PERMIT_INSTANCES_2B_IGNORED eines Modulklassenobjekts, aus dem das Modulobjekt erzeugt wurde, verwendet werden, um beispielsweise zu bestimmen, ob eine Konfiguration zum Ignorieren der Modulinstanz zulässig und/oder aktiviert ist. Die Steuerung geht anschließend zum Block 1515 über.
  • Wiederum in Block 1505 geht die Steuerung zu Block 1515 über, ohne zusätzliche und/oder alternative Elemente eines Konfigurationsfensters, Bildschirms, Dialogfelds usw. zu aktivieren, falls der Konfigurationstechniker nicht zur Konfiguration autorisiert ist, dass die Modulinstanz ignoriert werden soll (Block 1505).
  • Bei Block 1515 wird ein Konfigurationsfenster, ein Bildschirm, ein Dialogfeld usw. angezeigt, das/der es dem Konfigurationstechniker ermöglicht, Parameter des Modulobjekts zu konfigurieren (Block 1515). Falls der Konfigurationstechniker autorisiert ist, zu konfigurieren, dass eine Modulinstanz ignoriert werden soll, können entsprechend der Vorgabe bei Block 1510 zusätzliche Elemente des Konfigurationsfensters, Bildschirms, Dialogfelds usw. aktiviert werden. Nachdem der Konfigurationstechniker die Konfiguration des Modulobjekts und/oder die Erzeugung einer Variante abgeschlossen hat und beispielsweise eine Schaltfläche „OK" des angezeigten Konfigurationsfensters, Bildschirms, Dialogfelds usw. betätigt hat (Block 1520), wird der Zustand beispielsweise einer Checkbox zur Konfiguration der Einrichtung als fehlend bestimmt (Block 1525). Falls die Einrichtung als fehlend konfiguriert ist (z. B. falls die beispielhafte Checkbox 1005 aus 10 markiert ist) (Block 1525), wird die Einrichtung als fehlend markiert, indem beispielsweise der _IGNORE-Parameter des Modulobjekts auf TRUE („wahr") gesetzt wird (Block 1530). Falls die Einrichtung jedoch nicht als fehlend konfiguriert ist (falls z. B. die beispielhafte Checkbox 1005 aus 10 nicht markiert ist) (Block 1525), wird die Einrichtung als vorhanden markiert, indem beispielsweise ein _IGNORE-Parameter des Modulobjekts auf FALSE („falsch") gesetzt wird (Block 1535). Die Steuerung verlässt dann das beispielhafte Verfahren von 15. Alternativ dazu könnte der _IGNORE-Parameter bei Block 1535 undefiniert gelassen werden.
  • Das in 16 wiedergegebene Verfahren kann verwendet werden, um ein Download-Script für eine Prozesssteuerung zu erzeugen (z. B. für beliebige der beispielhaften Steuerungen 12A-C aus 1). Für ein aktuell berücksichtigtes Modulobjekt in Zusammenhang mit einer bestimmten Prozesssteuerung wird eine grundlegende Download-Script-Clause erzeugt (Block 1605). Falls das aktuell berücksichtigte Modulobjekt als fehlend konfiguriert ist (falls z. B. sein _IGNORE-Parameter auf TRUE gesetzt ist) (Block 1610) wird zur grundlegenden Download-Script-Clause ein Feld hinzugefügt, das das Modulobjekt als fehlend identifiziert (z. B. das beispielhafte IGN-Feld 1410 aus 14) (Block 1615). Falls noch weitere Modulobjekte zu verarbeiten sind (Block 1620), kehrt die Steuerung zu Block 1605 zurück, um das nächste Modulobjekt zu verarbeiten. Falls keine weiteren Modulobjekte verbleiben (Block 1620), verlässt die Steuerung das beispielhafte Verfahren aus 16.
  • Falls, wiederum mit Bezug auf Block 1610, das aktuell berücksichtigte Modulobjekt nicht als fehlend konfiguriert ist (falls z. B. sein _IGNORE-Parameter auf FALSE gesetzt ist) (Block 1610), geht die Steuerung zu Block 1620 weiter, um zu bestimmen, ob weitere Modulobjekte zu verarbeiten sind, ohne zur Download-Script Clause ein zusätzliches Feld hinzuzufügen.
  • Das in 17 wiedergegebene Verfahren kann verwendet werden, um ein Download-Script in einer Prozesssteuerung zu verarbeiten (z. B. in einer beliebigen der beispielhaften Steuerungen 12A-C aus 1). Eine Clause des Download-Scripts wird extrahiert und eingelesen und/oder aus einem Download-Script extrahiert und analysiert, um die verschiedenen Felder der Clause zu erhalten (Block 1705). Falls das aktuell berücksichtigte, der Clause entsprechende Modulobjekt als fehlend konfiguriert ist (falls z. B. das beispielhafte IGN-Feld 1410 aus 14 auf TRUE gesetzt ist) (Block 1710), wird die Steuerung so konfiguriert, dass Fehler der Steuerroutine und/oder die Konfiguration bezüglich des Modulobjekts ignoriert werden (Block 1715). Falls noch weitere Clauses zu verarbeiten sind (Block 1720), kehrt die Steuerung zum Block 1705 zurück, um die nächste Clause zu verarbeiten. Falls keine weiteren Clauses verbleiben (Block 1720), verlässt die Steuerung das beispielhafte Verfahren aus 17. Falls das aktuell berücksichtigte Modulobjekt, wiederum mit Bezug auf Block 1710, nicht als fehlend konfiguriert ist (falls Z. B. das beispielhafte IGN-Feld 1410 aus 14 auf FALSE gesetzt ist) (Block 1710), geht die Steuerung zu Block 1720 über, um zu bestimmen, ob noch weitere Download-Script-Clauses zu verarbeiten sind.
  • 18 ist eine schematische Darstellung einer beispielhaften Prozessorplattform 1800, die verwendet und/oder programmiert werden kann, um die beispielhaften Steuerungen 12A-C und/oder die beispielhaften Workstations 14A-C aus 1 zu implementieren. Beispielsweise kann die Prozessorplattform 1800 durch einen oder mehrere Prozessor(en), Core(s), Mikrocontroller usw. für allgemeine Zwecke implementiert werden.
  • Die Prozessorplattform 1800 des in 18 wiedergegebenen Beispiels weist mindestens einen programmierbaren Prozessor 1805 für allgemeine Zwecke auf. Der Prozessor 1805 führt codierte Anweisungen 1810 und/1812 aus, die im Hauptspeicher des Prozessors 1805 vorliegen (z. B. in einem RAM 1815 und/oder einem RAM 1820). Der Prozessor 1805 kann ein beliebiger Typ einer Verarbeitungseinheit ein, wie z. B. ein Prozessor-Core, ein Prozessor und/oder ein Mikrocontroller. Der Prozessor 1805 kann unter anderem die beispielhaften Verfahren aus 15, 16 und 17 ausführen, um eine Parameterkonfiguration für Modulobjekte durchzuführen, um Download-Scripts zu erzeugen bzw. um Download-Scripts zu verarbeiten. Der Prozessor 1805 kann über einen Bus 1825 mit dem Hauptspeicher kommunizieren (einschließlich eines ROM 1820 und des RAM 1815). Der RAM 1815 kann durch DRAM, SDRAM und/oder einen beliebigen anderen Typ einer RAM-Einrichtung implementiert sein, und der ROM kann durch Flash Memory und/oder einen beliebigen anderen gewünschten Typ einer Speichereinrichtung implementiert sein. Der Zugriff auf die Speicher 1815 und 1820 kann durch eine Speichersteuerung (nicht dargestellt) gesteuert werden. Der RAM 1815 kann verwendet werden, um beispielsweise die gesamte Library von Modulklassenobjekten 52, 53, 54, 55 und/oder 56, die Steuerungsdatenspeicher 20, 22, die Konfigurationsdatenbank 25 und/oder die Steuerungsroutinen 19A-C zu speichern.
  • Die Prozessorplattform 1800 schließt auch eine Schnittstellenschaltung 1830 ein. Die Schnittstellenschaltung 1830 kann durch einen beliebigen Typ eines Schnittstellenstandards implementiert sein, wie z. B. durch einen externe Speicherschnittstelle, einen seriellen Port, einen Mehrzweck-Eingang/Ausgang usw. Eine oder mehrere Eingangseinrichtung(en) 1835 und eine oder mehrere Ausgangs einrichtung(en) 1840 können verwendet werden, um beispielsweise die beispielhaften Workstations 14A- C, die beispielhaften Steuerungen 12A-C und/oder beliebige Einrichtungen aus einer Vielzahl von Steuerungseinrichtungen kommunikativ zu verbinden.
  • Obwohl hier bestimmte beispielhafte Verfahren, Vorrichtungen und Herstellungsartikel beschrieben sind, ist der Schutzumfang dieses Patents nicht diesbezüglich eingeschränkt. Derartige Beispiele sollen lediglich nicht einschränkende veranschaulichende Beispiele sein. Dieses Patent umfasst vielmehr alle Verfahren, Vorrichtungen und Herstellungsartikel, die entweder wörtlich oder nach der Äquivalenzdoktrin angemessen in den Schutzbereich der beigefügten Ansprüche fallen.

Claims (20)

  1. Verfahren zum Erzeugen einer Konfigurationsentität zur Verwendung bei der Konfiguration einer verfahrenstechnischen Anlage, wobei das Verfahren Folgendes aufweist: Erzeugen eines Klassenobjekts, das eine Prozessentität in der verfahrenstechnischen Anlage wiedergibt und das eine erste Datenstruktur einschließt, die ein oder mehrere Prozesselement(e) wiedergibt, aus dem/denen die Prozessentität zusammengesetzt ist; und Erzeugen eines Modulobjekts auf der Basis des Klassenobjekts, das eine zweite Datenstruktur einschließt, wobei die zweite Datenstruktur eine konfigurierbare erste Angabe aufweist, um wiederzugeben, ob ein spezifisches Prozesselement fehlt, das dem Prozesselement oder einem ersten der mehreren Prozesselemente entspricht, aus dem/denen die Prozessentität zusammengesetzt ist.
  2. Verfahren nach Anspruch 1, das weiter die Bindung des erzeugten Modulobjekts an eine spezifische durch das Klassenobjekt wiedergegebene Prozessentität der verfahrenstechnischen Anlage aufweist.
  3. Verfahren nach Anspruch 1, wobei das Erzeugen des Modulobjekts auf der Basis des Klassenobjekts ein Objekt für das spezifische Prozesselement erzeugt und wobei die zweite Datenstruktur eine Wiedergabe des Prozesselementobjekts enthält und wobei die erste Angabe ein Parameter des Prozesselementobjekts ist.
  4. Verfahren nach Anspruch 1, das weiter die Präsentation einer Benutzerschnittstelle aufweist, um das Modulobjekt aus dem Klassenobjekt zu erzeugen und um das Modulobjekt an die spezifische Prozessentität der verfahrenstechnischen Anlage zu binden.
  5. Verfahren nach Anspruch 1, wobei die zweite Datenstruktur weiter die Programmierung in Zusammenhang mit dem spezifischen Prozesselement einschließt und wobei die Programmierung während des Betriebs der verfahrenstechnischen Anlage auf der Grundlage der konfigurierbaren ersten Angabe ausgeführt werden soll.
  6. Verfahren nach Anspruch 5, wobei das Verfahren weiter die Steuerung der Ausführung der Programmierung auf der Grundlage der ersten Angabe aufweist und wobei die erste Angabe die fehlerfreie Ausführung der Programmierung ermöglicht, wenn das spezifische Prozesselement fehlt.
  7. Verfahren nach Anspruch 1, wobei das Klassenobjekt eine zweite Angabe einschließt, die die Konfiguration der ersten Angabe ermöglicht.
  8. Verfahren nach Anspruch 1, wobei die zweite Datenstruktur ferner eine oder mehrere zusätzliche Angabe(n) von einem oder mehreren vorliegenden spezifischen Prozesselement(en) einschließt, die einem oder mehreren Prozesselement(en) entsprechen, aus dem/denen die Prozessentität zusammengesetzt ist, und wobei die Programmierung in Zusammenhang mit dem einen oder den mehreren vorliegenden spezifischen Prozesselement(en) während des Betriebs der verfahrenstechnischen Anlage ausgeführt werden soll.
  9. Modulklassenobjektentität zur Verwendung bei der Konfiguration einer verfahrenstechnischen Anlage, wobei die Modulklassenobjektentität Folgendes aufweist: einen maschinenlesbaren Speicher; und ein im maschinenlesbaren Speicher gespeichertes Klassenobjekt, wobei das Klassenobjekt eine Prozessentität in der verfahrenstechnischen Anlage wiedergibt und Folgendes einschließt: eine erste Datenstruktur, die ein oder mehrere Prozesselement(e) wiedergibt, aus denen die Prozessentität besteht; und eine zweite Datenstruktur, die ein aus dem Klassenobjekt erzeugtes Modulobjekt wiedergibt, wobei das Modulobjekt eine konfigurierbare erste Angabe einschließen soll, ob ein spezifisches Prozesselement fehlt, das einem Prozesselement von einem ersten oder mehreren Prozesselementen entspricht, aus dem/denen die Prozessentität zusammengesetzt ist.
  10. Modulklassenobjektentität nach Anspruch 9, wobei die erste Datenstruktur eine Bindung des Modulobjekts an eine spezifische, vom Klassenobjekt wiedergegebene Prozessentität der verfahrenstechnischen Anlage einschließt.
  11. Modulklassenobjektentität nach Anspruch 9, wobei das Modulobjekt einen Verweis auf ein Objekt für das spezifische Prozesselement einschließt und wobei die zweite Datenstruktur einen Verweis auf das Prozesselementobjekt einschließt und wobei die erste Angabe ein Parameter des Prozesselementobjekts ist.
  12. Modulklassenobjektentität nach Anspruch 9, wobei das Modulobjekt weiter eine Programmierung in Zusammenhang mit dem spezifischen Prozesselement einschließt und wobei die Programmierung während des Betriebs der verfahrenstechnischen Anlage auf der Grundlage der ersten Angabe ausgeführt werden soll.
  13. Modulklassenobjektentität nach Anspruch 9, wobei das Modulobjekt aus dem Klassenobjekt erzeugt wird und wobei das Klassenobjekt eine zweite Angabe aufweist, die die Konfiguration der ersten Angabe ermöglicht.
  14. Modulklassenobjektentität nach Anspruch 9, wobei die erste Angabe vom Benutzer über eine Konfigurationsschnittstelle konfigurierbar ist.
  15. Modulklassenobjektentität nach Anspruch 9, wobei die erste Angabe über eine Bulk-Verarbeitungsanwendung konfigurierbar ist.
  16. Modulklassenobjektentität nach Anspruch 9, wobei die zweite Datenstruktur weiter eine oder mehrere zusätzliche Angabe(n) von einem oder mehreren vorliegenden spezifischen Prozesselement(en) einschließt, die einem oder mehreren Prozesselement(en) entsprechen, aus denen die Prozessentität zusammengesetzt ist, sowie die Programmierung in Zusammenhang mit dem einen oder den mehreren vorliegenden spezifischen Prozesselement(en), die während des Betriebs der verfahrenstechnischen Anlage ausgeführt werden sollen.
  17. Modulklassenobjektentität nach Anspruch 9, wobei die Prozessentität eine Einheit ist und wobei das eine Prozesselement oder die mehreren Prozesselemente Subelemente der Einheit ist/sind.
  18. Modulklassenobjektentität nach Anspruch 9, wobei die Prozessentität eine Einrichtungsentität ist und wobei das eine Prozesselement oder die mehreren Prozesselemente Subelemente der Einrichtungsentität ist/sind.
  19. Konfigurationssystem zum Konfigurieren einer verfahrenstechnischen Anlage, wobei das Konfigurationssystem Folgendes aufweist: eine Bibliothek (Library), die ein Modulklassenobjekt speichert, wobei das Modulklassenobjekt eine Prozessentität in der verfahrenstechnischen Anlage wiedergibt und Zuordnungen von einem oder mehreren Prozesselement(en) der Prozessentität einschließt; einen Prozessor; und maschinenlesbare Anweisungen, die bei ihrer Ausführung beim Prozessor Folgendes bewirken: Präsentation einer ersten Benutzerschnittstelle zum Erzeugen einer Modulobjekt-Datenstruktur auf der Basis des Modulobjekts und Zuordnung des einen Prozesselements oder der mehreren Prozesselemente zu spezifischen Prozesselementen der Prozessentität; und Präsentation einer zweiten Benutzerschnittstelle zur Konfiguration einer fehlenden Angabe für ein bestimmtes Prozesselement des einen Prozesselements oder der mehreren Prozesselemente.
  20. Konfigurationssystem nach Anspruch 19, wobei die maschinenlesbaren Anweisungen bei ihrer Ausführung bewirken, dass der Prozessor eine dritte Benutzerschnittstelle präsentiert, um die Konfiguration des bestimmten fehlenden Prozesselements des einen Prozesselements oder der mehreren Prozesselemente zu ermöglichen.
DE102007046642A 2006-09-29 2007-09-28 Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen Pending DE102007046642A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/537,138 2006-09-29
US11/537,138 US7848829B2 (en) 2006-09-29 2006-09-29 Methods and module class objects to configure absent equipment in process plants

Publications (1)

Publication Number Publication Date
DE102007046642A1 true DE102007046642A1 (de) 2008-04-24

Family

ID=38738970

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007046642A Pending DE102007046642A1 (de) 2006-09-29 2007-09-28 Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen

Country Status (6)

Country Link
US (1) US7848829B2 (de)
JP (3) JP5586825B2 (de)
CN (1) CN101158870B (de)
DE (1) DE102007046642A1 (de)
GB (2) GB2443061B (de)
HK (1) HK1115923A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664574B2 (en) * 2004-06-28 2010-02-16 Siemens Industry, Inc. Method for representing a building system enabling facility viewing for maintenance purposes
US7894917B2 (en) * 2006-10-20 2011-02-22 Rockwell Automation Technologies, Inc. Automatic fault tuning
US8601435B2 (en) 2006-10-20 2013-12-03 Rockwell Automation Technologies, Inc. Module class subsets for industrial control
US7680550B2 (en) * 2006-10-20 2010-03-16 Rockwell Automation Technologies, Inc. Unit module state processing enhancements
US7844349B2 (en) 2006-10-20 2010-11-30 Rockwell Automation Technologies, Inc. Standard MES interface for discrete manufacturing
US7676292B2 (en) 2006-10-20 2010-03-09 Rockwell Automation Technologies, Inc. Patterns employed for module design
US7684877B2 (en) * 2006-10-20 2010-03-23 Rockwell Automation Technologies, Inc. State propagation for modules
US7725200B2 (en) 2006-10-20 2010-05-25 Rockwell Automation Technologies, Inc. Validation of configuration settings in an industrial process
US8392008B2 (en) 2006-10-20 2013-03-05 Rockwell Automation Technologies, Inc. Module arbitration and ownership enhancements
US20090089698A1 (en) * 2007-09-28 2009-04-02 Bruce Gordon Fuller Automation visualization schema with zooming capacity
WO2010003735A2 (de) * 2008-06-16 2010-01-14 Siemens Aktiengesellschaft Verfahren zur anlagensteuerung in einer kraftwerksanlage
US8229575B2 (en) * 2008-09-19 2012-07-24 Rockwell Automation Technologies, Inc. Automatically adjustable industrial control configuration
US9256219B2 (en) * 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
US8538559B2 (en) * 2011-04-04 2013-09-17 Relcom, Inc. Fieldbus system function block enhancements using transducer block
US20140125496A1 (en) * 2012-04-10 2014-05-08 Omntec Mfg. Inc. Universal Remote Display System
US11774927B2 (en) 2012-10-08 2023-10-03 Fisher-Rosemount Systems, Inc. Methods and apparatus to provide a role-based user interface
DE112013004924T9 (de) 2012-10-08 2015-07-23 Fisher-Rosemount Systems, Inc. Dynamisch wiederverwendbare Klassen
US11216159B2 (en) * 2012-10-08 2022-01-04 Fisher-Rosemount Systems, Inc. Configuration element for graphic elements
DE102013114720A1 (de) * 2013-12-20 2015-06-25 Bayer Technology Services Gmbh Verfahren zum Betreiben einer modular aufgebauten Produktionsanlage
WO2016002076A1 (ja) * 2014-07-04 2016-01-07 三菱電機株式会社 位置決め制御装置の同期制御設定方法
WO2016023573A1 (en) * 2014-08-11 2016-02-18 Abb Technology Ltd Object creation in process control systems
WO2016083262A1 (de) * 2014-11-24 2016-06-02 Bayer Technology Services Gmbh Verfahren zur konfiguration einer zur durchführung von wenigstens einer chemischen reaktion eingerichteten produktionsanlage
US10401836B2 (en) * 2016-03-21 2019-09-03 Fisher-Rosemount Systems, Inc. Methods and apparatus to setup single-use equipment/processes
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
CN109844438B (zh) 2016-10-12 2020-06-12 株式会社电装 蒸发器
US10571901B2 (en) * 2017-08-08 2020-02-25 Fisher-Rosemount Systems, Inc. Controlled roll-out of module classes
US10802458B2 (en) * 2017-08-10 2020-10-13 Rockwell Automation Technologies, Inc. System for building an industrial control program from device type classes having device specific instructions
CN111966066B (zh) * 2020-08-18 2021-12-10 北京联合普肯工程技术股份有限公司 设备数据处理方法、装置和电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909368A (en) * 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US6385496B1 (en) * 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US7707550B2 (en) * 2001-06-22 2010-04-27 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having an extensible component model
US7650607B2 (en) * 2001-06-22 2010-01-19 Invensys Systems, Inc. Supervisory process control and manufacturing information system application having a layered architecture
US20030236676A1 (en) * 2002-06-20 2003-12-25 Graham Robert Lionel Process for funding multi-unit real estate projects
JP2004061654A (ja) * 2002-07-25 2004-02-26 Renesas Technology Corp キャラクタ表示制御装置
US6928328B2 (en) * 2002-08-02 2005-08-09 Fisher-Rosemount Systems, Inc. Integrated electronic signatures for approval of process control system software objects
US7146231B2 (en) * 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
DE10348563B4 (de) * 2002-10-22 2014-01-09 Fisher-Rosemount Systems, Inc. Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
US7043311B2 (en) * 2003-02-18 2006-05-09 Fisher-Rosemount Systems, Inc. Module class objects in a process plant configuration system
US7117052B2 (en) * 2003-02-18 2006-10-03 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
US9256219B2 (en) * 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates

Also Published As

Publication number Publication date
JP6343307B2 (ja) 2018-06-13
GB2484016B (en) 2012-09-05
GB2484016A (en) 2012-03-28
CN101158870A (zh) 2008-04-09
HK1115923A1 (en) 2008-12-12
US20080188960A1 (en) 2008-08-07
US7848829B2 (en) 2010-12-07
GB0719124D0 (en) 2007-11-14
JP6013405B2 (ja) 2016-10-25
CN101158870B (zh) 2013-12-04
GB201118335D0 (en) 2011-12-07
JP2016201130A (ja) 2016-12-01
JP5586825B2 (ja) 2014-09-10
GB2443061B (en) 2012-04-18
JP2008135007A (ja) 2008-06-12
JP2014225281A (ja) 2014-12-04
GB2443061A (en) 2008-04-23

Similar Documents

Publication Publication Date Title
DE102007046642A1 (de) Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen
DE112005001043B4 (de) Verfahren zur Bereitstellung bzw. Konfigurierung einer Benutzerschnittstelle und Benutzerschnittstellensystem
DE102007041917B4 (de) Prozessanlagenüberwachung auf der Grundlage von multivariater statistischer Analyse und Online-Prozesssimulation
JP4936641B2 (ja) プロセス・プラント・コンフィギュレーション・システムにおけるモジュール・クラス・オブジェクト
DE10348564B4 (de) Objekteinheit, Prozeßflußmodulsystem, Prozeßflußverfolgungssystem und Verbinderobjekteinheit zum Gebrauch in einer Prozeßanlage
DE102004038808A1 (de) Versionskontrolle für Objekte in einem Konfigurationssystem für Prozessanlagen
DE10348563B4 (de) Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen
DE102004038807A1 (de) Sicherheit für Objekte in einem Konfigurationssystem für Prozessanlagen
DE112013004924T9 (de) Dynamisch wiederverwendbare Klassen
DE102018114592A1 (de) Synchronisation von konfigurationsänderungen in einer prozessanlage
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
DE102017117038A1 (de) Anlagenbausystem mit integrierter simulation und kontrollsystem-konfiguration
DE102007046962A1 (de) Aktualisierung und Einsatz dynamischer Prozesssimulation im laufenden Betrieb einer Prozessumgebung
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE102008017843A1 (de) Verfahren und Vorrichtungen zur Verwaltung von Prozessanlagenalarmen
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
DE10049025A1 (de) Process control configuration system for use with an AS-inferface device network
DE102015108243A1 (de) Verfahren und Vorrichtung zur Konfiguration von Prozesssteuerungssystemen basierend auf generischen Prozesssystembibliotheken
DE102018119321A1 (de) Kontrollierter Rollout von Modulklassen
WO2011110335A1 (de) Verfahren und system zur aufbereitung und bereitstellung von informationen zum betrieb einer technischen anlage
EP1393137A1 (de) Verfahren zum festlegen von automatisierten prozessen

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20120109

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017500000

Ipc: G06F0030000000

R002 Refusal decision in examination/registration proceedings
R006 Appeal filed
R008 Case pending at federal patent court