|
Impressionen von der mobilen Geschwindigkeitseinrichtung
Projektstruktur
Das Projekt GME (mobile Geschwindigkeitsmesseinrichtung) ist ein Gemeinschaftsprojekt
zwischen den ÖBB, der HTL-Ottakring und der Industrie.
Mitwirkende an diesem Projekt sind:
das Schulprojekt an der HTL-Ottakring
Das Schulprojekt hat während des Schuljahres 2002/2003 die im Unterricht erlernten
Kenntnisse hinsichtlich HW-Entwicklung für Stromversorgung, Prozessoranwendungen, usw.
Betriebssystem und Softwareentwicklung angewandt und neben der Entwicklung verschiedener
Hardware und Softwarekomponenten für die GME, die folgenden Dokumente erstellt:
Projektinhalt
Auf Abrollbergen der ÖBB wird zur kontinuirlichen Bremsung der abrollenden Wagons auf
die Technik des Retarders zurückgegriffen. Retarder sind vom Aufbau ähnlich wie Stoßdämpfer
aufgebaut und sind an der Innenseite der Schienen so montiert, daß der Pilzförmige Kopf
des Retarders vom Spurkranz der Räder niedergedrückt wird. Wird die Geschwindigkeit
des Wagons zu hoch, dann wird der Retarder schneller niedergedrückt und ein Ventil hemmt
den Retarder. Damit wird dem abrollenden Wagon ein Widerstand entgegengebracht, der ihn
abbremst.
Im Bereich des Abrollberges des Zentralverschiebebahnhofs Wien-Kledering wurden ca.
60000 Retarder verbaut. Diese Retarder verschleißen und müssen in regelmäßigen Abständen
ausgetauscht werden. Wenn nun in einem Abschnitt eine größere Menge an Retardern defekt ist,
dann werden in diesem Bereich Wagons unzulässig schnell. Leider tritt dieser Umstand
schleichend ein und trifft auch nur auf bestimmte Wagontypen und/oder Wagongewichte zu, da
die noch verbleibenden Retarder u.U. leichte Wagons noch ausreichend bremsen und schwere
Wagons nicht mehr gebremst werden können.
Dieser Umstand wurde bereits sehr bald nach der Inbetriebnahme der Anlage erkannt und es
wurden bereits seit Jahren Versuche z.B. mit Lichtschranken und Schreibern, bis hin zur
Verwendung von Radarpistolen wie sie das Innenministerium einsetzt, um Gleisabschnitte zu
überwachen. Die Fehler traten häufig nicht in der Zeit auf in der gemessen wurde. Darüberhinaus
waren diese Messverfahren personalintensiv.
Aus diesem Grund wurde eine Lösung gesucht, die einerseits mobil ist und bei jenen
Gleisen montiert werden kann bei denen Retarderschwächen vermutet werden und andererseits
über längere Zeit autark aufzeichnen kann und ggf. von der Ferne abgefragt werden kann.
Diese ersten Randbedingungen führten sehr rasch zur Überlegung, daß eine reine Mikroprozessoranwendung
nicht ausreichend sein wird, da Langzeitarchivierungen der zu erwartenden Datenmengen
samt Fernabfrage über Netzwerk und/oder Modemleitungen (GSM) für Mikroprozessoranwendungen
zu hohe Softwareentwicklungskosten generiert. Aus diesem Grund wurde der Einsatz eines
embedded systems auf Basis eines Industrie-PCs angestrebt. Um eine hohe Verfügbarkeit und
zugleich eine hohe Flexibilität für eigene Erweiterungen zu ermöglichen wurde ein
Opensource Betriebssystem angestrebt.
das komerzielle Kundenprojekt
Das Kundenprojekt wurde kaufmännisch abgewickelt mit der freundlichen Unterstützung
durch Balfour Beatty Österreich. Hier gilt besonderer Dank Hrn. Johann Jungwirth für
seine Unterstützung.
Die Auswahl, Beschaffung und Systemintegration der Rechnerhardware deutet sehr schnell
auf ein Board z.B. mit ELAN 520 Prozessor hin. Dieser extrem stromsparende Prozessor bietet
die Rechenleistung eines 486 mit 133 Mhz und ist damit für den Einsatz von Linux
hervorragend geeignet.
Weitere Bedingungen an die Hardware waren, das Vorhandensein eines Flashcard-Adapters
(vorzugsweise CF-Card), Netzwerk 10/100 Mbit on board (für Datenupload vor Ort und SW-Updates
vor Ort), keine VGA-Karte (lokal ist keine Bedienung vorgesehen), mehre serielle
Schnittstellen (für Modem, Digital-IO, usw.) und möglichst über BIOS skalierbare Taktrate,
so daß der Stromverbrauch möglichst minimiert werden kann. Diese Randbedingungen führten
zur Auswahl des Rechners MSM586 der Firma
Digitallogic
der bezogen wurde bei der Firma
Aplica
Die Wahl des Betriebssystem Linux führte zur weiteren Frage, der Wahl der Distribution.
Auf dem embedded-linux Markt sind viele Distributionen verfügbar. Alle Distributionen
sind jedoch mehr oder weniger auf bestimmte Aufgaben spezialisiert. Aus diesem Grund
wurde im Zuge des Projekts eine Distribution erstellt, die speziell auf die Aufgaben in
der GME zugeschnitten ist. Als Basis wurde die
Busybox
gewählt. Die Busybox ist ein ausführbares Programm, daß über Links in einem Filesystem,
hunderte UNIX-Programme nachbildet. Die Busybox bietet darüber hinaus bereits eine Plattform
für das Starten der Applikationen und der systemnahen Daemonen. Es wurde ein Dateisystem
geschaffen, in das die Busybox und ein Linuxkernel kopiert wurden.
Der Linux-Kernel selbst wurde mit den Realtime-Patches von
RTAI erweitert.
Diese Realtimepatches schaffen einen realtimefähigen Mikrokernel der zwischen der Hardware
und dem Linux-kernel läuft und alle Realtimefunktionen übernimmt. Die Verarbeitung der Interrupts
von den GME-Lichtschranken wird mit RTAI im Bereich von deutlich weniger als 1 Millisekunde
durchgeführt.
Unter Beachtung dieser Randbedingungen ist das nachfolgend beschriebene System entwickelt worden:
Feldtest 27. November 2002 :
Feldtest 23. Juli 2002 :
18.3.2004 :
Ausschnitt eines GME-Logfile:
23.07.2003 17:44:17 : 1.Achse <- 664 ms 1.5 m/s 5 km/h
23.07.2003 17:44:19 : 2.Achse <- 640 ms 1.6 m/s 6 km/h
23.07.2003 17:44:22 : 3.Achse <- 561 ms 1.8 m/s 6 km/h
23.07.2003 17:44:24 : 4.Achse <- 553 ms 1.8 m/s 7 km/h
23.07.2003 17:44:25 : 5.Achse <- 528 ms 1.9 m/s 7 km/h
23.07.2003 17:44:27 : 6.Achse <- 518 ms 1.9 m/s 7 km/h
23.07.2003 17:44:29 : 7.Achse <- 463 ms 2.2 m/s 8 km/h
23.07.2003 17:44:31 : 8.Achse <- 457 ms 2.2 m/s 8 km/h
23.07.2003 17:44:32 : 9.Achse <- 426 ms 2.3 m/s 8 km/h
23.07.2003 17:44:33 : 10.Achse <- 414 ms 2.4 m/s 9 km/h
23.07.2003 17:44:35 : 11.Achse <- 379 ms 2.6 m/s 9 km/h
23.07.2003 17:44:37 : 12.Achse <- 362 ms 2.8 m/s 10 km/h
23.07.2003 17:44:37 : 13.Achse <- 350 ms 2.9 m/s 10 km/h
23.07.2003 17:44:39 : 14.Achse <- 343 ms 2.9 m/s 10 km/h
23.07.2003 17:44:40 : 15.Achse <- 307 ms 3.3 m/s 12 km/h
23.07.2003 17:44:41 : 16.Achse <- 300 ms 3.3 m/s 12 km/h
23.07.2003 17:44:42 : 17.Achse <- 298 ms 3.4 m/s 12 km/h
23.07.2003 17:44:43 : 18.Achse <- 291 ms 3.4 m/s 12 km/h
23.07.2003 17:44:45 : 19.Achse <- 271 ms 3.7 m/s 13 km/h
23.07.2003 17:44:45 : 20.Achse <- 266 ms 3.8 m/s 14 km/h
23.07.2003 17:44:46 : 21.Achse <- 250 ms 4.0 m/s 14 km/h
23.07.2003 17:44:47 : 22.Achse <- 243 ms 4.1 m/s 15 km/h
23.07.2003 17:44:48 : 23.Achse <- 231 ms 4.3 m/s 16 km/h
23.07.2003 17:44:49 : 24.Achse <- 228 ms 4.4 m/s 16 km/h
23.07.2003 17:44:49 : 25.Achse <- 233 ms 4.3 m/s 15 km/h
23.07.2003 17:44:51 : 26.Achse <- 238 ms 4.2 m/s 15 km/h
23.07.2003 17:44:52 : 27.Achse <- 232 ms 4.3 m/s 16 km/h
23.07.2003 17:44:52 : 28.Achse <- 231 ms 4.3 m/s 16 km/h
23.07.2003 17:44:53 : 29.Achse <- 231 ms 4.3 m/s 16 km/h
23.07.2003 17:44:54 : 30.Achse <- 228 ms 4.4 m/s 16 km/h
23.07.2003 17:44:55 : 31.Achse <- 237 ms 4.2 m/s 15 km/h
23.07.2003 17:44:56 : 32.Achse <- 217 ms 4.6 m/s 17 km/h
23.07.2003 17:44:56 : 33.Achse <- 234 ms 4.3 m/s 15 km/h
23.07.2003 17:44:57 : 34.Achse <- 234 ms 4.3 m/s 15 km/h
23.07.2003 17:44:58 : 35.Achse <- 235 ms 4.3 m/s 15 km/h
23.07.2003 17:44:59 : 36.Achse <- 223 ms 4.5 m/s 16 km/h
23.07.2003 17:45:00 : 37.Achse <- 232 ms 4.3 m/s 16 km/h
23.07.2003 17:45:01 : 38.Achse <- 242 ms 4.1 m/s 15 km/h
23.07.2003 17:45:02 : 39.Achse <- 232 ms 4.3 m/s 16 km/h
23.07.2003 17:45:03 : 40.Achse <- 243 ms 4.1 m/s 15 km/h
23.07.2003 17:45:13 : ----------------------
Durchschnitt der Wagengruppe mit 40 Achsen : 3.4 m/s 12 km/h
Das Logfile zeigt in Spalten Datum/Uhrzeit, die Achsennummer der Wagengruppe,
Millisekunden die das Rad für die Durchfahrt benötigt hat, daraus resultierende
Geschwindigkeit in Meter pro Sekunde und in km/h.
Deutlich erkennbar ist die Abstoßgeschwindigkeit bei der 1. Achse mit
1,5 m/s bzw. 5 km/h. Je mehr Wagen über die Bergspitze gestoßen werden, desto schneller
wird die Wagengruppe und erreicht mit etwas über 4 m/s die höchste
Geschwindigkeit.
Einzelne Ausreisser sind darauf zurückzuführen, daß
die GME im Sommer 2003 noch mit dem Standard-Serial Kerneldriver gearbeitet
hat und somit die Steuerleitungen der seriellen Schnittstelle noch vom
Userspace gepollt wurden. Diese Methode ist sehr ungenau und wurde
im Herbst 2003 gegen eine Kerneldriver-Lösung getauscht.
Anfang Dezember erhielten wir die ersten Messungen mit äußerst präzisen
Werten.
GME-READ V3.02 build from : Dec 4 2003 02:32:53
started at : Thu Dec 4 13:40:54 UTC 2003
logfile : /flashdisk//gme2.log
GME_ENTFERNUNG=1000
GME_RESET=10
GME found on device /dev/serialint (CTS=0,DCD=0)
04.12.2003 18:29:22 : 1.Achse -> 1011 ms 1.0 m/s 4 km/h
04.12.2003 18:29:24 : 2.Achse -> 728 ms 1.4 m/s 5 km/h
04.12.2003 18:29:28 : 3.Achse -> 663 ms 1.5 m/s 5 km/h
04.12.2003 18:29:30 : 4.Achse -> 639 ms 1.6 m/s 6 km/h
04.12.2003 18:29:32 : 5.Achse -> 609 ms 1.6 m/s 6 km/h
04.12.2003 18:29:33 : 6.Achse -> 592 ms 1.7 m/s 6 km/h
04.12.2003 18:29:37 : 7.Achse -> 533 ms 1.9 m/s 7 km/h
04.12.2003 18:29:38 : 8.Achse -> 517 ms 1.9 m/s 7 km/h
04.12.2003 18:29:39 : 9.Achse -> 493 ms 2.0 m/s 7 km/h
04.12.2003 18:29:41 : 10.Achse -> 480 ms 2.1 m/s 8 km/h
04.12.2003 18:29:43 : 11.Achse -> 433 ms 2.3 m/s 8 km/h
04.12.2003 18:29:45 : 12.Achse -> 419 ms 2.4 m/s 9 km/h
04.12.2003 18:29:45 : 13.Achse -> 546 ms 1.8 m/s 7 km/h
04.12.2003 18:29:47 : 14.Achse -> 390 ms 2.6 m/s 9 km/h
04.12.2003 18:29:49 : 15.Achse -> 353 ms 2.8 m/s 10 km/h
04.12.2003 18:29:50 : 16.Achse -> 343 ms 2.9 m/s 10 km/h
04.12.2003 18:29:50 : 17.Achse -> 329 ms 3.0 m/s 11 km/h
04.12.2003 18:29:52 : 18.Achse -> 319 ms 3.1 m/s 11 km/h
04.12.2003 18:29:53 : 19.Achse -> 294 ms 3.4 m/s 12 km/h
04.12.2003 18:29:54 : 20.Achse -> 287 ms 3.5 m/s 13 km/h
04.12.2003 18:29:55 : 21.Achse -> 276 ms 3.6 m/s 13 km/h
04.12.2003 18:29:56 : 22.Achse -> 269 ms 3.7 m/s 13 km/h
04.12.2003 18:29:57 : 23.Achse -> 257 ms 3.9 m/s 14 km/h
04.12.2003 18:29:58 : 24.Achse -> 253 ms 4.0 m/s 14 km/h
04.12.2003 18:29:58 : 25.Achse -> 252 ms 4.0 m/s 14 km/h
04.12.2003 18:29:59 : 26.Achse -> 252 ms 4.0 m/s 14 km/h
04.12.2003 18:30:00 : 27.Achse -> 251 ms 4.0 m/s 14 km/h
04.12.2003 18:30:01 : 28.Achse -> 250 ms 4.0 m/s 14 km/h
04.12.2003 18:30:02 : 29.Achse -> 249 ms 4.0 m/s 14 km/h
04.12.2003 18:30:03 : 30.Achse -> 249 ms 4.0 m/s 14 km/h
04.12.2003 18:30:04 : 31.Achse -> 251 ms 4.0 m/s 14 km/h
04.12.2003 18:30:05 : 32.Achse -> 250 ms 4.0 m/s 14 km/h
04.12.2003 18:30:05 : 33.Achse -> 250 ms 4.0 m/s 14 km/h
04.12.2003 18:30:07 : 34.Achse -> 250 ms 4.0 m/s 14 km/h
04.12.2003 18:30:07 : 35.Achse -> 255 ms 3.9 m/s 14 km/h
04.12.2003 18:30:08 : 36.Achse -> 252 ms 4.0 m/s 14 km/h
04.12.2003 18:30:09 : 37.Achse -> 253 ms 4.0 m/s 14 km/h
04.12.2003 18:30:10 : 38.Achse -> 251 ms 4.0 m/s 14 km/h
04.12.2003 18:30:11 : 39.Achse -> 256 ms 3.9 m/s 14 km/h
04.12.2003 18:30:12 : 40.Achse -> 252 ms 4.0 m/s 14 km/h
04.12.2003 18:30:22 : ----------------------
Durchschnitt der Wagengruppe mit 40 Achsen : 3.1 m/s 11 km/h
Die Abweichungen die jetzt noch in der nachfolgenden Wagengruppe
erkennbar sind, erklären sich mit der Beschleunigung der Gruppe wie sie
über den Berg geschoben wird und danach, ab der 24. Achse läuft die Wagengruppe
mit konstanter Geschwindigkeit über den Berg. Es gibt dann Streuungen zwischen
dem Minimum 249 ms (29. Achse) und 256 ms (39. Achse). Diese Streuung ist
einerseits erklärbar mit Schwingungen in der rollenden Gruppe, der Genauigkeit
der Lichtschranken (+/- 1 ms) und dem Prellen der Relaiskontakte.
|
|