DE102004038808A1 - Versionskontrolle für Objekte in einem Konfigurationssystem für Prozessanlagen - Google Patents
Versionskontrolle für Objekte in einem Konfigurationssystem für Prozessanlagen Download PDFInfo
- Publication number
- DE102004038808A1 DE102004038808A1 DE102004038808A DE102004038808A DE102004038808A1 DE 102004038808 A1 DE102004038808 A1 DE 102004038808A1 DE 102004038808 A DE102004038808 A DE 102004038808A DE 102004038808 A DE102004038808 A DE 102004038808A DE 102004038808 A1 DE102004038808 A1 DE 102004038808A1
- Authority
- DE
- Germany
- Prior art keywords
- process plant
- module
- module class
- objects
- version
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 488
- 230000008569 process Effects 0.000 title claims abstract description 432
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 230000008859 change Effects 0.000 claims description 67
- 230000006870 function Effects 0.000 claims description 41
- 230000000694 effects Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 41
- 238000004886 process control Methods 0.000 description 29
- 239000002131 composite material Substances 0.000 description 24
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 18
- 239000002253 acid Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 239000003513 alkali Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 11
- 238000011217 control strategy Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 8
- 150000003839 salts Chemical class 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 239000000203 mixture Substances 0.000 description 6
- 238000013474 audit trail Methods 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 4
- 238000011049 filling Methods 0.000 description 4
- 238000010438 heat treatment Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000010923 batch production Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 239000012530 fluid Substances 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 239000002585 base Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000004808 supercritical fluid chromatography Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 208000023697 ABri amyloidosis Diseases 0.000 description 1
- 201000000162 ITM2B-related cerebral amyloid angiopathy 1 Diseases 0.000 description 1
- 238000005284 basis set Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003348 petrochemical agent Substances 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 210000004916 vomit Anatomy 0.000 description 1
- 230000008673 vomiting Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41835—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by programme execution
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41845—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4188—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31121—Fielddevice, field controller, interface connected to fieldbus
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31418—NC program management, support, storage, distribution, version, update
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32154—Object, attribute for geometry, technology, function oop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32161—Object oriented control, programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Quality & Reliability (AREA)
- Manufacturing & Machinery (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
- Querverweise auf zugehörige Anmeldungen
- Die vorliegende Anmeldung ist eine Teilfortführungsanmeldung der am 18. Februar 2003 eingereichten US-Patentanmeldung Nr. 10/368,151 mit dem Titel "MODULE CLASS OBJECTS IN A PROCESS PLANT CONFIGURATION SYSTEM", die hiermit ausdrücklich durch Bezugnahme für alle Zwecke vollständig in diese Anmeldung einbezogen wird.
- Die vorliegende Anmeldung steht im Zusammenhang mit der gleichzeitig anhängigen US-Patentanmeldung Nr. (Anwaltsregister Nr. 06005/40122) mit dem Titel "SECURITY FOR OBJECTS IN A PROCESS PLANT CONFIGURATION SYSTEM", die am gleichen Tag wie die vorliegende Anmeldung eingereicht wurde und hiermit ausdrücklich durch Bezugnahme für alle Zwecke vollständig in diese Anmeldung einbezogen wird.
- Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich allgemein auf Prozessanlagen und im Besonderen auf die Versionskontrolle im Zusammenhang mit der Konfigurierung einer Prozessanlage.
- Hintergrund
- Verteilte Prozesssteuerungssysteme, wie sie in der chemischen Industrie, der Petrochemie und anderen Prozessen eingesetzt werden, umfassen typischerweise ein oder mehrere, über analoge, digitale oder kombinierte analog/digitale Busse kommunikativ mit einer oder mehreren Feldvorrichtungen verbundene Prozesssteuerungsgeräte. Die Feldvorrichtungen, bei denen es sich beispielsweise um Ventile, Ventilsteller, Schalter und Messwertgeber (z.B. Temperatur-, Druck-, Pegel- und Durchflusssensoren) handeln kann, sind in der Prozessumgebung angeordnet und führen Prozessfunktionen aus, wie Öffnen und Schließen von Ventilen, Messen von Prozessparametern etc. Intelligente Feldvorrichtungen, wie die Feldvorrichtungen, die dem bekannten Fieldbusprotokoll entsprechen, können auch Steuerungsberechnungen, Alarmfunktionen und sonstige Steuerungsfunktionen ausführen, die gewöhnlich im Steuerungsgerät implementiert werden. Die Prozesssteuerungsgeräte, die ebenfalls typischerweise in der Anlagenumgebung angeordnet sind, empfangen Signale entsprechend den Prozessmessungen, die von den Feldvorrichtungen vorgenommen wurden, und/oder andere, den Feldvorrichtungen zugehörige Informationen und führen eine Steuerungsapplikation aus, die beispielsweise verschiedene Steuerungsmodule betreibt, die Entscheidungen für die Prozesssteuerung treffen, Steuersignale auf Basis der empfangenen Information erzeugen und mit den Steuerungsmodulen oder -blöcken koordinieren, die in den Feldvorrichtungen, z.B. den HART- und Fieldbusfeldvorrichtungen, ausgeführt werden. Die Steuerungsmodule im Steuerungsgerät senden die Steuersignale über die Kommunikationsleitungen an die Feldvorrichtungen, um so den Betrieb der Prozessanlage zu steuern.
- Information von den Feldvorrichtungen und dem Steuerungsgerät wird gewöhnlich über einen Datenhighway einer oder mehreren anderen Hardware-Vorrichtungen zur Verfügung gestellt, wie Bediener-Workstations, Personal Computern, der Datenhistorie, Reportgeneratoren, zentralisierten Datenbanken etc., die typischerweise in Steuerungszentralen oder anderen Standorten außerhalb der rauen Anlagenumgebung untergebracht sind. Diese Hardware-Vorrichtungen führen Applikationen aus, die beispielsweise einem Bediener die Ausführung prozessbezogener Funktionen ermöglichen, wie die Änderung von Einstellungen der Prozesssteuerungsroutine, die Änderung des Betriebs der Steuerungsmodule innerhalb der Steuerungsgeräte oder Feldvorrichtungen, die Anzeige des gegenwärtigen Prozesszustands, die Anzeige von durch Feldvorrichtungen und Steuerungsgeräte erzeugten Alarmen, die Simulation des Prozessbetriebs zum Zwecke der Personalschulung oder das Testen der Prozesssteuerungssoftware, die Führung und Aktualisierung einer Konfigurationsdatenbank etc.
- Das beispielsweise von Fisher Rosemount Systems, Inc. vertriebene DeltaVTM-Steuerungssystem umfasst zahlreiche gespeicherte und von verschiedenen, an den diversen Standorten innerhalb einer Prozessanlage angeordneten Vorrichtungen ausgeführte Applikationen. Mit einer Konfigurierungsapplikation, die in einer oder mehreren Bediener-Workstations residiert, können Nutzer Prozesssteuerungsmodule erzeugen oder ändern und diese über einen Datenhighway in zweckgebundene verteilte Steuerungsgeräte herunterladen. Diese Steuerungsmodule bestehen typischerweise aus kommunikativ miteinander verbundenen Funktionsblöcken, die Objekte in einem objektorientierten Programmprotokoll sind und auf Basis von Eingaben Funktionen innerhalb des Steuerungsschemas ausführen und Ausgaben zu anderen Funktionsblöcken innerhalb des Steuerungsschemas bereitstellen. Die Konfigurierungsapplikation kann einem Konfigurierer auch die Möglichkeit geben, Bedienerschnittstellen zu erzeugen oder zu ändern, die von einer Anzeigeapplikation genutzt werden, um einem Bediener Daten anzuzeigen, so dass er innerhalb der Prozesssteuerungsroutinen Einstellungen wie z.B. Sollwerte ändern kann. Jedes zweckgebundene Steuerungsgerät sowie in manchen Fällen Feldvorrichtungen speichern und führen eine Steuerungsapplikation aus, die die diesen zugeordneten und in diese heruntergeladenen Steuerungsmodule betreibt, um die aktuellen Prozesssteuerungsfunktionalität zu implementieren. Die Anzeigeapplikationen, die in einer oder mehreren Bediener-Workstations ausgeführt werden können, empfangen Daten von der Steuerungsapplikation über den Datenhighway und zeigen diese Daten den Konfiguierern, Bedienern oder Nutzern des Prozesssteuerungssystems an, die über die Nutzerschnittstellen zugreifen, und können eine Vielzahl von verschiedenen Anzeigen bereitstellen, wie z.B. Anzeigen für Bediener, Ingenieure, Techniker etc. Eine Datenhistorieapplikation wird typischerweise in einer Datenhistorie gespeichert und von dieser ausgeführt, die einige oder alle der über den Datenhighway bereitgestellten Daten erfasst und speichert, während eine Applikation der Konfigurationsdatenbank in einem weiteren Computer ausgeführt werden kann, der mit dem Datenhighway verbunden ist, um die jeweils aktuelle Konfiguration der Prozesssteuerungsroutine und die dazugehörigen Daten zu speichern. Alternativ kann die Konfigurationsdatenbank in der gleichen Workstation gespeichert sein wie die Konfigurierungsapplikation.
- Gegenwärtig können Konfigurierungsapplikationen eine Bibliothek von Objekttemplates bzw. Templateobjekten umfassen, wie beispielsweise Funktionsblockobjekttemplates bzw. Funktionsblocktemplateobjekte und in einigen Fällen Steuerungsmodulobjekttemplates bzw. Steuerungsmodultemplateobjekte. Diese Konfigurierungsapplikationen werden genutzt, um eine Steuerungsstrategie für eine Prozessanlage zu konfigurieren. Alle Objekttemplates haben vorgegebene Eigenschaften, Einstellungen und Methoden, und der Ingenieur, der die Konfigurierungsapplikation anwendet, kann diese Objekttemplates auswählen und wie erforderlich Kopien der ausgewählten Objekttemplates in einem Konfigurationsbildschirm anordnen, um ein Steuerungsmodul zu entwickeln. Während der Auswahl und Anordnung der Objekttemplates im Konfigurationsbildschirm verbindet der Ingenieur die Eingänge und Ausgänge dieser Objekte miteinander und ändert ihre Parameter, Namen, Tags und anderen Eigenschaften, um ein spezifisches Steuerungsmodul für eine bestimmte Verwendung in der Prozessanlage zu erzeugen. Nach Erzeugung eines oder mehrerer derartiger Steuerungsmodule kann der Ingenieur das Steuerungsmodul dann instantiieren und es in das oder die dafür vorgesehene(n) Steuerungsgeräte) bzw. die Feldvorrichtungen zur Ausführung während des Betriebs der Prozessanlage herunterladen.
- Anschließend erstellt der Ingenieur im Allgemeinen ein oder mehrere Displays für Bediener, Wartungspersonal etc. innerhalb der Prozessanlage, indem er in einer Applikation zur Erzeugung von Bildschirmausgaben Displayobjekte auswählt und erstellt. Diese Bildschirmausgaben werden typischerweise auf systemweiter Basis in einer oder mehreren der Workstations implementiert und stellen vorkonfigurierte Bildschirmausgaben für den Bediener oder das Wartungspersonal bezüglich des Betriebszustands des Steuerungssystems oder der Vorrichtungen innerhalb der Anlage bereit. Diese Bildschirmausgaben haben typischerweise die Form von Alarmdisplays, die von Steuerungsgeräten oder Vorrichtungen innerhalb der Prozessanlage erzeugte Alarme empfangen und anzeigen, von Steuerungsdisplays, die den Betriebszustand der Steuerungsgeräte und anderer Vorrichtungen innerhalb der Prozessanlage anzeigen, von Wartungsdisplays, die den Funktionszustand der Vorrichtungen innerhalb der Prozessanlage anzeigen, etc. Diese Bildschirmausgaben sind im Allgemeinen vorkonfiguriert, um auf bekannte Weise von den Prozesssteuerungsmodulen oder den Vorrichtungen innerhalb der Prozessanlage empfangene Information oder Daten anzuzeigen. In einigen bekannten Systemen werden Bildschirmausgaben mit Hilfe von Objekten erzeugt, die eine mit einem physikalischen oder logischen Element verbundene Grafik besitzen und kommunikativ mit dem physikalischen oder logischen Element verbunden sind, um Daten bezüglich des physikalischen oder logischen Elements zu empfangen. Das Objekt kann die Grafik auf dem Anzeigebildschirm auf Basis der empfangenen Daten ändern, beispielsweise um den halbvollen Zustand eines Behälters oder den von einem Durchflusssensor gemessenen Durchsatz etc. anzuzeigen.
- Ähnlich wie die Applikation zur Steuerungskonfigurierung hat eine Applikation zur Erzeugung von Bildschirmausgaben graphische Anzeigeelementtemplates, wie z.B. Behälter, Ventile, Sensoren, Bedienelemente wie Schieberegler, Ein-/Ausschalter etc., die in jeder gewünschten Konfiguration auf einem Bildschirm angeordnet werden können, um eine Bildschirmausgabe für Bediener, Wartungspersonal o.ä. zu erzeugen. Bei ihrer Anordnung auf dem Bildschirm können einzelne Grafikelemente auf dem Bildschirm so miteinander verbunden werden, dass sie für die Nutzer Informationen oder Bildschirmausgaben der internen Abläufe der Prozessanlage bereitstellen. Um die graphische Bildschirmausgabe zu animieren, muss der Erzeuger der Bildschirmausgabe jedoch jedes Grafikelement von Hand mit den innerhalb der Prozessanlage erzeugten Daten verknüpfen, wie z.B. mit von den Sensoren gemessenen oder mit den Ventilstellungen anzeigenden Daten etc., und zwar durch die Vorgabe eines Kommunikationslinks zwischen dem Grafikelement und der relevanten Datenquelle innerhalb der Prozessanlage. Dieser Prozess ist langwierig, zeitraubend und ggf. fehlerträchtig.
- Obwohl die Steuerungsobjekttemplates der Applikation zur Steuerungskonfigurierung und die Anzeigeelemente der Applikation zur Erzeugung von Bildschirmausgaben zweckmäßig sind, da sie kopiert und genutzt werden können, um viele verschiedene Steuerungsmodule und graphische Displays zu erzeugen, besteht häufig die Notwendigkeit, zahlreiche gleiche Steuerungsmodule und graphische Displays für verschiedene Ausrüstungskomponenten innerhalb der Prozessanlage zu erzeugen. So gibt es beispielsweise in vielen mittleren bis großen Prozessanlagen zahlreiche Instanzen gleicher oder ähnlicher Ausrüstungskomponenten, die unter Verwendung des gleichen allgemeinen Grundsteuerungsmoduls und -displays gesteuert und angezeigt werden können. Zur Erzeugung dieser zahlreichen Steuerungsmodule und Displays wird jedoch ein allgemeines Steuerungsmodul oder Displaymodul erzeugt, das dann für jede dieser verschiedenen Ausrüstungskomponenten kopiert wird, auf die es anwendbar ist. Nach Erstellung der Kopie muss selbstverständlich jedes der neuen Steuerungs- oder Displaymodule von Hand in der Konfigurierungsapplikation geändert werden, um die besondere Ausrüstungskomponente vorzugeben, der es zugeordnet ist, und alle diese Steuerungs- und Displaymodule müssen dann instantiiert und in das Prozesssteuerungssystem heruntergeladen werden.
- Leider sind die vorbeschriebenen Steuerungsmodule und Displayelemente in keiner Weise modular strukturiert, so dass nach Erstellung der Kopien jedes Steuerungsmodul und jede Bildschirmausgabe unter Verwendung der entsprechenden Konfigurierungsapplikation einzeln und von Hand geändert werden muss, um die Ausrüstungskomponente innerhalb der Anlage vorzugeben, der sie zugeordnet werden müssen. In einer Anlage mit zahlreichen Exemplaren des gleichen Ausrüstungstyps (d.h. replizierte Ausrüstungskomponenten) ist dieses Verfahren langwierig, zeitraubend und anfällig für vom Bediener verursachte Fehler. Außerdem haben diese verschiedenen Steuerungsmodule und Bildschirmausgaben nach ihrer Programmierung keine Kenntnis vom Vorhandensein der jeweils anderen Module und Elemente. Um also die Steuerungsmodule nach ihrer Erzeugung zu ändern, muss der Ingenieur oder Bediener von Hand die gleiche Anderung an jedem der verschiedenen Steuerungsmodule für die unterschiedlichen, mehrfach vorhandenen Ausrüstungskomponenten vornehmen, was ebenfalls zeitintensiv und langwierig ist. Das gleiche Problem tritt bei den graphischen Darstellungen auf, die für die verschiedenen Sätze mehrfach vorhandener Ausrüstungskomponenten innerhalb der Anlage erstellt wurden. Anders gesagt, wurde ein spezifisches Steuerungsmodul oder eine spezifische graphische Darstellung einmal erzeugt (individuell oder durch das Kopieren eines Objekttemplates) und dann mit einem bestimmten Satz von Ausrüstungskomponenten innerhalb der Anlage verknüpft, so existiert dieses Steuerungsmodul bzw. diese graphische Darstellung als eine eigene Entität oder ein eigenes Objekt innerhalb des Systems, ohne automatisch Kenntnis von der Existenz anderer gleicher oder ähnlicher Steuerungsmodule oder graphischer Darstellungen zu haben. Änderungen, die für jedes einzelne Steuerungsmodul und jede graphische Darstellung eines bestimmten Typs gelten, müssen daher einzeln an diesen Modulen und graphischen Darstellungen vorgenommen werden.
- Da außerdem jedes Steuerungsmodul und jedes Display ein individulelles Objekt ist, muss es in dem Sinn offen sein, dass alle internen Parameter, Darstellungen, Funktionsblöcke und andere Elemente für jeden Nutzer für Änderungen, Einsicht etc. verfügbar sind. Derzeit existiert kein Verfahren, um zu steuern, was bestimmte Bediener oder andere Nutzer in den Steuerungsmodulen und Displays einsehen können bzw. worauf sie Zugriff haben, so dass keine Möglichkeit besteht, bestimmte Elemente der Steuerungsmodule und Displays, wie z.B. proprietäre Software und Verfahren, Alarmaktivitäten etc. für den Nutzer der Steuerungsmodule und Displays unsichtbar zu machen.
- Zusammenfassung
- Ein Versionskontrollsystem unterstützt die Verwaltung von Versionen von Prozessanlagenelementen, die Entitäten in einer Prozessanlage repräsentieren oder repräsentieren können. Die Prozessanlagenelemente können beispielsweise Modulobjekte umfassen, die spezifisch Prozessentitäten der Prozessanlage repräsentieren können. Diese Modulobjekte können aus Modulklassenobjekten erzeugt werden, die generisch Prozessentitäten der Prozessanlage repräsentieren können. Versionsdaten werden gespeichert und einem Modulobjekt zugeordnet. Zu den Versionsdaten können Daten gehören, die eine Version eines Modulklassenobjekts bezeichnen, das genutzt wurde, um das Modulobjekt zu erzeugen. Die Versionsdaten können ferner Daten umfassen, die eine Version des Modulobjekts bezeichnen. Konfigurierungssysteme, Versionskontrollsysteme, Anzeigesysteme, Fehlerbereinigungssysteme, Run-Time-Überwachungssysteme, Asset-Magementsysteme etc. können die einem Element zugeordneten Versionskontrolldaten prüfen oder ihre Anzeige zulassen.
- Kurzbeschreibungen der Zeichnungen
-
1 ist ein Blockschaltbild eines verteilten Prozesssteuerungsnetzwerks, das innerhalb einer Prozessanlage angeordnet ist und das eine Bediener-Workstation aufweist, die eine Konfigurierungsapplikation implementiert, die unter Nutzung von Modulklassenobjekten Steuerungs- und Displayaktivitäten für die Prozessanlage konfiguriert; -
2 ist ein Schaltbild einer Reaktoreinheit gemäß1 ; -
3 ist ein Schaltbild einer Zumessausrüstungsentität bzw. einer Totalisatorausrüstungsentität, die in der Reaktoreinheit gemäß2 verwendet wird; -
4 ist ein Schaltbild eines Auslassventilsystems der Reaktoreinheit gemäß2 ; -
5 ist ein Blockschaltbild, welches die Beziehungen der Modulklassenobjekte und der zugeordneten Modulobjekte für Einheiten-, Ausrüstungs-, Steuerungs- und Display-Modulklassenobjekte verdeutlicht; -
6 ist ein Blockschaltbild eines Einheiten-Modulklassenobjekts für Reaktoren, das verwendet werden kann, um Konfigurierungsmaßnahmen an Reaktoren der Anlage gemäß1 durchzuführen; -
7 ist ein Blockschaltbild eines Zumessausrüstungs-Modulklassenojekts, das verwendet werden kann, um Konfigurierungsmaßnahmen an Zumessungen der Anlage gemäß1 durchzuführen; -
8 ist eine Darstellung eines ersten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
9 ist eine Darstellung eines zweiten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
10 ist eine Darstellung eines dritten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
11 ist eine Darstellung eines vierten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
12 ist eine Darstellung eines fünften Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
13 ist eine Darstellung eines sechsten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
14 ist eine Darstellung eines siebten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
15 ist eine Darstellung eines achten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; und -
16 ist eine Darstellung eines neunten Konfigurationsbildschirms, der von einem Konfigurierungsbediener verwendet werden kann, um eine Prozessanlage unter Verwendung von Modulklassenobjekten zu konfigurieren; -
17 ist ein Flussdiagramm einer beispielhaften Routine für die Konfigurierung eines Prozessanlagenelements zur Begrenzung des Zugriffs auf das Element; -
18A ist eine beispielhafte Bildschirmausgabe von Unterelementen einschließlich Funktionsblöcken eines Composite-Templates; -
18B ist eine beispielhafte Bildschirmausgabe von Unterelementen des Composite-Templates gemäß18A , in der die Unterelemente der Funktionsblöcke jedoch unsichtbar sind; -
19 ist ein Flussdiagramm einer beispielhaften Routine für die Konfigurierung einer Gruppe von Prozessanlagenelementen für die Begrenzung des Zugriffs auf die Gruppe; -
20 ist ein Flussdiagramm einer beispielhaften Routine, mit der bestimmt wird, ob die Anzeige von mit einer Prozessanlage verbundenen Daten zulässig ist; -
21 ist ein Flussdiagramm einer beispielhaften Routine, mit der bestimmt wird, ob die Änderung eines Prozessanlagenelements oder einer Gruppe von Prozessanlagenelementen zulässig ist; -
22 ist ein Flussdiagramm einer beispielhaften Routine für das Exportieren eines Prozessanlagenelements; -
23 ist ein Blockdiagramm eines beispielhaften Konfigurierungssystems, das verwendet werden kann, um Versionskontroll- und -prüfpfadinformation in Verbindung mit einer Prozessanlage bereitzustellen; -
24 ist ein Flussdiagramm einer beispielhaften Routine, um die Verfolgung von Versionen eines Prozessanlagenelements zu vereinfachen; -
25 ist ein Flussdiagramm einer beispielhaften Routine, um die Verfolgung von Versionen von Prozessanlagenelementen zu vereinfachen; -
26 ist ein Flussdiagramm einer beispielhaften Routine zur einfacheren Konfigurierung eines Prozessanlagenelements; und -
27 ist ein Flussdiagramm einer beispielhaften Routine zur einfacheren Konfigurierung von Prozessanlagenelementen; -
28 ist eine beispielhafte Bildschirmausgabe einer Nutzerschnittstelle für die Konfigurierung eines Modulklassenobjekts; -
29 ist eine weitere beispielhafte Bildschirmausgabe einer Nutzerschnittstelle für die Konfigurierung eines Modulklassenobjekts; -
30 ist eine beispielhafte Bildschirmausgabe einer Nutzerschnittstelle für die Fehlerbereinigung eines Modulobjekts, in dem mit dem Modulobjekt verbundene Daten nicht unsichtbar sind; und -
31 ist die beispielhafte Bildschirmausgabe gemäß30 , in der jedoch mit dem Modulobjekt verbundene Daten unsichtbar sind. - DETAILLIERTE BESCHREIBUNG
-
1 zeigt eine Prozessanlage10 , zu der ein oder mehrere Prozesssteuerungsgeräte12 gehören, die beispielsweise über eine Ethernet-Verbindung oder einen Bus15 mit einer Vielzahl von Workstations14 verbunden sind. Die Steuerungsgeräte12 sind außerdem über diverse Kommunikationsleitungen oder Busse18 mit Vorrichtungen oder Ausrüstungskomponenten in der Prozessanlage10 verbunden, wobei nur das an das Steuerungsgerät12a angeschlossene Kommunikationsleitungsbündel18 in1 gezeigt ist. Die Steuerungsgeräte12 , die beispielsweise unter ausschließlicher Verwendung des von Fisher-Rosemount Systems, Inc. vertriebenen Steuerungsgeräts DeltaVTM implementiert werden können, können mit Steuerungselementen wie beispielsweise Feldvorrichtungen und Funktionsblöcken in den Feldvorrichtungen kommunizieren, die über die gesamte Prozessanlage10 verteilt sind, um eine oder mehrere Prozesssteuerungsroutinen19 auszuführen und so die gewünschte Steuerung der Prozessanlage10 zu implementieren. Die Workstations14 (bei denen es sich z.B. um Personal Computer handeln kann), können von einem oder mehreren Konfigurierungstechnikern benutzt werden, um die Prozesssteuerungsroutinen19 zu konfigurieren, die von den Steuerungsgeräten12 ausgeführt werden sollen, sowie die Displayroutinen, die von den Workstations14 oder anderen Computern auszuführen sind, und um mit den Steuerungsgeräten12 zu kommunizieren, um diese Prozesssteuerungsroutinen19 in die Steuerungsgeräte12 herunterzuladen. Ferner können die Workstations14 Displayroutinen ausführen, die während des Betriebs der Prozessanlage10 Information im Zusammenhang mit der Prozessanlage10 oder Elementen dieser Anlage empfangen und anzeigen. - Jede der Workstations
14 beinhaltet einen Speicher20 für die Speicherung von Applikationen, wie Konfigurierungsapplikationen und Display- oder Anzeigeapplikationen, und für die Speicherung von Daten, wie z.B. zur Prozessanlage10 gehörige Konfigurierungsdaten. Jede der Workstations14 umfasst auch einen Prozessor21 , der die Applikationen ausführt, um einem Konfigurierungstechniker die Entwicklung von Prozesssteuerungsroutinen und anderen Routinen und das Herunterladen dieser Prozesssteuerungsroutinen in die Steuerungsgeräte12 oder andere Computer zu ermöglichen, oder um die Erfassung und Anzeige von Information für einen Nutzer während des Betriebs der Prozessanlage10 zu realisieren. - Außerdem gehört zu jedem Steuerungsgerät
12 ein Speicher22 , der Steuerungs- und Kommunikationsapplikationen speichert, und ein Prozessor24 , der die Steuerungs- und Kommunikationsapplikationen auf bekannte Weise ausführt. In einem Fall speichern und führen alle Steuerungsgeräte12 eine Steuerungsapplikation aus, die eine Steuerungsstrategie unter Verwendung einer Anzahl unterschiedlicher, unabhängig ausgeführter Steuerungsmodule oder Blöcke19 implementiert. Die Steuerungsmodule19 können alle aus im Allgemeinen als Funktionsblöcke bezeichneten Elementen bestehen, wobei jeder Funktionsblock ein Teil oder eine Subroutine einer Gesamtsteuerungsroutine ist und (über als Links bezeichnete Kommunikationen) gemeinsam mit anderen Funktionsblöcken arbeitet, um Prozesssregelungsschleifen innerhalb der Prozessanlage10 zu implementieren. Wie allgemein bekannt, führen Funktionsblöcke, die Objekte in einem objektorientierten Programmprotokoll sein können, typischerweise entweder eine Eingabefunktion aus, die z.B. einem Messwertgeber, einem Sensor oder einer anderen Prozessparametermessvorrichtung zugeordnet ist, eine Steuerungsfunktion, die beispielsweise mit einer Steuerungsroutine, die PID-, Fuzzy-Logik und sonstige Steuerungen etc. ausführt, verbunden ist, oder eine Ausgabefunktion, die den Betrieb einer Vorrichtung steuert, beispielsweise eines Ventils, um eine physikalische Funktion innerhalb der Prozessanlage10 auszuführen. Selbstverständlich existieren Hybrid- oder andere Typen komplexer Funktionsblöcke, z.B. Model Predictive Controller (MPCs), Optimierer etc. Während das Fieldbus-Protokoll und das DeltaVTM-Systemprotokoll in einem objektorientierten Programmprotokoll entwickelte und implementierte Steuerungsmodule und Funktionsblöcke nutzen, könnten die Steuerungsmodule unter Verwendung jedes gewünschten Steuerungsprogrammschemas entwickelt werden, einschließlich beispielsweise sequentiellen Funktionsblöcken, Kontaktplänen etc., ohne Beschränkung auf die Verwendung von Funktionsblöcken oder einer sonstigen speziellen Programmiertechnik. - Die Workstations
14 können über einen Bildschirm mit Darstellung der Steuerungselemente in den Prozesssteuerungsroutinen19 eine graphische Darstellung der Prozesssteuerungsroutinen19 in den Steuerungsgeräten12 für einen Nutzer bereitstellen und die Konfiguration dieser Steuerungselemente für die Steuerung der Prozessanlage10 zeigen. In dem System gemäß1 ist eine Konfigurationsdatenbank25 mit dem Ethernet-Bus15 verbunden, um von den Steuerungsgeräten12 und den Workstations14 benutzte Konfigurationsdaten zu speichern und durch das Erfassen und Speichern von in der Prozessanlage10 erzeugten Daten für eine spätere Nutzung als Datenhistorie zu dienen. - In der Prozessanlage
10 der1 ist das Steuerungsgerät12a über Bus18 kommunikativ mit drei Grupppen gleich konfigurierter Reaktoren verbunden (bei denen es sich um mehrfach vorhandene Ausrüstungskomponenten innerhalb der Anlage10 handelt), die hierin als Reactor_01, Reactor_02 und Reactor_03 bezeichnet werden. Reactor_01 umfasst einen Reaktionsbehälter oder Tank100 , drei Einlassventilsysteme (Ausrüstungsentitäten)101 ,102 und103 , die so angeschlossen sind, dass sie die Fluideinlassleitungen für Säure, Alkali bzw. Wasser zum Reaktionsbehälter100 kontrollieren, und ein Auslassventilsystem104 , das den Fluidabfluss aus dem Reaktionsbehälter100 kontrolliert. Ein Sensor105 , bei dem es sich um jeden gewünschten Sensortyp, wie z.B. einen Pegelmesser, einen Temperaturfühler, einen Drucksensor etc. handeln kann, ist im oder in der Nähe des Reaktionsbehälters100 angeordnet. Für den Zweck dieser Ausführungen wird angenommen, dass es sich beim Sensor105 um einen Pegelmesser handelt. Ferner ist ein gemeinsam genutztes Wasserheadersystem110 an die Wasserleitung stromaufwärts von jedem der Reaktoren Reactor_01, Reactor_02 und Reactor_03 angeschlossen, um eine Hauptkontrolle für den Wasserfluss zu jedem dieser Reaktoren bereitzustellen. - Dementsprechend gehören zu Reactor_02 ein Reaktionsbehälter
200 , drei Einlassventilsysteme201 ,202 und203 , ein Auslassventilsystem204 und ein Pegelmesser205 , während Reactor_03 einen Reaktionsbehälter300 , drei Einlassventilsysteme301 ,302 und303 , ein Auslassventilsystem304 und einen Pegelmesser305 umfasst. Im Beispiel der1 können die Reaktoren Reactor_01, Reactor_02 und Reactor_03 Salz produzieren, mit Zugabe von Säure durch die Einlassventilsysteme101 ,201 und301 , mit Zugabe von Alkali durch die Einlassventilsysteme102 ,202 und302 , während die Einlassventilsysteme103 ,203 und303 in Verbindung mit dem gemeinsam genutzten Wasserheader110 Wasser in den Reaktionsbehälter100 einleiten. Die Auslassventilsysteme104 ,204 und304 können so betätigt werden, dass das Produkt über eine Leitung, die in1 nach rechts gerichtet ist, abgezogen und Abfall oder anderes unerwünschte Material durch eine in1 nach unten gerichtete Leitung abgeleitet wird. - Das Steuerungsgerät
12a ist über den Bus18 kommunikativ mit den Ventilsystemen101 -104 ,110 ,201 -204 und301 -304 und den Sensoren105 ,205 und305 verbunden, um den Betrieb dieser Elemente zu steuern und eine oder mehrere Operationen in Zusammenhang mit den Reaktoreinheiten Reactor_01, Reactor_02 und Reactor_03 auszuführen. Zu diesen allgemein als Phasen bezeichneten Operationen können beispielsweise das Befüllen der Reaktionsbehälter100 ,200 ,300 , das Erhitzen des Materials in den Reaktionsbehältern100 ,200 ,300 , das Entleeren der Reaktionsbehälter100 ,200 ,300 , das Reinigen der Reaktionsbehälter100 ,200 ,300 etc. gehören. - Bei den in
1 dargestellten Ventilen, Sensoren und anderen Ausrüstungskomponenten kann es sich um beliebige Ausrüstungstypen handeln, z.B. auch um Fieldbus-Vorrichtungen, Standard 4-20mA-Vorrichtungen, HART-Vorrichtungen etc., die mit dem Steuerungsgerät12 unter Verwendung aller bekannten oder gewünschten Kommunikationsprotokolle kommunizieren können, z.B. mit dem Fieldbus-Protokoll, dem HART-Protokoll, dem 4-20 mA-Analogprotokoll etc. Weiter können gemäß den hierin erläuterten Prinzipien andere Vorrichtungstypen mit den Steuerungsgeräten12 verbunden und von ihnen gesteuert werden. Ferner können verschiedene Anzahlen und andere Typen von Steuerungsgeräten innerhalb der Anlage10 angeschlossen werden, um andere mit der Prozessanlage10 verbundene Vorrichtungen oder Bereiche zu steuern, und der Betrieb dieser zusätzlichen Steuerungsgeräte kann auf jede gewünschte Weise mit dem Betrieb des in1 gezeigten Steuerungsgeräts12a koordiniert werden. - Allgemein gesagt, die Prozessanlage
10 der1 kann für die Implementierung von Batchprozessen eingesetzt werden, bei denen beispielsweise eine der Workstations14 oder das Steuerungsgerät12a eine Batchroutine ausführt, bei der es sich um eine übergeordnete Steuerungsroutine handelt, die den Betrieb einer oder mehrerer Reaktoreinheiten (sowie anderer Ausrüstungskomponenten) leitet, um eine Reihe verschiedener Schritte (gewöhnlich als Phasen bezeichnet) auszuführen, die für die Herstellung eines Produkts, z.B. einer bestimmten Salzart, erforderlich sind. Zur Implementierung verschiedener Phasen nutzt die Batchroutine im Allgemeinen eine Rezeptur, die die auszuführenden Schritte, die den Schritten zugeordneten Mengen und Zeiten sowie die Reihenfolge dieser Schritte vorgibt. Zu den Schritten einer Rezeptur kann beispielsweise das Befüllen eines Reaktionsbehälters mit den geeigneten Materialien bzw. den Ingredienzien, das Mischen der Materialien im Reaktionsbehälter, deren Erhitzung im Reaktionsbehälter auf eine bestimmte Temperatur während einer gewissen Zeit, das Entleeren des Reaktionsbehälters und dessen Reinigung zur Vorbereitung auf den nächsten Batchlauf gehören. Jeder dieser Schritte definiert eine Phase des Batchlaufs und die Batchroutine im Steuerungsgerät12a führt einen unterschiedlichen Steuerungsalgorithmus für jede dieser Phasen aus. Selbstverständlich können sich die jeweiligen Materialien, ihre Mengen, die Temperaturen und Zeiten für die Erhitzung etc. für die verschiedenen Rezepturen voneinander unterscheiden, und diese Parameter können sich daher je nach hergestelltem Produkt und angewandter Rezeptur von Batchlauf zu Batchlauf ändern. Dem Fachmann ist klar, dass hierin zwar Steuerungsroutinen und Konfigurationen für Batchläufe in den in1 gezeigten Reaktoren beschrieben werden, dass solche Steuerungsroutinen aber auch genutzt werden können, um andere gewünschte Vorrichtungen zu steuern, um jeden anderen gewünschten Batchprozesslauf oder auf Wunsch auch kontinuierliche Prozessläufe auszuführen. - Ferner ist klar, dass die gleichen Phasen oder Schritte eines Batchprozesses in jeder der verschiedenen Reaktoreinheiten der
1 zur gleichen oder zu verschiedenen Zeiten implementiert werden können. Ferner kann, da die Reaktoreinheiten der1 im Allgemeinen die gleiche Anzahl und die gleichen Typen von Ausrüstungskomponenten umfassen, die gleiche generische Phasensteuerungsroutine für eine bestimmte Phase angewendet werden, um jede der verschiedenen Reaktoreinheiten zu steuern, wobei jedoch diese generische Phasensteuerungsroutine geändert werden muss, um die diversen, den verschiedenen Reaktoreinheiten zugeordneten Hardware- oder Ausrüstungskomponenten zu steuern. Um eine Befüllungsphase für Reactor_01 (in der die Reaktoreinheit befüllt wird) zu implementieren, öffnet beispielsweise eine Befüllsteuerungsroutine ein oder mehrere den Einlassventilsystemen101 ,102 und103 zugeordnete Ventile für eine bestimmte Zeit, z.B. bis der Pegelmesser105 feststellt, dass der Behälter100 voll ist. Diese gleiche Steuerungsroutine kann jedoch auch angewandt werden, um eine Befüllungsphase für Reactor_02 zu implementieren, und zwar lediglich durch die Änderung der Bezeichnung des bzw. der Einlassventile in die mit den Ventilsystemen201 ,202 und203 verbundene Bezeichnung anstelle der Bezeichnung für die Ventilsysteme101 ,102 und103 und durch die Änderung der Bezeichnung des Pegelmessers, nämlich Pegelmesser205 anstelle von Pegelmesser105 . -
2 zeigt genauere Einzelheiten eines der Reaktoren der1 , im Besonderen Reactor_01. Wie ähnlich in1 dargestellt, umfasst der Reactor_01 der2 den Reaktionsbehälter100 , die Einlassventilsysteme101 ,102 ,103 und110 für die Zugabe von Säure, Alkali und Wasser in den Behälter100 , das Auslassventilsystem104 für das Ablassen von Material aus dem Behälter100 und den Pegelmesser105 . Wie in2 weiter gezeigt, benutzt jedes der Einlassventilsysteme101 ,102 und110 eine ähnliche, als Zumessung bzw. Totalisator bezeichnete Ausrüstungsentität, zu der zwei parallel angeordnete Ventile und eine stromabwärts nach den beiden Ventilen angeordnete Durchflussmessvorrichtung gehören. Die Zumessung für das Einlassventilsystem101 , die in3 genauer gezeigt wird, umfasst ein als Grobventil bezeichnetes Absperrventil101a , ein als Feinventil bezeichnetes Absperrventil101b und einen stromabwärts von den Ventilen101a und101b angeordneten Durchflussmesser101c . Die Zumessung101 besitzt ein oder mehrere ihr zugeordnete Steuerungsmodule oder Routinen, die genutzt werden, um unter Verwendung der vom Durchflussmesser101c durchgeführten Messungen die Säurezugabe zu steuern. Mit einer ersten derartigen Steuerungsroutine kann durch die Zumessung101 unter Nutzung von Grobventil101a und Feinventil101b ein schneller Strom gesteuert werden, während eine zweite derartige Steuerungsroutine mit der Zumessung101 unter Nutzung von Grobventil101a und Feinventil101b den exakten Strom steuert. - Wie aus
2 zu ersehen, umfasst das Ventilsystem102 für die Alkalizugabe eine Zumessung mit einem Grobventil102a , einem Feinventil102b und einem Durchflussmesser102c , und das gemeinsam genutzte Wassereinlassventilsystem110 umfasst ein Grobventil110a , ein Feinventil110b und einen Durchflussmesser110c . Jede der Zumessungen101 ,102 und110 hat den gleichen Typ mehrfach vorhandener Ausrüstungskomponenten, obwohl sie an verschiedenen Stellen in der gleichen Einheit, nämlich dem Reactor_01, eingesetzt werden. Ebenso umfassen Reactor_02 und Reactor_03 Zumessungen an den Einlassventilsystemen201 ,202 ,301 und302 . - In gleicher Weise bildet das Auslassventilsystem
104 eine weitere der mehrfach vorhandenen Ausrüstungskomponenten, zu der drei Ventile gehören. Wie am besten aus4 erkennbar, umfasst das Auslassventilsystem104 ein Hauptauslassventil104a , das geöffnet werden muss, um Material aus dem Tank100 abzulassen, ein Produktventil104b , das gemeinsam mit dem Hauptauslassventil104a geöffnet werden muss, um das Produkt aus dem Tank100 abzuziehen, und ein Entleerungsventil104c , das gemeinsam mit dem Hauptauslassventil104a geöffnet werden muss, um Material, beispielsweise Abfallprodukte, Reinigungsflüssigkeit etc. vom Tank100 in ein Ablass- oder Entsorgungssystem abzuleiten. Selbstverständlich werden dem Auslassventilsystem104 eine oder mehrere Steuerungsroutinen zugeordnet, um den Zustand der Ventile104a ,104b und104c zu steuern und den Behälter100 zu schließen, zu entleeren oder um das Produkt aus dem Behälter100 abzuziehen. - Um eine Steuerungsroutine für die Steuerung der verschiedenen, den Reaktoren Reactor_01, Reactor_02 und Reactor_03 der
1 zugeordneten Ausrüstungskomponenten zu erstellen, erzeugte ein Konfigurierungstechniker bisher vielleicht zunächst eine Anzahl von generischen Steuerungsmodultemplates bzw. Templatesteuerungsmodulen, die beispielsweise in einer Bibliothek in einer der Workstations14 gespeichert wurden. Um eine Steuerungsmodultemplate zu erzeugen, verband der Ingenieur graphisch verschiedene Steuerungsfunktionsblöcke miteinander, um eine Steuerungsroutine für verschiedene, im Reaktor ausgeführte Elemente oder Regelschleifen bereitzustellen. Nach der typischerweise auf Basis eines Ventils oder einer Regelschleife erfolgten Erzeugung der generischen Steuerungsmodultemplates konnten diese Steuerungsmodultemplates kopiert und ihre Kopien von Hand mit der entsprechenden Ausrüstungskomponente innerhalb der Anlage10 , z.B. mit einer bestimmten Ausrüstungskomponente innerhalb der Reaktoren Reactor_01, Reactor_02 und Reactor_03 verknüpft werden. Nach ihrer Verknüpfung, die wie in der US-Patentschrift Nr. 6,385,496 genauer beschrieben entweder direkt oder unter Verwendung von Aliasnamen hergestellt wurde, wurden die verknüpften Kopien der Steuerungsmodule in eines oder mehrere Steuerungsgeräte12 heruntergeladen und benutzt, um Prozesssteuerungsmaßnahmen in den Reaktoren durchzuführen, mit denen sie verbunden waren. Die aus den Steuerungsmodultemplates erzeugten verknüpften Steuerungsmodule hatten jedoch keinen Bezug bzw. keine Beziehung zu den Modultemplates, aus denen sie erzeugt wurden, und waren in Wirklichkeit bei ihrer Verwendung im Prozesssteuerungssystem eigenständige Steuerungsmodule oder Objekte. - In diesen Systemen musste die Konfigurierung außerdem auf einer Steuerungsmodulebene durchgeführt werden, was bedeutet, dass für jede der verschiedenen Ausrüstungskomponenten oder Regelschleifen innerhalb der Prozessanlage ein eigenes Steuerungsmodul erzeugt werden musste. Auf Steuerungsmodulebene gibt es typischerweise zahlreiche verschiedene Steuerungsmodultypen, die für jede der Prozessentitäten innerhalb der Prozessanlage erzeugt und mit ihr verbunden werden müssen. Im Ergebnis verbrachte der Konfigurierungstechniker viel Zeit lediglich mit dem Kopieren und Verbinden der einzelnen Steuerungsmodule mit den individullen Ausrüstungskomponenten innerhalb der Anlage. Beispielsweise musste ein Konfigurierungstechniker Dutzende von Steuerungsmodulen für eine Reaktoreinheit in der Anlage erzeugen und kopieren und dann jedes einzelne dieser Steuerungsmodule mit einer bestimmten Ausrüstungskomponente in dieser Reaktoreinheit verbinden. War die Reaktoreinheit in der Anlage mehrfach vorhanden, so wurde die Aufgabe des Konfigurierungstechnikers noch viel langwieriger, da der Konfigurierungstechniker diesen Kopier- und Verbindungsprozess für Dutzende von Steuerungsmodulen für jede der mehrfach vorhandenen Ausrüstungskomponenten durchführen musste, was zeitintensiv und äußerst anfällig für menschliche Fehler war.
- Obwohl früher ein Konfigurierungstechniker ein Einheitenmodul entwickeln konnte, waren diese Einheitenmodule lediglich Behälter für die Phasen, die in einer Einheit ablaufen konnten, und umfassten keine Ausrüstungsmerkmale in Verbindung mit der Einheit oder mit Steuerungsschemata, die für die Steuerung der Basisoperationen der Ausrüstungskomponenten innerhalb der Einheiten verwendet wurden. Obwohl auch Templates für Steuerungselemente erzeugt werden konnten, die für die Steuerung verschiedener Ausrüstungskomponenten genutzt wurden, gab es keine Steuerungsmodulpackages, die verwendet werden konnten, um auf mehrfach vorhandene übergeordnete Entitäten innerhalb der Anlage zu verweisen, z.B. auf Ausrüstungs- und Einheitenentitäten. Anders gesagt, um Steuerungsroutinen für verschiedene mehrfach vorhandene Entitäten innerhalb der Prozessanlage
10 zu erzeugen, musste der Konfigurierungstechniker Steuerungsmodule für jede der mehrfach vorhandenen Ausrüstungskomponenten auf der niedrigsten Steuerungsebene kopieren und jedes dieser Steuerungsmodule einer bestimmten Ausrüstungskomponente oder sonstigen Entität innerhalb der Prozessanlage10 anpassen. In großen Anlagen mit einer Vielzahl mehrfach vorhandener Ausrüstungskomponenten konnte diese Aufgabe zeitraubend und anfällig für Konfigurierungsfehler sein. Außerdem mussten Änderungen an einem einer mehrfach vorhandenen Ausrüstungskomponente zugeordneten Steuerungsmodul von Hand an jedem dieser verschiedenen Steuerungsmodule für die verschiedenen Ausrüstungskomponenten vorgenommen werden, was ebenfalls langwierig, zeitintensiv und anfällig für vom Bediener verursachte Fehler war. Ebenso mussten Displays für den Bediener von den Steuerungsmodulen getrennt erzeugt werden und wie die Steuerungsmodule mussten auch die Displays individuell erzeugt, geändert und mit den Ausrüstungskomponenten innerhalb der Prozessanlage verbunden werden. - Für eine einfachere und weniger zeitraubende Erzeugung und Änderung einer Prozesskonfiguration umfasst eine in einer der Workstations
14 der1 gespeicherte Konfigurierungsapplikation50 einen Satz von Modulklassenobjekten52 zur Anwendung bei der Konfigurierung der Prozesssteuerungsanlage10 . Die Modulklassenobjekte sind besonders nützlich bei der Konfigurierung einer Anlage mit zahlreichen Gruppen mehrfach vorhandener Ausrüstungskomponenten. Allgemein gesagt kann ein unterschiedliches Modulklassenobjekt52 für jeden Typ der verschiedenen physikalischen Einheiten oder Ausrüstungskomponenten erzeugt werden, die innerhalb der Prozessanlage10 mehrfach vorhanden sind oder genutzt werden, für jeden Typ einer Steuerungsmaßnahme, der in der Prozessanlage10 mehrfach vorhanden ist oder genutzt wird, für jeden verschiedenen Typ von Displayapplikationen, der in der Prozessanlage10 mehrfach vorhanden ist oder genutzt wird, etc. Nach ihrer Erzeugung können die Modulklassenobjekte52 genutzt werden, um Elemente der Prozessanlage10 zu konfigurieren, die Modulklassenobjekten entsprechen. - Die Modulklassenobjekte
52 , bei denen es sich im Wesentlichen um generische Versionen von Prozessentitäten handelt und die nicht mit einer bestimmten Prozessentität verbunden sind, können ihnen zugeordnete Objekte oder Instanzen53 ,54 ,55 und56 einer niedrigeren Ebene haben (die hierin als Modulobjekte oder Modulblöcke bezeichnet werden). Jedes Modulobjekt wird aus einem Modulklassenobjekt erzeugt und erbt die gleiche Struktur und die gleichen Eigenschaften wie das Modulklassenobjekt, aus dem es erzeugt wurde. Jedes Modulobjekt ist jedoch mit einer bestimmten Entität innerhalb der Prozessanlage10 verknüpft. So kann ein einzelnes Modulklassenobjekt52 erzeugt werden, um einen bestimmten Typ einer Reaktoreinheit zu repräsentieren (unabhängig davon, wie viele dieser Reaktoreinheiten in der Anlage10 vorhanden sind), während ein anderes Modulobjekt53 vorhanden sein oder für jede der verschiedenen Reaktoreinheiten dieses Typs, die tatsächlich in der Anlage10 vorhanden sind, erzeugt werden kann. - Die aus einem Modulklassenobjekt erzeugten Modulobjekte werden dem Modulklassenobjekt zugeordnet und sind diesem zugehörig. Im Ergebnis können Änderungen am Modulklassenobjekt automatisch an jedes diesem Modulklassenobjekt zugeordnete Modulobjekt übertragen werden oder in diesem zur Verfügung stehen. Wenn eine Anzahl von Modulobjekten aus einem bestimmten Modulklassenobjekt erzeugt und jedes dieser verschiedenen Modulobjekte mit verschiedenen Prozessentitäten verknüpft wurde, kann daher jedes der verschiedenen Modulobjekte einfach durch die Änderung des Modulklassenobjekts und die automatische Übertragung dieser Änderung auf die zugeordneten Modulobjekte geändert werden.
- Auf die gleiche Weise können nach der Erzeugung der Modulobjekte aus einem Modulklassenobjekt diese Modulobjekte unter Verwendung eines Gruppeneditierungsverfahrens mit einer bestimmten Ausrüstungskomponente innerhalb der Prozessanlage
10 verknüpft werden. Insbesondere können, da die Modulobjekte eines bestimmten Modulklassenobjekts alle mit dem gleichen Modulklassenobjekt verbunden sind oder ihm zugehören, alle diese Modulobjekte beispielsweise unter Verwendung einer Applikation vom Typ Tabellenkalkulation gemeinsam konfiguriert werden, wodurch die Spezifizierung der besonderen Beziehungen zwischen den Modulobjekten und der entsprechenden Ausrüstungskomponente in der Anlage10 , der diese Modulobjekte zugeordnet sind, einfacher wird und weniger Zeit in Anspruch nimmt. - Die Modulklassenobjekte
52 der1 können das sein, was in einer objektorientierten Programmumgebung oder -sprache gewöhnlich als Objekte bezeichnet wird. Im Ergebnis können diesen Objekten andere Objekte zugehörig sein bzw. sie können sich auf andere Objekte beziehen. Allgemein gesagt sind die Modulklassenobjekte52 Objekte einer höheren Ebene, die Merkmale oder Definitionen individueller Elemente, wie z.B. von Steuerungsroutinen, Ausrüstungskomponenten oder anderen Elementen beinhalten können, die einer Prozessentität zugeordnet sind, zusammen mit einer Definition oder einer Kennzeichnung für die Art der Wechselbeziehungen zwischen diesen individuellen Elementen, z.B. die Axt der Verbindung zwischen physikalischen Elementen oder die Axt des Zusammenwirkens zwischen logischen Elementen und physikalischen Elementen. Anders gesagt, ein Modulklassenobjekt kann beispielsweise ein Objekt innerhalb einer objektorientierten Programmiersprache sein, das die Basis für die Steuerung und Ansicht einer bestimmten Ausrüstungskomponente oder einer Gruppe von Ausrüstungskomponenten bereitstellt, ein Steuerungselement, ein Display etc. innerhalb der Prozessanlage10 , das für die Erzeugung zahlreicher Instanzen dieses Elements nützlich sein kann, die für die Konfigurierung verschiedener, mehrfach vorhandener Ausrüstungskomponenten innerhalb der Prozesssteuerungsanlage10 verwendet werden können. - Grundsätzlich ist jedes Modulklassenobjekt ein Konfigurationsbehälter, der eine generische Definition einer Prozessentität in Form aller der verschiedenen Steuerungs- und/oder Displayapplikationen oder -routinen umfasst, die auf diese Entität anwendbar sind, um von den Steuerungsgeräten
12 genutzt zu werden, um diese Entität zu steuern, oder um von den Workstations14 für Displayaktivitäten in Bezug auf diese Entität genutzt zu werden. Das Modulklassenobjekt kann eine Prozessentität beliebiger Art repräsentieren, z.B. eine Einheit, eine Ausrüstungskomponente, eine Steuerungsentität, eine Displayapplikation etc. Während der Konfigurierung der Prozessanlage10 kann das Modulklassenobjekt genutzt werden, um Konfigurierungsinstanzen der Prozessentität für eine beliebige Anzahl verschiedener Prozessentitäten zu erzeugen, die der vom Modulklassenobjekt bereitgestellten Definition entsprechen, wobei jede Konfigurierungsinstanz (das aus dem Modulklassenobjekt erzeugte Modulobjekt) einer anderen tatsächlichen Prozessentität zugeordnet oder mit ihr verknüpft wird. Diese verschiedenen Modulobjekte umfassen u.a. Steuerungsroutinen und/oder Displayroutinen, die mit besonderen, in der Prozessanlage10 angeordneten Prozessentitäten verbunden sind, wobei diese Steuerungsroutinen in die Steuerungsgeräte12 der1 heruntergeladen und dort genutzt werden können, um aktuelle Steuerungsmaßnahmen in den Prozessentitäten durchzuführen, und wobei die Displayroutinen in die Workstations14 heruntergeladen werden können, um aktuelle Displayaktivitäten in Bezug auf die Entitäten während des Betriebs der Prozessanlage10 auszuführen. - Unterschiedliche Moduklassenobjekttypen können für Prozessentitäten unterschiedlicher Anwendungsbereiche stehen und daher Steuerungs- und/oder Displayroutinen enthalten, die für die Anwendung auf bzw. in Bezug auf Prozessentitäten unterschiedlicher Anwendungsbereiche konfiguriert sind. Je größer der Anwendungsbereich der Prozessentität, z.B. einer Einheit, umso mehr Steuerungs- und/oder Displayroutinen werden typischerweise dem Modulklassenobjekt zugeordnet und umso einfacher ist die Konfigurierung von Abschnitten der Anlage unter Nutzung dieser Modulklassenobjekte. Je größer jedoch der Anwendungsbereich der mit einem Modulklassenobjekt verbundenen Prozessentität ist, umso unwahrscheinlicher ist es, dass der Prozess mehrfach vorhandene Ausrüstungskomponenten entsprechend diesem Anwendungsbereich umfasst, und daher umso geringer die Wahrscheinlichkeit, dass das Modulklassenobjekt in großem Maßstab von Nutzen ist. Je kleiner jedoch im Gegensatz dazu der Anwendungsbereich der mit einem Modulklassenobjekt verbundenen Prozessentität ist, desto wahrscheinlicher kann das Modulklassenobjekt in mehreren verschiedenen Standorten der Anlage genutzt werden, während gleichzeitig die geringste Konfigurierung bei Verwendung dieses Modulklassenobjekts in einer bestimmten Instanz erforderlich wird. Die Modulklassenobjekte ermöglichen auf jeden Fall die Konfigurierung verschiedener mehrfach vorhandener Ausrüstungskomponenten auf einer höheren Abstraktionsebene als der Steuerungsmodulebene, was die Konfigurierung einer Prozessanlage mit mehrfach vorhandenen Einheiten und anderen Ausrüstungskomponenten bei Verwendung von Modulklassenobjekten, speziell Modulklassenobjekten mit größerem Anwendungsbereich wie z.B. auf Einheitenebene, einfacher und weniger zeitraubend gestaltet.
- In einem Ausführungsbeispiel kann ein Konfigurierungstechniker bei der Konfigurierung eines Prozessssteuerungssystems ein einziges Modulklassenobjekt für die verschiedenen in der Prozessanlage mehrfach vorhandenen Elemente, wie z.B. die verschiedenen Reaktoren der
1 erzeugen. Anschließend kann der Konfigurierungstechniker Instanzen des Modulklassenobjekts (Modulobjekte) für jeden der tatsächlichen Reaktoren der1 erzeugen. Jedes so erzeugte Modulobjekt umfasst vom Steuerungsgerät12a genutzte Steuerungsroutinen, um einen der Reaktoren der1 zu betreiben, und ist spezifisch mit den Ausrüstungskomponenten in diesem einen der Reaktoren der1 verknüpft oder verbunden. Diese Steuerungsroutinen können dann in das Steuerungsgerät12a heruntergeladen und während des Betriebs der Prozessanlage10 angewandt werden. Auch nachdem es erzeugt wurde, ist jedes der Modulobjekte immer noch mit dem Modulklassenobjekt verknüpft und kann von dem Modulklassenobjekt beeinflusst werden, um es zu ändern, Zugriff auf das Modulobjekt zu gestatten oder zu sperren etc. Ebenso können Modulobjekte aus dem gleichen Modulklassenobjekt gemeinsam erzeugt und definiert werden, beispielsweise können sie unter Verwendung eines Tabellenprogramms mit einer Ausrüstungskomponente innerhalb der Anlage verbunden werden. - Obwohl viele verschiedene Typen von Modulklassenobjekten möglich sind, die innerhalb einer Prozessanlage erzeugt oder verwendet werden können, um Konfigurierungsaktivitäten innerhalb der Prozessanlage auszuführen, werden hierin vier spezifische Typen als Beispiele erläutert, nämlich Einheiten-Modulklassenobjekte, Ausrüstungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und Display-Modulklassenobjekte. Allgemein gesagt ist jeder Typ der verschiedenen Modulklassenobjekte für einen anderen Steuerungsumfang oder Einsatzbereich innerhalb der Prozessanlage
10 ausgelegt oder vorgesehen. Ein Einheiten-Modulklassenobjekt ist für die Darstellung (und Konfigurierung) von Steuerungsmaßnahmen für ein breites Spektrum von Ausrüstungskomponenten innerhalb einer Prozessanlage gedacht. Insbesondere ist ein Einheiten-Modulklassenobjekt dazu bestimmt, eine miteinander verbundene Gruppe von Ausrüstungskomponenten (typischerweise mehrfach vorhandene Komponenten), wie z.B. die Reaktoren der1 , die individuelle, auf bekannte Art zusammenwirkende Elemente besitzen, zu modellieren bzw. für ihre Konfigurierung genutzt zu werden. - Ein Ausrüstungs-Modulklassenobjekt ist zur Verwendung bei der Darstellung (und Konfigurierung) von Steuerungsmaßnahmen für ein weniger breites Spektrum physikalischer Ausrüstungskomponenten innerhalb der Prozessanlage bestimmt. Bei den einem Ausrüstungs-Modulklassenobjekt zugeordneten Ausrüstungskomponenten handelt es sich im Allgemeinen um eine oder mehrere physikalische Entitäten, wie Ventile, Durchflussmesser etc., die ein Untersystem einer Einheit bilden, und das Ausrüstungs-Modulklassenobjekt kann eine oder mehrere Anweisungen oder Algorithmen beinhalten, bei denen es sich um anweisungsgesteuerte Algorithmen (CDAs), zustandsgesteuerte Algorithmen (SDAs), sequentielle Folgesteuerungsalgorithmen (SFCs), Funktionsblockalgorithmen (FBDs), Phasenalgorithmen etc. handeln kann, die in Verbindung mit der betreffenden Ausrüstungskomponente auszuführen sind. Somit ist ein Ausrüstungs-Modulklassenobjekt dafür vorgesehen, die Konfigurierung der Steuerung mehrerer untergeordneter Komponenten oder Entitäten innerhalb einer Einheit zu bewirken, um einen Basisfunktionssatz für die betreffende Ausrüstungskomponente für die Verwendung in der jeweiligen Einheit bereitzustellen. Wie bekannt ist, wird ein anweisungsgesteuerter Algorithmus (anweisungsgesteuerte Steuerlogik) verwendet, wenn die untergeordneten Komponenten über mehrere Schritte aufeinander abgestimmt werden müssen, um eine Funktion auszuführen. Beispielsweise kann es sein, dass ein Ventil für einen bestimmten Zeitraum geöffnet und anschließend wieder geschlossen werden muss, während ein anderes Ventil geöffnet und geschlossen wird. Die Zumessung
101 der3 nutzt diese Art eines anweisungsgesteuerten Algorithmus, um zunächst das Grobventil anzusteuern und einzustellen, und dann das Feinventil auf Basis der Anzeige des Durchflussmessers zu regeln, um den gewünschten Gesamtdurchsatz durch die Zumessung bereitzustellen. Ein zustandsgesteuerter Algorithmus (zustandsgesteuerte Steuerlogik) kann die Zustände verschiedener untergeordneter Konponenten vorgeben, die in einem einzigen Schritt gesteuert werden können. Ein solcher zustandsgesteuerter Algorithmus könnte z.B. für das Auslassventilsystem104 der4 verwendet werden, bei dem die Zustände der verschiedenen zugehörigen Ventile jeweils getrennt (aber in einem einzigen Schritt) auf Basis des gewünschten Zustands des Auslassventilsystem104 zum Schließen des Behälters100 , zum Entleeren des Behälters100 oder zum Abziehen von Produkt aus dem Behälter100 gesteuert werden. - Ein Steuerungs-Modulklassenobjekt ist gedacht, um zur Darstellung (und zur Konfigurierung) von individuellen Steuerungselementen oder Steuerungsmodulen innerhalb der Prozessanlage zu dienen. Mit einem Steuerungs-Modulklassenobjekt wird eine bestimmte Form einer Steuerung bereitgestellt oder vorgegeben, die für eine Anlagenentität wie z.B. ein Ventil, eine Messeinrichtung etc., eine Ausrüstungskomponente oder eine ganze Einheit auszuführen ist. Allgemein gesagt, ein Steuerungs-Modulklassenobjekt stellt einen bestimmten Typ einer Steuerungsprogrammierung bereit, wie z.B. einen Satz kommunikativ miteinander verbundener Funktionsblöcke, die einige Steuerungsmodule definieren, die in einem Steuerungsgerät auszuführen sind, und die von Nutzen sind, um wiederholte Steuerungsaktivitäten innerhalb einer Prozessanlage auszuführen. In den meisten Fällen kann ein Steuerungs-Modulklassenobjekt eine generische Steuerungsstrategie bereitstellen, um eine einzelne Vorrichtung oder einen zusammenhängenden Satz von Vorrichtungen zu steuern.
- Ein Display-Modulklassenobjekt ist zur Darstellung (und zur Konfigurierung) von Displayaktivitäten bestimmt, die während des Betriebs der Prozessanlage
10 für einen Nutzer wie z.B. einen Steuerungsbediener zur Darstellung gebracht werden. Ein Display-Modulklassenobjekt kann daher die Programmierung zur Erzeugung eines Displays eines bestimmten Typs innerhalb einer Bediener-Workstation14 der1 spezifizieren, und außerdem die Programmierung, die auf einer oder mehreren der Workstations14 (oder in anderen Vorrichtungen innerhalb der Prozessanlage10 ) ablaufen muss, damit das Display während des Anlagenbetriebs die korrekten Informationen betreffend die Anlage10 erhält. Zu den Typen der Displayklassenmodule gehören beispielsweise Alarmdisplays, Konfigurationsdarstellungen, Funktionsdarstellungen, Diagnoseanzeigen etc. Selbstverständlich kann ein Display-Modulklassenobjekt ein Display bereitstellen, das jeden gewünschten Bereich physikalischer Elemente oder Entitäten innerhalb einer Prozessanlage repräsentieren kann bzw. diesen zugeordnet ist. Beispielsweise kann ein Display-Modulklassenobjekt Information über einen gesamten Bereich, eine Einheit, eine Ausrüstungskomponente, ein Steuerungselement oder eine beliebige Kombination dieser Elemente innerhalb der Prozessanlage10 zur Darstellung bringen. - In
5 sind anhand eines hierarchischen Graphen die Verbindungen zwischen verschiedenen Typen von Modulklassenobjekten wiedergegeben, wie sie in der Konfigurierungsapplikation50 der1 eingesetzt sind, und außerdem die Beziehung zwischen den Modulklassenobjekten und den aus diesen Modulklassenobjekten entwickelten Modulobjekten. Im Graphen der5 sind die Modulklassenobjekte in senkrechter Richtung nach Modulklassentypen in einen Einheiten-Modulklassentyp400 , einen Ausrüstungs-Modulklassentyp402 , einen Steuerungs-Modulklassentyp404 und einen Display-Modulklassentyp406 unterteilt. Selbstverständlich können ebenso andere Typen von Modulklassenobjekten bereitgestellt oder verwendet werden, so dass die vier hierin dargestellten Typen lediglich als beispielhafte Modulklassentypen anzusehen sind. Die individuellen Modulklassenobjekte (wobei es sich um höhere Objekte handeln kann, die beispielsweise in einer objektorientierten Programmiersprache abgefasst sein können, und die in5 der Klarheit halber doppelt umrandet wiedergegeben sind) fallen unter die verschiedenen Modulklassentypen400 ,402 ,404 und406 . Insbesondere können viele verschiedene Einheiten-Modulklassenobjekte für verschiedene Einheiten oder Typen von Einheiten innerhalb der Prozessanlage10 vorhanden sein. Beispielsweise kann ein Einheiten-Modulklassenobjekt410 für einen Reaktor einen bestimmten Typ oder eine bestimmte Konfiguration eines Reaktors innerhalb der Prozessanlage10 darstellen. Ebenso kann ein Modulklassenobjekt412 für eine Verpackungseinheit einen bestimmten Typ oder eine bestimmte Konfiguration einer Verpackungseinheit innerhalb der Prozessanlage10 repräsentieren, und ein Modulklassenobjekt414 für eine Trocknereinheit kann einen bestimmten Typ oder eine bestimmte Konfiguration einer Trocknereinheit innerhalb der Prozessanlage10 repräsentieren. Selbstverständlich können mehrere Modulklassenobjekte für Reaktoreinheiten vorhanden sein, um Reaktoren darzustellen, die sich untereinander in ihren physikalischen Eigenschaften unterscheiden. An dieser Stelle wird nicht versucht, alle unterschiedlichen Typen von Einheiten innerhalb einer Anlage aufzulisten, die durch ein Einheiten-Modulklassenobjekt repräsentiert oder modelliert werden können. Dem Fachmann ist jedoch klar, dass viele verschiedene Einheitentypen in verschiedenen Typen von Anlagen durch Einheiten-Modulklassenobjekte modelliert oder repräsentiert werden können. - Entsprechend können viele verschiedene Ausrüstungs-Modulklassenobjekte verwendet werden, um unterschiedliche Typen von Ausrüstungskomponenten innerhalb der Prozessanlage
10 darzustellen, zu modellieren und zu konfigurieren. Die in5 wiedergegebenen Beispiele enthalten ein Ausrüstungs-Modulklassenobjekt416 für die Zumessung und ein Ausrüstungs-Modulklassenobjekt418 für die Auslassventile, von denen jedes verschiedenen Typen von Ausrüstungskomponenten (und vorzugsweise mehrfach vorhandenen Ausrüstungskomponenten) innerhalb der Prozessanlage10 zugeordnet ist. In der gleichen Weise können viele verschiedene Typen von Steuerungs-Modulklassenobjekten vorhanden sein, die in5 als ein Steuerungs-Modulklassenobjekt422 für ein Absperrventil, ein Steuerungs-Modulklassenobjekt424 für einen Pegelmesser und ein Steuerungs-Modulklassenobjekt426 für einen Durchflussmesser dargestellt sind. Außerdem sind in5 Display-Modulklassenobjekte dargestellt, wie z.B. ein Display-Modulklassenobjekt432 für Alarmmeldungen, ein Display-Modulklassenobjekt434 für Ausgaben und ein Display-Modulklassenobjekt436 für Diagnosen. Selbstverständlich können beliebige andere gewünschte Einheiten-, Ausrüstungs-, Steuerungs- und Display-Modulklassenobjekte erzeugt und gemäß den hierin beschriebenen Prinzipien innerhalb der Konfigurierungsapplikation50 der Prozessanlage10 verwendet werden. - Jedes Modulklassenobjekt kann über Unterobjekte verfügen, die ihm zugeordnet oder zugehörig sind. Diese Unterobjekte können selbst wieder Modulklassenobjekte sein, oder sie können, wie in
5 dargestellt, Modulobjekte sein, die als Instanzen aus den Modulklassenobjekten erzeugt wurden, zu denen sie gehören. Aus5 geht hervor, dass dem Einheiten-Modulklassenobjekt410 für den Reaktor drei Reaktor-Modulobjekte mit den Bezeichnungen Reactor_01, Reactor_02 und Reactor_03 zugeordnet sind, wobei diese Reaktor-Modulobjekte den jeweiligen Reaktoren der1 entsprechen (d.h. mit diesen verknüpft sind).5 zeigt außerdem, dass das Ausrüstungs-Modulklassenobjekt416 für die Zumessung fünf verschiedene Modulobjekte hat bzw. diese besitzt, die die Bezeichnungen Water1, Acid1, Acid2, Alkali1 und Alkali2 tragen. Ebenso ist beim Steuerungs-Modulklassenobjekt422 für die Absperrventile gezeigt, dass es über Modulobjekte mit den Bezeichnungen Coarse_Valve1, Coarse_Valve2, Coarse_Valve3, Fine_Valve1, Fine_Valve2 und Fine_Valve3 verfügt. In entsprechender Weise können jedem der anderen Einheiten-, Ausrüstungs-, Steuerungs- und Display-Modulklassenobjekte der5 ein oder mehrere Modulobjekte zugeordnet sein. Der Klarheit halber sind diese Modulobjekte in5 jedoch nicht wiedergegeben. - Im Graphen der
5 sind alle Einheiten-Modulobjekte Reactor_01, Reactor_02 und Reactor_03, die (Ausrüstungs-)Zumessmodulobjekte Acid1, Acid2, Alkali1, Alkali2 und Water1, die Steuerungs-Modulobjekte Coarse_Valve1, Coarse_Valve2, Coarse_Valve3, Fine_Valve1, Fine_Valve2 und Fine_Valve3 und die anderen Einheiten-, Ausrüstungs-, Steuerungs- und Display-Modulobjekte individuelle Objekte, die mit tatsächlichen Einheiten, Ausrüstungskomponenten, Steuerungsmodulen oder Displayapplikationen innerhalb der Prozessanlage10 verknüpft sind. Zum Beispiel werden, da zahlreiche physikalisch vorhandene Säurezumessungen in der Anlage10 eingesetzt sind, in der Konfigurierungsroutine zahlreiche Modulobjekte für Säurezumessungen erzeugt, so dass für jede der einzelnen in der Anlage10 existierenden Säurezumessungen ein separates Modulobjekt für die Säurezumessung vorhanden ist. Dabei ist jedoch jedes der separaten Modulobjekte für die Zumessungen mit dem gleichen Modulklassenobjekt416 für die Zumessungen verknüpft oder diesem zugehörig. Selbstverständlich zeigt der Graph der5 nur eine begrenzte Anzahl von Modulklassenobjekten und damit verbundenen Modulobjekten und es versteht sich von selbst, dass andere Typen von Modulklassenobjekten bereitgestellt werden können, und dass jede gewünschte Anzahl von Modulobjekten aus jedem der verschiedenen Modulklassenobjekte erzeugt werden kann. - Jedes der Modulklassenobjekte der
5 (und somit auch jedes der Modulobjekte der5 ) kann als Teil des Objekts eine Definition oder eine Angabe zu den physikalischen oder logischen Prozesselementen beinhalten, die das Modul definieren oder bilden, und wenn dies gewünscht ist, zur Art und Weise, in der diese Prozesselemente sowohl physikalisch als auch logisch zusammenwirken, um Aktivitäten innerhalb der Prozessanlage10 zu realisieren. Beispielsweise werden Einheiten-Modulklassenobjekte typischerweise eine Angabe aller physikalischen Elemente und Steuerungselemente enthalten, die zu der als die Einheit definierten Prozessentität gehören oder diese bilden. Das Einheiten-Modulklassenobjekt kann außerdem den jeweiligen Aufbau der einzelnen Teile festlegen und vorgeben, wie diese Teile physikalisch verknüpft sind, um als eine Einheit zu fungieren. Entsprechend wird ein Ausrüstungs-Modulklassenobjekt typischerweise die Steuerungsroutinen oder Steuerungsmodule enthalten, die zur Steuerung der als Ausrüstungskomponente definierten Entität verwendet werden, und Anweisungen, die die Steuerungsroutinen oder Steuerungsmodule verwenden, um die Art und Weise festzulegen, in der die Teile physikalisch oder logisch zusammenwirken, um beim Einsatz in der Anlage10 als Ausrüstungskomponente zu fungieren. Ebenso wird jedes Steuerungs-Modulklassenobjekt, typischerweise in Form eines geeigneten Steuerungsalgorithmus, eine Steuerungsaktivität festlegen, die in der Anlage auszuführen ist. Dazu kann jedes Display-Modulklassenobjekt unter anderem den Aufbau eines Anzeigebildschirms und die darzustellende Information definieren, ebenso die zu erfassenden Daten und die Art und Weise der Datenaufbereitung, die ggf. für bestimmte Typen von Einheiten, Ausrüstungskomponenten, Anlagenbereichen oder für andere physikalische oder logische Entitäten innerhalb der Anlage10 auf die gesammelten Daten anzuwenden ist. - Als Teil einer Modulklassendefinition kann ein Modulklassenobjekt andere Modulklassenobjekte angeben oder definieren, die einzubeziehen oder einzusetzen sind. Wenn dies der Fall ist, wird das aus dem Modulklassenobjekt erzeugte Modulobjekt andere Modulobjekte, die entsprechend der auf Modulklassenebene definierten Beziehungen aus anderen Modulklassenobjekten erzeugt wurden, für sich übernehmen, auf diese verweisen oder sie einbeziehen. Obwohl nicht zwingend erforderlich, können Einheiten-Modulklassenobjekte andere Einheiten-Modulklassenobjekte, Ausrüstungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und Display-Modulklassenobjekte für sich übernehmen, während Ausrüstungs-Modulklassenobjekte andere Ausrüstungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und Display-Modulklassenobjekte für sich übernehmen können. Steuerungs-Modulklassenobjekte können andere Steuerungs-Modulklassenobjekte und Display-Modulklassenobjekte für sich übernehmen oder auf diese verweisen. Wenn dies gewünscht ist, können jedoch auch andere Beziehungen zwischen den Modulklassenobjekten verwendet werden. Diese Übernahmebeziehungen sind durch die großen Pfeile am unteren Rand von
5 veranschaulicht, die deutlich machen, dass jedes der Display-Modulklassenobjekte in jedes der Steuerungs-, Ausrüstungs- und Einheiten-Modulklassenobjekte einbezogen werden kann bzw. dass diese darauf Bezug nehmen können, dass jedes der Steuerungs-Modulklassenobjekte in jedes der Ausrüstungs- und Einheiten-Modulklassenobjekte einbezogen werden kann bzw. dass diese darauf Bezug nehmen können, und dass jedes der Ausrüstungs-Modulklassenobjekte in jedes der Einheiten-Modulklassenobjekte einbezogen werden kann bzw. dass dieses darauf Bezug nehmen kann. Es ist klar, dass Modulklassenobjekte andere Modulklassenobjekte des gleichen Typs übernehmen können. Beispielsweise kann ein Einheiten-Modulklassenobjekt ein anderes Einheiten-Modulklassenobjekt als Teil seiner Definition übernehmen. In entsprechender Weise kann ein Ausrüstungs-Modulklassenobjekt ein anderes Ausrüstungs-Modulklassenobjekt einbeziehen, ein Steuerungs-Modulklassenobjekt kann ein anderes Steuerungs-Modulklassenobjekt einbeziehen, und ein Display-Modulklassenobjekt kann ein anderes Display-Modulklassenobjekt einbeziehen. Selbstverständlich kann ein Modulklassenobjekt, wenn dies gewünscht ist, ein anderes Modulklassenobjekt mehrfach verwenden oder übernehmen. Beispielsweise kann ein Einheiten-Modulklassenobjekt für Reaktoren das Ausrüstungs-Modulklassenobjekt für die Zumessung mehrere Male übernehmen oder verwenden, da die durch das Einheiten-Modulklassenobjekt für Reaktoren modellierten Reaktoren mehrfach ausgeführte Zumessungen aufweisen. - Es versteht sich auch von selbst, dass dann, wenn ein erstes Modulklassenobjekt ein zweites Modulklassenobjekt übernimmt oder verwendet, jedes aus dem ersten Modulklassenobjekt erzeugte oder abgeleitete Modulobjekt ein Modulobjekt übernimmt oder verwendet, das aus dem zweiten Modulklassenobjekt erzeugt oder abgeleitet wurde. Wenn somit das Einheiten-Modulklassenobjekt
410 für Reaktoren ein Modulklassenobjekt416 für eine Zumessung als Element oder Teil für sich selbst verwendet, wird das Modulobjekt Reactor_01 eines der Modulobjekte für Zumessungen, z.B. das Modulobjekt Acid1, als Element oder Teil für sich selbst verwenden oder einbeziehen. Entsprechend wird dann, wenn ein Ausrüstungs-Modulklassenobjekt für Zumessungen ein Ausrüstungs-Modulklassenobjekt für Auslassventile übernimmt oder einbezieht, ein aus dem Ausrüstungs-Modulklassenobjekt für Zumessungen erzeugtes Modulobjekt, das durch einen eindeutigen Namen, beispielsweise Totalizer_1, gekennzeichnet ist, ein Modulobjekt einbeziehen, das aus dem Ausrüstungs-Modulklassenobjekt für Auslassventile erzeugt wurde und durch einen eindeutigen Namen, beispielsweise Outlet_Valve_2, gekennzeichnet ist. Auf diese Weise spiegeln sich die Beziehungen zwischen den Modulklassenobjekten, die auf Modulklassenobjektebene definiert wurden, in den Modulobjekten wider, die aus diesen Modulklassenobjekten entwickelt oder erzeugt wurden. Diese Verbindung bzw. Bezugnahme zwischen Modulklassenobjekten (und somit den Modulobjekten) ermöglicht hohe Variabilität und Übertragbarkeit der Objekte bei den Konfigurierungsaktivitäten, so dass nach dem Erstellen eines grundlegenden Satzes von Modulklassenobjekten, beispielsweise Steuerungs- und Ausrüstungs-Modulklassenobjekten, komplexere Modulklassenobjekte, wie beispielsweise Einheiten-Modulklassenobjekte, in einfacher Weise durch Bezugnahme auf die grundlegenden Modulklassenobjekte erzeugt werden können. Obwohl Modulklassenobjekte auf andere Modulklassenobjekte verweisen oder diese verwenden können, ist es selbstverständlich möglich, dass sie zusätzlich hierzu oder stattdessen einfache Objekte oder Prozessentitäten definieren oder verwenden, beispielsweise Ventile, Sensoren etc., denen kein eigenes Modulklassenobjekt zugeordnet ist. Diese einfachen Objekte werden vollständig durch entsprechende Steuerungsroutinen innerhalb des Modulklassenobjekts selbst definiert. - Ein beispielhaftes Einheiten-Modulklassenobjekt
410 für Reaktoren ist in6 dargestellt, um eine Art und Weise der Beschreibung oder Definition der Entitäten zu verdeutlichen, die einem Einheiten-Modulklassenobjekt zugeordnet sind oder in diesem vorhanden sind. Wie6 zeigt, enthält das Einheiten-Modulklassenobjekt410 für Reaktoren eine Anzeige für einen Behälter500 , bei dem es sich um ein einfaches Objekt oder Element innerhalb der Prozessanlage10 handelt, für das kein Modulklassenobjekt existiert. Der Behälter500 ist durch gestrichelte Linien dargestellt, da keine Steuerungseingriffe oder untergeordnete Aktivitäten erforderlich sind, um Steuerungs aufgaben oder Maßnahmen zum Befüllen bzw. Entleeren des Behälters auszuführen. Der Behälter500 ist somit ausschließlich deswegen einbezogen, um die Verbindungen mit den anderen, dem Einheiten-Modulklassenobjekt410 für Reaktoren zugeordneten Objekten wiederzugeben. Das Einheiten-Modulklassenobjekt410 für Reaktoren beinhaltet außerdem drei Zumessungen501 ,502 und510 mit den Bezeichnungen Acid, Alkali und Water, bei denen es sich um drei verschiedene Referenzen zu dem aus5 ersichtlichen Ausrüstungs-Modulklassenobjekt416 für Zumessungen handelt. Das Modulklassenobjekt510 für die Wasserzumessung ist in einem Abschnitt des Einheiten-Modulklassenobjekts410 wiedergegeben, der durch gestrichelte Linien abgetrennt ist, um anzuzeigen, dass es sich hierbei um ein gemeinsam genutztes Modulklassenobjekt handelt, und dass somit das Einheiten-Modulklassenobjekt410 zusammen mit anderen Einheiten-Modulklassenobjekten die Kontrolle über dieses Objekt hat. Das Objekt Outlet504 der6 ist eine Referenz zum Ausrüstungs-Modulklassenobjekt418 für Auslassventile in der5 , der Pegelmesser505 ist eine Referenz zum Steuerungs-Modulklassenobjekt424 für Pegelmesser in der5 , und das Ventil water_in503 ist eine Referenz zu einem Ventilobjekt, bei dem es sich um ein einfaches Ventilelement (das somit vollständig innerhalb des Einheiten-Modulklassenobjekts410 definiert ist) handeln kann, oder um eine Referenz zu einem Steuerungs-Modulklassenobjekt für Ventile, das an beliebiger anderer Stelle der Konfigurierungsstrategie definiert sein kann. Die physikalischen Verbindungen zwischen den verschiedenen Entitäten oder Teilen des Einheiten-Modulklassenobjekts410 für Reaktoren sind ebenfalls dargestellt, um die Verbindungen zwischen den verschiedenen Elementen zu definieren. Wie oben angemerkt, können das Einheiten-Modulklassenobjekt410 oder andere Modulklassenobjekte von beliebigem Typ einfache Elemente enthalten, die vollständig innerhalb des Modulklassenobjekts definiert sind (einschließlich jedweder verbundenen generischen Steuerungsroutinen), und/oder Referenzen zu Modulklassenobjekten, die außerhalb des Modulklassenobjekts definiert sind. - Das Einheiten-Modulklassenobjekt
410 enthält außerdem zwei beispielhafte Display-Modulklassenobjekte mit den Bezeichnungen Reactor viewing display520 und Reactor alarm display522 , bei denen es sich um Referenzen zum Display-Modulklassenobjekt434 für die Anzeigen und zum Display-Modulklassenobjekt432 für die Alarme der5 handelt. Diese Objekte definieren generische Displayaktivitäten zur Anzeige der Zustände (beispielsweise Füllstand im Behälter) und der Alarme, die den Ausrüstungskomponenten oder Teilen der Reaktoreinheit zugeordnet sind, die im Einheiten-Modulklassenobjekt410 für Reaktoren definiert ist. In entsprechender Weise kann das Einheiten-Modulklassenobjekt410 andere Elemente enthalten, z.B. Phasenklassenobjekte, im Feld524 als die Phasenklassenobjekte Dose, Mix, Drain und Flush bezeichnet (Dosieren, Mischen, Entleeren und Spülen), die jeweils eine generische Steuerungsroutine definieren, die auf die vom Einheiten-Modulklassenobjekt410 definierte Einheit anzuwenden ist. Das Einheiten-Modulklassenobjekt kann keine oder mehrere Zuordnungen zu Phasenklassenobjekten aufweisen. Die Phasenklassenobjekte524 können an beliebiger Stelle definiert und in jeder gewünschten Weise in das Einheiten-Modulklassenobjekt410 importiert werden. In gewissem Sinn stellen die Phasenklassen524 Anweisungen oder Routinen dar, die auf eine vom Einheiten-Modulklassenobjekt410 definierte Einheit angewendet werden können, um verschiedene Funktionen auszuführen, beispielsweise Befüllen der Einheit, Erhitzen der Einheit, Entleeren der Einheit, Reinigen der Einheit etc. - Darüber hinaus kann das Einheiten-Modulklassenobjekt
410 einen Speicher bzw. einen Bereich526 enthalten, in dem Referenzen zu den Modulklassenobjekten abgelegt sind, die mittels der Konfigurierungsapplikation50 (1 ) aus diesem Einheiten-Modulklassenobjekt410 erzeugt werden. Der Bereich526 besteht im Wesentlichen aus einer Liste der Modulobjekte, die vom Einheiten-Modulklassenobjekt410 erzeugt wurden und diesem zugehörig sind. (Selbstverständlich können diese Liste oder andere Angaben zu den zugehörigen Modulobjekten in jeder gewünschten Weise in der Workstation oder in der Konfigurierungsapplikation50 gespeichert werden und müssen nicht physikalisch im Einheiten-Modulklassenobjekt410 enthalten sein). In jedem Fall verfügt das Einheiten-Modulklassenobjekt410 im Beispiel der6 über die Einheitenmodulobjekte Reactor_01, Reactor_1, Reactor_02 etc., die alle aus dem Einheiten-Modulklassenobjekt410 für Reaktoren erzeugt wurden. - Das Einheiten-Modulklassenobjekt
410 enthält außerdem einen Satz von Methoden530 , die vom Einheiten-Modulklassenobjekt410 entweder während oder nach den Konfigurierungsmaßnahmen zu beachten sind. Die Methoden530 können eine Methode zur Änderung der Steuerungsstruktur oder eine Applikation beinhalten, mit der Veränderungen am Einheiten-Modulklassenobjekt410 automatisch auf alle dem Einheiten-Modulklassenobjekt410 zugehörigen Modulobjekte526 übertragen werden. Andere Methoden können die Sicherheit des Systems betreffen, indem sie die Sicherheit bzw. die Zugriffsberechtigungen bezüglich des Einheiten-Modulklassenobjekts410 und/oder bezüglich eines jeden der diesem zugehörigen Einheitenmodulobjekte526 kontrollieren, oder Methoden, die es einem Nutzer oder einem Konfigurierungstechniker ermöglichen, Änderungs- und/oder Sicherheitsparameter für das Modulklassenobjekt oder für jedes der aus diesem erzeugten Modulobjekte zu spezifizieren. Selbstverständlich können die verschiedenen Methoden530 jede andere Prozedur, die auf das oder in Bezug auf das Einheiten-Modulklassenobjekt410 wirkt, ausführen. - Wenn dies gewünscht wird, kann das Einheiten-Modulklassenobjekt
410 die Art und Weise steuern, in der Änderungen, die am Modulklassenobjekt410 vorgenommen wurden, auf die Einheitenmodulobjekte526 übertragen werden, und ebenso die Art und Weise, in der die Zugriffssicherheit bzw. der Sicherheitszugriff in den Einheitenmodulobjekten526 realisiert ist. Ein Verfahren zur Bereitstellung dieser Funktionalität besteht im Setzen eines oder mehrerer Flags oder Parameter innerhalb des Einheiten-Modulklassenobjekts410 , um die Art und Weise festzulegen, in der Änderungen auf die Einheitenmodulobjekte526 zu übertragen sind, und wie deren Zugriffssicherheit zu handhaben ist. Insbesondere können ein oder mehrere Parameter betreffend die Übertragung von Änderungen gesetzt werden, um zu spezifizieren, ob am Einheiten-Modulklassenobjekt410 vorgenommene Änderungen automatisch an eines oder mehrere der Einheitenmodulobjekte526 zu übertragen sind. Die Parameter zur Steuerung der Änderungsübertragung können in den Einheitenmodulobjekten526 gespeichert werden und für das gesamte Einheitenmodulobjekt oder für ein Unterelement auf Unterelementbasis spezifizieren, ob am Einheiten-Modulklassenobjekt vorgenommene Änderungen an die Einheitenmodulobjekte weitergegeben werden sollen. Beispielsweise kann das Einheiten-Modulklassenobjekt410 einen globalen Änderungsparameter534 (mit "C" bezeichnet) enthalten, der in jedem Einheitenmodulobjekt gesetzt werden kann, das aus dem Einheiten-Modulklassenobjekt410 erzeugt wurde, um die automatische Weitergabe von am Einheiten-Modulklassenobjekt410 vorgenommenen Änderungen an das Einheitenmodulobjekt zu sperren oder freizugeben. Ebenso kann ein jedes Unterelement bzw. jeder Block, beispielsweise die Blöcke501 -505 ,510 ,520 und522 , einen Änderungsparameter536 enthalten, der ausschließlich für den jeweiligen Block angibt, ob Änderungen, die im Einheiten-Modulklassenobjekt410 an diesem Block vorgenommen wurden, an das Einheitenmodulobjekt weiterzugeben sind. Selbstverständlich können die verschiedenen Blöcke eines Einheitenmodulobjekts unterschiedlich gesetzt sein, so dass beispielsweise Änderungen, die am Acid block (Säureblock)501 des Einheiten-Modulklassenobjekts410 vorgenommen werden, an den korrespondierenden Säureblock eines bestimmten unter den Modulobjekten526 weitergegeben werden, jedoch derart, dass Änderungen, die am Alkali block (Alkaliblock)502 des Einheiten-Modulklassenobjekts410 vorgenommen werden, nicht an den Alkaliblock dieses bestimmten Einheitenmodulobjekts weitergegeben werden. Darüber hinaus können die verschiedenen Einheitenmodulobjekte, die aus einem Einheiten-Modulklassenobjekt erzeugt wurden, jeweils unterschiedlich gesetzte Änderungsparameter aufweisen, so dass Änderungen am Alkaliblock502 innerhalb des Einheiten-Modulklassenobjekts410 an den korrespondierenden Alkaliblock eines ersten der Einheitenmodulobjekte526 weitergegeben werden, nicht aber an den korrespondierenden Alkaliblock eines zweiten der Einheitenmodulobjekte526 . Selbstverständlich kann die Verfahrensmethode des Einheiten-Modulklassenobjekts410 zur Veränderung der Steuerungsstruktur auf die Änderungsparameter der Einheitenmodulobjekte526 zugreifen und sie nutzen, um eine Änderung an diesen Objekten vorzunehmen bzw. die Änderung zu unterlassen, wenn die betreffende Änderung am Einheiten-Modulklassenobjekt410 vorgenommen wird. - In entsprechender Weise kann das Einheiten-Modulklassenobjekt
410 einen oder mehrere Sicherheitsparameter aufweisen, die die Art und Weise bestimmen, in der die Sicherheit oder der Zugriffsschutz in jedem der Einheitenmodulobjekte526 kontrolliert wird. Das Einheiten-Modulklassenobjekt410 kann einen globalen Sicherheitsparameter538 enthalten (mit "S" bezeichnet), der jede gewünschte Höhe der Zugriffssicherheit zum gesamten Einheitenmodulobjekt für Reaktoren, das aus dem Einheiten-Modulklassenobjekt410 für Reaktoren erzeugt wurde, einstellen kann, und/oder es kann verschiedene Sicherheitsparameter540 für jedes Unterelement des Einheiten-Modulklassenobjekts410 enthalten, beispielsweise für jeden der Blöcke501 -505 ,510 ,520 ,522 etc., die jeweils auf blockweiser Basis eine Höhe der Zugriffssicherheit für jeden dieser Blöcke spezifizieren. Der globale Sicherheitsparameter538 kann als Zugangssperre wirken, die das Einheiten-Modulklassenobjekt für den Zugriff durch alle Nutzer sperrt, mit Ausnahme solcher, die über eine im Voraus bestimmte Höhe der Zugriffsberechtigung verfügen. Selbstverständlich können die Sicherheitsparameter538 und540 jede beliebige Höhe der Zugriffssicherheit entsprechend mehreren Stufen spezifizieren, beispielsweise kein Zugriff, begrenzter Zugriff, Zugriff für bestimmte Nutzergruppen oder einzelne Nutzer etc., und die Sicherheitshöhen können für die verschiedenen Blöcke und die verschiedenen Einheitenmodulobjekte, die aus dem gleichen Einheiten-Modulklassenobjekt erzeugt wurden, unterschiedlich gesetzt werden. Wenn gewünscht, können Teile der Sicherheitsmaßnahmen Verschlüsselungen für eine oder mehrere Methoden oder Algorithmen beinhalten, die dem Einheiten-Modulklassenobjekt zugeordnet sind. - Es versteht sich von selbst, dass die Änderungs- und Sicherheitsparameter des Einheiten-Modulklassenobjekts
410 mit Standardwerten vorbesetzt werden können, und dass die entsprechenden Änderungs- und Sicherheitsparameter jedes Einheitenmodulobjekts526 , das aus dem Einheiten-Modulklassenobjekt410 erzeugt wurde, bei der Erzeugung die betreffenden Standardwerte übernehmen können. Jedoch können die Standardwerte für die Änderungs- und Sicherheitsparameter in den Einheitenmodul- objekten526 auch individuell verändert werden (durch einen Nutzer mit entsprechender Zugriffsberechtigung), nachdem diese Einheitenmodulobjekte erzeugt wurden. Auch wenn die Änderungs- und Sicherheitsparameter hierin in Bezug auf ein Einheiten-Modulklassenobjekt für Reaktoren erläutert werden, können entsprechende Änderungs- und Sicherheitsparameter auch in anderen Typen von Einheiten-Modulklassenobjekten sowie in allen gewünschten Typen von Ausrüstungs-Modulklassenobjekten, Steuerungs-Modulklassenobjekten, Display-Modulklassenobjekten etc. bereitgestellt werden. - Wenn gewünscht, kann das Einheiten-Modulklassenobjekt
410 Referenzen wie beispielsweise URLs oder andere Verweise auf Dokumentation enthalten, die für das Einheiten-Modulklassenobjekt gespeichert oder diesem zugeordnet ist, einschließlich Dokumentation, die der dem Einheiten-Modulklassenobjekt410 zugehörigen Einheit oder beliebigen Unterelementen der Einheit zugeordnet ist. Solche Verweise sind in6 als Referenzen549 dargestellt. - Als weiteres Beispiel eines Modulklassenobjekts ist in
7 ein Ausrüstungs-Modulklassenobjekt416 für Zumessungen dargestellt. Das Ausrüstungs-Modulklassenobjekt416 für Zumessungen enthält Steuerungs-Modulklassenobjekte mit den Bezeichnungen Coarse_Valve550 und Fine_Valve552 (beides Steuerungs-Modulklassenobjekte für Öffnen/Schließen) und ein Steuerungs-Modulklassenobjekt mit der Bezeichnung Flow_Meter554 (bei dem es sich um ein Steuerungs-Modulklassenobjekt für Durchflussmesser handelt) sowie die angedeuteten Verbindungen zwischen diesen Elementen. Außerdem enthält das Ausrüstungs-Modulklassenobjekt416 für Zumessungen Referenzen zu Display-Modulklassenobjekten einschließlich eines Display-Modulklassenobjekts560 für Zumessungsalarme, und zu einem oder mehreren Algorithmen564 , die im Ausrüstungs-Modulklassenobjekt416 implementiert werden können. Auch wenn die dargestellte Auflistung der Algorithmen564 eine Anweisung Totalize Fast und eine Anweisung Totalize_Accurate enthält, können beliebige andere Anweisungen oder Algorithmen ebenso einbezogen oder verwendet werden. Des Weiteren kann der Anweisungsalgorithmus564 , der mit einem Ausrüstungs-Modulklassenobjekt verbunden oder in dieses einbezogen ist, jede beliebige Form haben, wobei es sich beispielsweise um anweisungsgesteuerte Algorithmen (CDAs – command driven algorithms), zustandsgesteuerte Algorithmen (SDAs – state driven algorithms), sequentielle Folgesteuerungsalgorithmen (SFC – sequential flow chart algorithms), Funktionsblockalgorithmen (FBD – function block diagram algorithms), Phasenalgorithmen etc. handeln kann. Allgemein gesagt, sind jedoch alle der Algorithmen564 von einem bestimmten Typ, wie beispielsweise CDA oder SDA. Selbstverständlich können die Algorithmen564 in jeder gewünschten Sprache oder Programmierumgebung geschrieben werden, beispielsweise den C- bzw. C++-Umgebungen, in jeder beliebigen sequentiellen Folgesteuerungsumgebung, einer Funktionsblockumgebung etc. - Das Ausrüstungs-Modulklassenobjekt
416 für Zumessungen beinhaltet ferner eine Liste oder einen Speicher mit Angaben (und falls erforderlich Kommunikationspfaden) zu einem Satz zugehöriger Ausrüstungsmodulobjekte566 mit der Bezeichnung Acid1, Acid2, Alkali1, Alkali2, Water_Hdr1, etc., die aus dem Ausrüstungs-Modulklassenobjekt416 erzeugt wurden. Das Ausrüstungs-Modulklassenobjekt416 für Zumessungen umfasst ferner einen Satz Methoden570 einschließlich einer Methode zur Veränderung der Steuerungsstruktur, die gemeinsam mit dem globalen Änderungsparameter572 und/oder den Änderungsparametern574 auf Objektbasis verwendet werden kann, um die Übertragung von Änderungen auf die Ausrüstungsmodulobjekte566 zu steuern. Das Ausrüstungs-Modulklassenobjekt416 für Zumessungen beinhaltet ferner einen globalen Sicherheitsparameter580 sowie einen Sicherheitsparameter582 auf Objektbasis. Die Änderungs- und Sicherheitsparameter572 ,574 ,580 und582 fungieren generell wie beschrieben bezüglich der Änderungs- und Sicherheitsparameter des Einheiten-Modulklassenobjekts410 der6 und können auf jedes der Elemente des Steuerungs-Modulklassenobjekts einschließlich der Anweisungen564 angewandt werden. Des Weiteren können entweder nur die Änderungs- oder die Sicherheitsparameter oder beide auf jeder gewünschten anderen als der globalen Ebene oder auf Objekt- oder Elementebene innerhalb der Modulklassenobjekte (und damit innerhalb der daraus erzeugten Modulobjekte) bereitgestellt werden, wie hierin ausführlicher beschrieben. Wenn gewünscht, können die Änderungs- und Sicherheitsparameter eines Modulklassenobjekts oder eines daraus erzeugten Modulobjekts unter Verwendung einer Gruppenkonfigurierungsapplikation oder eines Gruppenkonfigurierungsprogramms, wie z.B. einem Tabellenkalkulationsprogramm, gesetzt oder konfiguriert werden, so dass ein Konfigurierungstechniker die verschiedenen Änderungs- und Sicherheitsparameter für das gesamte Modulklassenobjekt oder ein Modulobjekt auf einfache und unkomplizierte Weise setzen oder vorgeben kann. - Wenn gewünscht, kann das Ausrüstungs-Modulklassenobjekt
416 Referenzen wie beispielsweise URLs oder andere Verweise auf Dokumentation enthalten, die für das Ausrüstungs-Modulklassenobjekt gespeichert oder diesem zugeordnet ist, einschließlich Dokumentation, die der dem Ausrüstungs-Modulklassenobjekt416 zugehörigen Ausrüstungskomponente oder beliebigen Unterelementen der Ausrüstungskomponente zugeordnet ist. Solche Verweise sind in7 als Referenzen599 dargestellt. Ebenso kann jeder der Algorithmen des Ausrüstungs-Modulklassenobjekts416 , beispielsweise jeder der Algorithmen564 , verschlüsselt sein oder über einen zugeordneten Sicherheitsparameter verfügen, der diese Algorithmem564 verschlüsselt oder entschlüsselt. Eine solche Verschlüsselung oder Entschlüsselung kann, wenn gewünscht, durch eine Methode570 erfolgen. - Um die Prozessanlage
10 zu konfigurieren, legt ein Konfigurierungstechniker nach Bedarf die erforderlichen Einheiten-, Ausrüstungs-, Steuerungs- und Display-Modulklassenobjekte in einer der Konfigurierungsapplikation50 (1 ) zugeordneten Bibliothek an. Der Konfigurierungstechniker kann, wenn gewünscht, mit den Entitäten mit jeweils geringerem Umfang beginnen, beispielsweise den Steuerungs- und Displaymodulklassen, und anschließend die Modulklassenobjekte für die Entitäten mit größerem Umfang, wie z.B. die Ausrüstungs- und Einheiten-Modulklassenobjekte entwickeln, die die Entitäten mit geringerem Umfang verwenden oder auf diese Bezug nehmen können. Danach kann der Konfigurierungstechniker die Modulklassenobjekte wie erforderlich auswählen oder spezifizieren, um tatsächliche Modulobjekte entsprechend den gewählten Modulklassenobjekten für jede der Prozessentitäten innerhalb der Anlage zu erzeugen. Bei der Konfigurierung mehrfach vorhandener Ausrüstungskomponenten erzeugt der Konfigurierungstechniker ein Modulobjekt für jede Instanz der mehrfach vorhandenen Ausrüstungskomponenten aus dem jeweils gleichen Modulklassenobjekt. Somit kann der Konfigurierungstechniker für die Reaktoren der1 ein Einheiten-Modulklassenobjekt für Reaktoren erzeugen (was die Erzeugung der anderen Modulklassenobjekte beinhaltet, auf die das Einheiten-Modulklassenobjekt für Reaktoren Bezug nimmt, wenn solche anderen Modulklassenobjekte nicht bereits in der Bibliothek vorhanden sind). Danach kann der Konfigurierungstechniker den Prozess konfigurieren, indem er für jeden der Reaktoren Reactor_01, Reactor_02 und Reactor_03 der1 ein Einheitenmodulobjekt für Reaktoren aus dem Einheiten-Modulklassenobjekt für Reaktoren erzeugt. - Nach der Erzeugung eines oder mehrerer Modulobjekte aus einem Modulklassenobjekt kann der Konfigurierungstechniker die Modulobjekte (einschließlich der Unterobjekte oder der durch Referenz einbezogenen Objekte) mit den spezifischen Ausrüstungskomponenten der Anlage verbinden. Da die Einheitenmodulobjekte einem einzigen Einheiten-Modulklassenobjekt zugeordnet sind, können die Aliasnamen, Parameter und andere Variablen für die verschiedenen Einheitenmodulobjekte gemeinsam mittels beispielsweise einer Gruppenverarbeitungsapplikation, wie z.B. einer Tabellenkalkulation spezifiziert werden. Selbstverständlich spezifiziert der Konfigurierungstechniker eigentlich bei der Verknüpfung der Modulobjekte mit bestimmten Ausrüstungskomponenten die Steuervariablen und Kommunikationspfadnamen, die von den Steuerungsroutinen oder Steuerungsmodulen in den Steuerungsgeräten
12 genutzt werden, um Steuerungsaktivitäten im Betrieb der Prozessanlage10 auszuführen, oder die Displayvariablen, die von den Displayroutinen im Betrieb der Prozessanlage10 beispielsweise in den Workstations14 verwendet werden. Nachdem die Maßnahmen zur Verknüpfung abgeschlossen sind, kann der Konfigurierungstechniker die gebundenen Steuerungsroutinen in die Steuerungsgeräte12 und die gebundenen Displayroutinen in die Workstations14 heruntexladen. -
8 –16 zeigen Bildschirmdarstellungen, die von der Konfigurierungsapplikation50 der1 erzeugt werden können, wenn der Konfigurierungstechniker bei der Konfigurierung Modulklassenobjekte erzeugt und verwendet, um die Prozessanlage10 zu konfigurieren. Wie zu erkennen ist, enthalten die meisten der Bildschirmdarstellungen der8 –16 ein Explorer-Fenster im linken Bildschirmteil, in dem anhand einer Baumstruktur die Konfiguration der Prozessanlage10 wiedergegeben ist. Ebenso enthalten die meisten der Bildschirmdarstellungen der8 –16 ein oder mehrere Informationsfenster im rechten Bildschirmteil. Diese Informationsfenster stellen weitere Information über im Explorer-Fenster ausgewählte Elemente bereit. Die Information, die einem Nutzer zur Anzeige gebracht oder die von einem Nutzer in den Informationsfenstern geändert werden kann, kann mittels der Steuerungs- und Sicherheitsparameter534 ,536 ,538 ,540 ,572 ,574 ,580 und582 der6 und7 festgelegt oder kontrolliert werden, die für jedes der verschiedenen Modulklassenobjekte oder deren Unterelemente gesetzt wurden. Folglich kann ein bestimmtes Element des Explorex-Fensters anhand der Sicherheits- und Steuerungsparameter, die im Modulklassenobjekt gesetzt sind, für einen Nutzer einsehbar und/oder veränderbar dargestellt und an die im Explorer-Fenster aufgeführten Modulobjekte übertragen werden. Wie weiter oben ausgeführt, kann Information selbstverständlich als grundsätzlich versteckt, als nur nach entsprechender Passwort- oder Sicherheitscodeeingabe eines Nutzers einsehbar oder veränderbar, als stets einsehbar aber unveränderlich, als stets einsehbar und veränderbar oder unter jeder beliebigen anderen Kombination dieser oder anderer Sicherheits- und Änderungsparameter gehalten werden. Wenn gewünscht, kann außerdem die Einsehbarkeit oder Veränderbarkeit eines Elements im Explorer-Fenster durch Hervorhebung, Abschattierung, Farbgebung oder beliebige andere Techniken angezeigt werden, um dem Nutzer Hinweise zu geben, welche Elemente in detaillierterer Form dargestellt oder verändert werden können. - In
8 enthält eine Bildschirmdarstellung600 einen Abschnitt eines Explorer-Konfigurationsfensters602 , der auf der linken Seite des Display gezeigt ist. Der Abschnitt des Explorer-Fensters602 zeigt eine Bibliothek, in der eine Vielzahl von Modulklassenobjekten gespeichert ist, einschließlich Einheiten-Modulklassenobjekten604 , Ausrüstungs-Modulklassenobjekten606 und Steuerungs-Modulklassenobjekten608 . Ein Einheiten-Modulklassenobjekt610 für Reaktoren (das dem Einheiten-Modulklassenobjekt410 für Reaktoren der6 entsprechen kann) ist in der Einheiten-Modulklassenbibliothek604 gespeichert und enthält Angaben zu einer Vielzahl von Unterelementen einschließend die Phasenklassenobjekte Dose, Mix, Drain und Flush und die Ausrüstungs-Modulklassenobjekte Acid, Alkali, Water und Outlet, Steuerungs-Modulklassenobjekte Water_In und Level_Meter und weitere gewünschte Elemente. Somit enthält entsprechend der Definition in der Einheiten-Modulklassenbibliothek604 das Einheiten-Modulklassenobjekt610 für Reaktoren Angaben zu Phasenklassen sowie Angaben zu Ausrüstungs-Modulklassenobjekten und Steuerungs-Modulklassenobjekten. Da im Bildschirm600 das Einheiten-Modulklassenobjekt610 für Reaktoren angewählt ist, sind dessen Elemente im rechten Teil612 des Bildschirms600 in detaillierterer Form aufgelistet. - Des Weiteren enthält die Ausrüstungs-Modulklassenbibliothek
606 ein Ausrüstungs-Modulklassenobjekt614 für Zumessungen (das dem Ausrüstungs-Modulklassenobjekt416 für Zumessungen in7 entsprechen kann) und ein Ausrüstungs-Modulklassenobjekt Reactor_Outlet616 . Das Ausrüstungs-Modulklassenobjekt614 für Zumessungen enthält drei verschiedene Abschnitte eines Algorithmus (z.B. einen der Algorithmen564 der7 ) mit den Bezeichnungen Command_00001, Command_00002 und Command_00003. Das Modulklassenobjekt614 enthält außerdem Referenzen zu Steuerungsmodulobjekten mit den Bezeichnungen Coarse_Valve und Fine_Valve (bei denen es sich um Steuerungs-Modulklassenobjekte für Absperrelemente handelt) und Flow_Meter (bei dem es sich um ein Steuerungs-Modulklassenobjekt für Durchflussmesser handelt). Weiter enthält das Ausrüstungs-Modulklassenobjekt Reactor_Outlet616 einen zustandsgesteuerten Algorithmus, der verschiedene Zustände mit den Bezeichnungen State_00001, State_00002 und State_00003, Module mit den Bezeichnungen Target, Drive, Monitor und Readback, und Steuerungsmodulobjekte für Ventile mit den Bezeichnungen Outlet, Drain und Product umfasst (wobei es sich bei den letzteren um Angaben zu oder um Referenzen auf Modulblöcke des Typs Steuerungs-Modulklassenobjekt für Absperrelemente handeln kann, die die Bezeichnungen Outlet, Drain und Product tragen, oder wobei diese auch nur einfache Objekte sein können). Bei den anweisungs- und zustandsgesteuerten Algorithmen, die den Modulklassenobjekten Totalizer614 und Reactor_Outlet616 zugeordnet sind, kann es sich um beliebige, wie gewünscht aufgebaute Routinen handeln, die auf Steuerungsmodulobjekte innerhalb des Ausrüstungs-Modulklassenobjekts Bezug nehmen können, die in Verbindung mit den betreffenden Anweisungen verwendet werden sollen. Insbesondere können die CDA- und SDA-Anweisungsalgorithmen der Ausrüstungs-Modulklassenobjekte Ausdrücke oder Maßnahmen enthalten, die auf Steuerungsmodule (oder andere Ausrüstungsmodule) Bezug nehmen, indem sie die Bezeichnungen der Modulblöcke übernehmen, die diesen Modulen entsprechen, um anzugeben, welche Ausrüstungskomponente bei der Ausführung des Algorithmus zu manipulieren ist. Die Verwendung des Namens des Modulblocks, der dem Steuerungsmodul (oder einem anderen Ausrüstungsmodul) innerhalb dieser Algorithmen entspricht, spezifiziert das Steuerungsmodulobjekt, auf das vom Ausrüstungsmodulobjekt, in dem sich der Algorithmus befindet, Bezug genommen wird bzw. das diesem zugeordnet ist, und die spezifischen Bezeichnungen werden eingebunden oder instantiiert, wenn das Ausrüstungsmodulobjekt aus dem Ausrüstungs-Modulklassenobjekt erzeugt wird. -
9 zeigt einen Konfigurationsbildschirm620 , in dem das Ausrüstungs-Modulklassenobjekt614 für Zumessungen expandiert dargestellt ist, um die damit verbundene Ablauflogik aufzuzeigen, die die anweisungsgesteuerten Algorithmen mit den Bezeichnungen Command_00002, Command_00003 und Command_00099 enthält. Im rechten Teil622 des Bildschirms620 sind detailliertere Informationen zu den Steuerungsroutinen der Ablauflogik enthalten. Insbesondere handelt es sich bei Command_00002 um eine Routine für die exakte Zumessung, die für die Steuerung des exakten oder feinen Stroms der Zumessung genutzt wird. Command_00003 ist eine Routine für die Grobzumessung, die genutzt wird, um den schnellen Strom der Zumessung zu steuern bzw. durch diesen zu befüllen, und Command_00099 ist eine Rücksetzroutine, die die Zumessung zurücksetzt. Der Block mit der Bezeichnung Monitor im Bildschirm620 ist ein der Ablauflogik zugeordneter Funktionsblock, der Überwachungsaktivitäten bereitstellt. Wie aus8 und9 hervorgeht, hat jedes der Elemente innerhalb der Modulklassenobjekte der Bibliotheken604 ,606 und608 Unterobjekte und Unterelemente, und in einigen oder allen Fällen nehmen die Unterelemente Bezug auf oder übernehmen Steuerungsroutinen oder Displayroutinen, die im Betrieb der Prozessanlage10 von einem Computer wie beispielsweise einem Steuerungsgerät oder einer Workstation auszuführen sind. Die Steuerungs- und Displayroutinen und die sonstigen Bezugnahmen auf Ausrüstungskomponenten innerhalb der Modulklassenobjekte sind jedoch generischer Natur, so dass sie mit keinen bestimmten tatsächlichen Ausrüstungskomponenten der Prozessanlage10 verknüpft oder verbunden sind. -
10 zeigt eine weitere Bildschirmdarstellung630 , die die Details der Routine Command_00002 in der Ablauflogik des Ausrüstungs-Modulklassenobjekts Totalizer614 aufzeigt. Wie in einem Pop-up-Fenster632 , das von einem Editor634 zur Programmierung sequentieller Funktionspläne erzeugt wird, zu erkennen ist, enthält die Routine Command_00002 eine Folge von Schritten, wobei jeder Schritt eine Folge von Maßnahmen umfasst. Nur die erste Maßnahme (A1) des ersten Schritts (S1) der Routine Command_00002 ist im Fenster632 dargestellt. Dabei ist anzumerken, dass die erste Maßnahme des ersten Schritts der Routine Command_00002 den Parameter Reset des Steuerungsmodulobjekts Flow_Meter auf "True" setzt, und anschließend auf Basis der Zustände der Variablen SP den Parameter Target_State des Steuerungsmodulobjekts (oder Modulblocks) Coarse_Valve auf "Valve:Open" und den Parameter Target_State des Steuerungsmodulobjekts (oder Modulblocks) Fine_Valve auf "Valve:Open" setzt. Es versteht sich von selbst, dass dieser Abschnitt der Routine Command_00002 auf die Steuerungsmodulobjekte (oder Modulblöcke) Flow_Meter, Coarse_Valve und Fine_Valve Bezug nimmt, die an diesem Punkt in generischer Form dem Ausrüstungs-Modulklassenobjekt Totalizer zugeordnet sind, dass aber die Routine Command_00002 jedes tatsächlichen Ausrüstungsmodulobjekts für Zumessungen, das aus dem Ausrüstungs-Modulklassenobjekt für Zumessungen erzeugt wurde, auf den tatsächliche Namen des Steuerungsmodulobjekts Bezug nehmen wird, das mit dem oder als Teil des Ausrüstungsmodulobjekts für Zumessungen erzeugt wurden. -
11 ist eine Bildschirmdarstellung640 , die Details eines Steuerungsalgorithmus zeigt, der der Phasenklasse Dose642 zugeordnet ist, die vom Einheiten-Modulklassenobjekt Reactor610 der8 verwendet werden oder auf die dieses Bezug nehmen kann. Insbesondere enthält die Phasenklasse Dose642 einen Satz verschiedener allgemeiner Steuerungsmaßnahmen, zu denen Abort, Fail, Hold, Restart und Run gehören. Die mit der Maßnahme Run verbundene Logik (als Run_Logic bezeichnet) umfasst eine Folge von Schritten, die im Bildschirmabschnitt644 als Step 1 (S1), Step 2 (S2) und Step 3 (S3) bezeichnet sind, außerdem zwei Übergänge (Transitions) T1 und T2 und einen Abschluss (Termination). Ein Editor für sequentielle Funktionspläne646 liefert eine grafische Darstellung der Schritte und der Übergänge in Form eines Blockdiagramms. Ein Pop-up-Bildschirm648 bringt die tatsächliche, mit Action 1 (A1) von Step 1 (S1) verbundene Steuerlogik zur Ausgabe. Insbesondere enthält die Ablauflogik im Fenster648 , bei dem es sich um einen Logikeditor handelt, die Maßnahmen für die Zuteilung des gemeinsam genutzten Wasserheaders für den Reaktor, das Öffnen des Ventils water_in und das anschließende Rücksetzen aller dem Reaktor zugehörigen Zumessungen. - Da die Phasenklasse Dose unabhängig vom Reaktor geschrieben ist, verwendet sie Aliasnamen für den Bezug auf Ausrüstungskomponenten, die zur Laufzeit oder zu einem früheren Zeitpunkt spezifiziert werden, die aber selbstverständlich nicht im Einheiten-Modulklassenobjekt für Reaktoren spezifiziert werden können. Jedoch beziehen sich die Referenzen auf tatsächliche Vorrichtungen oder andere Prozesselemente, die im Steuerungsalgorithmus
648 verwendet werden, auf solche Vorrichtungen, die innerhalb des gleichen Modulklassenobjekts vorliegen, in diesem Fall im Einheiten-Modulklassenobjekt für Reaktoren. In der Steuerungsroutine648 werden Aliasnamen mit dem Symbol # versehen, so dass #WATER_IN# ein Aliasname für das Steuerungsmodul water_in im gleichen Modul ist, d.h. im Einheiten-Modulklassenobjekt610 . In gleicher Weise beziehen sich die Bezeichnungen #WATER#, #ACID# und #ALKALI# auf die Zumessungs-Modulblöcke Water, Acid und Alkali im Einheiten-Modulklassenobjekt Reactor610 . Selbstverständlich ist klar, dass die Ausrüstungs-Modulklassenobjekte für Zumessungen und Reaktorauslass und das Steuerungs-Modulklassenobjekt für Absperrventile dem Einheiten-Modulklassenobjekt für Reaktoren durch entsprechende Ausrüstungsmodulobjekte für Zumessungen und Reaktoren (mit beispielsweise den Bezeichnungen Alkali1, Acid1 etc.) und Steuerungsmodulobjekte für Absperrventile (mit beispielsweise den Bezeichnungen Coarse_Valve1, Fine_Valve1, Outlet1 etc.) zugeordnet sind und auf diese Weise logische Teile des betreffenden Einheitenklassenobjekts werden. -
12 zeigt eine Bildschirmdarstellung650 , in der das Ausrüstungs-Modulklassenobjekt Reactor_Outlet616 detaillierter dargestellt ist. Die dem Ausrüstungs-Modulklassenobjekt Reactor_Outlet616 zugeordnete Run_Logic ist im Bildschirmabschnitt652 gezeigt und umfasst die Elemente Drive, Monitor und Readback, und insbesondere einen zustands-gesteuerten Algorithmus mit vier separaten Zuständen, die zur Steuerung der Ventile dienen, die dem Ausrüstungs-Modulklassenobjekt Reactor_Outlet616 zugeordnet sind. Der rechte Bildschirmabschnitt654 enthält Einzelheiten zu den Elementen Drive mit den Bezeichnungen Drain SP, Outlet_SP und Product_SP in den Steuerblöcken oder Steuerungsmodulen, die zum Öffnen oder Schließen der tatsächlichen Ventile verwendet werden, und außerdem die Kommunikationspfadspezifikationen für jedes Steuerungsmodul Target_State in den Modulblöcken mit den Bezeichnungen Drain, Outlet und Product. Eine Rücklesepfadspezifikation stellt den Kommunikationspfad für den Readback-Parameter von Current_State in jedem der Modulblöcke Drain, Outlet und Product bereit, außerdem werden die Zustände der Ventile für die verschiedenen Zustände der Ausrüstungskomponente Reactor_Outlet angegeben. Demgemäß zeigen die Einzelheiten zu Drive im Bildschirmabschnitt654 , dass bei Reactor_Outlet616 im geschlossenen Zustand die Entleerungs-, Auslass- und Produktventile alle geschlossen sind, dass während des Entleerungsvorgangs (Draining) die Entleerungs- und Auslassventile geöffnet sind, während das Produktventil geschlossen ist, und dass während des Abziehens des Produkts das Entleerungsventil geschlossen und das Auslass- und das Produktventil geöffnet sind. Es ist klar, dass die Bildschirmdarstellung650 der12 nur eine Art und Weise verdeutlicht, die zustandsgesteuerte Steuerlogik für ein Ausrüstungs-Modulklassenobjekt zu spezifizieren, und dass ebenso gut jede gewünschte andere Art und Weise gewählt werden kann. - Wenn gewünscht, können selbstverständlich diese oder ähnliche Bildschirme wie die Bildschirme 9 - 12 von einem Konfigurierungstechniker verwendet werden, um Steuerungsalgorithmen innerhalb der Phasenklassen Dose oder anderen zu erzeugen und zu spezifizieren, oder auch für beliebige der anderen Module, wie z.B. Einheiten-Modulklassenobjekte, Ausrüstungs-Modulklassenobjekte und Display-Modulklassenobjekte, um auf diese Weise jedes gewünschte Modulklassenobjekt zu erzeugen.
- Nach dem Erzeugen eines oder mehrerer Modulklassenobjekte gemäß vorstehender Beschreibung kann der Konfigurierungstechniker anschließend diese Modulklassenobjekte verwenden, um Elemente innerhalb der Prozessanlage
10 zu konfigurieren.13 zeigt einen Bildschirm660 , der eine hierarchische Darstellung661 aufweist, in der eine Systemkonfiguration662 der Prozessanlage10 zur Anzeige gebracht wird. Die Systemkonfiguration662 enthält einen Abschnitt mit der Bezeichnung Control Strategies664 , der die Steuerungsstrategien für die Prozessanlage10 und insbesondere für die Nutzung bei der Steuerung der Prozessentitäten der Prozessanlage10 spezifiziert. Die Steuerungsstrategien664 sind in logische Gruppierungen unterteilt, beispielsweise entsprechend den physikalischen Bereichen der Anlage10 . Ein Bereich Area_A665 ist im Fenster661 wiedergegeben. Area_A665 umfasst eine Sektion zur Salzherstellung666 mit der Bezeichnung Salts, die eine Vielzahl von Teilen oder Beispielen mehrfach vorhandener Ausrüstungskomponenten enthalten kann, die für die Salzherstellung genutzt werden. - Um die Sektion der Anlage
10 zur Salzherstellung zu konfigurieren, kann der Konfigurierungstechniker das Einheiten-Modulklassenobjekt610 für Reaktoren aus der Einheiten-Modulklassenbibliothek604 der8 wählen und dieses durch Ziehen oder auf andere Weise unter die Überschrift Salts666 kopieren, um eine Instanz eines Reaktors entsprechend der durch das Einheiten-Modulklassenobjekt610 für Reaktoren spezifizierten Form zu erzeugen. Dieser Reaktor ist in13 als das Einheitenmodulobjekt Reactor_1668 wiedergegeben. Die Konfigurierungsapplikation50 kann das Einheitenmodulobjekt Reactor_1668 automatisch auf Basis des Namens des Einheiten-Modulklassenobjekts, aus dem es erzeugt wurde, benennen, und zwar in einer Art und Weise, die die Eindeutigkeit innerhalb des Konfigurierungssystems sicherstellt. Wie in13 gezeigt, enthält das Einheitenmodulobjekt Reactor_1668 ein Ausrüstungsmodulobjekt für Zumessungen Acid_1, ein Ausrüstungsmodulobjekt für Zumessungen Alkali_1, und ein Ausrüstungsmodulobjekt Outlet2 , die den Modulklassenobjekten für Säure, Alkali und Auslassventile entsprechen, die im Einheiten-Modulklassenobjekt610 für Reaktoren spezifiziert sind. Außerdem umfasst das Einheitenmodulobjekt Reactor_1668 die Einheitenphasen Dose, Drain, Flush und Mix (aus den Phasenklassen abgeleitet) gemäß der Spezifikation durch das Modulklassenobjekt610 . Ein Ordner mit der Bezeichnung Aliases stellt eine Aliasauflösungstabelle bereit, die die Zuordnung der Aliasnamen enthält, die von den Steuerungsroutinen an beliebigen Stellen des Einheitenmodulobjekts Reactor_1668 verwendet werden. Durch die Aliasauflösungstabelle im Einheitenmodulobjekt Reactor_1668 ist es möglich, die Steuerungsroutinen vor der oder zur Laufzeit zu analysieren, um sie einer bestimmten Ausrüstungskomponente innerhalb der Prozessanlage10 zuzuordnen. Die Verwendung von Einheitenphasen und Aliasauflösungstabellen ist detailliert in der US-Patentschrift Nr. 6,385,496 beschrieben, die für die Anmelderin dieses Patents angemeldet wurde, und die hierin ausdrücklich durch Referenz einbezogen ist. Außerdem enthält das Einheitenmodulobjekt Reactor_1668 die Modulobjekte Water_HDR1 und Water_In, die dem Ausrüstungs-Modulklassenobjekt für die Wasserzumessung entsprechen, auf die im Einheitenklassenobjekt Reactor610 und im Steuerungs-Modulklassenobjekt für Absperrventile Water_In des Einheitenklassenobjekts Reactor610 Bezug genommen wird. Selbstverständlich kann die Konfigurierungsapplikation50 wiederum automatisch das Bezeichnungsschema, das für die Elemente des Einheitenmodulobjekts Reactox_1688 verwendet wurde, auf Basis der Namen der entsprechenden Elemente im Einheiten-Modulklassenobjekt Reactor610 bereitstellen, aus dem die einzelnen Elemente des Einheitenmodulobjekts Reactor_1668 erzeugt wurden, und zwar in einer Art und Weise, die die Eindeutigkeit innerhalb der Konfigurierungsstrategie sicherstellt. - Aus der Erläuterung unter Bezug auf das Einheiten-Modulklassenobjekt Reactor
610 geht hervor, dass Water_HDR1 ein gemeinsam genutzter Wasserheader ist (entsprechend dem Wassereinlassventilsystem110 der1 ). Deshalb wird ein separates Ausrüstungsmodulobjekt unter dem Eintrag Salts666 mit der Bezeichnung Water_HDR1670 bereitgestellt. Selbstverständlich kann der Konfigurierungstechniker das Modulobjekt Water_HDR1670 aus dem Ausrüstungs-Modulklassenobjekt614 für Zumessungen der8 erzeugen, indem er das Element durch Kopieren oder Ziehen in das Bildschirmfenster661 kopiert. Wie hierbei zu erwarten, umfasst der gemeinsam genutzte Wasserheader Water_HDR1670 in der Darstellung spezielle Steuerungsmodulobjekte für Absperrventile (mit den Bezeichnungen Coarse_Valve4 und Fine_Valve4) und ein spezielles Steuerungsmodulobjekt für einen Durchflussmesser (mit der Bezeichnung Flow_Meter4), die den Steuerungs-Modulklassenobjekten Coarse_Valve, Fine_Valve und Flow_Meter des Ausrüstungs-Modulklassenobjekt614 für Zumessungen der8 entsprechen. Außerdem bezieht sich die Referenz Water_HDR1 im Modulobjekt Reactor_1668 auf das Ausrüstungsmodulobjekt Water_HDR1670 . - Selbstverständlich könnten beliebige der Ausrüstungs- oder Steuerungsmodule innerhalb eines Einheiten-Modulklassenobjekts als gemeinsam genutzte oder als nicht gemeinsam genutzte Modulobjekte gekennzeichnet werden. Ein nicht gemeinsam genutztes Modulobjekt ist vollständig dem übergeordneten Modulobjekt zugehörig, in dem das nicht gemeinsam genutzte Modulobjekt erzeugt wurde. Ein gemeinsam genutztes Modulobjekt ist mehreren übergeordneten Modulobjekten zugehörig oder diesen zugeordnet. Die Eigenschaft gemeinsam genutztes bzw. nicht gemeinsam genutzes Modulobjekt wirkt sich auf die Anzeige eines Modulobjekts im Explorerfenster aus. Insbesondere bewirkt die Kennzeichnung als nicht gemeinsam genutztes Modulobjekt, dass das Modulobjekt nur unter dem übergeordneten Modulobjekt innerhalb der Steuerungsstrategie aufgelistet wird, während eine Kennzeichnung als gemeinsam genutztes Modulobjekt dazu führt, dass der gemeinsam genutzte Modulblock bzw. das Modulobjekt unter jedem der übergeordneten Modulobjekte aufgelistet wird, die das Element gemeinsam nutzen, und außerdem als eigenständiges Modulobjekt in der Explorerhierarchie eingetragen wird.
- Es ist klar, dass der Konfigurierungstechniker innerhalb der Sektion Control Strategies
664 des Konfigurierungssystems eine Steuerungsstrategie für einen vollständigen Reaktor erzeugen kann, indem er einfach ein Einheiten-Modulklassenobjekt610 für Reaktoren kopiert und damit eine Instanz desselben erzeugt (das Einheitenmodulobjekt Reactor668 ), die über alle Elemente verfügt, die im Einheiten-Modulklassenobjekt610 für Reaktoren spezifiziert sind. Die einzelnen Einheiten und insbesondere die Steuerungselemente des Einheitenmodulobjekts Reactor668 können jedoch mit bestimmten Entitäten innerhalb der Prozessanlage10 verknüpft oder verbunden werden, indem Bezeichnungen für Eingänge/Ausgänge verwendet werden, die von Modulobjekt zu Modulobjekt variieren, wobei ein Dialogfenster zur Konfigurierung verwendet wird, das generiert wird, damit ein Konfigurierungstechniker die Art und Weise spezifizieren kann, in der die Modulobjekte in die Prozessanlage eingebunden werden. Wie weiter oben verdeutlicht, ist das erzeugte Modulobjekt Reactor668 immer noch mit dem Einheiten-Modulklassenobjekt610 für Reaktoren verbunden und diesem zugehörig, so dass Änderungen, die am Einheiten-Modulklassenobjekt610 für Reaktoren vorgenommen werden, wenn gewünscht automatisch auf das Modulobjekt Reactor_1668 übertragen werden können und somit auch in diesem zur Verfügung stehen. In jedem Fall kann der Konfigurierungstechniker die erzeugten Modulobjekte verändern oder individuell anpassen, z.B. das Modulobjekt Reactor_1668 , so dass Änderungen am Stamm-Modulklassenobjekt akzeptiert oder zurückgewiesen werden, und zwar auf einer globalen (objektweiten) Basis oder auf einer Basis von Element zu Element. - Der rechte Abschnitt
672 des Bildschirms660 zeigt bzw. listet die Parameter, Alarme etc. auf, die mit jedem der Elemente im Modulobjekt Reactor_1668 (da dieses das in der Sektion661 angewählte Element ist) verbunden sind, und außerdem die diesen zugeordneten Ventile, Filter und weitere Informationen. Selbstverständlich kann der Konfigurierungstechniker diese Daten für jedes der Elemente des Modulobjekts Reactor_1668 wie gewünscht ändern oder spezifizieren, um so einzelne Modulobjekte, die aus dem Modulklassenobjekt erzeugt wurden, in jeder gewünschten Weise anzupassen. -
14 zeigt eine Bildschirmausgabe680 , die die Konfiguration des Ausrüstungsmodulobjekts Acid1682 des Einheitenmodulobjekts Reactor_1668 verdeutlicht. Da das Ausrüstungsmodulobjekt Acid1682 in14 angewählt ist, sind die Elemente desselben im rechten Abschnitt684 des Bildschirms680 aufgezeigt. Diese Elemente umfassen Steuerungsmodulobjekte Coarse_Valve1, Fine_Valve1 und Flow_Meter1 und sichtbare Parameter. - Ein Pop-up-Fenster
686 stellt Information bezüglich der Modulunterobjekte bereit, die dem Ausrüstungsmodulobjekt Acid1 zugeordnet sind, und ebenso hinsichtlich der Modulklasse, aus der diese Modulunterobjekte herstammen bzw. erzeugt wurden. Insbesondere gehört das Ausrüstungsmodulobjekt Acid1 zum Ausrüstungs-Modulklassenobjekt für Zumessungen, die Modulobjekte Coarse_Valve1 und Fine_Valve1 gehören zum Steuerungs-Modulklassenobjekt für Absperrventile aus der Bibliothekssektion608 der8 , und das Modulobjekt Flow_Meter1 gehört zum Steuerungs-Modulklassenobjekt Flow_Meter in der Bibliothekssektion608 der8 . - Das Pop-up-Fenster Acid1 Configuration
686 weist Reiter mit den Bezeichnungen Parameters, IO (Eingabe/Ausgabe), Alarms und Fieldbus auf. Der Reiter Parameters kann dazu dienen, die Parameter eines jeden der Elemente der Zumessung Acid1 des Modulobjekts Reactor_1668 zu spezifizieren oder einzusetzen. Der Reiter IO kann dazu dienen, die Ein-/Ausgabeverbindungen zwischen jedem der Elemente des Modulobjekts der Zumessung Acid1682 des Modulobjekts Reactor_1668 zu spezifizieren, um damit die einzelnen Elemente mit den tatsächlichen Ausrüstungskomponenten innerhalb der Prozessanlage10 zu verbinden. Wenn gewünscht, können diese Verbindungen mit Hilfe eines Tabellenkalkulationsalgorithmus bzw. -programms entsprechend15 spezifiziert werden, um die Verbindungen zwischen allen Elementen eines Modulobjekts (auf jeder Ebene) und den tatsächlichen Elementen innerhalb der Prozessanlage10 auf einer globalen oder Gruppenbasis zu spezifizieren. Das Tabellenschema688 der15 liefert eine tabellarische Ansicht, die es einem Konfigurierungstechniker ermöglicht, die Grobventile verschiedener Ausrüstungsmodule für Zumessungen insgesamt mit den Ausrüstungkomponenten der Prozessanlage10 zu verbinden. In diesem Fall sind die Pfadnamen IO_Out und IO_Readback für die Ventile mit den Bezeichnungen VLV-101A, VLV201A, VLV-301A und VLV-401A spezifiziert. Wenn dies gewünscht ist, können jedoch auch verschiedene Elemente des gleichen Moduls gemeinsam spezifiziert werden. - Bezug nehmend auf
14 kann der Reiter Alarms des Pop-up-Fensters686 dazu dienen, Alarme in Verbindung mit dem Modulobjekt Acid_1 zu spezifizieren oder zu konfigurieren, mit dem Reiter Fieldbus können Verbindungen zu einzelnen Fieldbus-Vorrichtungen wie erforderlich spezifiziert werden. Selbstverständlich können ähnliche Konfigurierungsbildschirme für andere Modulobjekte innerhalb des Modulobjekts Reactor_1668 oder für das gesamte Modulobjekt Reactor_1668 eingesetzt werden. Ebenso können die gleichen oder ähnliche Konfigurierungsbildschirme für andere Modulobjekte verwendet werden. Es ist klar, dass die Konfigurierungsbildschirme auf jeder Modulobjektebene einschließlich der Einheitenmodulebene, der Ausrüstungsmodulebene, der Steuerungsmodulebene etc. ausgegeben und genutzt werden können. -
16 zeigt eine Bildschirmdarstellung690 , die ein Explorex-Fenster661 des Konfigurierungssystems für die Prozessanlage10 enthält, in der der Konfiguxierungstechniker ein weiteres Modulobjekt692 für Reaktoren mit der Bezeichnung Reactor_1_1 hinzugefügt hat, das aus dem Einheiten-Modulklassenobjekt610 für Reaktoren der8 kopiert oder erzeugt wurde. Selbstverständlich kann der Konfigurierungstechniker bei der Erzeugung des Modulobjekts Reactor_1_1692 abweichende Parameter, abweichende Verknüpfungen zu anderen Vorrichtungen und sogar abweichende Steuerungsroutinen spezifizieren, die in den einzelnen Unterelementen zur Anwendung kommen sollen. Wie16 zeigt, enthält das Modulobjekt Reactor_1_1 Unterobjekte für jedes der Ausrüstungs-Modulklassenobjekte innerhalb des Einheiten-Modulklassenobjekts610 für Reaktoren der8 , einschließlich der Ausrüstungsmodulobjekte Acid2, Alkali2 und Outlet4. Das Modulobjekt Reactor_1_1 enthält außerdem Steuerungsmodulobjekte Water_In2 und Level_Meter2, eine Referenz zu den gemeinsam genutzten Ausrüstungmodulobjekten mit den Bezeichnungen Water_HDR1 und den Einheitenphasen Dose, Drain, Flush und Mix. Die ausschließlich dem Modulobjekt Reactor_1_1692 zugeordneten Unterobjekte tragen eindeutige Bezeichnungen, während die gemeinsam genutzten Einheiten, beispielsweise das Modulobjekt Water_HDR1, mit dem Namen des gemeinsam genutzten Wasserheaders bezeichnet sind. - Es ist klar, dass der Konfigurierungstechniker in entsprechender Weise auch andere Einheiten-Modulklassenobjekte, Ausrüstungs-Modulklassenobjekte, Steuerungs-Modulklassenobjekte und Display-Modulklassenobjekte verwenden kann, um Konfigurierungselemente für Einheiten-, Ausrüstungs-, Steuerungs- und Displayelemente innerhalb der Prozesssteuerungsumgebung entsprechend den jeweils beschriebenen Prinzipien zu erzeugen. Außerdem ist klar, dass die Nutzung dieser Modulklassenobjekte, die von sehr differenzierter Art sein können, dem Konfigurierungstechniker deutliche Vorteile bei der Erzeugung einer Konfiguration bieten, da der Techniker nicht jedes individuelle Steuerungselement einzeln erzeugen oder jedes individuelle Steuerungselement einzeln aus einer Steuerungstemplate kopieren muss, sondern stattdessen Modulklassenobjekte verwenden kann, die auf immer höherer Ebene oder mit immer größerem Umfang bereitgestellt werden, um immer umfassendere Gruppenkonfigurierungselemente für die Konfigurierung der Prozessanlage
10 zu erzeugen. - Außerdem kann der Konfigurierungstechniker Änderungen an den Konfigurierungselementen verschiedener Prozesseentitäten auf einer globalen Basis vornehmen, indem er ein oder mehrere der Einheiten-Modulklassenobjekte ändert und dabei die Übertragung dieser Änderungen auf jedes der Modulobjekte veranlasst, die aus den jeweiligen Einheiten-Modulklassenobjekten erzeugt wurden und diesen zugeordnet sind. Dieses Merkmal macht Änderungen innerhalb der Konfiguration, die nach der eigentlichen Erzeugung der Konfiguration notwendig werden, einfacher und weniger zeitraubend. Darüber hinaus kann der Konfigurierungstechniker eine Zugriffsebene für verschiedene Elemente oder Komponenten von Modulobjekten innerhalb des Konfigurierungssystems spezifizieren, indem er Sicherheitsparameter innerhalb der Modulklassenobjekte setzt. Wie oben erwähnt, kann der Konfigurierungstechniker einen Zugriffsschutz auf modulweiser Basis auf jeder Ebene einrichten, beispielsweise auf der Einheitenmodulebene, der Ausrüstungsmodulebene, der Steuerungsmodulebene und der Displaymodulebene. Auf diese Weise können einige Elemente eines Einheitenmodulobjekts einsehbar sein, während andere unsichtbar sind.
- Selbstverständlich können nach der kompletten Erstellung des Konfigurierungssystems und nachdem die Modulobjekte mit den einzelnen Prozessentitäten innerhalb der Prozessanlage
10 verbunden sind, die Steuerungs- und Displaymodule oder diesen Modulen zugeordneten Elemente in die jeweiligen Steuerungsgeräte12 und Workstations14 der1 heruntergeladen werden, von denen sie im Betrieb der Prozessanlage10 ausgeführt werden. -
17 ist ein Flussdiagramm einer beispielhaften Routine700 für die Konfigurierung eines Prozessanlagenelements zur Begrenzung des Zugriffs auf das Element. Die Routine700 kann durch ein oder mehrere Rechnersysteme wie z.B. eine oder mehrere Workstations14 und/oder die Steuerungsgeräte12 der Prozessanlage10 der1 implementiert werden. Die Routine700 kann auch durch ein von der Prozessanlage10 getrenntes Rechnersystem implementiert werden. So könnte beispielsweise ein Drittanbieter die Routine700 nutzen, um den Zugriff z.B. auf ein vom Drittanbieter entwickeltes Modulobjekt, Modulklassenobjekt, eine Modultemplate, eine Composite-Template etc. zu begrenzen. Das entwickelte Modulobjekt, Modulklassenobjekt, die Composite-Template etc. könnten dann von einem Kunden des Drittanbieters genutzt werden, aber es wäre dem Kunden beispielsweise nicht möglich, Einsicht in einige oder alle der internen Elemente des entwickelten Modulobjekts, Modulklassenobjekts, der Composite-Template etc. zu nehmen. Generell kann es sich bei dem Prozessanlagenelement, das konfiguriert werden soll, beispielsweise um ein Modulobjekt, ein Modulklassenobjekt, eine Composite-Template etc. handeln. Die Routine700 kann als Teil einer Konfigurierungsapplikation, wie z.B. der Konfigurierungsapplikation50 , implementiert werden. So kann die Routine700 z.B. während oder nach der Konfigurierung eines Modulobjekts, eines Modulklassenobjekts, einer Composite-Template etc. unter Verwendung der Konfigurierungsapplikation50 implementiert werden. Die Routine700 kann aber auch durch eine von der Konfigurierungsapplikation50 getrennte Applikation implementiert werden. - In einem Block
702 wird eine Nutzereingabe empfangen, die anzeigt, dass der Zugriff auf das Prozessanlagenelement gesteuert werden muss (d.h. dem Prozessanlagenelement zugeordnete Daten müssen geschützt werden). Ein Konfigurierer des Elements kann z.B. ein Kästchen markieren, ein Bedienelement oder ein Menüelement etc. anwählen, das anzeigt, dass dem Element zugeordnete Daten geschützt werden müssen. Die Nutzereingabe kann wahlweise auch anzeigen, welche dem Element zugeordneten Daten geschützt werden müssen. Der Nutzer kann beispielsweise entscheiden, bestimmte Daten zu schützen, während andere Daten ungeschützt bleiben. - Alternativ kann dem Nutzer keine Wahlmöglichkeit gegeben werden, welche Daten detektiert werden. Beispielsweise kann es möglich sein, dass dem Nutzer nur die Wahl offensteht, ob ein Element geschützt werden soll oder nicht. Wenn ein Nutzer entscheidet, einem Modulobjekt oder einem Modulklassenobjekt zugeordnete Daten zu schützen, kann ein dem Modulobjekt oder dem Modulklassenobjekt zugeordneter Datensatz geschützt werden, während nicht im Satz enthaltene Daten nicht geschützt sind. Beispielsweise können Funktionsblöcke, die ein Modulobjekt oder ein Modulklassenobjekt bilden, sowie ihre Verbindungen geschützt werden, aber die Parameter des Modulobjekts oder des Modulklassenobjekts sind nicht geschützt.
-
18A und18B sind beispielhafte Bildschirmdarstellungen, die von einer Konfigurierungsapplikation wie der Konfigurierungsapplikation50 der1 erzeugt werden können. Ähnliche Bildschirmdarstellungen könnten durch andere Applikationstypen erzeugt werden, wie z.B. durch eine Applikation, die genutzt wird, um einen Prozess während des Ablaufs zu überwachen, durch eine Applikation zur Fehlerbereinigung für die Fehlerbereinigung einer Konfiguration, durch eine Asset-Managementapplikation etc. Die Bildschirmdarstellung720 umfasst einen Abschnitt722 eines Explorer-Fensters mit einer Bibliothek724 von Composite-Templates. Eine der Composite-Templates ist die Composite-Template DYN_FULL726 . Die Composite-Template DYN_FULL726 beinhaltet verschiedene Unterelemente, die, da die Composite-Template DYN_FULL726 im Explorer-Fenster722 angewählt wurde, auf der rechten Seite 728 der Bildschirmdarstellung720 zur Ansicht gebracht werden. Die Unterelemente, aus denen die Composite-Template DYN_FULL726 besteht, umfassen Parameter und Funktionsblöcke730 . - In der Bildschirmdarstellung
720 wurde die Composite-Template DYN_FULL726 nicht als geschützt konfiguriert und somit werden die Funktionsblöcke730 auf der rechten Seite 728 der Bildschirmdarstellung720 zur Ansicht gebracht. Dagegen zeigt18B eine Bildschirmdarstellung732 , die der als geschützt konfigurierten Composite-Template DYN_FULL726 entspricht. In der Bildschirmdarstellung732 sind die Funktionsblöcke730 daher in der rechten Seite 728 nicht gezeigt (d.h. sie sind unsichtbar). Die Parameter der Composite-Template DYN_FULL726 erscheinen jedoch weiterhin, obwohl diese als geschützt konfiguriert wurde. - In dem ebenfalls in
17 abgebildeten Block704 kann der Nutzer aufgefordert werden, ein Passwort einzugeben. Beispielsweise kann ein Fenster, ein Bildschirm, ein akustisches Signal etc. den Nutzer auffordern, ein Passwort einzugeben. Wie nachstehend beschrieben, kann das Passwort zu einem späteren Zeitpunkt genutzt werden, um auf die geschützten Daten zuzugreifen und/oder das Element neu zu konfigurieren, um den Schutz aufzuheben. In einem Block706 kann das Passwort empfangen werden. Das Passwort kann beispielsweise über eine Tastatur, einen Tastenblock, einen Sensor-Bildschirm, einen Lichtgriffel, eine Maus etc. eines Rechnersystems eingegeben werden. - In einem Block
708 kann eine Angabe zu den dem Prozessanlagenelement zugeordneten und zu schützenden Daten gespeichert und dem Element zugeordnet werden. Ist das Element beispielsweise ein Objekt, so kann die Angabe als Teil dieses Objekts gespeichert werden. In einem weiteren Beispiel könnte die Angabe getrennt vom Objekt gespeichert und ein Link als Verweis könnte als Teil des Objekts gespeichert werden. In noch einem anderen Beispiel könnte die Angabe als Teil eines Modulklassenobjekts gespeichert werden, wenn das Prozessanlagenlement ein aus dem betreffenden Modulklassenobjekt erzeugtes Element ist. Hat der Nutzer keine Wahlmöglichkeit, welche Daten geschützt werden sollen, kann der Block708 entfallen. - In einem Block
710 kann das im Block706 empfangene Passwort gespeichert und dem Element zugeordnet werden. Wenn das Element z.B. ein Objekt ist, kann das Passwort als Teil dieses Objekts gespeichert werden. In einem weiteren Beispiel könnte das Passwort getrennt vom Objekt gespeichert und ein Link zum Passwort als Teil des Objekts gespeichert werden. In noch einem anderen Beispiel könnte das Passwort als Teil eines Modulklassenobjekts gespeichert werden, wenn das Prozessanlagenlement ein aus dem betreffenden Modulklassenobjekt erzeugtes Element ist. - Wahlweise können die zu schützenden Daten und/oder das Passwort verschlüsselt werden. Bei diesen Implementierungen können die Blöcke
708 und710 das Speichern und das Zuordnen der verschlüsselten Daten und/oder des verschlüsselten Passworts umfassen. Außerdem könnten die geschützten oder die verschlüsselten Daten als Teil eines Modulklassenobjekts gespeichert werden, wenn das Prozessanlagenelement ein aus dem betreffenden Modulklassenobjekt erzeugtes Element ist. - Wenn das Element ein Modulklassenobjekt ist, kann die Angabe der zu schützenden Daten und des Passworts an Elemente übertragen werden, die aus dem Modulklassenobjekt erzeugt wurden.
- Eine der Routine
700 ähnliche Routine könnte genutzt werden, um den Schutz des Prozessanlagenelements oder spezieller, dem Element zugeordneter Daten aufzuheben. Hierfür könnte eine Nutzereingabe mit der Angabe empfangen werden, dass der Schutz von einem geschützten Prozessanlagenelement zugeordneten Daten aufgehoben werden soll. Der Nutzer könnte dann aufgefordert werden, ein Passwort einzugeben. Entspricht das empfangene Passwort dem in Block710 der Routine700 gespeicherten und dem geschützten Prozessanlagenelement zugeordneten Passwort, könnte der Nutzer zur Angabe aufgefordert werden, bei welchen (oder ob bei allen) der geschützten Daten der Schutz aufzuheben ist. Die gespeicherte und dem Element in Block708 der Routine700 zugeordnete Angabe könnte dann geändert werden, um anzuzeigen, dass der Schutz einiger oder aller Daten aufgehoben wurde. -
19 ist ein Flussdiagramm einer beispielhaften Routine750 für die Konfigurierung einer Gruppe von Prozessanlagenelementen, um den Zugriff auf die Gruppe zu begrenzen. Die Routine750 kann von einem oder mehreren Rechnersystemen implementiert werden, z.B. durch eine oder mehrere der Workstations14 und/oder die Steuerungsgeräte12 der Prozessanlage10 in1 . Bei den Prozessanlagenelementen der Gruppe kann es sich beispielsweise um Modulobjekte, Modulklassenobjekte und/oder Composite-Templates handeln. Die Routine750 kann als Teil einer Konfigurierungsapplikation, wie z.B. der Konfigurierungsapplikation50 , implementiert werden. Die Routine750 kann beispielsweise nach der Konfigurierung von Elementen der Gruppe unter Verwendung der Konfigurierungsapplikation50 implementiert werden. Die Routine750 kann aber auch durch eine von der Konfigurierungsapplikation50 getrennte Applikation implementiert werden. - In einem Block
752 wird eine Nutzereingabe empfangen, die anzeigt, dass der Zugriff auf die Gruppe von Elementen gesteuert werden muss (d.h. die Gruppe von Prozessanlagenelementen muss geschützt werden). Beispielsweise kann der Zugriff auf jedem Element der Gruppe zugeordnete Daten geschützt werden. Außerdem kann die Hinzufügung von Elementen zu der Gruppe oder das Löschen von Elementen aus der Gruppe nicht zulässig sein. Die Gruppe von Elementen kann beispielsweise eine Bibliothek von Elementen, einen Ordner mit Elementen, eine Klasse von Elementen, eine Kategorie von Elementen etc. umfassen. - Ein Konfigurierer der Gruppe von Elementen kann die Gruppe zunächst beispielsweise durch Markieren der Gruppe von Elementen, die Anwahl des Namens einer Bibliothek, eines Ordners, einer Klasse, einer Kategorie etc. auswählen. Unter Bezugnahme auf
18A könnte die betreffende Person z.B. die Unterbibliothek734 oder die Kategorie736 auswählen, eine Vielzahl von Modulen der Kategorie736 markieren etc. Dann kann die Person z.B. ein Kästchen markieren oder ein Bedienelement, ein Menüelement etc. anwählen, die anzeigen, dass die Gruppe geschützt werden soll. - In
19 kann der Nutzer in einem Block754 aufgefordert werden, ein Passwort einzugeben. Beispielsweise kann ein Fenster, ein Bildschirm, ein akustisches Signal etc. den Nutzer auffordern, ein Passwort einzugeben. Wie nachstehend beschrieben, kann das Passwort zu einem späteren Zeitpunkt für den Zugriff auf die geschützte Gruppe und/oder die Neukonfigurierung der Gruppe zur Aufhebung des Schutzes genutzt werden. In einem Block756 kann das Passwort empfangen werden, das beispielsweise über eine Tastatur, einen Tastenblock, einen Sensor-Bildschirm, einen Lichtgriffel, eine Maus etc. eines Rechnersystems eingegeben werden kann. - In einem Block
758 kann die Angabe, dass die Gruppe von Elementen geschützt werden soll, gespeichert und der Gruppe von Elementen zugeordnet werden. Wenn es sich beispielsweise bei der Gruppe um eine Kategorie von Elementen handelt, kann die Angabe, dass die Kategorie geschützt werden muss, gespeichert werden, und diese Angabe kann der betreffenden Kategorie zugeordnet werden, so dass bei einem nachfolgenden Versuch, die Kategorie zu ändern, festgestellt werden kann, dass die Kategorie geschützt ist. Zusätzlich kann eine Angabe mit jedem Element der Gruppe verbunden werden. Handelt es sich bei den Elementen beispielsweise um Objekte, so kann die Angabe, dass das Element Teil einer geschützten Gruppe ist, als Teil jedes Objekts gespeichert werden. Die Angabe kann auch getrennt von jedem Objekt gespeichert werden, wobei ein Link als Verweis als Teil jedes Objekts gespeichert werden kann. - In einem Block
760 kann das im Block756 empfangene Passwort gespeichert und der Gruppe von Elementen zugeordnet werden. Handelt es sich z.B. bei der Gruppe um eine Kategorie von Elementen, kann das Passwort gespeichert werden und dieses Passwort kann der Kategorie zugeordnet werden. Zusätzlich kann das Passwort jedem Element der Gruppe zugeordnet werden. Wenn es sich bei den Elementen beispielsweise um Objekte handelt, so kann das Passwort als Teil jedes Objekts gespeichert werden. Das Passwort kann auch getrennt von jedem Objekt gespeichert werden, wobei ein Link zum Passwort als Teil jedes Objekts gespeichert werden kann. - Entsprechend der Routine
700 in17 kann eine der Routine750 ähnliche Routine genutzt werden, um den Schutz der Gruppe von Prozessanlagenelementen aufzuheben. -
20 ist ein Flussdiagramm einer beispielhaften Routine770 für die Entscheidung, ob die Einsicht in Daten, die einem Prozessanlagenelement zugeordnet sind, das geschützt oder ungeschützt sein kann, zulässig sein soll. Die Routine770 kann durch ein oder mehrere Rechnersysteme, wie eine oder mehrere der Workstations14 und/oder die Steuerungsgeräte12 der Prozessanlage10 in1 implementiert werden. Das Prozessanlagenelement kann beispielsweise ein Modulobjekt, ein Modulklassenobjekt, eine Composite-Template etc. umfassen. Die Routine770 kann als Teil einer Konfigurierungsapplikation, wie z.B. der Konfigurierungsapplikation50 implementiert werden. Die Routine770 kann auch als Teil einer anderen Applikation, beispielsweise einer Überwachungs-Applikation, einer Applikation zur Fehlerbereinigung, einer Asset-Managementapplikation etc. implementiert werden. - In einem Block
772 kann eine Anforderung zur Anzeige von einem Prozessanlagenelement zugeordneten Daten empfangen werden. Ein Nutzer kann beispielsweise ein Element in einem Explorer-Fenster anwählen und versuchen, direkt in ein Modul einzuklicken, um Komponenten des Moduls etc. zur Ansicht zu bringen. Unter Bezugnahme auf18B als Beispiel hat ein Nutzer die Composite-Template DYN_FULL726 im Abschnitt722 des Explorer-Fensters in der Bildschirmdarstellung732 angewählt. Damit sollen Unterelemente der Composite-Template DYN_FULL726 im rechten Teil728 der Bildschirmdarstellung732 zur Ansicht gebracht werden. - In einem Block
774 wird festgestellt, ob dem Element zugeordnete Daten geschützt sind. Es kann beispielsweise festgestellt werden, dass eine dem Element zugeordnete Angabe existiert, wie z.B. die in Block708 der17 gespeicherte Angabe, die anzeigt, dass mit dem Element verbundene Daten geschützt sind. Weiter kann beispielsweise festgestellt werden, ob eine dem Element zugeordnete Angabe vorhanden ist, wie die in Block758 der19 gespeicherte Angabe, die anzeigt, dass das Element Teil einer geschützten Gruppe von Elementen ist. - Sind die dem Element zugeordneten Daten nicht geschützt, so kann der Ablauf zu einem Block
776 wechseln, in dem dem Element zugeordnete Daten angezeigt werden. Wenn der Nutzer das Element beispielsweise in einem Explorer-Fenster angewählt hat, können Unterelemente dieses Elements in einem Abschnitt eines Bildschirms angezeigt werden. Unter Bezugnahme auf18A als Beispiel hat ein Nutzer die Composite-Template DYN_FULL726 in Abschnitt722 des Explorer-Fensters in der Bildschirmdarstellung720 angewählt. Damit werden Unterelemente der Composite-Template DYN_FULL726 einschließlich der Funktionsblöcke730 im rechten Abschnitt728 der Bildschirmdarstellung720 angezeigt. Fordert der Nutzer andererseits beispielsweise Einsicht in ein Modul an, um Komponenten des Moduls einzusehen, so könnten die Komponenten dieses Moduls auf einem Bildschirm oder in einem Fenster sichtbar gemacht werden. - Wird in Block
774 festgestellt, dass die dem Element zugeordneten Daten geschützt sind, so kann der Ablauf zu einem Block786 wechseln, in dem mit dem Element verbundene geschützte Daten nicht angezeigt werden, wogegen ungeschützte Daten angezeigt werden können. - Wenn in Block
774 festgestellt wird, dass die dem Element zugeordneten Daten geschützt sind, kann der Ablauf wahlweise zu einem Block778 wechseln. In Block778 kann der Nutzer beispielsweise über ein Fenster, einen Bildschirm oder mittels eines akustischen Signals aufgefordert werden, ein Passwort einzugeben. In einem Block780 kann das vom Nutzer eingegebene Passwort empfangen werden. Das Passwort kann z.B. über eine Tastatur, einen Tastenblock, einen Sensor-Bildschirm, einen Lichtgriffel, eine Maus etc. eines Rechnersystems eingegeben werden. In einem Block782 kann das im Block780 empfangene Passwort mit einem gespeicherten Passwort verglichen werden, das dem Element zugeordnet ist. Das empfangene Passwort kann beispielsweise mit dem in Block710 der17 gespeicherten Passwort oder mit dem in Block760 der19 gespeicherten Passwort verglichen werden. - In einem Block
784 kann bestimmt werden, ob das in Block780 empfangene Passwort dem gespeicherten und dem Element zugeordneten Passwort entspricht. Ist das der Fall, so können die dem Element zugeordneten Daten in Block776 angezeigt werden. Stimmen die Passwörter nicht überein, so werden dem Element zugeordnete geschützte Daten nicht angezeigt, während ungeschützte Daten in Block786 zur Ansicht gebracht werden können. Beispielsweise werden in18B Parameter des Moduls DYN_FULL726 im rechten Abschnitt728 der Bildschirmdarstellung732 angezeigt, während die Funktionsblöcke, aus denen das Modul DYN_FULL726 besteht, nicht angezeigt werden. - Es ist klar, dass die Blöcke
778 ,780 ,782 und784 optional sind und entfallen können. In diesem Fall kann, wie vorstehend erläutert, der Ablauf in Block786 fortgesetzt werden, wenn in Block774 festgestellt wird, dass die Daten geschützt sind. -
21 ist ein Flussdiagramm einer beispielhaften Routine800 für die Entscheidung, ob die Änderung eines Prozessanlagenelements oder einer Gruppe von Prozessanlagenelementen zulässig sein soll, das bzw. die geschützt oder ungeschützt sein kann. Die Routine800 kann durch ein oder mehrere Rechnersysteme wie eine oder mehrere der Workstations14 und/oder der Steuerungsgeräte12 der Prozessanlage10 in1 implementiert werden. Zu den Prozessanlagenelementen können z.B. Modulobjekte, Modulklassenobjekte und/oder Composite-Templates gehören. Die Routine800 kann als Teil einer Konfigurierungsapplikation wie der Konfigurierungsapplikation50 implementiert werden. Die Routine800 kann auch als Teil einer anderen Applikation wie beispielsweise einer Asset-Managementapplikation implementiert werden. - In einem Block
802 kann eine Anforderung auf Änderung eines Prozessanlagenelements oder einer Gruppe von Prozessanlagenelementen empfangen werden. Ein Nutzer kann beispielsweise ein Element in einem Explorer-Fenster anwählen, um es zu ändern, ex kann eine Komponente eines Elements zur Änderung anwählen etc. Weiter kann der Nutzer z.B. versuchen, ein Element aus einer Gruppe von Elementen zu löschen, ein neues Element zu einer Gruppe von Elementen hinzuzufügen etc. - In einem Block
804 wird festgestellt, ob das Element oder die Gruppe von Elementen geschützt ist. Es kann beispielsweise festgestellt werden, ob eine dem Element zugeordnete Angabe vorhanden ist, wie die in Block708 der17 gespeicherte Angabe, die anzeigt, dass das Element geschützt ist. Weiter kann beispielsweise festgestellt werden, ob eine dem Element zugeordnete Angabe existiert, wie die in Block758 in19 gespeicherte Angabe, die anzeigt, dass das Element Teil einer geschützten Gruppe von Elementen ist. Als noch ein weiteres Beispiel kann festgestellt werden, ob es eine der Gruppe von Elementen zugeordnete Angabe gibt, wie die in Block758 der19 gespeicherte Angabe, die anzeigt, dass die Gruppe von Elementen geschützt ist. - Sind die dem Element oder der Gruppe von Elementen zugeordneten Daten nicht geschützt, kann der Ablauf zu Block
806 wechseln, in dem Änderungen zulässig sind. Wird in Block804 jedoch festgestellt, dass das Element oder die Gruppe von Elementen geschützt ist, kann der Ablauf zu einem Block808 wechseln. In Block808 kann eine Meldung (z.B. ein Fenster, ein Bildschirm, ein akustisches Signal etc.) erzeugt werden, die anzeigt, dass das Element oder die Gruppe von Elementen, die der Nutzer zu ändern versucht, geschützt ist. Wahlweise kann Block808 entfallen. In diesem Fall kann das Element oder die Gruppe von Elementen so zur Ansicht gebracht werden, dass dem Nutzer der geschützte Zustand des Elements oder der Gruppe von Elementen angezeigt wird. Eine Darstellung des Elements oder der Gruppe von Elementen auf einem Bildschirm kann beispielsweise abschattiert sein oder ein Symbol etc. enthalten, um anzuzeigen, dass das Element oder die Gruppe geschützt ist. In einem anderen Beispiel kann keine Angabe vorhanden sein, die dem Nutzer anzeigt, dass das Element oder die Gruppe geschützt ist. In diesem Fall ist es dem Nutzer einfach nur unmöglich, das Element oder die Gruppe zu ändern. Nach Block808 , oder wenn Block808 entfällt, kann die Routine beendet werden. - Wahlweise kann der Ablauf in einem Block
810 fortgesetzt werden. In Block810 kann der Nutzer beispielsweise über ein Fenster, einen Bildschirm, ein akustisches Signal etc. aufgefordert werden, ein Passwort einzugeben. In einem Block812 kann das vom Nutzer eingegebene Passwort empfangen werden, das beispielsweise mittels einer Tastatur, eines Tastenblocks, eines Sensor-Bildschirms, eines Lichtgriffels, einer Maus etc. eines Rechnersystems eingegeben werden kann. In einem Block814 kann das in Block812 empfangene Passwort mit einem gespeicherten und dem Element oder der Gruppe von Elementen zugeordneten Passwort verglichen werden. Das empfangene Passwort kann z.B. mit dem in Block710 der17 oder mit dem in Block760 der19 gespeicherten Passwort verglichen werden. - In einem Block
816 kann bestimmt werden, ob das in Block812 empfangene Passwort dem gespeicherten und dem Element oder der Gruppe von Elementen zugeordneten Passwort entspricht. Stimmen die Passwörter überein, kann die Änderung in Block806 zugelassen werden. Besteht keine Übereinstimmung der Passwörter, kann in Block818 eine Nachricht erzeugt werden, dass die Änderung nicht zugelassen wird. Alternativ oder zusätzlich kann die Nachricht angeben, dass das in Block812 empfangene Passwort nicht richtig war. - Wie vorstehend erläutert, sind die Blöcke
810 ,812 ,814 ,816 und818 optional und können entfallen. In diesem Fall endet die Routine nach Block808 . Auch Block808 ist optional und kann entfallen. In diesem Fall kann die Routine enden oder ggf. zum optionalen Block810 wechseln, wenn in Block804 festgestellt wurde, dass das Element oder die Gruppe geschützt ist. - Obwohl in
17 und19 -21 Passwörter für die Begrenzung des Zugriffs auf Prozessanlagenelemente behandelt wurden, können alternativ oder zusätzlich zu Passwörtern andere Techniken für die Zugriffsbegrenzung angewandt werden. Beispielsweise könnten eine oder mehrere im Voraus genehmigte Sicherheitsebenen für den Zugriff mit Angabe des zum Zugriff auf Elemente befugten Personals, eine Auflistung von Merkmalen bestimmter Personen (z.B. Log-In-Namen, ID-Nummern etc.) mit Zugriffsberechtigung, biometrische Daten etc. verwendet werden. Ferner können einem Element oder einer Gruppe von Elementen zusätzliche Daten im Zusammenhang mit einer Sicherheitsebene zugeordnet werden, zum Beispiel ob jeder Zugriff verboten ist, ob Read-only-Zugriff gestattet ist, unterschiedliche Sicherheitsebenen für verschiedene Personen und/oder Freigabestufen etc. Außerdem kann bei manchen Implementierungen dem Nutzer die Wahl verschiedener Sicherheitsebenen für Unterelemente eines Elements gestattet werden. Generell können Zugriffsschutzdaten (z.B. Passwort, biometrische Daten, im Voraus genehmigte Sicherheitsebenen für den Zugriff, eine Auflistung befugter Personen und/oder IDs etc.) gespeichert und einem Prozessanlagenelement zugeordnet werden, und diese Zugriffsschutzdaten können mit Nutzersicherheitsdaten (z.B. ein von einem Nutzer eingegebenes Passwort, die ID des Nutzers, die Log-In-ID des Nutzers, vom Nutzer erhaltene biometrische Daten etc.) verglichen werden, um festzustellen, ob dem Nutzer der Zugriff auf das Element und/oder bestimmte Unterelemente des Elements gestattet ist. - In
17 können, wenn gewünscht, die Blöcke704 ,706 und710 entfallen. Ein Nutzer könnte beispielsweise angeben, dass das Prozessanlagenelement oder dem Prozessanlagenelement zugeordnete Daten geschützt werden müssen. Dann könnte der Nutzer eine der. Routine750 in19 ähnliche Routine anwenden, um eine Gruppe von Elementen zu schützen, die das Prozessanlagenelement beinhaltet, das der Nutzer zu schützen wünscht. Auf diese Weise könnte der Nutzer andere daran hindern, die Konfiguration des Elements zu ändern, um die geschützten Daten einzusehen. -
22 ist ein Flussdiagramm einer beispielhaften Routine830 für das Exportieren eines Prozessanlagenelements. Die Routine830 kann durch ein oder mehrere Rechnersysteme wie eine oder mehrere der Workstations14 und/oder die Steuerungsgeräte12 der Prozessanlage10 in1 implementiert werden. Die Routine830 kann auch durch ein von der Prozessanlage10 getrenntes Rechnersystem implementiert werden. So könnte die Routine830 beispielsweise durch ein Rechnersystem eines Drittanbieters oder ein Rechnersystem einer anderen Prozessanlage implementiert werden, um ein Prozessanlagenelement zu einem Kunden oder zur Prozessanlage10 zu exportieren. Zum Prozessanlagenelement kann beispielsweise ein Modulobjekt, ein Modulklassenobjekt oder eine Composite-Template gehören. Die Routine830 kann als Teil einer Konfigurierungsapplikation wie z.B. der Konfigurierungsapplikation50 implementiert werden. Die Routine830 kann aber auch als Teil einer anderen Applikation, wie beispielsweise einer Asset-Managementapplikation oder einer z.B. vom Drittanbieter angewandten Applikation implementiert werden. - In einem Block
832 kann eine Anforderung empfangen werden, ein Prozessanlagenelement zu exportieren. Ein Nutzer kann beispielsweise ein Element in einem Explorer-Fenster anwählen, um es zu exportieren. In einem anderen Beispiel kann der Nutzer eine Gruppe von Prozessanlagenelementen anwählen, um sie zu exportieren, und die Routine830 kann für jedes Element der Gruppe implementiert werden. - In einem Block
834 wird festgestellt, ob mit dem Element verbundene Daten geschützt sind. Es kann beispielsweise festgestellt werden, ob eine dem Element zugeordnete Angabe vorliegt, wie die in Block708 der17 gespeicherte Angabe, die anzeigt, dass dem Element zugeordnete Daten geschützt sind. Beispielsweise kann auch festgestellt werden, ob eine dem Element zugeordnete Angabe vorliegt, wie die in Block758 der19 gespeicherte Angabe, die anzeigt, dass das Element Teil einer geschützten Gruppe von Elementen ist. Sind dem Element zugeordnete Daten nicht geschützt, so kann der Ablauf in einem Block836 fortgesetzt werden, in dem das Element exportiert werden kann. - Wird jedoch in Block
834 festgestellt, dass die mit dem Element verbundenen Daten geschützt sind, kann der Ablauf zu einem Block838 wechseln. In Block838 können die geschützten Daten höherwertig geschützt werden. In Block840 kann dann ein dem Element zugeordnetes Passwort verschlüsselt werden. So wird beispielsweise das in Block706 der17 oder das in Block756 der19 empfangene Passwort verschlüsselt. - In einem Block
842 kann das Element exportiert werden, wobei jedoch die geschützten Daten durch die verschlüsselten geschützten Daten und das Passwort durch das verschlüsselte Passwort ersetzt werden. Ist das Prozessanlagenelement ein aus einem Modulklassenobjekt erzeugtes Element, so könnten die verschlüsselten Daten und/oder das verschlüsselte Passwort beispielsweise als Teil des Modulklassenobjekts oder des Elements exportiert werden. -
23 ist ein Blockdiagramm eines beispielhaften Konfigurierungssystems900 , das verwendet werden kann, um eine Versionskontrolle und Prüfpfadinformation in Verbindung mit einer Prozessanlage bereitzustellen. Weitere Aspekte von Versionskontroll- und Prüfpfadtechniken, die verwendet werden können, werden in der US-Patentschrift Nr. 6,449,624 mit dem Titel "Version Control and Audit Trail in a Process Control System" beschrieben, die für die Anmelderin dieses Patents angemeldet wurde. Es ist klar, dass die in der US-Patentschrift Nr. 6,449,624 beschriebenen Techniken nicht angewandt werden müssen und auch davon abweichende Techniken verwendet werden können. Die US-Patentschrift Nr. 6,449,624 wird hiermit durch Bezugnahme ausdrücklich zu allen Zwecken in ihrer Gesamtheit in diese Anmeldung einbezogen. - Das Konfigurierungssystem
900 umfasst eine Nutzerschnittstelle904 , die beispielsweise in einer Display-Vorrichtung der Workstation14 (1 ) oder in einer anderen Rechnervorrichtung erzeugt werden kann. Die Nutzerschnittstelle904 kann es einem Nutzer ermöglichen, eine Prozessanlage oder einen Abschnitt einer Prozessanlage über eine oder mehrere Konfigurierungsapplikationen906 zu konfigurieren. Zu den Konfigurierungsapplikationen906 kann eine Konfigurierungsapplikation wie z.B. die Konfigurierungsapplikation50 (1 ) gehören. Die Nutzerschnittstelle904 kommuniziert außerdem mit einem Versionskontroll- und Prüfpfadsystem908 (im Folgenden "das VCAT-System"), das generell mit den Konfigurierungsapplikationen906 zusammenwirkt, um zurückliegende Informationen bezüglich der Konfigurierung der Prozessanlage oder des Abschnitts der Prozessanlage zu protokollieren und zu verwalten. Sowohl die Konfigurierungsapplikationen906 als auch das VCAT-System908 haben Zugriff auf eine Konfigurationsdatenbank912 , in der für eine aktuelle Konfiguration der Prozessanlage oder des Abschnitts der Prozessanlage (im Folgenden die "Prozesskonfiguration") repräsentative Daten gespeichert sein können und kommunizieren mit dieser. Das VCAT-System908 kommuniziert ferner mit einer Versionskontrolldatenbank910 . - Die Versionskontrolldatenbank
910 kann zurückliegende Konfigurationsdaten beinhalten, die eine Anzahl früherer Versionen jedes Elements anzeigen, die in der Prozesskonfigurierung verwendet wurden. Insgesamt können die historischen Daten aller Elemente genutzt werden, um frühere Konfigurationen des Prozesses zu rekonstruieren. Insbesondere sind für jedes Element der Konfigurationsdatenbank912 (auch für solche, die nicht mehr in der Konfigurationsdatenbank912 vorliegen) für die Konfiguration des betreffenden Elements repräsentative Daten für eine Vielzahl von Versionen gespeichert. Ein Element kann beispielsweise seit seiner Erzeugung dreimal verändert worden sein. Die Versionskontrolldatenbank910 würde daher Daten enthalten, die die Konfiguration des Elements zum Zeitpunkt der Erzeugung anzeigen, die als "Version1 " bezeichnet werden kann, sowie Daten, die die Konfiguration des Elements nach jeder der drei Änderungen anzeigen und die der "Version2 ", "Version3 " und "Version4 " entsprechen würden. - Die historischen Konfigurationsdaten können somit Daten enthalten, die für alle an Modulobjekten und Modulklassenobjekten vorgenommenen Änderungen repräsentativ sind. Die Änderungen können, müssen aber nicht unter Verwendung der Konfigurierungsapplikationen
906 vorgenommen werden. Die Nutzerschnittstelle904 , die Konfigurierungsapplikationen906 und das VCAT-System908 können insgesamt oder in Teilen zu einem einzigen integrierten System kombiniert werden. Der Klarheit halber werden die Aufgaben hierin jedoch beschrieben, als ob sie der Nutzerschnittstelle904 , den Konfigurierungsapplikationen906 und dem VCAT-System908 getrennt zugeordnet wären. - Das VCAT-System
908 kann unter Verwendung eines oder mehrerer Rechnersysteme, wie z.B. der Workstation14 (1 ) so implementiert werden, dass eine Überwachung der Änderungen der Prozesskonfiguration möglich ist. Die Nutzerschnittstelle904 und die Konfigurierungsapplikationen906 können in dem/den gleichen Rechnersystemen) implementiert werden wie das VCAT-System908 , oder in anderen Rechnersystemen, die mit dem Rechnersystem kommunizieren, die das VCAT-System908 implementieren. - Die Daten in der einen oder in beiden Datenbanken
910 ,912 können in einem computerlesbaren Medium gespeichert werden, das physikalisch an einer beliebigen Stelle innerhalb der Prozessanlage10 angeordnet sein kann, wie z.B. in einem mit den Workstations14 verbundenen flüchtigen Speicher oder in einem magnetischen oder optischen Speichermedium. Alternativ können die eine oder beide Datenbanken910 ,912 an einem entfernten Standort so gespeichert werden, dass ein Rechnersystem wie die Workstation14 über ein Netzwerk, wie beispielsweise ein Intranet, das Internet oder ein beliebiges anderes Kommunikationsmedium Zugriff auf die darin gespeicherten Daten hat. Ferner brauchen die in jeder der Datenbanken910 ,912 gespeicherten Daten nicht im gleichen computerlesbaren Medium gespeichert zu werden, so dass ein beliebiger Abschnitt jeder der Datenbanken910 ,912 in einer jeweils anderen Speichervorrichtung oder auf einem anderen Medium gespeichert werden kann als in der Vorrichtung bzw. dem Medium, in der/dem andere Abschnitte gespeichert sind. - In
23 wird das VCAT-System908 als unterschiedlich und getrennt von der Versionskontrolldatenbank910 gezeigt. Alternativ könnte die Versionskontrolldatenbank910 einen Abschnitt des VCAT-Systems908 bilden. In gleicher Weise können die Konfigurationsdatenbank912 und die Versionskontrolldatenbank910 getrennte und verschiedene Datenstrukturen bilden, was jedoch nicht zwingend ist. Das heisst, die Datenbanken910 ,912 können im gleichen Speichermedium abgelegt sein und sogar Abschnitte einer gemeinsamen Datenbank speziell für die Prozessanlage10 bilden. Der hierin benutzte Begriff "Datenbank" sollte daher so verstanden werden, dass er sich nicht auf eine bestimmte Datenstruktur beschränkt. -
24 ist ein Flussdiagramm einer beispielhaften Routine930 für eine einfachere Verwaltung von Versionen eines Prozessanlagenelements. Das Prozessanlagenelement kann beispielsweise Modulobjekte und/oder Modulklassenobjekte umfassen. Die Routine930 kann z.B. durch das VCAT-System908 der23 implementiert werden und wird unter Bezug auf23 erläutert. - In einem Block
932 kann eine Änderung eines Prozessanlagenelements detektiert werden. Beispielsweise kann ein Nutzer versuchen, der Prozesskonfiguration unter Verwendung der Konfigurierungsapplikationen906 ein neues Element hinzuzufügen. Als weiteres Beispiel kann der Nutzer die Sicherung eines Elements in der Konfigurationsdatenbank912 anfordern, nachdem er dieses verändert hat. Als noch ein weiteres Beispiel kann der Nutzer das Eintragen eines Elements in die Konfigurationsdatenbank912 anfordern, nachdem es von ihm verändert wurde. Die US- Patentschrift Nr. 6,449,624 beschreibt Techniken im Zusammenhang mit den Verfahren zum Eintragen und Entfernen, die angewandt werden können. - In einem Block
934 kann festgestellt werden, welche Modulklassenobjekte, wenn überhaupt, genutzt wurden, um das geänderte Element zu erzeugen. So könnte z.B. ein erstes Modulklassenobjekt genutzt worden sein, um ein zweites Modulklassenobjekt zu erzeugen, das seinerseits genutzt wurde, um das Element zu erzeugen. Wurden ein oder mehrere Modulklassenobjekte genutzt, um das veränderte Element zu erzeugen, so kann in Block936 die Version jedes genutzten Modulklassenobjekts festgestellt werden. - In einem Block
938 wird ein Versionsidentifizierer für das geänderte Element erzeugt. Der Versionsidentifizierer kann Ziffern, Buchstaben, Symbole etc. beinhalten. Der Versionsidentifizierer zeigt die Version an, die der in Block932 detektierten Änderung entspricht. War die in Block932 detektierte Änderung z.B. die Erzeugung des Elements, so kann der Versionsidentifizierer eine Ursprungsversion bezeichnen. Wenn es sich als weiteres Beispiel bei der in Block932 detektierten Änderung um eine Änderung einer ersten Version des Elements handelt, kann der Versionsidentifizierer eine zweite Version bezeichnen. - In einem Block
940 kann der in Block938 erzeugte Versionsidentifizierer gespeichert und dem geänderten Element zugeordnet werden. Handelt es sich bei dem Element beispielsweise um ein Objekt, so kann der Versionsidentifizierer als Teil dieses Objekts gespeichert werden. Als weiteres Beispiel könnte der Versionsidentifizierer getrennt vom Objekt gespeichert werden und ein Link zum Versionsidentifizierer könnte als Teil des Objekts gespeichert werden. - In einem Block
942 kann der Versionsidentifizierer des in Block936 bestimmten Modulklassenobjekts bzw. mehrerer Modulklassenobjekte, aus dem bzw. denen, wenn überhaupt, das Element erzeugt wurde, gespeichert und dem veränderten Element zugeordnet werden. Handelt es sich bei dem Element beispielsweise um ein Objekt, so kann der Versionsidentifizierer als Teil dieses Objekts gespeichert werden. Als weiteres Beispiel könnten der/die Versionsidentifizierer getrennt vom Objekt gespeichert und ein Link oder Links zum/zu den Versionsidentifizierer(n) als Teil des Objekts gespeichert werden. Als ein weiteres Beispiel könnte der in Block938 erzeugte Versionsidentifizierer unter Verwendung der in Block936 bestimmten Versionsidentifizierer erzeugt werden. Die in Block936 bestimmten Versionsidentifizierer könnten beispielsweise in die in Block938 erzeugten Versionsidentifizierers verschlüsselt werden. In diesem Fall könnte Block940 Block942 beinhalten. -
25 ist ein Flussdiagramm einer beispielhaften Routine948 für eine einfachere Verwaltung der Versionen von Prozessanlagenelementen. Die Prozessanlagenelemente können beispielsweise Modulobjekte und/oder Modulklassenobjekte umfassen. Die Routine948 kann z.B. durch das VCAT-System908 der23 implementiert werden. - In einem Block
950 kann bestimmt werden, ob eine neue Version eines Modulklassenobjekts erzeugt wurde. Es könnte beispielsweise detektiert werden, wann die neue Version eines Modulklassenobjekts eingetragen wurde. In einem Block952 können Prozessanlagenelemente bestimmt werden, die unter Nutzung des Modulklassenobjekts erzeugt wurden. Unter Bezugnahme auf6 könnte beispielsweise der Speicher526 geprüft werden, um festzustellen, welche Modulobjekte aus dem Modulklassenobjekt erzeugt wurden. Außerdem könnte der Speicher526 oder ein anderer Speicher oder Speicherabschnitt geprüft werden, um zu bestimmen, welche anderen Modulklassenobjekte aus dem Modulklassenobjekt erzeugt wurden. - In einem Block
954 können die neue Version des Modulklassenobjekts oder die am Modulklassenobjekt vorgenommenen Änderungen auf die in Block952 bestimmten Elemente übertragen werden. Dann kann in einem Block958 der Versionsidentifizierer der neuen Version des Modulklassenobjekts gespeichert und den in Block952 bestimmten Elementen zugeordnet werden. Als ein Beispiel werden die Versionsidentifizierer der in Block952 bestimmten Elemente nicht zur Verfügbarmachung der neuen Versionen der Elemente aktualisiert. Optional werden in einem anderen Beispiel die Versionsidentifizierer der in Block952 bestimmten Elemente in einem Block959 aktualisiert. Danach können die neuen Versionsidentifizierer der Elemente gespeichert und den Elementen zugeordnet werden. - Die in den Blöcken
940 und942 der24 und in den Blöcken958 und959 der25 gespeicherten Versionsidentifizierer können einen Nutzer dabei unterstützen, zurückzuverfolgen welche Versionen der Elemente und welche Versionen der Modulklassenobjekte, aus denen die Elemente erzeugt wurden, in einer aktuellen Konfiguration verwendet werden. Beispielsweise könnte eine Konfigurierungsapplikation, eine Asset-Managementapplikation etc. die Konfigurationsdatenbank912 (23 ) abfragen, um die Versionen der Elemente und die Versionen der Modulklassenobjekte zu bestimmen, aus denen die Elemente erzeugt wurden. Als weiteres Beispiel könnte eine Applikation zur Fehlerbereinigung, eine Überwachungsapplikation etc. einen Speicher eines Steuerungsgeräts12 prüfen, um beispielsweise die Versionen der Elemente und die Versionen der Modulklassenobjekte zu bestimmen, aus denen die Elemente erzeugt wurden. -
26 ist ein Flussdiagramm einer beispielhaften Routine960 für eine einfachere Konfigurierung eines Prozessanlagenelements. Die Routine960 kann z.B. implementiert werden, wenn ein Prozessanlagenelement durch eine Konfigurierungsapplikation in einer Bildschirmausgabe zur Anzeige gebracht wird. Das Prozessanlagenelement kann beispielsweise Modulobjekte und/oder Modulklassenobjekte umfassen. Die Routine960 kann z.B. durch die Konfigurierungsapplikationen906 und/oder das VCAT-System908 der23 implementiert werden und wird unter Bezug auf23 erläutert. - In einem Block
962 kann bestimmt werden, welche Modulklassenobjekte, wenn überhaupt, genutzt wurden, um das Element zu erzeugen. Beispielsweise könnte ein erstes Modulklassenobjekt genutzt worden sein, um ein zweites Modulklassenobjekt zu erzeugen, das seinerseits verwendet wurde, um das Element zu erzeugen. Wenn ein oder mehrere Modulklassenobjekte genutzt wurden, um das Element zu erzeugen, kann in Block964 eine aktuelle Version jedes dieser Modulklassenobjekte bestimmt werden. In einem Block966 kann die Version jedes der Modulklassenobjekte bestimmt werden, die genutzt wurden, um das Element zu erzeugen. Beispielsweise könnten die in Block942 der24 gespeicherten und dem Element zugeordneten Versionsidentifizierer abgerufen werden. - In einem Block
968 kann für jedes der für die Erzeugung des Elements genutzten Modulklassenobjekte bestimmt werden, ob sich die aktuelle Version des Modulklassenobjekts von der Version des Modulklassenobjekts unterscheidet, die genutzt wurde, um das Element zu erzeugen. Gibt es keine Unterschiede, so kann die Routine beendet werden. Werden jedoch ein oder mehrere Unterschiede detektiert, so kann in Block970 eine Nachricht erzeugt werden. Im Allgemeinen kann die Nachricht anzeigen, dass eine neue Version eines für die Erzeugung des Elements genutzten Modulklassenobjekts verfügbar ist. Die Nachricht kann Text, Symbole, Farben, ein akustisches Signal etc. beinhalten. Beispielsweise kann ein Textfeld oder -fenster neben oder überlappend mit einer graphischen Darstellung des Elements auf einem Konfigurationsbildschirm angezeigt werden. Als weiteres Beispiel kann ein Symbol in oder in der Nähe der Darstellung des Elements zur Ansicht gebracht werden. Als noch ein anderes Beispiel kann die Farbe, die Helligkeit etc. der Darstellung des Elements verändert werden. Die Nachricht selbst kann anzeigen, für welche Modulklassenobjekte eine neue Version verfügbar ist. Alternativ kann die Nachricht dem Nutzer zwar nicht anzeigen, für welche Modulklassenobjekte eine neue Version verfügbar ist, aber der Nutzer kann zusätzliche Schritte ausführen, um diese Information beispielsweise durch die Anwahl eines Menuelements, Doppelklicken auf ein Symbol, Hineinklicken in das Elements selbst etc. zu erhalten. - Optional kann dem Nutzer dann eine Nutzerschnittstellenführung bereitgestellt werden, um einen Prozess für die Änderung des Prozessanlagenelements durch die Aktualisierung des Elements unter Nutzung der neuen Versionen der Modulklassenobjekte zu initiieren. Dem Nutzer kann beispielsweise eine Bedientaste zur Verfügung gestellt werden, um den Prozess zu starten. Als weiteres Beispiel kann für den Nutzer eine Nutzerschnittstellenführung bereitgestellt werden, um zu wählen, welche von möglicherweise mehreren Modulklassenobjekten, die neue Versionen haben, genutzt werden sollen, um das Prozessanlagenelement zu aktualisieren. Dem Nutzer kann es beispielsweise möglich sein, Kästchen zu markieren, graphische Darstellungen hervorzuheben etc., die den Modulklassenobjekten mit neuen Versionen entsprechen, die genutzt werden sollen, um das Prozessanlagenelement zu aktualisieren.
-
27 ist ein Flussdiagramm einer beispielhaften Routine980 für eine einfachere Konfigurierung von Prozessanlagenelementen. Die Routine980 kann beispielsweise implementiert werden, wenn Prozessanlagenelemente geändert und/oder eingetragen werden. Das Prozessanlagenelement kann z.B. ein Modulklassenobjekt umfassen. Die Routine980 kann beispielsweise durch die Konfigurierungsapplikationen906 und/oder das VCAT-System908 der23 implementiert werden und wird unter Bezug auf23 erläutert. - In einem Block
982 kann festgestellt werden, ob eine neue Version eines Modulklassenobjekts erzeugt wurde. Es könnte beispielsweise detektiert werden, wann eine neue Version eines Modulklassenobjekts eingetragen wurde. In einem Block984 können die Prozessanlagenelemente bestimmt werden, die unter Nutzung des Modulklassenobjekts erzeugt wurden. Unter Bezug auf6 könnte beispielsweise der Speicher526 geprüft werden, um die Modulobjekte festzustellen, die aus dem Modulklassenobjekt erzeugt wurden. Der Speicher526 oder ein anderer Speicher oder Speicherabschnitt könnten auch geprüft werden, um festzustellen, welche anderen Modulklassenobjekte aus dem Modulklassenobjekt erzeugt wurden. - In einem Block
986 könnte der Nutzer aufgefordert werden anzugeben, ob die Änderungen an den Modulklassenobjekten auf eines oder mehrere der in Block984 bezeichneten Prozessanlagenelemente übertragen werden sollen. Es kann z.B. ein Textfeld, ein Fenster, ein Bildschirm, ein akustisches Signal etc. genutzt werden, um den Nutzer zu dieser Angabe aufzufordern. - Optional kann für den Nutzer eine Nutzerschnittstellenführung bereitgestellt werden, um spezifische, in Block
984 bezeichnete Prozessanlagenelemente auszuwählen, auf die Änderungen übertragen werden sollen. Dazu kann es dem Nutzer ermöglicht werden, Kästchen zu markieren, graphische Darstellungen hervorzuheben etc., die den Prozessanlagenelementen entsprechen, auf die Änderungen übertragen werden sollen. - In einem Block
988 wird eine Nutzerreaktion auf die von Block986 erzeugte Aufforderung erhalten. In einem Block990 kann bestimmt werden, ob die Nutzerreaktion angibt, dass die Änderungen übertragen werden sollen. Sollen die Änderungen nicht übertragen werden, so kann die Routine beendet werden. Sollen die Änderungen übertragen werden, so werden in einem Block992 die Änderungen auf die in Block984 bezeichneten Prozessanlagenelemente übertragen. Optional können die Änderungen auf ausgewählte der in Block984 bezeichneten Prozessanlagenelemente übertragen werden. - Obwohl die
17 ,19 -22 und24 -27 in Bezug auf Prozessanlagenelemente beschrieben wurden, können ähnliche Routinen genutzt werden, um den Zugriff auf Prozessanlagenelemente zu begrenzen, an diesen Elementen vorgenommene Änderungen zurückzuverfolgen und Änderungen in Bezug auf Sequenzen von Steuerungsschritten, die von diesen Elementen ausgeführt werden sollen, zu übertragen. Den Routinen der17 ,19 -22 und24 -27 ähnliche Routinen können z.B. genutzt werden, um den Zugriff auf Phasenklassen, Einheitenphasen und/oder Gruppen von Phasenklassen oder Einheitenphasen zu begrenzen, daran vorgenommene Änderungen zurückzuverfolgen oder Änderungen zu übertragen. -
28 ist eine beispielhafte Bildschirmdarstellung1000 einer Nutzerschnittstelle für die Konfigurierung eines Modulklassenobjekts. Im Bildschirm1000 werden Details eines Modulklassenobjekts mit der Bezeichnung "CALCULATION" gezeigt. Der Bildschirm1000 umfasst einen Editierungsabschnitt1004 für die Editierung des Objekts. Wie in28 gezeigt, umfasst das Modulklassenobjekt CALCULATION einen Multipliziererfunktionsblock1008 und einen Addiererfunktionsblock1012 . Der Bildschirm1000 beinhaltet außerdem einen Abschnitt1020 , der Parameter des Modulklassenobjekts CALCULATION anzeigt, die nicht versteckt sind, wenn der Zugriff auf das Modulklassenobjekt CALCULATION begrenzt ist. Die nicht versteckten Parameter umfassen einen Versionsidentifizierer1026 , der eine Version eines Modulobjekts anzeigt, das aus dem Modulklassenobjekt CALCULATION erzeugt wurde und einen Versionsidentifizierer1028 , der eine Version des Modulklassenobjekts CALCULATION anzeigt. -
29 ist eine weitere beispielhafte Bildschirmdarstellung1030 einer Nutzerschnittstelle, um Parameter des Modulklassenobjekts CALCULATION zu bestimmen, die nicht versteckt werden. Der Bildschirm1030 umfasst die Tastensymbole1032 und1034 für das Hinzufügen bzw. das Löschen von Parametern einer Gruppe von Parametern, die nicht versteckt sind. Die Bildschirmdarstellung1030 zeigt, dass ein Parameter MULTIPLIER1038 zu der Gruppe von Parametern hinzugefügt wird, die nicht versteckt sind. Mit Bezug auf28 entspricht der Parameter MULTIPLIER1038 auch dem Eingang "IN2" des Multipliziererfunktionsblocks1008 . -
30 ist eine beispielhafte Bildschirmdarstellung1040 einer Nutzerschnittstelle für eine Applikation zur Fehlerbereinigung. Im Bildschirm1040 werden Details eines Modulobjekts CALCULATION_1 zur Ansicht gebracht. Das Modulobjekt CALCULATION_1 wurde aus dem Modulklassenobjekt CALCULATION erzeugt. In diesem Beispiel wurde der Zugriff auf das Modulklassenobjekt CALCULATION nicht begrenzt. Der Bildschirm1040 zeigt daher generell Details der Unterelemente, aus denen das Modulobjekt CALCULATION_1 aufgebaut ist. Beispielsweise zeigt ein Abschnitt1044 , dass das Modulobjekt CALCULATION_1 den Multipliziererfunktionsblock1008 und den Addiererfunktionsblock1012 beinhaltet. Der Bildschirm1040 umfasst ferner einen Abschnitt1048 , der Parameter des Modulobjekts CALCULATION_1 anzeigt. Das Modulobjekt CALCULATION_1 beinhaltet beispielsweise die Versionsidentifizierer1026 und1028 und den Parameter MULTIPLIER1038 . Ferner umfasst der Bildschirm1040 auch einen Abschnitt1050 , der die Funktionsblöcke anzeigt, aus denen sich das Modulobjekt CALCULATION_1 zusammensetzt. Insbesondere zeigt der Abschnitt1050 , dass das Modulobjekt CALCULATION_1 einen Addiererfunktionsblock und einen Multipliziererfunktionsblock beinhaltet. -
31 ist die beispielhafte Bildschirmdarstellung1040 für den Fall, dass der Zugriff auf das Modulklassenobjekt CALCULATION begrenzt wurde. Der Bildschirm1040 zeigt daher generell nicht alle Details der Unterelemente, aus denen sich das Modulobjekt CALCULATION_1 zusammensetzt. Die Abschnitte1044 und1050 zeigen beispielsweise nicht, dass das Modulobjekt CALCULATION_1 den Multipliziererfunktionsblock1008 und den Addiererfunktionsblock1012 beinhaltet. Abschnitt1048 zeigt jedoch nach wie vor die Parameter des Modulobjekts CALCULATION_1 an. - Es ist für den Fachmann klar, dass verschiedene Variationen der hierin beschriebenen Techniken angewandt werden können. So kann beispielsweise die Reihenfolge der Blöcke verändert werden, Blöcke können entfallen, neue Blöcke können hinzugefügt werden etc. Außerdem könnten verschiedene hierin beschriebene Techniken kombiniert werden. Eine der Routine
700 in17 ähnliche Routine könnte z.B. genutzt werden, um einige einem Modulklassenobjekt zugeordnete Daten zu schützen. Dann könnte eine Modultemplate aus dem Modulklassenobjekt erzeugt werden. Als Nächstes könnte eine der Routine700 der17 ähnliche Routine genutzt werden, um einige einer Modultemplate zugeordnete Daten zu schützen, wenn diese nicht im Zusammenhang mit dem Modulklassenobjekt geschützt wurde. Anschließend könnte eine besondere Instanz der Modultemplate erzeugt werden, die den in Zusammenhang mit dem Modulklassenobjekt und der Modultemplate spezifizierten Schutz umfasst. - Nach der Implementierung kann jede hierin beschriebene Software in einem computerlesbaren Speicher abgelegt werden, wie z.B. einer Magnetplatte, einer Laserplatte oder einem anderen Speichermedium, in einem RAM oder ROM eines Rechners oder Prozessors etc. Ebenso kann diese Software für einen Nutzer, eine Prozessanlage oder eine Bediener-Workstation bereitgestellt werden, indem bekannte oder gewünschte Bereitstellungsverfahren genutzt werden, z.B. eine computerlesbare Platte oder eine andere transportable Computerspeichereinrichtung, oder die Übertragung über einen Kommunikationskanal wie z.B. eine Telefonleitung, das Internet, das World Wide Web, ein beliebiges anderes lokales Netzwerk (LAN) oder Fernnetz (WAN) etc. (wobei diese Bereitstellung als die gleiche oder als eine mit der Bereitstellung dieser Software auf einem transportablen Speichermedium austauschbare Methode gilt). Ferner kann diese Software direkt ohne Modulation oder Verschlüsselung bereitgestellt oder unter Nutzung einer geeigneten Modulationsträgerwelle und/oder Verschlüsselungstechnik vor der Übertragung über einen Kommunikationskanal moduliert und/oder verschlüsselt werden.
- Während die vorliegende Erfindung unter Bezugnahme auf spezifische Ausführungsformen beschrieben worden ist, die die Erfindung nur verdeutlichen und nicht einschränken sollen, wird es für den Fachmann offensichtlich sein, daß Änderungen, Hinzufügungen oder Weglassungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne vom Geist und Geltungsbereich der Erfindung abzuweichen.
Claims (51)
- Objektentität zur Nutzung bei der Konfigurierung einer Prozessanlage, wobei die Objektentität aufweist: einen computerlesbaren Speicher; ein Klassenobjekt, das in dem computerlesbaren Speicher gespeichert ist, wobei das Klassenobjekt eine Prozessentität innerhalb der Prozessanlage generisch repräsentiert und dabei umfasst: einen ersten Speicherbereich, der dafür ausgelegt ist, Merkmale eines oder mehrerer Prozesselemente, die die Prozessentität bilden, zu speichern; einen zweiten Speicherbereich, der dafür ausgelegt ist, eine Referenz zu einem oder mehreren Modulobjekten zu speichern, wobei jedes Modulobjekt aus dem Klassenobjekt erzeugt wurde, um Merkmale eines oder mehrerer spezifischer Prozesselemente einzubeziehen, die dem einen oder den mehreren Prozesselementen entsprechen, aus denen die Prozessentität besteht, und die mit dem einen oder den mehreren spezifischen Prozesselementen verbundene Programmierung, die im Betrieb der Prozessanlage ausgeführt werden soll; und einen dritten Speicherbereich, der dafür ausgelegt ist, Daten mit Angaben zu einer Version des Klassenobjekts zu speichern.
- Objektentität nach Anspruch 1, die außerdem aufweist: einen vierten Speicherbereich, der dafür ausgelegt ist, eine Referenz zu einem oder mehreren anderen Modulklassenobjekten zu speichern, aus denen das Klassenobjekt erzeugt wurde; und einen fünften Speicherbereich, der dafür ausgelegt ist, Daten zu speichern, die Angaben zu den jeweiligen Versionen des einen oder mehrerer dieser anderen Modulklassenobjekte enthalten.
- Objektentität nach Anspruch 1, wobei die Prozessentität eine Einheit umfasst und wobei das eine oder mehrere Prozesselemente ein oder mehrere Unterelemente der Einheit aufweisen.
- Objektentität nach Anspruch 1, wobei die Prozessentität eine Ausrüstungsentität umfasst, und wobei das eine oder mehrere Prozesselemente ein oder mehrere Unterelemente der Ausrüstungsentität beinhalten.
- Objektentität nach Anspruch 1, wobei die Prozessentität ein Steuerungselement beinhaltet und wobei das eine oder mehrere Prozesselemente eine generische Steuerungsroutine beinhalten, die ausgelegt ist, um für die Bereitstellung von Steuerungsmaßnahmen innerhalb der Prozessanlage genutzt zu werden.
- Objektentität nach Anspruch 1, wobei die Prozessentität ein Displayelement umfasst und wobei das eine oder mehrere Prozesselemente eine generische Displayroutine beinhalten, die ausgelegt ist, um für die Bereitstellung von Displayaktivitäten für einen Nutzer innerhalb der Prozessanlage genutzt zu werden.
- Objektentität zur Nutzung für die Konfigurierung einer Prozessanlage, bei der die Objektentität aufweist: einen computerlesbaren Speicher; ein im computerlesbaren Speicher gespeichertes Klassenobjekt, wobei das Klassenobjekt spezifisch eine Prozessentität innerhalb der Prozessanlage repräsentiert und umfasst: einen ersten Speicherbereich, der dafür ausgelegt ist, Merkmale einer oder mehrerer Funktionen zu speichern, die im Betrieb der Prozessanlage von der Prozessentität ausgeführt werden sollen; einen zweiten Speicherbereich, der dafür ausgelegt ist, Daten mit Angaben zu einer Version des Klassenobjekts zu speichern; einen dritten Speicherbereich, der dafür ausgelegt ist, eine Referenz zu einem oder mehreren Modulklassenobjekten zu speichern, aus denen das Klassenobjekt erzeugt wurde; und einen vierten Speicherbereich, der dafür ausgelegt ist, Daten mit Angaben zu den jeweiligen Versionen des einen oder mehrerer Modulklassenobjekte zu speichern.
- Objektentität nach Anspruch 7, wobei die Prozessentität eine Einheit umfasst und wobei das eine oder mehrere Prozesselemente ein oder mehrere Unterelemente der Einheit beinhalten.
- Objektentität nach Anspruch 7, wobei die Prozessentität eine Ausrüstungsentität umfasst und wobei das eine oder mehrere Prozesselemente ein oder mehrere Unterelemente der Ausrüstungsentität umfassen.
- Objektentität nach Anspruch 7, wobei die Prozessentität ein Steuerungselement beinhaltet und wobei das eine oder mehrere Prozesselemente eine generische Steuerungsroutine beinhalten, die ausgelegt ist, um für die Bereitstellung von Steuerungsmaßnahmen innerhalb der Prozessanlage genutzt zu werden.
- Objektentität nach Anspruch 7, wobei die Prozessentität ein Displayelement beinhaltet und wobei das eine oder mehrere Prozesselemente eine generische Displayroutine umfassen, die ausgelegt ist, um für die Bereitstellung von Displayaktivitäten für einen Nutzer innerhalb der Prozessanlage genutzt zu werden.
- Verfahren zur Überwachung von Änderungen in einer Konfiguration mindestens eines Abschnitts einer Prozessanlage, wobei das Verfahren aufweist: Detektierung einer Änderung eines Modulklassenobjekts, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann; Bestimmung eines oder mehrerer Modulobjekte, die aus dem Modulklassenobjekt erzeugt wurden, wobei jedes Modulklassenobjekt generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann; Übertragung der Änderung des Modulklassenobjekts auf das eine oder mehrere Modulobjekte; Erzeugung eines Versionsidentifizierers für das geänderte Modulklassenobjekt; und Zuordnung des Versionsidentifizierers für das geänderte Modulklassenobjekt zu jedem von dem einen oder den mehreren Modulobjekten.
- Verfahren nach Anspruch 12, das ferner die Erzeugung der jeweiligen Versionsidentifizierer für das eine oder mehrere Modulobjekte beinhaltet; und Zuordnung der Versionsidentifizierer für das eine oder mehrere Modulobjekte zu dem bzw. den entsprechenden Modulobjekten.
- Verfahren nach Anspruch 12, wobei mit dem Detektieren der Änderung des Modulklassenobjekts detektiert wird, dass das geänderte Modulklassenobjekt in einer Konfigurationsdatenbank gesichert wurde.
- Verfahren nach Anspruch 12, wobei mit dem Detektieren der Änderung des Modulklassenobjekts detektiert wird, dass das geänderte Modulklassenobjekt über ein Versionskontrollsystem eingecheckt wurde.
- Verfahren nach Anspruch 12, wobei die Zuordnung des Versionsidentifizierers für das geänderte Modulklassenobjekt zu jedem von dem einen oder den mehreren Modulobjekten die Speicherung des Versionsidentifizierers für das geänderte Modulklassenobjekt als Teil von jedem von dem einen oder den mehreren Modulobjekten umfasst.
- Verfahren nach Anspruch 12, wobei zur Zuordnung des Versionsidentifizierers für das geänderte Modulklassenobjekt zu jedem von dem einen oder den mehreren Modulobjekten die Verbindung von jedem von dem einen oder den mehreren Modulobjekten mit dem Versionsidentifizierer für das geänderte Modulklassenobjekt gehört.
- Konfigurierungsmanagementsystem für die Überwachung von Änderungen in einer Konfiguration, die einer Prozessanlage zugeordnet ist, das aufweist: ein computerlesbares Medium; einen mit dem computerlesbaren Medium kommunikativ verbundenen Prozessor; eine Datenbank, die erste Daten und zweite Daten speichert, wobei die ersten Daten für ein Modulklassenobjekt repräsentativ sind, das generisch eine Prozessentität innerhalb der Prozessanlage repräsentieren kann, und wobei die zweiten Daten repräsentativ sind für ein oder mehrere Prozessanlagenelemente, die aus dem Modulklassenobjekt erzeugt wurden; Konfigurierungs- und Versionskontrollroutinen, die im computerlesbaren Medium gespeichert und konfiguriert sind, um vom Prozessor ausgeführt zu werden, um die Änderung des Modulklassenobjekts zu vereinfachen; eine Änderung des Modulklassenobjekts zu detektieren; das eine oder mehrere Prozessanlagenelemente zu bestimmen, die aus dem Modulklassenobjekt erzeugt wurden; das eine oder mehrere Prozessanlagenelemente auf Basis des geänderten Modulklassenobjekts zu ändern; einen Versionsidentifizierer für das geänderte Modulklassenobjekt zu erzeugen; und um den Versionsidentifizierer für das geänderte Modulklassenobjekt jedem von dem einen oder den mehreren Prozessanlagenelementen zuzuordnen.
- Konfigurierungsmanagementsystem nach Anspruch 18, wobei die Konfigurations- und Versionskontrollroutinen konfiguriert sind, um vom Prozessor ausgeführt zu werden, um jeweils Versionsidentifizierer für das eine oder mehrere Prozessanlagenelemente zu erzeugen; und um die Versionsidentifizierer für das eine oder mehrere Prozessanlagenelemente dem entsprechenden einen oder mehreren Prozessanlagenelementen zuzuordnen.
- Konfigurierungsmanagementsystem nach Anspruch 18, wobei die Konfigurations- und Versionskontrollroutinen konfiguriert sind, um vom Prozessor ausgeführt zu werden, um die Änderung des Modulklassenobjekts zu detektieren, indem detektiert wird, ob dass das geänderte Modulklassenobjekt in der Datenbank gesichert wurde.
- Konfigurierungsmanagementsystem nach Anspruch 18, wobei die Konfigurations- und Versionskontrollroutinen konfiguriert sind, um vom Prozessor ausgeführt zu werden, um einem Nutzer das Auschecken des Modulklassenobjekts zu ermöglichen; einem Nutzer das Einchecken des Modulklassenobjekts zu ermöglichen; die Änderung des Modulklassenobjekts zu detektieren, indem detektiert wird, ob das geänderte Modulklassenobjekt eingecheckt wurde.
- Konfigurierungsmanagementsystem nach Anspruch 18, wobei die Konfigurations- und Versionskontrollroutinen konfiguriert sind, um vom Prozessor ausgeführt zu werden, um den Versionsidentifizierer für das geänderte Modulklassenobjekt als Teil von jedem von dem einen oder den mehreren Modulobjekten zu speichern.
- Konfigurierungsmanagementsystem nach Anspruch 18, wobei die Konfigurations-und Versionskontrollroutinen konfiguriert sind, um vom Prozessor ausgeführt zu werden, um jedes von dem einen oder den mehreren Modulobjekten mit dem Versionsidentifizierer für das geänderte Modulklassenobjekt zu verbinden.
- Verfahren für die Überwachung von Änderungen in einer Konfiguration mindestens eines Abschnitts einer Prozessanlage, wobei das Verfahren aufweist: Detektierung einer Änderung eines Prozessanlagenelements, wobei das Prozessanlagenelement eine Prozessentität innerhalb der Prozessanlage repräsentieren kann; Bestimmung eines oder mehrerer Modulklassenobjekte, aus denen das geänderte Prozessanlagenelement erzeugt wurde, wobei jedes Modulklassenobjekt generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann; Bestimmung jeweiliger Versionsdaten, die jedem von dem einen oder den mehreren Modulklassenobjekten zugeordnet sind; Erzeugung eines Versionsidentifizierers für das geänderte Prozessanlagenelement; Zuordnung des Versionsidentifizierers zum geänderten Prozessanlagenelement; und Zuordnen der jeweiligen Versionsdaten, die jedem von dem einen oder den mehreren Modulklassenobjekten zugeordnet sind, zu dem geänderten Prozessanlagenelement.
- Verfahren nach Anspruch 24, wobei das Prozessanlagenelement ein Modulklassenobjekt umfasst, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 24, wobei das Prozessanlagenelement ein Modulobjekt beinhaltet, das spezifisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 24, wobei zur Zuordnung der jeweiligen, jedem von dem einen oder den mehreren Modulklassenobjekten zugeordneten Versionsdaten zu dem geänderten Prozessanlagenelement die Speicherung der jeweiligen, jedem von dem einen oder den mehreren Modulklassenobjekten zugeordneten Versionsdaten als Teil des geänderten Prozessanlagenelements gehört.
- Verfahren nach Anspruch 24, wobei zur Zuordnung der jeweiligen, jedem von dem einen oder den mehreren Modulklassenobjekten zugeordneten Versionsdaten zu dem geänderten Prozessanlagenelement die Verbindung des geänderten Prozessanlagenelements mit den Versionsdaten gehört, die jedem von dem einen oder den mehreren Modulklassenobjekten zugeordnet sind.
- Verfahren nach Anspruch 24, wobei zum Detektieren der Änderung des Prozessanlagenelements gehört, eine oder mehrere Änderungen des einen oder mehrerer Modulklassenobjekte zu detektieren, aus denen das geänderte Prozessanlagenelement erzeugt wurde.
- Verfahren nach Anspruch 24, wobei zum Detektieren der Änderung des Prozessanlagenelements gehört, eine Änderung des Prozessanlagenelements zu detektieren, die das eine oder mehrere Modulklassenobjekte nicht beeinflussen würde, aus denen das geänderte Prozessanlagenelement erzeugt wurde.
- Konfigurierungsmanagementsystem für die Verfolgung einer Konfiguration, die einer Prozessanlage zugeordnet ist, das aufweist: ein computerlesbares Medium; einen mit dem computerlesbaren Medium kommunikativ verbundenen Prozessor; eine Datenbank, die erste Daten und zweite Daten speichert, wobei die ersten Daten für ein Prozessanlagenelement repräsentativ sind, das eine Prozessentität innerhalb der Prozessanlage repräsentieren kann, und wobei die zweiten Daten für eine Vielzahl von Modulklassenobjekten repräsentativ sind, die generisch für Prozessentitäten innerhalb der Prozessanlage repräsentativ sein können; eine im computerlesbaren Medium gespeicherte Konfigurierungsroutine, die konfiguriert ist, um vom Prozessor für eine vereinfachte Änderung des Prozessanlagenelements ausgeführt zu werden; eine im computerlesbaren Medium gespeicherte Versionskontrollroutine, die konfiguriert ist, um vom Prozessor ausgeführt zu werden, um: eine Änderung des Prozessanlagenelements zu detektieren; die jeweiligen Versionsdaten zu bestimmen, die jedem von einem oder mehreren Modulklassenobjekten zugeordnet sind, aus denen das geänderte Prozessanlagenelement erzeugt wurde; einen Versionsidentifizierer für das geänderte Prozessanlagenelement zu erzeugen; den Versionsidentifizierer dem geänderten Prozessanlagenelement zuzuordnen; und um die jeweiligen, jedem von dem einen oder den mehreren Modulklassenobjekten, aus denen das geänderte Prozessanlagenelement erzeugt wurde, zugeordneten Versionsdaten dem geänderten Prozessanlagenelement zuzuordnen.
- Konfigurierungsmanagementsystem nach Anspruch 31, wobei die gespeicherte Versionskontrollroutine konfiguriert ist, um vom Prozessor ausgeführt zu werden, um eine Änderung des Prozessanlagenelements zu detektieren, die durch eine oder mehrere Änderungen des einen oder mehrerer Modulklassenobjekte verursacht wurde, aus denen das geänderte Prozessanlagenelement erzeugt wurde.
- Konfigurierungsmanagementsystem nach Anspruch 31, wobei die gespeicherte Versionskontrollroutine konfiguriert ist, um vom Prozessor ausgeführt zu werden, um eine Änderung des Prozessanlagenelements zu detektieren, die das eine oder mehrere Modulklassenobjekte nicht beeinflussen würde, aus denen das geänderte Prozessanlagenelement erzeugt wurde.
- Konfigurierungsmanagementsystem nach Anspruch 31, wobei die Prozessanlagenelemente ein Modulobjekt umfassen, das spezifisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Konfigurierungsmanagementsystem nach Anspruch 31, wobei die Prozessanlagenelemente ein Modulobjekt umfassen, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren zur Benachrichtigung eines Nutzers von einer geänderten Konfiguration, die mindestens einem Abschnitt einer Prozessanlage zugeordnet ist, wobei das Verfahren umfasst: Bestimmung eines oder mehrerer Modulklassenobjekte, aus denen ein Prozessanlagenelement erzeugt wurde, wobei das Prozessanlagenelement eine Prozessentität innerhalb der Prozessanlage repräsentieren kann, und wobei das eine oder mehrere Modulklassenobjekte generisch für Prozessentitäten innerhalb der Prozessanlage repräsentativ sein können; Bestimmung einer jeweils aktuellen Version von jedem von dem einen oder den mehreren Modulklassenobjekten; Bestimmung einer jeweiligen Version von jedem von dem einen oder den mehreren Modulklassenobjekten, aus denen das Prozessanlagenelement erzeugt wurde; Bestimmung, ob zwischen der jeweiligen Version, aus der das Prozessanlagenelement erzeugt wurde, und der jeweils aktuellen Version für jedes von dem einen oder den mehreren Modulklassenobjekten ein Unterschied besteht; und Erzeugung einer Nachricht, die anzeigt, dass eine neuere Version für mindestens eines von dem einen oder den mehreren Modulklassenobjekten, aus denen das Prozessanlagenelement erzeugt wurde, existiert, wenn festgestellt wird, dass zwischen der jeweiligen Version, aus der das Prozessanlagenelement erzeugt wurde, und der jeweils aktuellen Version ein Unterschied für mindestens eines von dem einen oder den mehreren Modulklassenobjekten besteht.
- Verfahren nach Anspruch 36, wobei das Prozessanlagenelement ein Modulklassenobjekt umfasst, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 36, wobei das Prozessanlagenelement ein Modulobjekt umfasst, das spezifisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 36, das ferner die Abfrage an einen Nutzer umfasst, ob das Prozessanlagenelement auf Basis der neueren Version von dem mindestens einen von dem einen oder den mehreren Modulklassenobjekten geändert werden soll.
- Verfahren nach Anspruch 39, bei dem außerdem das Prozessanlagenelement auf Basis der neueren Version von dem mindestens einen von dem einen oder den mehreren Modulklassenobjekten verändert wird.
- Konfigurierungssystem zur Konfigurierung mindestens eines Abschnitts einer Prozessanlage, das aufweist: ein computerlesbares Medium; einen mit dem computerlesbaren Medium kommunikativ verbundenen Prozessor; eine Datenbank, die erste Daten und zweite Daten speichert, wobei die ersten Daten für ein Prozessanlagenelement repräsentativ sind, das eine Prozessentität innerhalb der Prozessanlage repräsentieren kann, und wobei die zweiten Daten für eine Vielzahl von Modulklassenobjekten repräsentativ sind, die generisch für Prozessentitäten innerhalb der Prozessanlage repräsentativ sein können; eine im computerlesbaren Medium gespeicherte Konfigurierungsroutine, die konfiguriert ist, um vom Prozessor ausgeführt zu werden, um eine Änderung des Prozessanlagenelements zu vereinfachen; eine im computerlesbaren Medium gespeicherte Benachrichtigungsroutine, die konfiguriert ist, um vom Prozessor ausgeführt zu werden in der mehrere Modulklassenobjekte zu bestimmen, aus denen das Prozessanlagenelement erzeugt wurde; eine jeweilige aktuelle Version von jedem von dem einen oder den mehreren Modulklassenobjekten zu bestimmen; eine jeweilige Version von jedem von dem einen oder den mehreren Modulklassenobjekten zu bestimmen, aus denen das Prozessanlagenelement erzeugt wurde; zu bestimmen, ob zwischen der jeweiligen Version, aus der das Prozessanlagenelement erzeugt wurde, und der jeweils aktuellen Version ein Unterschied für jedes von dem einen oder den mehreren Modulklassenobjekten besteht; und um eine Nachricht zu erzeugen, die anzeigt, dass eine neuere Version von mindestens einem von dem einen oder den mehreren Modulklassenobjekten existiert, aus denen das Prozessanlagenelement erzeugt wurde, wenn festgestellt wird, dass zwischen der jeweiligen Version, aus der das Prozessanlagenelement erzeugt wurde, und der jeweils aktuellen Version für mindestens eines von dem einen oder den mehreren Modulklassenobjekten ein Unterschied besteht.
- Konfigurierungssystem nach Anspruch 41, das außerdem eine im computerlesbaren Medium gespeicherte Aktualisierungsroutine umfasst, die konfiguriert ist, um vom Prozessor ausgeführt zu werden, um das Prozessanlagenelement auf Basis der neueren Version von dem mindestens einen von dem einen oder den mehreren Modulklassenobjekten zu aktualisieren, aus denen das Prozessanlagenelement erzeugt wurde.
- Verfahren zur Benachrichtigung eines Nutzers von einer geänderten Konfiguration, die mindestens einem Abschnitt einer Prozessanlage zugeordnet ist, wobei das Verfahren umfasst: Detektieren einer neuen Version eines Modulklassenobjekts, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann; Bestimmen eines oder mehrerer Prozessanlagenelemente, die aus einer oder mehreren älteren Versionen des Modulklassenobjekts erzeugt wurden, wobei jedes von dem einen oder den mehreren Prozessanlagenelementen jeweils eine entsprechende Prozessentität innerhalb der Prozessanlage repräsentieren kann; und Erzeugen einer Nachricht, die anzeigt, dass eines oder mehrere der Prozessanlagenelemente aus einer oder mehreren älteren Versionen des Modulklassenobjekts erzeugt wurden.
- Verfahren nach Anspruch 43, wobei mindestens eines von dem einen oder den mehreren Prozessanlagenelementen ein Modulklassenobjekt umfasst, das generisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 43, wobei mindestens eines von dem einen oder den mehreren Prozessanlagenelementen ein Modulobjekt umfasst, das spezifisch für eine Prozessentität innerhalb der Prozessanlage repräsentativ sein kann.
- Verfahren nach Anspruch 43, das außerdem eine Abfrage an den Nutzer umfasst, ob das eine oder mehrere Prozessanlagenelemente auf Basis der neuen Version des Modulklassenobjekts geändert werden sollen.
- Konfigurierungsmanagementsystem für die Verfolgung einer Konfiguration, die einer Prozessanlage zugeordnet ist, das aufweist: ein computerlesbares Medium; einen mit dem computerlesbaren Medium kommunikativ verbundenen Prozessor; eine Datenbank, die erste Daten und zweite Daten speichert, wobei die ersten Daten repräsentativ für ein Prozessanlagenelement sind, das eine Prozessentität innerhalb der Prozessanlage repräsentieren kann, und wobei die zweiten Daten repräsentativ sind für eine Vielzahl von Modulklassenobjekten, die generisch repräsentativ für Prozessentitäten innerhalb der Prozessanlage sein eine im computerlesbaren Medium gespeicherte Konfigurierungsroutine, die konfiguriert ist, um vom Prozessor für eine einfachere Änderung des Prozessanlagenelements ausgeführt zu werden; eine im computerlesbaren Medium gespeicherte Versionskontrollroutine, die konfiguriert ist, um vom Prozessor ausgeführt zu werden, um: eine Änderung des Prozessanlagenelements zu detektieren; die jeweiligen Versionsdaten zu bestimmen, die jedem von einem oder mehreren Modulklassenobjekten zugeordnet sind, aus denen das geänderte Prozessanlagenelement erzeugt wurde; einen Versionsidentifizierer für das geänderte Prozessanlagenelement zu erzeugen; den Versionsidentifizierer dem geänderten Prozessanlagenelement zuzuordnen; und um die jeweiligen Versionsdaten, die jedem von dem einen oder den mehreren Modulklassenobjekten zugeordnet sind, aus denen das geänderte Prozessanlagenelement erzeugt wurde, dem geänderten Prozessanlagenelement zuzuordnen.
- Konfigurierungsmanagementsystem nach Anspruch 47, wobei die gespeicherte Versionskontrollroutine konfiguriert ist, um vom Prozessor ausgeführt zu werden, um eine Änderung des Prozessanlagenelements zu detektieren, die durch eine oder mehrere Änderungen des einen oder mehrerer Modulklassenobjekte bewirkt wurde, aus denen das geänderte Prozessanlagenelement erzeugt wurde.
- Konfigurierungsmanagementsystem nach Anspruch 47, wobei die gespeicherte Versionskontrollroutine konfiguriert ist, um vom Prozessor ausgeführt zu werden, um eine Änderung des Prozessanlagenelements zu detektieren, die das eine oder mehrere Modulklassenobjekte, aus denen das geänderte Prozessanlagenelement erzeugt wurde, nicht beeinflussen würde.
- Konfigurierungsmanagementsystem nach Anspruch 47, wobei die Prozessanlagenelemente ein Modulobjekt umfassen, das spezifisch repräsentativ für eine Prozessentität innerhalb der Prozessanlage sein kann.
- Konfigurierungsmanagementsystem nach Anspruch 47, wobei die Prozessanlagenelemente ein Modulobjekt umfassen, das generisch repräsentativ für eine Prozessentität innerhalb der Prozessanlage sein kann.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/853,668 US7117052B2 (en) | 2003-02-18 | 2004-05-25 | Version control for objects in a process plant configuration system |
US10/853,668 | 2004-05-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102004038808A1 true DE102004038808A1 (de) | 2005-12-22 |
Family
ID=33030327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102004038808A Withdrawn DE102004038808A1 (de) | 2004-05-25 | 2004-08-10 | Versionskontrolle für Objekte in einem Konfigurationssystem für Prozessanlagen |
Country Status (7)
Country | Link |
---|---|
US (3) | US7117052B2 (de) |
JP (2) | JP4919588B2 (de) |
CN (1) | CN1716137B (de) |
DE (1) | DE102004038808A1 (de) |
GB (3) | GB2443752B (de) |
HK (2) | HK1079864A1 (de) |
PH (1) | PH12011000190A1 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006062478A1 (de) * | 2006-12-28 | 2008-07-03 | Codewrights Gmbh | Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik |
WO2010060976A1 (de) * | 2008-11-27 | 2010-06-03 | Siemens Aktiengesellschaft | Verfahren zum erstellen einer leittechnischen einrichtung für eine industrieanlage |
WO2010060977A1 (de) * | 2008-11-27 | 2010-06-03 | Siemens Aktiengesellschaft | Verfahren zum erstellen einer leittechnischen einrichtung für eine industrieanlage |
EP2224299A3 (de) * | 2009-02-27 | 2012-04-25 | Siemens Aktiengesellschaft | Kopplung von ERP-Systemen mit Prozessleitsystemen zur automatisierten Übertragung von Anlagenstrukturen und Anlagendaten |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10144427A1 (de) * | 2001-09-10 | 2003-04-03 | Siemens Ag | Verfahren zur Verschaltung von Automatisierungsfunktionen in einer Anlage und Verfahren zur Abfrage und Änderung von Verschaltungsinformationen |
US6963814B2 (en) * | 2002-12-23 | 2005-11-08 | Siemens Energy & Automation, Inc. | Systems, devices, and methods for acceptance testing a fieldbus component configuration program |
US7117052B2 (en) | 2003-02-18 | 2006-10-03 | Fisher-Rosemount Systems, Inc. | Version control for objects in a process plant configuration system |
US7526347B2 (en) * | 2003-02-18 | 2009-04-28 | Fisher-Rosemount Systems, Inc. | Security for objects in a process plant configuration system |
US7275062B2 (en) * | 2003-03-10 | 2007-09-25 | Fisher-Rosemount Systems, Inc. | Automatic linkage of process event data to a data historian |
US7729789B2 (en) | 2004-05-04 | 2010-06-01 | Fisher-Rosemount Systems, Inc. | Process plant monitoring based on multivariate statistical analysis and on-line process simulation |
JP2007536634A (ja) | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
EP1675044A1 (de) * | 2004-12-21 | 2006-06-28 | Siemens Aktiengesellschaft | Engineering-System für verteilte Entwicklung und Entwicklung durch mehrere Nutzer |
US7783790B2 (en) * | 2004-12-23 | 2010-08-24 | Abb Ag | Method for configuring field devices |
WO2006069763A1 (de) * | 2004-12-23 | 2006-07-06 | Abb Patent Gmbh | Verfahren zur konfiguration von feldgeräten |
US8938557B2 (en) * | 2004-12-23 | 2015-01-20 | Abb Technology Ag | Method for configuring field devices |
US7716182B2 (en) * | 2005-05-25 | 2010-05-11 | Dassault Systemes Enovia Corp. | Version-controlled cached data store |
US7546171B2 (en) * | 2005-12-30 | 2009-06-09 | Honeywell International Inc. | Method, apparatus and system for recovery of a controller with known-compatible configuration and run-time data |
US7644373B2 (en) | 2006-01-23 | 2010-01-05 | Microsoft Corporation | User interface for viewing clusters of images |
US7836050B2 (en) * | 2006-01-25 | 2010-11-16 | Microsoft Corporation | Ranking content based on relevance and quality |
US7814040B1 (en) | 2006-01-31 | 2010-10-12 | The Research Foundation Of State University Of New York | System and method for image annotation and multi-modal image retrieval using probabilistic semantic models |
US7870564B2 (en) * | 2006-02-16 | 2011-01-11 | Microsoft Corporation | Object-based computer system management |
NO327866B1 (no) * | 2006-03-09 | 2009-10-12 | Abb Research Ltd | En fremgangsmåte for styring og/eller overvåking |
JP4645506B2 (ja) * | 2006-03-31 | 2011-03-09 | ブラザー工業株式会社 | 複合機、情報処理装置及びプログラム |
WO2007143005A2 (en) * | 2006-05-31 | 2007-12-13 | Active Automation, Inc. | Cost effective system and method for monitoring machinery units |
DE102006040655A1 (de) * | 2006-08-30 | 2008-03-20 | Robert Bosch Gmbh | Elektrisches Gerät mit einer Bedienungsanleitungsroutine und Verfahren zur Information eines Nutzers des elektrischen Geräts |
US7668608B2 (en) * | 2006-09-01 | 2010-02-23 | Fisher-Rosemount Systems, Inc. | Graphical programming language object editing and reporting tool |
US7848829B2 (en) * | 2006-09-29 | 2010-12-07 | Fisher-Rosemount Systems, Inc. | Methods and module class objects to configure absent equipment in process plants |
JP4902324B2 (ja) * | 2006-11-21 | 2012-03-21 | 三洋電機株式会社 | ランドリー機器 |
EP1965301A1 (de) * | 2007-02-27 | 2008-09-03 | Abb Research Ltd. | Verfahren und System zur Erzeugung einer Benutzeroberfläche eines Kontrollsystems |
US20080255681A1 (en) * | 2007-04-10 | 2008-10-16 | Cindy Alsup Scott | Methods and apparatus to manage process plant alarms |
US8612886B2 (en) * | 2007-09-28 | 2013-12-17 | Rockwell Automation Technologies, Inc. | Sequential function chart (SFC) online editing without reset |
US8019724B2 (en) * | 2008-03-25 | 2011-09-13 | Honeywell International Inc. | Software framework for evolving specifications in process control system |
JP5520305B2 (ja) * | 2008-09-29 | 2014-06-11 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | プロセス制御の環境設定を行う方法 |
US8881039B2 (en) | 2009-03-13 | 2014-11-04 | Fisher-Rosemount Systems, Inc. | Scaling composite shapes for a graphical human-machine interface |
US8489210B2 (en) * | 2009-03-24 | 2013-07-16 | Rockwell Automation Technologies, Inc. | Electronic operator interface based controller and device automatic downloads |
US9256219B2 (en) * | 2009-08-11 | 2016-02-09 | Fisher-Rosemount Systems, Inc. | System configuration using templates |
US8280544B2 (en) * | 2009-11-02 | 2012-10-02 | Mold Masters (2007) Limited | System for use in performance of injection molding operations |
US20110106285A1 (en) * | 2009-11-02 | 2011-05-05 | Mold-Masters (2007) Limited | System for use in performance of injection molding operations |
DE102010009137A1 (de) * | 2010-02-23 | 2011-08-25 | Krones Ag, 93073 | Überwachungsvorrichtung für Behältnis-Behandlungsanlagen |
US8825183B2 (en) | 2010-03-22 | 2014-09-02 | Fisher-Rosemount Systems, Inc. | Methods for a data driven interface based on relationships between process control tags |
US9811835B2 (en) * | 2010-06-18 | 2017-11-07 | Microsoft Technology Licensing, Llc | Metadata-enabled dynamic updates of online advertisements |
US9217565B2 (en) | 2010-08-16 | 2015-12-22 | Emerson Process Management Power & Water Solutions, Inc. | Dynamic matrix control of steam temperature with prevention of saturated steam entry into superheater |
US9447963B2 (en) | 2010-08-16 | 2016-09-20 | Emerson Process Management Power & Water Solutions, Inc. | Dynamic tuning of dynamic matrix control of steam temperature |
US9335042B2 (en) | 2010-08-16 | 2016-05-10 | Emerson Process Management Power & Water Solutions, Inc. | Steam temperature control using dynamic matrix control |
CN103229115B (zh) * | 2010-10-08 | 2017-07-18 | Abb 技术有限公司 | 用于传播对正本到副本做出的修改的方法和*** |
US8918447B2 (en) * | 2010-12-10 | 2014-12-23 | Sap Se | Methods, apparatus, systems and computer readable mediums for use in sharing information between entities |
US8425216B2 (en) | 2011-03-11 | 2013-04-23 | Mold-Masters (2007) Limited | Cycle counting system for injection molding assembly |
US8538559B2 (en) * | 2011-04-04 | 2013-09-17 | Relcom, Inc. | Fieldbus system function block enhancements using transducer block |
JP5724679B2 (ja) * | 2011-06-29 | 2015-05-27 | 株式会社ジェイテクト | ブロック実行順表示装置 |
US9163828B2 (en) | 2011-10-31 | 2015-10-20 | Emerson Process Management Power & Water Solutions, Inc. | Model-based load demand control |
US9864365B2 (en) * | 2011-11-11 | 2018-01-09 | Rockwell Automation, Inc. | Control environment change communication |
US9389606B2 (en) * | 2011-11-11 | 2016-07-12 | Rockwell Automation Technologies, Inc. | Agile control model system and method |
US9529355B2 (en) * | 2011-11-11 | 2016-12-27 | Rockwell Automation Technologies, Inc. | Control environment change communication |
WO2013085913A2 (en) * | 2011-12-05 | 2013-06-13 | Aspen Technology, Inc. | Computer method and apparatus converting process engineering application data into a canonical flowsheet representation |
CN102521401B (zh) * | 2011-12-24 | 2014-10-15 | 北京数码大方科技股份有限公司 | 数据视图的处理方法及装置 |
EP2667269B1 (de) * | 2012-05-25 | 2014-12-17 | Siemens Aktiengesellschaft | Verfahren zum Betreiben eines redundanten Automatisierungssystems |
US20140059669A1 (en) * | 2012-08-24 | 2014-02-27 | Tencent Technology (Shenzhen) Company Limited | Method and mobile terminal for enhancing the security of a mobile terminal |
US11774927B2 (en) | 2012-10-08 | 2023-10-03 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to provide a role-based user interface |
WO2014058889A1 (en) * | 2012-10-08 | 2014-04-17 | Fisher-Rosemount Systems, Inc. | Configurable user displays in a process control system |
US11216159B2 (en) | 2012-10-08 | 2022-01-04 | Fisher-Rosemount Systems, Inc. | Configuration element for graphic elements |
CN103076773A (zh) * | 2012-12-20 | 2013-05-01 | 光达光电设备科技(嘉兴)有限公司 | 设备控制***及其工作方法 |
WO2014146716A1 (de) * | 2013-03-21 | 2014-09-25 | Siemens Aktiengesellschaft | Engineering-system einer prozess- und/oder fertigungsanlage |
CN103279106B (zh) * | 2013-05-30 | 2015-07-08 | 莱诺斯科技(北京)有限公司 | 一种仪器设备监视与控制*** |
US9984103B2 (en) | 2013-10-14 | 2018-05-29 | Schneider Electric Software, Llc | Adaptive filtering in industrial control system |
US9448791B1 (en) * | 2013-11-06 | 2016-09-20 | Amazon Technologies, Inc. | Synchronizing source code objects and software development workflow objects |
WO2015075615A1 (en) * | 2013-11-22 | 2015-05-28 | Abb Technology Ltd. | A method and a system for replacing and commissioning of a field device |
DE102014006699A1 (de) | 2013-12-23 | 2015-06-25 | Sew-Eurodrive Gmbh & Co Kg | Verfahren zur Zuordnung von Komponenten einer industriellen Anlage zu einem Navigationsbaum, Verfahren zur Parametrierung und/oder Inbetriebnahme von Komponenten einer industriellen Anlage, Zuordnungsvorrichtung und Parametrierungs- und/oder Inbetriebnahmevorrichtung |
US9665079B2 (en) | 2014-03-26 | 2017-05-30 | Honeywell International Inc. | Controller having a version control system |
CN106662862B (zh) * | 2014-08-11 | 2019-05-03 | Abb瑞士股份有限公司 | 过程控制***中的对象创建 |
US20160132037A1 (en) * | 2014-11-11 | 2016-05-12 | Yokogawa Electric Corporation | Process control systems and systems and methods for configuration thereof |
JP6503750B2 (ja) * | 2015-01-16 | 2019-04-24 | 横河電機株式会社 | エンジニアリング支援装置、方法、及びプログラム |
JP6401657B2 (ja) * | 2015-04-28 | 2018-10-10 | 株式会社日立製作所 | プロセス制御システム、保守支援装置及びコントローラ |
WO2017066298A1 (en) * | 2015-10-12 | 2017-04-20 | Fisher-Rosemount Systems, Inc. | Automatic loop testing for a process control loop |
CN113026928A (zh) | 2015-12-09 | 2021-06-25 | 米沃奇电动工具公司 | 排水清洁器 |
US20170308278A1 (en) | 2016-04-21 | 2017-10-26 | Schneider Electric Software, Llc | Automated graphical user interface configuration |
US10671038B2 (en) * | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
US10049564B2 (en) * | 2016-08-05 | 2018-08-14 | Epro Gmbh | Commissioning and configuring control electronics associated with assets |
EP3306469A1 (de) * | 2016-10-07 | 2018-04-11 | Siemens Aktiengesellschaft | Verfahren zum erzeugen einer equipment hierarchie |
US10571901B2 (en) * | 2017-08-08 | 2020-02-25 | Fisher-Rosemount Systems, Inc. | Controlled roll-out of module classes |
US10926816B2 (en) | 2017-10-19 | 2021-02-23 | Saf-Holland, Inc. | Accelerometer sensor arrangement for fifth wheel hitch assembly |
EP3495903B1 (de) * | 2017-12-05 | 2020-02-26 | Siemens Aktiengesellschaft | Verfahren zum bedienen und beobachten einer zu steuernden technischen anlage sowie operator-system |
CN109960495B (zh) * | 2017-12-25 | 2022-04-15 | 紫石能源有限公司 | 一种设备控制处理方法及装置 |
US10761514B2 (en) | 2018-09-27 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Intelligent binding and selection of hardware via automation control objects |
US11567486B2 (en) | 2018-09-27 | 2023-01-31 | Rockwell Automation Technologies, Inc. | Automated industrial process testing via cross-domain object types |
US11079743B2 (en) | 2018-09-27 | 2021-08-03 | Rockwell Automation Technologies, Inc. | Project autonomy in industrial automation design environments |
US11119463B2 (en) | 2018-09-27 | 2021-09-14 | Rockwell Automation Technologies, Inc. | Automation objects for integrated design environments |
BE1026842B1 (de) * | 2018-12-06 | 2020-07-06 | Phoenix Contact Gmbh & Co | Integration mehrerer Anlagenmodule mit jeweils wenigstens einer prozesstechnischen Einheit zu einer modular aufgebauten Gesamtanlage |
CN216586960U (zh) | 2019-05-15 | 2022-05-24 | 米沃奇电动工具公司 | 排水管清洁装置 |
US11768878B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Search results display in a process control system |
US11768877B2 (en) * | 2019-09-20 | 2023-09-26 | Fisher-Rosemount Systems, Inc. | Smart search capabilities in a process control system |
EP3904985A1 (de) * | 2020-04-30 | 2021-11-03 | Siemens Aktiengesellschaft | Änderungsverfolgung von projektierungsdaten eines leitsystems einer technischen anlage |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0650442B2 (ja) * | 1983-03-09 | 1994-06-29 | 株式会社日立製作所 | 設備群制御方法およびシステム |
US4736320A (en) * | 1985-10-08 | 1988-04-05 | Foxboro Company | Computer language structure for process control applications, and translator therefor |
US4885717A (en) * | 1986-09-25 | 1989-12-05 | Tektronix, Inc. | System for graphically representing operation of object-oriented programs |
US5051898A (en) * | 1988-06-13 | 1991-09-24 | Eda Systems, Inc. | Method for specifying and controlling the invocation of a computer program |
US4972328A (en) * | 1988-12-16 | 1990-11-20 | Bull Hn Information Systems Inc. | Interactive knowledge base end user interface driven maintenance and acquisition system |
US5014208A (en) * | 1989-01-23 | 1991-05-07 | Siemens Corporate Research, Inc. | Workcell controller employing entity-server model for physical objects and logical abstractions |
JPH0658624B2 (ja) * | 1990-03-30 | 1994-08-03 | インターナショナル・ビシネス・マシーンズ・コーポレーション | グラフィカル・ユーザ・インターフェース管理装置 |
US5603018A (en) * | 1991-07-15 | 1997-02-11 | Mitsubishi Denki Kabushiki Kaisha | Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats |
JPH06124200A (ja) * | 1992-10-14 | 1994-05-06 | Toshiba Corp | ソフトウェア構造解析支援システム |
US5485600A (en) | 1992-11-09 | 1996-01-16 | Virtual Prototypes, Inc. | Computer modelling system and method for specifying the behavior of graphical operator interfaces |
DK0607493T3 (da) * | 1993-01-18 | 1999-08-30 | Siemens Ag | Realtidsstyresystem |
US6684261B1 (en) * | 1993-07-19 | 2004-01-27 | Object Technology Licensing Corporation | Object-oriented operating system |
US5594858A (en) * | 1993-07-29 | 1997-01-14 | Fisher-Rosemount Systems, Inc. | Uniform control template generating system and method for process control programming |
US5530643A (en) * | 1993-08-24 | 1996-06-25 | Allen-Bradley Company, Inc. | Method of programming industrial controllers with highly distributed processing |
US5576946A (en) * | 1993-09-30 | 1996-11-19 | Fluid Air, Inc. | Icon based process design and control system |
US5555385A (en) * | 1993-10-27 | 1996-09-10 | International Business Machines Corporation | Allocation of address spaces within virtual machine compute system |
US5485620A (en) * | 1994-02-25 | 1996-01-16 | Automation System And Products, Inc. | Integrated control system for industrial automation applications |
JP2580536B2 (ja) | 1994-06-02 | 1997-02-12 | 工業技術院長 | オブジェクト指向言語における動的オブジェクトの管理方式 |
US5546301A (en) * | 1994-07-19 | 1996-08-13 | Honeywell Inc. | Advanced equipment control system |
US5611059A (en) * | 1994-09-02 | 1997-03-11 | Square D Company | Prelinked parameter configuration, automatic graphical linking, and distributed database configuration for devices within an automated monitoring/control system |
US5499333A (en) * | 1995-04-20 | 1996-03-12 | International Business Machines Corporation | Method and apparatus for at least partially instantiating an object in a compound document using the object's parent class configuration data when the object's configuration data is unavailable |
JPH0934708A (ja) | 1995-07-17 | 1997-02-07 | Matsushita Electric Ind Co Ltd | オブジェクト管理方法とその装置 |
US5812394A (en) * | 1995-07-21 | 1998-09-22 | Control Systems International | Object-oriented computer program, system, and method for developing control schemes for facilities |
US6094600A (en) * | 1996-02-06 | 2000-07-25 | Fisher-Rosemount Systems, Inc. | System and method for managing a transaction database of records of changes to field device configurations |
US5862052A (en) * | 1996-04-12 | 1999-01-19 | Fisher-Rosemount Systems, Inc. | Process control system using a control strategy implemented in a layered hierarchy of control modules |
US5909368A (en) * | 1996-04-12 | 1999-06-01 | Fisher-Rosemount Systems, Inc. | Process control system using a process control strategy distributed among multiple control elements |
US6032208A (en) * | 1996-04-12 | 2000-02-29 | Fisher-Rosemount Systems, Inc. | Process control system for versatile control of multiple process devices of various device types |
JP3488019B2 (ja) * | 1996-06-17 | 2004-01-19 | 株式会社山武 | 制御設計用コンフィギュレーション・ツールの部品再利用方法 |
US6948173B1 (en) * | 1997-08-04 | 2005-09-20 | Fred Steven Isom | Method of sequencing computer controlled tasks based on the relative spatial location of task objects in a directional field |
US5943496A (en) | 1997-05-17 | 1999-08-24 | Intertop Corporation | Methods for developing and instantiating object classes using a java virtual machine extension |
DE19732011A1 (de) | 1997-07-25 | 1999-01-28 | Abb Patent Gmbh | Verfahren zum ortstransparenten Austausch von Prozeßdaten |
US6292790B1 (en) * | 1997-10-20 | 2001-09-18 | James E. Krahn | Apparatus for importing and exporting partially encrypted configuration data |
US5950006A (en) * | 1997-11-05 | 1999-09-07 | Control Technology Corporation | Object-oriented programmable controller |
US6668257B1 (en) * | 1997-11-06 | 2003-12-23 | International Business Machines Corporation | Migrating non-persistent objects when one or more of the superclass fields of the object are modified |
US6138174A (en) * | 1997-11-24 | 2000-10-24 | Rockwell Technologies, Llc | Industrial control system providing remote execution of graphical utility programs |
JP3557896B2 (ja) | 1998-04-02 | 2004-08-25 | 株式会社山武 | 制御設計用コンフィギュレーションツール |
US6167316A (en) * | 1998-04-03 | 2000-12-26 | Johnson Controls Technology Co. | Distributed object-oriented building automation system with reliable asynchronous communication |
US6028998A (en) * | 1998-04-03 | 2000-02-22 | Johnson Service Company | Application framework for constructing building automation systems |
US6157864A (en) * | 1998-05-08 | 2000-12-05 | Rockwell Technologies, Llc | System, method and article of manufacture for displaying an animated, realtime updated control sequence chart |
US6161051A (en) * | 1998-05-08 | 2000-12-12 | Rockwell Technologies, Llc | System, method and article of manufacture for utilizing external models for enterprise wide control |
GB9822963D0 (en) | 1998-10-20 | 1998-12-16 | Agner Erik | Improvements in or relating to chromatography |
US6442515B1 (en) * | 1998-10-26 | 2002-08-27 | Invensys Systems, Inc. | Process model generation independent of application mode |
US6442512B1 (en) * | 1998-10-26 | 2002-08-27 | Invensys Systems, Inc. | Interactive process modeling system |
US6546297B1 (en) * | 1998-11-03 | 2003-04-08 | Robertshaw Controls Company | Distributed life cycle development tool for controls |
US6760711B1 (en) * | 1999-01-11 | 2004-07-06 | Microsoft Corporation | Merchant owned, ISP-hosted online stores with secure data store |
US6598052B1 (en) | 1999-02-19 | 2003-07-22 | Sun Microsystems, Inc. | Method and system for transforming a textual form of object-oriented database entries into an intermediate form configurable to populate an object-oriented database for sending to java program |
US6298454B1 (en) * | 1999-02-22 | 2001-10-02 | Fisher-Rosemount Systems, Inc. | Diagnostics in a process control system |
US6385496B1 (en) * | 1999-03-12 | 2002-05-07 | Fisher-Rosemount Systems, Inc. | Indirect referencing in process control routines |
WO2000070531A2 (en) | 1999-05-17 | 2000-11-23 | The Foxboro Company | Methods and apparatus for control configuration |
US6788980B1 (en) * | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6515683B1 (en) * | 1999-06-22 | 2003-02-04 | Siemens Energy And Automation | Autoconfiguring graphic interface for controllers having dynamic database structures |
JP3348405B2 (ja) * | 1999-07-22 | 2002-11-20 | エヌイーシートーキン株式会社 | インドール系高分子を用いた二次電池及びキャパシタ |
AU6615600A (en) | 1999-07-29 | 2001-02-19 | Foxboro Company, The | Methods and apparatus for object-based process control |
JP2001054848A (ja) * | 1999-08-16 | 2001-02-27 | Sanyo Electric Co Ltd | 遊技球研磨装置 |
US6415418B1 (en) * | 1999-08-27 | 2002-07-02 | Honeywell Inc. | System and method for disseminating functional blocks to an on-line redundant controller |
US6477435B1 (en) * | 1999-09-24 | 2002-11-05 | Rockwell Software Inc. | Automated programming system for industrial control using area-model |
US6449624B1 (en) * | 1999-10-18 | 2002-09-10 | Fisher-Rosemount Systems, Inc. | Version control and audit trail in a process control system |
JP2001195256A (ja) * | 1999-10-29 | 2001-07-19 | Mitsubishi Heavy Ind Ltd | オブジェクトの生成支援方法および装置 |
JP2001344106A (ja) | 2000-05-31 | 2001-12-14 | Nec Corp | オブジェクトの動的アクセス権制御システム |
GB2363866B (en) * | 2000-05-31 | 2002-11-06 | Intamission Ltd | Data processing apparatus, method and system |
GB2366969A (en) * | 2000-09-14 | 2002-03-20 | Phocis Ltd | Copyright protection for digital content distributed over a network |
JP2002091553A (ja) * | 2000-09-20 | 2002-03-29 | Toshiba Corp | プラント監視制御用ソフトウェア業務支援装置 |
US8671460B1 (en) * | 2000-09-25 | 2014-03-11 | Fisher-Rosemount Systems, Inc. | Operator lock-out in batch process control systems |
SE518491C2 (sv) | 2000-10-12 | 2002-10-15 | Abb Ab | Datorbaserat system och metod för behörighetskontroll av objekt |
GB2371378A (en) * | 2000-10-12 | 2002-07-24 | Abb Ab | Object oriented control system |
JP2002140685A (ja) | 2000-11-01 | 2002-05-17 | Fuji Photo Film Co Ltd | 画像管理システム及び画像管理方法 |
JP2002366202A (ja) | 2001-06-07 | 2002-12-20 | Yamatake Sangyo Systems Co Ltd | セキュリティシステム |
EP1410557A4 (de) * | 2001-06-22 | 2009-11-18 | Wonderware Corp | Sicherheitsarchitektur für eine prozesssteuerplattform, die anwendungen ausführt |
US7650607B2 (en) * | 2001-06-22 | 2010-01-19 | Invensys Systems, Inc. | Supervisory process control and manufacturing information system application having a layered architecture |
US7707550B2 (en) * | 2001-06-22 | 2010-04-27 | Invensys Systems, Inc. | Supervisory process control and manufacturing information system application having an extensible component model |
GB0115690D0 (en) | 2001-06-27 | 2001-08-22 | British Telecomm | Software system |
US7191196B2 (en) * | 2001-06-28 | 2007-03-13 | International Business Machines Corporation | Method and system for maintaining forward and backward compatibility in flattened object streams |
GB2377045A (en) | 2001-06-28 | 2002-12-31 | Sony Service Ct | Configuration manager |
JP2003022123A (ja) | 2001-07-06 | 2003-01-24 | Toshiba Corp | 発電プラント監視診断システム及び発電プラント監視診断方法 |
US7366738B2 (en) * | 2001-08-01 | 2008-04-29 | Oracle International Corporation | Method and system for object cache synchronization |
US20030081007A1 (en) | 2001-10-31 | 2003-05-01 | James Cyr | Object oriented explorer type environment |
FR2833374A1 (fr) | 2001-12-12 | 2003-06-13 | Cp8 | Procede et dispositif de controle d'acces dans un systeme embarque |
JP2003280977A (ja) * | 2002-03-27 | 2003-10-03 | Seiko Epson Corp | オブジェクト指向データベースによる情報管理 |
JP2003295943A (ja) | 2002-03-29 | 2003-10-17 | Yamatake Corp | 施設管理システム |
JP2004015141A (ja) * | 2002-06-04 | 2004-01-15 | Fuji Xerox Co Ltd | データ伝送システムおよびその方法 |
DE10239062A1 (de) * | 2002-08-26 | 2004-04-01 | Siemens Ag | Verfahren zum Übertragen von verschlüsselten Nutzdatenobjekten |
US7526347B2 (en) | 2003-02-18 | 2009-04-28 | Fisher-Rosemount Systems, Inc. | Security for objects in a process plant configuration system |
US7043311B2 (en) * | 2003-02-18 | 2006-05-09 | Fisher-Rosemount Systems, Inc. | Module class objects in a process plant configuration system |
US7117052B2 (en) * | 2003-02-18 | 2006-10-03 | Fisher-Rosemount Systems, Inc. | Version control for objects in a process plant configuration system |
US7515717B2 (en) | 2003-07-31 | 2009-04-07 | International Business Machines Corporation | Security containers for document components |
DE60321009D1 (de) | 2003-11-19 | 2008-06-26 | Sony Deutschland Gmbh | Kopiergeschützte digitale Daten |
US7515977B2 (en) | 2004-03-30 | 2009-04-07 | Fisher-Rosemount Systems, Inc. | Integrated configuration system for use in a process plant |
DE102004028177A1 (de) * | 2004-06-04 | 2005-12-29 | Siemens Ag | System zum Bedienen einer Anlage durch Editieren von grafischen Objekten |
-
2004
- 2004-05-25 US US10/853,668 patent/US7117052B2/en not_active Expired - Lifetime
- 2004-08-10 DE DE102004038808A patent/DE102004038808A1/de not_active Withdrawn
- 2004-08-13 GB GB0800694A patent/GB2443752B/en active Active
- 2004-08-13 GB GB0418079A patent/GB2414814B8/en active Active
- 2004-08-13 GB GB0800693A patent/GB2444857B/en active Active
- 2004-08-18 CN CN2004101023539A patent/CN1716137B/zh active Active
- 2004-08-18 JP JP2004237843A patent/JP4919588B2/ja active Active
-
2006
- 2006-02-13 HK HK06101856.5A patent/HK1079864A1/xx not_active IP Right Cessation
- 2006-09-06 US US11/516,275 patent/US7729792B2/en active Active
-
2008
- 2008-08-18 HK HK08109140.2A patent/HK1118104A1/xx not_active IP Right Cessation
-
2010
- 2010-05-13 US US12/779,667 patent/US8473087B2/en not_active Expired - Lifetime
-
2011
- 2011-05-16 JP JP2011109648A patent/JP5693371B2/ja active Active
- 2011-05-27 PH PH12011000190A patent/PH12011000190A1/en unknown
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102006062478A1 (de) * | 2006-12-28 | 2008-07-03 | Codewrights Gmbh | Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik |
DE102006062478B4 (de) | 2006-12-28 | 2021-09-02 | Codewrights Gmbh | Verfahren zum Betreiben eines objektbasierten Konfigurationssystems für Feldgeräte der Automatisierungstechnik |
WO2010060976A1 (de) * | 2008-11-27 | 2010-06-03 | Siemens Aktiengesellschaft | Verfahren zum erstellen einer leittechnischen einrichtung für eine industrieanlage |
WO2010060977A1 (de) * | 2008-11-27 | 2010-06-03 | Siemens Aktiengesellschaft | Verfahren zum erstellen einer leittechnischen einrichtung für eine industrieanlage |
EP2224299A3 (de) * | 2009-02-27 | 2012-04-25 | Siemens Aktiengesellschaft | Kopplung von ERP-Systemen mit Prozessleitsystemen zur automatisierten Übertragung von Anlagenstrukturen und Anlagendaten |
US8700189B2 (en) | 2009-02-27 | 2014-04-15 | Siemens Aktiengesellschaft | Coupling of ERP systems with process control systems for the automated transmission of plant structures and plant data |
Also Published As
Publication number | Publication date |
---|---|
GB2443752B (en) | 2008-11-26 |
GB2414814B8 (en) | 2010-02-10 |
US20050027377A1 (en) | 2005-02-03 |
US20070061033A1 (en) | 2007-03-15 |
PH12011000190A1 (en) | 2015-09-07 |
US20100228373A1 (en) | 2010-09-09 |
HK1118104A1 (en) | 2009-01-30 |
US7117052B2 (en) | 2006-10-03 |
HK1079864A1 (en) | 2006-04-13 |
GB0800693D0 (en) | 2008-02-20 |
GB2444857A (en) | 2008-06-18 |
CN1716137A (zh) | 2006-01-04 |
JP5693371B2 (ja) | 2015-04-01 |
JP2005339494A (ja) | 2005-12-08 |
JP4919588B2 (ja) | 2012-04-18 |
GB0800694D0 (en) | 2008-02-20 |
GB2414814A (en) | 2005-12-07 |
US8473087B2 (en) | 2013-06-25 |
GB0418079D0 (en) | 2004-09-15 |
GB2414814B (en) | 2009-08-12 |
US7729792B2 (en) | 2010-06-01 |
JP2011204251A (ja) | 2011-10-13 |
GB2414814A8 (en) | 2010-02-10 |
GB2443752A (en) | 2008-05-14 |
CN1716137B (zh) | 2013-01-16 |
GB2444857B (en) | 2009-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102004038808A1 (de) | Versionskontrolle für Objekte in einem Konfigurationssystem für Prozessanlagen | |
DE102004038807A1 (de) | Sicherheit für Objekte in einem Konfigurationssystem für Prozessanlagen | |
DE102004007435A1 (de) | Modulklassenobjekte in einem Prozessanlagenkonfigurierungssystem | |
DE60119171T2 (de) | Verfahren und gerät zur erzeugung einer anwendung für ein automatisiertes steuerungssystem | |
DE102007046642A1 (de) | Verfahren und Modulklassenobjekte zur Konfiguration von fehlenden Einrichtungen in verfahrenstechnischen Anlagen | |
DE112013004924T9 (de) | Dynamisch wiederverwendbare Klassen | |
DE102015100024A1 (de) | Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen | |
DE112005001031B4 (de) | Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche | |
DE102007041917B4 (de) | Prozessanlagenüberwachung auf der Grundlage von multivariater statistischer Analyse und Online-Prozesssimulation | |
DE112004001716B4 (de) | Verfahren zur Freigabe von Softwareobjekten zur Verwendung in einem sicherheitsgerichteten System und Freigabesystem für Softwareobjekte zur Verwendung in einem Prozesssteuersystem mit einem Prozessor | |
DE10348564B4 (de) | Objekteinheit, Prozeßflußmodulsystem, Prozeßflußverfolgungssystem und Verbinderobjekteinheit zum Gebrauch in einer Prozeßanlage | |
DE102010038146A1 (de) | Verfahren zum Auswählen von Formen in einer Grafikanzeige | |
DE102004011162A1 (de) | Verknüpfungsautomatik von Prozess-Ereignisdaten zu einem Datenarchivsystem | |
DE102011001460A1 (de) | Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten | |
DE10011661A1 (de) | Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung | |
DE10049025A1 (de) | Process control configuration system for use with an AS-inferface device network | |
DE10102205A1 (de) | Programmierwerkzeug zum Konfigurieren und Verwalten eines Prozeßsteuerungsnetzes einschließlich der Nutzung von räumlichen Informationen | |
EP1634130B1 (de) | Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme | |
DE102018119321A1 (de) | Kontrollierter Rollout von Modulklassen | |
WO2021156483A1 (de) | Verfahren und system zum validieren eines steuerungsprogramms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R130 | Divisional application to |
Ref document number: 102004064278 Country of ref document: DE Effective date: 20140224 Ref document number: 102004064273 Country of ref document: DE Effective date: 20140224 Ref document number: 102004064278 Country of ref document: DE Effective date: 20140203 Ref document number: 102004064273 Country of ref document: DE Effective date: 20140203 |
|
R120 | Application withdrawn or ip right abandoned |