DE10316217A1 - Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem - Google Patents

Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem

Info

Publication number
DE10316217A1
DE10316217A1 DE2003116217 DE10316217A DE10316217A1 DE 10316217 A1 DE10316217 A1 DE 10316217A1 DE 2003116217 DE2003116217 DE 2003116217 DE 10316217 A DE10316217 A DE 10316217A DE 10316217 A1 DE10316217 A1 DE 10316217A1
Authority
DE
Germany
Prior art keywords
process control
function block
control system
files
information
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.)
Ceased
Application number
DE2003116217
Other languages
English (en)
Inventor
Mark J Nixon
Ken Beoughter
Brandon Hieb
Terrence L Blevins
Dennis L Stevenson
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 DE10316217A1 publication Critical patent/DE10316217A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25232DCS, distributed control system, decentralised control unit
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25428Field device

Abstract

Ein System und ein Verfahren zum Erstellen und Eingliedern eines Funktionsblockes in ein Prozesssteuerungssystem ermöglicht es einem Anwender des Prozesssteuerungssystems, einen Funktionsblock durch das Kombinieren einer Vielzahl von Dateien zu erstellen, die aus einer Gruppe von vom Hersteller des Prozesssteuerungssystems zur Verfügung gestellten Dateien ausgewählt wurden, um eine mit dem Funktionsblock verknüpfte Quellcodedatei zu bilden. Der Anwender kann die Funktionsblock-Quellcodedatei verändern, um eine vom Hersteller nicht zur Verfügung gestellte Prozedur, Routine oder einen Algorithmus einzufügen und kann die veränderte Quellcodedatei zur Validierung an den Hersteller schicken. Wenn die Funktionsblock-Quellcodedatei für gültig befunden wurde, wird dem Anwender eine Sicherungsinformation wie beispielsweise eine digitale Signatur zur Verfügung gestellt, die es dem Anwender ermöglicht, den Funktionsblock in das Prozesssteuerungssystem einzugliedern. Die Funktionsblöcke können dazu verwendet werden, mit Hilfe von Datenerfassungsfunktionen, die von den Funktionsblöcken durchgeführt werden, eine neue Funktion in eine Prozesssteuerungssystemanwendung zu integrieren oder eine bezüglich der Prozesssteuerungssystemanwendung externe Datenquelle mit der Prozesssteuerungsanwendung zu integrieren.

Description

  • Die vorliegende Erfindung bezieht sich im wesentlichen auf Prozesssteuerungssysteme und im speziellen auf ein System und ein Verfahren, das es einem Anwender oder Bediener eines Prozesssteuerungssystems ermöglicht, individuelle Funktionsblöcke zur Ausführung von Steuervorgängen in einem Prozesssteuerungssystem zu erstellen.
  • Moderne Prozesssteuersysteme sind typischerweise mikroprozessorbasierte dezentrale Steuerungssysteme (DCS). Eine traditionelle DCS-Anordnung beinhaltet ein oder mehrere Benutzer-Interfacegeräte, wie beispielsweise Workstations, die durch einen Datenbus (beispielsweise ein Ethernet) mit einem oder mehreren Controllern (Leitwerken) verbunden sind. Die Controller sind typischerweise nahe einer Regelstrecke angeordnet und mit zahlreichen in diesem Verfahren angeordneten elektronischen Kontrolleinrichtungen und Feldeinrichtungen, wie beispielsweise elektronischen Sensoren, Gebern, Strom-Druckwandlern, Ventilpositionierern etc., verbunden.
  • In einem traditionellen DCS werden die Steueraufgaben durch einen Steueralgorithmus in jedem Controller verteilt. Die Controller führen unabhängig voneinander Steueralgorithmen aus, um die mit den Controllern verbundenen Feldeinrichtungen zu steuern. Diese Dezentralisierung von Steueraufgaben ermöglicht eine größere Gesamtsystemflexibilität. Wenn beispielsweise ein Anwender einen neuen Prozess oder Teilprozess zum DCS hinzufügen will, kann der Anwender einen zusätzlichen Controller hinzufügen (der einen entsprechenden Steueralgorithmus beinhaltet), der mit den entsprechenden Sensoren, Stellgliedern, etc. verbunden ist. Alternativ können, wenn der Anwender einen existierenden Prozess verändern will, neue Steuerungsparameter oder Steuerungsalgorithmen, beispielsweise über den Datenbus von einer Benutzerschnittstelle zu einem entsprechenden Controller herunter geladen werden.
  • Um eine verbesserte Modularität und eine Kompatibilität unter den Herstellern zu gewährleisten, haben sich die Hersteller von Prozesssteuerungen in letzter Zeit noch mehr in Richtung einer dezentralisierten Steuerung innerhalb eines Prozesses orientiert. Die jüngsten Methoden basieren auf intelligenten Feldeinrichtungen, die miteinander kommunizieren können und/oder auf Steuerungen, die ein offenes Protokoll wie beispielsweise HART, PROFIBUS, WORLDFIP, Device-Net, CAN oder Feldbus Protokolle verwenden. Diese intelligenten Feldeinrichtungen sind unabläßliche, mikroprozessorbasierete Einrichtungen wie beispielsweise Sensoren, Stellglieder, etc. die darüber hinaus in einigen Fällen, beispielsweise bei Feldbuseinrichtungen, Regelkreisfunktionen durchführen, die traditionell durch eine DCS Steuerung ausgeführt wird. Da einige intelligente Feldeinheiten ein Steuerungsvermögen aufweisen und unter Verwendung eines offenen Protokolls kommunizieren, können Feldeinrichtungen von einer Vielzahl von Herstellern auf einem herkömmlichen Datenbus miteinander kommunizieren und interagieren, um einen Regelkreis ohne den Eingriff eines herkömmlichen DCS Controllers auszuführen.
  • Wie bekannt, können Prozesssteuerungssystem-Controller und intelligente Feldeinrichtungen, wie beispielsweise Feldbuseinrichtungen, einen oder mehrere Funktionsblöcke beinhalten, die Kontrollfunktionen oder Teile einer Kontrollfunktion ausführen. Diese Funktionsblöcke können beispielsweise analoge Eingabefunktionen, analoge Ausgabefunktionen, Proportional-Integral-Differenzial (PID) Regelfunktionen oder jede andere gewünschte Steuerungsfunktion ausführen. Funktionsblöcke können innerhalb eines Controllers oder einer intelligenten Feldeinrichtung kommunizierend mit anderen Funktionsblöcken verbunden sein oder mit Funktionsblöcken innerhalb anderer Controller oder intelligenter Feldeinrichtungen Daten austauschen, um jede gewünschte Steuerungsfunktion auszuführen. Beispielsweise könnte ein analoger Eingabeblock dazu verwendet werden, eine Flüssigkeitsströmung mit Hilfe eines Strömungssensors zu überwachen und ein PID-Block könnte den vom analogen Input Block zur Verfügung gestellten Flüssigkeitsströmungswert verarbeiten, um ein Antwortsignal über einen analogen Output Block einem Stellglied zur Verfügung zu stellen, das die Stellung eines Ventilverschlusses anpasst. Folglich könnten diese Funktionsblöcke miteinander verbunden sein, so dass sie einen PID basierenden Regelkreis bilden, der den Strömungsfluss durch ein Ventil regelt.
  • Prozesssteuerungshersteller oder -anbieter stellen Systemanwendern typischerweise eine oder mehrere Standardbibliotheken zur Verfügung, die verschiedene vordefinierte Funktionsblöcke beinhalten. Typischerweise können diese vordefinierten Funktionsblöcke gemäß den Weisungen des Systemanwenders gewählt und miteinander kombiniert werden, um ein gesamtes Prozesssteuerungsprogramm zu implementieren. Einige Prozesssteuerungshersteller stellen darüber hinaus graphische Benutzerschnittstellen zur Verfügung, die es dem Anwender ermöglichen, die logischen Beziehungen zwischen den Funktionsblöcken zu visualisieren, was die Bildung eines Gesamtsteuerungsprogramms, besonders in Situationen, in denen das Prozesssteuerungsprogramm sehr komplex ist, bedeutend vereinfacht.
  • Hat der Anwender erst einmal ein Gesamt-Steuerungsprozessprogramm durch die Wahl der auszuführenden Funktionsblöcke und die Definition der logischen Beziehungen zwischen den gewählten Funktionsblöcken erzeugt, könnten eine oder mehrere Funktionsblöcke innerhalb des Prozesssteuerungssystems konkretisiert werden, um das Gesamt-Steuerungsprozessprogramm auszuführen. Weil die vordefinierten Funktionsblöcke typischerweise innerhalb der über das Prozesssteuerungssystem verteilten Controller und/oder der intelligenten Feldeinrichtungen konkretisiert werden, können sie synchron mit relativ hoher Geschwindigkeit ausgeführt werden.
  • Wenn ein Prozesssteuerungsprogramm die Ausführung einer durch den Hersteller oder den Anbieter des Steuerungssystems in einer Standardfunktionsblockbibliothek nicht zur Verfügung gestellten speziellen Funktion, Anwendung oder eines Algorithmus erfordert, erstellt und realisiert der Anwender typischerweise einen unabhängigen Prozess, der die spezielle Funktion, Anwendung oder den Algorithmus ausführt. In der Praxis wird der unabhängige Prozess üblicherweise von einer Workstation oder einem anderen Computersystem erstellt und realisiert, welches mit den anderen über das Prozesssteuerungssystem verteilten Controllern und Einrichtungen über ein Kommunikationsnetzwerk, beispielsweise ein lokales Netzwerk, kommunikativ verbunden ist. Folglich erfordert die Integration des die spezielle Funktion, die Anwendung oder den Algorithmus ausführenden unabhängigen Prozesses in das Gesamt- Steuerungsprozessprogramm, dass der unabhängige Prozess mit anderen Teilen des Gesamtsteuerungsprozesses über ein Kommunikationsnetzwerk Daten austauscht.
  • Die Schwierigkeit der Integration eines speziellen, von einem Anwender erstellten oder definierten Prozesses, der spezielle Funktionen, Anwendungen oder Algorithmen innerhalb eines Gesamt-Steuerungsprozessprogramms ausführt, wird durch die Tatsache verstärkt, dass die Nachrichtenübertragung zwischen einer Workstation und einem kommunikativ mit dem lokalen Netzwerk verbundenen Controller oder einer ähnlichen Prozesssteuerungseinrichtung, normalerweise auf einem geschützten Nachrichtenformat oder Protokoll basiert, das von den Anwendern des Systems nicht beherrscht wird. Um diese Integrationsproblematik zu verringern, könnten einige Prozesssteuerungshersteller die Nachrichtenübertragung zwischen ihren Steuerungsprozessen und anderen Prozessen oder Systemen erlauben, indem sie Nachrichtenübermittlung basierend auf üblichen Programmsprachen, wie beispielsweise OLE für Prozesssteuerungen (OPC) erlauben. Die üblichen Programmsprachen, wie beispielsweise OPC, basieren typischerweise auf einer extensible Markup Language (beispielsweise XML) oder ähnlichem, die es dem Systemanwender erlaubt, Information oder Mitteilungen aus ihren speziell erstellten und individuellen Prozessen (die eine spezielle Funktion, Anwendung oder Algorithmus ausführen) in ein Schema oder Format zu packen, das durch das System ausgewertet werden kann, welches das Gesamt-Prozesssteuerungsprogramm ausführt. Gleichermaßen kann das vom Anwender definierte individuelle Verfahren vom Prozesssteuerungssystem erhaltene Information oder Meldungen, interpretieren und verarbeiten, die unter Verwendung der extensible Markup Language Schemas gepackt und formatiert wurden, wenn es dieses Schema kennt. Auf diese Weise ermöglichen die Hersteller und Anbieter von Prozesssteuerungen einem Anwender andere Systeme und Prozesse zu integrieren, wobei davon einige durch den Anwender erstellt worden sind, um spezielle Funktionen, Anwendungen oder Algorithmen auszuführen, ohne dabei geschützte Nachrichtenformate oder Protokolle offenlegen zu müssen, die bei der Ausführung der Nachrichtenübermittlung zwischen der Workstation oder einem anderen Computersystem und den über das Prozesssteuerungssystem verteilten Controllern, verwendet werden.
  • Die bekannten Techniken für das Ermöglichen der Integration oder der Datenkommunikation zwischen einem anwenderdefinierten Prozess oder System oder einem anderen Prozess oder System und einem Gesamtprozesssteuersystem, erlauben typischerweise keine direkte Datenkommunikation zwischen einem Anwenderdefinierten Prozess und den Controller und/oder intelligenten Feldeinrichtungen innerhalb eines Prozesssteuerungssystems. Ganz im Gegenteil, erfordern diese bekannten Techniken (einige basierend auf XML), dass der vom Anwender definierte Prozess oder das System mit den Controllern und/oder intelligenten Feldeinrichtungen über eine Workstation oder ein anderes Computersystem kommuniziert, welches mit den Controllern und anderen Einrichtungen über ein Kommunikationsnetzwerk verbunden ist. Bedauerlicherweise sind Datenkommunikationen über Kommunikationsnetzwerke (beispielsweise ein LAN) relativ langsam; besonders im Vergleich zu der Datenkommunikation die zwischen den Controllern und den intelligenten Feldeinrichtungen statt findet. Darüber hinaus führt die Verwendung einer extensible Markup Language oder ähnlichem, um den Informationsaustausch zwischen den Controllern und anderen Einrichtungen innerhalb eines Prozesssteuerungssystems und einem Anwenderdefinierten Prozess oder System zu ermöglichen, zu einer zusätzlichen Übertragungs-Befehlsverarbeitungszeit (communication overhead). Diese zusätzliche Übertragungs-Befehlsverarbeitungszeit reduziert zusätzlich die Effizienz, mit der Information oder Nachrichten zwischen dem anwenderdefinierten Prozess oder System und dem Prozesssteuerungssystem-Controllern und/oder Einrichtungen versandt werden.
  • Ein weiterer Nachteil der Tatsache, dass man Information zwischen einem anwenderdefinierten Prozess und dem von einem Prozesssteuerungssystem ausgeführten Gesamt-Prozesssteuerungsprogramm verschicken muss ist, dass die durch den vom Anwender definierten Prozess oder dem System zur Verfügung gestellten oder verwendeten Information oder Nachrichten, typischerweise nicht mit den Aktionen synchron laufen, die durch die Controller und/oder die mit den Controllern verbundenen intelligenten Feldeinrichtungen ausgeführt werden. Folglich haben die Datenübertragungen bei den meisten, wenn nicht bei allen Prozesssteuerungssystemen, die über das Kommunikationsdatennetzwerk erfolgen, das die Workstations mit den Controllern kommunikativ verbindet, einen relativ geringen Datendurchsatz und laufen mit den Datenübertragungen zwischen den Controllern und den Feldeinrichtungen nicht synchron. Bei einigen Anwendungen führt das Manko, dass spezielle anwenderdefinierte Programme oder Systeme nicht straffer in die Operationen des Gesamtprozesssteuerungssystems integriert oder eingebunden werden können, beispielsweise durch die Realisierung eines schnelleren Informationsaustausches zwischen den zwei Systemen und der Synchronisation zwischen den zwei Systemen, dazu, dass die Implementierung von anwenderdefinierten Prozessen oder Systemen unpraktisch oder in manchen Fällen sogar unmöglich wird.
  • Die hier beschriebenen individuellen Funktionsblöcke und die Art, wie individuelle Funktionsblöcke erstellt werden, ermöglichen einem Anwender eines Prozesssteuerungssystems spezielle Funktionen, Anwendungen, Algorithmen und/oder Prozesse, die von Anwender definiert sein können, straff die Operationen eines Gesamtsteuerungsprozesssystems zu integrieren oder einzubinden. Im einzelnen verwendet das hier beschriebene Verfahren zum Erstellen von individuellen Funktionsblöcken, vordefinierte Bibliotheken, die Vorlagen, Routinen, Prozeduren, Tabellen, etc. enthalten, welche ausgewählt, modifiziert und/oder durch einen Anwender kombiniert werden können, um eine oder mehrere Funktionsblockbibliotheken zusammenzustellen, zu generieren oder zu definieren, wobei jede einen oder mehrere individuelle Funktionsblöcke enthalten kann. Ein Texteditor, eine graphische Benutzerschnittstelle, Funktionsblockwizards oder virtuelle Hilfen (virtual experts), etc. können dazu verwendet werden, das Erstellen von individuellen Funktionsblöcken zu vereinfachen.
  • Die von dem hier beschriebenen System und Verfahren verwendeten vordefinierten Bibliotheken, können verschiedene Arten von Funktionsblockkomponenten beinhalten, wobei einige vom Prozesssteuersystem für die ordnungsgemäße Integration eines Blockes in ein Gesamt-Prozesssteuerungsprogramm nötig sind und andere nicht dazu benötigt werden. Der Anwender kann das hier beschriebene System und Verfahren dazu verwenden, einen oder mehrere Funktionsblöcke zu erzeugen, zu erstellen und zu definieren, welche dann Funktionen, Anwendungen, Algorithmen oder Prozesse implementieren, die vom Anbieter oder Hersteller des Prozesssteuerungssystem in einer Standardfunktionsbibliothek nicht zur Verfügung gestellt werden. Genauer gesagt wählt und modifiziert der Anwender, wenn dies gewünscht ist, die benötigten Funktionsblockkomponenten aus den vordefinierten Bibliotheken, die die Funktionsblockkomponenten enthalten, und fügt die gewählten Komponenten in den individuellen Funktionsblock ein. Der Anwender kann darüber hinaus zusätzliche Funktionen oder Algorithmen einfügen, die von den individuellen Funktionsblöcken ausgeführt werden sollen, indem er den entsprechenden Code oder die Software in die individuellen Funktionsblockdefinitionen mit aufnimmt.
  • Das hier beschriebene System und Verfahren ermöglicht es einem Anwender individuelle, von einem Anbieter oder Hersteller des Prozesssteuerungssystems in einer Standardfunktionsblockbibliothek nicht zur Verfügung gestellte Funktionen, Anwendungen oder Algorithmen, etc. zu implementieren, indem er neue oder individuelle Funktionsblöcke erstellt, die in ihrer Struktur ähnlich oder identisch zu den in der Standardfunktionsblockbibliothek zur Verfügung gestellten Funktionsblöcken sind. Das Ergebnis ist, dass die individuellen Funktionen (das sind die individuellen Funktionsblöcke) innerhalb eines Prozesssteuerungssystems wie Standardfunktionsblöcke zusammen gestellt und verwendet werden können. Daher können die innerhalb des individuellen Funktionsblockes definierten Prozesse, Anwendungen, Algorithmen, etc. mit dem Gesamt- Prozesssteuerungsprogramm relativ schnell Daten austauschen, da die individuellen Funktionen, Anwendungen oder Prozesse nicht über eine Workstation und ein LAN, beispielsweise unter Verwendung einer extensible Markup Language, miteinander kommunizieren müssen. Da die individuellen Funktionsblöcke ähnlich oder genau so wie die Standardfunktionsblöcke zusammengestellt und in die Controller und/oder die intelligenten Feldeinrichtungen geladen werden können, kann darüber hinaus innerhalb des Prozesssteuerungssystems eine synchrone Kommunikation zwischen den individuellen Funktionsblöcken und anderen Standardfunktionsblöcken erfolgen (das bedeutet, dass die Arbeitsschritte der individuellen Funktionsblöcke zusammen mit den Arbeitsschritten der Standardfunktionsblöcke koordiniert werden können).
  • Nach einem ersten Gesichtspunkt kann ein Verfahren zum Erstellen eines Funktionsblocks zur Verwendung mit einem Prozesssteuersystem, aus einer Vielzahl von Quelldateien eine Initialisierungsroutine, eine periodische Ausführungsroutine und eine Schreibüberprüfungsroutine (write checking routine) wählen.
  • Zusätzlich könnte das Verfahren die Initialisierungsroutine, die periodische Ausführungsroutine und die Schreibüberprüfungsroutine mit dem Funktionsblock verknüpfen und könnte die Initialisierungsroutine, die periodische Ausführungsroutine oder die Schreibüberprüfungsroutine modifizieren, um ein vom Prozesssteuerungssystem nicht zur Verfügung gestelltes Verfahren einzufügen.
  • In Übereinstimmung mit einem anderen Aspekt kann ein Verfahren zum Erstellen eines Funktionsblockes zur Verwendung mit einem Prozesssteuerungssystem, eine Vielzahl von Dateien aus einer Gruppe von Dateien miteinander kombinieren, die durch einen Anbieter des Prozesssteuerungssystems erstellt worden sind, um eine mit dem Funktionsblock verknüpfte Datei zu bilden, und könnte eine der Dateien innerhalb der mit dem Funktionsblock verknüpften Dateien modifizieren, um eine innerhalb der Gruppe von Dateien nicht enthaltene Prozedur einzugliedern.
  • Darüber hinaus könnte ein System zum Erstellen eines Funktionsblockes zur Verwendung mit Prozesssteuerungssystem ein computerlesbares Medium enthalten, eine erste auf dem computerlesbaren Medium gespeicherte Software, die derart ausgebildet ist, dass sie von dem Prozesssteuerungssystem ausgeführt werden kann, um eine Initialisierungsroutine aus mehreren Quelldateien auszuwählen, und eine zweite auf dem computerlesbaren Medium gespeicherte Software, die derart ausgebildet ist, dass sie durch das Prozesssteuerungssystem ausgeführt wird, um eine periodische Ausführungsroutine aus mehreren Quelldateien auszuwählen. Das System kann darüber hinaus eine dritte auf dem computerlesbaren Medium gespeicherte Software enthalten, die derart ausgebildet ist, dass sie durch das Prozesssteuerungssystem ausgeführt wird, um eine Schreibüberprüfungsroutine aus einer Vielzahl von Quelldateien zu wählen; es kann eine vierte auf dem computerlesbaren Medium gespeicherte Software enthalten, die derart ausgebildet ist, dass sie von dem Prozesssteuerungssystem ausgeführt wird um die Initialisierungsroutine, die periodische Ausführungsroutine und die Schreibüberprüfungsroutine mit dem Funktionsblock zu verknüpfen, und eine fünfte auf dem computerlesbaren Medium gespeicherte Software enthalten, die derart ausgebildet ist, dass sie durch das Prozesssteuerungssystem ausgeführt wird, um die Initialisierungsroutine, die periodische Ausführungsroutine oder die Schreibüberprüfungsroutine zu modifizieren um eine Prozedur einzufügen, die vom Prozesssteuerungssystem nicht zur Verfügung gestellt war.
  • In Übereinstimmung mit einem weiteren Gesichtspunkt kann ein Verfahren zum Eingliedern eines individuellen Funktionsblockes in ein Prozesssteuerungssystem, den individuellen Funktionsblock durch die Kombination mehrerer Dateien aus einer Gruppe der vom Anbieter des Prozesssteuerungssystems erstellten Dateien generieren, um eine mit dem Funktionsblock verknüpfte Quellcodedatei zu erstellen, und könnte eine der Dateien innerhalb der Quellcodedatei modifizieren, um so eine Prozedur einzufügen, die innerhalb der Gruppe der Dateien nicht enthalten ist. Auch kann nach dieser Methode die Quellcodedatei kompiliert und verknüpft werden, um eine kompilierte/verknüpfte individuelle Funktionsblockdatei zu bilden und die kompilierte/verknüpfte individuelle Funktionsblockdatei an den Anbieter des Prozesssteuerungssystems zu übergeben. Darüber hinaus könnte diese Methode die kompilierte/verknüpfte individuelle Funktionsblockdatei validieren, der kompilierten/verknüpften individuellen Funktionsblockdatei eine Sicherungsinformation (security measure) hinzufügen, um eine für gültig erklärte individuelle Funktionsblockdatei zu bilden und könnte die für gültig erklärte individuelle Funktionsblockdatei an einen Anwender des Prozesssteuerungssystems übertragen. Zusätzlich könnte das Verfahren die für gültig erklärte individuelle Funktionsblockdatei in das Prozesssteuerungssystem eingliedern.
  • Gemäß einem weiteren Aspekt übermittelt ein Verfahren für die Verwendung eines individuellen Funktionsblockes Information von einer Datenquelle zu dem individuellen Funktionsblock, verarbeitet die Information von der Datenquelle basierend auf einer Funktion innerhalb des individuellen Funktionsblockes und übermittelt wenigstens einen Teil der verarbeiteten Information an eine Prozesssteuerungseinrichtung.
  • Fig. 1 zeigt ein exemplarisches Blockdiagramm das im wesentlichen einen Aufbau und ein Erstellungsverfahren für einen individuellen Funktionsblock darstellt; und
  • Fig. 2 zeigt ein beispielhaftes Flussdiagramm, das eine Möglichkeit veranschaulicht, wie ein Anbieter oder Hersteller eines Steuerungssystems die Verwendung von individuellen Funktionsblöcken innerhalb seines Steuersystems regelt.
  • Die individuellen Funktionsblöcke und die hier beschriebene Art der Erstellung, ermöglichen es einem Anwender eines Prozesssteuerungssystems spezielle Funktionen, Anwendungen, Algorithmen und/oder Prozesse, die vom Anwender definiert sein können, fest in die Arbeitsabläufe eines Gesamt- Prozesssteuerungssystems zu integrieren oder einzubinden. Genauer gesagt kann die hier beschriebene Art der Erstellung von individuellen Funktionsblöcken, auf vordefinierte Bibliotheken zurückgreifen, die Vorlagen, Routinen, Prozeduren, Tabellen, etc. enthalten, welche ausgewählt, modifiziert und/oder von einem Anwender kombiniert werden können, um eine oder mehrere Funktionsblockbibliotheken zusammen zustellen, zu generieren oder zu definieren, wobei jede eine oder mehrere individuelle Funktionsblöcke enthalten kann. Ein Texteditor, eine graphische Benutzerschnittstelle, Funktionsblockwizards oder virtuelle Hilfen (virtual experts), etc. können dazu verwendet werden, die Erstellung der individuellen Funktionsblöcke zu erleichtern. Die vom System und dem hier beschriebenen Verfahren verwendeten vordefinierten Bibliotheken können verschiedene Arten von Funktionsblockkomponenten beinhalten, wobei einige vom Prozesssteuerungssystem für die korrekte Integration eines Funktionsblockes in eine Gesamtprozesssteuerungsroutine nötig sind und einige nicht benötigt werden. Ein Anwender kann das hier beschriebene System und Verfahren dazu verwenden, einen oder mehrere individuelle Funktionsblöcke zu erstellen, zu generieren oder zu definieren, welche eine Funktion, Anwendung, Algorithmus oder einen Prozess implementieren, der vom Anbieter oder Hersteller des Prozesssteuerungssystems in der Standardfunktionsblockbibliothek nicht zur Verfügung gestellt wurde. Genauer gesagt wählt und modifiziert der Anwender wenn gewünscht die benötigten Funktionsblockkomponenten aus der vordefinierten Bibliothek, die die Funktionsblockkomponenten beinhaltet, und integriert die gewählten Komponenten in die individuellen Funktionsblöcke. Darüber hinaus kann der Anwender auch zusätzliche Funktionen oder Algorithmen, die durch die individuellen Funktionsblöcke ausgeführt werden sollen, durch Eingabe des entsprechenden zusätzlichen Codes oder der Software in die individuellen Funktionsblockdefinitionen einfügen.
  • Durch das Erstellen neuer oder individueller Funktionsblöcke, die den in der Standardfunktionsbibliothek zur Verfügung gestellten Funktionsblöcken strukturell ähnlich oder identisch sind, ermöglicht es das System und das hier beschriebene Verfahren einem Anwender individuelle Funktionen, Anwendungen oder Algorithmen, etc. einzuführen, die von dem Anbieter oder Hersteller des Prozesssteuerungssystems in einer Standardfunktionsblockbibliothek nicht zur Verfügung gestellt worden sind. Folglich können die individuellen Funktionen (das sind die individuellen Funktionsblöcke) innerhalb des Prozesssteuerungssystems wie Standardfunktionsblöcke kompiliert und verwendet werden. Daher können die Prozesse, Algorithmen, etc. die innerhalb des individuellen Funktionsblockes definiert sind, innerhalb der Gesamtprozesssteuerungsroutine mit einer relativ hohen Geschwindigkeit Daten austauschen, da die individuellen Funktionen oder Prozesse nicht über eine Workstation und ein LAN, beispielsweise unter Verwendung einer extensible Markup Language, miteinander kommunizieren müssen. Weil die individuellen Funktionsblöcke ähnlich oder genauso wie die Standardfunktionsblöcke kompiliert und in Controller und/oder intelligente Feldeinrichtungen heruntergeladen werden können, kann die Datenübertragung zwischen den individuellen Funktionsblöcken und anderen Standardfunktionsblöcken innerhalb des Prozesssteuerungssystems darüber hinaus synchron erfolgen (das bedeutet die Operationen der individuellen Funktionsblöcke können mit den Operationen der Standardfunktionsblöcke zeitlich eingeplant werden).
  • Fig. 1 ist ein beispielhaftes Blockdiagramm 100, das im wesentlichen eine Struktur und ein Erstellungsverfahren für einen individuellen Funktionsblock 102 darstellt. Wie in Fig. 1 gezeigt, beinhaltet der individuelle Funktionsblock 102 eine Initialisierungsprozedur oder Routine 104, eine periodische Ausführungsroutine 106 und eine Schreibüberprüfungsroutine 108. Die Routinen 104-108 werden generell als Verhalten oder Verfahren des Funktionsblockes 102 bezeichnet. Die Routinen 104-108 können verschieden Attribute enthalten, die öffentliche Dateien 110 und/oder private Dateien 112 verwenden. Die Attribute und somit die damit verbundenen öffentlichen Dateien 110 und/oder privaten Dateien 112 können durch ein Prozesssteuersystem (nicht dargestellt) erhalten werden, in welchem der individuelle Funktionsblock über eine Attributtabelle 114 integriert ist. Wie es ebenfalls in Fig. 1 gezeigt und weiter unten detaillierter beschrieben ist, kann der individuelle Funktionsblock 102 unter Verwendung einer Sammlung von Dateiheadern 116 und einer Sammlung von Quelldateien 118 und/oder einer Sammlung von Bibliothekdateien 120 erstellt oder definiert werden. Darüber hinaus kann der individuelle Funktionsblock 102 einen Namen 122 haben, der mit diesem assoziiert ist und Teil einer individuellen Funktionsblockbibliothek 124 sein, die eine Mehrzahl individueller Funktionsblöcke 126 enthält.
  • Wenn die Initialisierungsroutine 104 ausgeführt worden ist, ist sie derart ausgebildet, dass sie die öffentlichen Dateien 110 und die privaten Dateien 112 initialisiert, die mit dem individuellen Funktionsblock 102 verknüpft sind. Die Initialisierungswerte für die Dateien 110 und 112 sind vorzugsweise jedoch nicht notwendigerweise Ausgangs- oder Anfangswerte, in welchem Fall die Initialisierungsroutine 104 vor dem Ausführen der periodischen Ausführungsroutine 106 einmal ausgeführt wurde. Natürlich kann wenn dies gewünscht wird, die Initialisierungsroutine 104 mehr als einmal ausgeführt werden, um den Ansprüchen einer vom Anwender benötigten speziellen Anwendung oder Funktion zu genügen.
  • Die Schreibüberprüfungsprozedur oder Routine 108 ist, wenn sie ausgeführt wurde, dazu angepasst, Dateien zu bestätigen, die von einer externen Quelle (d. h. außerhalb des Funktionsblockes 102) in die öffentlichen Dateien 110 des individuellen Funktionsblockes 102 geschrieben wurden. Die Schreibüberprüfungsroutine 108 wird vorzugsweise als Reaktion auf einen Versuch einer externen Quelle aufgerufen, Dateien oder Information in die öffentlichen Dateien 110 zu schreiben. Die Schreibüberprüfungsroutine 108 kann überprüfen ob der aktuelle Zustand des Funktionsblockes 102 es erlaubt, dass ein externes Beschreiben der Zieldateien durchgeführt wird oder ob die Zieldateien durch eine externe Quelle geschrieben werden können und/oder ob die Information oder Dateien die in die Zieldateien geschrieben wurden innerhalb einer oder mehrerer vorher definierten akzeptablen Grenzen liegen. Beispielsweise könnte der Block 102 gerade die Zieldaten verwenden und einer externen Quelle erlauben, die Zieldaten zu verändern, bevor eine Prozedur, eine Serie von Schritten, etc. beendet ist, was zu falschen oder ungenauen Ergebnissen führen kann. Natürlich können durch die Schreibüberprüfungsroutine 108 alle möglichen verschiedenen oder zusätzlichen Arten von Überprüfungen durchgeführt werden.
  • Die periodische Ausführungsroutine 106 ist, falls sie ausgeführt wurde, dazu angepasst, die spezielle Funktion oder den Algorithmus auszuführen, den der Anwender innerhalb des Steuerungssystems einfügen will und der im Standardfunktionsblock durch den Anbieter oder den Hersteller des Steuerungssystems nicht zur Verfügung gestellt wurde. Beispielsweise könnte die periodische Ausführungsfunktion 106 eine Erfassungsfunktion (mapping function) oder einen -Algorithmus beinhalten, der den Informations- oder Datenaustausch zwischen dem Steuerungssystem und einer anderen Anwendung, einem System oder einer Vorrichtung ermöglicht, mit der das Steuerungssystem auf andere Weise nicht kommunizieren könnte. Alternativ oder darüber hinaus könnte die periodische Ausführungsroutine 106 einen Profitrechner und/oder andere mit dem Prozesssteuerungssystem verbundene Finanzkalkulationen beinhalten, die typischerweise nicht innerhalb eines Standardfunktionsblockes zur Verfügung gestellt werden. Natürlich sind die Anzahl und die Art der innerhalb der periodischen Ausführungsroutine 106 enthaltenen Funktionen oder Algorithmen virtuell unbegrenzt. In der Praxis definiert die spezielle durch die periodische Ausführungsroutine 106 ausgeführte Funktion oder der Algorithmus typischerweise das Gesamtverhalten des individuellen Funktionsblockes 102, wodurch der Name des individuellen Funktionsblockes 102 sein Verhalten größtenteils verdeutlicht. Wenn beispielsweise die periodische Ausführungsroutine 106 eine Gewinnberechnungsfunktion oder -algorithmus beinhaltet, würde der Funktionsblockname 122 "FB PROFITCALC" lauten, um die Funktionen des Algorithmus zu verdeutlichen.
  • Die periodische Ausführungsroutine 106 kann Algorithmen enthalten, die die öffentlichen Dateien 110 und/oder die privaten Dateien 112 verwenden. Obwohl die öffentlichen Dateien 110 generell sämtlichen innerhalb eines Steuersystems realisierten individuellen oder standardisierten Funktionsblöcken zur Verfügung stehen, kann es sein, dass einige oder alle öffentlichen Dateien 110 ausschließlich durch den individuellen Funktionsblock 102 verwendet werden. Die öffentlichen Dateien 110 können beispielsweise externe Dateien beinhalten, die der individuelle Funktionsblock 102 von einem externen Datenbereich (das ist jeder Datenbereich außerhalb des individuellen Funktionsblockes 102) zu den öffentlichen Dateien 110 des individuellen Funktionsblockes 102 überträgt. Des weiteren können die öffentlichen Dateien 110 beispielsweise auch Dateien beinhalten, die die periodische Ausführungsroutine 106 während des Ausführens unter Verwendung der öffentlichen Dateien 110 und/oder der privaten Dateien 112 erlangt.
  • Andererseits sind die privaten Dateien 112 für andere Funktionsblöcke nicht zugänglich. Typischerweise werden die privaten Dateien 112 dazu verwendet, die Ausführungsverlaufsinformation und die mit dem individuellen Block 102 verknüpften Dateien zu überwachen, wobei sie dann in den anschließenden Ausführungen des Blocks 102 verwendet werden oder dazu dienen können, das Verhalten des Blocks 102 in Reaktion auf einen oder mehrere abnormale Vorgänge zu überwachen. Ähnlich den öffentlichen Dateien 110 können die privaten Dateien 112 externe Dateien beinhalten, die die periodische Ausführungsroutine 106 von einem externen Datenbereich zu dem privaten Datenbereich 112 überträgt und/oder sie können Dateien enthalten, die die periodische Ausführungsroutine 106 aus den öffentlichen Dateien 110 und/oder den privaten Dateien 112 enthält.
  • Die öffentlichen Dateien 110 und die privaten Dateien 112 können aus jeder der Datenverarbeitung bekannten Art bestehen. Beispielsweise können Gleitkomma, Gleitkomma Arrays, 8 Bit, 16 Bit und/oder 32 Bit Vorzeichen behaftete oder nicht Vorzeichen behaftete (signed or unsigned) integers (singly or doubly dimensioned), ASCII strings, unicode strings, etc. in jeder verschiedenen Kombination verwendet werden. Darüber hinaus kann jedem der Datenelemente innerhalb der öffentlichen Dateien 110 und der privaten Dateien 112 ein Name zugewiesen sein, auf den durch die periodische Ausführungsroutine 106 oder eine andere periodische Ausführungsroutine innerhalb eines Funktionsblockes verwiesen werden kann.
  • Die Attributtabelle 114 erfasst die vom individuellen Funktionsblock 102 verwendeten Attribute in Informationen oder Dateien innerhalb des Steuersystems, in dem der individuelle Funktionsblock 102 realisiert ist. Genauer gesagt kann jedes der innerhalb des Funktionsblocks 102 definierten Attribute, beispielsweise einen Verweis beinhalten, der auf eine spezielle Spalte oder einen Teil der Attributtabelle 114 verweist, welche die Attribute in einer Datenquelle innerhalb des Steuersystems erfasst. Obwohl vorzugsweise eine eindeutige Übereinstimmung zwischen jedem der Attribute innerhalb des individuellen Funktionsblockes 102 und den Spalten der Attributtabelle 114 besteht, können andere Funktionsblöcke ebenfalls Verweise einfügen, die die von der Attributtabelle 114 zur Verfügung gestellte Erfassungsfunktion verwenden. Mit anderen Worten kann jede Spalte innerhalb der Attributtabelle 114 eine ein-mehrdeutige Beziehung haben, so dass jede Spalte der Attributtabelle 114 durch mehr als einen Funktionsblock bezeichnet oder auf diese verwiesen wird.
  • Um einen individuellen Funktionsblock 102 zu erstellen, zu erzeugen oder zu entwickeln, kann der Anwender einen Texteditor, eine graphische Benutzerschnittstelle oder jedes andere Verfahren verwenden, das das Betrachten und Manipulieren von Softwarequellcodedateien und/oder deren Darstellung ermöglicht. Wie in Fig. 1 gezeigt, kann der Anwender veranlassen, dass ausgewählte Dateien der Headerdateien 116, der Quelldateien 118 und der Bibliothekdateien 120 verknüpft werden, um den individuellen Funktionsblock 102 zu erstellen. Die Headerdateien 116 beinhalten Definitionen verschieden artiger Strukturen und Aufruf Interfaces (Calling Interfaces), die von einem Funktionsblock innerhalb des betreffenden Prozesssteuerungssystem (das ist das Prozesssteuersystem, in welchem Instanzen des individuellen Funktionsblockes 102 realisiert sind) verwendet werden. Auf der anderen Seite beinhalten die Bibliotheksdaten 120 Hilferoutinen, die dazu verwendet werden könnten, innerhalb des Prozesssteuerungssystems Routinenaktionen auszuführen. Beispielsweise können die Bibliotheksdateien 120 eine oder mehrere Routinen beinhalten, die das Einsetzen gewünschter Betriebsarten innerhalb des betreffenden Prozesssteuerungssystem vereinfachen.
  • Die Quelldateien 118 sind Softwarequellcodedateien, die die Initialisierungsroutine 104, die periodische Ausführungsroutine 106 und die Schreibüberprüfungsroutine 108 beinhalten. Die Quelldatei 118 kann auf einer high Level Programmsprache, beispielsweise C++, oder auf jeder anderen gewünschten Programmsprache basieren. Um dem Anwender das Erstellen eines individuellen Funktionsblockes, beispielsweise des Funktionsblockes 102, zu erleichtern, könnte jede Quelldatei 118 umfangreiche Kommentare beinhalten, die auf klare Weise den Vorteil und die Funktionen der innerhalb der Quelldatei 118 enthaltenen verschiedenen Softwarecodeteile erklären. Beispielsweise könnten der Kommentar eindeutig kennzeichnen, welche oder welcher Teil der Quelldateien 118 für die jeweiligen Routinen 104-108 verantwortlich ist. Darüber hinaus können Kommentare innerhalb der Quelldateien 118 explizit darauf hinweisen, an welcher Stelle der Anwender Quellcodes für gewünschte individuelle Algorithmen oder Funktionen innerhalb der periodischen Ausführungsroutine 106 eingeben soll. Weiter könnten die Kommentare die Verwendung einer oder mehrerer innerhalb der Bibliotlhekdateien 120 enthaltener Hilferoutinen empfehlen und könnte darüber hinaus empfehlen oder erklären, wie diese Hilfsroutinen innerhalb des individuellen Funktionsblockes 102 eingefügt werden können. Vorzugsweise aber nicht notwendigerweise können die Quelldateien 118 auch Referenzen und Verweise auf eine der Headerdateien 116 beinhalten, die dafür gebraucht werden, die individuellen Funktionsblöcke 102 zu erstellen, zu bilden und zu entwickeln.
  • Obgleich Fig. 1 einen einzelnen individuellen Funktionsblock 102 darstellt, der aus den Headerdateien 116, den Quelldateien 118 und/oder den Bibliotheksdateien 120 entwickelt, erstellt oder gebildet wurde, können wenn gewünscht eine Mehrzahl von individuellen Funktionsblöcken erstellt werden ist. Falls eine Mehrzahl von individuellen Funktionsblöcken erstellt wurde, können diese Funktionsblöcke in einer oder mehreren individuellen Funktionsblockbibliotheken zusammengefasst sein.
  • Darüber hinaus ist es erwähnenswert, dass die entsprechende, für die Headerdateien 116 und die Quelldateien 118 verwendete Programmiersprache, so gewählt wird, dass sie dem Anwender die Erstellung von individuellen Funktionsblöcken erleichtert. Beispielsweise ist C++ besonders für die objektorientierte Programmierung geeignet, da sie ein unmittelbares Rahmensystem für die Erstellung von Softwarealgorithmen für relativ komplexe Prozesssteuerungssysteme zur Verfügung stellt. Natürlich kann statt dessen jede andere Programmiersprache oder Programmierungsmethode verwendet werden.
  • Die Inhalte der Headerdateien 116, der Quelldateien 118 und der Bibliotheksdateien 120 sind so aufgebaut, dass sie den entsprechenden Anforderungen des betreffenden Steuersystems genüge leisten. Mit anderen Worten können die Bibliotheksdateien 120 Hilfsroutinen enthalten, die beispielsweise Betriebsartsteuerungsaktivitäten, Statusaktivitäten, Fehlersuchaktivitäten auf eine Weise durchführen, die mit den entsprechenden Anforderungen des betreffenden Steuersystems kompatibel ist. Ebenso können die Headerdateien 116 und die Quelldateien 118 einen Quellcode enthalten, der wenn er vom Steuersystem kompiliert, verknüpft und ausgeführt worden ist mit den entsprechenden Anforderungen des betreffenden Steuersystems kompatibel sein wird.
  • Daher können die hier beschriebenen individuellen Funktionsblöcke dazu verwendet werden, spezielle Funktionen, Anwendungsalgorithmen und/oder Prozesse, die durch den Anwender definiert sein können, straff in die Operationen eines Gesamtprozesssteuerungssystem zu integrieren und einzubinden. Im speziellen kann ein Anwender oder Bediener eines Steuersystems einen oder mehrere individuelle Funktionsblöcke oder Bibliotheken von individuellen Funktionsblöcken erstellen, entwickeln oder definieren, um dem Steuersystem innerhalb einer Standardfunktionsblockbibliothek durch den Hersteller oder Anbieter des Steuersystems anders nicht zur Verfügung gestellte neue Funktionsweisen hinzu zu fügen. Im speziellen kann der Anwender oder Bediener des Prozesssteuerungssystem einen oder mehrere individuelle Funktionsblöcke erstellen oder definieren, die das Prozesssteuersystem dazu befähigen Analysen oder Berechnungen durch zu führen, die unter Verwendung der vom Hersteller oder Anbieter des Steuersystems angebotene Standardfunktionsblöcke nicht durchgeführt werden könnten. Beispielsweise kann ein Anwender oder Bediener eines Prozesssteuerungssystem einen individuellen Funktionsblock erstellen, der eine Gewinnrechnung basierend auf einem oder mehreren Parametern innerhalb des Prozesssteuerungssystems durchführt. Natürlich können ein oder mehrere individuelle Funktionsblöcke vom Systemanwender oder Bediener definiert oder erstellt werden, um jede gewünschte Berechnung durch zu führen, die auf Parameterwerten basiert, die vom Prozesssteuerungssystem erhalten wurden und, wie weiter unten detailliert beschrieben, auf Parameterwerten basiert, die von anderen Geräten und/oder Systemen erhalten wurden, welche nicht auf gewöhnliche Art im Prozesssteuerungssystem integriert sind und somit mit diesem auch nicht auf gewöhnliche Art kommunizieren.
  • Die hier beschriebenen individuellen Funktionsblöcke können dazu verwendet werden, die Funktionsweise älterer Prozesssteuerungssysteme zu verbessern. Beispielsweise können einem älteren Steuersystem, das nur Standardsteuermöglichkeiten zur Verfügung stellt, erweiterte Steuerungsmöglichkeiten hinzu gefügt werden, indem man individuelle Funktionsblöcke erstellt, die die erweiterten Steuerungsfunktionen durchführen. Auf ähnliche Weise können die hier beschriebenen individuellen Funktionsblöcke dazu verwendet werden, die Funktionsweise von Standardkontrollsystemen oder Controllern, wie beispielsweise programmierbaren Logic Controllern, zu verbessern oder zu steigern. Eine größere Funktionalität könnte bei einem Standardcontroller oder Steuerungssystem beispielsweise durch das Erstellen einer individuellen Funktionsblockschicht erreicht werden, die zwischen dem Standardcontroller oder Kontrollsystem und anderen komplexeren Prozesssteuerungssystemen, Bedienerstationen, etc. geschaltet ist.
  • Der Systemanwender oder Bediener kann alternativ oder zusätzlich individuelle Funktionsblöcke oder Bibliotheken von individuellen Funktionsblöcken erstellen, die die Koppelung oder Integration eines Prozesssteuerungssystems mit anderen von anderen Herstellern zur Verfügung gestellten Geräten, Anlagen und/oder Systemen ermöglichen. Falls die hier beschriebenen individuellen Funktionsblöcke dazu verwendet werden, ein Prozesssteuerungssystem, das dem System eines bestimmten Herstellers oder Zulieferers angeschlossen ist, mit einem System oder Gerät zu koppeln oder einzubinden, das zu einem System eines anderen Herstellers oder Zulieferers gehört, können die individuellen Funktionsblöcke vom Anwender des Prozesssteuerungssystems dazu definiert oder erstellt werden, Dateien oder Parameter, die von dem anderen System oder Gerät zur Verwendung im Prozesssteuerungssystem zur Verfügung gestellt worden sind, zu steuern, zu erfassen, zu übersetzen und/oder neu zu formatieren. Auf ähnliche Weise können die individuellen Funktionsblöcke auch dazu dienen, vom Prozesssteuerungssystem zur Verfügung gestellte Dateien oder Parameter, für die Verwendung durch andere Systeme oder Geräte zu steuern, zu erfassen, zu übersetzen und/oder neu zu formatieren.
  • Beispielsweise kann der hier beschriebene individuelle Funktionsblock dazu verwendet werden, einen zu einem ersten Prozesssteuerungssystem gehörenden Funktionsblock mit einem zu einem zweiten Prozesssteuerungssystem gehörenden Funktionsblock zu koppeln, wobei das erste und zweite Prozesssteuerungssystem durch unterschiedliche Hersteller oder Anbieter zur Verfügung gestellt sein können. Auf diese Weise können beispielsweise PID Steuerschleifen innerhalb des ersten und zweiten Prozesssteuerungssystem kaskadiert werden. Natürlich können die hier beschriebenen individuellen Funktionsblöcke dazu verwendet werden, komplexere Vernetzungen zwischen vielen Funktionsblöcken zu erstellen, die mit vielen, unterschiedlichen Prozesssteuerungssystemen verknüpft sind. Beispielsweise können zwei oder mehr Funktionsblöcke die mit verschiedenen entsprechenden Kontrollsystemen, Geräten oder Anlagen verknüpft sind, miteinander kommunikativ verlinkt sein, um einen oder mehrere Prozesssteuerungsschritte durch zu führen.
  • Man sollte bedenken, dass es die hier beschriebenen Funktionsblöcke im Gegensatz zu früheren Systemen und Verfahren ermöglichen, Funktionsblöcke verschiedener Herkunft miteinander zu vernetzen. Mit anderen Worten kann ein mit einem Feldbussystem verknüpfter Funktionsblock über eine oder mehrere Funktionsblöcke mit einer beispielsweise mit einem PROVOX System verknüpften Funktion verbunden werden. Wie oben erwähnt, stellen die hier beschriebenen individuellen Funktionsblöcke einen Standardshell oder eine Parameterschnittstelle zur Verfügung, die zur nahtlosen Übertragung von Information von einem Steuerungssystem oder Gerät zu einem anderen Steuerungssystem oder Gerät verwendet werden kann. Beispielsweise können sich die die mit dem Mode-, Status- und BLOCK_ERR-Parameter eines Feldbus-Funktionsblockes verknüpften Konventionen, deutlich von den Konventionen und/oder den korrespondierenden mit einem Nicht-Feldbus-Funktionsblock verknüpften Parametern unterscheiden. Ein oder mehrere der hier beschriebenen individuellen Funktionsblöcke können dazu erstellt werden, Dateien oder Information, die zwischen Feldbus Funktionsblöcken und nicht Feldbus Funktionsblöcken übertragen werden, zu erfassen, zu übersetzen und/oder zu unterdrücken. Auf diese Weise werden Feldbusparameter wie beispielsweise Mode, Status und BLOCK ERR mit den entsprechenden Parametern von nicht Feldbus Funktionsblöcken erfasst oder verknüpft.
  • Die hier beschriebenen individuellen Funktionsblöcke ermöglichen es Anwendungen oder Algorithmen die bezüglich einer Prozesssteuerungssystemanwendung extern angeordnet sind (das bedeutet dass sie nicht als Teil der Software die die Prozesssteuerschritte durchführt ausgeführt werden oder in dieser integriert sind) in die Prozesssteuerungssystemanwendung fest oder nahtlos zu integrieren. Da die hier beschriebenen individuellen Funktionsblöcke wie Standardfunktionsblöcke verarbeitet oder verwendet werden, ermöglichen es die individuellen Funktionsblöcke einem externen System, einer Anwendung oder einem Algorithmus als Teil der Prozesssteuerungssystemsoftware zu erscheinen und ermöglichen die synchrone Ausführung der externen Systeme, Anwendungen oder Algorithmen mit dem Gesamtsteuerprozessprogramm.
  • Die enge oder nahtlose Integration von externen Systemen, Anwendungen oder Algorithmen mit einem Prozesssteuerungssystem durch die hier beschriebenen individuellen Funktionsblöcke, ermöglichen die Integration dieser externen Systeme, Anwendungen oder Algorithmen mit den Alarmmanagementaktivitäten (alarm management activities), die durch das Prozesssteuerungssystem durchgeführt werden; sie ermöglicht dem Systemanwender oder Bediener die Verwendung der mit dem Prozesssteuerungssystem zur Verfügung gestellten Standardkonfigurationswerkzeuge, Fehlersuchwerkzeuge, Simulationswerkzeuge, etc. in Verbindung mit den individuellen Funktionsblöcken und daher mit den externen Systemen, Anwendungen oder Algorithmen auf die sie sich beziehen. Beispielsweise kann eine Zustandsüberwachungseinrichtung, beispielsweise eine Rotationsüberwachungseinrichtung (rotating equipment monitoring application), durch einen oder mehrere individuelle Funktionsblöcke in ein Prozesssteuerungssystem eingebunden werden, so dass die von der Zustandsüberwachungseinrichtung kontrollierten Parameter zur Auslösung eines Baugruppenalarms (device alert) innerhalb des Prozesssteuerungssystems verwendet werden können. Darüber hinaus ermöglicht die Integration von externen Systemen, Anwendungen oder Algorithmen unter Verwendung der hier beschriebenen individuellen Funktionsblöcke diesen externen Systemen, Anwendungen oder Algorithmen an den durch das Prozesssteuerungssystem zur Verfügung gestellten Redundanzfunktionen (redundancy functions) teilzuhaben und erleichtert durch das Verwenden einer Benutzerschnittstelle und/oder eines vom Prozesssteuerungssystem zur Verfügung gestellten Dokumentationssystems, das Beobachten von auf die Funktionsblöcke bezogener Informationen, die mit den externen Systemen, Anwendungen oder Algorithmen verknüpft sind. Weitergehend kann die enge Verflechtung zwischen einem Prozesssteuerungssystem und einem durch die hier beschriebenen individuellen Funktionsblöcke zur Verfügung gestellten externen System, einer Anwendung oder einem Algorithmus, zum Vereinfachen des Verwaltens des Prozesssteuerungssystems während eines Konfigurationsdownloads verwendet werden. Beispielsweise können die individuellen Funktionsblöcke, die mit einem externen System, einer Anwendung oder einem Algorithmus verknüpft sind, dazu verwendet werden, einen letzten mit dem externen System, der Anwendung oder dem Algorithmus verknüpften Wert während eines Downloads zu erhalten.
  • Daher können die hier beschriebenen individuellen Funktionsblöcke kommunikativ zwischen einer Prozesssteuerungssystemanwendung und einer Datenquelle geschaltet sein. Im speziellen kann die Information von der Datenquelle, die auch eine Steuerinformation sein kann, zu einem individuellen Funktionsblock übertragen werden, und der Funktionsblock kann wenigstens ein Teil der Information von der Datenquelle verarbeiten, basierend auf einer Funktion innerhalb des individuellen Funktionsblockes. Wenigstens ein Teil der verarbeiteten Information kann dann zu einer Prozesssteuerungssystemanwendung übertragen werden. Die Datenquelle kann ein Funktionsblock, ein Gerät oder ein Parameter sein, der mit der Prozesssteuerungssystemanwendung verknüpft ist. Alternativ kann die Datenquelle bezüglich der Prozesssteuerungssystemanwendung ein externes System, Gerät, Algorithmus oder eine Anwendung sein.
  • Das Verarbeiten der von einer Datenquelle erhaltenen Information durch einen individuellen Funktionsblock, kann das Erfassen eines Teils der von der Datenquelle erhaltenen Information und/oder das Erfassen eines Teils der verarbeiteten Information in einem oder mehreren Parametern umfassen, die mit dem Prozesssteuerungssystem verknüpft sind oder von diesem verwendet werden. Ein individueller Funktionsblock könnte alternativ oder zusätzlich einen Wert für die Verwendung durch einen mit einer Prozesssteuerungssystemanwendung verknüpften Parameter berechnen. Die durch die individuellen Funktionsblöcke durchgeführten Berechnungen, können Berechnungen sein, die normalerweise nicht durchgeführt werden oder die ohne die Verwendung der hier beschriebenen individuellen Funktionsblöcke nicht durch geführt werden können. So werden die hier beschriebenen individuellen Funktionsblöcke generell dafür verwendet, Information zwischen einer Prozesssteuerungssystemanwendung und einer Datenquelle auszutauschen, wobei dies auf Arbeitsschritten basiert, die durch die individuellen Funktionsblöcke ausgeführt werden. Auf diese Weise erlauben die hier beschriebenen individuellen Funktionsblöcke eine operative Integration von bezüglich einer Prozesssteuerungssystemanwendung externen Datenquellen in die Prozesssteuerungssystemanwendung. Wenn gewünscht, können die hier beschriebenen individuellen Funktionsblöcke einen Wert berechnen, der auf Information basiert, die von einer Datenquelle erhalten wurden und können diesen Wert mit einem Parameter verknüpfen, der von einer mit dem Funktionsblock verknüpften Prozesssteuerungssystemanwendung verwendet wird. Generell gesehen können die hier beschriebenen individuellen Funktionsblöcke eine oder mehrere Funktionen durchführen, wie beispielsweise Datenerfassungsfunktionen, Datenkonvertierungsfunktionen, Datenübersetzungsfunktionen, etc.
  • Fig. 2 ist ein beispielhaftes Flussdiagramm 200 das eine Methode darstellt, mit der ein Anbieter oder Hersteller eines Steuerungssystems innerhalb seines Steuerungssystems die Verwendung von individuellen Funktionsblöcken steuern kann. In Block 202 kann ein Anwender oder Bediener eines Steuerungssystems einen individuellen Funktionsblock, wie beispielsweise den individuellen Funktionsblock 102 aus Fig. 1, entwickeln, erstellen oder bilden. Dieser Erstellungsvorgang kann durch eine graphische Benutzerschnittstelle, einen Texteditor oder ähnlichem vereinfacht werden, das es dem Anwender beispielsweise ermöglicht, Icons (Symbole), die die Komponenten der Funktionsblöcke darstellen, anzuklicken und aus Bibliotheksdateien oder anderen Dateien herauszuziehen um die Icons zusammenzustellen und so aus den Dateien die sie repräsentieren einen Funktionsblock zu bilden. Darüber hinaus kann der Anwender dazu befähigt sein, Quellcodedateien zu bearbeiten und zu verändern, um spezielle Funktionen, Algorithmen oder Prozeduren einzufügen, die nicht von einem Standardfunktionsblock zur Verfügung gestellt sind.
  • In Block 204 wird die gesamte Quellcodedatei oder die in Block 202 entwickelte, erstellte oder gebildete Dateien wurden, kompiliert und verknüpft, um eine entsprechende Objektcodedatei oder Dateien zu bilden (beispielsweise eine oder mehrere dynamic link library (DLL) Dateien). Vorzugsweise aber nicht zwingend kann das Kompilieren und Verknüpfen der Quellcodedatei oder der Dateien vom Anwender ausgeführt werden oder stattdessen von einer anderen Instanz, wenn dies gewünscht ist. In Block 206 wird die kompilierte und verknüpfte Quellcodedatei oder die Dateien, die mit den individuellen Funktionsblöcken verknüpft sind, zum Anbieter des betreffenden Prozesssteuerungssystems übertragen. Der Anwenden kann der Installateur, der Hersteller und/oder jede andere, vom Anwender verschiedene Instanz sein, die mit dem betreffenden Prozesssteuerungssystem verknüpft ist.
  • Nebenbei kann die Übertragung der kompilierten und verknüpften Quellcodedatei oder der Dateien unter Verwendung jeglicher gewünschter Verfahren erfolgen, wie beispielsweise durch eine elektronische Übertragung über ein drahtloses und/oder drahtgebundenes Kommunikationsnetzwerk, das die Verwendung des Internets beinhalten kann, durch eine Übertragung mit Hilfe einer Art von materiellen Speichermedien, wie beispielsweise magnetische oder optische Speicherdisks oder Geräte, oder durch eine Übermittlung mit Hilfe eines Papierausdrucks, etc.
  • In Block 208 kann die Instanz, die den kompilierten und verknüpften Quellcode für den individuellen Funktionsblock enthält, bestätigen, dass der individuelle Funktionsblock innerhalb des betreffenden Steuerungssystems einwandfrei arbeiten wird. Außerdem kann die empfangende Instanz feststellen, ob der ausgeführte individuelle Funktionsblock keine Lizenzbedingungen und -Konditionen verletzt, die zwischen der empfangenen Instanz und der für die Erstellung der individuellen Funktionsblöcke verantwortlichen Instanz in Kraft sind. Wenn der individuelle Funktionsblock nicht gültig ist, übergibt Block 210 die Kontrolle an Block 212 in welchem der Anwender davon in Kenntnis gesetzt wird, dass der individuelle Funktionsblock die Lizenzerfordernisse nicht erfüllt und/oder dass der individuelle Funktionsblock innerhalb des betreffenden Prozesssteuerungssystems nicht einwandfrei arbeiten wird.
  • Wenn andererseits der individuelle Funktionsblock gültig ist (d. h., dass der Lizenz und/oder der Betriebsanforderungen entsprochen oder diese nicht verletzt wurde) übergibt Block 210 die Steuerung an Block 214. In Block 214 wird die Instanz, die die kompilierte und verknüpfte Quellcodedatei für den individuellen Funktionsblock empfängt, eine digitale Signatur an die kompilierte und verknüpfte individuelle Funktionsblockdatei anhängen oder dieser hinzu fügen. Natürlich kann jede andere Art von Sicherheits- oder Überprüfungsinformation anstelle einer digitalen Signatur verwendet werden. Alternativ kann die digitale Signatur oder eine andere Sicherheits-/Prüfungsinformation in einer eigenen digitalen Datei zur Verfügung gestellt werden, die auf einem eigenen Speichergerät oder Medium ausgebildet ist.
  • In Block 216 wird der für gültig befundene individuelle Funktionsblock Zurück zum Anwender oder zu der Instanz übertragen, die für das Erstellen oder Bilden der individuellen Funktionsblöcke verantwortlich ist. Der individuelle Funktionsblock wird mit einer digitalen Signatur oder einer anderen Sicherungsinformation wie sie oben beschrieben wurde Zurück übertragen. Wie die Datenübertragung in Block 206 wird die Datenübertragung in Block 216 unter Verwendung jeglicher gewünschter Kommunikationsverfahren, drahtlose und/oder drahtgebundene elektronische Übertragungen mit eingenommen, ausgeführt.
  • In Block 218 fügt der Anwender oder die Instanz, die für das Erstellen des individuellen Funktionsblocks verantwortlich ist, den individuellen Funktionsblock in das betreffende Steuerungssystem ein, so dass der Systemanwender den individuellen Funktionsblock auf eine Art und Weise auswählen und verwenden kann, die ähnlich oder identisch zu der Art und Weise ist, mit der Standardfunktionsblöcke verwendet werden, um Prozesssteuerungsprozeduren, Algorithmen, etc. zu entwerfen und auszuführen. Vorzugsweise aber nicht zwingend wird das in Fig. 2 beispielhaft gezeigte Verfahren von individuellen als freigegebene oder Produktionsfunktionsblöcke in Betracht kommenden Funktionsblöcken angewendet. Daher muss das in Fig. 2 beispielhaft dargestellte Verfahren nicht unbedingt zur Entwicklung innerhalb eines debugging modes oder anderer Entwicklungsmodes verwendet werden. So kann der Anwender während des Entwicklungsprozesses der Kontrollsystemprozeduren frei experimentieren, wobei er individuelle Funktionsblöcke verwendet, ohne zeitraubende Datenübertragungen, Bestätigungsprozeduren, etc. in Anspruch nehmen zu müssen. Wenn dann der Anwender einen individuellen Funktionsblock oder eine Bibliothek individueller Funktionsblöcke entwickelt hat, die in das Steuerungssystem eingebunden werden sollen und in einer freien oder Produktionskapazität (released or production capacity) verwendet werden soll, wird der Anwender gezwungen, einer Prozedur zu folgen, die ähnlich oder identisch zu der ist, die in Fig. 2 gezeigt und beschrieben ist.
  • Obwohl das Verfahren wie es beispielhaft in Fig. 2 dargestellt ist in Verbindung mit dem Erstellen und dem Validieren eines einzelnen individuellen Funktionsblockes beschrieben ist, ist das in Fig. 2 aufgeführte Verfahren allgemeiner anwendbar. Beispielsweise könnten eine Vielzahl von individuellen Funktionsblöcken unter Verwendung des in Fig. 2 gezeigten Verfahrens im wesentlichen gleichzeitig erstellt und validiert werden. Darüber hinaus könnten, wenn gewünscht, einige oder alle aus der Vielzahl der Funktionsblöcke innerhalb einer einzelnen Bibliothek oder in vielen Bibliotheken enthalten sein.
  • Als Beispiel könnten die individuellen Funktionsblöcke und die hier beschriebene Methode des Erstellens der individuellen Funktionsblöcke zum Vereinfachen von Validierungsprozeduren verwendet werden, wie beispielsweise die von der Food and Drug Administration (FDA) geforderten Validierungsprozeduren. Ferner ermöglichen die individuellen Funktionsblöcke und das hier beschriebene Erstellungsverfahren Funktionsblöcke in kompilierter Form zu entwickeln und zu vertreiben, wodurch es für andere Instanzen als den Ersteller der individuellen Funktionsblöcke schwerer, vielleicht sogar unmöglich wird, diese nach zu bauen oder festzustellen, wie die individuellen Funktionsblöcke funktionieren. Folglich könnten die hier beschriebenen Funktionsblöcke in kompilierter Form entwickelt und vertrieben werden, so dass sie es dem Entwickler ermöglichen, den entwickelten Funktionsblock urheberrechtlich geschützt zu erhalten.
  • Wenn sie in einer Software implementiert sind, können die Funktionsblöcke und die hier diskutierten Softwareroutinen in jedem computerlesbaren Speicher, wie beispielsweise eine Magnetdisk, eine Laserdisk oder andere Speichermedien, in einem RAM oder ROM auf einem Computer, Controller, einer Feldeinrichtung, etc. gespeichert werden. Ebenfalls kann diese Software einem Anwender oder zu einem Gerät mit Hilfe jedes bekannten oder gewünschten Zustellungsverfahrens geliefert werden, eingenommen beispielsweise ein Übertragungskanal, wie beispielsweise eine Telefonleitung, das Internet, etc.
  • Während die Erfindung mit Bezug auf spezielle Beispiele beschrieben wurde, die lediglich zur Illustration dienen und die Erfindung nicht eingrenzen, ist es für jemanden mit durchschnittlicher Fachkenntnis offensichtlich, dass Änderungen, Ergänzungen oder Streichungen an den offenbarten Ausführungsformen vorgenommen werden können ohne von Sinn und Bereich der Erfindung abzuweichen.

Claims (45)

1. Verfahren zum Erstellen eines Funktionsblockes zur Verwendung mit einem Prozesssteuerungssystem, mit folgenden Schritten:
Auswahl einer Initialisierungsroutine aus einer Vielzahl von Quelldateien;
Auswahl einer periodischen Ausführungsroutine aus einer Vielzahl von Quelldateien;
Auswahl einer Schreibüberprüfungsroutine aus einer Vielzahl von Quelldateien;
Verknüpfen der Initialisierungsroutine, der periodischen Ausführungsroutine und
der Schreibüberprüfungsroutine mit dem Funktionsblock und Verändern entweder der Initialisierungsroutine, der periodischen Ausführungsroutine oder der Schreibüberprüfungsroutine, so dass eine Prozedur eingefügt wird, die vom Prozesssteuerungssystem nicht zur Verfügung gestellt ist.
2. Verfahren nach Anspruch 1, das ferner folgendes aufweist:
Wählen einer Headerdatei aus einer Vielzahl von Headerdateien und Verknüpfen der Headerdatei mit dem Funktionsblock.
3. Verfahren nach Anspruch 1, das ferner folgendes aufweist:
Auswählen einer Bibliotheksdatei aus einer Mehrzahl von Bibliotheksdateien und Verknüpfen der Bibliotheksdatei mit dem Funktionsblock.
4. Verfahren nach Anspruch 1, wobei die periodische Ausführungsroutine einen Verweis auf eine Attributtabelle beinhaltet, die mit dem Funktionsblock verknüpft ist.
5. Verfahren nach Anspruch 1, das ferner folgendes aufweist:
Bezeichnen der vom Funktionsblock verwendeten Daten als entweder private Daten oder öffentliche Daten.
6. Verfahren nach Anspruch 1, wobei das Verändern einer der Routinen, bestehend aus der Initialisierungsroutine, der periodischen Ausführungsroutine und der Schreibüberprüfungsroutine, die Verwendung einer graphischen Benutzerschnittstelle beinhaltet, um die vom Prozesssteuerungssystem nicht zur Verfügung gestellte Prozedur einzufügen.
7. Verfahren nach Anspruch 1, wobei das Verändern einer der Routinen, bestehend aus der Initialisierungsroutine, der periodischen Ausführungsroutine und der Schreibüberprüfungsroutine, das Hinzufügen eines Softwarebefehls in einer höheren Programmiersprache zu der periodischen Ausführungsroutine beinhaltet, um die vom Prozesssteuerungssystem nicht zur Verfügung gestellte Prozedur einzufügen.
8. Verfahren für das Erstellen eines Funktionsblocks zur Verwendung in einem Prozesssteuerungssystem, mit den Schritten:
Kombinieren einer Mehrzahl von Dateien aus einer Gruppe von Dateien, die von einem Anbieter des Prozesssteuerungssystems erstellt worden sind, um eine Datei zu erstellen, die mit dem Funktionsblock verknüpft ist; und
Modifizieren einer der Dateien innerhalb der mit dem Funktionsblock verknüpften Datei, um eine Prozedur einzufügen, die in dieser Gruppe von Dateien nicht enthalten ist.
9. Verfahren nach Anspruch 8, wobei das Kombinieren der Vielzahl von Dateien aus der Gruppe der Dateien, die vom Anbieter des Prozesssteuerungssystems erstellt wurden, um die Datei zu erstellen, die mit dem Funktionsblock verknüpft ist, das Kombinieren von Quelldateien und Headerdateien beinhaltet, die dazu angepasst sind, vom Prozesssteuerungssystem ausgeführt zu werden, um eine Funktion aus der Gruppe der Blockinitialisierungsaktivitäten, der periodischen Ausführungsaktivitäten und der Schreibüberprüfungsaktivitäten auszuführen.
10. Verfahren nach Anspruch 9, wobei das Kombinieren der Vielzahl von Dateien aus der Gruppe von Dateien, die vom Anbieter des Prozesssteuerungssystems erstellt wurden, um die Datei zu erstellen, die mit dem Funktionsblock verknüpft ist, ferner das Kombinieren einer Bibliotheksdatei mit den Quelldateien und den Headerdateien aufweist.
11. Verfahren nach Anspruch 8, das ferner das Verknüpfen einer Attributtabelle aufweist, die wenigstens ein Attribut aufweist, das von einer aus der Vielzahl der mit dem Funktionsblock verknüpften Dateien verwendet wird.
12. Verfahren nach Anspruch 8, wobei das Kombinieren der Vielzahl von Dateien aus der Gruppe von Dateien, die vom Anbieter des Prozesssteuerungssystems erstellt wurden, um die Datei zu erstellen, die mit dem Funktionsblock verknüpft ist, das Verwenden entweder einer graphischen Benutzerschnittstelle oder eines Texteditors beinhaltet, um jede Datei aus der Vielzahl der Dateien auszuwählen.
13. Verfahren nach Anspruch 8, wobei das Kombinieren der Vielzahl von Dateien aus der Gruppe von Dateien, die vom Anbieter des Prozesssteuerungssystems erstellt wurden, um die Datei zu erstellen, die mit dem Funktionsblock verknüpft ist, die Auswahl einer ersten Datei, die eine Funktionsblockinitialisierungsroutine beinhaltet, einer zweiten Datei, die eine periodische Ausführungsroutine beinhaltet und einer dritten Datei, die eine Schreibüberprüfungsroutine beinhaltet, umfasst.
14. Verfahren nach Anspruch 13, wobei das Auswählen der ersten, zweiten und dritten Datei ferner die Auswahl der ersten, zweiten und dritten Datei aus einer Vielzahl von Quelldateien beinhaltet.
15. Verfahren nach Anspruch 8, das ferner das Verwenden eines Verweises aufweist, um ein Attribut des Funktionsblockes mit Informationen innerhalb des Steuerungssystems über eine Attributtabelle zu verknüpfen.
16. System für das Erstellen eines Funktionsblockes zur Verwendung mit einem Prozesssteuerungssystem mit:
einem computerlesbaren Medium;
einer ersten Software, die auf dem computerlesbaren Medium gespeichert und dazu angepasst ist, vom Prozesssteuerungssystem ausgeführt zu werden, um eine Initialisierungsroutine aus einer Vielzahl von Quelldateien auszuwählen;
eine zweite Software, die auf dem computerlesbaren Medium gespeichert und dazu angepasst ist, von dem Prozesssteuerungssystem ausgeführt zu werden, um eine periodische Ausführungsroutine aus einer Vielzahl von Quelldateien auszuwählen;
eine dritte Software, die auf dem computerlesbaren Medium gespeichert und dazu angepasst ist, vom Prozesssteuerungssystem ausgeführt zu werden, um eine Schreibüberprüfungsroutine aus einer Vielzahl von Quelldateien auszuwählen;
eine vierte Software, die auf dem computerlesbaren Medium gespeichert und dazu angepasst ist, vom Prozesssteuerungssystem ausgeführt zu werden, um die Initialisierungsroutine, die periodische Ausführungsroutine und die Schreibüberprüfungsroutine mit dem Funktionsblock zu verknüpfen; und
eine fünfte Software, die auf dem computerlesbaren Medium gespeichert und dazu angepasst ist, vom Prozesssteuerungssystem ausgeführt zu werden, um eine der Routinen, bestehend aus der Initialisierungsroutine, der periodischen Ausführungsroutine und der Schreibüberprüfungsroutine, zu modifizieren, um eine Prozedur einzufügen, die vom Prozesssteuerungssystem nicht zur Verfügung gestellt wird.
17. System nach Anspruch 16, mit einer dritten Software, die auf dem computerlesbaren Medium gespeichert und dazu ausgebildet ist vom Prozesssteuerungssystem ausgeführt zu werden, um eine Headerdatei aus einer Vielzahl von Headerdateien auszuwählen und die Headerdatei mit dem Funktionsblock zu verknüpfen.
18. System nach Anspruch 16, mit einer siebenten Software, die auf dem computerlesbaren Medium gespeichert und dazu ausgebildet ist, vom Prozesssteuerungssystem ausgeführt zu werden, um eine Bibliotheksdatei aus einer Vielzahl von Bibliotheksdateien auszuwählen und die Bibliotheksdatei mit dem Funktionsblock zu verknüpfen.
19. System nach Anspruch 16, wobei die fünfte Software des weiteren angepasst ist, eine der Routinen, bestehend aus der Initialisierungsroutine, der periodischen Ausführungsroutine und der Schreibüberprüfungsroutine, zu modifizieren, um die vom Prozesssteuerungssystem nicht zur Verfügung gestellte Prozedur unter Verwendung einer graphischen Benutzerschnittstelle einzufügen.
20. System nach Anspruch 16, wobei die fünfte Software dazu ausgebildet ist, eine der Routinen, bestehend aus der Initialisierungsroutine, der periodischen Ausführungsroutine und der Schreibüberprüfungsroutine, zu verändern, indem eine Softwareanleitung in einer höheren Programmiersprache zu der periodischen Ausführungsroutine hinzugefügt wird.
21. Verfahren zum Eingliedern eines Funktionsblockes in ein Prozesssteuerungssystem, mit folgenden Schritten:
Erstellen des Funktionsblockes durch das Kombinieren einer Vielzahl von Dateien aus einer Gruppe von Dateien, die von einem Anbieter des Prozesssteuerungssystems erstellt wurden, um eine mit dem Funktionsblock verknüpfte Quellcodedatei zu erstellen, und Modifizieren einer aus der Vielzahl der Dateien innerhalb der Quellcodedatei, um eine in der Gruppe der Dateien nicht enthaltene Prozedur einzufügen;
Kompilieren und Verlinken der Quellcodedatei um eine kompilierte/verknüpfte Funktionsblockdatei zu erstellen;
Übertragen des kompilierten/verlinkten Funktionsblockes zum Anwender des Prozesssteuerungssystems;
Validieren der kompililerten/verlinkten Funktionsblockdatei;
Anhängen einer Sicherungsinformation an den kompilierten/verlinkten Funktionsblock, um eine für gültig befundene Funktionsblockdatei zu erstellen;
Übertragen der für gültig befundenen Funktionsblockdatei zu einem Anwender des Prozesssteuerungssystems; und
Eingliedern der für gültig befundenen Funktionsblockdatei in das Prozesssteuerungssystem.
22. Verfahren nach Anspruch 21, wobei das Übertragen der kompilierten/verlinkten Funktionsblockdatei zum Anbieter des Prozesssteuerungssystems das Übertragen der kompilierten/verlinkten Funktionsblockdatei unter Verwendung eines drahtlosen oder drahtgebundenen Kommunikationsverfahrens beinhaltet.
23. Verfahren nach Anspruch 21, wobei das Validieren der kompilierten/verlinkten Funktionsblockdatei das Feststellen beinhaltet, ob der Funktionsblock Lizenzbedingungen oder Betriebseigenschaften des Prozesssteuerungssystems entspricht.
24. Verfahren nach Anspruch 21, wobei das Anhängen der Sicherungsinformation an die kompilierte/verknüpfte Funktionsblockdatei, um eine für gültig befundene Funktionsblockdatei zu erstellen, das Verknüpfen einer digitalen Signatur mit dem Funktionsblock beinhaltet.
25. Verfahren zur Verwendung eines Funktionsblockes in einem Prozesssteuerungssystem, mit folgenden Schritten:
Empfang von Funktionsblockinformationen von einem Anwender des Prozesssteuerungssystems;
Feststellen, ob die Funktionsblockinformation gültig ist;
Erstellen einer Sicherungsinformation in Reaktion auf eine Feststellung, dass die Funktionsblockinformation gültig ist;
Verknüpfen der erstellten Sicherungsinformation mit dem Funktionsblock; und
Senden der erstellten Sicherungsinformation an den Anwender, wenn die Funktionsblockinformation gültig ist.
26. Verfahren nach Anspruch 25, wobei das Erstellen der Sicherungsinformation als Antwort auf die Feststellung, dass die Funktionsblockinformation gültig ist, das Erstellen einer digitalen Signatur beinhaltet.
27. Verfahren nach Anspruch 25, wobei das Verknüpfen der erstellten Sicherungsinformation mit dem Funktionsblock das Hinzufügen der erstellten Sicherungsinformation zur Funktionsblockinformation beinhaltet.
28. Verfahren nach Anspruch 25, wobei das Feststellen, ob die individuelle Funktionsblockinformation gültig ist, das Feststellen beinhaltet, ob die individuelle Funktionsblockinformation Lizenzbedingungen oder Betriebseigenschaften des Prozesssteuerungssystems erfüllt.
29. Verfahren zur Verwendung eines individuellen Funktionsblockes, mit den Schritten:
Übermitteln von Information von einer Datenquelle zu dem individuellen Funktionsblock;
Verarbeiten der Information von der Datenquelle basierend auf einer Funktion innerhalb des individuellen Funktionsblockes; und
Übermitteln wenigstens eines Teils der verarbeiteten Information zu einer Prozesssteuerungsanwendung.
30. Verfahren nach Anspruch 29, wobei das Übermitteln der Information von der Datenquelle zu dem individuellen Funktionsblock das Übermitteln der Information von einer bezüglich der Prozesssteuerungssystemanwendung externen Anwendung, einem Algorithmus, einem Gerät oder einem System zu dem individuellen Funktionsblock beinhaltet.
31. Verfahren nach Anspruch 29, wobei das Übermitteln der Informationen von der Datenquelle zu dem individuellen Funktionsblock das Übermitteln von Prozesssteuerungsinformation beinhaltet.
32. Verfahren nach Anspruch 29, wobei das Verarbeiten der Information der Datenquelle, basierend auf der Funktion innerhalb des individuellen Funktionsblockes, das Erfassen der Information in einem mit der Prozesssteuerungssystemanwendung verknüpften Parameter beinhaltet.
33. Verfahren nach Anspruch 29, wobei das Verarbeiten der Information der Datenquelle, basierend auf der Funktion innerhalb des individuellen Funktionsblockes, das Berechnen eines Parameters aufgrund der Information der von der Prozesssteuerungssystemanwendung verwendeten Datenquelle beinhaltet.
34. Verfahren nach Anspruch 29, wobei das Übermitteln der Information von der Datenquelle zu dem individuellen Funktionsblock das Übermitteln von Information von entweder einem Gerät, einem Funktionsblock oder einem Parameter innerhalb des Prozesssteuerungssystems zu dem individuellen Funktionsblock beinhaltet.
35. Verfahren nach Anspruch 34, wobei das Verarbeiten der Information der Datenquelle, basierend auf der Funktion innerhalb des individuellen Funktionsblockes, das Durchführen einer Berechnung beinhaltet, die nicht von der Prozesssteuerungssystemanwendung durchgeführt wird.
36. Verfahren zur Verwendung eines individuellen Funktionsblockes, mit den Schritten:
kommunikatives Dazwischenschalten des individuellen Funktionsblockes zwischen eine Prozesssteuerungssystemanwendung und eine Datenquelle; und
Übermitteln von Information zwischen der Prozesssteuerungssystemanwendung und der Datenquelle, basierend auf einer Funktion, die durch den individuellen Funktionsblock ausgeführt wird.
37. Verfahren nach Anspruch 36, wobei das kommunikative Dazwischenschalten des individuellen Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und die Datenquelle das kommunikative Dazwischenschalten des individuellen Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und entweder einen Funktionsblock, ein Gerät oder einen Parameter beinhaltet, der mit der Prozesssteuerungssystemanwendung verknüpft ist.
38. Verfahren nach Anspruch 36, wobei das kommunikative Dazwischenschalten des individuellen Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und die Datenquelle das kommunikative Dazwischenschalten des individuellen Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und entweder ein System, ein Gerät oder eine Anwendung beinhaltet, die bezüglich der Prozesssteuerungssystemanwendung extern sind.
39. Verfahren nach Anspruch 36, wobei das Übermitteln von Information zwischen der Prozesssteuerungssystemanwendung und der Datenquelle basierend auf der Funktion, die vom individuellen Funktionsblock durchgeführt wird, das Erfassen wenigstens eines Teil der Information in einem Parameter beinhaltet, der von der Prozesssteuerungssystemanwendung verwendet wird.
40. Verfahren nach Anspruch 36, wobei das Übermitteln von Information zwischen der Prozesssteuerungssystemanwendung und der Datenquelle, basierend auf der Funktion, die vom individuellen Funktionsblock durchgeführt wird, das Berechnen eines Wertes aufgrund wenigstens eines Teils der Information beinhaltet und das Verknüpfen dieses Wertes mit einem Parameter umfasst, der von der Prozesssteuerungssystemanwendung verwendet wird.
41. Verfahren zur Verwendung eines Funktionsblockes, mit den Schritten:
Kommunikatives Dazwischenschalten des Funktionsblockes zwischen eine Prozesssteuerungssystemanwendung und eine bezüglich der Prozesssteuerungssystemanwendung externe Datenquelle; und
Übermitteln der Information zwischen der Prozesssteuerungssystemanwendung und der bezüglich der Prozesssteuerungssystemanwendung externen Datenquelle, basierend auf einer Funktion, die vom Funktionsblock durchgeführt wird.
42. Verfahren nach Anspruch 41, wobei das kommunikative Dazwischenschalten des Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und die bezüglich der Prozesssteuerungssystemanwendung externe Datenquelle das kommunikative Dazwischenschalten des Funktionsblockes zwischen die Prozesssteuerungssystemanwendung und entweder ein System, ein Gerät oder eine Anwendung beinhaltet, die bezüglich der Prozesssteuerungssystemanwendung extern sind.
43. Verfahren nach Anspruch 41, wobei das Übermitteln der Information zwischen der Prozesssteuerungsanwendung und der bezüglich der Prozesssteuerungsanwendung externen Datenquelle, basierend auf der Funktion, die vom Funktionsblock durchgeführt wird, das Erfassen wenigstens eines Teils der Information in einem Parameter beinhaltet, der von der Prozesssteuerungsanwendung verwendet wird.
44. Verfahren nach Anspruch 41, wobei das Übermitteln der Information zwischen der Prozesssteuerungsanwendung und der bezüglich der Prozesssteuerungsanwendung externen Datenquelle, basierend auf der Funktion, die vom Funktionsblock durchgeführt wird, das Berechnen eines Wertes aufgrund wenigstens eines Teils der Information und das Verknüpfen des Wertes mit einem Parameter beinhaltet, der von der Prozesssteuerungsanwendung verwendet wird.
45. Verfahren zur Verwendung eines Funktionsblockes, mit den Schritten:
operatives Integrieren einer bezüglich einer Prozesssteuerungsanwendung externen Datenquelle mit der Prozesssteuerungsanwendung über den Funktionsblock; und
Übermitteln von Information zwischen der Prozesssteuerungsanwendung und der bezüglich der Prozesssteuerungsanwendung externen Datenquelle, basierend auf wenigstens einer Datenerfassungsfunktion, einer Datenkonvertierungsfunktion oder einer Datenübersetzungsfunktion, die vom Funktionsblock durchgeführt wird.
DE2003116217 2002-04-15 2003-04-09 Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem Ceased DE10316217A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/123,822 US7822495B2 (en) 2002-04-15 2002-04-15 Custom function blocks for use with process control systems

Publications (1)

Publication Number Publication Date
DE10316217A1 true DE10316217A1 (de) 2003-11-13

Family

ID=22411094

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003116217 Ceased DE10316217A1 (de) 2002-04-15 2003-04-09 Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem

Country Status (6)

Country Link
US (2) US7822495B2 (de)
JP (3) JP2004127242A (de)
CN (3) CN100474186C (de)
DE (1) DE10316217A1 (de)
GB (1) GB2389427A (de)
HK (1) HK1059128A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080757A1 (de) * 2006-12-28 2008-07-10 Endress+Hauser Process Solutions Ag Verfahren zum betreiben eines nach dem blockmodell arbeitenden feldgerätes für ein verteiltes automatisierungssystem

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689709B2 (en) * 2002-12-13 2010-03-30 Sap Ag Native format tunneling
US7308458B2 (en) 2003-06-11 2007-12-11 Wtviii, Inc. System for normalizing and archiving schemas
EP1577724B1 (de) * 2004-03-15 2009-10-07 Rockwell Automation Technologies, Inc. Umgebung zur Programmierung von Agenten
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
JP4529079B2 (ja) * 2004-09-02 2010-08-25 横河電機株式会社 制御システム
JP4727278B2 (ja) * 2005-04-05 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム
US7515972B2 (en) * 2005-10-28 2009-04-07 Honeywell International Inc. System and method for dynamically creating and editing function block types in a process control environment
US20070100472A1 (en) * 2005-10-31 2007-05-03 Honeywell International Inc. System and method for creating serial interface protocols in a process control environment
JP5108260B2 (ja) * 2006-07-06 2012-12-26 株式会社アマダ 曲げ加工機金型レイアウトの活用方法およびその装置
US11068426B2 (en) * 2006-08-31 2021-07-20 Red Hat, Inc. Portable storage device capable of transferring data to a portable storage device
US7822802B2 (en) 2006-09-29 2010-10-26 Fisher-Rosemount Systems, Inc. Apparatus and method for merging wireless data into an established process control system
US7561930B2 (en) * 2006-10-02 2009-07-14 Fisher-Rosemount Systems, Inc. Dynamic modifier function blocks for use in a process control system
JP5083591B2 (ja) * 2006-10-26 2012-11-28 横河電機株式会社 プロセス制御システム
US9104195B2 (en) 2006-12-20 2015-08-11 Lincoln Global, Inc. Welding job sequencer
US10994358B2 (en) 2006-12-20 2021-05-04 Lincoln Global, Inc. System and method for creating or modifying a welding sequence based on non-real world weld data
US9937577B2 (en) 2006-12-20 2018-04-10 Lincoln Global, Inc. System for a welding sequencer
EP2093676A1 (de) * 2008-02-20 2009-08-26 Siemens Aktiengesellschaft Verfahren zur Generierung von Funktionsbausteinen für Webdienste.
US8407611B2 (en) * 2008-08-04 2013-03-26 Honeywell International Inc. Apparatus and method for designing graphical user interfaces (GUIs) having different fidelities
US8046519B2 (en) 2008-10-20 2011-10-25 Daniel Measurement And Control, Inc. Coupling a specialty system, such as a metering system, to multiple control systems
AU2014240328B2 (en) * 2008-10-20 2016-08-11 Emerson Automation Solutions Measurement Systems & Services Llc Coupling a specialty system, such as a metering system, to multiple control systems
US8903520B2 (en) * 2009-04-14 2014-12-02 General Electric Company Method for executing sequential function charts as function blocks in a control system
US8689118B2 (en) * 2009-05-18 2014-04-01 Fisher-Rosemount Systems, Inc. Methods and apparatus to conceal portions of a visual object diagram in a process control system
US9535413B2 (en) * 2010-02-12 2017-01-03 Rockwell Automation Technologies, Inc. Automatic device parameter binding method and system
US8538559B2 (en) * 2011-04-04 2013-09-17 Relcom, Inc. Fieldbus system function block enhancements using transducer block
US20120306648A1 (en) * 2011-05-31 2012-12-06 General Electric Company Systems and methods to configure alerts for fieldbus foundation devices
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
CN102393657B (zh) * 2011-11-30 2014-11-05 洛阳正扬冶金技术股份有限公司 一种自动化控制系统的功能块化控制方法
US9176751B2 (en) * 2012-04-04 2015-11-03 Xerox Corporation Tools and methods for customizing multi-function devices
US9213329B2 (en) * 2012-10-25 2015-12-15 Honeywell Gmbh System and method for vendor release independent reusable customized function block libraries
WO2016002076A1 (ja) * 2014-07-04 2016-01-07 三菱電機株式会社 位置決め制御装置の同期制御設定方法
US10162315B2 (en) * 2014-07-23 2018-12-25 Emerson Process Management Power & Water Solutions, Inc. Process control system using typical and adapter components
CN105867887A (zh) * 2015-01-22 2016-08-17 晨星半导体股份有限公司 原始码质量管理系统与方法
US10216523B2 (en) 2015-07-17 2019-02-26 General Electric Company Systems and methods for implementing control logic
US9989950B2 (en) * 2015-07-17 2018-06-05 General Electric Company Systems and methods for generating control logic
US10438144B2 (en) 2015-10-05 2019-10-08 Fisher-Rosemount Systems, Inc. Method and apparatus for negating effects of continuous introduction of risk factors in determining the health of a process control system
US11074305B1 (en) * 2016-03-10 2021-07-27 Amazon Technologies, Inc. Extending data store operations using function objects
WO2018152582A1 (en) * 2017-02-22 2018-08-30 Woodside Energy Technologies Pty Ltd A model management system
JP6816554B2 (ja) * 2017-02-22 2021-01-20 オムロン株式会社 制御システム、制御装置および制御プログラム
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
CN109858721B (zh) * 2017-11-30 2023-01-06 中广核(北京)仿真技术有限公司 一种控制计算策略生成方法以及系统
US10747508B2 (en) * 2018-12-31 2020-08-18 Rockwell Automation Technologies, Inc. Function block framework generation
CN111158324B (zh) * 2019-12-31 2021-10-22 青岛国信城市信息科技有限公司 隧道机电设备自动化功能库及其使用方法
CN111309309B (zh) * 2020-02-20 2023-09-22 杭州涂鸦信息技术有限公司 基于设备的软件开发方法及其系统和装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2681451B1 (fr) 1991-09-13 1993-11-12 Bull Sa Procede de gestion d'objets structures.
JPH0792758B2 (ja) * 1992-01-17 1995-10-09 インターナショナル・ビジネス・マシーンズ・コーポレイション コンパイラおよびコンパイル方法
US6026366A (en) * 1993-09-22 2000-02-15 Motorola, Inc. Method for providing software to a remote computer
JP3251414B2 (ja) 1994-01-11 2002-01-28 三菱電機株式会社 プログラマブルコントローラおよびそのプログラム容量変更方法
NZ329891A (en) * 1994-01-13 2000-01-28 Certco Llc Method of upgrading firmware of trusted device using embedded key
US5748738A (en) 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
JPH08194624A (ja) * 1995-01-20 1996-07-30 Fujitsu Ltd 実行形式プログラム作成方法
GB2306700A (en) 1995-10-19 1997-05-07 Calcam Control Systems Ltd Control System
US5995916A (en) * 1996-04-12 1999-11-30 Fisher-Rosemount Systems, Inc. Process control system for monitoring and displaying diagnostic information of multiple distributed devices
US6868538B1 (en) * 1996-04-12 2005-03-15 Fisher-Rosemount Systems, Inc. Object-oriented programmable controller
US6032208A (en) * 1996-04-12 2000-02-29 Fisher-Rosemount Systems, Inc. Process control system for versatile control of multiple process devices of various device types
US5862052A (en) * 1996-04-12 1999-01-19 Fisher-Rosemount Systems, Inc. Process control system using a control strategy implemented in a layered hierarchy of control modules
US5909368A (en) * 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US6044305A (en) * 1996-10-04 2000-03-28 Fisher Controls International, Inc. Method and apparatus for debugging and tuning a process control network having distributed control functions
US6044218A (en) * 1997-01-31 2000-03-28 Sun Microsystems, Inc. System, method and article of manufacture for creating a live application or applet development environment
JPH10301763A (ja) * 1997-04-25 1998-11-13 Mitsubishi Electric Corp ディジタル制御装置のプログラム作成支援装置
US6304886B1 (en) * 1997-06-19 2001-10-16 International Business Machines Corporation System and method for building a web site using specific interface
US6298389B1 (en) * 1997-06-20 2001-10-02 Compaq Computers, Inc. Method for input and output of structures for the Java language
US5971581A (en) * 1997-09-17 1999-10-26 National Instruments Corp. Fieldbus network configuration utility with improved scheduling and looping
CN1111358C (zh) * 1997-09-23 2003-06-18 Wm·雷格利Jr·公司 用于自动化连续生产口香糖的过程控制系统和方法
US6317760B1 (en) * 1998-01-14 2001-11-13 Microsoft Corporation Extensible ordered information within a web page
JPH11338521A (ja) * 1998-05-28 1999-12-10 Mitsubishi Heavy Ind Ltd 制御装置
GB2345360A (en) 1998-10-02 2000-07-05 Fisher & Paykel Programming programmable controllers
US6339839B1 (en) * 1998-11-12 2002-01-15 International Business Machines Corporation Enabling multiple code generators in a translator-based embedded scripting system
US6298454B1 (en) * 1999-02-22 2001-10-02 Fisher-Rosemount Systems, Inc. Diagnostics in a process control system
US6633782B1 (en) * 1999-02-22 2003-10-14 Fisher-Rosemount Systems, Inc. Diagnostic expert in a process control system
US6510351B1 (en) * 1999-03-15 2003-01-21 Fisher-Rosemount Systems, Inc. Modifier function blocks in a process control system
US6445962B1 (en) * 1999-03-15 2002-09-03 Fisher Rosemount Systems, Inc. Auto-tuning in a distributed process control environment
JP3829905B2 (ja) * 1999-08-06 2006-10-04 オムロン株式会社 プログラマブル・コントローラ
US6708330B1 (en) * 2000-06-13 2004-03-16 Cisco Technology, Inc. Performance improvement of critical code execution
US6698015B1 (en) * 2000-06-13 2004-02-24 Cisco Technology, Inc. Apparatus and method for improving performance of critical code execution
US20020013865A1 (en) * 2000-07-26 2002-01-31 Seagate Technology Llc System and method of a minimized representation of a sector variable-bits-per-inch table
CN1338841A (zh) 2000-08-11 2002-03-06 海南格方网络安全有限公司 计算机安全认证智能密钥
CN1310106C (zh) * 2001-03-01 2007-04-11 费舍-柔斯芒特系统股份有限公司 制炼控制系统数据的远程分析
US7392504B2 (en) * 2002-06-06 2008-06-24 International Business Machines Corporation System and method for automated source code generation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008080757A1 (de) * 2006-12-28 2008-07-10 Endress+Hauser Process Solutions Ag Verfahren zum betreiben eines nach dem blockmodell arbeitenden feldgerätes für ein verteiltes automatisierungssystem
US8068922B2 (en) 2006-12-28 2011-11-29 Endress + Hauser Process Solutions Ag Method for operating a block model based field device for a distributed automation system

Also Published As

Publication number Publication date
CN100474186C (zh) 2009-04-01
GB2389427A (en) 2003-12-10
JP2004127242A (ja) 2004-04-22
US20110009985A1 (en) 2011-01-13
CN1924739A (zh) 2007-03-07
CN1452064A (zh) 2003-10-29
CN101419439B (zh) 2014-06-25
US20030195639A1 (en) 2003-10-16
HK1059128A1 (en) 2004-06-18
JP2009187573A (ja) 2009-08-20
US9086692B2 (en) 2015-07-21
GB2389427A9 (en) 2004-02-11
JP2012133809A (ja) 2012-07-12
CN101419439A (zh) 2009-04-29
CN1310145C (zh) 2007-04-11
JP5253277B2 (ja) 2013-07-31
GB0308581D0 (en) 2003-05-21
JP5444394B2 (ja) 2014-03-19
US7822495B2 (en) 2010-10-26

Similar Documents

Publication Publication Date Title
DE10316217A1 (de) Individuelle Funktionsblöcke zur Verwendung in einem Prozesssteuerungssystem
DE112018002293T5 (de) Industrielles steuerungssystem mit offener architektur
DE102004003570B4 (de) Integriertes Diagnosesystem in einer Prozessanlage mit einem Prozesssteuerungssystem und einem Sicherheitssystem
DE102004003569B4 (de) Prozessanlage, Sicherungssystem zur Verwendung in einer Prozessanlage und Verfahren zum Durchführen von Sicherungsprozeduren in einer Prozessanlage
DE60207155T2 (de) Objektorientiertes Internetschnittstellensystem für eine industrielle Steuereinrichtung
EP2422243B1 (de) Sicherheitssteuerung zum steuern einer automatisierten anlage und verfahren zum erstellen eines anwenderprogramms für eine sicherheitssteuerung
EP1738236B1 (de) Automatisierungsnetzwerk mit zustandsmeldenden netzwerkkomponenten
EP1182528A2 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte
DE10049025A1 (de) Process control configuration system for use with an AS-inferface device network
DE102008014153B4 (de) Verfahren, Steuergerät und Steuerungssystem zur Steuerung eines Automatisierungssystems
DE102007046572A1 (de) Flexible Eingabe-/Ausgabegeräte zur Verwendung in Prozesssteuerungssystemen
DE10049049A1 (de) System und Verfahren zur Konfiguration einer Prozeßsteuerung zur Verwendung mit einem Profibus-Einrichtungsnetzwerk
DE10011661A1 (de) Prozeßsteuersystem mit Prozeßsteuerroutinen unter Verwendung von indirekter Referenzierung
DE102009047025B3 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
DE102007040823A1 (de) Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte
DE102004007435A1 (de) Modulklassenobjekte in einem Prozessanlagenkonfigurierungssystem
DE10313389A1 (de) Verfahren zur Übertragung von Softwarecode von einer Steuereinheit zu einem Feldgerät der Prozessautomatisierungstechnik
DE102020116200A1 (de) Verbessertes arbeitsauftrags-generierungs- und -verfolgungssystem
EP1634130B1 (de) Vorrichtung und verfahren zur programmierung und/oder ausführung von programmen für industrielle automatisierungssysteme
DE102021127384A1 (de) Industrielles prozesssteuerungssystem als rechenzentrum einer industriellen prozessanlage
DE102007062395A1 (de) Verfahren zum Parametrieren eines Feldgerätes der Prozessautomatisierungstechnik
DE19906695A1 (de) Verfahren zur automatischen Dezentralisierung von Programmen in Steuerungseinrichtungen und zur Verteilung von Intelligenz
EP2557464A1 (de) Verfahren zum Betrieb eines Automatisierungssystems
EP1233318A1 (de) Softwarekomponente für ein verteiltes Kontrollsystem
DE10055168A1 (de) Industrielle Steuerung auf der Basis verteilbarer Technologischer Objekte

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final