-
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.