DE102018122398A1 - Systeme und verfahren zum bewerten von konfigurationsdateien, die einem prozesssteuerungssystem zugeordnet sind - Google Patents

Systeme und verfahren zum bewerten von konfigurationsdateien, die einem prozesssteuerungssystem zugeordnet sind Download PDF

Info

Publication number
DE102018122398A1
DE102018122398A1 DE102018122398.6A DE102018122398A DE102018122398A1 DE 102018122398 A1 DE102018122398 A1 DE 102018122398A1 DE 102018122398 A DE102018122398 A DE 102018122398A DE 102018122398 A1 DE102018122398 A1 DE 102018122398A1
Authority
DE
Germany
Prior art keywords
configuration file
version
controller
computing device
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018122398.6A
Other languages
English (en)
Inventor
Aaron C. Jones
Michael George Ott
Julian K. Naidoo
Deborah R. Colclazier
Karen Johnson
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
Priority claimed from US15/722,306 external-priority patent/US10719312B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of DE102018122398A1 publication Critical patent/DE102018122398A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/0428Safety, monitoring
    • 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/24Pc safety
    • G05B2219/24163Authentication tag in configuration file
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31101Configuration file with format of relevant messages for different equipment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31418NC program management, support, storage, distribution, version, update

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Es werden Techniken zum Bewerten und Verwalten von Versionen einer Konfigurationsdatei beschrieben, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist. Nach bestimmten Aspekten können Systeme und Verfahren auf Daten zugreifen, die mehreren Versionen einer Konfigurationsdatei zugeordnet sind, wozu eine Computergeräteversion und eine Controller-Version sowie eine letzte Sicherungsinstanz der Konfigurationsdatei zählen. Die Systeme und Verfahren können die Versionen vergleichen und etwaige Abweichungen zwischen den Versionen ermitteln, was auch einschließt, welche der Versionen die jüngste ist. Die Systeme und Verfahren können Informationen präsentieren, die dem Vergleich zugeordnet sind, um einem Benutzer die Auswahl zu ermöglichen, welche der Versionen möglicherweise aktualisiert, aufgelöst oder dem Controller bereitgestellt werden müssen, damit das modulare Steuerungssystem ordnungsgemäß konfiguriert werden kann.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf den Einsatz von modularen Steuerungssystemen wie z. B. auf Gestellen montierte Systeme in Prozessanlagen und insbesondere auf das effektive und effiziente Bewerten und Verwalten von Konfigurationsdateien, die den modularen Steuerungssystemen zugeordnet sind.
  • HINTERGRUND
  • Modulare Steuerungen, wie sie heute in einer Vielzahl von Branchen eingesetzt werden, sind vollständige Steuerungssysteme, die spezielle Funktionen bereitstellen können, etwa das Kochen von Wasser, das Filtern von Flüssigkeiten oder das Steuern des Wärmeaustauschs. Ein modulares Steuerungssystem wird in der Regel als ein auf einem Gestell montiertes System implementiert oder einfach als „Gestell“, wobei diese Bezeichnung darauf zurückgeht, dass das System in einem Rahmen eingeschlossen ist und leicht transportiert werden kann. Die Lieferung eines Gestells an eine Fabrik kann als integrierte Einheit erfolgen, ohne dass sie zerlegt und wieder zusammengesetzt werden muss, und die Einheit ist in der Regel vom Hersteller vorkonfiguriert. Ein Gestell enthält im Allgemeinen beispielsweise einen programmierbaren Logik-Controller (PLC), Spezialausrüstung wie z. B Ventile oder Kessel und Sensoren wie z. B. Druck- oder Temperatursensoren.
  • Andererseits werden auch verteilte Steuerungssysteme (Distributed Control Systems, DCSs) in einer Vielzahl von verarbeitenden Branchen wie Chemie, Petrochemie, Raffination, Pharmaindustrie, Lebensmittel und Getränke, Energie, Zement, Wasser und Abwasser, Öl und Gas, Zellstoff und Papier sowie Stahl eingesetzt und sie werden zur Steuerung von Batch-, Fed-Batch- und kontinuierlichen Prozessen verwendet, die an einem einzelnen Standort oder an entfernten Standorten durchgeführt werden. Prozessanlagen enthalten in der Regel einen oder mehrere Prozess-Controller, die kommunikationsfähig mit einem oder mehreren Feldgeräten über analoge, digitale oder kombiniert analog/digitale Busse oder über eine drahtlose Kommunikationsverbindung oder ein drahtloses Kommunikationsnetz gekoppelt sind. Gemeinsam führen die verschiedenen Geräte Überwachungs-, Steuerungs- und Datenerfassungsfunktionen zur Steuerung des Prozesses und zur Steuerung von Sicherheitsabschaltsystemen, Brand- und Gaserkennungssystemen, Systemen zur Maschinenzustandsüberwachung, Wartungssystemen, Entscheidungsunterstützungssystemen und anderen Systemen durch.
  • Die Feldeinrichtungen, die zum Beispiel Ventile, Ventilpositionierer, Switches und Sender (z. B. Temperatur-, Druck- und Durchflusssensoren) sein können, befinden sich innerhalb der Prozessumgebung und führen im Allgemeinen physische oder Prozesssteuerungsfunktionen wie z. B. das Öffnen oder Schließen von Ventilen, das Messen von Prozessparametern usw. durch, um einen oder mehrere Prozesse zu steuern, die innerhalb der Prozessanlage oder des Systems ausgeführt werden. Intelligente Feldgeräte, wie die Feldgeräte, welche mit dem bekannten Fieldbus-Protokoll konform sind, können auch Steuerungsberechnungen, Alarmfunktionen und andere Steuerungsfunktionen durchführen, die häufig innerhalb des Controllers implementiert sind. Die Prozess-Controller, die sich üblicherweise ebenfalls innerhalb der Anlagenumgebung befinden, empfangen Signale, die indikativ für Prozessmessungen sind, die durch Sensoren oder Feldgeräte durchgeführt wurden, und/oder andere Informationen zu den Feldgeräten und führen eine Controller-Anwendung aus, die zum Beispiel verschiedene Steuerungsmodule betreibt, welche Steuerungsentscheidungen treffen, auf Basis der empfangenen Informationen Steuerungssignale generieren und sich mit den Steuerungsmodulen oder -blöcken koordinieren, die in den Feldgeräten betrieben werden, wie z. B. Feldgeräte des Typs HART®, WirelessHART® und FOUNDATION® Fieldbus. Die Steuerungsmodule im Controller senden die Steuerungssignale über Kommunikationsleitungen oder -verbindungen zu den Feldgeräten, wodurch der Betrieb von zumindest einem Abschnitt der Prozessanlage bzw. des Prozesssystems gesteuert wird.
  • Informationen von den Feldgeräten und dem Controller werden üblicherweise über eine Datenautobahn für ein oder mehrere andere Hardware-Geräte, wie z. B. Bediener-Arbeitsstationen, Personal Computer oder Computergeräte, Data-Historians, Berichtsgeneratoren, zentrale Datenbanken oder andere zentralisierte administrative Computergeräte, verfügbar gemacht, die sich üblicherweise in Kontrollräumen oder an anderen Orten entfernt von der raueren Anlagenumgebung befinden. Jedes dieser Hardware-Geräte ist üblicherweise über die Prozessanlage oder über einen Teil der Prozessanlage zentralisiert. Diese Hardware-Geräte führen Anwendungen aus, die es zum Beispiel einem Bediener ermöglichen, Funktionen im Hinblick auf die Steuerung eines Prozesses und/oder die Bedienung der Prozessanlage durchzuführen, wie z. B. Ändern von Einstellungen der Prozesssteuerroutine, Ändern des Betriebs der Steuerungsmodule innerhalb des Controllers oder der Feldgeräte, Anzeigen des aktuellen Zustands des Prozesses, Anzeigen von Alarmen, die von Feldgeräten und Controllern generiert werden, Simulieren des Betriebs des Prozesses zum Zweck der Schulung von Mitarbeitern oder des Testens der Prozesssteuerungs-Software, Führen und Aktualisieren einer Konfigurationsdatenbank usw. Die von den Hardware-Geräten, Controllern und Feldgeräten genutzte Datenautobahn kann einen drahtgebundenen Kommunikationspfad, einen drahtlosen Kommunikationspfad oder eine Kombination aus drahtgebundenen und drahtlosen Kommunikationspfaden umfassen.
  • So umfasst beispielsweise das DeltaV™-Steuerungssystem, das von Emerson Process Management verkauft wird, mehrere Anwendungen, die innerhalb von verschiedenen Geräten gespeichert sind und von diesen ausgeführt werden, die sich an verschiedenen Orten innerhalb einer Prozessanlage befinden. Eine Konfigurationsanwendung, die sich in einer oder mehreren Arbeitsstationen oder Computergeräten befindet, ermöglicht Benutzern das Erstellen oder Ändern von Prozesssteuerungsmodulen und das Herunterladen dieser Prozesssteuerungsmodule über eine Datenautobahn zu dedizierten, verteilten Controllern. Üblicherweise bestehen diese Steuerungsmodule aus kommunikationsfähig miteinander verbundenen Funktionsblöcken, welche Objekte in einem objektorientierten Programmierungsprotokoll sind, die Funktionen innerhalb des Steuerungsschemas basierend auf dafür bestimmten Eingaben durchführen und die Ausgaben für andere Funktionsblöcke innerhalb des Steuerungsschemas bereitstellen. Die Konfigurationsanwendung kann auch einem Konfigurationsingenieur ermöglichen, Bedienerschnittstellen zu erstellen oder zu ändern, die durch eine Anzeigeanwendung verwendet werden, um einem Bediener Daten anzuzeigen oder um dem Bediener zu ermöglichen, Einstellungen wie z. B. Sollwerte innerhalb der Prozesssteuerungsroutinen zu ändern. Jeder dedizierte Controller (und in einigen Fällen ein oder mehrere Feldgeräte) speichert und führt eine jeweilige Controller-Anwendung aus, welche die ihm zugeordneten und für ihn heruntergeladenen Steuerungsmodule ausführt, um die tatsächliche Prozesssteuerungsfunktionalität zu implementieren. Die Anzeigeanwendungen, die auf einer oder mehreren Bediener-Arbeitsstationen ausgeführt werden können (oder auf einem oder mehreren entfernten Computergeräten, die kommunikationsfähig mit den Bediener-Arbeitsstationen und der Datenautobahn verbunden sind), empfangen Daten von der Controller-Anwendung über die Datenautobahn und zeigen diese Daten Prozesssteuerungssystem-Designern, Bedienern oder Benutzern an, welche die Benutzerschnittstellen verwenden, und können beliebige aus einer Anzahl verschiedener Ansichten bereitstellen, wie z. B. eine Bedieneransicht, eine Ingenieursansicht, eine Technikeransicht usw. Eine Data-Historian-Anwendung ist üblicherweise in einem Data-Historian-Gerät gespeichert und wird von diesem ausgeführt, wobei das Data-Historian-Gerät alle oder einige der Daten sammelt und speichert, die über die Datenautobahn bereitgestellt werden, während eine Konfigurationsdatenbankanwendung in einem weiteren Computer ausgeführt werden kann, der mit der Datenautobahn verbunden ist, um die aktuelle Konfiguration der Prozesssteuerungsroutine und die dieser zugeordneten Daten zu speichern. Alternativ kann sich die Konfigurationsdatenbank in derselben Arbeitsstation wie die Konfigurationsanwendung befinden.
  • Geräte, die in Prozesssteuerungs- und in industriellen Automatisierungssystemen betrieben werden, können drahtgebunden oder drahtlos miteinander verbunden sein und unter Verwendung von industrielle Kommunikationsprotokollen wie z. B. FOUNDATION™ Fieldbus, HART® oder Profibus kommunizieren. Des Weiteren wurden Protokolle wie z. B. Modbus entwickelt, um PLCs miteinander zu verbinden. Darüber hinaus existieren neben den standardmäßigen industriellen Automatisierungsprotokollen proprietäre Protokolle, mit denen Knoten in einem Prozesssteuerungssystem miteinander verbunden werden. DeltaV ist ein Beispiel für ein solches Protokoll. Im Allgemeinen spezifizieren diese Protokolle Formate für die Übermittlung von Messungen, Warnungen und Zustandsberichten, Befehle, die sich auf Prozessvariablen oder Automatisierungsparameter auswirken, Befehle zum Aktivieren oder Deaktivieren von Geräten usw. Ein typisches industrielles Kommunikationsprotokoll unterstützt auch die Gerätekonfiguration, über vordefinierte Befehle oder Befehle, die durch Hersteller für bestimmte Geräte entsprechend der Syntax des Protokolls definiert werden.
  • Ein modulares Steuerungssystem kann so programmiert werden, dass es entsprechend einer Konfigurationsdatei betrieben wird, die lokal in dem modularen Steuerungssystem gespeichert sein kann (z. B. in einem Speicher eines Controllers). Mehrere Computergeräte oder Hosts können so konfiguriert werden, dass sie eine Schnittstelle mit dem modularen Steuerungssystem bilden, wobei jedes Computergerät, in bestimmten Situationen, die Konfigurationsdatei aktualisieren (d. h. das modulare Steuerungssystem konfigurieren) kann, z. B. mit einer Version der Konfigurationsdatei, die in dem Computergerät gespeichert ist. Zum Beispiel können ein Techniker, welcher der Prozessanlage zugeordnet ist, und ein Techniker, welcher einem OEM zugeordnet ist, der das modulare Steuerungssystem hergestellt hat, in regelmäßigen Abständen das modulare Steuerungssystem konfigurieren.
  • Es treten jedoch Probleme auf, wenn mehrere Computergeräte das modulare Steuerungssystem konfigurieren, wenn Versionen der Konfigurationsdatei nicht der aktuellen Version entsprechen, die durch das modulare Steuerungssystem verwendet wird. Zum Beispiel kann ein Computergerät, das versucht, das modulare Steuerungssystem zu konfigurieren, nicht über die Version der Konfigurationsdatei verfügen, die zuletzt verwendet wurde, um das modulare Steuerungssystem zu konfigurieren. Dementsprechend kann es sein, dass bestimmte Konfigurationsaktualisierungen und -fehlerbehebungen nicht in bestimmten Konfigurationsinstanzen eingeschlossen sind oder versehentlich daraus entfernt werden könnten.
  • KURZBESCHREIBUNG
  • Ein modularer Controller gemäß der vorliegenden Offenbarung wird in einem modularen Steuerungssystem betrieben, z. B. in einem auf einem Gestell montierten System, um die Steuerungslogik des modularen Steuerungssystems unabhängig von anderen Controllern auszuführen, ähnlich einem PLC. Der modulare Controller kann lokal eine Version einer Konfigurationsdatei speichern, welche die Konfiguration des modularen Steuerungssystems widerspiegelt. Computergeräte oder Hosts sind konfiguriert, um eine Schnittstelle mit dem modularen Controller zu bilden, um die Aktualisierung der Konfigurationsdatei zu ermöglichen, z. B. mit einer Version der Konfigurationsdatei, die durch die Computergeräte gespeichert ist oder für diese zugänglich ist. Die Computergeräte sind mit Benutzerschnittstellen konfiguriert, um Informationen zu präsentieren, die den Versionen der Konfigurationsdatei zugeordnet sind, und um es dem Benutzer zu ermöglichen, bestimmte Funktionalitäten auszuführen, mit denen sichergestellt wird, dass die richtige Version zum Konfigurieren des modularen Controllers verwendet wird.
  • In einer Ausführungsform wird ein computerimplementiertes Verfahren in einem Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, bereitgestellt: Das Computergerät kann eine Computergeräteversion der Konfigurationsdatei speichern, und das Verfahren kann die folgenden Schritte umfassen: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Identifizieren einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei in dem Controller durch das Computergerät entspricht; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; und Präsentieren, über eine Benutzerschnittstelle, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei, und (ii) eines Ergebnisses des Vergleichens.
  • In einer anderen Ausführungsform wird ein Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, bereitgestellt. Das Computergerät kann enthalten: einen Kommunikations-Port, eine Benutzerschnittstelle, einen Gerätespeicher zum Speichern (i) eines Satzes von computerausführbaren Anweisungen, (ii) einer Computergeräteversion der Konfigurationsdatei und (iii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, auf einem Controller entspricht, der dem modularen Steuerungssystem zugeordnet ist, und einen Prozessor, der mit dem Kommunikations-Port, der Benutzerschnittstelle und dem Speicher verbunden ist. Der Prozessor kann dazu konfiguriert sein, den Satz von computerausführbaren Anweisungen auszuführen, um zu bewirken, dass der Prozessor Folgendes durchführt: Bilden einer Schnittstelle, über den Kommunikations-Port, mit dem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist, Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei, und Bewirken, dass die Benutzerschnittstelle präsentiert: (i) eine Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei, und (ii) ein Ergebnis des Vergleichens.
  • In einer weiteren Ausführungsform wird ein computerimplementiertes Verfahren in einem Computergerät zum Verwalten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, bereitgestellt. Das Computergerät kann eine Computergeräteversion der Konfigurationsdatei speichern, und das Verfahren kann die folgenden Schritte umfassen: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; Präsentieren, über eine Benutzerschnittstelle des Computergeräts, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der Controller-Version der Konfigurationsdatei und einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht, und (ii) eines Ergebnisses des Vergleichens; Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist; und basierend auf der Benutzerauswahl, Ermöglichen einer Aktualisierung von mindestens einem von: der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei.
  • In einer zusätzlichen Ausführungsform wird ein modulares Steuerungssystem in einer Prozessanlage bereitgestellt. Das modulare Steuerungssystem kann enthalten: einen Satz von Prozesssteuerungsgeräten, die kommunikationsfähig verbunden sind, um einen Satz von Prozessen zu steuern, einen Controller, in dem eine Controller Version der Konfigurationsdatei gespeichert ist und der dazu konfiguriert ist, den Satz von Prozesssteuerungsgeräten entsprechend der Controller-Version der Konfigurationsdatei zu betreiben, und ein Computergerät, das zum Bilden einer Schnittstelle mit dem Controller konfiguriert ist und zum Speichern (i) einer Computergeräteversion der Konfigurationsdatei und (ii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht. Das Computergerät kann des Weiteren konfiguriert sein zum: Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei, und Präsentieren, über eine Benutzerschnittstelle, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei, und (ii) eines Ergebnisses des Vergleichens.
  • Eine wiederum andere Ausführungsform dieser Techniken ist ein Computergerät, das einen oder mehrere Prozessoren und ein nichtflüchtiges, computerlesbares Medium zum Speichern von Anweisungen enthält, mit denen die hier beschriebenen Funktionalitäten implementiert werden.
  • Figurenliste
    • 1 ist ein Blockschaltbild eines verteilten Prozesssteuerungssystems, in welches ein exemplarisches, modulares Steuerungssystem integriert sein kann, entsprechend bestimmten Ausführungsformen;
    • 2 ist eine schematische Darstellung eines exemplarischen Controller-Moduls entsprechend bestimmten Ausführungsformen;
    • 3 ist eine schematische Darstellung eines exemplarischen Computergeräts und eines exemplarischen Controller-Moduls entsprechend bestimmten Ausführungsformen;
    • 4 ist ein Signaldiagramm im Zusammenhang mit der Bewertung und Verwaltung von Versionen einer Konfigurationsdatei entsprechend bestimmten Ausführungsformen;
    • 5 ist ein Ablaufdiagramm eines exemplarischen Verfahrens zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, entsprechend bestimmten Ausführungsformen; und
    • 6 und 7 sind exemplarische Schnittstellen zur Darstellung bestimmter Informationen, die einer Controller-Konfiguration zugeordnet sind, entsprechend bestimmten Ausführungsformen.
  • DETAILLIERTE BESCHREIBUNG
  • Im Allgemeinen umfasst ein modulares Steuerungssystem gemäß der vorliegenden Offenbarung einen Controller, der als ein eigenständiger PLC, als ein Controller eines auf einem Gestell montierten Systems oder als ein Modul in einer modularen Anlagenkonstruktion betrieben wird. Der Controller, nachstehend als „modularer Controller“ oder in einigen Fällen einfach nur als „Controller“ bezeichnet, kann nativ auf einer Plattform wie z. B. DeltaV aufgebaut sein, welche die verteilte Steuerung unterstützt, so dass die Konfiguration, die Sicherheitsmechanismen und die Kommunikation des modularen Controllers vollständig kompatibel mit dem DCS sind, in welches der modulare Controller integriert ist, wobei das DCS auf der gleichen Plattform aufgebaut sein kann oder auf einer anderen, möglicherweise proprietären Plattform. Gemäß den hier erläuterten Ausführungsformen kann das modulare Steuerungssystem zusätzlich oder alternativ getrennt und unabhängig von dem DCS betrieben werden.
  • Gemäß den hier erläuterten Systemen und Verfahren kann der Controller des modularen Steuerungssystems kommunikationsfähig mit einem Satz von Prozesssteuerungsgeräten verbunden sein, die konfiguriert sind, um einen Satz von Prozessen entsprechend einer Konfigurationsdatei durchzuführen, die in dem Controller gespeichert ist oder für diesen zugänglich ist. Gelegentlich kann ein Benutzer (z. B. ein Administrator, Techniker, Ingenieur oder dergleichen) den Wunsch haben, die Konfigurationsdatei zu aktualisieren, z. B. um einen oder mehrere Fehler oder Bugs zu beseitigen, um eine oder mehrere Einstellungen zu aktualisieren, um einen oder mehrere neue oder aktualisierte Prozesse zu implementieren oder aus anderen Gründen, einschließlich um sich zu vergewissern, welche Version der Konfigurationsdatei in dem Controller gespeichert ist. Um das Aktualisieren oder Bewerten zu ermöglichen, kann der Benutzer ein Computergerät verwenden (z. B. einen Laptop-Computer oder ein anderes Gerät), das eine kommunikationsfähige Verbindung mit dem Controller herstellen kann, wobei in dem Computergerät seine eigene Version der Konfigurationsdatei gespeichert ist sowie Daten, die angeben, wann das Computergerät letztmalig die in dem Controller gespeicherte Konfigurationsdatei aktualisiert hat.
  • Das Computergerät kann eine Schnittstelle mit dem Controller bilden, um Daten zu gewinnen, die der in dem Controller gespeicherten Version der Konfigurationsdatei zugeordnet sind, und es kann die mehreren Versionen (oder Daten, die den mehreren Versionen zugeordnet sind) vergleichen, um zu ermitteln, wie, wenn überhaupt, die Aktualisierung der in dem Controller gespeicherten Konfigurationsdatei und/oder der in dem Computergerät gespeicherten Konfigurationsdatei erfolgen soll. In einem bestimmten Szenario kann die Controller-Version der Konfigurationsdatei jünger sein als die Version, die dem Computergerät zugeordnet ist. In einem anderen Szenario kann die Version in dem Computergerät jünger sein als Version, die in dem Controller gespeichert ist. Weitere Szenarien werden hier erläutert.
  • Das Computergerät kann, über eine Benutzerschnittstelle, Informationen präsentieren, die den verschiedenen Versionen der Konfigurationsdatei zugeordnet sind, sowie etwaige Unterschiede zwischen den Versionen (z. B. welche Versionen auf dem neuesten Stand sind). Der Benutzer kann die präsentierten Informationen überprüfen und bestimmte Funktionalitäten ermöglichen, die der Konfigurationsdatei zugeordnet sind, wie z. B. das Aktualisieren der Version, die in dem Controller gespeichert ist, und/oder der Version, die in dem Computergerät gespeichert ist, oder das Auflösen von Abweichungen zwischen den Geräte- und Controller-Versionen.
  • Die Systeme und Verfahren bieten daher zahlreiche Vorteile. Insbesondere können die Systeme und Verfahren einen oder mehrere Unterschiede zwischen verschiedenen Versionen einer Konfigurationsdatei ermitteln und die Unterschiede effektiv präsentieren, damit sie durch einen Benutzer überprüft werden können. Somit kann der Benutzer auswählen, wie die Unterschiede zwischen den Versionen aufgelöst werden sollen, und Funktionalitäten ermöglichen, die der Auflösung zugeordnet sind. Dies führt dazu, dass der Benutzer sowie zusätzliche Benutzer, die dem modularen Steuerungssystem zugeordnet sind, eine effektive Überprüfung und Aktualisierung der in dem Controller gespeicherten Konfigurationsdatei durchführen können mit dem Wissen, dass die Konfigurationsdatei auf dem neuesten Stand ist. Es sollte verständlich sein, dass zusätzliche Vorteile vorstellbar sind.
  • 1 zeigt eine exemplarische Prozessanlage 10, bei der ein verteiltes Steuerungssystem 22 implementiert ist. In üblicher Weise umfasst das verteilte Steuerungssystem 22 einen oder mehrere Controller 40, jeweils verbunden mit einem oder mehreren Feldgeräten oder intelligenten Geräten 44 und 46, über Eingabe-/Ausgabegeräte (E/A-Geräte) oder -karten 48, bei denen es sich zum Beispiel um Fieldbus-Schnittstellen, Profibus-Schnittstellen, HART-Schnittstellen, Schnittstellen nach dem 4-20-mA-Standard usw. handeln kann. Die Controller 40 sind auch mit einer oder mehreren Host- oder Bediener-Arbeitsstationen 50, 52 gekoppelt, über eine Datenautobahn 54, bei der es sich zum Beispiel um eine Ethernet-Verbindung oder um eine andere Verbindung handeln kann, die für eine LAN-Verbindung (Local Area Network) geeignet ist. Eine Prozessdatenbank 58 kann mit der Datenautobahn 58 verbunden sein und betrieben werden, um Parameter-, Zustands- und andere Daten zu erfassen und zu speichern, die den Controllern und Feldgeräten innerhalb der Anlage 10 zugeordnet sind. Während des Betriebs der Prozessanlage 10 kann die Prozessdatenbank 58 über die Datenautobahn 54 Prozessdaten von dem Controller 40 und indirekt von den Geräten 44-46 empfangen.
  • In einer Konfigurationsdatenbank 60 ist die aktuelle Konfiguration des Prozesssteuerungssystems 22 innerhalb der Anlage 10 gespeichert, die zu den Controllern 40 und Feldgeräten 44 und 46 heruntergeladen und in diesen gespeichert wurde. In der Konfigurationsdatenbank 60 sind Prozesssteuerungsfunktionen gespeichert, welche definieren: die eine oder mehrere Steuerungsstrategien des Prozesssteuerungssystems 22, die Konfigurationsparameter der Geräte 44 und 46, die Zuordnung der Geräte 44 und 46 zu den Prozesssteuerungsfunktionen sowie andere Konfigurationsdaten in Bezug auf die Prozessanlage 10. In der Konfigurationsdatenbank 60 können zusätzlich grafische Objekte gespeichert sein, um verschiedene grafische Darstellungen von Elementen der Prozessanlage 10 bereitstellen zu können. Einige der gespeicherten grafischen Objekte können Prozesssteuerungsfunktionen entsprechen (z. B. eine Prozessgrafik, die für einen bestimmten PID-Regelkreis entwickelt wurde), und andere grafische Objekte können gerätespezifisch sein (z. B. eine Grafik, die einem Drucksensor entspricht).
  • Die Prozessanlage 10 kann auch andere mit der Datenautobahn 54 gekoppelte Datenbanken umfassen, die jedoch in 1 der Übersichtlichkeit halber nicht dargestellt sind. Zum Beispiel können durch einen Data-Historian Ereignisse, Alarme, Kommentare und von Bedienern durchgeführte Handlungsabläufe gespeichert werden. Die Ereignisse, Alarme und Kommentare können sich auf einzelne Geräte (z. B. Ventile, Sender), auf Kommunikationsverbindungen (z. B. kabelgebundene Fieldbus-Segmente, WirelessHART-Kommunikationsverbindungen) oder auf Prozesssteuerungsfunktionen (z. B. auf einen PI-Regelkreis zur Aufrechterhaltung eines gewünschten Temperatursollwerts) beziehen. Des Weiteren können in einem Wissensspeicher Referenzen, Bediener-Logbucheinträge, Hilfethemen oder Links zu diesen und anderen Dokumentationen gespeichert sein, die für Bediener und Wartungstechniker nützlich sein können, wenn diese die Prozessanlage 10 beaufsichtigen. Darüber hinaus können in einer Benutzerdatenbank Informationen über Benutzer wie z. B. den Bediener 12 und den Wartungstechniker 16 gespeichert sein. Für jeden Benutzer können in der Benutzerdatenbank beispielsweise seine organisatorische Rolle, ein Bereich innerhalb der Prozessanlage 10, welchem der Benutzer zugeordnet ist, seine Zuordnung zu einem Arbeitsteam usw. gespeichert sein.
  • Jede dieser Datenbanken kann einem beliebigen gewünschten Typ von Datenspeicherungs- oder -erfassungseinheit entsprechen, die einen beliebigen gewünschten Speichertyp aufweist sowie eine beliebige gewünschte oder bekannte Software, Hardware oder Firmware zur Speicherung von Daten. Natürlich müssen sich die Datenbanken nicht in getrennten physischen Geräten befinden. Damit sind in einigen Ausführungsformen einige dieser Datenbanken auf einem gemeinsam verwendeten Datenprozessor implementiert. Im Allgemeinen ist es möglich, mehr oder weniger Datenbanken zum Speichern der Daten zu verwenden, die durch die oben beschriebenen Datenbanken gemeinsam gespeichert und verwaltet werden.
  • Während die Controller 40, die E/A-Karten 48 und die Feldgeräte 44 und 46 in der Regel in der manchmal rauen Anlagenumgebung verteilt sind, befinden sich die Bediener-Arbeitsstationen 50 und 52 und die Datenbanken 58, 60 usw. in der Regel im Kontrollräumen oder in anderen weniger rauen Umgebungen, die für die Steuerungs-, Wartungs- und verschiedene andere Mitarbeiter der Anlage leicht zugänglich sind. In einigen Fällen können jedoch tragbare Geräte verwendet werden, um diese Funktionen zu implementieren, und diese tragbaren Geräte werden in der Regel zu verschiedenen Orten innerhalb der Anlage getragen.
  • In bekannter Art und Weise wird auf jedem der Controller 40, bei dem es sich beispielsweise um den DeltaV™-Controller handeln kann, der von Emerson Process Management vertrieben wird, eine Controller-Anwendung gespeichert und ausgeführt, welche eine Steuerungsstrategie implementiert, für die eine beliebige Anzahl von verschiedenen, unabhängig ausgeführten Steuerungsmodulen oder -blöcken 70 verwendet wird. Jedes der Steuerungsmodule 70 kann aus dem bestehen, was gemeinhin als Funktionsblöcke bezeichnet wird, wobei jeder Funktionsblock ein Teil oder eine Unterroutine einer gesamten Steuerungsroutine ist und zusammen mit anderen Funktionsblöcken (über als Links bezeichnete Kommunikationsverbindungen) betrieben wird, um Prozessregelkreise innerhalb der Prozessanlage 10 zu implementieren. Wie allgemein bekannt ist, führen Funktionsblöcke, bei denen es sich um Objekte in einem objektorientierten Programmierungsprotokoll handeln kann, in der Regel eines von Folgendem durch: eine Eingabefunktion, wie sie z. B. einem Sender, einem Sensor oder einem anderen Prozessparameter-Messgerät zugordnet ist, eine Steuerungsfunktion, wie sie z. B. einer Steuerungsroutine, die PID-, Fuzzy-Logic- usw. Steuerung durchführt, zugeordnet ist, oder eine Ausgabefunktion, die den Betrieb von einem Gerät steuert, z. B. von einem Ventil, um eine physische Funktion innerhalb der Prozessanlage 10 durchzuführen. Natürlich gibt es auch Hybrid- und andere Typen von komplexen Funktionsblöcken, wie z. B. modellbasierte prädiktive Controller (MPCs), Optimierer usw. Während das Fieldbus-Protokoll und das DeltaV-Systemprotokoll Steuerungsmodule und Funktionsblöcke verwenden, die in einem objektorientierten Programmierungsprotokoll erstellt und implementiert werden, könnten die Steuerungsmodule auch unter Verwendung eines beliebigen Programmierungsschemas erstellt werden, wozu beispielsweise sequentielle Funktionsblöcke, Kontaktpläne usw. zählen, und sie sind nicht darauf beschränkt, unter Verwendung von Funktionsblöcken oder irgendeiner anderen bestimmten Programmierungstechnik erstellt und implementiert zu werden. Jeder der Controller 40 kann auch die AMS®-Anwendungssuite unterstützen und kann prädiktive Intelligenz verwenden, um die Verfügbarkeit und Leistung von Produktionsanlagen zu verbessern, was mechanische Ausrüstungsteile, elektrische Systeme, Prozessausrüstung, Instrumente, Feld- und intelligente Feldgeräte 44, 46 und Ventile einschließt.
  • In der in 1 dargestellten Anlage 10 kann es sich bei den mit den Controllern 12 verbundenen Feldgeräten 44 und 46 um Geräte nach dem 4-20-mA-Standard handeln, es können intelligente Feldgeräte wie z. B. HART-, Profibus- oder FOUNDATION™-Fieldbus-Feldgeräte sein, welche einen Prozessor und einen Speicher enthalten, oder sie können einem beliebigen anderen Gerätetyp entsprechen. Einige dieser Geräte, wie z. B. Fieldbus-Feldgeräte (in 1 mit der Bezugsziffer 46 gekennzeichnet), können Module oder Teilmodule, wie z. B. Funktionsblöcke, speichern und ausführen, die der Steuerungsstrategie zugeordnet sind, welche in den Controllern 40 implementiert ist. Funktionsblöcke 72, die in 1 als in zwei verschiedenen der Fieldbus-Feldgeräte 46 angeordnet dargestellt sind, können in Verbindung mit der Ausführung der Steuerungsmodule 70 innerhalb des Controllers 40 ausgeführt werden, um die Prozesssteuerung zu implementieren, wie allgemein bekannt ist. Natürlich können die Feldgeräte 44 und 46 beliebige Gerätetypen sein, wie z. B. Sensoren, Ventile, Sender, Positionierer usw., und die E/A-Geräte 48 können beliebige Typen von E/A-Geräten sein, die einem beliebigen Kommunikations- oder Controller-Protokoll entsprechen, wie z. B. HART, Fieldbus, Profibus usw.
  • Die Arbeitsstationen 50 und 52 können einen oder mehrere Prozessoren 82 enthalten, die Anweisungen ausführen, welche in dem Speicher 80 gespeichert sind. Die Anweisungen können, unter anderem, eine Anzeigeanwendung 84 implementieren, die während des Betriebs der Prozessanlage 10 verschiedene Anzeigen bereitstellt, um es dem Bediener 12 zu ermöglichen, verschiedene Operationen innerhalb der Prozessanlage 10 oder, wie es in größeren Anlagen üblich ist, innerhalb eines Abschnitts der Prozessanlage 10, dem der entsprechende Bediener zugewiesen ist, anzuzeigen und zu steuern. Die Anzeigeanwendung 84 kann Unterstützungsanwendungen enthalten oder mit diesen zusammenwirken, wie z. B. Steuerungsdiagnoseanwendungen, Abstimmanwendungen, Berichterstellungsanwendungen oder beliebige andere Steuerungsunterstützungsanwendungen, die verwendet werden können, um den Bediener 12 bei der Durchführung von Steuerungsfunktionen zu unterstützen. Des Weiteren kann die Anzeigeanwendung 84 einem Wartungstechniker ermöglichen, den Wartungsbedarf der Anlage 10 zu beaufsichtigen, z. B. um die Betriebs- oder Arbeitsbedingungen verschiedener Geräte 40, 44 und 46 anzuzeigen. Die Anzeigeanwendung kann auch Unterstützungsanwendungen wie z. B. Wartungsdiagnoseanwendungen, Kalibrierungsanwendungen, Vibrationsanalyseanwendungen, Berichterstellungsanwendungen oder beliebige andere Wartungsunterstützungsanwendungen enthalten, die verwendet werden können, um den Wartungstechniker 14 bei der Durchführung von Wartungsfunktionen innerhalb der Anlage 10 zu unterstützen.
  • Die Prozessanlage 10 kann des Weiteren ein exemplarisches modulares Steuerungssystem 100 enthalten, das einen modularen Controller 102, eine Konfigurationsdatenbank 104 und Spezialausrüstung einschließen kann, wozu die Feldgeräte 110, 112, 114 gehören können. Das modulare Steuerungssystem 100 kann ein auf einem Gestell montiertes System sein, bei dem sich die Geräte 102, 104, 110, 112, 114 in einem physischen Rahmen 120 befinden. Das modulare Steuerungssystem 100 kann so konfiguriert sein, dass es in einem eigenständigen Modus betrieben wird und eine relativ komplexe Funktion in einer Anlage durchführt, wie z. B. das gesteuerte Pumpen von Flüssigkeit, das Erhitzen von Wasser und das Aufrechterhalten einer bestimmten Temperatur in einem Tank, das Durchführen einer Filtrationsfunktion usw. Zu diesem Zweck kann das modulare Steuerungssystem 100 Ventile, Tanks, Sensoren usw. enthalten. Darüber hinaus sollte es verständlich sein, dass, obwohl in 1 das modulare Steuerungssystem 100 als mit dem Steuerungssystem 22 verbunden und durch eine Schnittstelle gekoppelt dargestellt ist, das modulare Steuerungssystem 100 getrennt und unabhängig von dem Steuerungssystem 22 sein kann.
  • Der modulare Controller 102 kann nativ auf der Plattform des verteilten Steuerungssystems 22 aufgebaut sein. Mit andern Worten: Der modulare Controller 102 ist speziell für den Einsatz in dem verteilten Steuerungssystem 22 entwickelt, kann jedoch auch autonom betrieben werden, z. B. wenn das modulare Steuerungssystem 100 von dem Steuerungssystem 22 getrennt ist. Zu diesem Zweck kann die modulare Steuerung 102 Firmware- und/oder Software-Funktionen enthalten, die keine Zwischenschicht (z. B. eine Portierungs-/Adaptationsschicht von Firmware und/oder Software oder den entsprechenden API-Funktionen (Application Programming Interface, Anwendungsprogrammierschnittstelle) erfordern, um mit den Knoten des verteilten Steuerungssystems 22 zu interagieren. Der modulare Controller 102 verwendet in einer bestimmten Software-Architektur eine oder mehrere Software-Schichten gemeinsam mit anderen Controllern des verteilten Steuerungssystems 22. In jedem Fall sind die Konfiguration, die Sicherheitsmechanismen und die Kommunikation des modularen Controllers 102 voll kompatibel mit dem verteilten Steuerungssystem 22, da sie nativ zur Plattform des verteilten Steuerungssystems 22 gehören.
  • Die Konfigurationsdatenbank 104 kann auf einem nichtflüchtigen, computerlesbaren Speicher gespeichert werden, wie z. B. auf einer Festplatte, einem Flash-Laufwerk oder einer SD-Karte. Der computerlesbare Speicher und der modulare Controller 102 können je nach Implementierung als Teil eines einzigen Chipsatzes (d. h. der computerlesbare Speicher kann als Bestandteil des Controllers 102 enthalten sein) oder getrennt bereitgestellt sein.
  • Ein Hersteller kann das modulare Steuerungssystem 100 zusammenstellen und die Parameter des modularen Steuerungssystems 100 mit Sollwerten und anderen Parametern wie z. B. dem Verstärkungswert für einen PID-Regelkreis, Namen und Kennzeichen für die Feldgeräte 110, Lizenzen, Gebietsschemas usw. konfigurieren. Der Hersteller kann auch die Parametersicherheit konfigurieren. Zum Beispiel kann der Hersteller den Verstärkungswert zu einem Bestandteil der eingeschränkten Steuerung machen und verlangen, dass dieser Wert nur geändert werden kann, wenn der richtige Schlüssel zum Entsperren dieser Variablen eingegeben wird. In einigen Fällen kann der Hersteller das modulare Steuerungssystem 100 in Gänze zusammenstellen, um es als eine integrierte Einheit auszuliefern.
  • Wenn das modulare Steuerungssystem 100 mit dem Steuerungssystem 22 verbunden ist, dann kann das modulare Steuerungssystem 100 die Feldgeräte 110, 112, 114 entsprechend der aktuellen Konfiguration des Steuerungssystems 22 betreiben, die in der Konfigurationsdatenbank 60 gespeichert ist. Wenn jedoch das modulare Steuerungssystem 100 nicht mit dem Steuerungssystem 22 verbunden ist, dann kann das modulare Steuerungssystem 100 die Feldgeräte 110, 112, 114 entsprechend einer Konfigurationsdatei betreiben, die in der Konfigurationsdatenbank 104 gespeichert ist, die dem Controller 102 zugeordnet ist. Die Version der Konfigurationsdatei, die in der Konfigurationsdatenbank 104 gespeichert ist, wird hier als die „Controller-Version“ der Konfigurationsdatei bezeichnet.
  • Gemäß Ausführungsformen kann ein zusätzlicher oder alternativer Host 141 die Verbindung mit dem Controller 102 des modularen Steuerungssystems 100 herstellen, wobei der Host 141 einen Zugriff auf die eine Bewertung der oder eine Aktualisierung der Controller-Version der Konfigurationsdatei ermöglichen kann. Auf dem Host 141 kann eine „Computergeräteversion“ 151 (und/oder dieser zugeordnete Metadaten) der Konfigurationsdatei gespeichert sein. In bestimmten Situationen kann die Computergeräteversion 151 der Konfigurationsdatei einer Version entsprechen, mit welcher der Host 141 versuchen kann, den Controller 102 zu konfigurieren (d. h. die Controller-Version durch die Computergeräteversion zu ersetzen). Darüber hinaus kann auf dem Host 141 ein Datensatz einer „letzten Sicherungsinstanz“ gespeichert sein, die einer jüngsten Instanz der Sicherung der in der Konfigurationsdatenbank 104 gespeicherten Konfigurationsdatei durch den Host 141 entspricht. 4 und 5 veranschaulichen bestimmte Funktionalitäten, die dem Bewerten und Verwalten der verschiedenen Versionen der Konfigurationsdatei zugeordnet sind.
  • Obwohl bei einigen der hier beschriebenen Funktionalitäten eine einzige Konfigurationsdatei beschrieben wird, sollte es verständlich sein, dass mehrere Konfigurationsdateien auf dem Host 141 und dem Controller 102 gespeichert sein können, wobei jede Konfigurationsdatei eine Computergeräteversion (d. h. auf dem Host 141 gespeichert), eine Controller-Version (d. h. in dem Controller 102 gespeichert) und/oder eine letzte Sicherungsinstanz aufweisen kann. Zum Beispiel kann sowohl auf dem Host 141 als auch in dem Controller 102 eine Logik-Konfigurationsdatei, eine Feldgerät-Konfigurationsdatei und eine Grafik-Konfigurationsdatei gespeichert sein. Außerdem können auf dem Host 141 und in dem Controller 102 die gleichen oder verschiedene Konfigurationsdateien gespeichert sein, wobei die jeweiligen Konfigurationsdateien gleich oder unterschiedlich sein können. Zum Beispiel können auf dem Host 141 eine Logik-Konfigurationsdatei und eine Grafik-Konfigurationsdatei gespeichert sein, und in dem Controller 102 können eine Logik-Konfigurationsdatei und eine Feldgerät-Konfigurationsdatei gespeichert sein (d. h. in dem Controller 102 ist keine Grafik-Konfigurationsdatei gespeichert und auf dem Host 141 ist keine Feldgerät-Konfigurationsdatei gespeichert). Außerdem können die Logik-Konfigurationsdateien, die auf dem Host 141 und in dem Controller 102 gespeichert sind, unterschiedlich sein.
  • Außerdem können die hier beschriebenen Bewertungs-, Vergleichs- und Aktualisierungsfunktionalitäten auf einige oder alle der jeweiligen Konfigurationsdateien anwendbar sein, die auf dem Host 141 und in dem Controller 102 gespeichert sind. Insbesondere können die Bewertungs-, Vergleichs- und Aktualisierungsfunktionalitäten parallel oder auf einer dateispezifischen Basis ermöglicht werden. Dementsprechend können die Systeme und Verfahren das Abrufen, das Abgleichen und/oder das Aktualisieren bestimmter einzelner Konfigurationsdateien (z. B. der Konfigurationsdateien, die Abweichungen aufweisen) ermöglichen, während andere einzelne Konfigurationsdateien (z. B. identische Konfigurationsdateien) unverändert belassen werden können. 2 zeigt eine schematische Darstellung bestimmter Komponenten eines exemplarischen Controller-Moduls 202, das einem modularen Steuerungssystem 200 zugeordnet ist. In Ausführungsformen kann das Controller-Modul 202 zwei redundante, verteilte Controller 207 und 208 enthalten sowie zugeordnete Switches 211 und 212, die jeweils einen Satz von Kommunikations-Ports (z. B. Ethernet-Ports) 213 bzw. 214 steuern.
  • Gemäß Ausführungsformen kann der Controller 207 als der primäre Controller angesehen werden, und der Controller 208 kann als der Sicherungs- oder redundante Controller angesehen werden. Dementsprechend kann der Controller 207 im Normalbetrieb einen Satz von Prozesssteuerungsgeräten 221 betreiben; und im Sicherungsbetrieb kann der Controller 208 den Satz von Prozesssteuerungsgeräten 221 betreiben.
  • Auf jedem der Controller 207 und 208 können jeweilige Versionen einer Konfigurationsdatei gespeichert sein, die angeben oder vorschreiben können, wie der Satz von Prozesssteuerungsgeräten 221 betrieben wird. Insbesondere kann in dem Controller 207 eine Version 216 der Konfigurationsdatei gespeichert sein, und in dem Controller 208 kann eine Version 218 der Konfigurationsdatei gespeichert sein. Es sollte verständlich sein, dass in den Controllern 207 und 208 mehrere Konfigurationsdateien gespeichert sein können, von denen jede jeweilige Versionen aufweist. Gemäß Ausführungsformen können die Versionen 216, 218 der Konfigurationsdatei auf einer Speicherkarte (z. B. auf einer SD-Karte) gespeichert sein, die eine Schnittstelle mit den jeweiligen Controllern 207, 208 bildet. Es sollte jedoch verständlich sein, dass die Versionen 216, 218 der Konfigurationsdatei auch auf anderen Speichertypen gespeichert werden können (z. B. Festwertspeicher (Read-Only Memory, ROM), elektronisch programmierbarer Festwertspeicher (Electronic Programmable Read-Only Memory, EPROM), Direktzugriffsspeicher (Random Access Memory, RAM), löschbarer elektronisch programmierbarer Festwertspeicher (Electronic Programmable Read-Only Memory, EEPROM) und/oder andere Festplatten, Flash-Speicher und andere).
  • Im Allgemeinen sind die Versionen 216, 218 der Konfigurationsdatei identisch. Wenn ein Computergerät eine Schnittstelle mit dem Controller-Modul 202 bildet, kann das Computergerät die Version 216 der in dem Controller 207 gespeicherten Konfigurationsdatei aktualisieren. Der Controller 207 kann auch bewirken, dass der Controller 208 seine Version 218 der Konfigurationsdatei aktualisiert, damit sie mit der aktualisierten Version 216 übereinstimmt.
  • 3 zeigt eine Hardware-Darstellung eines exemplarischen Computergeräts 341 (wie z. B. der im Hinblick auf 1 beschriebene Host 141), das eine Schnittstelle mit dem exemplarischen Controller-Modul 202 bilden kann, wie das im Hinblick auf 2 beschrieben wurde, in dem die hier erläuterten Funktionalitäten implementiert sein können. Gemäß Ausführungsformen kann das Computergerät 341 einem beliebigen Typ von Computergerät entsprechen, das dazu konfiguriert ist, eine Schnittstelle mit dem Controller-Modul 202 zu bilden und mit diesem zu kommunizieren, z. B. mit einem Laptop-Computer, einem Desktop-Computer, einem Tablet-Gerät, einem Smartphone, einer Smartwatch, einer intelligenten Brille oder dergleichen.
  • Das Computergerät 341 kann einen Prozessor 372 sowie einen Speicher 378 enthalten. In dem Speicher 378 kann ein Betriebssystem 379 gespeichert sein, das in der Lage ist, die hier erläuterten Funktionalitäten sowie einen Satz von Anwendungen 375 (d. h. einen Satz maschinenlesbarer Anweisungen) zu ermöglichen. Zum Beispiel kann eine aus dem Satz von Anwendungen 375 eine Dateibewertungsanwendung 390 sein, die dazu konfiguriert ist, das Bewerten und Abgleichen von Versionen der Konfigurationsdateien zu ermöglichen. Es sollte verständlich sein, dass eine oder mehrere andere Anwendungen 392 vorstellbar sind.
  • Der Prozessor 372 kann eine Schnittstelle mit dem Speicher 378 bilden, um das Betriebssystem 379 und den Satz von Anwendungen 375 auszuführen. Gemäß einigen Ausführungsformen können in dem Speicher 378 auch eine oder mehrere Konfigurationsdateien 380 und Metadaten von diesen gespeichert sein, wobei es sich bei den Konfigurationsdateien 380 um die hier erläuterten Computergeräteversion der Konfigurationsdateien handeln kann. In dem Speicher 378 können zusätzlich Metadaten gespeichert sein, die der letzten Sicherungsinstanz einer Konfigurationsdatei durch das Computergerät 341 zugeordnet sind, sowie Daten, die einer Hash-Funktion und ihrer Ausgabe bzw. ihren Ausgaben zugeordnet sind. Insbesondere kann die Ausgabe bzw. können die Ausgaben einer Hash-Funktion aus den Konfigurationsdateien 380 resultieren, die in die Hash-Funktion eingegeben wurden. Der Speicher 378 kann eine oder mehrere Formen von flüchtigem und/oder nichtflüchtigem, fest verbautem und/oder wechselbarem Speicher enthalten, wie z. B. ROM, EPROM, RAM, EEPROM und/oder andere Festplatten, Flash-Speicher, Speicherkarten und andere.
  • Das Computergerät 341 kann des Weiteren ein Kommunikationsmodul 377 enthalten, das dazu konfiguriert ist, Daten mit dem Controller-Modul 202 zu kommunizieren, über eine kabelgebundene Verbindung oder über ein oder mehrere drahtlose Netzwerke. Gemäß einigen Ausführungsformen kann das Kommunikationsmodul 377 einen oder mehrere Sender/Empfänger (z. B. WWAN-, WLAN- und/oder WPAN-Sender/Empfänger) enthalten, die gemäß den IEEE-Standards, 3GPP-Standards oder anderen Standards funktionieren und dazu konfiguriert sind, Daten über einen oder mehrere Kommunikations-Ports 376 zu empfangen und zu senden. Zum Beispiel kann sich das Computergerät 341 über einen oder mehrere der jeweiligen Kommunikations-Ports 376, 213, 214 mit dem Controller-Modul 202 verbinden.
  • Das Computergerät 341 kann des Weiteren eine Benutzerschnittstelle 381 enthalten, die dazu konfiguriert ist, einem Benutzer Informationen zu präsentieren und/oder Eingaben von dem Benutzer zu empfangen. Wie in 3. dargestellt ist, kann die Benutzerschnittstelle 381 einen Anzeigebildschirm 382 und E/A-Komponenten 383 (z. B. Ports, kapazitive und resistive berührungsempfindliche Eingabefelder, Tasten, Schaltflächen, Lichter, LEDs) enthalten. Gemäß einigen Ausführungsformen kann der Benutzer über die Benutzerschnittstelle 381 auf das Computergerät 341 zugreifen, um Informationen zu überprüfen, Auswahlentscheidungen zu treffen und/oder andere Funktionen auszuführen.
  • In einigen Ausführungsformen kann das Computergerät 341 die hier erläuterten Funktionalitäten im Rahmen eines „Cloud“-Netzwerks durchführen oder es kann anderweitig mit anderen Hardware- oder Software-Komponenten innerhalb der Cloud kommunizieren, um Daten zu senden, abzurufen oder anderweitig zu analysieren.
  • Im Allgemeinen kann ein Computerprogrammprodukt gemäß einer Ausführungsform ein computernutzbares Speichermedium (z. B. einen Standard-RAM (Random Access Memory, Direktzugriffsspeicher), einen optischen Datenträger, einen USB-Datenträger (Universal Serial Bus) oder dergleichen) mit darin verkörpertem, computerlesbarem Programmcode enthalten, wobei der computerlesbare Programmcode dazu angepasst sein kann, durch den Prozessor 372 ausgeführt zu werden (der z. B. in Verbindung mit dem Betriebssystem 379 arbeitet), um die hier beschriebenen Funktionen zu ermöglichen. Diesbezüglich kann der Programmcode in jeder gewünschten Sprache implementiert werden und er kann als Maschinencode, Assembler-Code, Byte-Code, interpretierbarer Quellcode oder dergleichen implementiert werden (z. B. über Golang, Python, Scala, C, C++, Java, Actionscript, Objective-C, Javascript, CSS, XML). In einigen Ausführungsformen kann das Computerprogrammprodukt Bestandteil eines Cloud-Netzwerks von Ressourcen sein.
  • 4 zeigt ein exemplarisches Signaldiagramm 400, das dem Bewerten von Versionen einer Konfigurationsdatei zugeordnet ist, die einem modularen Steuerungssystem zugeordnet ist, und das basierend auf einem Versionsvergleich verschiedene Funktionalitäten ermöglicht. Die Funktionalitäten des Signaldiagramms 400 können durch ein Computergerät 405 und ein Controller-Modul 415 ermöglicht werden. Das Computergerät 405 kann ähnlich dem Computergerät 341 sein, das im Hinblick auf 3 beschrieben wurde, und es kann mindestens einen Prozessor 472 und einen Speicher 478 enthalten. Das Controller-Modul 415 kann einen Controller 410 (wie z. B. den Controller 207, der im Hinblick auf 2 beschrieben wurde) und einen Speicher 412 enthalten. Gemäß Ausführungsformen kann der Speicher 412 einem beliebigen Typ von verbautem oder wechselbarem Speicher entsprechen (z. B. einer SD-Karte), die dem Controller 410 zugeordnet ist oder für diesen zugänglich ist. Obwohl das in 4 nicht dargestellt ist, kann der Speicher 412 einen primären Speicher enthalten, in dem eine primäre Version der Konfigurationsdatei gespeichert sein kann, und einen Sicherungsspeicher, in dem eine Sicherungsversion der Konfigurationsdatei gespeichert sein kann.
  • Die Aufgabe des Computergeräts 405 (oder eines Benutzers des Computergeräts 405) kann das Aktualisieren der Version der Konfigurationsdatei sein, die in dem Speicher 412 des Controller-Moduls 415 gespeichert ist, gemäß Verbesserungen, Fehlerbehebungen, Funktionsmerkmalen und/oder dergleichen, die durch Mitarbeiter vorgenommen wurden, die dem modularen Steuerungssystem zugeordnet sind (z. B. ein Ingenieur, Administrator, Techniker oder dergleichen).
  • Gemäß Ausführungsformen kann die Konfigurationsdatei, die dem modularen Steuerungssystem zugeordnet ist, mehrere Versionen einschließen. Insbesondere kann in dem Speicher 478 des Computergeräts 405 eine „Computergeräteversion“ der Konfigurationsdatei gespeichert sein, die der Version der Konfigurationsdatei entspricht, die ein Benutzer des Computergeräts 405 in dem Speicher 412 des Controller-Moduls 415 aktualisieren möchte. Der Computergeräteversion der Konfigurationsdatei kann eine „Geräte-Hash-Ausgabe“ zugeordnet sein, die aus der Computergeräteversion resultiert, die in eine Hash-Funktion eingegeben wurde, die ebenfalls durch den Speicher 478 gespeichert werden kann. Im Speicher 478 des Computergeräts 405 können des Weiteren ein Datensatz bzw. Daten gespeichert sein, die indikativ für eine „letzte Sicherungsinstanz“ der Konfigurationsdatei (z. B. Metadaten, die einen oder mehrere Zeitstempel enthalten) sind, welche einer jüngsten Sicherung oder Aktualisierung der Konfigurationsdatei durch das Computergerät 405 in dem Speicher 412 des Controller-Moduls 415 entsprechen.
  • Im Speicher 412 des Controller-Moduls 415 kann eine „Controller-Version“ der Konfigurationsdatei gespeichert sein, welches die Version der Konfigurationsdatei ist, die aktuell im Speicher 412 gespeichert ist und die der Controller 410 verwendet, um einen Satz von anwendbaren Prozesssteuerungsgeräten zu steuern. Der Controller-Version der Konfigurationsdatei kann eine „Controller-Hash-Ausgabe“ zugeordnet sein, die aus der Controller-Version resultiert, die in die Hash-Funktion eingegeben wurde, die ebenfalls durch den Speicher 412 gespeichert werden kann. Gemäß Ausführungsformen können die Geräte-Hash-Ausgabe und die Controller-Hash-Ausgabe generiert oder ermittelt werden, wenn die jeweiligen Versionen der Konfigurationsdatei generiert oder gespeichert werden, oder zu einem anderen Zeitpunkt.
  • In Ausführungsformen können in jedem des Speichers 478 und des Speichers 412 mehrere Konfigurationsdateien gespeichert sein, wobei es sich bei den im Speicher 478 gespeicherten Konfigurationsdateien um die Computergeräteversionen handeln kann und es kann sich bei den im Speicher 412 gespeicherten Konfigurationsdateien um die Controller-Versionen handeln. In dem Speicher 478 können des Weiteren Datensätze oder Daten gespeichert sein, die indikativ für die letzten Sicherungsinstanzen der Konfigurationsdateien sind. Außerdem können in den Speichern 478, 412 mehrere Hash-Ausgaben gespeichert sein, die jeweils den mehreren Versionen der Konfigurationsdateien zugeordnet sind.
  • Obwohl das Signaldiagramm 400 das Abrufen, Zugreifen, Vergleichen, Auflösen und/oder Aktualisieren einer einzelnen Konfigurationsdatei beschreibt, sollte es verständlich sein, dass beim Vorhandensein von mehreren Konfigurationsdateien die Funktionalitäten des Signaldiagramms 400 für jede Konfigurationsdatei durchgeführt werden können, entweder parallel oder nacheinander.
  • Das Signaldiagramm 400 kann beginnen, wenn sich der Prozessor 472 mit dem Controller 410 des Controller-Moduls 415 verbindet (420) bzw. eine Schnittstelle zu diesem bildet. In Ausführungsformen kann sich der Prozessor 472 über jeweilige Kommunikations-Ports des Computergeräts 405 und des Controller-Moduls 415 und über mindestens eine drahtgebundene oder drahtlose Verbindung mit dem Controller 410 verbinden.
  • Nach dem Verbinden mit dem Controller 410 kann der Prozessor 472 vom Controller 410 die Controller-Version der Konfigurationsdatei anfordern (422). In Ausführungsformen kann der Prozessor 472 die gesamte Konfigurationsdatei oder nur einen Abschnitt davon und/oder einen Satz von Metadaten anfordern, die der Konfigurationsdatei zugeordnet sind. Zum Beispiel kann der Satz von Metadaten einen Zeitstempel, der den Zeitpunkt der jüngsten Aktualisierung identifiziert, und/oder andere Metadaten enthalten. Der Controller 410 kann die Controller-Version der Konfigurationsdatei aus dem Speicher 412 abrufen (424). In Ausführungsformen kann der Controller 410 Daten abrufen, die der Controller Version entsprechend der Anforderung von dem Prozessor 472 zugeordnet sind.
  • Der Controller 410 kann dem Prozessor 472 über die jeweiligen Kommunikations-Ports und über die mindestens eine drahtgebundene oder drahtlose Verbindung die Controller-Version der Konfigurationsdatei (und/oder etwaige abgerufene Daten entsprechend der Anforderung) bereitstellen (426). Der Prozessor 472 kann auf die Computergeräteversion der Konfigurationsdatei sowie auf die Daten, die indikativ für die letzte Sicherungsinstanz der Konfigurationsdatei sind, zugreifen (428) bzw. diese überprüfen. In Ausführungsformen kann der Prozessor 472 aus dem Speicher 478 auf die gesamte Computergeräteversion oder einen oder mehrere Abschnitte davon und/oder auf beliebige Metadaten zugreifen, die der Computergeräteversion zugeordnet sind. Des Weiteren kann der Prozessor 472 in Ausführungsformen aus dem Speicher 478 auf die gesamten oder einen Abschnitt der Daten zugreifen, die indikativ für die letzte Sicherungsinstanz der Konfigurationsdatei sind.
  • Der Prozessor 472 kann die Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei vergleichen (430). Beim Vergleichen der Versionen kann der Prozessor 472 zusätzlich die Daten analysieren, die indikativ für die letzte Sicherungsinstanz sind. In einer Ausführungsform kann der Prozessor 472 Zeitstempeldaten von jeweils der Computergeräteversion, der Controller-Version und der Daten, die indikativ für die letzte Sicherungsinstanz sind, vergleichen, wobei die Zeitstempeldaten indikativ für die jüngste Änderungszeit, für die jüngste Zugriffszeit und/oder für andere zeitliche Daten für die jeweiligen Versionen und die letzte Sicherungsinstanz sind. Dementsprechend kann der Prozessor 472 auf der Basis der Zeitstempeldaten ermitteln, welche von der Computergeräteversion und der Controller-Version die jüngste Version ist und wie sich die zeitlichen Daten von denen der letzten Sicherungsinstanz unterscheiden. Es sollte verständlich sein, dass alternative oder zusätzliche Metadatenvergleiche vorstellbar sind.
  • In einer anderen Ausführungsform kann der Prozessor 472 die Geräte-Hash-Ausgabe, die der Computergeräteversion zugeordnet ist, mit der Controller-Hash-Ausgabe vergleichen, die der Controller-Version zugeordnet ist, wobei das Ergebnis des Vergleichs das Vorhandensein von (oder das Fehlen von) irgendwelchen Unterschieden zwischen der Computergeräteversion und der Controller-Version anzeigen kann. Im Allgemeinen gilt: Wenn sich die Geräte-Hash-Ausgabe von der Controller-Hash-Ausgabe unterscheidet, dann unterscheidet sich die Computergeräteversion von der Controller-Version. In gleicher Weise gilt: Wenn die Geräte-Hash-Ausgabe die gleiche ist wie die Controller-Hash-Ausgabe, dann ist die Computergeräteversion die gleiche wie die Controller-Version.
  • Mit dem Vergleich der Hash-Ausgaben können, in einigen Situationen, wahrgenommene Konflikte beseitigt werden, die von den Metadaten, die den Versionen der Konfigurationsdatei zugeordnet sind, möglicherweise angezeigt werden. In einem bestimmten Szenario kann sich ein Zeitstempel der Computergeräteversion von einem Zeitstempel der Controller-Version unterscheiden, wobei ein Vergleich der Zeitstempel zu dem Schluss führen kann, dass sich die Computergeräteversion von der Controller-Version unterscheidet (z. B. jünger ist als diese). Allerdings müssen die Zeitstempel nicht notwendigerweise einer Dateiänderung entsprechen und können stattdessen beispielsweise einem Dateizugriff ohne einer Änderung entsprechen. Somit kann, obwohl der Zeitstempelvergleich anzeigen kann, dass die Versionen der Konfigurationsdatei unterschiedlich sind, der Vergleich der Hash-Ausgaben anzeigen, dass die Versionen tatsächlich identisch sind. In diesem Szenario kann der Prozessor 472 auf der Basis des Hash-Ausgaben-Vergleichs ermitteln, dass keine konkrete Maßnahme ergriffen wird, wenn der Prozessor ansonsten auf der Basis des Metadaten-Vergleichs diese konkrete Maßnahme ergreifen würde (oder umgekehrt).
  • Auf der Basis der Vergleichsfunktionalität von (430) kann der Prozessor 472 ermitteln (432), wie die Versionen der Konfigurationsdatei aktualisiert und/oder aufgelöst werden sollen. In einem Szenario (hier als „Szenario A“ bezeichnet) kann der Vergleich anzeigen, dass die Computergeräteversion jünger ist als die Controller-Version und die letzte Sicherungsinstanz (z. B. einen Zeitstempel hat, der jünger ist als derjenige der Controller-Version und der letzten Sicherungsinstanz) und dass der Zeitstempel der Controller-Version mit demjenigen der letzten Sicherungsinstanz übereinstimmt. Somit kann im Szenario A der Prozessor 472 ermitteln, dass die Computergeräteversion die im Speicher 412 gesicherte Controller-Version ersetzen soll. In einer Ausführungsform kann der Prozessor 472 im Szenario A keine Maßnahme(n) ergreifen, um die in dem Speicher 412 gesicherte Controller-Version zu ersetzen.
  • In einem anderen Szenario (hier als „Szenario B“ bezeichnet) kann der Vergleich anzeigen, dass der Zeitstempel der Computergeräteversion mit demjenigen der letzten Sicherungsinstanz übereinstimmt und dass die Controller-Version jünger ist als die Computergeräteversion und die letzte Sicherungsinstanz (z. B. einen Zeitstempel hat, der jünger ist als derjenige der Computergeräteversion und der letzten Sicherungsinstanz). Somit kann im Szenario B der Prozessor 472 ermitteln, dass die Computergeräteversion durch die jüngere Controller-Version ersetzt werden soll. In einer Ausführungsform kann der Prozessor 472 im Szenario B keine Maßnahme(n) ergreifen, um die Computergeräteversion durch die jüngere Controller-Version zu ersetzen.
  • In einem anderen Szenario (hier als „Szenario C“ bezeichnet) kann der Vergleich anzeigen, dass sich die Computergeräteversion von der Controller-Version unterscheidet, dass die Computergeräteversion jünger ist als die letzte Sicherungsinstanz (z. B. einen Zeitstempel hat, der jünger ist als derjenige der letzten Sicherungsinstanz) und dass die Controller-Version jünger ist als die Computergeräteversion (d. h. dass die Controller-Version die jüngste ist). Somit kann im Szenario C der Prozessor 472 ermitteln, dass ein Abgleich zwischen der Computergeräteversion und der Controller-Version erforderlich ist. In einer Ausführungsform kann der Prozessor 472 im Szenario C keine Maßnahme(n) ergreifen, um die Computergeräteversion mit der Controller-Version abzugleichen.
  • Der Prozessor 472 kann je nach dem ermittelten Szenario optional die Computergeräteversion aktualisieren oder auflösen (434). Insbesondere kann der Prozessor 472 die Computergeräteversion aktualisieren oder auflösen, wenn das ermittelte Szenario entweder das Szenario B oder das Szenario C ist. Wenn das ermittelte Szenario das Szenario B ist (d. h., dass die Controller-Version jünger ist als die Computergeräteversion), dann kann der Prozessor 472 bewirken, dass der Speicher 478 die gespeicherte Computergeräteversion durch die in (426) empfangene Controller-Version ersetzt. Dementsprechend ist die (aktualisierte) Computergeräteversion auf dem neuesten Stand, und ein Benutzer des Computergeräts 405 kann die (aktualisierte) Computergeräteversion zur der nachfolgenden Aktualisierung der Controller-Version der Konfigurationsdatei entsprechend bearbeiten oder ändern.
  • Wenn das ermittelte Szenario das Szenario C ist (d. h. die Controller-Version jünger ist als die Computergeräteversion, die wiederum jünger ist als die letzte Sicherungsinstanz), dann kann der Prozessor 472 die Abweichungen zwischen den Versionen der Konfigurationsdateien auflösen. In einigen Ausführungsformen kann der Prozessor 472 die Aktualisierungen oder Unterschiede in der Controller-Version mit etwaigen Aktualisierungen oder Unterschieden in der Computergeräteversion automatisch zusammenführen. In anderen Ausführungsformen kann der Prozessor 472 bewirken, dass der Speicher 478 die Computergeräteversion durch die Controller-Version ersetzt, oder er kann bewirken, dass der Speicher 412 die Controller-Version durch die Computergeräteversion ersetzt. In einer weiteren Ausführungsform kann der Prozessor 472 einem Benutzer ermöglichen (z. B. über eine Benutzerschnittstelle des Computergeräts 405) auszuwählen, wie die Abweichungen aufgelöst werden sollen. Insbesondere kann die Benutzerschnittstelle die Abweichungen zwischen den Versionen anzeigen und sie kann es dem Benutzer ermöglichen, bestimmte Hinzufügungen, Löschungen, Änderungen und/oder dergleichen anzunehmen oder abzulehnen.
  • Nachdem der Prozessor 472 etwaige Aktualisierungs- oder Auflösungsfunktionalitäten ermöglicht hat, kann er optional dem Controller 410 die Computergeräteversion bereitstellen (436). In Ausführungsformen kann, wenn das ermittelte Szenario das Szenario A ist (d. h. die Computergeräteversion jünger ist als die Controller-Version und die im Speicher 412 gespeicherte Controller-Version ersetzen soll), der Prozessor 472 dem Controller 410 die Computergeräteversion bereitstellen. In anderen Ausführungsform kann, wenn das ermittelte Szenario das Szenario C ist und der Prozessor 472 eine etwaige Aktualisierung oder Auflösung der Versionen der Konfigurationsdatei ermöglicht, der Prozessor 472 dem Controller 410 die aktualisierte oder aufgelöste Version der Konfigurationsdatei bereitstellen. Andernfalls ist es möglicherweise in Ausführungsformen, in denen das ermittelte Szenario das Szenario B ist, nicht nötig, dass der Prozessor 472 dem Controller 410 eine Version der Konfigurationsdatei bereitstellt.
  • Nach dem Empfangen der Computergeräteversion (oder einer beliebigen Version, die durch den Prozessor 472 bereitgestellt wird) kann der Controller 410 dem Speicher 412 die empfangene Version bereitstellen (438). Dementsprechend kann der Speicher 412 die Controller-Version aktualisieren (440), so dass diese diejenige Version widerspiegelt, die durch den Controller 410 in (438) bereitgestellt wird. Daher kann die Controller-Version der Konfigurationsdatei, die im Speicher 412 gespeichert ist, als auf dem neuesten Stand befindlich angesehen werden und sie kann Aktualisierungen widerspiegeln, die durch den Benutzer des Computergeräts 405 initiiert wurden.
  • 5 zeigt ein Ablaufdiagramm eines exemplarischen Verfahrens 500 zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist. Gemäß Ausführungsformen kann das Verfahren 500 durch ein Computergerät (und insbesondere durch einen Prozessor davon) ermöglicht werden, das dazu konfiguriert ist, sich mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, zu verbinden und eine Schnittstelle mit diesem zu bilden. In einem Speicher des Computergeräts kann eine Computergeräteversion der Konfigurationsdatei gespeichert sein, und der Controller kann einen darin integrierten Speicher (z. B. eine SD-Karte) enthalten, in dem eine Controller-Version der Konfigurationsdatei gespeichert sein kann. Es sollte verständlich sein, dass die Funktionalitäten des Verfahrens 500 exemplarisch sind und dass zusätzliche oder alternative Funktionalitäten vorstellbar sind.
  • Das Verfahren 500 kann beginnen, wenn das Computergerät eine Schnittstelle mit dem Controller bildet (Block 505), der dem modularen Steuerungssystem zugeordnet ist. In Ausführungsformen kann das Computergerät über jeweilige Kommunikations-Ports eine Schnittstelle mit dem Controller bilden und es kann die Controller-Version der Konfigurationsdatei von dem Controller abrufen. Das Computergerät kann eine letzte Sicherungsinstanz der Konfigurationsdatei identifizieren (Block 510), die einer jüngsten Sicherung der Konfigurationsdatei durch das Computergerät in dem Controller entspricht. In Ausführungsformen kann das Computergerät Metadaten analysieren (z. B. einen Zeitstempel), um die letzte Backupinstanz zu identifizieren.
  • Das Computergerät kann die Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei vergleichen (Block 515). In einigen Ausführungsformen kann das Computergerät einen Satz von Zeitstempeln vergleichen, die jeweils der Computergeräteversion und der Controller-Version der Konfigurationsdatei zugeordnet sind. In anderen Ausführungsformen kann der Computergeräteversion eine Geräte-Hash-Ausgabe zugeordnet sein, die durch eine Hash-Funktion produziert wurde, und der Controller-Version kann eine Controller-Hash-Ausgabe zugeordnet sein, die durch die Hash-Funktion produziert wurde, und das Computergerät kann die Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe vergleichen. Beim Vergleichen der Computergeräteversion mit der Controller-Version kann das Computergerät auch Daten analysieren, die der letzten Sicherungsinstanz zugeordnet sind.
  • Das Computergerät kann, über eine Benutzerschnittstelle, (i) eine Anzeige von jeweils der Computergeräteversion, der letzten Sicherungsinstanz und der Controller-Version, und (ii) eines Ergebnisses des Vergleichens präsentieren (Block 520). Beim Präsentieren des Ergebnisses des Vergleichens kann das Computergerät in einer optisch unverwechselbaren Weise (z. B. durch Hervorhebung oder Unterstreichung) anzeigen, welche Version der Konfigurationsdatei die jüngste Version ist. Das Computergerät kann optional, über die Benutzerschnittstelle, eine Benutzerauswahl empfangen (Block 525), die dem Ergebnis des Vergleichens zugeordnet ist. Insbesondere kann die Benutzerauswahl einer Auswahl einer Version der Konfigurationsdatei entsprechen, die der Benutzer überprüfen, ändern oder aktualisieren lassen möchte.
  • Das Computergerät kann auf der Basis des Vergleichens von Block 520 ermitteln (Block 530), ob eine bestimmte Version oder mehrere bestimmte Versionen der Konfigurationsdatei aktualisiert, abgerufen oder aufgelöst werden sollen. Wenn das Computergerät ermittelt, dass aktualisiert werden soll („AKTUALISIEREN“, d. h. die Computergeräteversion der Konfigurationsdatei ist jünger als die Controller-Version der Konfigurationsdatei und die letzte Sicherungsinstanz, oder es liegt ein Szenario A vor, wie hier erläutert), dann kann das Computergerät bewirken (Block 535), dass der Speicher des Controllers die Controller-Version aktualisiert. Insbesondere kann das Computergerät bewirken, dass die im Speicher des Controllers gespeicherte Controller-Version der Konfigurationsdatei durch die Computergeräteversion der Konfigurationsdatei ersetzt wird. In einer alternativen Implementierung des Szenarios A kann das Computergerät keine weitere Maßnahme ergreifen (d. h. es kann nicht bewirken, dass der Speicher des Controllers die Controller-Version aktualisiert).
  • Wenn das Computergerät ermittelt, dass abgerufen werden soll („ABRUFEN“, d. h. (i) die Computergeräteversion der Konfigurationsdatei stimmt mit derjenigen der letzte Sicherungsinstanz der Konfigurationsdatei überein und (ii) die Controller-Version der Konfigurationsdatei ist jünger als die Computergeräteversion der Konfigurationsdatei, oder es liegt ein Szenario B vor, wie hier erläutert), dann kann das Computergerät die Controller-Version der Konfigurationsdatei aus dem Speicher des Controllers abrufen (Block 540). Des Weiteren kann das Computergerät die Computergeräteversion der Konfigurationsdatei gemäß der Controller-Version aktualisieren (Block 545). Insbesondre kann das Computergerät die lokal gespeicherte Computergeräteversion der Konfigurationsdatei durch die vom Controller abgerufene Controller-Version der Konfigurationsdatei ersetzen.
  • Wenn das Computergerät ermittelt, dass aufgelöst werden soll („AUFLÖSEN“, d. h. die Computergeräteversion der Konfigurationsdatei ist jünger als die letzte Sicherungsinstanz und die Controller-Version der Konfigurationsdatei ist jünger als die Computergeräteversion der Konfigurationsdatei, oder es liegt ein Szenario C vor, wie hier erläutert), dann kann das Computergerät die Controller-Version der Konfigurationsdatei aus dem Speicher des Controllers abrufen (Block 550). Des Weiteren kann das Computergerät die Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei auflösen (Block 555). Insbesondere kann das Computergerät Aktualisierungen zwischen den Versionen zusammenführen, einem Benutzer ermöglichen auszuwählen, wie die Versionen aufgelöst werden sollen, oder andere Funktionalitäten ermöglichen, wie sie hier erläutert werden. In einer konkreten Implementierung des Szenarios C kann das Computergerät nur die Computergeräteversion auflösen, ohne die Controller-Version zu ändern (oder umgekehrt).
  • 6 und 7 zeigen exemplarische Schnittstellen 600, 700, die den Ausführungsformen und deren Funktionalitäten zugeordnet sind. Ein Computergerät (wie z. B. das Computergerät 341, das bereits im Hinblick auf 3 beschrieben wurde) kann so konfiguriert sein, dass es die Schnittstellen 600, 700 präsentiert, wobei sich das Computergerät mit einem Controller eines modularen Steuerungssystems verbinden und eine Schnittstelle mit diesem bilden kann. Es sollte verständlich sein, dass der Inhalt der Schnittstellen 600, 700 lediglich exemplarisch ist und dass zusätzlicher oder alternativer Inhalt vorstellbar ist.
  • Die Schnittstelle 600 von 6 enthält verschiedene Informationen, die einer Bewertung von einer oder mehreren Konfigurationsdateien zugeordnet sind. Ein Symbol 602 kann das Computergerät darstellen, und ein Symbol 604 kann den Speicher darstellen, der in dem Controller des modularen Steuerungssystems enthalten ist, wobei jeweils in dem Computergerät und in dem Speicher eine oder mehrere Versionen einer Konfigurationsdatei gespeichert sein können. Ein Satz von Zuständen 603 kann verschiedene Maßnahmen anzeigen, die durch das Computergerät bei der Bewertung der Version(en) der Konfigurationsdatei ergriffen werden können, und eine Vergleichszusammenfassung 605 kann die Bewertung zusammenfassen.
  • Wie in 6 dargestellt, zeigt die Vergleichszusammenfassung 605 die letzte Änderung des Computergeräts (d. h. die Computergeräteversion der Konfigurationsdatei), die letzte Sicherung des Computergeräts (d. h. die letzte Sicherungsinstanz der Konfigurationsdatei) und die Projektsicherung (d. h. die Controller-Version der Konfigurationsdatei) an. Zusätzliche Informationen, die diesen Versionen zugeordnet sind, werden im Hinblick auf 7 beschrieben.
  • Die Schnittstelle 700 von 7 enthält Details in Bezug auf eine Bewertung von Versionen einer Konfigurationsdatei, wie z. B. zeitliche Metadaten, die den verschiedenen Versionen zugeordnet sind. Insbesondere identifiziert die Schnittstelle 700 drei (3) Konfigurationsdateien (701, 702, 703), die in dem Computergerät und in dem Controller vorhanden sind, die unterschiedliche Zeitstempel aufweisen, und zwei (2) Konfigurationsdateien (704), die in dem Controller vorhanden sind, nicht jedoch in dem Computergerät.
  • Jede der Identifikationen 701, 702, 703 für die jeweiligen Konfigurationsdateien kann einen Namen, einen Konfigurationstyp, einen Elementtyp, einen Geändert-Zeitstempel (d. h. einen Zeitstempel für die Computergeräteversion), einen Geändert-(Letzte-Sicherung)-Zeitstempel (d. h. einen Zeitstempel für die letzte Sicherungsinstanz), einen Geändert-(Sicherung)-Zeitstempel (d. h. einen Zeitstempel für die Controller-Version) und ein Ergebnis des Vergleichs identifizieren. Die Identifizierung 701 kann dem Szenario A entsprechen, bei dem die letzte Sicherungsinstanz und die Controller-Version denselben Zeitstempel aufweisen und die Computergeräteversion einen jüngeren Zeitstempel aufweist. Die Identifizierung 702 kann dem Szenario B entsprechen, bei dem die Computergeräteversion und die letzte Sicherungsinstanz denselben Zeitstempel aufweisen und die Controller-Version einen jüngeren Zeitstempel aufweist. Die Identifizierung 703 kann dem Szenario C entsprechen, bei dem der Zeitstempel der Computergeräteversion jünger ist als der Zeitstempel der letzten Sicherungsinstanz und der Zeitstempel der Controller-Version jünger ist als der Zeitstempel der Computergeräteversion.
  • Das Computergerät kann so konfiguriert sein, dass es in einer optisch unverwechselbaren Weise anzeigt, welche der Versionen möglicherweise bewertet, verglichen oder aufgelöst werden muss oder dergleichen. Insbesondere wird, wie in 7. dargestellt, bei der Identifizierung 701, die dem Szenario A zugeordnet ist, die Computergeräteversion unterstrichen, weil sie die jüngste Version ist; bei der Identifizierung 702, die dem Szenario B zugeordnet ist, wird die Controller-Version unterstrichen, weil sie die jüngste Version ist; und bei der Identifizierung 703, die dem Szenario C zugeordnet ist, wird sowohl die Computergeräteversion als auch die Controller-Version unterstrichen, weil diese Versionen möglicherweise aufgelöst werden müssen.
  • Das Computergerät kann auch so konfiguriert sein, dass es einem Benutzer des Computergeräts ermöglicht, Auswahlen zu treffen und bestimmte Maßnahmen zu ermöglichen, die dem Aktualisieren und Auflösen von Versionen der Konfigurationsdatei zugeordnet sind. Insbesondere kann jede der Identifikationen 701, 702, 703 ein auswählbares Feld enthalten, um eine bestimmte Version der jeweiligen Konfigurationsdatei abzurufen. In Ausführungsformen kann, wenn der Benutzer ein Abrufen-Feld für eine bestimmte Konfigurationsdatei auswählt und eine Abrufen-Auswahloption 705 auswählt, das Computergerät das Zugreifen auf oder das Abrufen der entsprechenden Version(en) der Konfigurationsdatei ermöglichen, es kann die entsprechende(n) Version(en) anzeigen und es kann dem Benutzer ermöglichen, Auswahlen zu treffen, Zusammenführungen möglich zu machen, Bearbeitungen oder Hinzufügungen vorzunehmen und/oder andere Bearbeitungen durchzuführen. In einer Implementierung kann, wenn der Benutzer die Abrufen-Auswahloption 705 auswählt, das Computergerät auf die Version(en) der Konfigurationsdatei zugreifen oder diese abrufen, die in der optisch unverwechselbaren Weise angezeigt werden (z. B. die hervorgehobene(n) Version(en)).
  • Zusätzliche Funktionsmerkmale, die den hier beschriebenen Techniken zugeordnet sind, sind ebenfalls vorstellbar. Insbesondere kann eine Visualisierungsbenutzerschnittstelle bereitgestellt werden, die Konfigurationsinformationen aus der Perspektive sowohl des Computergeräts als auch des Controllers anzeigen kann. Darüber hinaus kann die Visualisierungsbenutzerschnittstelle eine Zusammenführung mehrerer Versionen der Konfigurationsdatei ermöglichen, wie das hier beschrieben ist, wobei das Computergerät mit einer „Auto-Zusammenführen-Funktionalität“ konfiguriert sein kann, mit der automatisch zwei Versionen derselben Datei zusammengeführt werden können, während es einem Benutzer ermöglicht wird, dies zu überwachen und/oder zusätzliche Auswahlen zu treffen (z. B. Abschnitte der Datei, die das Computergerät nicht automatisch zusammengeführt hat). Darüber hinaus kann das Computergerät dem Benutzer ermöglichen, eine Auswahl zum Sichern oder Beibehalten mehrerer Versionen der gleichen Datei zu treffen. Dementsprechend kann das Computergerät dem Benutzer ermöglichen, eine Auswahl zum Sichern mehrerer Versionen zu treffen, entweder mit einem automatisch gewählten neuen Dateinamen für die Kopie oder indem dem Benutzer das Eingeben eines Dateinamens ermöglicht wird.
  • Ausführungsformen der in der vorliegenden Offenbarung beschriebenen Techniken können eine beliebige Anzahl der folgenden Aspekte enthalten, entweder allein oder in Kombination miteinander:
    1. 1. Computerimplementiertes Verfahren in einem Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, wobei in dem Computergerät eine Computergeräteversion der Konfigurationsdatei gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Identifizieren einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei in dem Controller durch das Computergerät entspricht; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; und Präsentieren, über eine Benutzerschnittstelle, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) eines Ergebnisses des Vergleichens.
    2. 2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei Folgendes umfasst: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
    3. 3. Computerimplementiertes Verfahren nach Anspruch 1, wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei das Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei Folgendes umfasst: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
    4. 4. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 9, wobei (i) die Computergeräteversion der Konfigurationsdatei deckungsgleich mit der letzten Sicherungsinstanz der Konfigurationsdatei ist, und (ii) die Controller-Version der Konfigurationsdatei jünger als die Computergeräteversion der Konfigurationsdatei ist.
    5. 5. Computerimplementiertes Verfahren nach Anspruch 4, des Weiteren umfassend: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei, und Aktualisieren der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
    6. 6. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 3, wobei die Computergeräteversion der Konfigurationsdatei (i) jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und (ii) jünger ist als die Controller-Version der Konfigurationsdatei.
    7. 7. Computerimplementiertes Verfahren nach Anspruch 6, des Weiteren umfassend: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
    8. 8. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 3, wobei die Computergeräteversion der Konfigurationsdatei jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und wobei die Controller-Version der Konfigurationsdatei jünger ist als die Computergeräteversion der Konfigurationsdatei.
    9. 9. Computerimplementiertes Verfahren nach Anspruch 8, des Weiteren umfassend: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei; und Auflösen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei.
    10. 10. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 9, des Weiteren umfassend: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist.
    11. 11. Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, umfassend: einen Kommunikations-Port; eine Benutzerschnittstelle; einen Gerätespeicher zum Speichern (i) eines Satzes von computerausführbaren Anweisungen, (ii) einer Computergeräteversion der Konfigurationsdatei und (iii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, auf einem Controller entspricht, der dem modularen Steuerungssystem zugeordnet ist; und einen Prozessor, der mit dem Kommunikations-Port, der Benutzerschnittstelle und dem Speicher verbunden ist und dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um zu bewirken, dass der Prozessor Folgendes durchführt: Bilden einer Schnittstelle, über den Kommunikations-Port, mit dem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist, Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei, und Bewirken, dass die Benutzerschnittstelle präsentiert: (i) eine Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) ein Ergebnis des Vergleichens.
    12. 12. Computergerät nach Anspruch 11, wobei der Prozessor zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
    13. 13. Computergerät nach Anspruch 11, wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei der Prozessor zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
    14. 14. Computergerät nach einem der Ansprüche 11 bis 13, wobei (i) die Computergeräteversion der Konfigurationsdatei deckungsgleich mit der letzten Sicherungsinstanz der Konfigurationsdatei ist und (ii) die Controller-Version der Konfigurationsdatei jünger als die Computergeräteversion der Konfigurationsdatei ist.
    15. 15. Computergerät nach Anspruch 14, wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei, und Aktualisieren, in dem Gerätespeicher, der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
    16. 16. Computergerät nach einem der Ansprüche 11 bis 13, wobei die Computergeräteversion der Konfigurationsdatei (i) jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und (ii) jünger ist als die Controller-Version der Konfigurationsdatei.
    17. 17. Computergerät nach Anspruch 16, wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
    18. 18. Computergerät nach einem der Ansprüche 11 bis 13, wobei die Computergeräteversion der Konfigurationsdatei jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und wobei die Controller-Version der Konfigurationsdatei jünger ist als die Computergeräteversion der Konfigurationsdatei.
    19. 19. Computergerät nach Anspruch 18, wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei, und Auflösen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei.
    20. 20. Computergerät nach einem der Ansprüche 11 bis 19, wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist.
    21. 21. Computerimplementiertes Verfahren in einem Computergerät zum Verwalten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, wobei in dem Computergerät eine Computergeräteversion der Konfigurationsdatei gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; Präsentieren, über eine Benutzerschnittstelle des Computergeräts, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der Controller-Version der Konfigurationsdatei und einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht, und (ii) eines Ergebnisses des Vergleichens; Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist; und basierend auf der Benutzerauswahl, Ermöglichen einer Aktualisierung von mindestens einem von: der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei.
    22. 22. Computerimplementiertes Verfahren nach Anspruch 21, wobei das Präsentieren des Ergebnisses des Vergleichens umfasst: optisches Anzeigen, welches von der Computergeräteversion, der Controller-Version und einem Zeitpunkt der letzten Sicherungsinstanz der Konfigurationsdatei am jüngsten ist.
    23. 23. Computerimplementiertes Verfahren nach Anspruch 21 oder Anspruch 22, wobei die Benutzerauswahl der Controller-Version der Konfigurationsdatei zugeordnet ist, und wobei das Ermöglichen der Aktualisierung umfasst: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei; und Aktualisieren der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
    24. 24. Computerimplementiertes Verfahren nach Anspruch 21 oder Anspruch 22, wobei die Benutzerauswahl der Computergeräteversion der Konfigurationsdatei zugeordnet ist, und wobei das Ermöglichen der Aktualisierung umfasst: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
    25. 25. Modulares Steuerungssystem in einer Prozessanlage, umfassend: einen Satz von Prozesssteuerungsgeräten, die kommunikationsfähig verbunden sind, um einen Satz von Prozessen zu steuern; einen Controller, in dem eine Controller Version der Konfigurationsdatei gespeichert ist und der dazu konfiguriert ist, den Satz von Prozesssteuerungsgeräten entsprechend der Controller-Version der Konfigurationsdatei zu betreiben; und ein Computergerät, das zum Bilden einer Schnittstelle mit dem Controller konfiguriert ist und zum Speichern (i) einer Computergeräteversion der Konfigurationsdatei und (ii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht, wobei das Computergerät des Weiteren zu Folgendem konfiguriert ist: Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; und Präsentieren, über eine Benutzerschnittstelle des Computergeräts, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) eines Ergebnisses des Vergleichens.
    26. 26. Modulares Steuerungssystem nach Anspruch 25, wobei das Computergerät zum Präsentieren des Ergebnisses des Vergleichens konfiguriert ist zum optischen Anzeigen, welches von der Computergeräteversion, der Controller-Version und einem Zeitpunkt der letzten Sicherungsinstanz der Konfigurationsdatei am jüngsten ist.
    27. 27. Modulares Steuerungssystem nach Anspruch 25 oder Anspruch 26, wobei das Computergerät des Weiteren konfiguriert ist zum: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist, und, basierend auf der Benutzerauswahl, Ermöglichen einer Aktualisierung von mindestens einem von: der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei.
    28. 28. Modulares Steuerungssystem nach einem der Ansprüche 25 bis 27, wobei das Computergerät zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
    29. 29. Modulares Steuerungsgerät nach einem der Ansprüche 25 bis 27 wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei das Computergerät zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
  • Darüber hinaus sind die oben aufgeführten Aspekte der Offenbarung lediglich exemplarisch und nicht dazu vorgesehen, den Geltungsbereich der Offenbarung einzuschränken.
  • Die folgenden zusätzlichen Überlegungen gelten für die vorstehende Erörterung. In der gesamten vorliegenden Beschreibung beziehen sich Maßnahmen, die als durch ein beliebiges Gerät oder eine beliebige Routine durchgeführt beschrieben werden, im Allgemeinen auf Maßnahmen oder Prozesse eines Prozessors, der Daten gemäß maschinenlesbaren Anweisungen manipuliert oder umwandelt. Die maschinenlesbaren Anweisungen können auf einem Speichergerät gespeichert sein und von diesem abgerufen werden, das kommunikationsfähig mit dem Prozessor gekoppelt ist. Das bedeutet, dass die hier beschriebenen Verfahren durch einen Satz aus maschinenausführbaren Anweisungen verkörpert sein können, die auf einem computerlesbaren Medium (d. h. auf einem Speichergerät) gespeichert sind. Wenn die Anweisungen durch einen oder mehrere Prozessoren eines entsprechenden Geräts (z. B. einer Bediener-Arbeitsstation, eines Inbetriebnahmewerkzeugs usw.) ausgeführt werden, bewirken sie, dass die Prozessoren das Verfahren ausführen. Wenn hier davon die Rede ist, dass Anweisungen, Routinen, Module, Prozesse, Services, Programme und/oder Anwendungen auf einem computerlesbaren Speicher oder auf einem computerlesbaren Medium gespeichert oder gesichert werden, dann sind die Begriffe „gespeichert“ und „gesichert“ so zu verstehen, dass dabei flüchtige Signale ausgeschlossen sind.
  • Des Weiteren sollen, obwohl die Begriffe „Bediener“, „Mitarbeiter“, „Person“, „Benutzer“, „Techniker“, „Administrator“ und ähnliche andere Begriffe verwendet werden, um Personen im Umfeld der Prozessanlage zu beschreiben, die möglicherweise die hier beschriebenen Systeme, Vorrichtungen und Verfahren verwenden oder mit diesen interagieren können, diese Begriffe nicht als einschränkend verstanden werden. Wenn in der Beschreibung ein bestimmter Begriff verwendet wird, dann wird dieser Begriff teilweise aufgrund der traditionellen Maßnahmen verwendet, an denen Anlagenmitarbeiter beteiligt sind, aber damit soll keine Einschränkung der Mitarbeiter verbunden sein, die an dieser konkreten Maßnahme beteiligt sein könnten.
  • Außerdem können Komponenten, Operationen oder Strukturen, die in der gesamten vorliegenden Beschreibung als eine einzige Instanz beschrieben sind, als mehrere Instanzen implementiert werden. Obwohl einzelne Operationen von einem oder mehreren Verfahren dargestellt und als getrennte Operationen beschrieben sind, können eine oder mehrere der einzelnen Operationen gleichzeitig durchgeführt werden, und es ist nicht erforderlich, dass die Operationen in der dargestellten Reihenfolge durchgeführt werden müssen. Strukturen und Funktionen, die in den exemplarischen Konfigurationen als getrennte Komponenten vorgestellt sind, können in Form einer kombinierten Struktur oder Komponente implementiert werden. In gleicher Weise können Strukturen und Funktionen, die als eine einzige Komponente vorgestellt sind, in Form von getrennten Komponenten implementiert werden. Diese und andere Varianten, Modifikationen, Ergänzungen und Verbesserungen liegen im Geltungsbereich des beschriebenen Gegenstands.
  • Sofern nicht ausdrücklich anders angegeben, können sich hier erfolgte Erörterungen, bei denen Wörter wie „verarbeiten“, „berechnen“, „errechnen“, „ermitteln“, „identifizieren“, „präsentieren“, „bewirken, präsentiert zu werden“, „anzeigen“ oder dergleichen verwendet werden, auf Maßnahmen oder Prozesse einer Maschine (z. B eines Computers) beziehen, die Daten manipuliert oder umwandelt, die in Form von physischen (z. B. elektronischen, magnetischen, biologischen oder optischen) Größen innerhalb von einem oder mehreren Speichern (z. B. flüchtigem Speicher, nichtflüchtigem Speicher oder einer Kombination davon), Registern oder anderen Komponenten der Maschine vorliegen, die dem Empfangen, Speichern, Senden oder Anzeigen von Informationen dienen.
  • Bei Implementierung in Form von Software können jegliche der hier beschriebenen Anwendungen, Services und Engines in einem beliebigen materiellen, nichtflüchtigen, computerlesbaren Speicher gespeichert werden, wie z. B. auf einem magnetischen Datenträger, einem Laser-Datenträger, einem Festkörperspeicher, einem Molekularspeicher oder einem anderen Speichermedium, in einem RAM oder ROM eines Computers oder Prozessors usw. Obwohl die hier offenbarten exemplarischen Systeme so offenbart werden, dass sie, neben anderen Komponenten, Software und/oder Firmware enthalten, die auf Hardware ausgeführt wird, sei daraufhingewiesen, dass derartige Systeme lediglich der Veranschaulichung dienen und nicht als einschränkend angesehen werden sollten. Zum Beispiel ist es vorgesehen, dass einige oder alle dieser Hardware-, Software- und Firmware-Komponenten ausschließlich als Hardware, ausschließlich als Software oder in einer beliebigen Kombination aus Hardware und Software verkörpert sein könnten. Dementsprechend wird es dem durchschnittlichen Fachmann auf dem Gebiet der Technik problemlos einleuchten, dass die bereitgestellten Beispiele nicht die einzige Möglichkeit darstellen, um derartige Systeme zu implementieren.
  • Obwohl die vorliegende Erfindung unter Bezug auf konkrete Beispiele beschrieben wurde, die lediglich der Veranschaulichung und nicht der Einschränkung der vorliegenden Erfindung dienen sollen, sollte es somit für den durchschnittlichen Fachmann auf dem Gebiet der Technik offensichtlich sein, dass an den offenbarten Ausführungsformen Änderungen, Ergänzungen oder Streichungen vorgenommen werden können, ohne dass damit vom Geist und Geltungsbereich der vorliegenden Erfindung abgewichen wird.
  • Es sollte auch verständlich sein, dass es, sofern ein Begriff im vorliegenden Patent nicht ausdrücklich durch den Satz „Der hier verwendete Begriff „______“ wird hiermit in der Bedeutung von „[...]“ definiert.“ oder einen ähnlichen Satz definiert wird, nicht vorgesehen ist, die Bedeutung dieses Begriffs weder ausdrücklich noch stillschweigend über dessen einfache oder gewöhnliche Bedeutung hinaus einzuschränken, und dass ein solcher Begriff ausgehend von einer beliebigen Aussage in einem beliebigen Abschnitt des vorliegenden Patents (außerhalb des Wortlauts der Patentansprüche) nicht als in seinem Geltungsbereich eingeschränkt zu interpretieren ist. Insoweit ein beliebiger in den Patentansprüchen am Ende des vorliegenden Patents angegebener Begriff in einer Weise verwendet wird, die im Einklang mit einer einzigen Bedeutung steht, dann erfolgt dies lediglich aus Gründen der Übersichtlichkeit, um den Leser nicht zu verwirren, und es soll damit nicht beabsichtigt sein, dass ein derartiger Begriff aus den Patentansprüchen stillschweigend oder auf andere Weise auf diese einzige Bedeutung eingeschränkt ist. Schließlich ist es, sofern ein Element aus den Patentansprüchen nicht durch Angabe des Wortes „Mittel“ und einer Funktion ohne Angabe irgendeiner Struktur definiert wird, nicht beabsichtigt, dass die Interpretation des Geltungsbereichs eines beliebigen Elements aus den Patentansprüchen auf der Grundlage der Anwendung von 35 U.S.C. § 112(f) und/oder prä-AIA 35 U.S.C. § 112, sechster Absatz, erfolgen soll.
  • Darüber hinaus sollte es verständlich sein, dass, obwohl der vorstehende Text eine detaillierte Beschreibung von zahlreichen unterschiedlichen Ausführungsformen liefert, der Geltungsbereich des vorliegenden Patents durch den Wortlaut der Patentansprüche definiert wird, die am Ende des vorliegenden Patents bereitgestellt sind. Die detaillierte Beschreibung ist als lediglich exemplarisch anzusehen und beschreibt nicht jede mögliche Ausführungsform, weil eine Beschreibung jeder möglichen Ausführungsform unpraktisch, wenn nicht gar unmöglich, wäre. Es könnten zahlreiche alternative Ausführungsformen implementiert werden, bei denen entweder die aktuelle Technologie oder Technologie zum Einsatz kommt, die erst nach dem Anmeldedatum des vorliegenden Patents entwickelt wird, die jedoch weiterhin vom Geltungsbereich der Patentansprüche abgedeckt wären.

Claims (24)

  1. Computerimplementiertes Verfahren in einem Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, wobei in dem Computergerät eine Computergeräteversion der Konfigurationsdatei gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Identifizieren einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei in dem Controller durch das Computergerät entspricht; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; und Präsentieren, über eine Benutzerschnittstelle des Computergeräts, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) eines Ergebnisses des Vergleichens.
  2. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei Folgendes umfasst: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
  3. Computerimplementiertes Verfahren nach Anspruch 1 oder 2, insbesondere nach Anspruch 1, wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei das Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei Folgendes umfasst: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
  4. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 3, insbesondere nach Anspruch 1, wobei (i) die Computergeräteversion der Konfigurationsdatei deckungsgleich mit der letzten Sicherungsinstanz der Konfigurationsdatei ist und (ii) die Controller-Version der Konfigurationsdatei jünger als die Computergeräteversion der Konfigurationsdatei ist, und/oder des Weiteren umfassend: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei; und Aktualisieren der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
  5. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 4, insbesondere nach Anspruch 1, wobei die Computergeräteversion der Konfigurationsdatei (i) jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und (ii) jünger ist als die Controller-Version der Konfigurationsdatei, und/oder des Weiteren umfassend: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
  6. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 5, insbesondere nach Anspruch 1, wobei die Computergeräteversion der Konfigurationsdatei jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und wobei die Controller-Version der Konfigurationsdatei jünger ist als die Computergeräteversion der Konfigurationsdatei, und/oder des Weiteren umfassend: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei; und Auflösen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei.
  7. Computerimplementiertes Verfahren nach einem der Ansprüche 1 bis 6, insbesondere nach Anspruch 1, des Weiteren umfassend: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist.
  8. Computergerät zum Bewerten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, umfassend: einen Kommunikations-Port; eine Benutzerschnittstelle; einen Gerätespeicher zum Speichern (i) eines Satzes von computerausführbaren Anweisungen, (ii) einer Computergeräteversion der Konfigurationsdatei und (iii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, auf einem Controller entspricht, der dem modularen Steuerungssystem zugeordnet ist; und einen Prozessor, der mit dem Kommunikations-Port, der Benutzerschnittstelle und dem Speicher verbunden ist und dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um zu bewirken, dass der Prozessor Folgendes durchführt: Bilden einer Schnittstelle, über den Kommunikations-Port, mit dem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist, Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei, und Bewirken, dass die Benutzerschnittstelle präsentiert: (i) eine Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) ein Ergebnis des Vergleichens.
  9. Computergerät nach Anspruch 8, wobei der Prozessor zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
  10. Computergerät nach Anspruch 8 oder 9, insbesondere nach Anspruch 8, wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei der Prozessor zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
  11. Computergerät nach einem der Ansprüche 8 bis 10, insbesondere nach Anspruch 8, wobei (i) die Computergeräteversion der Konfigurationsdatei deckungsgleich mit der letzten Sicherungsinstanz der Konfigurationsdatei ist und (ii) die Controller-Version der Konfigurationsdatei jünger als die Computergeräteversion der Konfigurationsdatei ist, und/oder wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei, und Aktualisieren, in dem Gerätespeicher, der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
  12. Computergerät nach einem der Ansprüche 8 bis 11, insbesondere nach Anspruch 8, wobei die Computergeräteversion der Konfigurationsdatei (i) jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und (ii) jünger ist als die Controller-Version der Konfigurationsdatei, und/oder wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
  13. Computergerät nach einem der Ansprüche 8 bis 12, insbesondere nach Anspruch 8, wobei die Computergeräteversion der Konfigurationsdatei jünger ist als der Zeitpunkt, an dem die letzte Sicherungsinstanz der Konfigurationsdatei angelegt wurde, und wobei die Controller-Version der Konfigurationsdatei jünger ist als die Computergeräteversion der Konfigurationsdatei, und/oder wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei, und Auflösen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei.
  14. Computergerät nach einem der Ansprüche 8 bis 13, insbesondere nach Anspruch 8, wobei der Prozessor dazu konfiguriert ist, den Satz von computerausführbaren Anweisungen auszuführen, um des Weiteren zu bewirken, dass der Prozessor Folgendes durchführt: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist.
  15. Computerimplementiertes Verfahren in einem Computergerät zum Verwalten von Versionen einer Konfigurationsdatei, die einem modularen Steuerungssystem in einer Prozessanlage zugeordnet ist, wobei in dem Computergerät eine Computergeräteversion der Konfigurationsdatei gespeichert ist, wobei das Verfahren die folgenden Schritte umfasst: Verbinden, durch das Computergerät, mit einem Controller, der dem modularen Steuerungssystem zugeordnet ist, wobei der Controller über einen integrierten Speicher verfügt, in dem eine Controller-Version der Konfigurationsdatei gespeichert ist; Vergleichen, durch einen Prozessor des Computergeräts, der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei; Präsentieren, über eine Benutzerschnittstelle des Computergeräts, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der Controller-Version der Konfigurationsdatei und einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht, und (ii) eines Ergebnisses des Vergleichens; Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist; und basierend auf der Benutzerauswahl, Ermöglichen einer Aktualisierung von mindestens einem von: der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei.
  16. Computerimplementiertes Verfahren nach Anspruch 15, wobei das Präsentieren des Ergebnisses des Vergleichens umfasst: optisches Anzeigen, welches von der Computergeräteversion, der Controller-Version und einem Zeitpunkt der letzten Sicherungsinstanz der Konfigurationsdatei am jüngsten ist.
  17. Computerimplementiertes Verfahren nach Anspruch 15 oder 16, insbesondere nach Anspruch 15, wobei die Benutzerauswahl der Controller-Version der Konfigurationsdatei zugeordnet ist, und wobei das Ermöglichen der Aktualisierung umfasst: Abrufen, aus dem Speicher des Controllers, der Controller-Version der Konfigurationsdatei; und Aktualisieren der Computergeräteversion der Konfigurationsdatei entsprechend der Controller-Version der Konfigurationsdatei.
  18. Computerimplementiertes Verfahren nach einem der Ansprüche 15 bis 17, insbesondere nach Anspruch 15, wobei die Benutzerauswahl der Computergeräteversion der Konfigurationsdatei zugeordnet ist, und wobei das Ermöglichen der Aktualisierung umfasst: Bewirken, dass der Speicher des Controllers die Controller-Version der Konfigurationsdatei auf die Computergeräteversion der Konfigurationsdatei aktualisiert.
  19. Modulares Steuerungssystem in einer Prozessanlage, umfassend: einen Satz von Prozesssteuerungsgeräten, die kommunikationsfähig verbunden sind, um einen Satz von Prozessen zu steuern; einen Controller, in dem eine Controller Version der Konfigurationsdatei gespeichert ist und der dazu konfiguriert ist, den Satz von Prozesssteuerungsgeräten entsprechend der Controller-Version der Konfigurationsdatei zu betreiben; und ein Computergerät, das zum Bilden einer Schnittstelle mit dem Controller konfiguriert ist und zum Speichern (i) einer Computergeräteversion der Konfigurationsdatei und (ii) eines Datensatzes einer letzten Sicherungsinstanz der Konfigurationsdatei, die einer jüngsten Sicherung der Konfigurationsdatei, durch das Computergerät, in dem Controller entspricht, wobei das Computergerät des Weiteren zu Folgendem konfiguriert ist: Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei, und Präsentieren, über eine Benutzerschnittstelle, (i) einer Anzeige von jeweils der Computergeräteversion der Konfigurationsdatei, der letzten Sicherungsinstanz der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei und (ii) eines Ergebnisses des Vergleichens.
  20. Modulares Steuerungssystem nach Anspruch 19, wobei das Computergerät zum Präsentieren des Ergebnisses des Vergleichens konfiguriert ist, um optisch anzuzeigen, welches von der Computergeräteversion, der Controller-Version und einem Zeitpunkt der letzten Sicherungsinstanz der Konfigurationsdatei am jüngsten ist.
  21. Modulares Steuerungssystem nach Anspruch 19 oder 20, insbesondere nach Anspruch 19, wobei das Computergerät des Weiteren konfiguriert ist zum: Empfangen, über die Benutzerschnittstelle, einer Benutzerauswahl, die dem Ergebnis des Vergleichens zugeordnet ist, und basierend auf der Benutzerauswahl, Ermöglichen einer Aktualisierung von mindestens einem von: der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei.
  22. Modulares Steuerungssystem nach einem der Ansprüche 19 bis 21, insbesondere nach Anspruch 19, wobei das Computergerät zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen eines Satzes von Zeitstempeln, die jeweils der Computergeräteversion der Konfigurationsdatei und der Controller-Version der Konfigurationsdatei zugeordnet sind.
  23. Modulares Steuerungsgerät nach einem der Ansprüche 19 bis 22, insbesondere nach Anspruch 19, wobei der Computergeräteversion der Konfigurationsdatei eine Geräte-Hash-Ausgabe zugeordnet ist, die durch eine Hash-Funktion produziert wurde, und der Controller-Version der Konfigurationsdatei eine Controller-Hash-Ausgabe zugeordnet ist, die durch die Hash-Funktion produziert wurde, und wobei das Computergerät zum Vergleichen der Computergeräteversion der Konfigurationsdatei mit der Controller-Version der Konfigurationsdatei zu Folgendem konfiguriert ist: Vergleichen der Geräte-Hash-Ausgabe mit der Controller-Hash-Ausgabe.
  24. Computer-lesbares Speichermedium, welches Instruktionen enthält, die mindestens einen Prozessor dazu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 zu implementieren, wenn die Instruktionen durch mindestens einen Prozessor ausgeführt werden.
DE102018122398.6A 2017-09-13 2018-09-13 Systeme und verfahren zum bewerten von konfigurationsdateien, die einem prozesssteuerungssystem zugeordnet sind Pending DE102018122398A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762558330P 2017-09-13 2017-09-13
US62/558,330 2017-09-13
US15/722,306 US10719312B2 (en) 2017-09-13 2017-10-02 Systems and methods for assessing configuration files associated with a process control system
US15/722,306 2017-10-02

Publications (1)

Publication Number Publication Date
DE102018122398A1 true DE102018122398A1 (de) 2019-03-14

Family

ID=63715088

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018122398.6A Pending DE102018122398A1 (de) 2017-09-13 2018-09-13 Systeme und verfahren zum bewerten von konfigurationsdateien, die einem prozesssteuerungssystem zugeordnet sind

Country Status (2)

Country Link
DE (1) DE102018122398A1 (de)
GB (1) GB2567927B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459514B (zh) * 2019-01-18 2023-06-23 普天信息技术有限公司 一种终端升级的处理方法、服务器及基站
CN113778043B (zh) * 2021-11-15 2022-02-11 西安热工研究院有限公司 一种组态工具数据点引用跳转方法、系统、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324727A (ja) * 1993-05-12 1994-11-25 Sony Corp 数値制御装置
JP5652444B2 (ja) * 2012-08-31 2015-01-14 横河電機株式会社 保守支援システム及び方法
JP6383240B2 (ja) * 2014-10-17 2018-08-29 株式会社東芝 制御プログラム保守装置、及び制御プログラム保守方法

Also Published As

Publication number Publication date
GB201813775D0 (en) 2018-10-10
GB2567927A (en) 2019-05-01
GB2567927B (en) 2022-11-30

Similar Documents

Publication Publication Date Title
DE102017124899A1 (de) Systeme und Verfahren zum Zusammenführen von modularen Steuerungssystemen in einer Prozessanlage
DE102018124411A1 (de) I/o-virtualisierung für die inbetriebnahme
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
DE102014103185A1 (de) Hintergrunderhebung von Diagnosedaten aus messtechnischen Feldgeräten
US10719312B2 (en) Systems and methods for assessing configuration files associated with a process control system
DE102007041240A1 (de) Verfahren zum Verbessern einer Diagnosefunktion eines Feldgerätes
DE102005008517A1 (de) Verfahren und System zum Integrieren von Alarmen in ein Prozeßsteuersystem
DE102007046572A1 (de) Flexible Eingabe-/Ausgabegeräte zur Verwendung in Prozesssteuerungssystemen
DE102018122445A1 (de) Assistent anwendung für ein modulares steuerungssystem
EP3070556B1 (de) Verfahren, recheneinrichtung, benutzer-einheit und system zum parametrieren eines elektrischen gerätes
DE102012110132A1 (de) Sparkline-Darstellungen von Prozessleitsystem-Alarmen
DE102015122002A1 (de) Verfahren und Apparatur zur Bereitstellung einer rollenbasierten Benutzerschnittstelle
DE102015108243A1 (de) Verfahren und Vorrichtung zur Konfiguration von Prozesssteuerungssystemen basierend auf generischen Prozesssystembibliotheken
DE102019107401A1 (de) Systeme und verfahren zur verwaltung von warnungen im zusammenhang mit geräten eines prozesssteuerungssystems
DE102018124263A1 (de) Integrator-funktionsblock
EP3001310B1 (de) Verfahren und Einrichtung zur Aktualisierung von Firmware für Komponenten einer industriellen Automatisierungsanordnung
DE102019123645A1 (de) Systeme und verfahren zum einbetten eines web-frames in prozessgrafik
WO2009074544A1 (de) Verfahren zum betreiben eines systems aufweisend ein feldgerät und ein bediensystem
DE102018117573A1 (de) Generische verschattung in industriellen prozessanlagen
DE102007039531A1 (de) Verfahren zum Beschaffen von instandhaltungsrelevanten Informationen zu einer Anlage
DE102021103556A1 (de) In cloud gehostete schnittstelle für tragbare gerätekommunikatoren
DE102017124197A1 (de) Mobile geräte für einen fernzugriff auf prozesssteuerungsdaten
EP2485104A1 (de) Automatisierte Projektierung einer Leittechnik einer technischen Anlage
DE102018122398A1 (de) Systeme und verfahren zum bewerten von konfigurationsdateien, die einem prozesssteuerungssystem zugeordnet sind
DE102017124206A1 (de) Verfahren und vorrichtung zum konfigurieren eines fernzugriffs auf prozesssteuerungsdaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed