DE102022202427A1 - Betriebsverfahren und Anlagensteuerung - Google Patents

Betriebsverfahren und Anlagensteuerung Download PDF

Info

Publication number
DE102022202427A1
DE102022202427A1 DE102022202427.3A DE102022202427A DE102022202427A1 DE 102022202427 A1 DE102022202427 A1 DE 102022202427A1 DE 102022202427 A DE102022202427 A DE 102022202427A DE 102022202427 A1 DE102022202427 A1 DE 102022202427A1
Authority
DE
Germany
Prior art keywords
control device
input data
process input
data packets
received
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
DE102022202427.3A
Other languages
English (en)
Inventor
Maximilian Martin
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.)
Siemens Mobility GmbH
Original Assignee
Siemens Mobility GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Mobility GmbH filed Critical Siemens Mobility GmbH
Priority to DE102022202427.3A priority Critical patent/DE102022202427A1/de
Priority to PCT/EP2023/055772 priority patent/WO2023170079A1/de
Publication of DE102022202427A1 publication Critical patent/DE102022202427A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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/4185Total 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 the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • G05B9/03Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1208Communication, exchange of control, I-O data between different plc
    • 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/24182Redundancy
    • 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/24186Redundant processors are synchronised
    • 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/31156Network structure, internet

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren (100) zum Betreiben einer Anlagensteuerung (10) sowie eine Anlagensteuerung (10) und ein Computerprogrammprodukt. Dabei werden in einem Netzwerk (90) verschickte Prozesseingangsdatenpakete (60) mithilfe einer ersten Steuerungsvorrichtung (20) und wenigstens einer weiteren Steuerungsvorrichtung (30) empfangen (S1). Zumindest ein Teil der empfangenen Prozesseingangsdatenpakete (60) wird mithilfe der ersten Steuerungsvorrichtung (20) zu Prozessausgangsdaten (70) verarbeitet (S2). Eine Nachricht (80) wird über das Netzwerk (90) von der ersten Steuerungsvorrichtung (20) an die wenigstens eine weitere Steuerungsvorrichtung (30) gesendet (S3), wobei die Nachricht eine Verarbeitungsinformation enthält, welche die von der ersten Steuerungsvorrichtung (20) zuletzt verarbeiteten Prozesseingangsdatenpakete (60) kennzeichnet.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Anlagensteuerung sowie eine Anlagensteuerung und ein Computerprogrammprodukt.
  • Anlagen, zum Beispiel Maschinen oder auch Fahrzeuge, umfassen üblicherweise eine Vielzahl von miteinander wechselwirkenden Komponenten. Einige dieser Komponenten erzeugen Daten, zum Beispiel bei der Erfassung von Betriebsparametern oder der Prozessüberwachung, während andere Komponenten auf Grundlage dieser Daten bestimmte Aktionen ausführen. Um eine Kommunikation zwischen den Komponenten zu ermöglichen, hat es sich bewährt, die Anlagen mit einem (Kommunikations-)Netzwerk auszustatten.
  • Besonders bei komplexen Anlagen wird oft ein modularer Anlagenaufbau bevorzugt. Zur Kommunikation in einer solchen modularen Anlage hat sich die Implementierung einer sogenannten Publish-Subscribe-Kommunikation über das Netzwerk als vorteilhaft herausgestellt. Eine von einem Netzwerkteilnehmer gesendete Nachricht ist dabei prinzipiell für alle anderen Netzwerkteilnehmer verfügbar; empfangen wird sie jedoch nur von solchen Netzwerkteilnehmern, die Nachrichten des versendenden Netzwerkteilnehmers abonniert haben - den sog. „Subscribern“.
  • Dadurch kann beispielsweise eine Steuerungsvorrichtung der Anlage gezielt Daten von ausgewählten Sensoren empfangen und auf Grundlage dieser Sensordaten Steuerungssignale ausgeben. Die Steuerungssignale können wiederum von ausgewählten Aktoren empfangen werden.
  • Um eine hohe Verfügbarkeit einer solchen Anlage sicherstellen zu können, werden diese Steuerungsvorrichtungen häufig redundant vorgesehen. Eine redundante Steuerungsvorrichtung kann bei Ausfall der aktiven Steuerungsvorrichtung dann deren Aufgabe übernehmen. Dies wird als Redundanzumschaltung bezeichnet.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren anzugeben, mit dem die Redundanzumschaltung verbessert, insbesondere ohne die mehrfache Verarbeitung von empfangenen Daten durchgeführt, werden kann.
  • Diese Aufgabe wird gelöst durch ein Verfahren gemäß Anspruch 1.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Anlagensteuerung anzugeben, die eine verbesserte Redundanzumschaltung ermöglicht, insbesondere unter Vermeidung von mehrfacher Verarbeitung empfangener Daten.
  • Diese Aufgabe wird gelöst durch eine Anlagensteuerung gemäß Anspruch 14.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Computerprogrammprodukt anzugeben, das eine verbesserte Redundanzumschaltung ermöglicht, insbesondere unter Vermeidung von mehrfacher Verarbeitung empfangener Daten.
  • Diese Aufgabe wird gelöst durch ein Computerprogrammprodukt gemäß Anspruch 15.
  • Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche und der folgenden Beschreibung.
  • Ein erster Aspekt der Erfindung betrifft ein, insbesondere computerimplementiertes, Verfahren zum Betreiben einer Anlagensteuerung, insbesondere für ein Schienenfahrzeug, aufweisend: (i) Empfangen von in einem Netzwerk verschickten Prozesseingangsdatenpaketen mithilfe einer ersten Steuerungsvorrichtung und wenigstens einer weiteren Steuerungsvorrichtung; (ii) Verarbeiten zumindest eines Teils der empfangenen Prozesseingangsdatenpakete zu Prozessausgangsdaten mithilfe der ersten Steuerungsvorrichtung; und (iii) Senden einer Nachricht über das Netzwerk von der ersten Steuerungsvorrichtung an die wenigstens eine weitere Steuerungsvorrichtung, wobei die Nachricht eine Verarbeitungsinformation enthält, welche die von der ersten Steuerungsvorrichtung zuletzt verarbeiteten Prozesseingangsdatenpakete kennzeichnet.
  • Ein Aspekt der Erfindung basiert auf dem Ansatz, eine Nachricht von einer ersten datenverarbeitenden Steuerungsvorrichtung an wenigstens eine weitere, redundante Steuerungsvorrichtung zu senden, wobei mithilfe der Nachricht die zuletzt von der ersten Steuerungsvorrichtung verarbeiteten Daten identifizierbar sind. Anders gesagt wird der wenigstens einen weiteren Steuerungsvorrichtung mitgeteilt, welche Daten die erste Steuerungsvorrichtung zuletzt verarbeitet hat. Dazu kann die Nachricht beispielsweise eine Verarbeitungsinformation enthalten, welche die von der ersten Steuerungsvorrichtung zuletzt verarbeiteten Daten kennzeichnet. Fällt die datenverarbeitende, d. h. aktive, erste Steuerungsvorrichtung aus, kann die wenigstens eine weitere Steuerungsvorrichtung auf Grundlage der Nachricht im Wesentlichen nahtlos die Funktion der ausgefallenen Steuerungsvorrichtung übernehmen. Dadurch, dass der wenigstens einen weiteren Steuerungsvorrichtung die zuletzt verarbeiteten Daten zur Kenntnis gebracht werden, kann vermieden werden, dass diese von der wenigstens einen weiteren Steuerungsvorrichtung nachteilig erneut verarbeitet werden. Andererseits lässt sich mit der Verarbeitungsinformation auch sicherstellen, dass alle empfangenen Daten verarbeitet, d. h. keine Daten übersprungen, werden.
  • Dabei ist es zweckmäßig, wenn sowohl die Steuerungsvorrichtung als auch die wenigstens eine weitere Steuerungsvorrichtung dieselben Daten, zum Beispiel in Form von Prozesseingangsdatenpaketen, empfangen. Besonders aufwandsarm kann dies realisiert werden, indem die Steuerungsvorrichtungen in ein Netzwerk eingebunden sind, welches zur Publish-Subscribe-Kommunikation eingerichtet ist. Die Steuerungsvorrichtungen können dadurch Nachrichten, d. h. Prozesseingangsdatenpakete, derselben datenerzeugenden Netzwerkteilnehmer abonnieren.
  • Nachfolgend werden bevorzugte Ausführungsformen der Erfindung und deren Weiterbildungen beschrieben, die jeweils, soweit dies nicht ausdrücklich ausgeschlossen wird, beliebig miteinander sowie mit den im Weiteren beschriebenen Aspekten der Erfindung kombiniert werden können.
  • In einer bevorzugten Ausführungsform enthalten die Prozesseingangsdatenpakete eine Identifikationsinformation, welche das jeweilige Prozesseingangsdatenpaket kennzeichnet. Die Identifikationsinformation kann beispielsweise den Ursprung des jeweiligen Prozesseingangsdatenpakets, etwa den jeweiligen versendenden datenerzeugenden Netzwerkteilnehmer, und/oder den Erzeugungszeitpunkt, etwa einen Iterationsschritt eines Arbeitszyklus des Netzwerkteilnehmers oder der Anlage, betreffen. Dadurch sind die Prozesseingangsdatenpakete eindeutig zuordenbar.
  • Um die Identifikation der zuletzt von der ersten Steuerungsvorrichtung verarbeiteten Datenpakete beispielsweise durch die wenigstens eine weitere Steuerungsvorrichtung zu erleichtern, basiert die Verarbeitungsinformation zweckmäßigerweise auf der Identifikationsinformation der zuletzt von der ersten Steuerungsvorrichtung verarbeiteten Prozesseingangsdatenpakete.
  • Das Zuordnen einer Identifikationsinformation zu den Datenpaketen ist besonders vorteilhaft, wenn mithilfe der ersten Steuerungsvorrichtung und der wenigstens einen weiteren Steuerungsvorrichtung in dem Netzwerk zyklisch verschickte Prozesseingangsdatenpakete empfangen werden. Zweckmäßigerweise enthält die Identifikationsinformation dann eine Zyklusinformation, welche den Iterationsschritt des Zyklus kennzeichnet, in welchem das jeweilige Prozesseingangsdatenpaket verschickt wird. Anhand der Zyklusinformation kann zum Beispiel schnell ermittelt werden, welche der auf die zuletzt verarbeiteten Prozesseingangsdatenpakete folgenden Prozesseingangsdatenpakete zur Verarbeitung durch die wenigstens eine weitere Steuerungsvorrichtung vorgesehen sind. Durch die Zyklusinformation kann so insbesondere verhindert werden, dass bei einer Redundanzumschaltung ein Datenverlust auftritt, d. h. nach Ausfall der ersten Steuerungsvorrichtung von der wenigstens einen weiteren Steuerungsvorrichtung empfangene Prozessdateneingangspakete bei der Verarbeitung ausgelassen werden. Andererseits kann mit der Zyklusinformation auch verhindert werden, dass Prozesseingangsdatenpakete unnötig mehrfach - nämlich zunächst von der ersten Steuerungsvorrichtung und nach einer Redundanzumschaltung erneut von der wenigstens einen weiteren Steuerungsvorrichtung - verarbeitet werden.
  • Die Zyklusinformation kann beispielsweise einen Zähler enthalten. Bevorzugt wird entsprechend der Zählerstand der durch die erste Steuerungsvorrichtung zuletzt verarbeiteten Datenpakete mit der Nachricht an die wenigstens eine weitere Steuerungsvorrichtung übermittelt. Zweckmäßigerweise wird der Zähler in jedem Iterationsschritt des Zyklus inkrementiert. Bei dem Zyklus kann es sich dabei um einen Arbeitszyklus des entsprechenden Netzwerkteilnehmers handeln. Alternativ kann der Zyklus aber auch ein Arbeitszyklus der Steuerungsvorrichtung(en) oder gleich der ganzen Anlage sein.
  • Eine effektive und datensparende Identifikation des Erzeugungszeitpunkts eines Datenpakets kann erzielt werden, indem der Zähler durch ein Feld eines Sicherheitsprotokolls realisiert wird. Beispielsweise kann hierfür der sogenannte Safe Sequence Counter (SSC) im Sicherheitsprotokolls SDTv2, wie es etwa in der Norm IEC 61375-2-3 definiert ist, verwendet werden.
  • Für den Fall, dass die Prozesseingangsdatenpakete von mehreren datenerzeugenden Netzwerkteilnehmern verschickt werden, ist es vorteilhaft, wenn die Identifikationsinformation eine Teilnehmerinformation enthält, welche den jeweiligen, ein Prozessdatenpaket verschickenden datenerzeugenden Netzwerkteilnehmer kennzeichnet. Anders gesagt kann die Teilnehmerinformation den Ursprung des jeweiligen Datenpakets betreffen. Die Teilnehmerinformation ermöglicht eine zuverlässige Zuordnung der Identifikationsinformation, insbesondere der Zyklusinformation, zu den datenerzeugenden Netzwerkteilnehmern. Eingegangene Datenpakete können so nach datenerzeugendem Netzwerkteilnehmer sortiert werden. Nach einer Redundanzumschaltung kann für jeden datenerzeugenden Netzwerkteilnehmer genau ein von der wenigstens einen weiteren Steuerungsvorrichtung als nächstes zu verarbeitendes Datenpaket identifiziert werden.
  • In einer weiteren bevorzugten Ausführungsform wird die Nachricht übermittelt, nachdem die Prozessausgangsdaten über das Netzwerk an wenigstens einen datenempfangenden Netzwerkteilnehmer gesendet werden. Dadurch kann sichergestellt werden, dass bei einem darauf folgenden Ausfall der ersten Steuerungsvorrichtung die bereits verarbeiteten Datenpakete erneut verarbeitet werden.
  • In einer weiteren bevorzugten Ausführungsform werden die von der ersten und der wenigstens einen weiteren Steuerungsvorrichtung empfangenen Prozesseingangsdatenpakete jeweils in wenigstens einem Pufferspeicher gespeichert. So können auch während einer Totzeit zwischen dem Ausfall der ersten Steuerungsvorrichtung und der Übernahme durch die wenigstens eine weitere Steuerungsvorrichtung eingehende Datenpakete zur anschließenden Verarbeitung durch die wenigstens eine weitere Steuerungsvorrichtung vorgehalten werden.
  • Es ist bevorzugt, dass der Pufferspeicher als Ringspeicher ausgebildet ist. Dadurch kann sichergestellt werden, dass zumindest die aktuellsten Prozesseingangsdatenpakete zur Verarbeitung durch die Steuerungsvorrichtungen vorliegen. Zugleich lässt sich ein Überlauf des Pufferspeichers vermeiden. Dies ist besonders vorteilhaft im Hinblick auf einen Pufferspeicher, welcher der wenigstens einen weiteren Steuerungsvorrichtung zugeordnet ist. Denn zweckmäßigerweise verarbeitet die wenigstens eine weitere Steuerungsvorrichtung während der Datenverarbeitung durch die erste Steuerungsvorrichtung keine der empfangenen Prozesseingangsdatenpakete.
  • Es ist zudem zweckmäßig, dass Prozesseingangsdatenpakete nach der Verarbeitung aus dem Ringspeicher gelöscht werden. Es kann so sichergestellt werden, dass von einer Steuerungsvorrichtung bereits verarbeitete Prozesseingangsdatenpakete fälschlicherweise erneut verarbeitet werden. Insofern kann ein der ersten Steuerungsvorrichtung zugeordneter Pufferspeicher - oder nach einer Redundanzumschaltung ein der wenigstens einen weiteren Steuerungsvorrichtung zugeordneter Pufferspeicher - effektiv am Überlaufen gehindert werden.
  • Um einen fehlerfreien Betrieb der Anlage zu ermöglichen, werden die im Pufferspeicher gespeicherten Prozesseingangsdatenpakete, insbesondere für jeden der datenerzeugenden Netzwerkteilnehmer, vorzugsweise in Abhängigkeit der Reihenfolge ihres Empfangs zur Verarbeitung durch die Steuerungsvorrichtungen vorgemerkt. Anders gesagt können die Prozesseingangsdatenpakete gemäß dem First-In, First-Out-Prinzip zur Verarbeitung vorgemerkt werden. Alternativ oder zusätzlich zu dem First-In, First-Out-Prinzip können die Prozesseingangsdatenpakete auch auf Grundlage der Zyklusinformation zur Verarbeitung vorgemerkt, d. h. beispielsweise entsprechend sortiert, werden. Dadurch lassen sich in jedem Pufferspeicher effektiv „Warteschlangen“ generieren, die zweckmäßigerweise durch die jeweils aktive, d. h. zunächst durch die erste und nach einer Redundanzumschaltung durch die wenigstens eine weitere Steuerungsvorrichtung abgearbeitet werden. Bei der Redundanzumschaltung kann die wenigstens eine weitere Steuerungsvorrichtung - falls mehrere weitere Steuerungsvorrichtungen vorgesehen sind: eine der mehreren Steuerungsvorrichtungen - auf Grundlage der in der Nachricht enthaltenen Verarbeitungsinformation direkt mit der Datenverarbeitung an der passenden Stelle in der Warteschlange fortfahren. Die Auswahl der übernehmenden Steuerungsvorrichtung kann auf Basis einer vorher festgelegten Reihenfolge erfolgen.
  • Für den bereits erwähnten Fall, dass die Prozesseingangsdatenpakete von mehreren datenerzeugenden Netzwerkteilnehmern verschickt werden, ist es bevorzugt, dass die von der ersten und der wenigstens einen weiteren Steuerungsvorrichtung empfangenen Prozesseingangsdatenpakete derart gespeichert werden, dass die Prozesseingangsdatenpakete dem jeweils verschickenden datenerzeugenden Netzwerkteilnehmer zuordenbar sind. Insbesondere ist es bevorzugt, dass die empfangenen Prozesseingangsdatenpakete für jeden der datenerzeugenden Netzwerkteilnehmer in Abhängigkeit der Reihenfolge ihres Empfangs durch die Steuerungsvorrichtungen gespeichert werden. Anders gesagt wird in bevorzugter Weise für jeden datenerzeugenden Netzwerkteilnehmer, zum Beispiel im zuvor genannten Puffer- oder Ringspeicher, eine „Warteschlange“ angelegt. Beispielsweise kann etwa mithilfe der Teilnehmerinformation in jedem Puffer- oder Ringspeicher eine Datenbank angelegt werden, aus der die Prozesseingangsdatenpakete nach datenerzeugendem Netzwerkteilnehmer und/oder nach Zeitpunkt ihres Empfangs oder ihrer Erzeugung zur Verarbeitung extrahiert werden können. Durch eine derartige Speicherung der Prozesseingangsdatenpakete lässt sich eine reibungslose und fehlerfreie Datenverarbeitung insbesondere bei einer Redundanzumschaltung sicherstellen.
  • In einer weiteren bevorzugten Ausführungsform enthält die Nachricht eine Systemzeit der ersten Steuerungsvorrichtung. Dadurch wird eine Zeitsynchronisierung der Steuerungsvorrichtungen möglich. Insbesondere ist es auch denkbar, dass anhand der übermittelten Systemzeit ein Ausfall der ersten Steuerungsvorrichtung durch die wenigstens eine weitere Steuerungsvorrichtung detektiert wird. Insbesondere kann die wenigstens eine weitere Steuerungsvorrichtung die Funktion der ersten Steuerungsvorrichtung übernehmen, wenn eine vorgegebene Totzeit - während der keine weitere Nachricht empfangen wird - nach Erhalt der letzten Nachricht verstrichen ist.
  • Alternativ oder zusätzlich kann die Nachricht eine die erste Steuerungsvorrichtung betreffende Ausfallinformation enthalten. Beispielsweise ist es denkbar, dass die erste Steuerungsvorrichtung ihren eigenen kontrollierten Ausfall durch eine entsprechende Kennzeichnung in der Nachricht bekannt gibt. Die wenigstens eine weitere Steuerungsvorrichtung kann dann die Funktion der ersten Steuerungsvorrichtung im Wesentlichen direkt übernehmen. Dadurch lässt sich ein besonders reibungsloser Betrieb der Anlage sicherstellen.
  • Insofern ist es bevorzugt, dass die wenigstens eine weitere Steuerungsvorrichtung einen Ausfall der ersten Steuerungsvorrichtung erkennt, beispielsweise auf Grundlage der in der Nachricht enthaltenen Systemzeit oder durch die in der Nachricht enthaltene Ausfallinformation. Zweckmäßigerweise verarbeitet die wenigstens eine weitere Steuerungsvorrichtung daraufhin auf Grundlage der Verarbeitungsinformation von ihr empfangene Prozesseingangsdatenpakete zu Prozessausgangsdaten, die beispielsweise an datenempfangende Netzwerkteilnehmer versandt werden können. Eine Redundanzumschaltung kann so automatisch und insbesondere unmittelbar nach Ausfall der ersten Steuerungsvorrichtung vollzogen werden.
  • Um eine effiziente Daten- bzw. Speicherverwaltung realisieren zu können, werden vorzugsweise auf Grundlage der Verarbeitungsinformation in einem der wenigstens einen weiteren Steuerungsvorrichtung zugordneten Pufferspeicher gespeicherte Eingangsdatenpakete, die von der ersten Steuerungsvorrichtung bereits verarbeitet wurden, gelöscht. Anders gesagt ist es vorteilhaft, den insbesondere der wenigstens einen weiteren Steuerungsvorrichtung zugeordneten Puffer- oder Ringspeicher bei der Redundanzumschaltung soweit wie möglich zu leeren oder „aufzuräumen“. Dadurch kann Platz für weitere Prozesseingangsdatenpakete geschaffen werden, die beispielsweise während der Abarbeitung von noch im Speicher vorgehaltenen Prozesseingangsdatenpaketen eintreffen. Insofern lässt sich durch die Löschung der bereits verarbeiteten Prozesseingangsdatenpakete bei der Redundanzumschaltung ein Datenverlust vermeiden.
  • Zur Datenverarbeitung der „korrekten“ Prozesseingangsdatenpakete, d. h. zur fehlerfreien Datenverarbeitung, werden vorzugsweise auf Grundlage der Verarbeitungsinformation in einem der wenigstens einen weiteren Steuerungsvorrichtung zugeordneten Pufferspeicher gespeicherte Prozesseingangsdatenpakete identifiziert. Dabei werden zweckmäßigerweise Prozesseingangsdatenpakete identifiziert, die unmittelbar nach denjenigen Prozesseingangsdatenpaketen empfangen wurden, die zuletzt von der ersten Steuerungsvorrichtung verarbeitet wurden. Anders gesagt werden zweckmäßigerweise diejenigen Prozesseingangsdatenpakete identifiziert, die gemäß der Reihenfolge ihres Empfangs von den Steuerungsvorrichtungen als nächstes zu verarbeiten sind. Die identifizierten Prozesseingangsdatenpakete können dann von der wenigstens einen weiteren Steuerungsvorrichtung verarbeitet werden. Durch die Identifikation der Prozesseingangsdatenpakete kann so die korrekte Verarbeitungsabfolge sichergestellt werden.
  • Ein zweiter Aspekt der Erfindung betrifft eine Anlagensteuerung, insbesondere für ein Schienenfahrzeug, mit einer ersten Steuerungsvorrichtung und wenigstens einer weiteren Steuerungsvorrichtung, die jeweils zum Empfangen von in einem Netzwerk verschickten Prozesseingangsdaten und zum Verarbeiten zumindest eines Teils der empfangenen Prozesseingangsdaten zu Prozessausgangsdaten eingerichtet sind. Die erste Steuerungsvorrichtung ist dabei zudem dazu eingerichtet, über das Netzwerk eine Nachricht an die wenigstens eine weitere Steuerungsvorrichtung zu senden. Die Nachricht enthält eine Verarbeitungsinformation, welche die von der ersten Steuerungsvorrichtung zuletzt verarbeiteten Prozesseingangsdatenpakete kennzeichnet.
  • Eine Steuerungsvorrichtung im Sinne der vorliegenden Erfindung kann eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, Verarbeitungseinheit sein oder eine solche zumindest umfassen. Eine Steuerungsvorrichtung kann insbesondere eine Mikroprozessoreinheit (CPU) oder ein Modul einer solchen aufweisen. Die Steuerungsvorrichtung kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus, insbesondere einem Netzwerk, zu erfassen und/oder Ausgangssignale an einen Datenbus, insbesondere ein Netzwerk, abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien, aufweisen. Das Programm kann derart beschaffen sein, dass es das Verfahren gemäß dem ersten Aspekt der Erfindung verkörpert bzw. auszuführen imstande ist, sodass die Steuerungsvorrichtung die Schritte dieses Verfahrens ausführen und damit eine Anlage, insbesondere ein Schienenfahrzeug, betreiben kann.
  • Eine derartige Anlagensteuerung kann hardwareseitig kostengünstig und mit Standardkomponenten, zum Beispiel entsprechenden Verarbeitungseinheiten, Speichersystemen und/oder dergleichen, realisiert werden. Zugleich lässt sich mit einer solchen Anlagensteuerung zumindest das Risiko verringern, dass Prozesseingangsdatenpakete bei einer Redundanzumschaltung verloren gehen oder mehrfach verarbeitet werden.
  • Ein dritter Aspekt der Erfindung betrifft ein Computerprogrammprodukt, welches Anweisungen enthält, die eine Anlagensteuerung gemäß dem zweiten Aspekt der Erfindung dazu veranlassen, das Verfahren gemäß dem ersten Aspekt der Erfindung auszuführen. Ein solches Computerprogrammprodukt wird zweckmäßigerweise von den Steuerungsvorrichtungen der Anlagensteuerung ausgeführt.
  • Ein weiterer Aspekt der Erfindung betrifft ein computerlesbares Speichermedium, auf dem das Computerprogrammprodukt gemäß dem dritten Aspekt der Erfindung gespeichert ist.
  • Die voranstehend beschriebenen Eigenschaften, Merkmale und Vorteile der Erfindung sowie die Art und Weise, wie diese erreicht werden, werden im Zusammenhang mit den Figuren in der folgenden Beschreibung von Ausführungsbeispielen der Erfindung näher erläutert. Soweit zweckdienlich, werden in den Figuren dieselben Bezugszeichen für dieselben oder einander entsprechende Elemente der Erfindung verwendet. Die Ausführungsbeispiele dienen der Erläuterung der Erfindung und beschränken die Erfindung nicht auf die darin angegebenen Kombinationen von Merkmalen, auch nicht in Bezug auf funktionale Merkmale. Zudem können alle in den Ausführungsbeispielen angegebenen Merkmale isoliert betrachtet und in geeigneter Weise mit den Merkmalen eines Verfahrens gemäß dem ersten Aspekt der Erfindung, eine Anlagensteuerung gemäß dem zweiten Aspekt der Erfindung oder einen Computerprogrammprodukt gemäß dem dritten Aspekt der Erfindung kombiniert werden.
  • Es zeigen:
    • 1 ein Beispiel einer Anlagensteuerung; und
    • 2 ein Beispiel eines Verfahrens zum Betrieb einer Anlagensteuerung.
  • 1 zeigt ein Beispiel einer Anlagensteuerung 10, insbesondere für ein Schienenfahrzeug. Die Anlagensteuerung 10 weist eine erste Steuerungsvorrichtung 20 und wenigstens eine weitere Steuerungsvorrichtung 30 auf. Die Steuerungsvorrichtungen 20, 30 sind zweckmäßigerweise an ein Netzwerk 90 angeschlossen, über das sie mit datenerzeugenden Netzwerkteilnehmern 40 und datenempfangenden Netzwerkteilnehmern 50 kommunizieren können. Vorzugsweise ist jeder Steuerungsvorrichtung 20, 30 ein Pufferspeicher 21, 31 zugeordnet. Die erste Steuerungsvorrichtung 20 ist bevorzugt dazu eingerichtet, eine Nachricht 80, welche von der ersten Steuerungsvorrichtung 20 verarbeitete Prozesseingangsdatenpakete 60 betrifft, über das Netzwerk 90 an die wenigstens eine weitere Steuerungsvorrichtung 30 zu senden. Dies ist zweckdienlich für die eine Funktionsübernahme durch die wenigstens eine weitere Steuerungsvorrichtung 30, sollte die erste Steuerungsvorrichtung 20 ausfallen.
  • Die Steuerungsvorrichtungen 20, 30 sind dabei grundsätzlich alle dazu eingerichtet, im Netzwerk 90 verschickte Prozesseingangsdatenpakete 60 zu empfangen und - zweckmäßigerweise deterministisch, d. h. bei gleichen Prozesseingangsdaten mit gleichem Ergebnis - zu Prozessausgangsdaten 70 zu verarbeiten. Empfangene und in den Pufferspeichern 21, 31 gespeicherte Prozesseingangsdatenpakete 60 sind in 1 durch - teilweise schraffiert dargestellte - Rechtecke mit durchgezogenen Linien angedeutet. Aus Gründen der Übersichtlichkeit ist nur eines der Prozesseingangsdatenpakete 60 mit einem entsprechenden Bezugszeichen versehen. Freier Speicherplatz in den Pufferspeichern 21, 31 ist durch gestrichelte Linien angedeutet.
  • Das Netzwerk 90 ist vorzugsweise zur Publish-Subscribe-Kommunikation eingerichtet. D. h., dass das Netzwerk 90 vorzugsweise Multicast unterstützt. Dadurch kann jeder datenerzeugende Netzwerkteilnehmer 40, insbesondere zyklisch, erzeugte Prozesseingangsdatenpakete 60 im Netzwerk 90 grundsätzlich für alle anderen Netzwerkteilnehmer bereitstellen. Zweckmäßigerweise sind sowohl die erste als auch die wenigstens eine weitere Steuerungsvorrichtung 20, 30 „Subscriber“, d. h. Abonnenten, der datenerzeugenden Netzwerkteilnehmer 40. Somit können die derart verschickten Prozesseingangsdatenpakete 60 von jeder Steuerungsvorrichtung 20, 30 empfangen werden.
  • Zweckmäßigerweise können die Steuerungsvorrichtungen 20, 30 die erzeugten Prozessausgangsdaten 70 über das Netzwerk 90 versenden, beispielsweise an die datenempfangenden Netzwerkteilnehmer 50. Zu diesem Zweck können die Steuerungsvorrichtungen 20, 30 dazu eingerichtet sein, die Prozessausgangsdaten 70 per Multicast im Netzwerk 90 bereitzustellen. Die datenempfangenden Netzwerkteilnehmer 50 können diese als Subscriber der Steuerungsvorrichtungen 20, 30 dann empfangen.
  • Bei den datenerzeugenden Netzwerkteilnehmern 40 kann es sich beispielsweise um Sensoren handeln, die zu Überwachung eines Prozesses oder zur Ermittlung von Randbedingungen zur Durchführung des Prozesses eingerichtet sind. Die Prozesseingangsdatenpakete 60 entsprechenden diesem Fall Sensordaten.
  • Bei den datenempfangenden Netzwerkteilnehmern 50 kann es sich beispielsweise um Aktoren handeln, die zur Ausführung des Prozesses eingerichtet sind. Die Prozessausgangsdaten 70 sind in diesem Fall zweckmäßigerweise Steuersignale zur Ansteuerung dieser Aktoren.
  • Die Prozesseingangsdatenpakete 60 enthalten zweckmäßigerweise eine Identifikationsinformation, mit der sich das jeweilige Prozesseingangsdatenpaket 60 eindeutig identifizieren und/oder zuordnen lässt, zum Beispiel zu einem der datenerzeugenden Netzwerkteilnehmer 40 oder einen Zeitpunkt, an dem das jeweilige Prozesseingangsdatenpaket 60 erzeugt wurde. Die Identifikationsinformation kann dazu beispielsweise eine Teilnehmerinformation umfassen, welche den das jeweilige Prozesseingangsdatenpaket 60 erzeugenden Netzwerkteilnehmer 40 angibt. Alternativ oder zusätzlich kann die Identifikationsinformation eine Zyklusinformation umfassen, welche den Iterationsschritt eines Zyklus angibt, in dem das jeweilige Prozesseingangsdatenpaket 60 erzeugt wurde. Die Zyklusinformation kann beispielsweise auf einem Zähler basieren, dessen Wert den Iterationsschritt angibt. Zweckmäßigerweise wird der Zähler mit jedem Iterationsschritt inkrementiert.
  • Anhand der Identifikationsinformation lassen sich die Prozesseingangsdatenpakete 60 in den Pufferspeichern 21, 31 strukturiert speichern. Insbesondere ist es zweckmäßig, wenn in den Pufferspeichern 21, 31 für jeden der datenerzeugenden Netzwerkteilnehmer 40 eine Warteschlange 22a, 22b, 22c bzw. 32a, 32b, 32c angelegt ist. In jeder der Warteschlangen 22a-22c, 32a-32c können die Datenpakete 60 entsprechend der Reihenfolge ihrer Erzeugung, d. h. zum Beispiel aufsteigend geordnet nach Iterationsschritt des Zyklus, gespeichert werden, und zwar für den entsprechenden datenerzeugenden Netzwerkteilnehmer 40, dem die Warteschlange 22a-22c, 32a-32c zugeordnet ist.
  • Die Pufferspeicher 21, 31 sind zweckmäßigerweise als Ringspeicher ausgebildet. Dabei hat jede Warteschlange 22a-22c, 32a-32c in bevorzugter Weise eine vorgegebene Größe. Anders gesagt kann jeder Pufferspeicher 21, 31 für jeden datenerzeugenden Netzwerkteilnehmer 40 eine vorgegebene Anzahl an Prozesseingangsdatenpaketen 60 speichern. Die Größe der Warteschlange 22a-22c, 32a-32c, und damit letztlich auch die Größe bzw. Speicherkapazität der Pufferspeicher 21, 31, ist dabei bevorzugt derart gewählt, dass bei einem Ausfall der ersten Speichervorrichtung 20 alle im Folgenden von der wenigstens einen weiteren Steuerungsvorrichtung 30 bis zu deren Funktionsübernahme empfangenen Prozesseingangsdatenpakete 60 im entsprechenden Pufferspeicher 31 gespeichert werden können, ohne dass es zu einem Datenverlust kommt.
  • Insbesondere können die Pufferspeicher 21, 31 derart ausgebildet sein, dass sich die Warteschlangen 22a-22c, 32a-32c bei einem Überlauf jeweils wie ein Ringspeicher verhalten. D. h. beispielsweise, dass bei einem Überlauf einer Warteschlange 22a-22c, 32a-32c vorzugsweise das älteste empfangene bzw. gespeicherte Prozesseingangsdatenpaket 60 in dieser Warteschlange 22a-22c, 32a-32c gelöscht oder von einem neu empfangenen Prozesseingangsdatenpaket 60 überschrieben wird.
  • In bevorzugter Weise sind die Steuerungsvorrichtungen 20, 30 dazu eingerichtet, die Prozesseingangsdatenpakete 60 für jeden der datenerzeugenden Netzwerkteilnehmer 40 gemäß der Reihenfolge ihres Empfangs zu verarbeiten. Anders gesagt arbeiten die Steuerungsvorrichtungen 20, 30 die Datenpakete 60 aus den Pufferspeichern 21, 31 in bevorzugter Weise grundsätzlich gemäß dem „First in, First Out“-Prinzip ab. Die erste Steuerungsvorrichtung 20 ist dabei zweckmäßigerweise dazu eingerichtet, die in den Warteschlangen 22a-22c an erster Stelle stehenden, d. h. die als erstes empfangenen, Prozesseingangsdatenpakete 60 zu verarbeiten. Diese Datenpakete 60 sind schraffiert dargestellt.
  • Die an erster Stelle in den Warteschlangen 22a-22c stehenden Datenpakete 60 bilden zweckmäßigerweise den Zustand des Prozesses ab. Anders gesagt bilden die an erster Stelle stehenden Prozesseingangsdatenpakete 60 ein Prozessabbild 61. Die Identifikationsinformation der das Prozessabbild 61 bildenden Prozesseingangsdatenpakete 60 beschreibt zweckmäßigerweise die Zusammensetzung des Prozessabbilds 61. Diese Zusammensetzung kann auch als Eingangsdatenkonfiguration bezeichnet werden. Zweckmäßigerweise wird das Prozessabbild 61 der Erzeugung der Prozessausgangsdaten 70, zum Beispiel der Steuerung der datenempfangenden Netzwerkteilnehmer 50, zugrunde gelegt.
  • Vorzugsweise ist die erste Steuerungsvorrichtung 20 dazu eingerichtet, die Eingangsdatenkonfiguration, d. h. diejenigen Prozesseingangsdatenpakete 60, auf denen die ausgegebenen Prozessausgangsdaten 70 basieren, durch die Nachricht 80 der wenigstens einen weiteren Steuerungsvorrichtung 30 mitzuteilen. Die Nachricht 80 enthält dazu zweckmäßigerweise eine Verarbeitungsinformation, welche die zuletzt von der ersten Steuerungsvorrichtung 20 verarbeiteten Prozesseingangsdatenpakete 60 - d. h. gerade die Eingangsdatenkonfiguration bzw. das Prozessabbild 61 - kennzeichnet. Die Nachricht 80 kann zu diesem Zweck beispielsweise auf die Identifikationsinformation, insbesondere die Teilnehmerinformation und/oder die Zyklusinformation, der verarbeiteten Prozesseingangsdatenpakete 60 Bezug nehmen oder diese enthalten.
  • Die wenigstens eine weitere Steuerungsvorrichtung 30 ist vorzugsweise dazu eingerichtet, ausgehend von der in der Nachricht 80 enthaltenen Verarbeitungsinformation die Verarbeitung der Prozesseingangsdatenpakete 60 fortzusetzen, sollte die erste Steuerungsvorrichtung 20 ausfallen. Dazu kann die wenigstens eine weitere Steuerungsvorrichtung 30 diejenigen Prozesseingangsdatenpakete 60, welche das zuletzt von der ersten Steuerungsvorrichtung 20 berücksichtigte Prozessabbild 61 bilden, im ihr zugeordneten Pufferspeicher 31 und/oder die entsprechenden Speicherplätze im Pufferspeicher 31 identifizieren.
  • Diese entsprechenden Prozesseingangsdatenpakete 60 sind auch im Pufferspeicher 31 durch eine Schraffur hervorgehoben. Wie erkennbar ist, stehen diese Prozesseingangsdatenpakete 60 nicht alle an erster Stelle der Warteschlangen 32a-32c des Pufferspeichers 31. Eine solche Situation kann beispielsweise auftreten, wenn sich die Paketlaufzeiten zwischen den datenerzeugenden Netzwerkteilnehmern 40 und den verschiedenen Steuerungsvorrichtungen 20, 30 unterscheiden. Dieses Problem verschärft sich, wenn die datenerzeugenden Netzwerkteilnehmer 40 Prozesseingangsdatenpakete 60 sehr schnell aufeinanderfolgend versenden (d. h. die Zykluszeiten sehr kurz sind, zum Beispiel wenige Millisekunden).
  • Die wenigstens eine weitere Steuerungsvorrichtung 30 ist vorzugsweise dazu eingerichtet, ausgehend von der in der Nachricht 80 erhaltenen Verarbeitungsinformation diejenigen Prozesseingangsdatenpakete 60 zu verarbeiten, die unmittelbar nach Empfang derjenigen Prozesseingangsdatenpakete 60 empfangen wurden, welche das zuletzt von der ersten Steuerungsvorrichtung 20 berücksichtigte Prozessabbild 61 bilden (und schraffiert dargestellt sind). Zweckmäßigerweise kann die wenigstens eine weitere Steuerungsvorrichtung 30 die zuletzt von der ersten Steuerungsvorrichtung 20 verarbeiteten Prozesseingangsdatenpakete 60 sowie alle zuvor empfangenen Prozesseingangsdatenpakete 60 aus dem ihr zugeordneten Pufferspeicher 31 löschen.
  • Auch wenn in diesem Beispiel nur eine weitere Steuerungsvorrichtung 30 gezeigt und beschrieben ist, ist es grundsätzlich denkbar und vorteilhaft, mehrere weitere Steuerungsvorrichtungen - und entsprechend weitere Pufferspeicher - vorzusehen. Jede dieser weiteren Steuerungsvorrichtungen kann dann gemäß einer vorgegebenen Priorisierung bei Ausfall einer Steuerungsvorrichtung deren Funktion übernehmen. Insofern lässt sich mit der in 1 gezeigten Anlagensteuerung 10 eine „Redundanzkette“ aus einer nahezu beliebigen Anzahl an Steuerungsvorrichtungen bilden.
  • 2 zeigt ein Beispiel eines Verfahrens 100 zum Betrieb einer Anlagensteuerung.
  • In einem Verfahrensschritt S1 werden in einem Netzwerk, vorzugsweise per Multicast, verschickte Prozesseingangsdatenpakete mithilfe einer ersten Steuerungsvorrichtung und wenigstens einer weiteren Steuerungsvorrichtung empfangen. Zweckmäßigerweise werden die empfangenen Prozesseingangsdatenpakete für jede der Steuerungsvorrichtungen in einem Pufferspeicher, insbesondere einem Ringspeicher, gespeichert. Dabei ist es bevorzugt, wenn die empfangenen Prozesseingangsdatenpakete in Abhängigkeit ihres Ursprungs gespeichert werden. Beispielsweise können die empfangenen Prozesseingangsdatenpakete derart gespeichert werden, dass sie demjenigen datenerzeugenden Netzwerkteilnehmer, der sie (erzeugt und) versandt hat, zuordenbar sind. Alternativ oder zusätzlich können die empfangenen Prozesseingangsdatenpakete derart gespeichert werden, dass sie einem Iterationsschritt aus einem Zyklus zuordenbar sind. Zu diesem Zweck kann beispielsweise eine Identifikationsinformation jedes empfangenen Prozesseingangsdatenpakets ausgelesen werden.
  • In einem weiteren Verfahrensschritt S2 verarbeitet die erste Steuerungsvorrichtung zumindest einen Teil der empfangenen Prozesseingangsdatenpakete zu Prozessausgangsdaten. Zweckmäßigerweise verschickt sie die so erzeugten Prozessausgangsdaten anschließend über das Netzwerk, etwa an datenempfangende Netzwerkteilnehmer, vorzugsweise per Multicast.
  • Es ist bevorzugt, dass die erste Steuerungsvorrichtung zumindest einen Teil der empfangenen Prozesseingangsdatenpakete auf Grundlage der Reihenfolge ihres Empfangs und/oder ihres Ursprungs verarbeitet. Beispielsweise kann die erste Steuerungsvorrichtung insbesondere eine Eingangsdatenkonfiguration aus mehreren Prozesseingangsdatenpaketen verarbeiten, die alle etwa zur selben Zeit, insbesondere in demselben Iterationsschritt eines Zyklus, empfangen und/oder von den datenerzeugenden Netzwerkteilnehmern verschickt wurden. Zweckmäßigerweise enthält diese Eingangsdatenkonfiguration ein Prozesseingangsdatenpaket jedes der datenerzeugenden Netzwerkteilnehmer.
  • In einem weiteren Verfahrensschritt S3 wird eine Nachricht über das Netzwerk von der ersten Steuerungsvorrichtung an die wenigstens eine weitere Steuerungsvorrichtung gesendet. Zweckmäßigerweise wird diese Nachricht gesendet, sobald die Prozessausgangsdaten erzeugt und/oder verschickt wurden.
  • Die Nachricht enthält in bevorzugter Weise eine Verarbeitungsinformation, welche die von der ersten Steuerungsvorrichtung zuletzt verarbeiteten Prozesseingangsdatenpakete kennzeichnet.
  • Dadurch kann in einem weiteren Verfahrensschritt S4, zum Beispiel von der wenigstens einen weiteren Steuerungsvorrichtung, geprüft werden, ob die erste Steuerungsvorrichtung ausgefallen ist. Dazu kann beispielsweise geprüft werden, ob eine vorgegebene Totzeit seit Empfang der letzten Nachricht verstrichen ist oder ob die erste Steuerungsvorrichtung eine entsprechende Ausfallinformation über einen kontrollierten Ausfall bereitgestellt hat.
  • Ist die erste Steuerungsvorrichtung nicht ausgefallen, kann das Verfahren bei Verfahrensschritt S1 iterativ fortgesetzt werden.
  • Andernfalls kann die wenigstens eine weitere Steuerungsvorrichtung in einem weiteren Verfahrensschritt S5 die Funktion der ausgefallenen ersten Steuerungsvorrichtung übernehmen.
  • Dies wird als Redundanzumschaltung bezeichnet. Dabei verarbeitet nun zweckmäßigerweise die wenigstens eine weitere Steuerungsvorrichtung auf Grundlage der Verarbeitungsinformation von ihr empfangene, insbesondere im ihr zugeordneten Pufferspeicher gespeicherte, Prozesseingangsdatenpakete zu Prozessausgangsdaten. Dabei identifiziert und verarbeitet die wenigstens eine weitere Steuerungsvorrichtung vorzugsweise diejenigen Prozesseingangsdatenpakete, die von der ersten Steuerungsvorrichtung noch nicht verarbeitet wurden. Insbesondere kann die wenigstens eine weitere Steuerungsvorrichtung diejenigen Prozesseingangsdatenpakete, insbesondere jedes Netzwerkteilnehmers, identifizieren und verarbeiten, die unmittelbar nach den zuletzt von der ersten Steuerungsvorrichtung verarbeiteten Prozesseingangsdatenpaketen empfangen wurden. Diejenigen Prozesseingangsdatenpakete, die in dem der wenigstens einen weiteren Steuerungsvorrichtung zugeordneten Pufferspeicher gespeichert sind und bereits von der ersten Steuerungsvorrichtung verarbeitet wurden, können auf Grundlage der Verarbeitungsinformation ebenfalls identifiziert und gegebenenfalls gelöscht werden. Alle weiteren, im Anschluss an den Ausfall der ersten Steuerungsvorrichtung empfangenen und im Pufferspeicher gepufften Prozesseingangsdatenpakete können in der folgenden Aufholphase schrittweise ebenfalls verarbeitet werden.
  • Obwohl die Erfindung im Detail durch die bevorzugten Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (15)

  1. Verfahren (100) zum Betreiben einer Anlagensteuerung (10), aufweisend: - Empfangen (S1) von in einem Netzwerk (90) verschickten Prozesseingangsdatenpaketen (60) mithilfe einer ersten Steuerungsvorrichtung (20) und wenigstens einer weiteren Steuerungsvorrichtung (30); - Verarbeiten (S2) zumindest eines Teils der empfangenen Prozesseingangsdatenpakete (60) zu Prozessausgangsdaten (70) mithilfe der ersten Steuerungsvorrichtung (20); und - Senden (S3) einer Nachricht (80) über das Netzwerk (90) von der ersten Steuerungsvorrichtung (20) an die wenigstens eine weitere Steuerungsvorrichtung (30), wobei die Nachricht (80) eine Verarbeitungsinformation enthält, welche die von der ersten Steuerungsvorrichtung (20) zuletzt verarbeiteten Prozesseingangsdatenpakete (60) kennzeichnet.
  2. Verfahren (100) nach Anspruch 1, wobei die Prozesseingangsdatenpakete (60) eine Identifikationsinformation enthalten, welche das jeweilige Prozesseingangsdatenpaket (60) kennzeichnet, und die Verarbeitungsinformation auf der Identifikationsinformation der zuletzt von der ersten Steuerungsvorrichtung (20) verarbeiteten Prozesseingangsdatenpakete (60) basiert.
  3. Verfahren (100) nach Anspruch 2, wobei mithilfe der ersten Steuerungsvorrichtung (20) und der wenigstens einen weiteren Steuerungsvorrichtung (30) in dem Netzwerk (90) zyklisch verschickte Prozesseingangsdatenpakete (60) empfangen werden und die Identifikationsinformation eine Zyklusinformation enthält, welche den Iterationsschritt des Zyklus kennzeichnet, in welchem das jeweilige Prozesseingangsdatenpaket (60) verschickt wird.
  4. Verfahren (100) nach Anspruch 3, wobei die Zyklusinformation einen Zähler enthält, der in jedem Iterationsschritt des Zyklus inkrementiert wird.
  5. Verfahren (100) nach einem der Ansprüche 2 bis 4, wobei die Prozesseingangsdatenpakete (60) von mehreren datenerzeugenden Netzwerkteilnehmern (40) verschickt werden und die Identifikationsinformation eine Teilnehmerinformation enthält, welche den jeweiligen, ein Prozesseingangsdatenpaket (60) verschickenden datenerzeugenden Netzwerkteilnehmer (40) kennzeichnet.
  6. Verfahren (100) nach einem der vorangehenden Ansprüche, wobei die von der ersten und der wenigstens einen weiteren Steuerungsvorrichtung (20, 30) empfangenen Prozesseingangsdatenpakete (60) jeweils in wenigstens einem als Ringspeicher ausgebildeten Pufferspeicher (21, 31) gespeichert und nach der Verarbeitung daraus gelöscht werden.
  7. Verfahren (100) nach Anspruch 6, wobei die im Pufferspeicher (21, 31) gespeicherten Prozesseingangsdatenpakete (60) in Abhängigkeit der Reihenfolge ihres Empfangs zur Verarbeitung durch die Steuerungsvorrichtungen (20, 30) vorgemerkt werden.
  8. Verfahren (100) nach einem der Ansprüche 6 oder 7, wobei die Prozesseingangsdatenpakete (60) von mehreren datenerzeugenden Netzwerkteilnehmern (40) verschickt werden und die von der ersten und der wenigstens einen weiteren Steuerungsvorrichtung (20, 30) empfangenen Prozesseingangsdatenpakete (60) derart gespeichert werden, dass die Prozesseingangsdatenpakete (60) dem jeweils verschickenden datenerzeugenden Netzwerkteilnehmer (40) zuordenbar sind.
  9. Verfahren (100) nach einem der vorangehenden Ansprüche, wobei die Nachricht (80) eine Systemzeit der ersten Steuerungsvorrichtung (20) enthält.
  10. Verfahren (100) nach einem der vorangehenden Ansprüche, wobei die Nachricht (80) eine die erste Steuerungsvorrichtung (20) betreffende Ausfallinformation enthält.
  11. Verfahren (100) nach einem der vorangehenden Ansprüche, wobei die wenigstens eine weitere Steuerungsvorrichtung (30) einen Ausfall der ersten Steuerungsvorrichtung (20) erkennt (S4) und daraufhin auf Grundlage der Verarbeitungsinformation von ihr empfangene Prozesseingangsdatenpakete (60) zu Prozessausgangsdaten (70) verarbeitet (S5).
  12. Verfahren (100) nach dem vorangehenden Anspruche, wobei auf Grundlage der Verarbeitungsinformation in einem der wenigstens einen weiteren Steuerungsvorrichtung (30) zugeordneten Pufferspeicher (31) gespeicherte Prozesseingangsdatenpakete (60), die von der ersten Steuerungsvorrichtung (20) bereits verarbeitet wurden, gelöscht werden.
  13. Verfahren (100) nach einem der Ansprüche 11 oder 12, wobei - auf Grundlage der Verarbeitungsinformation in einem der wenigstens einen weiteren Steuerungsvorrichtung (30) zugeordneten Pufferspeicher (31) gespeicherte Prozesseingangsdatenpakete (60) identifiziert werden, die unmittelbar nach denjenigen Prozesseingangsdatenpaketen (60) empfangen wurden, die zuletzt von der ersten Steuerungsvorrichtung (20) verarbeitet wurden, und - die identifizierten Prozesseingangsdatenpakete (60) von der wenigstens einen weiteren Steuerungsvorrichtung (30) verarbeitet (S5) werden.
  14. Anlagensteuerung (10) mit einer ersten Steuerungsvorrichtung (20) und wenigstens einer weiteren Steuerungsvorrichtung (30), die jeweils zum Empfangen von in einem Netzwerk (90) verschickten Prozesseingangsdatenpaketen (60) und zum Verarbeiten zumindest eines Teils der empfangenen Prozesseingangsdatenpakete (60) zu Prozessausgangsdaten (70) eingerichtet sind, wobei die erste Steuerungsvorrichtung (20) zudem dazu eingerichtet ist, über das Netzwerk (90) eine Nachricht (80) an die wenigstens eine weitere Steuerungsvorrichtung (30) zu senden, wobei die Nachricht (80) eine Verarbeitungsinformation enthält, welche die von der ersten Steuerungsvorrichtung (20) zuletzt verarbeiteten Prozesseingangsdatenpakete (60) kennzeichnet.
  15. Computerprogrammprodukt aufweisend Anweisungen, welche eine Anlagensteuerung (10) nach Anspruch 14 dazu veranlassen, das Verfahren (100) nach einem der Ansprüche 1 bis 13 auszuführen.
DE102022202427.3A 2022-03-10 2022-03-10 Betriebsverfahren und Anlagensteuerung Pending DE102022202427A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022202427.3A DE102022202427A1 (de) 2022-03-10 2022-03-10 Betriebsverfahren und Anlagensteuerung
PCT/EP2023/055772 WO2023170079A1 (de) 2022-03-10 2023-03-07 Betriebsverfahren und anlagensteuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022202427.3A DE102022202427A1 (de) 2022-03-10 2022-03-10 Betriebsverfahren und Anlagensteuerung

Publications (1)

Publication Number Publication Date
DE102022202427A1 true DE102022202427A1 (de) 2023-09-14

Family

ID=85772905

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022202427.3A Pending DE102022202427A1 (de) 2022-03-10 2022-03-10 Betriebsverfahren und Anlagensteuerung

Country Status (2)

Country Link
DE (1) DE102022202427A1 (de)
WO (1) WO2023170079A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210199A1 (en) 2011-02-16 2012-08-16 Invensys Systems, Inc. System and Method for Fault Tolerant Computing Using Generic Hardware

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210199A1 (en) 2011-02-16 2012-08-16 Invensys Systems, Inc. System and Method for Fault Tolerant Computing Using Generic Hardware

Also Published As

Publication number Publication date
WO2023170079A1 (de) 2023-09-14

Similar Documents

Publication Publication Date Title
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE2913288C2 (de) Multiprozessoranlage mit einer Vielzahl von Prozessorbausteinen
DE112010001370B4 (de) Signalübertragungsvorrichtung für einen Aufzug
DE3300261C2 (de)
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
EP3211533B1 (de) Fehlertolerante systemarchitektur zur steuerung einer physikalischen anlage, insbesondere einer maschine oder eines kraftfahrzeugs
DE102014108457B3 (de) Netzwerkverteiler
DE3200761A1 (de) Nichtzentrales computersystem und verfahren zur zuordnung von serviceanforderungen zu einzelnen computern
DE10143356A1 (de) Akzeptanz-Filter
DE102011122646B4 (de) Nachrichtenverlustverhinderung durch Verwendung von Sender- und Empfängerpuffern in durch ein Ereignis ausgelösten verteilten eingebetteten Echtzeitsystemen
DE2003150B2 (de)
DE1278150B (de) Datenverarbeitungsanordnung
DE102022202427A1 (de) Betriebsverfahren und Anlagensteuerung
DE3943052A1 (de) Hierarchisches synchronisationsverfahren fuer vermittlungsstellen eines fernmeldenetzes
EP3304790B1 (de) Verfahren für ein redundantes übertragungssystem mit prp und zwischenspeicherung von datenpaketen
EP2294763A1 (de) Teilnehmerknoten eines kommunikationssytems mit funktional getrenntem sende-ereignisspeicher
EP0720337A2 (de) Verfahren zur hochzuverlässigen und konsistenten Nachrichtenübertragung
DE102019125545B3 (de) Datenübertragungsverfahren, segment-telegramm und automatisierungskommunikationsnetzwerk
DE10307424A1 (de) Datenvermittlungsvorrichtung und Multiplex-Kommunikationssysteme
EP1291744B1 (de) Synchronisationsverfahren und -vorrichtung
EP1440544A1 (de) Verfahren zur kommunikation eines realzeit-datenverkehrs in einem kollisionserkennungs-basierten kommunikationsnetz, entsprechendes speichermedium und kommunikationsnetz
DE102020208966A1 (de) Switch oder weiterleitungsvorrichtung für ein ringnetzwerk, wobei der switch dazu konfiguriert ist, eine duplikation von switchidentifikationen zu erfassen und zu korrigieren
WO1999021393A1 (de) Baustein zur oam behandlung von atm-zellen eines zellenflusses auf virtuelle verbindungen
DE19846913A1 (de) Elektronische Steuereinrichtung mit einem parallelen Datenbus und Verfahren zum Betreiben der Steuereinrichtung
DE102019218061A1 (de) Weiterleitungsgerät

Legal Events

Date Code Title Description
R012 Request for examination validly filed