-
Die vorliegende Erfindung betrifft
im allgemeinen Programmierknoten in einem Kommunikationsnetz, und
insbesondere die Parallelprogrammierung von Knoten in dem Kommunikationsnetz.
-
Mit der Installation elektropneumatisch
betriebener Zugbremsen in Eisenbahnfrachtzügen ergibt sich die Notwendigkeit,
ein Kommunikationsnetz zwischen der Lokomotive und jedem Waggon
des Frachtzuges zu schaffen. Jeder Waggon besitzt einen oder mehrere
Knoten des Kommunikationsnetzes, die für die Kommunikation und Steuerung
der elektropneumatischen Bremse sowie für die Erfüllung von Überwachungsfunktionen anderer
Operationen an den einzelnen Waggons verantwortlich sind. Ein Frachtzug
kann beispielsweise aus 100 oder mehr Waggons bestehen, weshalb
das Netzwerk mindestens 100 oder mehr Knoten zusätzlich zu den ein oder mehreren
Knoten auf den Lokomotiven brauchen würde. Die American Association
of Railroads hat als Kommunikationsarchitektur für die elektropneumatischen
(EP) Systeme LonWorks von Echelon gewählt. Bei dieser Ausführung besitzt
jeder Waggon einen Neuronen-Chip als Kommunikationsknoten. Das Netzwerk
und die Knoten sind über Strom-
und Kommunikationsleitungen verbunden, und zwar entweder über eine
gemeinsame Strom- und Kommunikationsleitung oder über getrennte Strom- und Kommunikationsleitungen.
-
Die Zusammensetzung des Frachtzuges
mit einer oder mehreren Lokomotiven und eine Mehrzahl von Waggons
variiert kontinuierlich bezüglich
der Länge
des Zuges und der Waggons, die den Zug ausmachen. Gleichermaßen kann
für einen
bestimmten Zug die Umgebung variieren, in der er sich bewegt. Es
ist deshalb sehr vorteilhaft, die Fähigkeit zur Umprogrammierung
der einzelnen Knoten, zur Änderung
der Betriebsparameter oder der kontrollierten Parameter zu schaffen.
Dies erfordert eine Umprogrammierung der einzelnen Knoten. Das gegenwärtige Design
der LonWorks Hardware und Software erfordert, dass jeder der Knoten
einzeln und getrennt programmiert wird. Folglich würde die
Programmierung der Knoten oder einer Teilmenge ähnlicher Knoten einen hohen
Zeitaufwand mit sich bringen. Dies erfordert entweder eine Ausfallzeit
des gesamten Frachtzugs oder einen Ausfall an Kontrolle und Bremssteuerung
in einem oder mehreren Waggons, während sich der Zug bewegt.
Damit wird das Ausmaß der
geleisteten Umprogrammierung reduziert oder der Zug bzw. einzelne
Waggons müssen
außer Betrieb
genommen werden. Es besteht deshalb Bedarf nach einem Verfahren
und System für
die effizientere und sicherere Umprogrammierung von Knoten in einem
Kommunikationsnetz.
-
In EP-A-0 504 860 ist eine Netzverwaltungsvorrichtung
beschrieben, die mit mindestens einem aus einer Mehrzahl von Kommunikationsvorrichtungen
verbunden ist und ein in den Kommunikationsvorrichtungen verwendetes,
bestimmtes Programm in eine der Kommunikationsvorrichtungen herunterlädt. Danach
sendet die Netzverwaltungsvorrichtung an die Kommunikationsvorrichtung,
die das Programm empfangen hat, einen Befehl, der von der betreffenden
Kommunikationsvorrichtung verlangt, das Programm je einzeln in eine
andere Kommunikationsvorrichtung zu übertragen und zu laden. Auf
diese Weise kann das Programm nacheinander in jede Kommunikationsvorrichtung
geladen werden.
-
Es ist deshalb ein Ziel der Erfindung,
ein Verfahren und eine Vorrichtung für die Parallelprogrammierung
von Knoten im Kommunikationsnetz zu schaffen.
-
Es ist ein weiteres Ziel der vorliegenden
Erfindung, ein effizientes und sicheres Verfahren und eine ebensolche
Vorrichtung für
die Programmierung von Knoten in einem Kommunikationsnetz zu schaffen.
-
Diese und andere Ziele werden erreicht,
indem in einem Kommunikationsnetz mit einer Mehrzahl von Knoten
und einem Kontroller eine Mehrzahl von Zwischenknoten geschaffen
werden, die in Eins-zu-Eins-Kommunikation mit der Mehrzahl erster zu
programmierender Zielknoten stehen. Eine erste Datei mit einem ersten
ausführbaren
Programm wird vom Kontroller parallel auf jeden der Zwischenknoten übertragen.
Die Zwischenknoten programmieren dann parallel einen jeweiligen
ersten Zielknoten. Die Zwischenknoten können mit der Programmierung
eines ersten Zielkno tens nach Empfang eines ausreichenden Teils
der ersten Datei zur Initiierung der Programmierung beginnen, oder
auch nach Empfang der vollständigen
ersten Datei. Die Zwischenknoten können auch mit einem jeweiligen
zweiten Zielknoten verbunden sein und die zweite Mehrzahl von Zielknoten
gleichzeitig und parallel programmieren, wofür sie entweder die erste bereits übertragene
Datei oder eine zweite Datei benützen,
die ein parallel übertragenes
zweites Ausführungsprogramm
enthält.
Wenn der erste und der zweite Zielknoten vom selben Typ sind, kann
das gemeinsame Programm benützt
werden, wenn nicht, müssen
zwei getrennte Ausführungsprogramme
benützt
werden.
-
Das Netzwerk im bevorzugten Ausführungsbeispiel
ist ein LonWorks-Netzwerk, bei dem alle Knoten neuronenbasierte
Knoten sind. Bei der gegenwärtig
verfügbaren
Hardware steht jedem Zielknoten ein Flash-Speicher zur Verfügung, um
die Umprogrammierung zu erlauben. Die parallele Programmierung der
Zielknoten wird asynchron ausgeführt.
Der Kontroller ist vorzugsweise eine der Lokomotiven eines Zuges,
und einer oder mehrere Knoten befinden sich auf den einzelnen Waggons
des Zuges.
-
Andere Ziele, Vorteile und Neuerungen
der vorliegenden Erfindung gehen aus der folgenden Beschreibung
hervor, wenn sie unter Bezugnahme auf die begleitenden Zeichnungen
gelesen wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
eine schematische Darstellung eines Kommunikationsnetzs in einem
Zug nach den Prinzipien der vorliegenden Erfindung.
-
2 ist
eine schematische Darstellung des Datenflusses für ein erstes Ausführungsbeispiel
der vorliegenden Erfindung.
-
3 ist
eine schematische Darstellung des Datenflusses nach einem zweiten
Ausführungsbeispiel
der vorliegenden Erfindung.
-
4 ist
ein Fließdiagramm
der Dateiübertragung.
-
5 ist
ein Fließdiagramm
der Umprogrammierung des Knotens.
-
DETAILLIERTE
BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
Ein Konmunikationsnetz 10 im
Zug ist in 1 dargestellt.
In einer der einen oder mehreren Lokomotive(n) ist ein Kontroller 12 vorgesehen,
und in jedem der Waggons ist ein als Zielknoten 14 bekannter
Kommunikationsknoten vorgesehen. Eine Zugstrom- und/oder Kommunikationsleitung 16 ist dargestellt,
welche die Lokomotive und die Waggons verbindet und den Anschluss
für das
Kommunikationsnetz bildet. Das Netzwerk ist vorzugsweise ein LonWorks-Kommunikationsnetz
von Echelon, wobei jeder der Knoten sowie der Kontroller mindestens
einen Neuronen-Chip enthalten. Die Zielknoten 14 auf jedem
Waggon steuern vorzugsweise die elektropneumatischen Bremsen und
steuern oder überwachen
einen oder mehrere Sensoren. Jeder Waggon kann zwei Zielterminals
desselben oder unterschiedlicher Typen besitzen. Dies wird in 1 für den ersten Waggon dargestellt,
der die Zielknoten 14A und 14B besitzt. Die Struktur
des LonWorks-Kommunikationsnetzs ist gut bekannt und muss nicht
im Detail dargestellt werden. Der Kontroller 12 kann mit
jedem Knoten 14 entweder einzeln oder gruppenweise kommunizieren.
Die Daten und Befehle werden zwischen den unterschiedlichen Knoten
im Netzwerk übertragen.
-
In einem allgemeinen Netzwerk ist
der Kontroller 12 geeignet zur Umprogrammierung jedes der einzelnen
Knoten 14 auf Eins-zu-Eins-Basis. Um eine parallele Programmierung
zu ermöglichen,
sind an jedem Waggon Zwischenknoten 18 als Neuronen-Chips
vorhanden. Der Zwischenknoten 18 ist mit der Zugleitung 16 verbunden,
um Daten vom Kontroller 12 zu empfangen, und ist auf Eins-zu-Eins-Basis auch
mit den jeweiligen Zielknoten 14 verbunden. Auf jedem Waggon
ist eine Schnittstelle 20 vorgesehen, um die Kommunikation
zwischen dem Kontroller 12 und den Zielknoten 14 direkt
oder durch den Zwischenknoten 18 zu erlauben. Die Schnittstelle 20 kann
auch die Kommunikation zwischen dem Zwischenknoten 18 und
dem Kontroller 12 oder dem Zielknoten 14 steuern.
-
Die Schnittstelle 20A erlaubt
die direkte Kommunikation zwischen dem Kontroller 12 und
den Zielknoten 14A und 14B. Die Schnittstelle 20A kann ein
Gateway, ein Neuron mit einem speziellen Microprozessor Interface
Program (MIP) in der Firmware, eine Brücke, ein Router, ein Repeater
oder ein Schalter sein. Die Kommunikation mit einem Zielknoten 14 kann
anderseits auch nur durch den Zwischenknoten 18 erfolgen.
Dies wird illustriert durch die Schnittstelle 20B, die
sich zwischen der Kommunikationsleitung 16 und dem Zwischenknoten 18 befindet,
oder die Schnittstelle 20C, die sich zwischen dem Zwischenknoten 18 und
dem Zielknoten 14 befindet. In diesen Fällen wären die Schnittstellen 20B und 20C entweder
ein MIP oder ein Gateway. Der Zwischenknoten 18 kann ein
Teil der Schnittstelle 20B oder 20C sein.
-
Mit der heutigen Technologie ist
der Schnittstellenschaltkreis 20 wünschenswert, weil ansonsten Nachrichten,
die auf der Zugleitung 16 übertragen werden, während die
Zwischenknoten die unterschiedlichen Zielknoten programmieren, das
Netzwerk verstopfen würden.
Die Schnittstelle 20 ist deshalb für den theoretischen Betrieb
des Systems nicht notwendig. Der Schnittstelle 20A schafft
eine Parallelkommunikation zwischen dem Kontroller und dem Zielknoten 14 und
dem Zwischenknoten 18, wohingegen die Schnittstellen 20B und 20C eine
serielle Kommunikation zwischen dem Kontroller 12 und dem Zielknoten 14 und
dem Zwischenknoten 18 schaffen. Diese Referenzen gelten
für die
Signalverarbeitung, nicht die Signalverbindung oder die Portierung.
-
Wie nachstehend näher erklärt wird, überträgt der Kontroller 12 ein
Datenpaket oder eine Datei einschließlich eines ausführbaren
Programms parallel auf jeden der Zwischenknoten 18 für eine spezifische
Gruppe von Zielknoten 14. Die Zwischenknoten
18 programmieren
dann einzeln und gleichzeitig ihre jeweiligen Zielknoten 14.
Um die Parallelverarbeitung zu ermöglichen, müssen die Zielknoten 14 für das bestimmte übertragene
ausführbare
Programm vom selben Typ sein, um vom selben Programm gleichzeitig
umprogrammiert zu werden. Die Zwischenknoten 18 sind geeignet,
das Programm nach Empfang eines ausreichenden Teils der Datendatei
oder nach Empfang der gesamten Datendatei einschließlich des
ausführbaren
Programms zu initiieren. Die parallele Umprogrammierung der Zielknoten 14 durch
ihre jeweiligen Zwischenknoten 18 wird parallel ausgeführt, und
vorzugsweise asynchron oder unabhängig.
-
Der spezielle Datenfluss ist in 2 dargestellt. Der Quellknoten 12 ist
beispielsweise am Lokomotivenkontroller 12. Ansonsten kann
der Quellknoten auch an einem anderen Ort untergebracht sein. Wie
im Fließdiagramm
der 2 dargestellt, überträgt der Quellknoten 12 die
Datei auf die Zwischenknoten 18, die dann ihre jeweiligen
Knoten umprogrammieren.
-
Als weiteres, in 3 dargestelltes
Ausführungsbeispiel
können
die einzelnen Zwischenknoten 18 einen damit verbundenen
Knoten des Typs A und des Typs B enthalten. So könnte der Zwischenknoten 18 seine
jeweiligen Knoten 14A unter Verwendung des ersten ausführbaren
Programms von der ersten Datei gleichzeitig und parallel umprogrammieren.
Anschließend
können
die Zwischenknoten 18 parallel und gleichzeitig unter Verwendung
des selben ersten ausführbaren
Programms die Zielknoten 14B programmieren, wenn der Zielknoten
A und der Zielknoten B vom selben Typ sind. Ansonsten kann der Zwischenknoten 18 ein
erstes ausführbares
Programm für
den Zielknoten A empfangen und den Zielknoten A umprogrammieren
und in der Folge eine zweite Datei empfangen, einschließlich eines
zweiten ausführbaren
Programms zur Programmierung des Zielknotens B.
-
Es ist zu beachten, dass mit der
gegenwärtigen
für LonWorks
verfügbaren
Hardware die Zielknoten 14 einen Flash-Speicher oder eine ähnliche
Vorrichtung besitzen oder hinzugefügt haben müssen, um eine Netzwerk-basierte
Umprogrammierung zu ermöglichen.
-
Der Quellknoten 12 bereitet
das auf die Zwischenknoten 18 zu übertragende, ausführbare Programm
in Dateiform vor. Wie im Echelon Engineering Bulletin, 005-0025-01 Rev. A vom
April 1993 beschrieben, findet die Dateiübertragung in Form einer Übertragung
der Daten in einer Mehrzahl von Paketen statt, die beispielsweise
32 Datenbytes enthalten. Ein Fließdiagramm ist in 4 dargestellt. Ein Quellknoten 12 kann
bezüglich
der Dateiübertragung
nicht nur als Initiator, sondern auch als Sender betrachtet werden.
Dieses Fenster-Übertragungsprotokoll
dient der Versendung der Datenpakete mit einem nicht-quittierten
Service und mit einem Request/Response-Paket alle sechs Pakete.
Dies vermeidet den Aufwand der Quittierung jedes Pakets, aber erlaubt die
Rückgewinnung
eines verlorenen Pakets nicht mehr als sechs Pakete später.
-
Der Quellknoten des Kontrollers 12 beginnt mit
der Öffnung
der Zieldateien am entsprechenden Zwischenknoten 18, die
empfangen oder in die hineingeschrieben werden soll. Nachdem der
Kontroller 12 die Quittung erhalten hat, dass die Dateien
zum Beschreiben offen sind, benützt
der Kontroller 12 das selbe Verfahren zum Öffnen der
Quelldatei, welche in die Kommunikations-Zugleitung 16 mit
der entsprechenden Adresse des Zwischenknotens 18 eingelesen
werden soll. Nach Abschluss der Übertragung und
nach Versenden der Quittung schließt der Kontroller 12 und
speichert die Dateien in den Zwischenknoten 18.
-
Die Steuerung der Knoten, das Recycling und
die Neuübertragung
wegen Fehlern werden in dem oben zitierten technischen Bulletin
beschrieben. Die Dateiübertragung
ist geeignet, eine einzelne Datei von einer einzigen Quelle auf
eine Mehrzahl von Empfängern
zu übertragen,
welche einer oder mehrere der Zwischenknoten 18 sind. Folglich
wird dieser Prozess parallel ausgeführt.
-
Die Programmierung eines Zielknotens 14 durch
seinen jeweiligen Zwischenknoten 18 beginnt, indem der
Knoten, so wie im Fließdiagramm
der 5 dargestellt, offline genommen
wird. Damit wird die Anwendung in einen Offline-Modus versetzt.
Als nächstes
wird der Zustand des Knotens in einen anwendungslosen Zustand verändert. Wenn
der Knoten offline überbrückt worden
sein sollte, wird er zurückgesetzt.
-
Als nächstes wird die Anwendung vom
Zwischenknoten 18 in den Zielknoten 14 heruntergeladen.
Dies wird mit einer Folge von Schreib-Speicher-Befehlen ausgeführt, die
vom ausführbaren Programm,
das vom Zwischenknoten 18 empfangen wurde, festgelegt werden.
-
Nachdem die Anwendung heruntergeladen wurde,
wird der Zielknoten 14 zurückgesetzt, und seine Kontrollsumme
wird neu berechnet. Der Zielknoten 14 wird dann in den
konfigurierten Zustand versetzt, und der Knoten in den Online-Modus.
Danach wird eine abschließende
Reset-Operation durchgeführt.
Ein spezifisches Programm für
die Umprogrammierung eines MC 143120 Neuronen-Chips wird in der
Motorola Application Note 1251: Programming the MC143120 Neuron
Chip in der LonWorks Technologievorrichtung von Motorola auf Seite AL421-439
und in Anhang B, Seite 9-33 beschrieben. Obwohl diese "Application Note" spezifisch für einen 3120
Neuronen-Chip war, ist sie mit kleinen Anpassungen auch auf den
3150 Neuronen-Chip anwendbar.
-
Wie nun also zu sehen ist, kann die
Parallelübertragung
von Informationen und die Parallelprogrammierung von Zielknoten
durch Verwendung einer Dateiübertragungsroutine
zur Übertragung
ausführbarer
Programme auf einen speziell bereitgestellten Zwischenknoten in
einem Kommunikationsnetz erreicht werden. Auf diese Weise wird der
Zeitaufwand für
die Umprogrammierung wesentlich reduziert. Für die Anforderungen besteht
Bedarf in einer Eisenbahn-Anwendung wegen der Anzahl von Knoten,
die im Netzwerk vorkommen, der Wiederholung der Knotentypen im ge samten
Netzwerk und des Umprogrammierungserfordernisses. Die vorliegende Erfindung
ist auch auf andere Kommunikationsnetze anwendbar.
-
Zwar wurde die vorliegende Erfindung
im Detail beschrieben und illustriert, es ist jedoch deutlich darauf
hinzuweisen, dass dies nur veranschaulichenden und beispielhaften
Charakter und keine einschränkende
Wirkung hat. Der Geltungsbereich der vorliegenden Erfindung kann
nur durch die Bedingungen der Patentansprüche eingeschränkt werden.