-
GEBIET
-
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung mit einer Fountain-Code-Dekodiereinheit. Insbesondere bezieht sich die vorliegende Erfindung auf ein Eingabe/Ausgabe-Modul, E/A-Modul, mit einer Fountain-Code-Dekodiereinheit.
-
HINTERGRUND
-
Wird ein Feldgerät an ein E/A-Modul angeschlossen, kann es nötig sein, das E/A-Modul zum Betrieb des Feldgeräts zu konfigurieren. Durch eine Konfiguration kann bspw. spezifiziert werden, welche Daten aus den Signalen, die über die Eingänge des E/A-Moduls eingelesen werden, abzuleiten und an die Kopfstation zu übertragen sind. Ferner kann durch eine Konfiguration spezifiziert werden, welche Signale aus Daten, die von der Kopfstation empfangen werden, abzuleiten und an den Ausgängen des E/A-Moduls auszugeben sind. Zudem kann nach einer initialen Konfiguration eine Änderung oder Aktualisierung der Konfiguration nötig sein, bspw. wenn sich die zugewiesenen Aufgaben und/oder die Umgebung eines E/A-Moduls ändert, oder ein defektes E/A-Modul ersetzt werden muss.
-
ZUSAMMENFASSUNG
-
Vor diesem Hintergrund kann es vorteilhaft sein, eine Routine zur Konfiguration/Rekonfiguration eines E/A-Moduls (oder allgemein eines Feldbusknotens/einer Vorrichtung) im Hintergrund (d. h. insbesondere während des laufenden Betriebs) durchführen zu können.
-
Eine erste erfindungsgemäße Vorrichtung umfasst eine Busschnittstelle und eine Fountain-Code-Dekodiereinheit, eingerichtet zum Rekonstruieren eines Konfigurationsdatensatzes aus einer Vielzahl an Datenpaketen, die über die Busschnittstelle empfangen werden, wobei die Vorrichtung eingerichtet ist, sich selbst unter Verwendung des rekonstruierten Konfigurationsdatensatzes zu konfigurieren oder zu rekonfigurieren, wobei das Konfigurieren bzw. das Rekonfigurieren ändert, wie empfangene Anweisungen durch die Vorrichtung verarbeitet und/oder zu sendende Prozessabbilder durch die Vorrichtung erzeugt werden, die Vorrichtung eingerichtet ist, das Konfigurieren bzw. das Rekonfigurieren zu einem bestimmten Zeitpunkt durchzuführen, welcher der Vorrichtung über die Busschnittstelle mitgeteilt wird, die Vorrichtung als modularer Feldbusknoten ausgebildet ist und/oder ein E/A-Modul, umfasst und die Busschnittstelle zur Verbindung einer Kopfstation des modularen Feldbusknotens mit einer übergeordneten Steuereinheit 20 bzw. zur Verbindung des E/A-Moduls mit einer Kopfstation eines modularen Feldbusknotens, an der das E/A-Modul im Betrieb angereiht ist, eingerichtet ist.
-
Das E/A-Modul kann einen oder mehrere Ein- und/oder Ausgänge umfassen, die zum Anschluss von Feldgeräten eingerichtet sind.
-
Dabei ist unter dem Begriff „E/A-Modul“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere ein an eine Kopfstation anreihbares bzw. im Betrieb angereihtes Gerät zu verstehen, das eines oder mehrere Feldgeräte mit der Kopfstation und ggf. (über die Kopfstation) mit einer übergeordneten Steuerung verbindet. Ferner ist unter dem Begriff „Kopfstation“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, eine Komponente eines modularen Feldbusknotens zu verstehen, deren Aufgabe es ist, die Daten und/oder Dienste der an der Kopfstation angereihten E/A-Module über den Feldbus, an dem die Kopfstation angeschlossen ist, verfügbar zu machen.
-
Des Weiteren ist unter dem Begriff „Empfangen“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere ein Übermitteln von Daten mittels elektrischer Signale von der Kopfstation über eine drahtgebundene Übertragungsstrecke (insbesondere einen Lokalbus) an das E/A-Modul (Empfänger) zu verstehen. Dabei ist unter dem Begriff „Lokalbus“, wie er im Rahmen der vorliegenden Beschreibung verwendet wird, insbesondere ein Bus zu verstehen, über den (nur) die an die Kopfstation angereihten E/A-Module miteinander bzw. mit der Kopfstation (unmittelbar) verbunden sind. In diesem Zusammenhang ist unter dem Begriff „Busschnittstelle“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere eine Schnittstelle zu verstehen, die zum Anschluss an einen Lokalbus eingerichtet ist.
-
Ferner ist unter dem Begriff „Konfigurationsdatensatz“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere ein Datensatz zu verstehen, der angibt, wie Prozessabbilder zu erzeugen (bspw. wie aus an den Eingängen des E/A-Moduls eingelesenen Signalen Daten abzuleiten und wie besagte Daten über den Lokalbus/Bus an die Kopfstation zu übertragen sind) und/oder wie aus Daten, die von der Kopfstation über den Lokalbus an das E/A-Modul übertragen werden, Signale abzuleiten sind (die bspw. an den Ausgängen des E/A-Moduls ausgegeben werden). Bspw. können an den Eingängen und/oder an den Ausgängen Feldgeräte angeschlossen sein, die Zustandssignale liefern bzw. Steuersignale verarbeiten. In diesem Zusammenhang sind unter dem Begriff „Feldgerät“, wie er im Rahmen der vorliegenden Beschreibung verwendet wird, insbesondere mit dem E/A-Modul (signaltechnisch) verbundene (bspw. an dem E/A-Modul angeschlossene) Sensoren und/oder Aktoren zu verstehen. Ferner sind unter dem Begriff „Eingang“ bzw. unter dem Begriff „Ausgang“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere elektrische Anschlüsse, wie bspw. Verbindungsklemmen zu verstehen.
-
Zudem ist unter dem Begriff „Fountain-Code-Dekodiereinheit“, wie er im Rahmen der vorliegenden Beschreibung und der Ansprüche verwendet wird, insbesondere eine elektronische Schaltung zu verstehen, die eingerichtet ist, Datenpakete zu empfangen, die auf Basis des Konfigurationsdatensatzes erzeugt wurden, und den Konfigurationsdatensatz aus den Datenpaketen sukzessive zu rekonstruieren. Die Fountain-Code-Dekodiereinheit dekodiert dabei Datenpakete, die fortlaufend von einer Fountain-Code-Kodiereinheit erzeugt werde. Die Fountain-Code-Kodiereinheit kann bspw. eingerichtet sein, eine beliebige (insbesondere unbeschränkte und nicht vorab zu konfigurierende) Zahl von kodierten Datenpaketen mit l' « l (mit l gleich der Größe des zu rekonstruierenden Konfigurationsdatensatzes) zu erzeugen und an das E/A-Modul zu verschicken. Empfängerseitig reicht es aus, wenn das E/A-Modul beliebige m dieser Pakete empfängt, da dies ausreicht, um den originalen Konfigurationsdatensatz zu rekonstruieren (was zu einem Übertragungsvolumen der Größe m × l' = l + ε) führt.
-
Vorzugsweise ist das E/A-Modul eingerichtet, zyklisch Nachrichten von der Kopfstation zu empfangen, wobei die Nachrichten Nutzdatenabschnitte aufweisen, in denen jeweils ein Teilbereich konstanter Größe zur Übertragung der Datenpakete reserviert ist.
-
Vorzugsweise ist die Fountain-Code-Dekodiereinheit eingerichtet, einen Dekodierfortschritt persistent zu speichern.
-
Vorzugsweise ist die Fountain-Code-Dekodiereinheit eingerichtet, den persistent gespeicherten Dekodierfortschritt in Reaktion auf ein Anzeichen, dass das Konfigurieren oder Rekonfigurieren abgebrochen wird, zu löschen.
-
Vorzugsweise umfasst die Vorrichtung einen Prozessor, auf dem während des Rekonstruierens zyklisch eine Dekodier-Routine ausgeführt wird, wobei, wenn eine Auslastung des Prozessors eine obere Schwelle überschreitet, die zyklische Ausführung der Dekodier-Routine vorübergehend ausgesetzt oder eingeschränkt wird und eines oder mehrere der währenddessen empfangenen Datenpakete beim Rekonstruieren ignoriert werden.
-
Bspw. kann die Fountain-Code-Dekodiereinheit einen (begrenzten) Eingangs-Puffer aufweisen, der bei der vorübergehenden Aussetzung oder Einschränkung der zyklischen Ausführung der Dekodier-Routine überläuft.
-
Die Vorrichtung kann in einem System umfasst sein, das eine Kopfstation und einen Rechner aufweist, wobei der Rechner eingerichtet ist, die aus dem Konfigurationsdatensatz abgeleiteten Datenpakete an die Kopfstation zu übertragen oder die Kopfstation eingerichtet ist, die Datenpakete aus dem Konfigurationsdatensatz abzuleiten.
-
Eine zweite erfindungsgemäße Vorrichtung umfasst eine Kommunikationsschnittstelle und eine Fountain-Code-Dekodiereinheit, eingerichtet zum Rekonstruieren eines Konfigurationsdatensatzes aus einer Vielzahl an Datenpaketen, die über die Kommunikationsschnittstelle empfangen werden, wobei die Vorrichtung eingerichtet ist, sich selbst unter Verwendung des rekonstruierten Konfigurationsdatensatzes zu konfigurieren oder zu rekonfigurieren, das Konfigurieren bzw. das Rekonfigurieren zu einem bestimmten Zeitpunkt durchzuführen, welcher der Vorrichtung über die Kommunikationsschnittstelle mitgeteilt wird.
-
Das Konfigurieren bzw. das Rekonfigurieren kann ändern, wie empfangene Anweisungen durch die Vorrichtung verarbeitet und/oder zu sendende Prozessabbilder durch die Vorrichtung erzeugt werden.
-
Ein erfindungsgemäßes Verfahren zur Konfiguration einer Vorrichtung umfasst ein Empfangen von Datenpaketen durch die Vorrichtung, ein Rekonstruieren eines Konfigurationsdatensatzes auf Basis der Datenpakete durch eine Fountain-Code-Dekodiereinheit und, wenn der Konfigurationsdatensatz erfolgreich rekonstruiert wurde, ein Konfigurieren oder Rekonfigurieren der Vorrichtung auf Basis des Konfigurationsdatensatzes.
-
Das Konfigurieren bzw. das Rekonfigurieren kann ändern, wie durch die Vorrichtung empfangene Anweisungen durch die Vorrichtung verarbeitet und/oder von der Vorrichtung bereitgestellte Prozessabbilder durch die Vorrichtung erzeugt werden.
-
Das Konfigurieren bzw. das Rekonfigurieren kann zu einem Zeitpunkt durchgeführt werden, welcher der Vorrichtung über die Kommunikationsschnittstelle mitgeteilt wird.
-
Die Vorrichtung kann als modularer Feldbusknoten ausgebildet sein und das Verfahren kann ferner ein Anreihen eines E/A-Moduls an eine Kopfstation des modularen Feldbusknotens, ein Bestimmen des Konfigurationsdatensatzes zur Konfiguration eines oder mehrerer Ein- und/oder Ausgänge des E/A-Moduls, ein Ableiten von Datenpaketen aus dem Konfigurationsdatensatz und ein Übertragen der Datenpakete an das E/A-Modul über einen Bus, der die Kopfstation mit dem E/A-Modul verbindet, umfassen.
-
Vorzugsweise umfasst das Verfahren ferner ein Schreiben der Datenpakete in Nutzdatenbereiche von Nachrichten, die neben einem Datenpaket auch einen für einen Steuerdatensatz reservierten Bereich umfassen, wobei der Steuerdatensatz zur Steuerung von an dem E/A-Modul angeschlossenen Feldgeräten vorgesehen ist.
-
Vorzugsweise umfasst das Rekonstruieren ein zyklisches Ausführen einer Dekodier-Routine auf einem Prozessor der Vorrichtung, wobei die zyklische Ausführung der Dekodier-Routine vorübergehend ausgesetzt und eines oder mehrere währenddessen empfangene Datenpakete beim Rekonstruieren ignoriert werden, wenn eine Auslastung des Prozessors eine obere Schwelle überschreitet.
-
Vorzugsweise umfasst das Verfahren ferner ein persistentes Speichern eines Dekodierfortschritts und ein Fortsetzen mit dem Rekonstruieren nach einem Neustart der Vorrichtung auf der Basis des Dekodierfortschritts.
-
Vorzugsweise umfasst das Ableiten der Datenpakete aus dem Konfigurationsdatensatz ein Unterteilen des Konfigurationsdatensatzes in gleich lange Teile und ein Ableiten von Datenpaketen aus einem oder mehreren der Teile.
-
Dabei versteht es sich, dass die durch eine Vorrichtung durchgeführten Schritte als Schritte eines korrespondierenden Verfahrens aufgefasst werden können, das unter Verwendung der Vorrichtung implementiert wird, und umgekehrt.
-
Figurenliste
-
Die Erfindung wird nachfolgend in der detaillierten Beschreibung anhand von Ausführungsbeispielen erläutert, wobei auf Zeichnungen Bezug genommen wird, in denen:
- 1 ein Feldbussystem;
- 2 einen Feldbusknoten und an den Feldbusknoten angeschlossene Feldbusgeräte;
- 3 einen Feldbusknoten und einen mit dem Feldbusknoten verbundenen Rechner; und
- 4 bis 6 einen Prozess zum Konfigurieren einer Vorrichtung und insbesondere eines E/A-Moduls illustrieren.
-
Dabei sind in den Zeichnungen gleiche oder funktional ähnliche Elemente durch gleiche Bezugszeichen gekennzeichnet.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt ein Blockdiagramm eines Feldbussystems 10. Das Feldbussystem 10 umfasst eine übergeordnete Steuereinheit 20, mit der eine Vielzahl an Vorrichtungen 100 (Feldbusknoten) über einen Feldbus 30 verbunden sind. Die übergeordnete Steuereinheit 20 kann sowohl zur Überwachung als auch zur Regelung einer Anlage (nicht gezeigt) dienen, die durch das Feldbussystem 10 gesteuert wird. Wenn die übergeordnete Steuereinheit 20 eine Anlage überwacht, kann die übergeordnete Steuereinheit 20 von den Feldbusknoten 100 zyklisch oder azyklisch Zustandsdaten empfangen, die den Zustand der Anlage beschreiben und ein Fehlersignal oder ein Alarmsignal erzeugen, wenn der Zustand der Anlage von einem gewünschten/erlaubten Zustand oder Zustandsbereich (substantiell) abweicht. Wenn die übergeordnete Steuereinheit 20 die Anlage (nicht nur überwacht, sondern auch) regelt, kann die übergeordnete Steuereinheit 20 von den Feldbusknoten 100 zyklisch oder azyklisch Zustandsdaten empfangen und unter Berücksichtigung der Zustandsdaten Steuerdaten ermitteln, die zu den Feldbusknoten 100 übertragen werden.
-
2 zeigt einen beispielhaften modularen Feldbusknoten 100, bestehend aus einer Kopfstation 110 und zwei an die Kopfstation 110 angereihten E/A-Modulen 120, 130, an denen Feldgeräte 140, 150, 160, 170, wie bspw. Sensoren und Aktoren, angeschlossen sind. Während des Betriebs lesen die E/A-Module 120, 130 über die Eingänge Sensorsignale ein und erzeugen aus den Sensorsignalen Zustandsdaten, die über den Lokalbus 180 an die Kopfstation 110 übertragen werden. Die Kopfstation 110 kann die Zustandsdaten lokal verarbeiteten und/oder (ggf. in modifizierter Form) an die übergeordnete Steuereinheit 20 weiterleiten. Die übergeordnete Steuereinheit 20 (oder bei einer lokalen Verarbeitung die Kopfstation 110) kann dann unter Berücksichtigung der Zustandsdaten Steuerdaten erzeugen.
-
Die durch die übergeordnete Steuereinheit 20 erzeugten Steuerdaten können dann über den Feldbus 30 an (die gleiche oder) eine (andere) Kopfstation 110 übertragen werden. Die zur Kopfstation 110 übertragenen (bzw. die durch die Kopfstation 110 erzeugten) Steuerdaten werden dann (ggf. in modifizierter Form) an die E/A-Module 120, 130 weitergeleitet/übertragen. Die E/A-Module 120, 130 empfangen die Steuerdaten und geben den Steuerdaten entsprechende Steuersignale an den Ausgängen, an denen die Aktoren angeschlossen sind, aus. Die Kommunikation von Daten zwischen den Komponenten des Feldbussystems 10 und die Abbildung der Sensorsignale auf Zustandsdaten und die Abbildung der Steuerdaten auf Steuersignale kann dabei durch eine Konfiguration der Feldbusknoten 100 an unterschiedliche Einsatzszenarien angepasst werden.
-
3 zeigt dazu einen Feldbusknoten und einen mit dem Feldbusknoten verbundenen Rechner 40, der dazu eingerichtet ist, die E/A-Module 120, 130 des Feldbusknotens 100 zu konfigurieren. Der in 3 gezeigte Rechner 40 kann dabei sowohl alleinig oder überwiegend der Konfiguration dienen als auch (neben der Konfiguration) noch andere Aufgaben ausführen. Insbesondere kann der Rechner 40 Teil der übergeordneten Steuerung 20 sein und neben der Konfiguration auch Überwachungs- und/oder Steueraufgaben wahrnehmen. Bspw. kann der Rechner 40 die Anlage überwachen und eingerichtet zu sein, bei Vorliegen bestimmter Bedingungen von einem Betriebsmodus in einen anderen Betriebsmodus umzuschalten (und im Zuge der Umschaltung ggf. die Konfiguration zu ändern oder zu aktualisieren.
-
Wie in 4 illustriert, kann der Rechner 40 eine Anzeigeeinrichtung 42 aufweisen, auf der eine grafische Oberfläche eines Konfigurationsprogramms dargestellt werden kann. Die grafische Oberfläche kann es erlauben, die angestrebte Topologie des Feldbusknotens 100 grafisch darzustellen und die zur Konfiguration benötigten Parameter den E/A-Modulen 120, 130 und insbesondere den Eingängen und/oder Ausgängen 190 zuzuweisen. Aus der Gesamtheit aller Parameter kann für jedes der E/A-Module 120, 130 (oder für alle zusammen) ein Konfigurationsdatensatz 300 gebildet werden. Die Fountain-Code-Kodiereinheit 200 leitet aus einem Konfigurationsdatensatz 300 Datenpakete ab, die über die Kopfstation 110 und den Lokalbus 180 an das jeweilige E/A-Modul 120,130 übertragen werden.
-
So leitet bspw. die Fountain-Code-Kodiereinheit 200 in dem in 4 gezeigten Beispiel aus dem Konfigurationsdatensatz 300, der die Parameter A, B, C und D umfasst, welche den Eingängen und/oder Ausgängen 190 zugewiesen sind, Datenpakete ab, die über die Kopfstation 110 und den Lokalbus 180 an das entsprechende E/A-Modul 130 übertragen werden. Die E/A-Module 120,130 umfassen Fountain-Code-Dekodiereinheiten 210, die zum Rekonstruieren des Konfigurationsdatensatzes 300 aus den Datenpaketen, die von dem jeweiligen E/A-Modul 120, 130 über die Busschnittstelle 132 von der Kopfstation 110 empfangen werden, eingerichtet sind. Alternativ kann die Kopfstation 110 mit einer Fountain-Code-Dekodiereinheit 210 versehen sein, welche den dekodierten Konfigurationsdatensatz 300 an das jeweilige E/A-Modul 120, 130 weiterleitet. Auf Grund der Fountain-Code-Kodierung spielt es dabei keine Rolle, ob einzelne Datenpakete verloren gehen oder fehlerhaft übertragen werden (solange die fehlerhaften Datenpakete als fehlerhaft erkannt werden oder die Fehler korrigiert werden können).
-
Um eine Konfiguration des E/A-Moduls 130 während des laufenden Betriebs durchführen zu können, können die Datenpakte in Nachrichten 400 übertragen werden, die Nutzdatenabschnitte 410 aufweisen, in denen jeweils (nur) ein Teilbereich 420 konstanter Größe (d. h. konstanter Länge bzw. konstanter Anzahl an Bits) zur Übertragung der Datenpakete reserviert ist. In dem jeweils verbleibenden Nutzdatenabschnitt können dann bspw. Steuerdaten oder andere Nutzdaten übertragen werden. Dabei versteht es sich, dass nicht alle Nachrichten 400 einen Teilbereich 420 aufweisen müssen, der zur Übertragung der Datenpakete reserviert ist, oder dass der reservierte Teilbereich 420 anderweitig genutzt werden kann, wenn keine Konfiguration vorgenommen wird. Andererseits kann die Fountain-Code-Kodiereinheit 200 auch dazu eingerichtet sein, fortlaufend Datenpakete abzuleiten und an die jeweiligen Geräte zu übertragen.
-
Die Fountain-Code-Dekodiereinheit 210 kann zudem eingerichtet sein, den Dekodierfortschritt persistent zu speichern. Dies kann insbesondere dann vorteilhaft sein, wenn das E/A-Modul 130 (gewollt oder ungewollt) neu gestartet werden muss oder kurzzeitig von der Energieversorgung getrennt wird. Denn durch die persistente Speicherung kann die Fountain-Code-Dekodiereinheit 210 die Rekonstruktion des Konfigurationsdatensatzes 300 an dem Punkt fortsetzen, an dem zuletzt der Dekodierfortschritt persistent gespeichert wurde. Somit kann auch bei häufigen Neustarts und/oder Energieversorgungslücken der Konfigurationsdatensatz 300 rekonstruiert werden. Ferner kann vorgesehen sein, dass die Fountain-Code-Dekodiereinheit 210 eingerichtet ist, den persistent gespeicherten Dekodierfortschritt in Reaktion auf ein Anzeichen, dass das Konfigurieren oder Rekonfigurieren abgebrochen wird, zu löschen. Bspw. können die Nachrichten 400 anzeigen, dass das Konfigurieren oder Rekonfigurieren abgebrochen wird, indem z. B. in einer oder mehreren Nachrichten ein Flag gesetzt ist (dessen Empfang ggf. durch das E/A-Modul 130 bestätigt werden muss).
-
Die Fountain-Code-Dekodiereinheit 210 kann ferner einen Prozessor umfassen, auf dem während des Rekonstruierens zyklisch eine Dekodier-Routine ausgeführt wird, wobei das E/A-Modul 130 eingerichtet ist, wenn eine Auslastung des Prozessors eine obere Schwelle überschreitet, die zyklische Ausführung der Dekodier-Routine vorübergehend auszusetzen oder einzuschränken und eines oder mehrere währenddessen empfangene Datenpakete beim Rekonstruieren zu ignorieren. Der Prozessor kann dabei sowohl nur für die Dekodier-Routine oder auch für andere Aufgaben vorgesehen sein. Bspw. kann der im Rahmen des Dekodierens eingesetzte Prozessor auch dazu vorgesehen sein, Zustandsdaten aus den Sensorsignalen und/oder Steuersignale aus den Steuerdaten abzuleiten. Somit kann das Überschreiten der Auslastung des Prozessors einer oberen Schwelle bspw. auch daher rühren, dass sich eine Frequenz, mit der Sensorsignale und/oder Steuerdaten verarbeitet werden, erhöht, oder der Prozessor (zyklisch oder azyklisch) Anweisungen ausführt, die den Prozessor über einen kurzen Zeitraum so beanspruchen, dass das Verarbeiten der Sensorsignale und/oder der Steuerdaten beeinträchtigt werden würde, wenn das Rekonstruieren des Konfigurationsdatensatzes 300 nicht reduziert oder eingeschränkt und somit zumindest abschnittsweise ausgesetzt würde.
-
5 zeigt Schritte eines Prozesses zur Konfiguration des modularen Feldbusknotens 100. Der Prozess beginnt mit einem Schritt 500 des Empfangens von Datenpaketen durch den Feldbusknoten 100. In Schritt 510 wird dann der Konfigurationsdatensatz 300 auf Basis der Datenpakete durch eine Fountain-Code-Dekodiereinheit 210 rekonstruiert. Wenn der Konfigurationsdatensatz 300 erfolgreich rekonstruiert wurde, kann in Schritt 520 der Feldbusknoten 100 auf Basis des Konfigurationsdatensatzes 300 konfiguriert oder rekonfiguriert werden. Wie oben ausgeführt, kann die Fountain-Code-Dekodiereinheit 210 sowohl in der Kopfstation 110 als auch in einem der E/A-Module 120, 130 angeordnet sein.
-
6 zeigt Schritte eines Prozesses zur Konfiguration des E/A-Moduls 130 des modularen Feldbusknotens 100. Der Prozess beginnt mit einem Schritt 600 des Anreihens des E/A-Moduls 130 an die Kopfstation 110 des modularen Feldbusknotens 100. Bei Schritt 610 wird der Konfigurationsdatensatz 300 zur Konfiguration eines oder mehrerer der Ein- und/oder Ausgänge 190 des E/A-Moduls 130 bestimmt. Das Bestimmen des Konfigurationsdatensatzes 300 kann dabei mittels Eingabe in einen Rechner 40 durch einen Nutzer (bspw. durch Abbilden der Topologie in einer grafischen Oberfläche) oder automatisch durch selbsttätiges Erkennen der Elemente des modularen Feldbusknotens 100 und durch Zuweisen der (für das jeweilige Element) vorgegebenen Parameter erfolgen.
-
Aus dem Konfigurationsdatensatz 300 können in Schritt 620 Datenpakete abgeleitet werden. Das Ableiten der Datenpakete aus dem Konfigurationsdatensatz 300 kann ein Unterteilen des Konfigurationsdatensatzes 300 in gleich lange Teile und ein Ableiten von Datenpaketen aus einem oder mehreren der Teile umfassen. Das Ableiten von Datenpaketen kann ferner fortlaufend erfolgen, so dass jeder Mitteilung 400 ein Datenpaket zugeordnet werden kann. In Schritt 630 werden die Datenpakete über den Bus 180 an das E/A-Modul 130 übertragen. Auf Basis der Datenpakete wird in Schritt 640 der Konfigurationsdatensatz 300 schrittweise rekonstruiert. Dabei kann der Beginn der Rekonstruktion solange verzögert werden, bis eine bestimmte Menge an Information über den Konfigurationsdatensatz 300 aus der Gesamtheit aller empfangenen Datenpakete entnommen werden kann. Wenn der Konfigurationsdatensatz 300 erfolgreich rekonstruiert wurde, werden in Schritt 650 die Ein- und/oder Ausgänge 190 des E/A-Moduls 130 auf Basis des Konfigurationsdatensatzes 300 konfiguriert.
-
Dabei versteht es sich, dass auf diese Weise nicht nur das E/A-Modul 130, sondern alle zu konfigurierenden Elemente eines modularen Feldbusknotens 100 konfiguriert (bzw. parametriert) werden können.
-
Schickt der Rechner 40 (Parametrierer) permanent Fountain-Code-kodierte Datenpakete an die zu parametrierenden Geräte, werden die Geräte hotplug-fähig:
- 1. Wenn das Gerät noch nicht oder nicht mehr in Betrieb ist, empfängt es die kodierten Datenpakete nicht. Das schadet nicht, da beliebige spätere kodierte Datenpakete nach einer Wiederaufnahme des Betriebs die erfolgreiche Dekodierung des Original-Konfigurationsdatensatz 300 ermöglichen.
- 2. Wenn das Gerät bereits einige, aber nicht genügend kodierte Pakete empfangen hat, aber aussetzen muss (bspw. wegen eines Neustarts, eines akuten anderweitigen Rechenleistungsbedarfs oder eines Überlaufens des Empfangspuffers mit Verwerfen von neu eintreffenden Datenpaketen), dann schadet auch das nicht. Das Gerät kann später den Empfang wieder aufnehmen, und die zuvor bereits empfangenen kodierten Pakete weiterhin verwenden. Es ist also kein Neustart des Empfangs „bei Null“ erforderlich, sondern eine Wiederaufnahme möglich.
- 3. Wenn das Gerät in Betrieb ist (aber noch nicht konfiguriert) und ein kodiertes Paket empfängt, so kann es dieses in einem eigenen Speicher zwischenspeichern und
- a. periodisch nach jedem oder jedem k-ten empfangenen kodierten Paket versuchen, die Originaldaten aus diesen gespeicherten kodierten Paketen zu dekodieren (wobei der Dekodierungsalgorithmus ermittelt, ob die Dekodierung erfolgreich war oder noch kodierte Pakete fehlen) oder
- b. die Anzahl der benötigten kodierten Pakete vorab aus der Parametrierung des Fountain-Codes abschätzen.
-
Somit können Geräte können getauscht werden, ohne dass ein Konfigurationsvorgang manuell angestoßen werden muss, wodurch Ressourcen (Laptop mit Engineering-Software, Zugriffsrechte etc.) eingespart werden können. Ferner können Geräte eingehende Pakete zu verwerfen, wenn gerade keine Ressourcen (Rechenzeit, Speicher, etc.) zur Verfügung stehen. Des Weiteren können Geräte neu starten, ohne den Parametrierungsablauf aus Sicht des Parametrierers zu verändern. Zudem wird der Hochlauf des modularen Feldbusknotens 100 entzerrt, da weniger Abhängigkeiten bestehen bzw. Mechanismen, um im Nichtverfügbarkeitsfall speziell zu reagieren zu können, überflüssig sind.
-
Zudem kann das Vorgehen auch genutzt werden, um eine Rekonfiguration im laufenden Betrieb zu ermöglichen. Ein Gerät kann bspw. eingerichtet sein, nach dem Dekodieren des Konfigurationsdatensatzes die Parameter mit den aktuell verwendeten Parametern zu vergleichen. Im Falle, dass die Parameter identisch sind, kann der Konfigurationsdatensatz verworfen und erneut mit der Dekodierung begonnen werden. Im Falle eines Unterschieds kann sich das Gerät neu konfigurieren.
-
Dabei kann es vorgesehen sein, dass die Rekonfiguration unmittelbar durchgeführt wird, oder, dass auf ein zentrales Steuersignal gewartet wird, welches bewirkt, dass die gesamte Anlage zu einem bestimmten Zeitpunkt in eine neue Betriebsart wechselt, die die Rekonfiguration der Geräte bedingt. Zur Erhöhung der Sicherheit kann zudem vorgesehen sein, die Rekonstruktion des Konfigurationsdatensatzes und/oder die erfolgreiche (Re-)Konfiguration durch das Gerät signalisiert bzw. angezeigt wird.
-
Bezugszeichenliste
-
- 10
- Feldbussystem
- 20
- Steuereinheit
- 30
- Feldbus
- 40
- Rechner
- 42
- Anzeigeeinrichtung
- 100
- Vorrichtung (Feldbusknoten)
- 110
- Kopfstation
- 120
- E/A-Modul
- 130
- E/A-Modul
- 132
- Busschnittstelle
- 140
- Feldgerät
- 150
- Feldgerät
- 160
- Feldgerät
- 170
- Feldgerät
- 180
- Lokalbus
- 190
- Eingang/Ausgang
- 200
- Fountain-Code-Kodiereinheit
- 210
- Fountain-Code-Dekodiereinheit
- 300
- Konfigurationsdatensatz
- 400
- Nachricht
- 410
- Nutzdatenabschnitt
- 420
- reservierter Teilbereich
- 500
- Prozessschritt
- 510
- Prozessschritt
- 520
- Prozessschritt
- 600
- Prozessschritt
- 610
- Prozessschritt
- 620
- Prozessschritt
- 630
- Prozessschritt
- 640
- Prozessschritt
- 650
- Prozessschritt