DE102010036914A1 - Systemkonfiguration unter Verwendung von Vorlagen - Google Patents

Systemkonfiguration unter Verwendung von Vorlagen Download PDF

Info

Publication number
DE102010036914A1
DE102010036914A1 DE102010036914A DE102010036914A DE102010036914A1 DE 102010036914 A1 DE102010036914 A1 DE 102010036914A1 DE 102010036914 A DE102010036914 A DE 102010036914A DE 102010036914 A DE102010036914 A DE 102010036914A DE 102010036914 A1 DE102010036914 A1 DE 102010036914A1
Authority
DE
Germany
Prior art keywords
module
components
template
optional
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102010036914A
Other languages
English (en)
Inventor
Terrence Lynn Round Rock Blevins
John Michael Leire Lutterworth Lucas
Mark J. Round Rock Nixon
Stephen Copps Austin Gilbert
Alper T. Austin Enver
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102010036914A1 publication Critical patent/DE102010036914A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Verfahren in einem Computersystem zur Entwicklung einer Prozesssteuerungsstrategie umfasst ein Bereitstellen einer Modulvorlage, die eine ersten Mehrzahl von Komponenten aufweist und einem Steuerungsvorgang zugeordnet wird, Empfangen einer Auswahl einer oder mehrerer der ersten Mehrzahl von Komponenten der Modulvorlage, Erzeugen einer Instanz eines Moduls auf der Basis der Modulvorlage, umfassend ein Instanziieren nur der einen oder mehreren ausgewählten der Mehrzahl von Komponenten und Zuordnen der erzeugten Instanz des Moduls zur Prozesssteuerungsstrategie.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft im Allgemeinen Prozesssteuersysteme und insbesondere die Bereitstellung einer effizienten Konfiguration solcher Systeme.
  • STAND DER TECHNIK
  • Prozesssteuersysteme wie beispielsweise verteilte oder skalierbare Prozesssteuersysteme, wie sie in Chemie-, Erdöl- und anderen Prozessen verwendet werden, umfassen normalerweise eine oder mehrere Prozesssteuerungen, die über analoge, digitale oder kombinierte Analog-Digital-Busse untereinander sowie mit wenigstens einer Host- oder Bediener-Workstation und mit einem oder mehreren Feldgeräten kommunikativ verbunden sind. Die Feldgeräte, bei denen es sich zum Beispiel um Ventile, Ventilpositionierer Schalter und Messwertgeber (z. B. Temperatur-, Druck- und Durchflusssensoren) handeln kann, führen innerhalb des Verfahrens Funktionen wie beispielsweise das Öffnen oder Schließen von Ventilen und Messen von Prozessparametern aus. Die Prozesssteuerung empfängt Signale, die von den Feldgeräten vorgenommene Prozessmessungen und/oder sonstige Informationen in Bezug auf die Feldgeräte anzeigen, verwendet diese Informationen zur Implementierung einer Steuerroutine und erzeugt anschließend Steuersignale, die über die Busse an die Feldgeräte gesendet werden, um den Prozessbetrieb zu steuern. Die Informationen von den Feldgeräten und der Steuerung werden normalerweise für eine oder mehrere Anwendungen verfügbar gemacht, die von der Bediener-Workstation ausgeführt werden, um es einem Bediener zu ermöglichen, beliebige gewünschte Funktionen in Bezug auf den Prozess auszuführen, wie beispielsweise Anzeigen des aktuellen Prozessstatus, Modifizieren des Prozessbetriebs usw.
  • Einige Prozesssteuersysteme wie beispielsweise das DeltaV®-System, das von der Fisher Rosemount Systems, Inc., mit Sitz in Austin, Texas, vertrieben wird, verwenden Funktionsblöcke oder als Module bezeichnete Gruppen von Funktionsblöcken, die in der Steuerung und/oder in Feldgeräten angeordnet sind, zur Durchführung von Steuerungsvorgängen. In diesen Fällen kann die Steuerung oder eine andere Vorrichtung ein(en) oder mehrere Funktionsblöcke oder Module umfassen und ausführen, die jeweils Eingaben von anderen Funktionsblöcken (innerhalb derselben Vorrichtung oder innerhalb verschiedener Vorrichtungen) empfangen und/oder Ausgaben dafür bereitstellen und bestimmte Prozessvorgänge durchführen, wie beispielsweise das Messen oder Erkennen eines Prozessparameters, Steuern einer Vorrichtung oder Durchführen eines Steuerungsvorgangs, wie beispielsweise die Implementierung einer Proportional-Integral-Derivative(PID)-Steuerroutine. Die verschiedenen Funktionsblöcke und Module innerhalb eines Prozesssteuersystems sind im Allgemeinen so konfiguriert, dass sie (z. B. über einen Bus) miteinander kommunizieren, um einen oder mehrere Prozessregelkreise zu bilden.
  • In einigen Fällen können Funktionsblöcke dem von FoundationTM Fieldbus verbreiteten Standard entsprechen oder diesem ähnlich sein. Der Begriff „Funktionsblock”, wie hierin verwendet, ist jedoch nicht darauf beschränkt, was die DeltaV- oder die Fieldbus-Protokolle als Funktionsblock festlegen, sondern umfasst stattdessen jeglichen anderen, beliebigen Steuersystem- und/oder Kommunikationsprotokolltypen zugeordneten Block-, Programm-, Hardware-, Firmwaretyp usw., der zur Implementierung von Steuerfunktionen verwendet werden kann. Außerdem kann sich der Begriff „Funktionsblock, wie hierin verwendet, im Allgemeinen auf einen Funktionsblock, der eine oder mehrere Steuerfunktionen enthält, einen Betriebsmittelblock, der einen oder mehrere Prozessparameter enthält, einen Transducer-Block, der einer Schnittstelle zu einem Sensor (z. B. Temperatursensor, Drucksensor usw.), einem Durchflussmesser, einem Ventil-Stellantrieb usw. entspricht, oder jeden anderen Blocktyp beziehen. Ferner kann sich Funktionsblock auf Basisfunktionsblöcke, wie beispielsweise diskrete Eingänge (DI), diskrete Ausgänge (DO), Analogeingänge (AO), Analogausgänge (AO), PID-Steuerungen, PD-Steuerungen, PI-Steuerungen, P-Steuerungen, Steuerungswähler, Vorspannungs-/Verstärkungsstationen usw., sowie auf erweiterte Funktionsblöcke wie beispielsweise Sollwert-Rampengeneratoren, Timer, analoge Alarme, diskrete Alarme, Totzeit usw. beziehen. Darüber hinaus kann ein Funktionsblock, wie hierin verwendet, ein geschachtelter Block sein, der zum Beispiel mehrere Fieldbus-Funktionsblöcke oder sogar einen oder mehrere ineinander geschachtelte Blöcke enthält. Es ist außerdem zu erwähnen, dass Funktionsblöcke, obwohl sie normalerweise die Form von Objekten innerhalb einer objektorientierten Programmierumgebung annehmen, im Allgemeinen unter Verwendung einer beliebigen gewünschten Datenstruktur in jeder geeigneten Softwareumgebung definiert werden können.
  • Demnach werden Prozesssteuerungen normalerweise so programmiert, dass sie verschiedene Algorithmen, Subroutinen oder Regelkreise (die alle Steuerroutinen sind) für jeden einer Anzahl von verschiedenen Regelkreisen ausführen, die für einen Prozess definiert oder darin enthalten sind, wie beispielsweise Durchflussregelkreise, Temperaturregelkreise, Druckregelkreise usw. Wie bereits erwähnt, umfasst jeder derartige Regelkreis einen oder mehrere Eingangsblöcke, wie beispielsweise einen Analogeingangs(AI)-Funktionsblock, einen Einzel-Ausgangssteuerblock, wie beispielsweise einen Proportional-Integral-Derivative-(PID)- oder einen Fuzzy-Logik-Steuerfunktionsblock, und einen Ausgangsblock, wie beispielsweise einen Analogausgangs(AO)-Funktionsblock.
  • Steuerroutinen und die Funktionsblöcke, die diese Routinen implementieren, werden gemäß einer Anzahl von Steuerungsverfahren konfiguriert, die PID-Steuerungs-, Fuzzy-Logik-Steuerungs- und modellbasierte Verfahren wie beispielsweise eine Smith-Predictor- oder eine modellprädiktive Steuerung (MPC) umfassen. Bei modellorientierten Steuerungsverfahren basieren die in den Routinen zur Bestimmung der Reaktion der Regelung mit Rückführung verwendeten Parameter auf Änderungen der beeinflussten oder gemessenen Störungen, die als Prozesseingaben dienen. Eine Darstellung dieser Prozessreaktion auf Änderungen von Prozesseingaben kann als Prozessmodell beschrieben werden. Zum Beispiel kann ein parametriertes Prozessmodell erster Ordnung Werte für die Verstärkung, Totzeit und Zeitkonstante des Prozesses spezifizieren.
  • Bei einer typischen Anlage kann ein Ingenieur die Prozesssteuerungsstrategie unter Verwendung eines Konfigurationssystems definieren und konfigurieren, das auf einer Bediener-Workstation läuft. Einige Konfigurationssysteme können eine Bibliothek zum Speichern von Steuerelementen, wie beispielsweise Funktionsblöcken oder Modulen (die normalerweise aus einer Anzahl von Funktionsblöcken bestehen) umfassen, derart dass der Ingenieur eine Instanz eines ausgewählten Steuerelements gemäß einer bestimmten Anwendung auswählen und erzeugen kann. Das Konfigurationssystem kann dem Ingenieur zum Beispiel durch Herunterladen des Steuerelements auf eine Steuerung oder ein programmierbares Feldgerät auch die Vornahme von Modifikationen erlauben, um die erzeugte Instanz des ausgewählten Steuerelements vor dem Anwenden der Instanz auf die Prozesssteuerungsumgebung zu ändern.
  • Zum Beispiel speichert eine Vorlagenbibliothek in einem DeltaV-System verschiedene Modulvorlagen, welche die Basismess- und -steuerfunktionalität betreffen. Vorlagen in DeltaV können autonom oder klassenbasiert (d. h. mit aus der Klassenvorlage instanziierten Instanzen verknüpft und zum Übertragen von Änderungen der Klassenvorlage auf die Instanzen fähig) sein. Ein Ingenieur verwendet häufig eine oder mehrere Modulvorlagen als Ausgangspunkt beim Definieren und Konfigurieren des entsprechenden Prozesssteuerungsschemas. Da typische Modifikationen an den Modulvorlagen jedoch einen erheblichen technischen Aufwand mit sich bringen und bestimmte Check-in- und Check-out- sowie Dokumentationsvorgänge erfordern, kann das Arbeiten mit der Vorlagenbibliothek zeitraubend sein.
  • Um die Aufgabe des Konfigurierens eines Prozesssteuersystems zu vereinfachen, entwickelte EmersonTM Process Management eine Sammlung umfassender wiederverwendbarer Modulvorlagen und Modulklassen, die als Projekt Builder Library (PBL) bekannt ist. Im Allgemeinen behandeln die Modulvorlagen in der PBL-Bibliothek die größte in Erwägung gezogene Auswahl an Konfigurationsoptionen und -szenarien, die auf ein bestimmtes Modul anwendbar sind. Die zur PBL-Bibliothek beitragenden Ingenieure bauen auf internationalen Standards wie beispielsweise ISA 588.0, IEC 61508, IEC 61131-3 usw. auf und lassen Erfahrung und bewährte Methoden aus vielen Stunden der Anwendungs- und Projektentwicklung einfließen. Mithilfe der PBL-Bibliothek kann ein Ingenieur eine Modulvorlage auswählen, Werte von Modulparametern modifizieren, um die gewünschten Merkmale zu aktivieren und zu konfigurieren, und die für die jeweilige Anwendung unnötigen Merkmale zu deaktivieren. Zum Beispiel kann eine bestimmte Vorlage acht mögliche Eingänge in einen bestimmten Funktionsblock ermöglichen und demnach acht Eingangsblöcke umfassen, die diesen acht Eingängen entsprechen. Ein Benutzer, der nur einen dieser Eingänge benötigt, könnte sieben der acht Eingänge deaktivieren, indem er den entsprechenden Parameter den Wert FALSE (Falsch) zuweist. Eine typische PBL-Vorlage enthält demnach mehr Merkmale als ein für einen ähnlichen Zweck definiertes Modul der DeltaV-Bibliothek. Zum Beispiel kann eine PBL-Vorlage für kontinuierliche Steuerung alle Merkmale der entsprechenden DeltaV-Vorlage sowie zusätzliche Merkmale in Bezug auf Gerätezuteilung, Unterstützung für Vier-Spur-Eingänge mit Aktivierungs-/Deaktivierungsfähigkeit und First-out-Erkennung, bedingte Alarmierung mit Aktivierungs-/Deaktivierungsfähigkeit und Bedienerzugriff, Steuerungen zum Einstellen des Status von RCAS_IN- und ROUT_IN-Kanälen, Betriebssperre, um auf Wunsch zu verhindern, dass Bediener auf das Modul zugreifen, einen Fehlerparameter usw. enthalten. Kurz gesagt, enthält eine PBL-Modulvorlage wahrscheinlich die gesamte Funktionalität eines Moduls, die ein Ingenieur möglicherweise für ein bestimmtes Projekt benötigt, und, um das Modul zu verwenden, muss der Ingenieur normalerweise nur einige oder alle Werte von Modulparametern ändern.
  • Obwohl die PBL-Bibliothek den Vorgang des Konfigurierens der Prozesssteuerung erheblich vereinfachen kann, benötigen PBL-Modulvorlagen unglücklicherweise eine verhältnismäßig große Steuerungsspeicherkapazität. Da Ingenieure Modulvorlagen durch Modifizieren von Modulparametern individuell anpassen, erbt jede Instanz alle Funktionsblöcke von der Vatermodulvorlage zusammen mit den zugeordneten Parameter ungeachtet dessen, ob ein bestimmter Funktionsblock in der Instanz wirksam ist. Außerdem bieten PBL-Vorlagen dem Benutzer nicht immer das Erlebnis des „What you see is what you can have” (Was du siehst, ist das, was du haben kannst), da jede Modulinstanz die gesamte Funktionalität der entsprechenden PBL-Modulvorlage beibehält und die Ingenieure viele Parameter überprüfen müssen, um zu bestimmen, welche Funktionsblöcke und Parameter tatsächlich in Verwendung sind.
  • KURZDARSTELLUNG
  • Eine Modulvorlage zur Verwendung in einer Prozesssteuerungskonfiguration enthält eine oder mehrere auswählbare Komponenten wie beispielsweise Logik- oder Funktionsblöcke und Prozessparameter. Beim Entwerfen eines Prozesssteuerungsschemas kann ein Bediener eine Modulvorlage für eine bestimmte Anwendung auswählen, die gewünschten Komponenten innerhalb der Modulvorlage auswählen und eine Modulinstanz erstellen, die nur die ausgewählten Komponenten enthält. Der Bediener kann auf diese Weise sowohl die Struktur der Modulinstanz als auch die Parameter entsprechend den Komponenten der Modulinstanz individuell anpassen. In einigen Ausführungsformen enthält die Modulvorlage zusätzlich eine oder mehrere nicht optionale Komponenten, und jede Modulinstanz, die unter Verwendung der Modulvorlage erstellt wurde, enthält demgemäß ungeachtet der optionalen Konfiguration der Modulinstanz und der vom Benutzer ausgewählten optionalen Komponenten jede der nicht optionalen Komponenten. Optional enthält eine Modulinstanz auch eine Vatervorlagenkennung, um eine Modulvorlage, aus der die Modulinstanz erstellt wurde, d. h. die „Vater”-Vorlage, zu identifizieren. Als eine andere Option kann die Modulinstanz ein Datenfeld enthalten, um zu spezifizieren, welche der in der Vatermodulvorlage verfügbaren Optionen bei der Instanziierung der Modulinstanz ausgewählt wurden. In einigen Ausführungsformen kann ein Bediener die Modulinstanz nach dem Instanziieren der Modulinstanz modifizieren. Wenigstens in einigen dieser Ausführungsformen kann der Bediener einige der vorher ausgewählten optionalen Komponenten deselektieren und/oder die vorher deselektierten optionalen Komponenten auswählen.
  • In einem weiteren Aspekt umfasst eine Softwareumgebung zum Konfigurieren eines Prozesssteuersystems eine Benutzeroberfläche zum Definieren einer Modulvorlage, Identifizieren einer oder mehrerer Komponenten der Modulvorlage und Zuweisen eines auswählbaren Attributs zu der identifizierten einen oder den identifizierten mehreren Komponenten, um anzuzeigen, dass die identifizierten Komponenten beim Erzeugen einer Modulinstanz auf der Basis der Modulvorlage ausgewählt oder weggelassen werden können. In einigen Ausführungsformen ermöglicht die Benutzeroberfläche es einem Benutzer, eine Gruppe von Komponenten auszuwählen und der ausgewählten Gruppe ein gemeinsames auswählbares Attribut zuzuweisen. Die Benutzeroberfläche kann auch ein Blocktypauswahlmerkmal unterstützen, um ein derartiges Zuordnen einer Komponente wie beispielsweise eines Funktionsblocks zu einer Liste mehrerer spezifizierter Typen zu ermöglichen, dass derselbe Benutzer oder ein anderer Bediener zu einem späteren Zeitpunkt den gewünschten Typ aus der Liste auswählen und die Komponente dem ausgewählten Typ in einer bestimmten Instanz zuordnen könnten. In einigen Ausführungsformen ermöglicht die Benutzeroberfläche es einem Benutzer, eine Komponente oder eine Gruppe von Komponenten in einer Modulvorlage auszuwählen und der ausgewählten Komponente oder Gruppe von Komponenten ein Namenskürzel zuzuweisen. Es ist vorgesehen, dass der Benutzer einen Namen wählt, der die Funktion beschreibt, welche die eine oder die mehreren Komponenten in einer auf der Modulvorlage basierten Instanz ausführen. Sobald ein Namenskürzel zugewiesen ist, zeigt die Benutzeroberfläche in einigen Ausführungsformen das Namenskürzel neben oder über der einen oder den mehreren Komponenten an, denen das Namenskürzel zugewiesen wurde. Wenn ein Benutzer einer Gruppe von Komponenten ein Namenskürzel zuweist, kann die Benutzeroberfläche außerdem einen die Gruppe einschließenden Rahmen, ein Lasso oder eine andere visuelle Anzeige darstellen, die darauf hinweist, dass das Namenskürzel einer Gruppe von Komponenten entspricht.
  • Die Softwareumgebung kann die Modulvorlage in einer Vorlagenbibliothek wie beispielsweise einer Datenbank speichern und die eine oder die mehreren gespeicherten Modulvorlagen einem Benutzer beim Entwurf oder der Konfiguration einer Prozessteuerung über dieselbe oder eine andere Benutzeroberfläche zur Verfügung stellen. In einigen Ausführungsformen stellt die Benutzeroberfläche eine Kennung für jede optionale Komponente bereit, d. h. eine Komponente, die ausgewählt oder deselektiert werden kann.
  • Beim Wählen einer für eine bestimmte Anwendung geeigneten Modulvorlage kann der Benutzer die gewünschten Optionen auswählen und eine Steuerung auf der Benutzeroberfläche aktivieren, um eine Instanz eines Moduls zu erzeugen, das der ausgewählten Modulvorlage und den ausgewählten Optionen entspricht. Ein Benutzer kann mehrere Instanzen unter Verwendung derselben Modulvorlage erzeugen, wobei einige der Instanzen verschiedene ausgewählte Optionen aufweisen.
  • In einigen Ausführungsformen schützt die Softwareumgebung zum Konfigurieren eines Prozesssteuersystems eine mit einer Vatermodulvorlage verknüpfte Modulinstanz gegen fehlerhafte Bearbeitung, indem sie Benutzern nur die Modifikation jener Komponenten in der Instanz gestattet, die in der Vatermodulvorlage bei der Erstellung der Instanz ausgewählt wurden. Falls gewünscht, kann die Benutzeroberfläche der Softwareumgebung es dem Benutzer ermöglichen, den Schutz aufheben, die Verknüpfung zur Vatermodulvorlage zu trennen und die Instanz wie gewünscht zu modifizieren. Zusätzlich oder alternativ kann die Benutzeroberfläche Instanzen, die mit Modulvorlagen mit auswählbaren Optionen verknüpft sind, schützen, indem sie dem Benutzer wenigstens bis zur Aufhebung durch einen ausdrücklichen Benutzerbefehl nur die Modifikation von Parameterwerten, aber nicht der Struktur der Instanz gestattet.
  • In einigen Ausführungsformen stellt eine Systementwicklungsschnittstelle der Softwareumgebung zum Konfigurieren eines Prozesssteuersystems eine Schnittstellenfunktion zum Auswählen einer Modulvorlage und zum Anfordern der Identifizierung aller unter Verwendung der Modulvorlage erstellten Modulinstanzen in einem ausgewählten Prozessbereich bereit. Optional kann die Systementwicklungsschnittstelle sowohl die identifizierten Modulinstanzen als auch die diesen Instanzen zugeordneten Konfigurationsoptionen anzeigen. Die Systementwicklungsschnittstelle kann eine weitere Funktion zur effizienten gemeinsamen Bearbeitung der identifizierten Instanzen bereitstellen (z. B. Auswählen oder Deselektieren einer Option der Vatermodulvorlage, Bearbeiten eines gemeinsamen Parameters, der durch die Vatermodulvorlage spezifiziert ist, usw.)
  • AUSFÜHRLICHE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines Prozesssteuersystems, das eine Steuerung, mehrere Feldgeräte und eine Workstation umfasst, die verwendet werden kann, um die Steuerung und die Feldgeräte unter Verwendung von Modulvorlagen mit optionalen Komponenten zu konfigurieren.
  • 2 ist ein Blockdiagramm, das ein Beispiel einer bekannten hierarchischen Struktur von Steuerelementen veranschaulicht, die beim Konfigurieren von Prozesssteuersystemen wie dem in 1 dargestellten verwendet werden.
  • 3 stellt Komponenten eines bekannten Moduls, das zum Erstellen und Pflegen eines Steuerungsschemas einer verfahrenstechnischen Anlage verwendet wird, schematisch dar.
  • 4 ist ein Blockdiagramm, das den Prozess des Erzeugens mehrerer Modulinstanzen auf der Basis einer Modulvorlage mit einer oder mehreren optionalen Komponenten veranschaulicht.
  • 5 ist ein beispielhafter Bildschirm einer Benutzeroberfläche, der eine Modulvorlage mit optionalen Komponenten anzeigt.
  • 6A und 6B veranschaulichen beispielhafte Dialogbildschirme zum Konfigurieren von Eigenschaften von Komponenten eines Moduls.
  • 7 veranschaulicht eine beispielhafte Benutzeroberfläche zum Auswählen einer Modulvorlage mit optionalen Komponenten und Erzeugen einer Instanz eines Moduls unter Verwendung der Modulvorlage.
  • 8 ist ein beispielhafter Schnittstellenbildschirm in der Art eines Spreadsheets zum Anzeigen und Auswählen von Komponenten eines oder mehrerer Module, die unter Verwendung einer vorgegebenen Modulvorlage erzeugt wurden.
  • 9 ist ein beispielhafter Schnittstellenbildschirm in der Art eines Spreadsheets zum Anzeigen und Bearbeiten von Parameter eines oder mehrerer Module, die unter Verwendung einer vorgegebenen Modulvorlage erzeugt wurden.
  • 10 ist ein beispielhafter Schnittstellenbildschirm in der Art eines Spreadsheets zum Bearbeiten von bitmasken- oder strukturbasierten Parameter eines oder mehrerer Module, die unter Verwendung einer vorgegebenen Modulvorlage erzeugt wurden.
  • 11 und 12 sind beispielhafte Bildschirme Benutzeroberfläche, die Modulinstanzen anzeigen, die unter Verwendung der Modulvorlage von 5 erzeugt wurden.
  • 13 veranschaulicht einen Bildschirm der Benutzeroberfläche, der mehrere Komponenten eines Moduls zusammen mit Namenskürzeln von Komponenten und Gruppen von Komponenten anzeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 veranschaulicht ein beispielhaftes Prozesssteuersystem 10, auf welches sich die Verfahren des Definierens, Bearbeitens und Verwendens von Modulvorlagen mit optionalen Komponenten anwenden lassen. Das Steuerungssystem 10 umfasst eine Prozesssteuerung 11, die mit einem Data-Historian 12 und mit einer/einem oder mehreren Host-Workstations oder -Computern 13 (bei welchen es sich um einen beliebigen Typ von Personalcomputern, Workstations usw. handeln kann) verbunden ist, die jeweils einen Anzeigebildschirm 14 aufweisen. Die Steuerung 11 ist über Eingangs-/Ausgangs(I/O)-Karten 26 und 28 auch mit Feldgeräten 15 bis 22 verbunden. Der Data-Historian 12 kann ein beliebiger gewünschte Typ von Datenerfassungseinheit mit einem beliebigen gewünschten Speichertyp und einer beliebigen gewünschten oder bekannten Software, Hardware oder Firmware zum Speichern von Daten sein. Der Data-Historian 12 kann (wie in 1 dargestellt) von den Workstations 13 getrennt oder Teil einer der Workstations 13 sein. Die Steuerung 11, bei der es sich beispielsweise um eine von der Fisher-Rosemount Systems, Inc. vertriebene DeltaV-Steuerung handeln kann, ist zum Beispiel über eine Ethernet-Verbindung oder ein beliebiges anderes gewünschtes Kommunikationsnetzwerk kommunikativ mit den Host-Computern 13 und dem Data-Historian 12 verbunden. Die Steuerung 11 ist außerdem unter Verwendung beliebiger gewünschter Hardware und Software, die zum Beispiel standardmäßigen 4–20-mA-Vorrichtungen und/oder einem beliebigen intelligenten Kommunikationsprotokoll, wie beispielsweise dem FOUNDATION Fieldbus-Protokoll, dem HART-Protokoll usw., zugeordnet ist, kommunikativ mit den Feldgeräten 15 bis 22 verbunden.
  • Die Feldgeräte 15 bis 22 können Vorrichtungen beliebigen Typs sein, wie beispielsweise Sensoren, Transmitter, Positionierer usw., während die I/O-Karten 26 und 28 I/O-Vorrichtungen beliebigen Typs sein können, die einem beliebigen gewünschten Kommunikations- oder Steuerungsprotokoll entsprechen. In der in 1 veranschaulichten Ausführungsform sind die Feldgeräte 15 bis 18 standardmäßige 4–20-mA-Vorrichtungen, die über analoge Leitungen mit der I/O-Karte kommunizieren, während die Feldgeräte 19 bis 22intelligente Vorrichtungen wie beispielsweise Fieldbus-Feldgeräte sind, die über einen digitalen Bus unter Verwendung von Fieldbus-Protokoll-basierten Kommunikationsvorgängen mit der I/O-Karte 28 kommunizieren. Natürlich könnten die Feldgeräte 15 bis 22 beliebigen anderen gewünschten Draht- oder Drahtlosstandard(s) oder -protokollen entsprechen, einschließlich beliebiger Standards oder Protokolle, die in Zukunft entwickelt werden.
  • Die Steuerung 11 umfasst einen Prozessor 23, der eine oder mehrere Prozesssteuerroutinen implementiert und überwacht, die Regelkreise umfassen können, und mit den Geräten 15 bis 22, den Host-Computern 13 und dem Data-Historian 12 kommuniziert, um einen Prozess auf eine beliebige gewünschte Weise zu steuern. Die Steuerroutinen können in einem Steuerungsspeicher 24 gespeichert oder der Steuerung 11 anderweitig (z. B. unter den intelligenten Feldgeräten 19 bis 22 verteilt) zugeordnet sein. Es ist zu erwähnen, dass im Allgemeinen alle hierin beschriebenen Steuerroutinen oder -module Abschnitte enthalten können, die durch verschiedene Steuerungen oder andere Vorrichtungen implementiert oder ausgeführt werden können, falls gewünscht. Außerdem können die hierin beschriebenen Steuerroutinen oder -module, die im Prozessteuersystem 10 implementiert werden sollen, jede beliebige Form annehmen, einschließlich Software, Firmware, Hardware usw. Zum Zwecke dieser Offenbarung kann ein Prozesssteuermodul ein beliebiger Teil oder Abschnitt eines Prozesssteuersystems sein, der zum Beispiel eine Routine, einen Block oder jegliches Element davon umfasst, das auf einem beliebigen computerlesbaren Medium gespeichert ist. Steuerroutinen, die Module oder beliebige Teile einer Steuerungsprozedur sein können, wie beispielsweise eine Subroutine, Teile einer Subroutine (wie beispielsweise Codezeilen) usw., können in jedem beliebigen gewünschten Softwareformat implementiert sein, wie beispielsweise unter Verwendung von objektorientierter Programmierung, unter Verwendung von Kontaktplan, Ablaufsprachen, Funktionsblockdiagrammen oder unter Verwendung von beliebigen anderen Software-Programmiersprachen oder Designparadigmen. Gleichermaßen können die Steuerroutinen zum Beispiel in einem oder mehreren EPROMs, EEPROMs, anwendungsspezifischen integrierten Schaltungen (ASIC) oder beliebigen anderen Hardware- oder Firmware-Elementen fest codiert sein. Demnach kann die Steuerung 11 so konfiguriert sein, dass sie eine Steuerungsstrategie oder Steuerroutine auf eine beliebige gewünschte Weise implementiert.
  • In einigen Ausführungsformen implementiert die Steuerung 11 eine Steuerungsstrategie unter Verwendung von Funktionsblöcken, obwohl sich die Verfahren zum Definieren, Bearbeiten und Verwenden von Modulvorlagen mit optionalen Parametern im Allgemeinen auf andere Steuerungsmethoden oder -regeln (z. B. Kontaktplan, Ablaufsprachen usw.) anwenden lassen können. Im Prozesssteuersystem 10 kann ein Funktionsblock jedem beliebigen Schema entsprechen, in welchem eine oder mehrere einer Steuerlogik, Betriebsmittellogik, Kommunikationslogik, Transducer-Logik usw. in einem Logikblock enthalten sind. Zur Vereinfachung der Erklärung werden die Begriffe „Logikblock” und „Funktionsbock” hierin austauschbar verwendet. Jeder Funktionsblock ist ein Objekt oder ein anderer Teil (z. B. eine Subroutine) der Gesamtsteuerungsstrategie ist und arbeitet mit anderen Funktionsblöcken über Kommunikationsverbindungen zusammen, um einen oder mehrere Prozessregelkreise innerhalb des Prozesssteuersystems 10 zu implementieren. Funktionsblöcke führen normalerweise eine von einer Eingangsfunktion wie beispielsweise jener, die einem Transmitter, einem Sensor oder einer anderen Vorrichtung zum Messen von Prozessparametern zugeordnet ist, einer Steuerfunktion wie beispielsweise jener, die einer Steuerroutine zugeordnet ist, die PID-, Fuzzy-Logik-Steuerung usw. durchführt, oder einer Ausgangsfunktion aus, die den Betrieb von bestimmten Vorrichtungen wie beispielsweise Ventilen steuert, um bestimmte physische Funktionen innerhalb des Prozesssteuersystems 10 auszuführen. Natürlich können auch hybride und andere Typen von Funktionsblöcken vorhanden sein. Funktionsblöcke können in der Steuerung 11 gespeichert und von dieser ausgeführt werden, wie dies normalerweise der Fall ist, wenn diese Funktionsblöcke für standardmäßige 4–20-mA-Vorrichtungen und einige Typen von intelligenten Feldgeräten, wie beispielsweise HART-Vorrichtungen, verwendet werden oder diesen zugeordnet sind, oder sie können in den Feldgeräten selbst gespeichert und von diesen implementiert werden, wie dies bei Fieldbus-Vorrichtungen der Fall ist.
  • Wie durch die auseinandergezogene Ansicht von Block 30 in 1 veranschaulicht, kann die Steuerung 11 eine Anzahl von einschleifigen Steuerroutinen umfassen, die als Routine 32 und 34 dargestellt sind, und sie kann, falls gewünscht, eine oder mehrere erweiterte Regelkreise implementieren, die als Regelkreis 36 veranschaulicht sind. Jeder derartige Regelkreis wird normalerweise als Steuermodul oder einfach Modul bezeichnet. Die einschleifigen Steuerroutinen 32 und 34 sind so dargestellt, dass sie eine Einzelschleifenregelung unter Verwendung eines Fuzzy-Logik-Steuerblocks mit Einzeleingang und Einzelausgang und eines PID-Steuerblocks mit Einzeleingang und Einzelausgang ausführen, die jeweils an entsprechende Analogeingangs(AI)- bzw. Analogausgangs(AO)-Funktionsblöcke angeschlossen sind, die Prozesssteuerungsvorrichtungen wie beispielsweise Ventilen, Messvorrichtungen wie beispielsweise Temperatur- und Druckgebern oder beliebigen anderen Vorrichtungen im Prozesssteuersystem 10 zugeordnet sein können. Der erweiterte Regelkreis 36 ist so dargestellt, dass er einen erweiterten Steuerblock 38 mit Eingängen, die mit einem oder mehreren AI-Funktionsblöcken kommunikativ verbunden sind, und Ausgängen umfasst, die mit einem oder mehreren AO-Funktionsblöcken verbunden sind, obwohl die Eingänge und Ausgänge des erweiterten Steuerblocks 38 mit beliebigen anderen gewünschten Funktionsblöcken oder Steuerelementen verbunden sein können, um andere Typen von Eingaben zu empfangen und andere Typen von Steuerungsausgaben bereitzustellen. Der erweiterte Steuerblock 38 kann ein beliebiger Typ eines modellprädiktiven Steuer(MPC)-Blocks, eines Modellier- oder Steuerblocks für neuronale Netzwerke, eines Fuzzy-Logik-Steuerblocks mit mehreren Variablen, eines Echtzeit-Optimierungsblocks usw. sein. Es versteht sich von selbst, dass die in 1 dargestellten Funktionsblöcke, einschließlich des erweiterten Steuerblocks 38, von der Steuerung 11 ausgeführt werden können oder alternativ in beliebigen anderen Verarbeitungsvorrichtungen, wie beispielsweise in einer der Workstations 13 oder auch einem der Feldgeräte 19 bis 22, angeordnet sein und von diesen ausgeführt werden können.
  • Um die Steuerungsstrategie des Prozesssteuersystems 10 ohne übermäßigen Verbrauch von Speicherkapazität und Verarbeitungsressourcen schnell und effizient zu definieren, kann ein autorisierter Benutzer (z. B. ein Konfigurationsingenieur, ein Bediener usw.) Modulvorlagen mit einer oder mehreren optionalen Komponenten und null oder mehreren obligatorischen Komponenten definieren und verwenden. Insbesondere kann der Benutzer eine Modulvorlage entwickeln, indem er durch Funktionsblöcke auswählt oder definiert, die ausgewählten Funktionsblöcke miteinander verbindet, um eine Steuerroutine eines Moduls zu definieren, Prozessparameter des Moduls definiert, den Parametern Standardwerte zuweist usw. Wie im Folgenden unter Bezugnahme auf 4 bis 11C ausführlich erörtert wird, kann der Benutzer einigen oder allen Komponenten ein auswählbares Attribut zuweisen, um anzuzeigen, dass diese Komponenten in einer bestimmten Modulinstanz (oder nur „Instanz”), die auf der Modulvorlage basiert, optional ist. Der Benutzer kann auf ähnliche Weise optionale Parameter oder andere Modulattribute identifizieren, falls gewünscht, und die Modulvorlage zur Verwendung beim Konfigurieren des Prozesssteuersystems 10 in einem Repository, wie beispielsweise einer Datenbank, speichern. Die folgenden Beispiele veranschaulichen die anschließende Verwendung von Modulvorlagen mit optionalen Komponenten eingehender, die ein selektives Aktivierens von Komponenten, die in der Modulvorlage über auswählbare Attribute verfügbar sind, wenn eine Instanz für eine bestimmte Anwendung erzeugt wird, Herunterladen einer Instanz, die nur die obligatorischen und ausgewählten Komponenten aufweist, auf eine Steuerung und/oder ein intelligentes Feldgerät, Bearbeiten der Instanz gemäß der Modulvorlage und der ausgewählten optionalen Komponenten, Bearbeiten mehrerer Instanzen, die von einer gemeinsamen Modulvorlage abgeleitet sind, usw. umfasst. Es ist zu erwähnen, dass, obwohl die Verfahren in Bezug auf die Bearbeitung von optionalen Komponenten in erster Linie unter Bezugnahme auf Modulvorlagen erörtert werden, ähnliche Verfahren auch auf Modulklassen angewendet werden können. In der folgenden Erörterung werden die Begriffe „Modulvorlage” und „Modulklasse” daher austauschbar verwendet.
  • In dem in 1 veranschaulichten Beispiel umfassen die Workstations 13 (entweder individuell, auf verteilte Weise oder eine beliebige andere Art) ein Paket von Bedienerschnittstellenanwendungen 50, die Operationen in Bezug auf Modulvorlagen mit optionalen Komponenten unterstützen. Ein autorisierter Benutzer kann das Paket von Bedienerschnittstellenanwendungen 50 auch verwenden, um auf verschiedene Funktionen von Vorrichtungen, Einheiten und anderen Elementen, die innerhalb des Prozesssteuersystems 10 angeschlossen sind, zuzugreifen und diese zu bearbeiten und zu überwachen. Das Paket von Bedienerschnittstellenanwendungen 50 kann sich in einem Speicher 52 der Workstation 13 befinden, und jede der Anwendungen oder Entitäten innerhalb des Pakets von Anwendungen 50 kann so ausgelegt sein, dass es auf jeweiligen Prozessoren 54, die jeder Workstation 13 zugeordnet sind, ausgeführt wird. Obwohl das gesamte Pakt von Anwendungen 50 so dargestellt ist, dass es in der Workstation 13 gespeichert ist, können einige dieser Anwendungen oder andere Entitäten in anderen Workstations oder Rechengeräten gespeichert und ausgeführt werden, die innerhalb des Systems 10 oder diesem zugeordnet sind oder damit in Verbindung stehen. Außerdem kann das Paket von Anwendungen 50 Anzeigeausgaben für den der Workstation 13 zugeordneten Anzeigebildschirm 14 oder beliebige andere gewünschte Anzeigebildschirme oder Anzeigevorrichtungen, einschließlich tragbarer Vorrichtungen, Laptops, anderer Workstations, Drucker usw., bereitstellen. Gleichermaßen können die Anwendungen innerhalb des Pakets von Anwendungen 50 auf zwei oder mehr Computern oder Maschinen aufgeteilt und darauf ausgeführt werden, und sie können so konfiguriert sein, dass sie in Verbindung miteinander arbeiten.
  • Zur Unterstützung der hierin erörterten Verfahren kann das Paket von Anwendungen 50 eine Vorlagenentwicklungsanwendung oder -schnittstelle zum Erstellen und Modifizieren von Modulvorlagen mit optionalen Komponenten und eine Systemkonfigurationsanwendung oder -schnittstelle zum Anwenden (d. h. Instanziieren) von Modulvorlagen auf einen bestimmten Prozessbereich umfassen. Falls gewünscht, kann eine einzige Anwendung oder ein einziger Anwendungsrahmen sowohl die Modulvorlagenentwicklung als auch die Modulvorlagenanwendung unterstützen. Als ein Beispiel kann das Paket von Anwendungen 50 der von Emerson Process Management entwickelten digitalen PlantWeb®-Architektur entsprechen und konkret eine oder mehrere DeltaV-Anwendungen (z. B. Control Studio, Plant Explorer, Operate, usw.) umfassen. Die Unterstützung für die Entwicklung und Anwendung von Modulvorlagen mit optionalen Komponenten kann dann der Control Studio-Anwendung hinzugefügt werden, während Modulvorlagen mit optionalen Parametern zusammen mit den herkömmlicheren Vorlagen und Funktionen in der DeltaV-Bibliothek gespeichert werden können. Um mit diesem Beispiel fortzufahren, kann Plant Explorer weitere Unterstützung für Operationen in Bezug auf Modulvorlagen bereitstellen, indem Benutzer befähigt werden, die Modulvorlagenbibliothek zu durchsuchen und die gewünschten Modulvorlagen auszuwählen, unter Verwendung von Modulvorlagen erzeugte Modulinstanzen anzuzeigen, zu bestimmen, welche der enthaltenen Komponenten optional sind, und andere Operationen an der Instanz durchzuführen. Es ist zu erkennen, dass die Funktionalität in Bezug auf Modulvorlagen einer oder mehreren Softwareanwendungen auf beliebige Weise zugeordnet werden kann.
  • Zur besseren Darstellung der Struktur und der Funktionsweise von Modulvorlagen in einer Prozesssteuerungsumgebung veranschaulicht 2 eine allgemein anerkannte hierarchische Struktur von Steuerelementen, die beim Konfigurieren des Prozesssteuersystems 10 verwendet werden können, einschließlich einer Modulebene. 3 stellt dann üblicherweise verwendete Komponenten eines Moduls schematisch dar, das im Allgemeinen der Modulebene der in 2 dargestellten hierarchischen Struktur zugeordnet ist. Als Nächstes veranschaulichen 4 bis 10 die Verfahren des Entwickelns und Anwendens von Modulvorlagen mit optionalen Komponenten unter Bezugnahme auf verschiedene Beispiele von Benutzeroberflächen des Pakets von Bedienerschnittstellenanwendungen 50. Konkret stellt 4 im Allgemeinen das Verfahren des Erzeugens einer Instanz eines Moduls auf der Basis einer Modulvorlage mit optionalen Komponenten dar; 5 bis 6B stellen einen beispielhaften Bildschirm der Benutzeroberfläche zur Entwicklung einer Modulvorlage mit optionalen Komponenten dar; und 7A bis 10C veranschaulichen mehrere Beispiele von unter Verwendung dieser Modulvorlage erzeugten Instanzen, wie auf einer entsprechenden Benutzeroberfläche dargestellt.
  • Bezug nehmend auf 2 stellt ein hierarchisches Modell 100 eine technische Vorgehensweise zur Entwicklung einer Prozesssteuerungsstrategie von oben nach unten dar. Ausgehend von einer Anlage 102 auf der höchsten Ebene einer baumähnlichen Struktur umfasst das Modell 100 mehrere Ebenen, auf welchen ein Benutzer Steuerelemente anzeigen oder konfigurieren kann. Die Anlage 102 kann zum Beispiel ein Chemiewerk, eine Ölraffinerie, eine automatische Fabrik oder eine beliebige andere Umgebung mit einem gesteuerten und (wenigstens teilweise) automatischen Prozess sein. Wie in 2 dargestellt, kann die Anlage 102 einen oder mehrere Anlagenbereiche 104 umfassen, welche ihrerseits Module 106 umfassen können, um eine grundlegende oder erweiterte Steuerungsaufgabe durchzuführen, wie unter Bezugnahme auf 2 ausführlicher erörtert wird. Ein Funktionsblockdiagramm 108 kann die Steuerlogik des entsprechenden Moduls 106 als einen (in einem trivialen Fall) oder mehrere (in einem nicht trivialen Fall) miteinander verbundene Funktionsblöcke 110 definieren. In diesem Sinne definiert das Funktionsblockdiagramm 108 die Struktur des Moduls 106. Die Funktionsblöcke 110 wiederum entsprechen Parameter 112. In diesem Beispiel ist ein Proportional-Integral-Derivative(PID)-Funktionsblock für eine Steuerungsfunktion verantwortlich, die von Abstimmparametern wie beispielsweise Verstärkung, einem bestimmten Sollwert (z. B. Zieldruck), einem Eingangssignal usw. abhängt. Im Paket von Anwendungen 50 kann jedes der Elemente 102 bis 112 durch eine Datenstruktur, ein Softwareobjekt oder eine beliebige andere Datenaggregation dargestellt sein. Wenigstens einige der Elemente entsprechen auch physischen Elementen im Prozesssteuersystem 100, Teilen von physischen Elementen oder umgekehrt Gruppierungen von physischen Elementen Zum Beispiel kann ein PID-Schleifenmodul 106 einem Ventil, einem Positionierer und einem Sensor entsprechen, während der Verstärkungsabstimmungsparameter 112 einem Wert, der in einem Steuerungsspeicher gespeichert ist, einem Signal, das über eine analoge Signalisierungsleitung weitergeleitet wird, usw. entsprechen kann.
  • Als Nächstes veranschaulicht 3 die Komponenten des Moduls 106, die unter Bezugnahme auf 3 beschrieben werden. Um mit physischen Entitäten unter Verwendung von drahtgebundener oder drahtloser Signalisierung zu interagieren, umfasst das Modul 106I/O-Komponenten 120. Vom Standpunkt des Pakets von Anwendungen 50 können die I/O-Komponenten 120 protokollspezifische Treiber sein, die einem bestimmten Softwareobjekt zugeordnet sind. Andererseits zeigt das Modul 106 Benutzern grafische Informationen über Anzeigen 122 an, die zum Beispiel ein grafisches Symbol, einen Dynamo mit Animationsfähigkeiten usw. umfassen können. Das Modul 106 kann auch eine Verlaufserfassungskomponente 124, um Ereignisdaten zu erfassen und zu verwalten, eine Alarmkomponente 126, eine Bedingungskomponente 128 und eine Algorithmuskomponente 130 umfassen, um den Betrieb der Komponenten des Moduls 106 zum Beispiel als Funktionsblockdiagramm 108 (siehe 2) zu verwalten. Wie in 3 dargestellt, können Parameter 132 verschiedenen Komponenten 120 bis 130 zugeordnet sein.
  • Bezug nehmend auf 4 kann eine Konfigurationsumgebung oder ein Konfigurationssystem 150, das zum Beispiel durch das Paket von Anwendungen 50 (siehe 1) unterstützt wird, wenigstens einige der unter Bezugnahme auf 2 und 3 erörterten allgemeinen Methoden verwenden. Insbesondere kann eine Modulvorlagenbibliothek 152 eine Anzahl von Modulvorlagen zur Verwendung in verschiedenen Anwendungen und Szenarien enthalten, die zum Beispiel eine Modulvorlage 154 für eine PID mit Verstärkungsplanungssteuerung, eine Modulvorlage 156 für PID mit Totzeitkompensations-Regelkreis und eine Modulvorlage 158 für einen standardmäßigen PID-Regelkreis umfassen, wie in einer auseinander gezogenen Ansicht dargestellt. Im Allgemeinen behandelt jede Modulvorlage 154, 156 und 158 eine breite Auswahl von Funktionsanforderungen. Benutzer, die zur Modulvorlagenbibliothek 152 beitragen, können Konfigurationsingenieure sein, die zum Beispiel Daten in Bezug auf zahlreiche Projekte analysieren und möglicherweise versuchen, jedes mögliche Szenarium in eine einzige Modulvorlage einzubeziehen. Andere Beitragende können Benutzer sein, die Vorlagen in Vorbereitung für eine häufige anschließende Duplizierung einer bestimmten identischen oder ähnlichen Funktionalität in einem bestimmten Projekt entwickeln, und es können dieselben Benutzer sein, die später unter Verwendung dieser Modulvorlagen Instanzen erstellen. In jedem Fall enthalten die Modulvorlagen 154, 156 und 158 normalerweise wenigstens einige Komponenten (z. B. Funktionsblöcke, Gruppe von Funktionsblöcken, Parameter usw.), die ein Benutzer im Kontext einer bestimmten Anwendung überflüssig findet.
  • Um diese und andere Überlegungen (z. B. Sparen von Steuerungsspeicher, Bewahren der Verarbeitungsleistung, Reduzieren der Komplexität der Darstellung eines Moduls für einen Benutzer usw.) zu behandeln, ermöglicht die Konfigurationsumgebung es Benutzern zum Beispiel, Instanzen mit verschiedenen Funktionsblöcken von derselben Modulvorlage 158 abzuleiten. Obwohl die Instanzen 160 und 162 auf der Modulvorlage 158 basieren, unterscheidet sich die Instanz 160 folglich strukturell von der Instanz 162. Selbstverständlich können die Instanzen 160 und 162 auch verschiedene Parameter enthalten.
  • Beim Entwerfen und Bearbeiten der Modulvorlage 158 kann ein Benutzer, wie beispielsweise ein Konfigurationsingenieur, Funktionsblöcken 170, 172 und 174 ein obligatorisches Attribut zuweisen, um anzuzeigen, dass wenigstens die Funktionsblöcke 170, 172 und 174 in jeder auf der Modulvorlage 158 basierten Instanz anwesend sein müssen. Alternativ kann die Konfigurationsumgebung 150 das obligatorische Attribut jedem Funktionsblock in einer Modulvorlage standardmäßig zuordnen, und der Benutzer kann das Standardattribut gegebenenfalls außer Kraft setzen, falls gewünscht. Außerdem kann der Ingenieur Funktionsblöcken 176 bis 179 ein optionales Attribut zuweisen, um anzuzeigen, dass ein Benutzer später wählen kann, ob er diese Funktionsblöcke in eine bestimmte Instanz aufnimmt. Falls gewünscht, kann der Ingenieur die Funktionsblöcke 178 und 179 zu einer Gruppe zusammenschließen und den Funktionsblöcken 178 und 179 ein gemeinsames optionales Attribut zuweisen. Darüber hinaus kann der Ingenieur einem Funktionsblock 182 ein ersetzbares Attribut zuweisen, um die Ersetzung des Funktionsblocks 182 durch verschiedene Blöcke zu ermöglichen. Wenigstens in einigen Fällen spezifiziert der Ingenieur eine zulässige Gruppe von Funktionsblöcken, aus welchen der Funktionsblock 182 ausgewählt werden kann. In dem in 4 veranschaulichten Beispiel spezifiziert die Modulvorlage 158 drei Funktionsblöcke, die als der Funktionsblock 182 verwendet werden könnten. Bei Fertigstellung des Entwurfs der Modulvorlage 158 kann der Ingenieur die Modulvorlage 158 in der Bibliothek 152 speichern, die sich im Speicher der Workstation 13 (siehe 1), in einer separaten Datenbank, in einem Online-Repository usw. befindet.
  • Eine Vorlagenerzeugungsmaschine 184, die in der Konfigurationsumgebung läuft, kann die Definition einer neuen Modulvorlage, Modifikationen an einer bestehenden Modulvorlage und andere mit der Konfiguration und Verwaltung von Vorlagen in Verbindungen stehende Funktionen unterstützen. Die Vorlagenerzeugungsmaschine 184 kann mit einer Benutzeroberfläche zusammenarbeiten, die es Benutzern ermöglicht, eine oder mehrere Komponenten (z. B. Funktionsböcke 176 bis 179) auszuwählen, einzelnen Komponenten oder Gruppen von Komponenten obligatorische oder optionale Attribute zuzuweisen und andere Funktionen durchzuführen, die im Folgenden ausführlicher erörtert werden. Außerdem kann eine Modulinstanziierungsmaschine 186 als Reaktion auf Benutzerbefehle Modulinstanzen 160 und 162 erzeugen. Insbesondere kann die Modulinstanziierungsmaschine 186 Speicherplatz für die obligatorische Komponente und die ausgewählten optionalen Komponenten zuordnen, auf einer Steuerung und/oder einem Feldgerät ausführbare Anweisungen erzeugen usw. Zusätzlich kann die Modulinstanziierungsmaschine 186 die Erfassung von Altdaten (z. B. Ereignisdaten) für die ausgewählten optionalen Komponenten in den erzeugten Modulinstanzen 160 und 162 ermöglichen.
  • Vor dem Erzeugen oder zum Zeitpunkt des Erzeugens der Instanzen 160 und 162 (der Instanziierungsprozess ist durch die Pfeile 190 und 192 dargestellt) kann die Konfigurationsumgebung dem Benutzer während jeweiliger Optionsauswahlstufen 194 und 196 anzeigen, dass die „Vater”-Modulvorlage 158 optionale Komponenten enthält. Die Konfigurationsumgebung 150 kann ein grafisches Dialogfenster, ein textbasiertes Dialogfenster, ein Spreadsheet oder beliebige andere Formen von Benutzeroberflächen anzeigen, um zu verlangen, dass der Benutzer spezifiziert, welche der optionalen Komponenten 176 bis 179 in die Instanz 160 oder 162 aufgenommen werden sollte und welcher der drei möglichen Funktionsblöcke dem Funktionsblock 182 zugeordnet werden sollte. Optional kann die Konfigurationsumgebung 150 auch anzeigen, dass die Funktionsblöcke 170, 172, und 174 obligatorisch sind. In diesem Beispiel wählt der Benutzer beim Erstellen der Instanz 160 alle in der Modulvorlage 158 verfügbaren Funktionsblöcke aus und wählt, die Funktionsblöcke 177, 178 und 179 aus der Instanz 162 wegzulassen. Ferner spezifiziert der Benutzer, dass der Funktionsblock 182 in der Instanz 160 vom Typ 1 und in der Instanz vom Typ 2 ist. Der Benutzer erzeugt demnach zwei strukturell verschiedene Instanzen 160 und 162 auf der Basis der gemeinsam benutzten Modulvorlage 158.
  • In grafischen Darstellungen der Instanzen 160 und 162 kann die Konfigurationsumgebung 150 das ursprüngliche strukturelle Layout der Vatermodulvorlage 158 bewahren und Leerstellen anzeigen, an welchen die deselektierten Komponenten in der Modulvorlage 158 angeordnet sind. Auf diese Weise stellt die Konfigurationsumgebung 150 einen bestimmten Grad des Bedienungskomforts für den Benutzer bereit, da die Instanzen 160 und 162 leicht als Ableitungen der Modulvorlage 158 identifiziert werden können. Sollte außerdem der Benutzer zu einem späteren Zeitpunkt entscheiden, einige der ursprünglich abgelehnten optionalen Komponenten zu reaktivieren, zeigt die Konfigurationsumgebung 150 diese reaktivierten Komponenten in den vorbelegten Positionen an. Um ein konkretes Beispiel zu nehmen, kann der Benutzer beschließen, die Instanz 162 zu bearbeiten und den optionalen Funktionsblock 177 zu einem späteren Zeitpunkt auszuwählen. Die Konfigurationsumgebung 150 zeigt den Funktionsblock 177 in der durch die Modulvorlage 158 spezifizierten Position an.
  • Weiterhin Bezug nehmend auf 4 kann jede der Instanzen 160 und 162 eine Vatervorlagenkennung 200 enthalten, welche diese Instanzen logisch mit der Modulvorlage 158 verknüpft. Wie im Folgenden ausführlicher erörtert wird, kann die Vatervorlagenkennung 200 für verschiedene Zwecke verwendet werden, welche die Identifizierung aller auf der Modulvorlage 158 basierten Instanzen innerhalb eines bestimmten Prozessbereichs, die gleichzeitige Bearbeitung der Instanzen 160 und 162 unter Verwendung eines gemeinsamen Dialogs usw. umfassen. Ferner kann jede der Instanzen 160 und 162 auch ein entsprechendes Ausgewählte-Optionen-Feld 202 enthalten, um anzuzeigen, welche der in der Modulvorlage 158 verfügbaren Optionen in der jeweiligen Instanz aktiviert wurden. In einigen Ausführungsformen kann das Ausgewählte-Optionen-Feld 202 eine Bitmaske sein, wobei jedes Bit einer optionalen Komponente entspricht und ein im Bit gespeicherter Wert die Anwesenheit oder Abwesenheit der Komponente in der Instanz anzeigt. Jede der Vatervorlagenkennung 200 und des Ausgewählte-Optionen-Feldes 202 kann als Teil von Objektdaten der Instanzen 160 oder 162 gespeichert werden oder separat gespeichert und mit den Instanzen 160 und 162 logisch verknüpft werden.
  • In einigen Ausführungsformen kann die Konfigurationsumgebung 150 die Vatervorlagenkennung 200 als ein Form von Schutz verwenden, um Benutzer auf die Bearbeitung nur jener Komponenten und Parameter einzuschränken, die durch die Modulvorlage spezifiziert sind. Nötigenfalls kann der Benutzer den Schutz unter Verwendung eines vordefinierten Befehls oder Vorgangs aufheben. Die Konfigurationsumgebung 150 kann es Benutzern auch ermöglichen, Verknüpfungen zwischen Instanzen und Modulvorlagen zu trennen. Zum Beispiel kann der Benutzer wünschen, strukturelle Änderungen an der Instanz 162 außerhalb des Rahmens vorzunehmen, der durch die Vatermodulvorlage 158 vorgeschrieben ist. Die Konfigurationsumgebung 150 kann automatisch einen Dialog erzeugen, um den Benutzer zu informieren, dass durch die Vornahme dieser Änderungen die Verbindung mit der Vatervorlage verloren geht. Bei Empfang einer Bestätigung vom Benutzer kann die Konfigurationsumgebung 150 die Felder 200 und 204 löschen oder modifizieren, um die Instanz 162 von der Modulvorlage 158 zu trennen. Bei nachfolgenden Operationen behandelt die Konfigurationsumgebung 150 die Instanz als „von Grund auf” gebildet, d. h. aus Basisfunktionsblöcken, die in einer herkömmlichen Bibliothek verfügbar sind.
  • Nunmehr unter Bezugnahme auf 5 kann die Konfigurationsumgebung 150, die durch einige oder alle des Pakets von Anwendungen 50 (siehe 1) unterstützt wird, einen beispielhaften Schnittstellenbildschirm oder ein beispielhaftes Schnittstellenfenster 220 zum Konfigurieren von Modulvorlagen, wie beispielsweise die zuvor erörterten Modulvorlagen 154, 156 und 158, umfassen. Der Schnittstellenbildschirm 220 kann eine Symbolleiste 222 mit textlichen Pull-down-Menüs 224 und einem piktografischen Menü 226, ein Schablonenfenster 228, das Schablonenelemente 240 anzeigt, und ein Diagrammfenster 242 enthalten. Falls gewünscht, kann die Symbolleiste 222 eine Schnittstelle in der Art einer Funktionsleiste sein, die zum Beispiel der von der Microsoft Corporation entwickelten ähnelt. Das Schablonenfenster 228 kann eine beliebige Anzahl von vordefinierten Steuerelementen oder -blöcken wie beispielsweise Funktionsblöcken oder Betriebsmittelblöcken enthalten. In einigen Ausführungsformen kann das Schablonenfenster 228 auch eine thematische Anordnung von Blöcken (z. B. allen Blöcke in Bezug auf Rückkopplungsregelung) oder andere Gruppierungsformen bereitstellen. Ferner kann jedes Schablonenelement ein Symbol (z. B. ein allgemein verwendetes technisches Symbol, ein erläuterndes Bild usw.) zur schnellen visuellen Identifizierung der damit verbundenen Funktion umfassen. Beim Entwerfen einer Modulvorlage unter Verwendung des Schnittstellenbildschirms 220 kann ein Benutzer ein Schablonenelement aus dem Schablonenfenster 228 auswählen, das ausgewählte Schablonenelement zu einer gewünschten Stelle innerhalb des Diagrammfensters 242 ziehen und das ausgewählte Schablonenelement an der gewünschten Stelle ablegen. Das Paket von Anwendungen 50 kann demnach eine intuitive Konfigurationsumgebung bereitstellen, wobei Benutzer eine einfache Drag-and-Drop-Schnittstelle verwenden können, um schnell Modulvorlagen zu bilden. Es ist jedoch zu erwähnen, dass die Konfigurationsumgebung 150 auch über einen anderen Benutzerschnittstellentyp wie beispielsweise Textbefehle, um ein Beispiel zu nennen, mit Benutzern interagieren kann.
  • Im Allgemeinen kann die Konfigurationsumgebung 150 in Bezug auf die Benutzeroberfläche einige oder alle eines Haupt-/Bearbeitungsbereichs zur textlichen oder grafischen Konfiguration von Modulen, Steuerroutinen und anderen Teile der Steuerungsstrategie des Prozesssteuersystems 10; eines Explorerbereichs zum Durchsuchen verschiedener Bibliotheken-Steuerelementen und Prozessbereiche; eines Palettenbereichs zum Darstellen von Symbolen zur raschen Auswahl und Anordnung im Hauptbereich durch Ziehen und Ablegen, zum Beispiel mit einer optionalen Unterteilung in Funktionsgruppen; eines Alarmbereichs zur Anzeige von Kennungen, Prioritäten und Beschreibungen verschiedener Alarme; eines Parameterbereichs zum Auflisten von Namen, Standardwerten, aktuellen Werten usw. verschiedener Betriebsparameter; eines Referenzbereichs zum Auflisten von Adressen physischer Module; eines Schiebereglers, damit ein Benutzer leicht die gewünschte Größe von Grafiken auswählen kann, die im Hauptbereich dargestellt werden; eines Beobachtungsbereichs; eines Formelbereichs; einer Statusleiste zur Anzeige des aktuellen Status der Konfigurationsumgebung 150 (z. B. „Bearbeiten”) usw. umfassen. Kurz gesagt, können Informationen in Bezug auf das Prozesssteuersystem 10 im Allgemeinen und auf Module und Modulvorlagen im Besonderen auf beliebige gewünschte Weise dargestellt werden.
  • Im Diagrammfenster 242 veranschaulicht 5 ein konkretes Beispiel einer Modulklasse oder -vorlage, die unter Verwendung der hierin behandelten Verfahren entwickelt wurde. Insbesondere unterstützt die Modulklasse PID_STD einen standardmäßigen PID-Algorithmus zum Steuern einer Prozessvariablen auf der Basis eines Sollwerts und eines Fehlersignals. Ein Konfigurationsingenieur kann die Steuermodulvorlage PID_STD so auslegen, dass sie den Großteil der oder, falls möglich, die gesamte Leistungsfähigkeit enthält, die für die komplexeste in Erwägung gezogene PID-Steuerung erforderlich ist. In dieser Hinsicht ähnelt die Modulvorlage PID_STD der in der PBL-Bibliothek verfügbaren Vorlage PID_LT. Es ist jedoch zu erwähnen, dass 5 der Klarheit und der Kürze halber bestimmte Blöcke und Parameter einer PID_LT-Vorlage nicht darstellt.
  • Ein Diagramm 250 veranschaulicht ein mögliches Layout der Komponenten der Modulvorlage PID_STD. Beim Entwurf dieser und anderer Modulvorlagen kann der Benutzer auf ein Symbol 252 im piktografischen Menü zeigen und klicken, um ein Bereichswähler-Tool zu aktivieren, einen Rahmen (oder eine andere Form) 254 um einen Verriegelungsbedingungs-Funktionsblock 256 und einen Boole-Eingangslastfaktor(BFI)-Funktionsblock 258 herum ziehen, um einen Bereich 260 zu definieren, mit der rechten Maustaste klicken, um ein Menü „Eigenschaften” zu öffnen, und das optionale Attribut den Verriegelungsbedingungs-Funktionsblöcken 256 und 258 zuweisen. Falls gewünscht, kann das optionale Attribut für die Verriegelungsbedingungs-Funktionsblöcke 256 und 258 im Ganzen gelten. Alternativ kann das Schnittstellenfenster 220 ein Symbol im piktografischen Menü 226 zum Aktivieren einer Funktion enthalten, welche diese Schritte des Auswählens eines oder mehrerer Funktionsblöcke und Zuweisens des optionalen Attributs zur Auswahl kombiniert. Selbstverständlich kann das Schnittstellenfenster 220 oder ein anderes Schnittstellenelement der Konfigurationsumgebung 150 beliebige gewünschte Typen von Auswahl- und Eigenschaftszuweisungs-Tools, wie beispielsweise Textmarker-Tools, textbasierte Befehlsdialoge, Programmierungsskriptunterstützung usw. enthalten.
  • Weiterhin Bezug nehmend auf 5 kann der Benutzer in ähnlicher Weise einen Rahmen 270 um einen Verriegelungsbedingungs-Funktionsblock 272 ziehen, um einen Bereich 274 zu definieren. In einigen Ausführungsformen kann die Konfigurationsumgebung 150 es einem Benutzer ermöglichen, das optionale Attribut direkt einem ausgewählten Funktionsblock zuzuordnen, wenn zum Beispiel der Benutzer nicht wünscht, mit Aggregaten von Funktionsblöcken zu arbeiten. Demgemäß könnte der Benutzer auf den Verriegelungsbedingungs-Funktionsblock 272 klicken, ein Optionsauswahlmenü öffnen und das optionale Attribut diesem zuweisen. Wie in 5 weiter veranschaulicht, kann der Benutzer auch getrennte Rahmen um die Verriegelungsbedingungs-Funktionsblöcke 276 und 278 sowie um mehrere Funktionsblöcke und Parameter in einem Bereich 280 zeichnen, die gemeinsam für die Gerätezuteilungslogik verantwortlich sind. Es ist zu erkennen, dass der Bereich 280 zusätzlich zu einem PID-Zuteilungsblock 282 auch mehrere Parameter wie beispielsweise ACQUIRE_ID (Eingangsparameter 284), OVR_ENAB (Eingangsparameter 286) und OWNER_ID (Ausgangsparameter 288) enthält. Demnach unterstützt die Konfigurationsumgebung 150 eine Auswahl von Funktionsblöcken, Parametern oder Kombinationen von Funktionsblöcken und Parametern.
  • Neben dem Zuweisen der optionalen Eigenschaft zu Funktionsblöcken oder Gruppen von Funktionsblöcken kann der Benutzer optional jedem der Bereiche 260, 274, 280 usw. auch einen Namen zuweisen. Zum Beispiel kann der Benutzer dem Bereich 260 den Namen TRACK 1 (Spur 1), dem Bereich 274 TRACK 2 (Spur 2) und dem Bereich 280 ARBITRATION (Zuteilung) zuweisen. Vorzugsweise spiegelt jeder Name die aggregierte Funktion wider, die dem ausgewählten Bereich im spezifischen Kontext der Modulvorlage zugeordnet ist. Genauer gesagt zeigt der Name TRACK 1 einem künftigen Benutzer der PID_STD-Vorlage an, dass der entsprechende Verriegelungsbedingungs-Funktionsblock 272 einen zweiten Eingang oder eine zweite „Spur” (track) in einer mehrspurigen PID-Schleife versorgen kann.
  • Um mit dem unter Bezugnahme auf 5 erörterten Beispiel fortzufahren, kann der Benutzer die Modulvorlage PID_STD in einer Vorlagenbibliothek des Prozessteuersystems 10 (zum Beispiel im Speicher 52 angeordnet), in einem Online-Repositiory oder in einem separaten Speichergerät speichern. Falls gewünscht, kann der Benutzer die Modulvorlage PID_STD einer Modulklasse zuordnen. In jedem Fall kann die Modulvorlage PID_STD in einem vordefinierten Format gespeichert werden, das vom Konfigurationssystem 150 erkannt wird, so dass derselbe oder ein anderer Benutzer Modul-Instanzen auf der Basis der Modulvorlage PID_STD erstellen kann.
  • 6A und 6B veranschaulichen beispielhafte Menüs und Dialoge, welche die Konfigurationsumgebung 150 anzeigen kann, um einige der zuvor erörterten Attributzuweisungsverfahren zu unterstützen. Konkret veranschaulicht 6A einen Funktionsblock 300 und ein Pull-down-Menü 302, das zum Beispiel als Reaktion auf ein Doppelklicken des Benutzers auf dem Funktionsblock 300 in einem Popup-Fenster geöffnet werden kann. Das Pull-down-Menü 302 kann einen Menüeintrag Eigenschaften enthalten, der bei Auswahl einen Benutzerdialog 304 zum Aktivieren oder Deaktivieren der optionalen Eigenschaft und Zuweisen eines Namenskürzels des Funktionsblocks 300 öffnen kann. In diesem Beispiel umfasst der Benutzerdialog 304 ein Optionsfeld mit den Optionen ENABLE (Aktivieren) und DISABLE (Deaktivieren) und ein Texteingabefeld 308, das der Benutzer optional ausfüllen kann. 6B stellt ein ähnliches Pull-down-Menü 312 und einen ähnlichen Benutzerdialog 314 dar. Die Konfigurationsumgebung 150 wendet das Pull-down-Menü 312 jedoch auf einen Bereich innerhalb eines Rahmens 316 an, der die Funktionsblöcke 31 und 320 umgibt. Anders ausgedrückt, gilt die über den Dialog 314 spezifizierte Option für eine Gruppierung von mehreren Funktionsblöcken.
  • In einem Beispiel, das in 7 veranschaulicht ist, stellt ein Schnittstellenfenster 350 des Konfigurationssystems 150 eine praktische und effiziente Drag-and-Drop-Schnittstelle zum Erstellen und individuellen Anpassen von mehreren Instanzen auf der Basis einer bestimmten klassenbasierten Modulvorlage PID_LOOP durch Auswählen der gewünschten Optionen bereit. Das Schnittstellenfenster 350 in dieser Ausführungsform enthält einen Modul-Explorerbereich 352, einen Detailanzeigebereich 354 und eine Symbolleiste 356. Der Modul-Explorerbereich 352 kann verschiedene Elemente des Prozessteuerungssystems 10 in Form eines hierarchischen Baumes 360 auflisten, der einen Blibliothekenzweig 362 umfasst, der wiederum einen Modulvorlagenzweig 364 enthält. Im Allgemeinen können die Elemente im Modulvorlagenbereich 352 in beliebiger gewünschter Weise aufgelistet und dargestellt werden. Weiter Bezug nehmend auf den hierarchischen Baum 360 kann ein Systemkonfigurationszweig 366 Elemente in Bezug auf eine bestimmte Steuerungsstrategie auflisten, die eine Gruppe von Elementen für einen bestimmten Prozessbereich „A” unter dem Zweig 368 enthält.
  • Um zum Beispiel eine oder mehrere Modulinstanzen aus einer Modulvorlage PID_LOOP für kontinuierliche Steuerung zu erstellen, kann der Benutzer die Modulklasse PID_LOOP zum gewünschten Prozessbereich oder zur gewünschten Prozessregion ziehen, wie beispielsweise dem Bereich, der dem Zweig 368 entspricht. Die Prozessregion kann ein Bereich, eine Einheit, eine Zelle oder eine beliebige andere Entität sein, für welche die Konfigurationsumgebung 150 eine Modulzuweisung ermöglicht. Die Konfigurationsumgebung 150 kann zu diesem Zeitpunkt automatisch eine Modulentwicklungsschnittstelle 380 zum Definieren und Benennen eines oder mehrerer Module, die aus der Modulvorlage PID_LOOP erstellt werden sollen, und zum Auswählen optionaler Komponenten für das eine oder die mehreren Module anzeigen. Alternativ kann der Benutzer die Modulentwicklungsschnittstelle 380 unter Verwendung eines dedizierten Menüeintrags oder eines bestimmten Befehls starten. Die Modulentwicklungsschnittstelle 38 kann eine Definitionsregisterkarte 382, eine Konfigurationsregisterkarte 384, ein Prozessbereichsauswahlmenü 386 (z. B. eine Pull-down-Liste) und ein Modulvorlagenauswahlmenü 388 umfassen. Der Benutzer kann den Definitions- und Konfigurationsprozess durch Klicken auf die OK-Taste 390 abschließen. In einigen Ausführungsformen ermöglicht eine ADD-Taste 392 es dem Benutzer, Modulinstanzen hinzuzufügen, die auf der ausgewählten Modulvorlage, d. h. der Vorlage PID_LOOP, basieren.
  • In einigen Ausführungsformen kann die Konfigurationsumgebung 150 die Modulentwicklungsschnittstelle 380 nur dann anzeigen, wenn die entsprechende Modulvorlage wenigstens eine optionale Komponente enthält. Anders ausgedrückt, ist beim Erzeugen einer Instanz das Anzeigen der Systementwicklungsschnittstelle unnötig, wenn eine bestimmte Modulvorlage nur obligatorische Komponenten enthält.
  • 7 stellt die Modulentwicklungsschnittstelle 380 dar, wobei die Definitionsregisterkarte 382 aktiviert und demgemäß ein Definitionsbereich 400 im Vordergrund ist. Im Allgemeinen kann der Definitionsbereich 400 ein beliebiges Layout haben und beliebige Typen von Steuerungen, Selektoren und/oder Dialogen umfassen. Das Beispiel in 7 veranschaulicht jedoch ein besonders praktisches Tabellen- oder Spreadsheet-Layout des Definitionsbereichs 400, in dem jedes einzelne Modul durch ein eindeutiges Identifizierungskennzeichen in einer Spalte 402 identifiziert ist, jede optionale Komponente der Modulvorlage PID_LOOP in einer separaten Spalte wie beispielsweise Spalte 404, 406 oder 408 identifiziert ist, und jede Zeile 422 bis 430 die für das entsprechende Modul ausgewählten Optionen spezifiziert. Mit anderen Worten identifiziert jede Zelle im Definitionsbereich 400 eine Option für ein bestimmtes Tupel Moduloptionale Komponente, wobei eine Leerstelle den Wegfall des Elements anzeigt. Demnach zeigt die Zeile 420 an, dass für eine Modulinstanz, die durch das Identifizierungskennzeichen 100FIC605 identifizierbar ist, ein standardmäßiger (STD) Typ oder eine standardmäßige (STD) „Variante” der optionalen Komponente, die in der Spalte 404 identifiziert ist (in diesem Beispiel ein Funktionsblock, welcher dem Vorwärtsregelungs-Eingangswertparameter zugeordnet ist) ausgewählt wurde, während die Zeile 422 anzeigt, dass eine Modulinstanz mit dem Identifizierungskennzeichen 100LIC310 diese Komponente gar nicht enthält. Um ein weiteres Beispiel zu betrachten, zeigt die Information im Definitionsbereich 400 an, dass jede der sechs aufgelisteten Instanzen die optionale Komponente LP_PID enthält, während aber die Instanzen in Zeile 422, 424 und 426 eine LP_PID-Komponente vom Typ STD enthalten, enthält die Instanz in Reihe 426 eine LP_PID-Komponente vom Typ FF, enthält die Instanz in Reihe 428 eine LP_PID-Komponente vom Typ STD mit erweitertem Alarm und enthält die Instanz in Reihe 430 eine LP_PID-Komponente vom Typ FF mit erweitertem Alarm.
  • Im Allgemeinen kann ein Benutzer auf jede Zelle im Definitionsbereich 400 klicken, um eine bestimmte Option auszuwählen oder zu deselektieren, einen Wert (z. B. Komponententyp) in der Zelle zu ändern usw. Der Benutzer kann auch einen Schieberegler 432 betätigen, um die gewünschte Spalte zu fokussieren. In diesem und ähnlichen Schnittstellenfenstern der Konfigurationsumgebung 150 kann die Modulidentifizierungskennzeichenspalte 52 in derselben Position bleiben, wenn der Schieberegler 432 betätigt wird. In einigen Ausführungsformen stellt jede Zelle automatisch eine Pull-down-Liste von Typen bereit, die für die jeweilige optionale Komponente verfügbar sind. Wie bereits erwähnt, können bestimmte optionale Komponenten in einer Instanz entweder anwesend oder abwesend sein, und die entsprechenden Zellen können dann eine Kontrollmarkierung oder einen anderen visuellen Indikator anzeigen, wenn der Benutzer wählt, die optionale Komponente in die Instanz aufzunehmen. Falls gewünscht, kann der Definitionsbereich 400 auch obligatorische Komponenten auflisten, um Benutzern zu helfen, alle Funktionsblöcke zu identifizieren, die der ausgewählten Vorlage zugeordnet sind. In diesem Fall werden die obligatorischen Komponenten vorzugsweise in einer grau unterlegten Form oder unter einer eigenen Registerkarte dargestellt, um Verwechslungen zu vermeiden.
  • Es ist außerdem zu erkennen, dass der Definitionsbereich 400 neben Funktionsblöcken auch Parameter und andere Komponenten der Modulvorlage auflisten kann (siehe 3). Außerdem kann der Definitionsbereich 400 optional Namenskürzel anzeigen, die Komponenten oder Gruppen von Komponenten zugewiesen sind, wie zuvor unter Bezugnahme auf 6A und 6B erörtert.
  • In Anbetracht des Vorhergesagten ist zu erkennen, dass die Konfigurationsumgebung 150 eine Auflistung (oder andere Form von Identifizierung) von optionalen Komponenten unter Verwendung von beliebigen gewünschten Layouts wie beispielsweise einer tabellarischen Form, die mehrere Instanzen und mehrere Komponenten enthält, einem hierarchischen Baum mit optionalen Komponenten, die unter instanzspezifischen Zweigen aufgelistet sind, einer eigenen Registerkarte für jede Instanz usw. bereitstellen kann. Außerdem kann die Konfigurationsumgebung 150 beliebige Typen von Selektoren für jede optionale Komponente bereitstellen, um es dem Benutzer zu ermöglichen, zu bestimmen, ob die optionale Komponente ausgeschlossen oder in die einzige durch die Modulvorlage spezifizierte Variante oder in eine oder mehrere durch die Modulvorlage spezifizierte Typen aufgenommen werden sollte. In einigen Ausführungsformen kann der Selektor einen mehrstufigen Dialog umfassen, um zuerst zu bestimmen, ob die optionale Komponente in die jeweilige Instanz aufgenommen werden. sollte, und anschließend, falls die Modulvorlage mehrere mögliche Typen von Varianten der optionalen Komponenten spezifiziert, zu bestimmen, welcher der möglichen Typen von Varianten verwendet werden sollte. Anders ausgedrückt, kann die Konfigurationsumgebung 150 einen Typselektor getrennt vom oder integriert in den Anwesenheitsselektor für eine optionale Komponente bereitstellen.
  • 8 veranschaulicht einen weiteren Betriebszustand der Modulentwicklungsschnittstelle 380. Konkret ordnet die Modulentwicklungsschnittstelle 380 den Konfigurationsbereich 450 im Vordergrund an, wenn ein Benutzer die Konfigurationsregisterkarte 384 aktiviert. Das Layout des Konfigurationsbereichs 450 kann ähnlich dem Layout des Definitionsbereichs 400 sein. Im Beispiel von 8 listet eine Spalte 452 Identifizierungskennzeichen von einzelnen Modulinstanzen auf, und die Spalten 454 bis 458 listen optionale Komponenten der Modulvorlage PID_LOOP auf. Der Benutzer kann auf eine beliebige gewünschte Zelle klicken und die Auswahl einer optionalen Komponente modifizieren. Außerdem kann der Benutzer auf eine Spalte 460 klicken, um eine Parameterkonfigurationsanzeige der Modulentwicklungsschnittstelle 380 zu aktivieren. Es ist zu erkennen, dass der Konfigurationsbereich 450 es einem Benutzer ermöglicht, mehrere Module unter Benutzung einer gemeinsamen Quellenvorlage rasch zu konfigurieren. Um außerdem die Geschwindigkeit und Effizienz der Konfiguration zu verbessern, stellt die Modulentwicklungsschnittstelle 380 durch Unterstützen eines gemeinsamen Konfigurationsbereichs 450 auch eine klare Anzeige von funktionellen Unterschieden zwischen Modulen bereit. Insbesondere kann der Benutzer durch Nachschlagen in der tabellarischen Auflistung von optionalen Komponenten, wie in 8 dargestellt, funktionelle Unterschiede zwischen den Instanzen mit den Identifizierungskennzeichen 100FIC101, 100DIC222 und 100TIC450 sofort identifizieren, ohne einen separaten Schnittstellenbildschirm für jedes Modul zu aktivieren. Ferner reduziert die Modulentwicklungsschnittstelle 380 die Wahrscheinlichkeit von Bedienerfehlern, wenn zum Beispiel der Benutzer denselben Typ von optionaler Komponente in der Spalte 458 in jeder Instanz auszuwählen wünscht. Darüber hinaus kann die Modulentwicklungsschnittstelle 380 in einigen Ausführungsformen eine Funktion zum Anwenden einer gemeinsamen Auswahloption (z. B. Typ FF) auf jede Zeile des Konfigurationsbereichs 450 für eine bestimmte optionale Komponente (z. B. AI1/LP_IN) bereitstellen.
  • Unter Bezugnahme auf 9 kann die Modulentwicklungsschnittstelle 380 auch den Parameterkonfigurationsbereich 470 in den Vordergrund stellen, der im Allgemeinen dem Parameterkonfigurationsbereich 450 ähnelt. Der Parameterkonfigurationsbereich 470 zeigt jedoch auch den Namen des entsprechenden Funktionsblocks auf einer Leiste 472 an, um die optionale Komponente zu identifizieren, für welche die Parameter gelten, und enthält ein Aufwärtsordnersymbol 474, das einen Schnellrücksprung auf eine vorherige Ebene der Konfigurationsanzeige ermöglicht. Wenigstens in einigen der Ausführungsformen kann der Benutzer numerische oder alphanumerische Parameter direkt in Zellen eintippen, die verschiedenen Modul/Parameter-Tupeln entsprechen. Der Parameterkonfigurationsbereich 470 kann durch Klicken auf die Modulparameterspalte 460 (siehe 8) aktiviert werden, wie zuvor angegeben. Alternativ kann der Benutzer direkt auf die grafische oder textliche Kennung des Moduls zum Beispiel im Modul-Explorerbereich 352 oder dem Detailanzeigebereich 354 (siehe 7) klicken.
  • In einigen Fällen kann ein Parameter wie beispielsweise der Parameter LP_IN in Spalte 478 als eine Struktur oder Bitkette definiert werden. 10 veranschaulicht noch einen weiteren Betriebszustand der Modulentwicklungsschnittstelle 380, wobei ein Benutzer LP_IN oder einen ähnlichen zusammengesetzten Parameter modifiziert. In dieser Ansicht zeigt die Leiste 472 den Namen des Parameters an, und der Konfigurationsbereich 470 ist dementsprechend aktualisiert, um Informationen anzuzeigen, die für den bitmasken- oder strukturbasierten Parameter relevant sind. In diesem Sirene stellt die Modulentwicklungsschnittstelle 380 eine wirksame Lösung bereit, um in Komponenten und Parameter „hineinzuzoomen”.
  • Um auf 7 zurückzukommen, kann der Benutzer nach der Eingabe der Optionen und Modulidentifizierungskennzeichen auf die OK-Taste 390 klicken. Als Reaktion erzeugt die Konfigurationsumgebung 150 sechs Modulinstanzen, die jeweils gemäß den Optionen konfiguriert sind, die in den jeweiligen Zeilen 420 bis 430 spezifiziert sind, und ordnet die erzeugten Instanzen im Zweig 368 an der Stelle an, an die der Benutzer die Modulvorlage PID_LOOP gezogen hat. In einigen Ausführungsformen kann die Modulentwicklungsschnittstelle 380 einen zusätzlichen Parameter für jede Instanz enthalten, um den Speicherstelle der Instanz zu spezifizieren. Falls gewünscht, kann die Konfigurationsumgebung 150 den Prozess des Anwendens der konfigurierten Instanzen auf die entsprechenden physischen Elemente, wie beispielsweise Steuerungen, automatisch einleiten, oder der Benutzer kann ein separate Steuerung aktivieren, um mit dem Downloadprozess zu beginnen. Es ist auch vorgesehen, dass Instanzen, die auf einer Modulvorlage mit optionalen Komponenten basieren, bestimmte Attribute (z. B. die Vatervorlagenkennung 200, das Ausgewählte-Optionen-Feld 202 bis 204 usw.) nicht zu speichern brauchen. Um Steuerungsspeicherkapazität zu bewahren, können diese Attribute im Speicher der Workstation 13, in einer lokalen oder in einer Online-Datenbank usw. gespeichert werden.
  • Alternativ kann die Konfigurationsumgebung 150 die Konfigurationsinformationen in Bezug auf die sechs zu instanziierenden Modulinstanzen an eine andere Komponente des Pakets von Anwendungen 50 übertragen. Zum Beispiel kann das Paket von Anwendungen 50 eine Modulinstanziierungsmaschine umfassen, die Workstation-Speicherplatz für Modulinstanzen zuordnet, mit einer Datenbank zum Aktualisieren von Instanzreferenzen und anderen Informationen kommuniziert und Modulinstanzen auf die Steuerung 11 und/oder die intelligenten Feldgeräte 19 bis 22 (siehe 1) direkt oder über eine Kommunikationskomponente des Pakets von Anwendungen 50 herunterlädt. Es ist zu erkennen, dass im Allgemeinen die Funktionalität in Bezug auf die Wiedergabe von Benutzerschnittstellen-Bildschirmen, die Belegung von Verarbeitungs- und Speicherressourcen und die Anwendung von Modulinstanzen auf Steuerungen und Feldgeräte auf beliebige gewünschte Weise unter den Workstations 13 und in einigen Fällen unter anderen Rechengeräten verteilt werden kann.
  • Es ist zu erkennen, dass die Modulentwicklungsschnittstelle 380 zu einem späteren Zeitpunkt aufgerufen werden kann, wie beispielsweise dann, wenn sich die Anforderungen des Prozesssteuersystems 10, um ein früher instanziiertes Modul zu bearbeiten. Außerdem kann ein Benutzer eine bestimmte Funktion aufrufen, um eine Modulvorlage auszuwählen und automatisch alle Modulinstanzen zu identifizieren, die aus der spezifizierten Modulvorlage instanziiert wurden. Auf diese Weise kann der Benutzer mehrere Modulinstanzen rasch lokalisieren und aktualisieren, selbst wenn diese Modulinstanzen infolge einer früheren Auswahl von verschiedenen Optionen in der entsprechenden Vatermodulvorlage nicht identisch sind. Zum Beispiel kann ein Bediener wählen, mehrere alte 4–20-mA-Feldgeräte, die eine bestimmte Funktion ausführen, durch Fieldbus-Vorrichtungen zu ersetzen, welche dieselbe oder eine ähnliche Funktion in einem bestimmten Prozessbereich ausführen. Um diese Änderungen in der Konfigurationsumgebung 150 entsprechend zu konfigurieren, kann der Bediener eine Funktion aufrufen, die alle Module in einem bestimmten Prozessbereich identifiziert, die von einer Modulvorlage abgeleitet wurden, die für die jeweilige Funktion entwickelt wurde (vorausgesetzt natürlich, dass die Instanzen ursprünglich unter Verwendung einer Modulvorlage mit optionalen Instanzen erstellt wurde). Unter Verwendung von Schnittstellenbildschirmen ähnlich den zuvor unter Bezugnahme auf 7 bis 10 erörterten kann der Benutzer eine oder mehrere geeignete optionale Komponenten in den mehreren Instanzen zum Beispiel durch Spezifizieren eines neuen Typs oder einer neuen Variante eines Funktionsblocks so ändern, dass sie der neuen Fieldbus-Konfiguration entsprechen. In diesem Sinne kann der Benutzer auf Module anwendbare Änderungen effizient verbreiten, ohne jedes Modul einzeln zu lokalisieren, einen geeigneten Dialog aufzurufen usw. In einigen Ausführungsformen kann das Konfigurationssystem 150 auch eine andere Benutzerschnittstelle als ein Spreadsheet zur gemeinsamen Bearbeitung von Instanzen bereitstellen.
  • In einem anderen Szenarium kann der Benutzer problemlos eine Komponente, die in einer Modulvorlage verfügbar ist, zu einer Instanz hinzufügen, die auf der Modulvorlage basiert, in welcher die Komponente ursprünglich nicht ausgewählt war. Die Konfigurationsumgebung 150 kann Schnittstellenbildschirme ähnlich der Modulentwicklungsschnittstelle 380 darstellen. Außerdem kann der Benutzer Hinzufügungen zu und Löschungen von mehreren Instanzen verbreiten, die eine gemeinsame Vatermodulvorlage teilen.
  • In einem anderen Aspekt können Modulvorlagen standardmäßige Anzeigeelemente oder Gruppen von Anzeigeelementen enthalten, die so ausgelegt sind, dass sie Auswahlen von optionalen Komponenten widerspiegeln. Demgemäß können Modulinstanzen nur jene Anzeigeelemente speichern oder nur auf jene Anzeigeelemente verweisen, die in der Instanz tatsächlich ausgewählt wurden. Wenn die Konfigurationsumgebung 150 eine grafische Darstellung einer Modulinstanz erzeugt, kann die grafische Darstellung die ausgewählten Optionen widerspiegeln, um die Klarheit und Einheitlichkeit der Darstellung zu verbessern. Im Gegensatz dazu erzeugen wenigstens einige der heute verfügbaren Konfigurationsumgebungen manchmal überhäufte und verwirrende Anzeigen von Modulen, die von Vorlagen abgeleitet sind, durch Abbilden von Komponenten, die durch auf FALSE (Falsch) oder null gesetzte Parameter deaktiviert wurden und in einer physischen Entsprechung des Moduls tatsächlich abwesend sind.
  • Um die Vorteile von flexiblen Grafiken, die Modulvorlagen der Konfigurationsumgebung 150 zugeordnet sind, besser zu veranschaulichen, stellen 11 und 12 zwei Beispiele von Modulinstanzen dar, die unter Verwendung der zuvor erörterten Vorlage PID_STD erzeugt wurden. Unter gleichzeitiger Bezugnahme auf 5 und 11 entspricht ein Moduldiagramm 500 auf einem Schnittstellenbildschirm 502 einer Instanz, die auf der Modulvorlage PID_STD basiert, wobei die Verriegelungsbedingungs-Funktionsblöcke 256, 258 und 272 ausgewählt wurden, während die Funktionsblöcke 276 und 278 zusammen mit dem Funktionsblock und Parameter im Bereich 280 weggelassen wurden. Andererseits entspricht ein Moduldiagramm 520 auf einem Schnittstellenbildschirm 522 (12) einer anderen Instanz, die auf der Modulvorlage PID_STD basiert. Die Instanz von 12 umfasst den optionalen Verriegelungsbedingungs-Funktionsblock 256 und die Zuteilungsfunktionalität, die dem Bereich 280 zugeordnet ist. Selbstverständlich können beide Instanzen auch nichtoptionale Komponenten enthalten. Die in den Instanzen von 11 enthaltenen Blöcke (und die zugehörige Verdrahtung) unterscheiden sich, auch wenn beide aus der derselben PID_STD-Vorlage instanziiert wurden. Die Schnittstellenbildschirme 502 und 522 ordnen jedoch optionale Blöcke 256, 272 usw. in den Positionen an, die in der Modulvorlage PID_STD spezifiziert sind. Auf diese Weise kann ein Benutzer, der mit mehreren Instanzen arbeitet, die auf der Vorlage PID_STD basieren, funktionelle Unterschiede zwischen den Instanzen unverzüglich identifizieren.
  • Um nur jene Anzeigeelemente zu aktivieren, die in einer bestimmten Instanz verwendet werden, kann die Konfigurationsumgebung 150 das Ausgewählte-Optionen-Feld 202 bis 204 und das Vatervorlagenfeld 200 (siehe 4) verwenden. Insbesondere kann die Konfigurationsumgebung 150 durch Folgen der Verknüpfung zur Vatermodulvorlage Anzeigeelemente abrufen oder auf Anzeigeelemente verweisen und unter Verwendung des Ausgewählte-Optionen-Feldes 202 bestimmen, welche Anzeigeelemente bei der Wiedergabe des Diagramms 500 oder 520 verwendet werden sollten. Außerdem kann die Konfigurationsumgebung 150 neben statischen Anzeigeelementen wie beispielsweise Funktionsblocksymbolen und Standardformen in ähnlicher Weise Dynamos, Animationen und andere grafische Elemente unterstützen. Zum Beispiel kann die Konfigurationsumgebung ein Dynamoskript, das den ausgewählten Optionen und den nicht optionalen Komponenten entspricht, automatisch erzeugen (oder aus einem Repository auswählen).
  • Außerdem können in Bezug auf die grafische Darstellung von Modulinstanzen Namenskürzel, die so spezifiziert werden, wie zuvor unter Bezugnahme auf 6A und 6B beschrieben, in gedruckten Dokumenten, im Offline-Modus und in anderen Kontexten sowohl innerhalb als auch außerhalb der Konfigurationsumgebung 150 angezeigt werden. Wie in 13 veranschaulicht, kann ein Schnittstellenbildschirm 600 zum Beispiel ein Diagramm 602 anzeigen, in dem Funktionsblöcke mit Namenskürzeln dargestellt sind, die den entsprechenden optionalen Komponenten zugewiesen sind. Es ist zu erkennen, dass, da die Funktionsblöcke 612 und 614 in diesem Beispiel einer einzigen aggregierten optionalen Komponente zugeordnet sind, umgeben von einem Rahmen 616, die Funktionsblöcke 612 und 614 gemeinsam ein einziges Namenskürzel benutzen, das in einer Ecke des Feldes 616 angezeigt wird.
  • Unter allgemeiner Bezugnahme auf 3 bis 13 ist auch vorgesehen, dass eine Modulvorlage optional eine Softwaresperre enthalten kann, um Änderungen an der Vorlage zu verhindern, nachdem eine oder mehrere Instanzen unter Verwendung der Vorlage erstellt wurden.
  • Es ist auch zu erkennen, dass, obwohl die Verfahren zur Entwicklung und Anwendung von Modulvorlagen mit optionalen Komponenten zuvor in erster Linie in Bezug auf PID-Schleifen erörtert wurden, eine Modulvorlagenbibliothek eine große Vielfalt von Steuerroutinen umfassen und zum Beispiel Modulvorlagen für analoge Steuerung (z. B. PID-Schleifen), Überwachung (z. B. Analogeingang-Überwachung), Motor mit zwei Betriebszuständen (Steuerungen für Pumpen und Rührwerke), Zweiwegventilregelung, Simulation usw. enthalten kann.
  • Obwohl das vorliegende System und die vorliegenden Verfahren unter Bezugnahme auf spezifische Beispiele beschrieben wurden, die lediglich Veranschaulichungszwecken dienen und die Erfindung nicht einschränken, ist für Durchschnittsfachleute zu erkennen, dass Änderungen, Hinzufügungen und/oder Weglassungen an den offenbarten Ausführungsformen vorgenommen werden können, ohne vom Geist und Rahmen der Erfindung abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • - ISA 588.0 [0009]
    • - IEC 61508 [0009]
    • - IEC 61131-3 [0009]

Claims (33)

  1. Verfahren zur Prozesssteuerungskonfiguration in einem Computersystem zum Entwickeln einer Prozesssteuerungsstrategie einer verfahrenstechnischen Anlage, umfassend: Bereitstellen einer Modulvorlage mit einer Mehrzahl von Komponenten auf einer Benutzeroberfläche des Computersystems, wobei die Mehrzahl von Komponenten eine Mehrzahl von wenigstens teilweise miteinander verbundenen Logikblöcken und eine Vielzahl von diesen zugeordneten Parameter zum Ausführen eines Prozesssteuerungsvorgangs in der verfahrenstechnischen Anlage umfasst; Empfangen einer Auswahl einer oder mehrerer der Mehrzahl von Komponenten der Modulvorlage über die Benutzeroberfläche, um einen Satz einer oder mehrerer ausgewählter Komponenten und einen Satz von null oder mehreren deselektierten Komponenten zu definieren; Erzeugen einer Modulinstanz auf der Basis der Modulvorlage auf dem Computersystem, umfassend ein Instanziieren der Modulinstanz, um den Satz einer oder mehrerer ausgewählter Komponenten aufzunehmen und den Satz von null oder mehreren deselektierten Komponenten nicht aufzunehmen; und Zuordnen der erzeugten Modulinstanz zur Prozesssteuerungsstrategie, umfassend ein Erzeugen eines Satzes von auf einem Prozessor ausführbaren Anweisungen zur Verwendung in einer physischen Vorrichtung, die in der verfahrenstechnischen Anlage gemäß der erzeugten Modulinstanz arbeitet.
  2. Verfahren nach Anspruch 1, ferner umfassend ein Anzeigen auf einer Benutzeroberfläche einer grafischen Darstellung der erzeugten Modulinstanz, umfassend ein Anzeigen von Anzeigeelementen, die dem Satz einer oder mehrerer ausgewählter Komponenten entsprechen, und ein Nichtanzeigen von Anzeigeelementen, die dem Satz von null oder mehreren deselektierten Komponenten entsprechen.
  3. Verfahren nach Anspruch 1, wobei es sich bei der Mehrzahl von Komponenten um eine erste Mehrzahl von Komponenten handelt; wobei die Modulvorlage ferner eine zweite Mehrzahl von Komponenten enthält und wobei das Erzeugen der Modulinstanz ferner umfasst: bedingungsloses Aufnehmen jeder der zweiten Mehrzahl von Komponenten in die erzeugte Modulinstanz.
  4. Verfahren nach Anspruch 1, ferner umfassend: Bereitstellen einer Vorlagenbibliothek mit einer Mehrzahl von Modulvorlagen; und wobei das Bereitstellen der Modulvorlage ein Bereitstellen der Modulvorlage als Reaktion auf eine Auswahl einer der Mehrzahl von Modulvorlagen umfasst.
  5. Verfahren nach Anspruch 1, wobei das Bereitstellen der Modulvorlage ein Anzeigen eines Dialogbildschirms umfasst, der die Mehrzahl von Komponenten auflistet und eine jeweilige Auswahlsteuerung für jede der Mehrzahl von Komponenten aufweist, wobei der Dialogbildschirm vorzugsweise ein Spreadsheet mit einer Mehrzahl von Zeilen und einer Vielzahl von Spalten aufweist, die einen Satz von Zellen des Spreadsheets definieren, wobei eine der Mehrzahl von Zeilen oder der Vielzahl von Spalten eine Mehrzahl von Instanzen definiert, die auf der Basis der Modulvorlage erzeugt werden sollen, und die andere der Mehrzahl von Zeilen oder der Vielzahl von Spalten die Mehrzahl von Komponenten so spezifiziert, dass jede des Satzes von Zellen einer jeweiligen der Mehrzahl von Instanzen und einer jeweiligen der Mehrzahl von Komponenten entspricht.
  6. Verfahren nach Anspruch 1, wobei die Modulvorlage eine Mehrzahl von Typen spezifiziert, welchen eine bestimmte Komponente aus dem Satz einer oder mehrerer ausgewählter Komponenten zugeordnet werden kann, und das Verfahren ferner umfasst: Empfangen einer Typauswahl für die bestimmte Komponente, wobei die Typauswahl einen der Mehrzahl von Typen identifiziert; und wobei das Erzeugen der Modulinstanz ferner ein Instanziieren der bestimmten Komponente gemäß der Typauswahl umfasst, wobei die Mehrzahl von Typen vorzugsweise wenigstens einem einer Mehrzahl von Protokollen, einer Mehrzahl von Alarmfähigkeiten oder einer Mehrzahl von Signaloptionen, einschließlich einer Rückkopplungsoption und einer Vorwärtskopplungsoption, entspricht.
  7. Verfahren nach Anspruch 6, ferner umfassend: Empfangen einer Modifikationsanforderung für die erzeugte Modulinstanz, wobei die Modifikationsanforderung die bestimmte Komponente und einen neuen Typ aus der Mehrzahl von Typen spezifiziert; und Aktualisieren der erzeugten Modulinstanz gemäß der Modifikationsanforderung, umfassend ein Zuordnen der bestimmten Komponente zum neuen Typ.
  8. Verfahren nach Anspruch 1, ferner umfassend: Bereitstellen einer Benutzeroberfläche zum Definieren der Modulvorlage; Bereitstellen einer Steuerung, um jede der Mehrzahl von Komponenten einem optionalen Attribut zuzuordnen, um eine optionale Anwesenheit jeder der Mehrzahl von Komponenten in der erzeugten Modulinstanz zu spezifizieren.
  9. Verfahren nach Anspruch 1, wobei das Erzeugen der Modulinstanz auf der Basis der Modulvorlage ferner ein Zuordnen eines Ausgewählte-Optionen-Attributs zur Modulinstanz umfasst, wobei das Ausgewählte-Optionen-Attribut jede der Mehrzahl von Komponenten identifiziert und spezifiziert, ob die identifizierte Komponente in der erzeugten Modulinstanz enthalten ist, wobei das Ausgewählte-Optionen-Attribut vorzugsweise eine Bitmaske ist.
  10. Verfahren nach Anspruch 1, ferner umfassend ein Bereitstellen einer Schnittstelle zum Modifizieren der Modulinstanz, umfassend ein Beschränken von Modifikationen der Modulinstanz gemäß dem Satz einer oder mehrerer ausgewählter Komponenten.
  11. Verfahren nach Anspruch 1, wobei die Auswahl eine erste Auswahl ist, der Satz einer oder mehrerer ausgewählter Komponenten ein erster Satz einer oder mehrerer ausgewählter Komponenten ist, der Satz von null oder mehreren deselektierten Komponenten ein erster Satz von null oder mehreren deselektierten Komponenten ist, die Modulinstanz eine erste Modulinstanz ist, und das Verfahren ferner umfasst: Empfangen einer zweiten Auswahl einer oder mehrerer der Mehrzahl von Komponenten der Modulvorlage, um einen zweiten Satz einer oder mehrerer ausgewählter Komponenten und einen zweiten Satz von null oder mehreren deselektierten Komponenten zu definieren; Erzeugen einer zweiten Modulinstanz auf der Basis der Modulvorlage; umfassend ein Instanziieren der zweiten Modulinstanz, um den zweiten Satz einer oder mehrerer ausgewählter Komponenten aufzunehmen und den zweiten Satz von null oder mehreren deselektierten Komponenten nicht aufzunehmen; und wobei die erste Modulinstanz wenigstens eine Komponente enthält, die in der zweiten Modulinstanz nicht enthalten ist.
  12. Verfahren nach Anspruch 1, ferner umfassend: Empfangen einer mit der Modulvorlage assoziierten Anforderung zur Modulinstanzidentifizierung; Identifizieren jeder Modulinstanz, die der Prozesssteuerungsstrategie zugeordnet ist und auf der Modulvorlage basiert; und Anzeigen von Informationen auf einer interaktiven Benutzeroberfläche, die wenigstens eine Identität jeder identifizierten Modulinstanz beschreiben, das Verfahren vorzugsweise ferner umfassend: Empfangen einer Modifikationsanforderung, die mit einer des Satzes einer oder mehrerer ausgewählter optionaler Komponenten assoziiert ist; automatisches Anwenden der Modifikationsanforderung auf die eine des Satzes einer oder mehrerer optionaler Komponenten für jede identifizierte Modulinstanz.
  13. Verfahren nach Anspruch 1, wobei das Erzeugen der Modulinstanz ein Ermöglichen einer Erfassung von Altdaten umfasst, die mit dem Satz einer oder mehrerer ausgewählter Komponenten assoziiert sind.
  14. Verfahren nach Anspruch 1, wobei das Erzeugen der Modulinstanz ferner ein Zuordnen des Moduls zu einem Dynamoskript umfasst, wobei das Dynamoskript wenigstens dem Satz einer oder mehrerer ausgewählter Komponenten entspricht.
  15. Verfahren zur Prozesssteuerungskonfiguration in einem Computersystem zum Entwickeln einer Modulvorlage zur Verwendung beim Konfigurieren einer Prozessteuerungsstrategie einer verfahrenstechnische Anlage, wobei die Modulvorlage als Daten auf einem computerlesbaren Medium gespeichert wird und das Verfahren umfasst: Bereitstellen einer Darstellung der Modulvorlage auf einer interaktiven Benutzeroberfläche, die dem Computersystem zugeordnet ist, wobei die Modulvorlage eine Mehrzahl von Komponenten zum Ausführen eines Prozesssteuerungsvorgangs enthält; Empfangen einer Anforderung über die interaktive Benutzerschnittstelle, eine der Mehrzahl von Komponenten einem optionalen Attribut zuzuordnen, um eine optionale Komponente zu definieren, und Zuordnen der optionalen Komponente zur Modulvorlage; wobei die Modulvorlage ausführbar ist, um wenigstens eine Modulinstanz als einen Satz von Anweisungen zu erzeugen, die durch eine oder mehrere physische Vorrichtungen in der verfahrenstechnischen Anlage ausführbar sind, derart dass die wenigstens eine Modulinstanz die optionale Komponente basierend auf einer Benutzereingabe bedingt aufnimmt oder ausschließt.
  16. Verfahren nach Anspruch 15, wobei das Bereitstellen der Darstellung der Modulvorlage umfasst: Bereitstellen einer Mehrzahl von strukturellen Komponenten auf einem Benutzeroberflächen-Bildschirm, wobei jede der Mehrzahl von strukturellen Komponenten einer vordefinierten Funktion zugeordnet wird; Empfangen einer Auswahl von zweien oder mehreren der Mehrzahl von strukturellen Komponenten; Empfangen von Komponenteninteraktionsinformationen, die eine Interaktion zwischen den zwei oder mehreren ausgewählten der Mehrzahl von strukturellen Komponenten beschreiben; Empfangen eines Satzes von Parametern, die den zwei oder mehreren ausgewählten der Mehrzahl von strukturellen Komponenten zugeordnet sind; Zuordnen der zwei oder mehreren ausgewählten der Mehrzahl von strukturellen Komponenten, der Komponenteninteraktionsinformationen und des Satzes von Parameter zur Modulvorlage.
  17. Verfahren nach Anspruch 15, wobei das Empfangen der Anforderung ein Empfangen einer ersten Anforderung umfasst, die optionale Komponente eine erste optionale Komponente ist, und das Verfahren ferner umfasst: Empfangen einer zweite Anforderung, eine andere der Mehrzahl von Komponenten dem optionalen Attribut zuzuordnen, um eine zweite optionale Komponente zu definieren; und Zuordnen der ersten optionalen Komponente und der zweiten optionalen Komponente zu einer Gruppe optionaler Komponenten, wobei die gesamte Gruppe optionaler Komponenten selektiv in die wenigstens eine Modulinstanz aufgenommen oder davon ausgeschlossen wird, das Verfahren vorzugsweise ferner umfassend: Empfangen eines Namenskürzels; Zuordnen des Namenskürzels zur Gruppe optionaler Komponente.
  18. Verfahren nach Anspruch 15, wobei das Empfangen der Anforderung ferner ein Empfangen einer Anzeige einer Mehrzahl von der optionalen Komponente zuzuordnenden Typen umfasst, wobei genau einer der Mehrzahl von Typen der optionalen Komponente selektiv in die wenigstens eine Modulinstanz aufgenommen oder davon ausgeschlossen wird.
  19. Prozesssteuerungskonfigurationssystem, das als ein Satz von Anweisungen auf einem computerlesbaren Medium gespeichert ist und auf einem Prozessor ausgeführt werden kann, zum Konfigurieren eines Prozesssteuersystems, umfassend: eine Benutzeroberfläche zum Entwickeln einer Modulinstanz, die sich wenigstens teilweise auf einer physischen Vorrichtung ausführen lässt, wobei die Benutzeroberfläche umfasst: einen Schnittstellenbildschirm zum Darstellen einer Modulvorlage mit einer Mehrzahl von Komponenten, die eine oder mehrere strukturelle Komponenten umfassen, die der Steuerlogik und einem oder mehreren Parameter zugeordnet sind; wobei die Mehrzahl von Komponenten einen Satz von optionalen Komponenten umfasst; und eine benutzerbedienbare Steuerung zum Empfangen einer Auswahl einer oder mehrerer optionaler Komponenten aus dem Satz von optionalen Komponenten, um einen Satz einer oder mehrerer ausgewählter Komponenten und einen Satz von null oder mehreren deselektierten Komponenten zu definieren; eine Modulinstanziierungsmaschine zum Erzeugen einer Modulinstanz auf der Basis der Modulvorlage; wobei die Modulinstanziierungsmaschine den Satz einer oder mehrerer ausgewählter Komponenten instanziiert und den Satz von null oder mehreren deselektierten Komponenten nicht instanziiert.
  20. System nach Anspruch 19, ferner umfassend eine Datenbank zum Speichern einer Mehrzahl von Modulvorlagen.
  21. System nach Anspruch 19, wobei die eine oder die mehreren strukturellen Komponenten Funktionsblöcke sind und jeder Funktionsblock umfasst: einen oder mehrere Eingänge, die jeweils so ausgelegt sind, dass sie einen jeweiligen Prozesssteuerungsparameter empfangen; einen oder mehrere Ausgänge; und eine Steuerlogik, die auf die eine oder die mehreren Eingänge reagiert, um ein Steuersignal an dem einen oder den mehreren Ausgängen zu erzeugen.
  22. System nach Anspruch 19, wobei die Benutzeroberfläche eine erste Benutzeroberfläche ist und das System ferner umfasst: eine zweite Benutzeroberfläche zum Entwickeln der Modulvorlage, umfassend: eine erste benutzerbedienbare Steuerung zum Auswählen der Mehrzahl von Komponenten und Spezifizieren einer Interaktion dazwischen, um einen Steueralgorithmus zu definieren; und eine zweite benutzerbedienbare Steuerung zum Spezifizieren des Satzes von optionalen Komponenten und Zuordnen eines jeweiligen optionalen Attributs zu jeder Komponente in dem Satz von optionalen Komponenten.
  23. Prozesssteuerungskonfigurationssystem, das als ein Satz von Anweisungen auf einem computerlesbaren Medium gespeichert ist und auf einem Prozessor ausgeführt werden kann, zum Entwickeln einer Modulvorlage, wobei die Modulvorlage beim Definieren einer Steuerungsstrategie in einer verfahrenstechnischen Anlage verwendet wird und das System umfasst: einen interaktiven Bildschirm zum Anzeigen einer Darstellung der Modulvorlage; wobei die Modulvorlage als Daten auf einem computerlesbaren Medium gespeichert ist und eine Mehrzahl von strukturellen Komponenten, die jeweils einer jeweiligen logischen Operation zugeordnet sind, und eine Vielzahl von Parametern enthält; eine erste benutzerbedienbare Steuerung zum Empfangen einer Auswahl von wenigstens einer der Mehrzahl von strukturellen Komponenten; eine zweite benutzerbedienbare Steuerung zum Zuordnen der wenigstens einen ausgewählten der Mehrzahl von strukturellen Komponenten zu einem optionalen Attribut; und eine Vorlagenerzeugungsmaschine zum Erzeugen der Modulvorlage gemäß der Auswahl der wenigstens einen der Mehrzahl von strukturellen Komponenten und dem optionalen Attribut; wobei wenigstens eine Modulinstanz auf der Basis der Modulvorlage als ein Satz von Anweisungen erzeugt wird, die durch eine oder mehrere physische Vorrichtungen in der verfahrenstechnischen Anlage ausführbar sind; wobei die wenigstens eine Modulinstanz die optionale Komponente gemäß einer Benutzerauswahl aufnimmt oder ausschließt.
  24. Softwaresystem nach Anspruch 23, wobei die erste benutzerbedienbare Steuerung ferner so ausgelegt ist, dass sie eine optionale Gruppe mit mehreren der Mehrzahl von strukturellen Komponenten auswählt; und wobei die zweite benutzerbedienbare Steuerung die optionale Gruppe dem optionalen Attribut zuordnet, so dass die gesamte optionale Gruppe gemäß der Benutzerauswahl in die wenigstens eine Modulinstanz aufgenommen oder davon ausgeschlossen wird, das Softwaresystem vorzugsweise ferner umfassend eine dritte benutzerbedienbare Steuerung zum Empfangen eines Namenskürzels und Zuordnen des Namenskürzels zur optionalen Gruppe.
  25. Softwaresystem nach Anspruch 23, ferner umfassend eine dritte benutzerbedienbare Steuerung zum Zuordnen der wenigstens einen ausgewählten der Mehrzahl von strukturellen Komponenten zu einer Mehrzahl von Komponententypen, wobei die wenigstens eine Modulinstanz die wenigstens eine ausgewählte der Mehrzahl von strukturellen Komponenten gemäß der Typauswahl aufnimmt oder ausschließt.
  26. Modulvorlage, die als Daten auf einem computerlesbaren Medium zum Erzeugen einer Modulinstanz auf der Basis der Modulvorlage gespeichert ist, wobei sich die Modulinstanz wenigstens teilweise auf einer Vorrichtung ausführen lässt, die in einem Prozesssteuersystem arbeitet; wobei die Modulvorlage umfasst: Blockdaten, die eine Mehrzahl von Blöcken beschreiben, wobei jeder Block einer Prozesssteuerungsfunktion zugeordnet ist; Verbindungsdaten, die logische Verbindungen zwischen wenigstens einigen der Mehrzahl von Blöcken beschreiben; Parameterdaten, die eine Vielzahl von Prozessparametern beschreiben, die der Mehrzahl von Blöcken zugeordnet sind; und Optionsdaten, welche die Kennung einer optionalen Komponente umfassen, die einem der Mehrzahl von Blöcken entspricht und die basierend auf einer Benutzerauswahl optional in der Modulinstanz anwesend ist.
  27. Modulvorlage nach Anspruch 26, wobei der eine der Mehrzahl von Blöcken ein erster der Mehrzahl von Blöcken ist, und wobei die optionale Komponente ferner einem zweiten der Mehrzahl von Blöcken entspricht, wobei der der Mehrzahl von Blöcken und der zweite der Mehrzahl von Blöcken eine Gruppe optionaler Komponenten definieren, die Modulvorlage vorzugsweise ferner umfassend einen Gruppennamen, welcher der Gruppe optionaler Komponenten zugeordnet ist.
  28. Modulvorlage nach Anspruch 26, wobei die Kennung der optionalen Komponente eine erste Kennung der optionalen Komponente ist und der eine der Mehrzahl von Blöcken ein erster der Mehrzahl von Blöcken ist; und wobei die Optionsdaten ferner die Kennung einer zweiten optionalen Komponente umfassen, die einem zweiten der Mehrzahl von Blöcken entspricht; wobei jede der ersten optionalen Komponente und der zweiten optionalen Komponente gemäß einer Benutzerauswahl unabhängig von der anderen der ersten optionalen Komponente und der zweiten optionalen Komponente in der Modulinstanz instanziiert ist.
  29. Modulvorlage nach Anspruch 26, wobei die Optionsdaten ferner ein Typauswahlfeld umfassen, das eine Mehrzahl von Typen spezifiziert, die dem einen der Mehrzahl von Blöcken zugeordnet sind.
  30. Prozesssteuersystem zum Implementieren einer Steuerungsstrategie in einer verfahrenstechnischen Anlage, umfassend: eine Mehrzahl von Vorrichtungen zum Implementieren der Steuerungsstrategie, die eine Steuerung und eine Mehrzahl von Feldgeräten zum Durchführen jeweiliger physischer Schritte in der verfahrenstechnischen Anlage umfassen; ein computerlesbares Medium zum Speichern einer Modulvorlage als Daten, die mit einer Mehrzahl von Logikblöcken und einer Vielzahl von Parametern assoziiert sind; wobei die Modulvorlage zum Erzeugen von Modulinstanzen als Sätze von Anweisungen verwendet wird, die auf der Mehrzahl von Vorrichtungen ausgeführt werden können; und wobei wenigstens einer der Mehrzahl von Logikblöcken einem optionalen Attribut zugeordnet ist, um eine optionale Komponente zu definieren; ein Konfigurationssystem, das umfasst: eine Benutzeroberfläche, die auf einem Prozessor ausgeführt werden kann, um eine Benutzerinteraktion mit der Modulvorlage zu unterstützen; eine Modulinstanziierungsmaschine zum Erzeugen einer Modulinstanz auf der Basis der Modulvorlage; wobei die Modulinstanziierungsmaschine die optionale Komponente instanziiert, wenn die optionale Komponente ausgewählt ist, und die optionale Komponenten nicht instanziiert, wenn die optionale Komponente nicht ausgewählt ist.
  31. System nach Anspruch 30, wobei die Benutzeroberfläche einen Schnittstellenbildschirm umfasst, um einen oder mehrere der Mehrzahl von Logikblöcken auszuwählen und den einen oder die mehreren ausgewählten der Mehrzahl von Benutzerblöcken dem optionalen Attribut zuzuordnen.
  32. System nach Anspruch 30, wobei die Modulinstanziierungsmaschine eine Erfassung von Altdaten ermöglicht, die mit der optionalen Komponente assoziiert sind, wenn die optionale Komponente in der erzeugten Modulinstanz ausgewählt ist.
  33. Verfahren nach Anspruch 30, wobei die Modulinstanziierungsmaschine die erzeugte Modulinstanz einem Dynamoskript zuordnet, wobei das Dynamoskript wenigstens der optionalen Komponente entspricht, wenn die optionale Komponente ausgewählt ist.
DE102010036914A 2009-08-11 2010-08-09 Systemkonfiguration unter Verwendung von Vorlagen Pending DE102010036914A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/539,399 2009-08-11
US12/539,399 US9256219B2 (en) 2009-08-11 2009-08-11 System configuration using templates

Publications (1)

Publication Number Publication Date
DE102010036914A1 true DE102010036914A1 (de) 2011-02-24

Family

ID=42799277

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010036914A Pending DE102010036914A1 (de) 2009-08-11 2010-08-09 Systemkonfiguration unter Verwendung von Vorlagen

Country Status (5)

Country Link
US (1) US9256219B2 (de)
JP (3) JP5706639B2 (de)
CN (1) CN101995860B (de)
DE (1) DE102010036914A1 (de)
GB (1) GB2472682B (de)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825506B1 (de) * 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
WO2000070531A2 (en) 1999-05-17 2000-11-23 The Foxboro Company Methods and apparatus for control configuration
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and 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
US7562053B2 (en) * 2002-04-02 2009-07-14 Soluble Technologies, Llc System and method for facilitating transactions between two or more parties
US7848829B2 (en) * 2006-09-29 2010-12-07 Fisher-Rosemount Systems, Inc. Methods and module class objects to configure absent equipment in process plants
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8127060B2 (en) * 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
CN102006386B (zh) * 2009-08-31 2013-03-13 京瓷办公信息系统株式会社 操作装置及图像形成装置
EP2407840A1 (de) * 2010-07-16 2012-01-18 Siemens Aktiengesellschaft Verfahren zum Betreiben einer Automatisierungseinrichtung
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
US9183537B2 (en) * 2011-02-19 2015-11-10 Accenture Global Services Limited Content authoring and deployment technology
US8849429B2 (en) * 2011-05-09 2014-09-30 General Electric Company System and method for block instantiation
US20120306648A1 (en) * 2011-05-31 2012-12-06 General Electric Company Systems and methods to configure alerts for fieldbus foundation devices
US8221631B1 (en) * 2011-08-04 2012-07-17 Honeywell International Inc. Aeration basin with off gas monitoring
US9588953B2 (en) * 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
US9163828B2 (en) 2011-10-31 2015-10-20 Emerson Process Management Power & Water Solutions, Inc. Model-based load demand control
CN103389690B (zh) * 2012-05-08 2015-09-02 邬彬 监控系统、监控子系统、监控节点设备、控制中心设备
US20150169334A1 (en) * 2012-07-19 2015-06-18 Nec Corporation Method for customizing device initial settings in information processing system
EP2706421B1 (de) * 2012-09-11 2015-05-27 dSPACE digital signal processing and control engineering GmbH Verfahren zur rechnergestützten Erzeugung mindestens eines Teils eines ausführbaren Steuerungsprogramms
TWI526847B (zh) * 2012-09-28 2016-03-21 微盟電子(昆山)有限公司 計算機及其硬體參數設定方法
WO2014064819A1 (ja) 2012-10-25 2014-05-01 三菱電機株式会社 システム構築支援ツール及びシステム
US9244452B2 (en) * 2012-11-02 2016-01-26 Rockwell Automation Technologies, Inc. Configuration and monitoring via design diagram representation
US10360297B2 (en) 2013-06-14 2019-07-23 Microsoft Technology Licensing, Llc Simplified data input in electronic documents
US20160077807A1 (en) * 2013-07-31 2016-03-17 Hewlett-Packard Development Company, L.P. Cloud based service design inheritance
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
GB2522338B (en) * 2014-01-03 2020-12-16 Fisher Rosemount Systems Inc Reusable graphical elements with quickly editable features for use in user displays of plant monitoring systems
US10204311B2 (en) * 2014-04-30 2019-02-12 Bristol, Inc. Configuring workflows in a host device operating in a process control system
US9720396B2 (en) * 2014-05-23 2017-08-01 Fisher-Rosemount Systems, Inc. Methods and apparatus to configure process control systems based on generic process system libraries
US9514118B2 (en) * 2014-06-18 2016-12-06 Yokogawa Electric Corporation Method, system and computer program for generating electronic checklists
US9489363B2 (en) * 2014-06-25 2016-11-08 Sap Se User configurable user interface
JP6481313B2 (ja) * 2014-09-30 2019-03-13 ブラザー工業株式会社 表示制御装置、表示制御方法、及び記録媒体
US20160132037A1 (en) * 2014-11-11 2016-05-12 Yokogawa Electric Corporation Process control systems and systems and methods for configuration thereof
US10108183B2 (en) 2014-11-12 2018-10-23 Yokogawa Electric Corporation Process control system and configuration system
US9851712B2 (en) 2014-11-12 2017-12-26 Yokogawa Electric Corporation Process control system and configuration system for an industrial plant
CA2968475C (en) * 2014-11-24 2023-07-04 Bayer Aktiengesellschaft Method for configuring a production plant designed for performing at least one chemical reaction
CN104408118B (zh) * 2014-11-25 2019-05-31 北京国双科技有限公司 数据库的创建方法和装置
JP2018505461A (ja) * 2014-12-03 2018-02-22 ジーイー・インテリジェント・プラットフォームズ・インコーポレイテッド 階層ナビゲーション装置および方法
US9665089B2 (en) * 2015-01-21 2017-05-30 Honeywell International Inc. Method and apparatus for advanced control using function blocks in industrial process control and automation systems
US9684526B2 (en) * 2015-05-15 2017-06-20 Ab Initio Technology Llc Techniques for configuring a generic program using controls
SG10201505489QA (en) 2015-07-14 2016-07-28 Yokogawa Engineering Asia Pte Ltd Systems and methods for optimizing control systems for a process environment
US10216523B2 (en) 2015-07-17 2019-02-26 General Electric Company Systems and methods for implementing control logic
US20170017229A1 (en) * 2015-07-17 2017-01-19 General Electric Company Systems and methods for analyzing control logic
US9989950B2 (en) 2015-07-17 2018-06-05 General Electric Company Systems and methods for generating control logic
RO131815A2 (ro) * 2015-09-29 2017-04-28 Bristol, Inc., D/B/A/ Remote Automation Solutions Monitorizarea dispozitivelor în câmp printr-o reţea de comunicaţii
US10409248B2 (en) * 2015-11-02 2019-09-10 Abb Schweiz Ag System and method for automation system configuration
US10198422B2 (en) * 2015-11-06 2019-02-05 Mitsubishi Electric Corporation Information-processing equipment based on a spreadsheet
JP6685169B2 (ja) * 2016-04-18 2020-04-22 アズビル株式会社 制御プログラム作成装置及び制御プログラム作成方法
US10878140B2 (en) * 2016-07-27 2020-12-29 Emerson Process Management Power & Water Solutions, Inc. Plant builder system with integrated simulation and control system configuration
CN106997285A (zh) * 2016-09-20 2017-08-01 遨博(北京)智能科技有限公司 一种控制机器人的方法及装置
US20180113682A1 (en) * 2016-10-20 2018-04-26 Johnson Controls Technology Company Building control manager with integrated engineering tool and controller application file application program interface (api)
CN106648746B (zh) * 2016-11-07 2020-10-20 三星电子(中国)研发中心 一种应用程序的执行方法和装置
CN106444613B (zh) * 2016-11-15 2019-06-07 爱普(福建)科技有限公司 一种设备驱动控制器组件的实现方法及系统
US11816459B2 (en) * 2016-11-16 2023-11-14 Native Ui, Inc. Graphical user interface programming system
CN106873465B (zh) * 2017-03-23 2020-01-14 广东工业大学 一种船舶报警控制系统
EP3399375B1 (de) 2017-05-05 2019-11-13 dSPACE digital signal processing and control engineering GmbH Verfahren zur konfiguration von steuergeräten
US10296307B2 (en) * 2017-05-16 2019-05-21 International Business Machines Corporation Method and system for template extraction based on source code similarity
US10505805B1 (en) * 2017-06-26 2019-12-10 Amazon Technologies, Inc. Computing resources checkpoint restoration
US10447078B2 (en) * 2017-10-02 2019-10-15 Fisher-Rosemount Systems, Inc. Smart function block for integration of PLCS into a control system and methods for the same
US11150632B2 (en) * 2018-03-16 2021-10-19 Yokogawa Electric Corporation System and method for field device management using class parameter set
KR102030582B1 (ko) * 2018-04-12 2019-10-10 주식회사 한글과컴퓨터 스프레드시트 편집 방법 및 이를 이용하는 장치
US10754667B1 (en) * 2019-03-20 2020-08-25 Yokogawa Electric Corporation System and method of module engineering for an industrial process
US10796031B1 (en) * 2019-03-20 2020-10-06 Yokogawa Electric Corporation Method and system of preparing engineering data for industrial control systems
CN110488976A (zh) * 2019-08-20 2019-11-22 广东小天才科技有限公司 功能管理方法、装置、设备及存储介质
CN110647566B (zh) * 2019-09-03 2023-04-14 平安科技(深圳)有限公司 模板表格的智能导入方法、装置及计算机可读存储介质
US11635980B2 (en) * 2019-09-20 2023-04-25 Fisher-Rosemount Systems, Inc. Modular process control system
US12026483B2 (en) 2020-07-14 2024-07-02 Siemens Ltd., China Programming marking method, processor, terminal, and computer program product
CN111966066B (zh) * 2020-08-18 2021-12-10 北京联合普肯工程技术股份有限公司 设备数据处理方法、装置和电子设备
JP7517937B2 (ja) 2020-10-01 2024-07-17 株式会社オービック 情報処理装置、情報処理プログラム、および情報処理方法
US11418969B2 (en) 2021-01-15 2022-08-16 Fisher-Rosemount Systems, Inc. Suggestive device connectivity planning
CN113938380B (zh) * 2021-10-09 2024-03-29 北京天地和兴科技有限公司 一种网络设备接口动态适配方法
US20240028003A1 (en) * 2022-07-25 2024-01-25 Fisher-Rosemount Systems, Inc. Module Interface

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62224825A (ja) 1986-03-26 1987-10-02 Nec Corp プログラムの修正方式
JPH05100832A (ja) 1991-10-09 1993-04-23 Kobe Nippon Denki Software Kk プログラム作成時の追加コーデイング流用方式
US5594858A (en) 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
JPH086999A (ja) * 1994-06-15 1996-01-12 Yokogawa Electric Corp スケジューリングシステム
US6510351B1 (en) 1999-03-15 2003-01-21 Fisher-Rosemount Systems, Inc. Modifier function blocks in a process control system
US6618630B1 (en) 1999-07-08 2003-09-09 Fisher-Rosemount Systems, Inc. User interface that integrates a process control configuration system and a field device management system
US6415418B1 (en) * 1999-08-27 2002-07-02 Honeywell Inc. System and method for disseminating functional blocks to an on-line redundant controller
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US6445963B1 (en) 1999-10-04 2002-09-03 Fisher Rosemount Systems, Inc. Integrated advanced control blocks in process control systems
US7474929B2 (en) 2000-01-20 2009-01-06 Fisher-Rosemount Systems, Inc. Enhanced tool for managing a process control network
JP2004102457A (ja) * 2002-09-05 2004-04-02 Sony Corp 情報処理装置および方法、並びにプログラム
US7117052B2 (en) * 2003-02-18 2006-10-03 Fisher-Rosemount Systems, Inc. Version control for objects in a process plant configuration system
US7730415B2 (en) * 2003-09-05 2010-06-01 Fisher-Rosemount Systems, Inc. State machine function block with a user modifiable state transition configuration database
US7515977B2 (en) * 2004-03-30 2009-04-07 Fisher-Rosemount Systems, Inc. Integrated configuration system for use in a process plant
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
WO2006137126A1 (ja) * 2005-06-21 2006-12-28 Renesas Technology Corp. 雛形プログラム管理サーバ、雛形プログラム管理システム及び雛形プログラム管理ネットワーク
US20070093917A1 (en) 2005-10-20 2007-04-26 Honeywell International Inc. Storing and accessing relay ladder logic modules in a relational database
US7848829B2 (en) * 2006-09-29 2010-12-07 Fisher-Rosemount Systems, Inc. Methods and module class objects to configure absent equipment in process plants
US7561930B2 (en) * 2006-10-02 2009-07-14 Fisher-Rosemount Systems, Inc. Dynamic modifier function blocks for use in a process control system
CN101183261B (zh) * 2006-10-20 2011-05-18 洛克威尔自动控制技术股份有限公司 用于离散制造的标准mes接口
US7676292B2 (en) 2006-10-20 2010-03-09 Rockwell Automation Technologies, Inc. Patterns employed for module design
JP2008152762A (ja) * 2006-11-21 2008-07-03 Brother Ind Ltd プログラムのインストール装置
JP5026925B2 (ja) * 2007-11-02 2012-09-19 アズビル株式会社 制御プログラム作成装置および制御プログラム作成方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IEC 61131-3
IEC 61508
ISA 588.0

Also Published As

Publication number Publication date
JP2018092674A (ja) 2018-06-14
JP6549748B2 (ja) 2019-07-24
JP2011040059A (ja) 2011-02-24
GB2472682A (en) 2011-02-16
GB2472682B (en) 2015-11-25
US20110040390A1 (en) 2011-02-17
CN101995860B (zh) 2015-10-07
CN101995860A (zh) 2011-03-30
JP2015135692A (ja) 2015-07-27
JP5706639B2 (ja) 2015-04-22
US9256219B2 (en) 2016-02-09
GB201012731D0 (en) 2010-09-15

Similar Documents

Publication Publication Date Title
DE102010036914A1 (de) Systemkonfiguration unter Verwendung von Vorlagen
US9762659B2 (en) Reusable graphical elements with quickly editable features for use in user displays of plant monitoring systems
DE112005001031B4 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
DE112009002365T5 (de) Dynamische Benutzerschnittstelle zur Konfiguration und Verwaltung eines Prozesssteuerungssystems
DE69424558T2 (de) Bedienungsstation fur ein steuerungssystem eines herstellungsprozesses und verfahren zur uberwachung und steuerung eines herstellungsprozesses
DE102018124420A1 (de) Systeme und verfahren zur erleichterung des grafischen anzeigedesign-workflows in einer prozesssteuerungsanlage
DE102018124414A1 (de) Systeme und verfahren zur einfachen entwicklung der grafischen anzeigekonfiguration in einer prozesskontrollanlage
DE102008017843A1 (de) Verfahren und Vorrichtungen zur Verwaltung von Prozessanlagenalarmen
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
DE112013004915T5 (de) Konfigurierbare User-Displays in einem Prozessleitsystem
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE102018124358A1 (de) Systeme und verfahren zur grafischen konfigurationsdesignprüfung in einer prozessanlage
DE10049025A1 (de) Process control configuration system for use with an AS-inferface device network
DE102019123645A1 (de) Systeme und verfahren zum einbetten eines web-frames in prozessgrafik
DE102015122002A1 (de) Verfahren und Apparatur zur Bereitstellung einer rollenbasierten Benutzerschnittstelle
DE102007040823A1 (de) Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte
DE102007004341A1 (de) Fortschrittliches Tool zur Verwaltung eines Prozesssteuerungsnetzwerks
DE102015108243A1 (de) Verfahren und Vorrichtung zur Konfiguration von Prozesssteuerungssystemen basierend auf generischen Prozesssystembibliotheken
US20140129181A1 (en) Object design
DE102019126360A1 (de) Bulk-commissioning von feldvorrichtungen innerhalb einer prozessanlage
EP3295265B1 (de) Bedienmodul für eine maschine in der lebensmittelindustrie
DE102021112553A1 (de) Systeme und verfahren zum implementieren von standardbetriebsverfahren in einer grafischen anzeigekonfiguration
DE102018124395A1 (de) Bediener-überwachungsbereich in einer prozesssteuerungsanlage
DE102018124297A1 (de) Systeme und Verfahren zum Konfigurieren und Darstellen einer Anzeige-Navigationshierarchie in einer Prozessanlage
DE102018124316A1 (de) Systeme und Verfahren zum Konfigurieren und Darstellen einer Anzeige-Navigationshierarchie in einer Prozessanlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication