Tolles Projekt, nur muss ich leider ein klein wenig was korrigieren, zumindest was Achszähler von Thales (ehemals Alcatel bzw. SEL) angeht: Da werden nicht zwei Zähler verglichen, sondern der Zählerstand für einen Abschnitt an Hand der Zählimpulse der betroffenen Zählpunkte bestimmt. Ist dieser 0, ist der Abschnitt frei, bei >0 ist er belegt, bei <0 technisch gestört.
Ich hab dazu vor einiger Zeit mal einen umfangreicheren Beitrag verfasst, den ich gerne hier wiedergeben kann. Grundlegend ging es damals darum was passiert, wenn sich ein Achszähler "in echt" verzählt (der Beitrag wurde damals in einem Schweizer Forum veröffentlicht, daher sind entsprechende Bezüge vorhanden).
Es handelt sich beim Thales AzLM um eine Messung mittels zwei schwingenden Magnetfeldern, welche das Gleis umgeben, das ist im Grunde nichts anderes als ein Inkrementalgeber. Wie man schnell merkt, reagieren sie somit auf magnetisch leitende Einflüsse von aussen: Fährt eine Achse hindurch wir das Magnetfeld unterbrochen, es kommt zu einer sogenannten "Absenkung".
Da die Umgebungsbedingungen (Schienenprofile, Kabellängen, Schweissungen etc.) diese Messungen beeinflussen, wird jeder(!) Zählpunkt bei der Werkprüfung oder einem Tausch einer Komponente "abgeglichen". Dabei wird, unter Zuhilfenahme einer genormten Absenklehre, jedes der beiden Magnetfelder optimal eingepegelt (teilweise rein elektronisch, teilweise noch mechanisch je nach Generation). Was dabei aber wichtig ist: Jede dieser Messung besitzt einen Referenzwert: Weicht die Messung "in der Luft" zu weit von diesem ab, wird zunächst eine sogenannte Driftwarnung, bei zu hoher Abweichung eine Störung ausgegeben.
Dazu wird zusätzlich in einem Intervall ein Prüfimpuls über die Sendespulen ausgesendet, welcher in einem zu erwartenden Rahmen am Empfänger ankommen muss, ausserdem wird der Zeitversatz in der Schwingung der Magnetfelder gemessen.
Bei den oben genannten Einstellarbeiten kann und ist es auch schon vorgekommen, dass die beiden Messungen über Kreuz ausgeführt wurden. Der Zählpunkt funktioniert dann zwar, kann aber bei ungünstigen Verhältnissen (extrem kleine oder grösse Räder) auf einmal eine Fehlzählung verursachen, wohlgemerkt: Das ist äusserst selten. Zu den Auswirkungen weiter unten mehr...
Grundlegend ist die Auswerteelektronik welche die Magnetfelder misst und auswertet doppelt und unabhängig vorhanden (auch wenns nur eine Platine ist), beide sogenannten Zählpunktrechner ermitteln unabhängig voneinander den aktuellen Zählerstand. Weichen sie voneinander ab, schaltet sich der Zählpunkt ab und wechselt in den sogenannten "Failsafe"-Modus, aus welchem er ohne Spannungsunterbruch nicht eigenständig wieder erwacht. Können die unabhängigen Messungen (die leicht abweichend stattfinden, um eben genau eine Fehlzählung so gut wie irgend nur möglich zu erkennen) die Fehlzählung auch nicht erkennen, so wird diese nunmal an die Innenanlage übermittelt.
Dies geschieht über ISDN, wobei jeder Zählpunktrechner seinen Zählerstand autonom über diesselbe Leitung übermittelt. Hierbei ist wichtig: Der Zählpunkt zählt in sich selbstständig und übermittelt zyklisch (< 500ms) seine Daten an die Innenanlage, er übermittelt somit nicht "1 Achse plus" oder "3 Achsen minus" sondern eben seinen aktuellen Zählerstand, z.B. "ZPR1: 1230, ZPR2: 1230"...bis zum nächsten Paket fahren zwei Achsen durch, dann ist das folgende "ZPR1: 1232, ZPR2: 1232". Die Pakete sind zudem nummeriert und müssen in logischer Reihenfolge eintreffen, ein Ausbleiben von Paketen wird aber bis zu einem gewissen Punkt toleriert.
Zusätzlich besitzt jeder AzLM Zählpunkt in der Schweiz seine eigene Adresse (jeder !) welche er ebenfalls mitübermittelt und welche für beide Zählpunktrechner separat über Schalter am Gleis eingestellt werden muss (auch diese wird gegenseitig überwacht). Würde bei einer Reparatur oder einem Umbau aus versehen ein Kabel vertauscht werden, würde die Innenanlage zwar Daten erhalten, diese aber auf Grund der falschen Adresse abweisen. Dies da ganz klar definiert ist, an welchem Rechner welcher Zählpunkt mit welcher Zuweisung angeschlossen wird.
In der Innenanlage wertet dieser sogenannte Zählpunktvorrechner die ankommenden ISDN Pakete aus, dies ebenfalls wiederum mit zwei unabhängigen Rechnern (es gibt ein höher verfügbares System mit drei Rechnern, das lassen wir mal aus), sendet diese über getrennte CAN-Busse an die beiden unabhängigen CPUs der Achszählerauswertung und diese rechnen daraus die aktuelle Achszahl im jeweiligen Freimeldeabschnitt aus. Weichen die Resultate von einander ab oder tritt eine interner Hardwarefehler auf, schaltet sich der Rechner automatisch ab und startet sich neu (dabei kann er dies innert einer gewissen Zeit nur wenige Mal tun, bevor er ebenfalls ins "Failsafe" fällt). Wohlgemerkt sind nach einem solchen Neustart alle Abschnitte belegt und müssen grundgestellt werden.
Die Ausgabe erfolgt dann folgendermassen: Sind alle (und sicher auch noch zusätzliche) oben genannten Sicherheiten gegeben (richtiger Zählpunkt übermittelt konsistente Daten mit richtiger Adresse undsoweiterundsofort) und die Achszahl in einem Freimeldeabschnitt ist =0 dann wird "sicher frei" an das Stellwerk ausgegeben. WIrd dies (was ausser beim Elektra2 mit LAN Anbindung immer der Fall ist) über Relaiskarten getan, so steuert sogar jeder Prozessor mit seinem DC/DC Wandler eines der beiden Relais unabhängig an und überwacht dieses auch, auch hier: Tritt eine Abweichung auf ist Schluss ! Erst wenn diese Kette vollständig erfüllt ist und beide Relais angezogen haben weiss das Stellwerk: Der Abschnitt ist frei.
Sind mehr als 0 Achsen im Abschnitt gilt dieser als belegt.
Sind weniger als 0 Achsen im Abschnitt oder eines der Elemente der gesamten Kette ist gestört, wechselt der Abschnitt auf "technisch gestört" und kann, vorausgesetzt es liegen keine technischen Probleme vor, grundgestellt werden.