DE2926186A1 - Steuergeraet und -verfahren zur geschwindigkeitsdecodierung und geschwindigkeitsfehlerbestimmung - Google Patents

Steuergeraet und -verfahren zur geschwindigkeitsdecodierung und geschwindigkeitsfehlerbestimmung

Info

Publication number
DE2926186A1
DE2926186A1 DE19792926186 DE2926186A DE2926186A1 DE 2926186 A1 DE2926186 A1 DE 2926186A1 DE 19792926186 DE19792926186 DE 19792926186 DE 2926186 A DE2926186 A DE 2926186A DE 2926186 A1 DE2926186 A1 DE 2926186A1
Authority
DE
Germany
Prior art keywords
speed
signal
speed error
vehicle
zero
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.)
Withdrawn
Application number
DE19792926186
Other languages
English (en)
Inventor
Larry W Anderson
Michael P Mcdonald
Donald L Rush
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.)
CBS Corp
Original Assignee
Westinghouse Electric Corp
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 Westinghouse Electric Corp filed Critical Westinghouse Electric Corp
Publication of DE2926186A1 publication Critical patent/DE2926186A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L3/00Devices along the route for controlling devices on the vehicle or train, e.g. to release brake or to operate a warning signal
    • B61L3/02Devices along the route for controlling devices on the vehicle or train, e.g. to release brake or to operate a warning signal at selected places along the route, e.g. intermittent control simultaneous mechanical and electrical control
    • B61L3/08Devices along the route for controlling devices on the vehicle or train, e.g. to release brake or to operate a warning signal at selected places along the route, e.g. intermittent control simultaneous mechanical and electrical control controlling electrically
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0063Multiple on-board control systems, e.g. "2 out of 3"-systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/20Trackside control of safe travel of vehicle or train, e.g. braking curve calculation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L3/00Devices along the route for controlling devices on the vehicle or train, e.g. to release brake or to operate a warning signal
    • B61L3/16Continuous control along the route
    • B61L3/22Continuous control along the route using magnetic or electrostatic induction; using electromagnetic radiation
    • B61L3/221Continuous control along the route using magnetic or electrostatic induction; using electromagnetic radiation using track circuits
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/72Electric energy management in electromobility

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Electric Propulsion And Braking For Vehicles (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Description

drying. Ernst Stratmann
PAT E N TAN WA LT
D-4OOO DÜSSELDORF 1 · SCHADOWPLATZ 9
•Düsseldorf, 28.Juni 1979 920,317
Westinghouse Electric Corporation
Pittsburgh, Pa. 15 222, V.St.A.
Steuergerät und -verfahren zur Geschwindigkeitsdecodierung und Geschwindigkeitsfehlerbestimmung ·
Die Erfindung bezieht sich allgemein auf die automatische Steuerung von Passagierfahrzeugen, wie Massenverkehrsmitteln od. dgl., und betrifft insbesondere die automatische Steuerung von solchen Fahrzeugen, die das Decodieren von unterwegs gelieferten Geschwindigkeitscodegruppen zum Zweck der Steuerung und des Aufrechterhaltens der Fahrzeuggeschwindigkeit (speed) während der Bewegung des Fahrzeuges längs eines Schienenstranges umfaßt.
In einem Aufsatz mit dem Titel The BARTD Train Control System, der in Railway Signaling and Communications, December 1967, S. 18 bis 23, veröffentlicht worden ist, ist das Zugsteuersystem für den San Francisco Bay Area Rapid Transit District beschrieben. Andere Aufsätze, die sich auf dasselbe Zugsteuersystem beziehen, wurden in IEEE Transactions On Communication Technology, Juni 1978, S. 369 bis 374, in Railway Signaling and Communications, Juli 1969, S. 27 bis 38, in Westinghouse Engineer, März 1970, S. 51 bis 54, in Westinghouse Engineer, Juli 1972, S. 98 bis 103, und in Westinghouse Engineer, September 1972, S. 145 bis 151, beschrieben. Eine
909882/0964
Berlin WEIT (BLZ 10010010) 132736-109 ■ deutsche bank (BLZ 300 70 0 10) 0 100253
2926Ί86
Gesamtbeschreibung des Zugsteuersystems, das für die Ost-West-Linie der Sao Paulo Brazil Metro vorgesehen ist, findet sich in einem Aufsatz, der in IAS 1977 Annual of the IEEE Industry Applications Society, S. 1105 bis 1109, veröffentlicht worden ist.
Es ist bekannt, eine Geschwindigkeitsfehlerbestimmung mit geprüfter Redundanz durchzuführen, wie sie in der US-PS 3 749 994 beschrieben ist. Es ist außerdem bereits bekannt, codierte Einsen- und Nullengeschwindigkeitssignale zu erzeugen, wobei die Nachrichteninformation frequenzcodiert und die Zeitgeberinformation phasencodiert wird, wie es in der US-PS 3 810 161 beschrieben ist. Es ist weiter bekannt, ein Geschwindigkeitsbefehlssignaldecodiergerät vorzusehen, wie es in der US-PS 3 992 698 beschrieben ist. Schließlich ist es bekannt, die Einsendaten und die Nullendaten einzeln zu decodieren und sie dann miteinander zu vergleichen, um eine Diskrepanz festzustellen, wie es in der US-PS 4 015 beschrieben ist.
Eine allgemeine Beschreibung der Mikroprozessoren und der zugehörigen peripheren Geräte, die bei der Erfindung benutzt werden können, wie es in den beigefügten Fig. 1 und 2 gezeigt ist, findet sich in dem Intel 8080 Microcomputer System Users Manual, das von der Intel Corp., Santa Clara, California 95051, V.St.A., gegenwärtig erhältlich ist.
Aufgabe der Erfindung ist es, ein automatisiertes, verbessertes Passagierfahrzeuggeschwindigkeitssteuergerät und -verfahren zum decodieren von Sollgeschwindigkeitscodegruppen zur Fahrgeschwindigkeitssteuerung längs eines Schienenstranges zu schaffen. Gegenstand der Erfindung ist - in breiter Form - ein Gerät zum Steuern einer erlaubten Fahrgeschwindigkeit (velocity) eines Passagierfahrzeugs auf ein Eingangsfahrgeschwindigkeitssignal hin, das binäre Daten in Form von Einsen und Nullen enthält, mit einer Einrichtung zum Erzeugen eines ersten Signals gemäß einer ersten Decodierung der Nullendaten zum Er- -
909882/0964
zeugen eines zweiten Signals gemäß einer ersten Decodierung der Einsendaten, mit einer Einrichtung zum Erzeugen eines dritten Signals gemäß einer zweiten Decodierung der Nullendaten und zum Erzeugen eines vierten Signals gemäß einer zweiten Decodierung der Einsendaten, mit einer Einrichtung zum Bestimmen eines ersten Geschwindigkeitsfehlersignals auf das erste und auf das zweite Signal hin, mit einer Einrichtung zum Bestimmen eines zweiten Geschwindigkeitsfehlersignals auf das dritte und auf das vierte Signal hin und mit einer Einrichtung zum Vergleichen des ersten Geschwindigkeitsfehiarsignals und des zweiten Geschwindigkeitsfehlersignals zum Einstellen einer erlaubten Fahrgeschwindigkeit des Fahrzeuges.
In einer bevorzugten Ausführungsform sind die Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerberechnungen ' Teil des vitalen Geschwindigkeitssteuersystems. Die bevorzugte Methode der Implementierung einer Steuerung besteht darin, die Logik in zwei unabhängigen Mikroprozessoren unterzubringen und die Ausgangssignale in absolut zuverlässiger Weise (fail-safe) zu vergleichen. Außer dem absolut zuverlässigen Geschwindigkeitsfehlervergleich hat jeder Mikroprozessor eine dynamische Ausgangsbitumschaltung mit einer Geschwindigkeit von 9 Hz, wenn die Decodierung und die Fehlerberechnung ausgeführt wird. Vorzugsweise müssen diese beiden unabhängigen dynamischen Signale vorhanden sein und die beiden unabhängigen Geschwindigkeitsfehler müssen innerhalb einer gegebenen Toleranz gleich sein, bevor den Geschwindigkeitsbefehlen gestattet wird, die Bewegung des Zuges zu beeeinflussen.
Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels näher erläutert, das in den Zeichnungen dargestellt ist.
Es zeigt:
909882/0964
2926188
Fig. 1 ein Schema des Reisezugfahrzeugsteuersystems, das mit dem Steuergerät nach der Erfindung arbeitet;
Fig. 2 das Mikroprozessorsteuergerät, das jeweils für den vorderen und den hinteren Wagen eines gegebenen Reisezuges vorgesehen ist;
Fig. 3 anhand eines Funktionsschemas den Decodiervorgang des Sollgeschwindigkeitscodegruppensignals einschließlich der einzelnen Mikroprozessoren CPU1 und CPU2 mit ihren Eingabe/Aus gabe-Moduln;
Fig. 4 die Betriebsbeziehung zwischen den vorliegenden Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerprogrammroutinen und den anderen Steuerprogrammen, die für das hier beschriebene Fahrzeugsteuersystem vorgesehen sind;
Fig. 5 ausführlicher die Betriebsbeziehung zwischen dem vorliegenden Geschwindigkeitsdecodiersystem und anderen Steuerprogrammen, die für die hier beschriebene Steuerung eines Passagierfahrzeuges vorgesehen sind;
Fig. 6 ein Funktionsblockschaltbild der verschiedenen Vergleiche, die zu Sicherheitszwecken im Betrieb der Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerprogrammroutine ausgeführt werden;
Fig. 7 das Nullengeschwindigkeitscodegruppendatendecodierprogramm eines ersten Programmierers;
Fig. 8 das Einsengeschwindigkeitscodegruppendatendecodierprogramm des ersten Programmierers;
Fig. 9 das Geschwindigkeitsfehlerbestimmungsprogamm des ersten Programmierers;
909832/0964
Fig. 10 die Geschwindigkeitsfehlerkurve, die benutzt wird, um den Geschwindigkeitsfehler zu vergrößern, damit eine bessere Auflösung des Istgeschwindigkeitsfehlers insbesondere bei den kleineren Geschwindigkeitsfehlern möglich ist;
Fig. 11 das Nullengeschwindigkeitscodegruppendatendecodierprogramm eines zweiten Programmierers;
Fig. 12 das Einsengeschwindigkeitscodegruppendatendecodierprogramm des zweiten Programmierers;
Fig. 13 das Geschwindigkeitsfehlerbestimmungsprogramm des zweiten Programmierers;
Fig. 14 die Geschwindigkeitsdatentabellen, die durch die in den Fig. 11, 12 und 13 gezeigten Programme benutzt werden; und
Fig. 15 die Geschwindigkeitsdatentabellen, die durch die in den Fig. 1, 8 und 9 gezeigten Programme benutzt werden.
Gemäß Fig. 1 empfängt ein zentrales Steuersystem 100, das gewöhnlich in einem Hauptverwaltungsgebäude od.dgl. untergebracht ist, Informationen über das Verkehrssystem und den einzelnen Zugbetrieb, um gewünschte Betriebseinstellungen für die einzelnen Züge vornehmen zu können. Die Zentralsteuerung überwacht die Fahrpläne, den Abstand und den Leitweg der Züge. Stationen 112, 114 usw. bis N, in denen Passagiere ein- und aussteigen können, sind vorgesehen, die mit der Zentralsteuerung 100 in der für jedes besondere Verkehrssystem gewünschten Weise zusammenarbeiten. Die Unterwegsanlage 116, die Gleisschaltungen und Antennen enthält, ist längs des Fahrzeuggleises zwischen den Stationen angeordnet und überträgt Steuerinformationen über die sich auf dem Gleis bewegenden Passagierfahrzeuge. Es ist ein erster Zug 118 gezeigt, der vier Fahrzeugwagen in der Anordnung eines
909882/0964
2926136
Wagens vom Typ A an jedem Ende des Zuges mit dazwischen angeordneten Wagen vom Typ B aufweist. Es ist ein zweiter Zug 119 gezeigt, der zwei Fahrzeugwagen aufweist, von denen einer ein Wagen vom Typ A ist, der ein Computersteuergerät enthält, und einer ein Wagen vom Typ B, der keine Zugsteuerausrüstung enthält. Das Zugsteuergerät 120, das der vordere Wagen 121 vom Typ A des ersten Zuges 118 trägt, ist ausführlicher in dem mit strichpunktierten Linien dargestellten Kasten 120' des vorderen Wagens 121 gezeigt. Ebenso ist das Zugsteuergerät 122, das der hintere Wagen 123 vom Typ A trägt, ausführlicher in dem mit gestrichelten Linien dargestellten Kasten 122' des hinteren Wagens 123 gezeigt. Die Zugsteuermoduln 124 in dem Zugsteuergerät 120' umfassen den Programmstopempfängermodul, den Geschwindigkeitscodegruppenempf ängermodul, die vitale Verschlußplatte (interlock board), Stromversorgungen und sämtliche Moduln, die als Schnittstellen für die von dem Zugfahrzeug 121 mitgeführte übrige Ausrüstung erforderlich sind. Information wird in bezug auf die Eingabe/Ausgabe-Moduln 125 und die Mikroprozessorcomputer 126, 127 und 128 gesendet. Es gibt eine direkte Nachrichtenverbindung über die Eingabe/Ausgabe-Moduln 125 zwischen dem CPU1-Computer 126 und dem CPU2-Computer 127. Es gibt eine direkte Nachrichtenverbindung von dem CPU1-Computer 126 zu dem MTL-CPU-MuItiplexzugleitungscomputer 128. Ein gleiches Zugsteuergerät 122 ist für den hinteren Wagen 123 vorgesehen. Der vordere Wagen 121 und der hintere Wagen 123 sind miteinander über bekannte Zugleitungen verbunden, die durch die Wagenkupplungen und die einzelnen Zugfahrzeuge gehen. Die Multiplexzugleitung, die zwischen die vordere Multiplex-CPU und die hintere Multiplex-CPU geschaltet ist, ist ein Leitungspaar in der Zugleitung.
In Fig. 2 entspricht der Mikroprozessor 134 der CPU1 in dem vorderen A-Wagen 121 und in jedem Α-Wagen des Zuges und arbeitet mit den Eingabe- und Ausgabemodultoren (Ports) 136 und 138.
909882/0964
Der Mikroprozessor 140 entspricht der CPU2 in dem vorderen A-Wagen 121 und in jedem Α-Wagen des Zuges und arbeitet mit den Eingabe- und Ausgabemodultoren 142 und 144. Ein Erweiterungsspeicher 146, der aus jedem geeigneten Speicher bestehen kann, z.B. einem Intel-1702-Speicher, arbeitet mit jedem der Mikroprozessoren 134 und 140, wie in Fig. 2 gezeigt. Ein zusätzlicher Multiplexmikroprozessor 148 ist mit dem Mikroprozessor 134 über die Eingabe- und Ausgabetore 136 sowie mit der bekannten Zugleitung 150 verbunden, die durch sämtliche Passagierfahrzeuge in dem Zug zu dem Mikroprozessor 152 in dem hinteren Fahrzeugwagen des Zuges geht.
Fig. 3 zeigt ein Funktionsblockschaltbild, das die Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungsoperation nach der Erfindung veranschaulicht. Die Sollgeschwindigkeitscodegruppe, die dem Unterwegssignalblock geliefert wird, in welchem ein bestimmtes Fahrzeug fährt, wird durch den Geschwindigkeitscodegruppenempfanger 3 00 abgefühlt, der sich an Bord des gesteuerten Fahrzeuges befindet. Der Geschwindigkeitscodegruppenempfanger 300 gibt die Sollgeschwindigkeitscodegruppe in Form von Einsendaten und komplementären Nullendaten zusammen mit dem Einsentaktsignal und dem Nullentaktsignal jeweils an den CPU1-Computer 302 und den CPü2-Computer 304 an Bord des Fahrzeuges ab. Der CPU1-Computer 302 spricht auf das Istgeschwindigkeitsausgangssignal aus einem ersten Fahrzeugtachometer 306 an und der CPU2-Computer 304 spricht auf das Istgeschwindigkeitsausgangssignal aus einem zweiten Fahrzeugtachometer 308 an. Zusätzlich spricht jeder Computer auf jedes der von dem Zugführer gelieferten Wagenabschaltsignale COC86 oder COC71 an, die eine verringerte Bremssystemwirkung für den Zug angeben könnten, der das die Computer CPU1 und CPU2 tragende Fahrzeug enthält. Das analoge Geschwindigkeitsfehler- #1-Signal an dem Ausgang 310 und das Wachhundzeitgeberkippsignal #1 aus der CPU1 an dem Ausgang 312 werden an einen Übergeschwindigkeits- und Abgleichdetektor 314 angelegt. Das analoge Geschwindigkeitsfehler- #2-Signal
909882/0964
an einem Ausgang 316 und das Wachhundsignal #2 an einem Ausgang 318 gehen zu dem Übergeschwindigkeits- und Abgleichdetektor 314. Der CPU1-Computer 302 spricht auf das Geschwindigkeitsf ehler-#2-Signal an und der CPU2-Computer 304 spricht auf das Geschwindigkeitsfehler-#1-Signal an. Der übergeschwindigkeits- und Abgleichdetektor 314 vergleicht das Geschwindigkeitsfehler-1-Signal an dem Ausgang 310 mit dem Geschwindigkeitsfehler-2-Signal an dem Ausgang 316 in Beziehung zu einem vorbestimmten Differenzabgleich zwischen diesen Signalen, um das Abgeben eines Übergeschwindigkeitskorrektursignals an einem Ausgang 320 zu bestimmen.
In Fig. 4 gibt die Zentralsteuerung Befehle ab und empfängt Information aus jeder der einzelnen Stationen längs der Leitung, die die ATO(automatic train operation)- und die ATP-Ausrüstung enthalten. Jede Gleisschaltung enthält eine Unterwegsausrüstung 404. Die Sollgeschwindigkeitsinformation gelangt zu dem Fahrzeug aus der Stationsausrüstung 402 über den Unterwegskasten 404 in die Gleisschaltung 406 und wird dort von dem Fahrzeug über die Gleissignalantennen und Vorverstärker 408 aufgenommen. Es gibt zwei Antennen an dem vorderen und zwei Antennen an dem hinteren Ende jedes Zuges, die das Signal von der Schiene physikalisch empfangen. Das Signal wird über die Vorverstärker verstärkt und an einen Geschwindigkeitsdecodiermodul 410 abgegeben. Der Geschwindigkeitsdecodiermodul 410 ist auf dem Fahrzeug in dem Zugsteuerschrank angeordnet. Es gibt Empfänger, Verstärker und andere Hardware zum Aufnehmen der Signale zum Formen derselben und zum Abgeben der Geschwindigkeitsanforderungsinformation an den Computer. Die Informationssignale, die aus dem Geschwindigkeitsdecodiermodul 410 kommen, sind auf jeder Seite in Fig. aufgeführt. Es gibt Einsen - 18Hz - Taktsignale, Einsendatensignale, Nullentaktsignale und Nullendatensignale. Diese Information kommt aus dem Geschwindigkeitsdecodiermodul 410 und geht jeweils in die Computer CPU1 und CPU2. Außerdem gehen über die E/A-Moduln 411 und 412 die Sicherungs- oder Wa-
909882/0964
genabschaltsignale der Schalter 1 und 2 und die Signale der Tachometer in die Computer. Jeder Wagen hat zwei Wagenabschalt-Schalter, die der Operator betätigen oder umlegen kann. Wenn die Schalter auf irgendeinem Wagen umgelegt werden, geht die Information zu dem Kopfende des Zuges. Wenn in irgendeinem Wagen des Zuges der Schalter COC1 umgelegt ist, dann fährt der gesamte Zug bis 71%, und, wenn in irgendeinem Wagen der Schalter C02 umgelegt ist, fährt der gesamte Zug bis 86%. Eine der Funktionen des Gesamtgeschwindigkeitsdecodiersystems besteht darin, diese Wagenabschalt-Schalter abzulesen sowie das Sollgeschwindigkeitscodegruppensignal von der Schiene abzulesen, um die sichere Fahrzeugbetriebsgeschwindigkeit auszuwählen, weshalb gleiche Eingangssignale in die CPU#1-Moduln 411 und CPU#2-Moduln 412 kommend gezeigt sind. Der Block 414 umfaßt die beiden Mikroprozessoren CPU1 und CPU2 mit den zu dem Geschwindigkeitssteuersystem gehörenden Programmroutinen, bei denen es sich um die sowohl in CPU#1 als auch in CPU#2 befindliche Geschwindigkeitdecodier- und Geschwindigkeitsfehlerroutine handelt. Vier zusätzliche Programmroutinen, die auf der rechten Seite gezeigt sind, sind weitere Routinen, die Informationen aus der Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerroutine benutzen. Die Antriebs- und Bremssteuerausrüstung, die in dem Block 416 gezeigt ist, wird durch das P-Signal (d.h. das Antriebssignal) und das Bremssignal gesteuert. Das Fahrzeug selbst ist als Block 418 dargestellt. Der Block 420 stellt die Tachometer dar, die die Istgeschwindigkeit abfühlen, die das Fahrzeug fährt, und sie zurück in die Computer CPU1 und CPU2 führen, wo ein neues Geschwindigkeitsfehlersignal ge-t wonnen wird.
909882/0964
In Fig. 5 ist die Betriebsbeziehung zwischen dem Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungssystem 500 nach der Erfindung in Beziehung zu dem Programmstopsystem 502, den Geschwindigkeitssteuerungs- und Startbedingungen oder dem Fahrzeugsollfahrgeschwindigkeitssystem 504 und dem PI-Regler- oder Geschwindigkeitsaufrechterhaltungssystem 506 gezeigt. Die Ausgangssignale des Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungssystems 500 sind der CPU1-Geschwindigkeitsfehler, das CPU1-Umschaltsignal, der CPU2-Geschwindigkeitsfehler und das CPU2-Umschaltsignal. Diese Ausgangssignale gehen zu der von dem Wagen mitgeführten ATO-Ausrüstung 508, die ausserdem die Istgeschwindigkeitssignale aus den Tachometern 3A und 3B und aus den Tachometern 4A und 4B empfängt, die mit dem zu steuernden Fahrzeugwagen arbeiten. Die Geschwindigkeitscodegruppensignale von unterwegs von dem Signalblock, in welchem der Fahrzeugwagen fährt, und die Wagenabschalt-Schalter-1- und -2-Signale werden Von dem Gerät 510 an das Geschwindig- ' keitsdecodiersystern 500 abgegeben. Die von dem Wagen mitgeführte ATO-Ausrüstung 508 liefert die Startbedingungssignale und das PM#-Signal für reduzierte Fahrgeschwindigkeit und Beschleunigung an das Fahrzeugsollfahrgeschwindigkeitssystem 504, das seinerseits das Signal für langsame Beschleunigung, das Aktionsfahrgeschwindigkeitssignal und das Sollfahrgeschwindigkeitssignal an das PI-Reglersystem 506 abgibt. Das Fahrzeugsollfahrgeschwindigkeitssystem 504 liefert das Startfreigabesignal, das P-Signal und das Bremssignal an die Antriebs- und Bremsausrüstung 512, die das mitreden Tachometern 3A, 3B, 4A und 4B arbeitende Fahrzeug steuert.
Fig. 6 zeigt ein Funktionsblockschaltbild der aufeinander folgenden verschiedenen Vergleiche, die an unterschiedlichen Stellen in der Geschwindigkeitdecodier- und Geschwindigkeitsfehlerroutine ausgeführt werden. Auf der linken Seite sind für die CPU1 die vorhandenen Einsendaten ankommend dargestellt, die in einem Block 600 mit einer Tabelle von gültigen Geschwindigkeitscodegruppen verglichen werden. Der dar-
909882/0964
gestellte Nullengeschwindigkeitscodegruppenblock 6 02 vergleicht die Nullendaten mit einer Tabelle von gültigen Geschwindigkeitscodegruppen. Ein Block 6 04 vergleicht die aus Einsendaten decodierte Geschwindigkeit mit der aus Nullendaten decodierten Geschwindigkeit. In einem Block 606 wird der Fahrzeuggeschwindigkeitsfehler ermittelt und verstärkt, was unter Bezugnahme auf die in Fig. 10 gezeigte Kurve noch näher erläutert wird. Ein Block 608 stellt die vitale Prüflogikeinheit dar, bei welcher es sich um die Hardware und um die Betriebssicherheits(failsafe)logik zum Prüfen der Geschwindigkeitsfehler aus der CPU1 und der CPU2 handelt. In demselben Hardwaremodul wird mit diesem Betriebssicherheitsvergleich jeder Geschwindigkeitsfehler in ein analoges Signal umgewandelt und zu dem anderen Computer geschickt, wie es in Fig. 6 gezeigt ist.
In einem Block 610 wird der digitale Geschwindigkeitsfehler, der für die CPU1 in dem Block 606 berechnet worden ist, mit dem analogen Geschwindigkeitsfehler verglichen, der für die CPU2 in dem Block 612 berechnet worden ist. Der Block 614 arbeitet so, daß die Einsengeschwindigkeitscodegruppe Bit für Bit mit einer bestimmten Anzahl von vergangenen Werten der Einsengeschwindigkeitscodegruppe verglichen wird. Ein Block 616 arbeitet so, daß die Nullengeschwindigkeitscodegruppe Bit für Bit mit vergangenen Werten der Nullengeschwindigkeitscodegruppe verglichen wird. Ein Block 618 vergleicht die 6-bit-Einsengeschwindigkeitscodegruppe mit der 6-bit-Nullengeschwindigkeitscodegruppe. Ein Block 62 0 vergleicht die Einsengeschwindigkeitscodegruppenfahrgeschwindigkeit - wenn beispielsweise die 6-bit-Einsengeschwindigkeitscodegruppe für 100 km/h galt, dann ist 100 die Einsengeschwindigkeitscodegruppenfahrgeschwindigkeit - mit der entsprechenden Nullengeschwindigkeitscodegruppenfahrgeschwindigkeit. Die Geschwindigkeitscodegruppenfahrgeschwindigkeit wird aus den in Fig. 14 gezeigten Tabellen erhalten, was weiter unten noch näher erläutert ist.
909882/0964
Ein Block 622 arbeitet in derselben Weise wie der Block 604 und vergleicht die wagenabschaltmodifizierte Einsenfahrgeschwindigkeit mit der wagenabschaltmodifizierten Nullenfahrgeschwindigkeit. Der Block 612 arbeitet so wie der Block 606 und bestimmt den Geschwindigkeitsfehler und vergrößert ihn, indem er ihn in die in Fig. 10 gezeigte Kurve einpaßt. Der Geschwindigkeitsfehler 1 und der Geschwindigkeitsfehler 2 treffen sich in dem Block 6 08 für den Betriebssicherheitsvergleich. Der Geschwindigkeitsfehler 2 wird außerdem durch den analogen Kanal zu dem Block 610 geschickt, während der Geschwindigkeitsfehler 1 durch den analogen Kanal zu dem Block 624 geschickt wird, wo der digitale Geschwindigkeitsfehler 2 in der CPU2 mit dem analogen Geschwindigkeitsfehler 1 aus der CPU1 verglichen wird.
Ein Vergleichsmißlingen in irgendeinem der Blöcke 6 04, 608, 610, 614, 616, 618, 620, 622 und 624 ist ein Signal zum Stoppen des Zuges, wie es in Fig. 6 gezeigt ist. Der Block 608 nimmt eine Übergeschwindigkeits- und Abgleichprüfung vor und die Blöcke 610 und 624 nehmen Abgleichprüfungen vor, um festzustellen, ob der Fehlerabgleich innerhalb einer gegebenen Toleranz liegt. Der Fehlerabgleich bezieht sich hier auf den Geschwindigkeitsfehlerabgleich zwischen der CPU1 und der CPU2.
ALLGEMEINE BESCHREIBUNG DER
GESCHWINDIGKEITSDECODIER- UND DER GESCHWINDIGKEITS-FEHLERBERECHNUNG
Bei dem Auslegen der Schaltungsanordnung muß darauf geachtet werden, daß sichergestellt ist, daß die Mikroprozessoren die erforderliche Funktion erfüllen. Jeder Prozessor empfängt getrennte Eingangssignale sowie Taktsignale für die Einsendaten und die Nullendaten. Diese Eingangssignale kommen aus dem Geschwindigkeitscodegruppenempfängermodul. Jeder Prozessor empfängt seine eigenen Eingangssignale von den Wagenabschalt-Schaltern und jeder Prozessor vergleicht die auf dem Einsen-
909882/0964
kanal empfangene Geschwindigkeitscodegruppe mit der auf dem Nullenkanal empfangenen Geschwindigkeitscodegruppe. Diese Geschwindigkeitscodegruppen müssen übereinstimmen oder die Verwirrungszonenlogik wird ausgeführt. Darüber hinaus werden die Einsen- und die Nullengeschwindigkeitscodegruppeneingangssignale mit einer bestimmten Anzahl von vergangenen Werten verglichen, bevor ein rechtmäßiges Geschwindigkeitscodegruppeneingangssignal auf jedem Kanal anerkannt wird.
Die Programme für jeden Mikroprozessor wurden vorteilhafterweise durch verschiedene, unabhängig arbeitende Programmierer geschrieben, um völlig unterschiedliche Methoden des Ausführens der Berechnungen zu gewährleisten.
Die Verwirrungszonenlogik ist für die Steuerung in Geschwindigkeitscodegruppenübergangsbereichen, wie beispielsweise an den Grenzen zwischen Gleisschaltungen, erforderlich. Das Zugfahrzeug muß in der Lage sein, diese Grenzen ohne vorübergehende Pausen zu überqueren, weil ihm, während es sich über den Grenzen befindet, rechtmäßige Geschwindigkeitsbefehle fehlen. Zeitverzögerungen sind in die Programme eingebaut worden, um dem Zug zu erlauben, unter Verwendung des letzten gültigen Geschwindigkeitsbefehls für eine gegebene Zeitspanne weiterzufahren, die ausreicht, um eine Grenze zu passieren, und diese Zeitspanne kann sich mit der Geschwindigkeit, mit der sich der Zug bewegt, ändern.
Eine maximale Zeitverzögerung wird für einen gegebenen Geschwindigkeitsbefehl bestimmt. Ein Zeitgeber wird erhöht oder vermindert, basierend darauf, ob eine rechtmäßige Geschwindigkeitscodegruppe empfangen wird. Dieser Zeitgeber wird jedesmal dann betätigt, wenn das Datentaktsignal eine Unterbrechung verursacht. Jeder Prozessor hat Zeitgeber für seine Einsen- und Nullendecodierung. CPU2-Zeitgeber werden jedesmal dann erhöht, wenn eine Geschwindigkeitscodegruppe auf seinem besonderen Kanal bis au der maximal zulässigen Zeit erkannt wird. Die Zeitgeber wer-
909882/0964
den so lange auf der maximalen Zeit gehalten, wie gute Geschwindigkeitscodegruppen empfangen werden. Der CPUl-Zeitgeber wird heruntergezählt und auf null gehalten, während er gute Codegruppen empfängt. Jedesmal dann, wenn ein Fehlvergleich festgestellt wird, wird der korrekte Zeitgeber um eins geändert, bis der die "Zeitsperre" erreicht. Zu dieser Zeit wird der Geschwindigkeitsbefehl auf null gesetzt. Folgende Vergleiche werden angestellt:
CPU#1 T. Einsengeschwindigkeitsbefehl mit Nullengeschwindigkeitsbefehl , modifiziert für Wagenabschalteingangssignale.
CPU#2 1. Einsendaten mit vergangenen Werten von Einsendaten.
2. Nullendaten mit vergangenen Werten von Nullendaten.
3. Einsengeschwindigkeitscodegruppe mit Nullengeschwindigkeitscodegruppe.
4. Einsengeschwindigkeitsbefehle mit Nullengeschwindigkeitsbefehl, modifiziert für Wagenabschaltung.
Der Geschwindigkeitsfehler, der als Istgeschwindigkeit minus der Sollgeschwindigkeit definiert ist, wird in jedem Computer berechnet. Verschiedene Tachometer werden benutzt, die gewährleisten helfen, daß die benutzte Istgeschwindigkeit korrekt ist. Ein Tachometerversagen wird einen Fehlvergleich verursachen. Jeder Mikroprozessor gibt den Geschwindigkeitsfehler 18 mal pro Sekunde ab.
Der Rohgeschwindigkeitsfehler wird verstärkt, indem er in eine Kurve eingepaßt wird, in welcher die Werte, die nahe bei einem Nullfehler liegen, mehr als für einen großen Fehler vergrößert werden. Das ermöglicht eine bessere Auflösung in den Gebieten, wo der Fehler klein ist. Dieser vergrößerte Wert wird auf einen Unterlauf oder einen Überlauf hin überprüft und auf den Grenzwerten gehalten.
909882/0964
Die Wachhundzeitgeberausgangskipp- oder Umschaltsignalbits aus jedem Mikroprozessor werden benutzt, um sicherzustellen, daß die Decodier- und Geschwindigkeitsfehlerroutinen tatsächlich ausgeführt werden. Der Wachhundzeitgeber wird gekippt oder umgeschaltet, genau nachdem der Geschwindigkeitsfehler an den vitalen Verschlußmodul abgegeben worden ist. Dieses Bit wird nicht umgeschaltet, außer wenn der besondere Abschnitt des Programms ausgeführt wird. Wenn der Computer in einem Befehl "hängen bleibt", wird keine "Unterbrechung" honoriert und der Wachhundzeitgeber hört auf umzuschalten.
Spezifikationen der Geschwindigkeitsdecodierung und des Geschwindigkeitsfehlers
Eingangssignale "EINSEN"-Geschwindigkeitscodegruppendaten
(Logik 1 = Geschwindigkeitscodegruppe 1) Taktsignal für "EINSEN"-Daten
"NULLEN"-Geschwindigkeitscodegruppendaten (Logik 1 = Geschwindigkeitscodegruppe 0) Taktsignal für "NULLEN"-Daten
Nicht abgeschaltet 71%
Nicht abgeschaltet 86%
Fahrzeuggeschwindigkeit aus Tachomater.
Sicherheitsmerkmale von Eingangssignalen:
"EINSEN"-Daten und "NULLEN"-Daten sind unabhängig und komplementär. Ein Fehler in einem der Datensignale wird nicht von einem komplementären Fehler in dem anderen Datensignal begleitet (d.h. ein Zusatz von einer Eins in dem "EINSEN"-Datensignal wird nicht von dem Wegfall einer Eins in den
909882/0964
292618S
• ι
"NULLEN"-Daten begleitet). Eingangscodegruppen sind "kommafrei" (d.h. jeweils 6 Bits in einer Reihe definieren eindeutig die Geschwindigkeitscodegruppe) ·
Taktsignale sind unabhängig und frei laufend.
Ausgangssignale
Geschwindigkeitsfehler - 8-Bit-Datenwort, 0 —> 89 = Untergeschwindigkeit 8A —>FF = Übergeschwindigkeit
(nichtvital)
Wachhundzeitgeber = dynamisches Signal, das anzeigt, daß ein Geschwindigkeitsfehler berechnet wird (nichtvital).
Programmfunktion:
1. Decodiere die Fehlercodegruppe (gestatten einer Verwirrungszeit und einer Wagenabschaltung).
2. Lies Tachometer ab.
3. Berechne Geschwindigkeitsfehler proportional zur decodierten Geschwindigkeit - Tachometergeschwindigkeit
4. Schalte ein Ausgangsbit um, um anzuzeigen, daß der Geschwindigkeitsfehler berechnet und abgegeben worden ist.
Spezifikationen:
Geschwindigk. Fehler 100% km/h 86% 71 % 7 km/h Max. S.
(echte Daten) Max.Geschw. km/h Max. Geschw. Max.G. 21 km/h S.
km/h 31 km/h Verwirrungs· S.
100001 10 km/h 8,5 km/h 43 km/h zeit S.
100101 30 km/h 25,5 km/h 52 km/h 0,9 S.
101001 44 km/h 37,5 km/h 61 km/h 0,9 S.
110001 61 ,5 km/h 53 km/h 70,5 km/h 1,9 S.
110101 74 63,5 km/h 1,9
111001 87 74,5 km/h 1,9
111101 100 86 km/h 1,9
1,9
909882/0964
Geschwindigkeits fehler:
4 Bits/Δ km/h wenn (Akm/h| < 5 2 Bits/Δ km/h wenn 5< [Δ km/h[<1 5 1 Bit /Δ km/h wenn 15<|Δ!αη/]ι| Mittenwert bei 138 (Skalenmitte) Versetzung von + 20 Bits, wenn Tachometergeschwindigkeit ^ Maximalgeschwindigkeit
Beschreibung der Geschwindigkeitsdecodierung und der Geschwindigkeitsfehlerbestimmung in der CPU2 durch Programmroutinen, die in den Fig. 11, 12 und 13 gezeigt sind
Das Programm für die Geschwindigkeitsdecodierung und die Fehlerberechnung in der CPU#2 hat drei Abschnitte,nämlich Nullendecodierung, Einsendecodierung und Fehlerbestimmung. Die Nullendecodierungsunterroutine wird durch die Nullen 18Hz-Taktsinaiunterbrechung aufgerufen. Diese Unterroutine arbeitet unabhängig von allen anderen Routinen in dem Programm. Die Einsendecodierungsunterroutine wird durch die Einsen - 18 Hz - TaktSignalunterbrechung aufgerufen. Die durch die Nullendecodierungsroutine gespeicherte Information wird für Vergleiche benutzt. Die Geschwindigkeitsfehlerroutine wird aus der Einsendecodierungsunterroutine eingegeben.
Nullendecodierung#2
Die Nullengeschwindigkeitdecodierungsunterroutine wird 18-mal pro Sekunde unter Verwendung des Nullendaten - 18 Hz Taktsignals für eine Unterbrechung eingegeben. Sobald die Routine eingegeben ist, sind die Segisterinhalte gespeichert und die Unterbrechungen werden freigegeben, damit andere Unterbrechungen honoriert werden können, wenn sie auftreten.
909882/0964
2S26186
In Verbindung mit den in den Fig. 11, 12 und 13 gezeigten Programmen wird jedes Geschwindigkeitscodegruppendatenbit eingegeben und in ein 6-bit-Schieberegister geschoben, das im Speicher angeordnet ist. Diese 6-bit-Codegruppe wird mit der vorherigen 6-bit-Codegruppe (vergangener Wert) verglichen, um zu sehen, ob die Codegruppe die gleiche ist. Wenn die beiden Codegruppen verschieden sind, wird der Zähler für gute Codegruppen auf null gesetzt und die Steuerung wird an den Verwirrungszonenabschnitt des Programms abgegeben. Wenn die gegenwärtige Codegruppe und die Codegruppe des vergangenen Wertes gleich sind, wird der Fehler für gute Codegruppen auf eine gewünschte Anzahl von empfangenen gleichen Codegruppen hin überprüft. Wenn die gewünschte Anzahl von sequentiellen Codegruppen nicht erreicht worden ist, wird der Zähler um eins erhöht und die Programmsteuerung wird auf die Verwirrungszonenlogik übertragen.
Wenn die gewünschte Anzahl von gleichen sequentiellen Codegruppen erreicht wird, wird die Geschwindigkeitscodegruppentabelle abgesucht, um festzustellen, ob die Codegruppe, die empfangen worden ist, eine rechtmäßige Geschwindigkeitscodegruppe ist. Wenn die Codegruppe keine rechtmäßige Geschwindigkeitscodegruppe ist, wird der Zähler für gute Codegruppen auf null gesetzt und die Programmsteuerung wird auf die Verwirrungszonenlogik übertragen. Wenn eine rechtmäßige Geschwindigkeitscodegruppe empfangen wird, wird der Nullenverwirrungszonenzeitgeber gegenüber dem Nullenverwirrungszonenmaximalzeitgeberwert überprüft. Der Nullenzeitgeber wird um eins erhöht oder verringert, bis der Maximalzeitwert erreicht ist.
Wenn die Geschwindigkeitscodegruppentabelle abgesucht wurde und eine legale Geschwindigkeitscodegruppe gefunden wurde, wird die Relativposition oder Tabellenabweichung (bias) im Speicher gespeichert. Ein PROM-Speicher enthält fünf Tabellen, die zur Nullengeschwindigkeitdecodierung gehören. Jede
909882/0 964
ZS26186
dieser Tabellen enthält acht Eingaben, eine für jede der acht Geschwindigkeitscodegruppen.
1. Die Geschwindigkeitscodegruppentabelle enthält die kommafreie 6-bit-Codegruppe für jede der acht verschiedenen Geschwindigkeiten.
2. Die Geschwindigkeitbefehlsfahrgeschwindigkeitstabelle enthält die Geschwindigkeit mal zwei für jede Geschwindigkeitscodegruppe.
3. Die COC1-Fahrgeschwindigkeitstabelle enthält 71% der Geschwindigkeit mal zwei für jede Geschwindigkeitscodegruppe .
4. Die C0C2-Fahrgeschwindigkeitstabelle enthält 86% der Geschwindigkeit mal zwei für jede Geschwindigkeitscodegruppe .
5. Die Verwirrungszonenzeitentabelle enthält die maximale VerwirrungsZonenzeit für jede Geschwindigkeitscodegruppe .
Unter Verwendung des TabellenabweichungsZählers werden die Nullengeschwindigkeitscodegruppe, die Nuliengeschwindigkeitsbefehlsfahrgeschwindigkeit und die Nullenverwirrungszonenmaximalzeit im Arbeitsspeicher gespeichert. Die Nullenreferenzfahrgeschwindigkeit wird gleich der Nullengeschwindigkeitbefehlsfahrgeschwindigkeit eingestellt. Der C0C71-Schalter wird geprüft. Wenn der Schalter eingeschaltet ist, wird die Nullenfahrgeschwindigkeit gleich der COC1-Fahrgeschwindigkeit eingestellt.
Der COC86-Schalter wird geprüft. Wenn der Schalter eingeschaltet ist, wird die Nullenref erenzfahrgeschwindigkeit gleich der C0C2-Fahrgeschwindigkeit eingestellt, wenn C0C1 nicht bereits eingestellt ist. Die Register werden zurückgestellt und die Routine wird angehalten. In diesem Zeitpunkt ist die Nullenref erenzfahrgeschwindigkeit gleich der niedrigeren der Geschwindigkeitsbefehlsfahrgeschwindigkeit, der C0C1-Fahrgeschwindigkeit oder der COC2-Fahrgeschwindigkeit.
909882/0964
In den Fällen, in denen die Steuerung auf die Verwirrungszonenlogik übertragen wird, wird eine Prüfung durchgeführt, ob die Referenzfahrgschwindigkeit auf null einzustellen oder unverändert zu lassen ist. Wenn eine legale Geschwindigkeitscodegruppe empfangen wird, wird ihr zugeordneter Verwirrungszonenmaximalzeitgeber gesetzt. Das ist die Zeit, zu der dem Zug gestattet wird, sich durch eine Verwirrungszone zu bewegen, bevor die Referenzfahrgeschwindigkeit auf null eingestellt wird. Jedesmal dann, wenn das Programm die Verwirrungszonenlogik durchläuft, wird der Zeitgeber um einen Zählwert verringert. Wenn der Zeitgeber null erreicht, wird die Referenzfahrgeschwindigkeit auf null eingestellt. Solange der Zeitgeber nicht abgelaufen ist, wird die Referenzfahrgeschwindigkeit nicht geändert.
Jedesmal dann, wenn eine gute Codegruppe empfangen wird, wird der Zeitgeber erhöht, bis zu seinem Maximalwert. Das erfordert, daß mehrere gute Codegruppen empfangen werden, bevor der VerwirrungsZonenzeitgeber seinen Maximalwert erreicht.
Das Ausgangssignal der Nullendecodierroutine ist entweder ein wagenabschaltsignal-modif iziertes Geschwindigkeitsbefehlsfahrgeschwindigkeitssignal oder Null in dem Fall, in welchem der Verwirrungszonenzeitgeber abgelaufen ist. Dieser Wert wird an dem Nullenreferenzfahrgeschwindigkeitsspeicherplatz im Speicher gespeichert. Er wird in der Einsendecodierroutine für Vergleichszwecke benutzt. Die decodierte Geschwindigkeitscodegruppe wird ebenfalls für Vergleichszwecke gespeichert .
Einsendecodierung #2
Die Einsendecodierroutine wird 18-mal pro Sekunde unter Verwendung des Einsendaten- 18Hz- Taktsignals für eine Unterbrechung eingegeben. Diese Unterroutine tut alles, was die
909882/0964
2$2618S
Nullendecodierroutine tut, und stellt darüber hinaus Vergleiche zwischen der decodierten Einsengeschwindigkeitscodegruppe und der decodierten Nullengeschwindigkeitscodegruppe an. Sie stellt einen Vergleich der COC-modifizierten Einsengeschwindigkeitsbefehls fahrgeschwindigkeit (Einsenreferenzfahrgeschwindigkeit) und der COC-modifizierten Nullengeschwindigkeitsbefehl sfahrgeschwindigkeit (Nullenreferenz fahrgeschwindigkeit) an. Zusätzlich steuert diese Routine die Kabinensignalanzeige. Außerdem vergleicht sie ihren Geschwindigkeitsfehler mit dem analogen Geschwindigkeitsfehler aus der CPU1.
Wenn entweder die Einsengeschwindigkeitscodegruppe oder die Einsenreferenz fahrgeschwindigkeit oder die Nullenreferenzfahrgeschwindigkeit sich als ungleich erweisen, wird die programmsteuerung auf die Einsenverwirrungszonenlogik übertragen.
Am Schluß dieser Routine wird eine Referenzfahrgeschwindigkeit den Vergleichstest passiert hat oder null ist, erreicht worden sein. Sie ist durch zwei getrennte Routinen erreicht worden, die mit zwei verschiedenen Eingangssignalen arbeiten, von denen das eine jeweils das Komplement des anderen ist. Diese Referenzfahrgeschwindigkeit wird nun benutzt, um den Geschwindigkeitsfehler zu berechnen, den Fehler durch Einpassen in eine Kurve zu verstärken und den sich ergebenden Wert an den vitalen Verschlußmodul abzugeben.
Die Geschwindigkeitsfehlerroutine in der CPU#2 wird aus der Einsendecodierroutine eingegeben. Eine gültige Ablesung wird dem Tachometer entnommen. Der Geschwindigkeitsfehler ist die Istgeschwindigkeit minus der Sollgeschwindigkeit. Der Geschwindigkeitsfehler wird folgendermaßen eingruppiert: weniger als 15 km/h, 15 km/h - 5 km/h, 5 km/h - 0 Untergeschwindigkeit und größer als 15 km/h, 15 km/h - 5 km/h und 5 km/h 0,5 km/h Übergeschwindigkeit. Jede Gruppe wird in einem bestimmten Umfang und durch Grenzen modifiziert, die auf Maximal- und Minimalwerte hin überprüft werden.
909882/0964
2S26186
Der sich ergebende vergrößerte Geschwindigkeitsfehler wird im Speicher gespeichert und an die Betriebssicherheitsvergleichslogik abgegeben. Er wird mit dem analogen Geschwindigkeitsfehler aus der CPU1 verglichen. Nachdem der Geschwindigkeitsfehler abgegeben worden ist, wird ein Wachhundzeitgeberbit umgeschaltet. Dieses Umschalten ist so nahe wie möglich an die Geschwindigkeitsfehlerabgabe gelegt worden, um sicherzustellen, daß jedesmal dann, wenn ein Geschwindigkeitsfehler abgegeben wird, das Umschaltbit überprüft wird. Das 9-Hz-Rechteckausgangssignal wird für eine dynamische Aktion in der Betriebssicherheitsvergleichslogik benutzt. Dieser vergrößerte Geschwindigkeitsfehler wird mit dem vergrößerten Geschwindigkeitsfehler aus der CPU#1 in dem vitalen Verschlußmodul verglichen. Die Fehler müssen gleich sein und beide Wachhundzeitgeberbits müssen umschalten, bevor dem System gestattet wird, auf einen Geschwindigkeitsbefehl anzusprechen.
Tabellen
SCTBO - Einsengeschwindigkeitscodegruppen-
tabelle
SCVLO - Einsenfahrgeschwindigkeitstabelle C71V0 - Einsen- 71% - Wagenabschaltfahrgeschwin-
digkeitstabelle C86VO - Einsen - 86% - Wagenabschaltfahrgeschwin-
digkeitstabelle CTIMO - Einsenverwirrungszonenzeitgeberta-
belle
SCTBZ - Nullengeschwindigkeitscodegruppen-
tabelle
SCVLZ - Nullenfahrgeschwindigkeitstabelle C71VZ - Nullen - 71% - Wagenabschaltfahrgeschwin-
digkeitstabelle
909882/0964
2S26186
C86VZ CTIMZ -
GESCHW.-(SPEED)
Nullen - 86% - Wagenabschaltfahrgeschwin-
digkeitstabelle
Nullenverwirrungszonenzeitgeber-
tabelle
Geschwindigkeitscodegruppe zur
Konsolanzeigetabelle
ONES
(EINSEN) ONEPV ONESC OVLSC -
OVLRF -
Schieberregister für Einsendaten
vergangener Wert für Einsendaten Einsengeschwindigkeitscodegruppe Einsengeschwindigkeitscodegruppenfahrgeschwindigkeit Einsenreferenzfahrgeschwindigkeit
CDPGO - empfangene gute Codegruppe, Einsen TMAXO - Maximalzeit für Verwirrungszone,
Einsen
TIMEO - Einsenzeitgeber SCBIS - Einsengeschwindigkeitscodegruppen-
tabellenabweichung
ZEROS (NULLEN) ZROPV ZROSC ZVLSC -
ZVLRF -
Schieberegister für Nullendaten
vergangener Wert für Nullendaten Nullengeschwindigkeitscodegruppe
Nullengeschwindigkeitscodegruppenf ahrgeschwindigkeit.
Nullenreferenzfahrgeschwindigkeit
CDFGZ - empfangene gute Codegruppe, Nullen TMAXZ - Maximalzeit für Verwirrungszone, Nullen TIMEZ - Nullenzeitgeber
SCBIZ - Nullengeschwindigkeitscodegruppentabellenabweichung
909882/0964
znsns
VELSC VELPM VELPS VELRF VELAC
Geschwindigkeitsbefehlsfahrgeschwindigkeit PM-Fahrgeschwind i gkeit Programmstopfahrgeschwindigkeit Referenzfahrgeschwindigkeit Aktionsfahrgeschwindigkeit, geht zur Geschwindigkeitsaufrechterhaltung
PMNO - PM-Zahl
PMBIS - PM-Tabellenabweichung
ACCPM - PM-Langsambeschleunigung
PSIG - P-Signalanforderung
SPER - Geschwindigkeitsfehler, roh
OVER - Übergeschwindigkeit, roh
UNDER - Untergeschwindigkeit, roh
IN51 - "alle Türen geschlossen" - Eingabewort
IN72 - TACH-4A - Eingabewort
IN73 (Einsen + Nullen) - Dateneingabewort
OUT 61 OUT 6 4 OUT 70 OUT71
Freigabe-, BRK-, WDT- Ausgabewort Analogausgabewort
Geschwindigkeitsfehlerausgabewort Konsollampenausgabewort
AUSFÜHRLICHE BESCHREIBUNG DER GESCHWINDIGKEITS-DECODIERUNG UND DER FEHLERBERECHNUNG
Die Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungsprogrammroutinen eines ersten Programmierers sind in den Fig. 7, 8 und 9 gezeigt.
In Fig. 7 ist eine Nullendatendecodierung gezeigt, die mit der 18-Hz - Nullentaktsignalunterbrechung beginnt und diese Programmroutine eingibt; die CPU1 stoppt, was sie vorher getan hat, und führt die in Fig. 7 gezeigte Routine aus. Der
909882/0964
2S2618S
Schritt 700 wird gelesen und bewahrt die Daten, weil diese Daten verändert werden und deshalb gelesen und aufbewahrt werden sollten. Im Schritt 702 wird eine Überprüfung durchgeführt, um zu sehen, ob keine Wagenabschalteingangssignale vorhanden sind, so daß im Schritt 704 die Tabelle TBLOA, die in Fig. 15 gezeigt ist, ausgewählt wird, und, wenn Wagenabschalteingangssignale vorhanden sind, im Schritt 706 eine überprüfung vorgenommen wird, um zu sehen, ob es ein COC-86%-Signal ist, in welchem Fall im Schritt 708 die TABELLE TBLOB ausgewählt wird, und, wenn es keine Wagenabschalteingangssignale gibt, im Schritt 710 die TABELLE TBLOC für die tatsächliche Decodierung der Geschwindigkeitscodegruppen ausgewählt wird, wobei die Schritte 704, 708 und genau auf den ersten Wert in einer dieser Tabelle gerichtet sind. Im Schritt 712 wird das letzte Datenbit in ein Schieberegister.ZESRO geschoben und im Schritt 714 werden die vorher empfangenen Datenbits um eins verschoben. Es gibt zwei Schieberegister, bei denen eines hauptsächlich eine Verlängerung des anderen ist, so daß dieses den Betrieb so einstellt, daß nach Daten geschaut wird, die ein Bit alt sind, und daß nach den ersten sechs von den letzten sieben empfangenen Bits geschaut wird. Da der Beginn oder das Ende dieser sechs Datenbits nicht bekannt ist und da das erste Bit wahrscheinlich nicht das erste Bit einer Geschwindigkeitscodegruppe ist, werden in dem Schritt 716 diese sechs Codegruppenbits in ein Zwischenregister eingegeben, um sie herumdrehen und so in eine Reihe bringen zu können, daß das erste Bit das erste Bit der Geschwindigkeitscodegruppe und das letzte Bit das letzte Bit der Geschwindigkeitscodegruppe ist. Der Schritt 718 setzt einen Zählwert auf sechs, weil bis zu sechs Verschiebungen erforderlich sein können, um zu erreichen, daß die Daten in einer Reihe sind, und, wenn sie nicht innerhalb von sechs Verschiebungen richtig in einer Reihe sind, handelt es sich um keine gültige Geschwindigkeitscodegruppe. Im Schritt 720 werden die Bits in diesem Zwischenregister maskiert, um nach Forma tbits zu suchen, da wieder die richtigen Geschwindigkeitscodegruppen alle ein vorderes Bit haben, das eine Eins
909882/0964
ist, während das vorletzte Bit eine Null und das letzte Bit eine Eins ist, und, ungeachtet dessen, wie diese Codegruppen herumgedreht werden, gilt das nur, wenn die Codegruppe richtig in einer Reihe so angeordnet ist, wie es für eine kommafreie Codegruppe kennzeichnend ist. Oder, wenn ein Übergang von einer Codegruppe zu einer anderen Codegruppe gemacht wird, wird es, ungeachtet dessen, wo dieser übergang erfolgt, nur dann eine gültige Codegruppe sein, wenn sie dieses Format erfüllt. Im Schritt 722 wird geprüft, ob ein richtiges Format vorliegt. Wenn nicht, wird im Schritt 724 dieser Zählwert vermindert. Wenn dieser Zählwert im Schritt 726 null erreicht, bedeutet das, daß die Daten sechsmal herumgedreht wurden, ohne daß ein richtiges Format gefunden wurde. Das Programm geht deshalb zu der Marke MISSO und im Schritt 728 wird der decodierte Wert auf null gesetzt, weil es keine gültige Geschwindigkeitscodegruppe war, und im Schritt 730 wird diese Geschwindigkeit als die SPEDO genannte Variable für die Geschwindigkeit Null bewahrt, weil es sich um den Geschwindigkeitswert handelt, der aus den Nullendaten decodiert worden ist. Im Schritt 726 wird, wenn dieser Zählwert nicht null ist, eine Verschiebung im Schritt 732 gemacht, in welchem sie so herumgedreht wird, daß dasjenige Bit, welches das letzte Bit war, nun zu dem ersten Bit wird, das erste Bit zu dem zweiten Bit wird, usw. Der Schritt 720 maskiert wieder, um nach den Formatbits zu schauen, und im Schritt 722 wird nachgesehen, ob ein richtiges Format vorliegt, und, wenn das nicht der Fall ist, durchläuft das Programm wieder die Schleife bis zu sechsmal. Wenn in dem Schritt 722 ein richtiges Format festgestellt wird, geht das Programm zu der Marke GOTO und im Schritt 734 wird ein Zählwert auf sieben eingestellt, weil es, wenn ein richtiges Format gefunden worden ist, acht mögliche Kombinationen von Codegruppen gibt, für die das der Fall ist und von denen nur sieben gültige Geschwindigkeitscodegruppen sind. Es gibt sieben
909882/0964
Eintragungen in der in Fig. 15 gezeigten Tabelle und es soll diese Geschwindigkeitscodegruppe mit den Tabelleneintragungen verglichen werden. Der Zähler im Schritt 734 wird benutzt, um festzustellen, wann nach sämtlichen sieben Codegruppen geschaut worden ist. Die 6-bit-Geschwindigkeitscodegruppe, die nun in einer Linie aufgereiht ist, wird im Schritt 736 mit der ersten Eintragung in der Tabelle verglichen. In den Schritten 702 bis 710 wurde die geeignete Tabelle am Anfang dieser geeigneten Tabelle ausgewählt, so daß, wenn keine Übereinstimmung mit dieser Geschwindigkeitscodegruppe gefunden wird, im Schritt 738 der Zählwert vermindert wird.
Im Schritt 740 wird geprüft, ob der Zählwert null ist, und, wenn dem so ist, bedeutet das, daß alle sieben Eintragungen überprüft worden sind, ohne daß eine Übereinstimmung gefunden wurde, weshalb im Schritt 728 wieder die Geschwindigkeit auf null gesetzt wird, weil es sich nicht um eine gültige Codegruppe gehandelt hat. Wenn der Zählwert im Schritt 740 nicht Null ist, wird im Schritt 742 die nächste Eintragung in der Tabelle ausgewählt, die sich in Wirklichkeit zwei Stufen weiter unten in der Tabelle befindet, da die Tabellen mit der Geschwindigkeitscodegruppe, gefolgt von deren decodiertem Dezimalwert, an die nächste Geschwindigkeitscodegruppe und deren decodierter Dezimalwert, usw. aufgestellt werden. So erhöht der Schritt 742 tatsächlich den Tabellenzeiger um zwei und geht für einen weiteren Vergleich zu dem Schritt 736 zurück. Wenn keine Übereinstimmung gefunden wird, durchläuft das Programm wieder die Schleife. Wenn eine Übereinstimmung gefunden wird und eine gültige Geschwindigkeitscodegruppe nun in dem Schritt 736 erhalten wird, dann wird in dem Schritt 744 der Wert der Tabelle entnommen, bei welchem es sich um den decodierten Wert für diese Geschwindigkeitscodegruppe handelt. Das Programm geht zu dem Schritt 730 und bewahrt diesen Wert als Geschwindigkeit Null, um einen decodierten Wert für die Geschwindigkeitscodegruppe basierend auf den Nullendaten mit
909882/0964
_ 33 - 2926188
jedweder Wagenabschaltinformation, die vorhanden war, zu schaffen.
In Fig. 8 ist ein ähnliches Programmroutinenflußdiagramm zum Decodieren der Geschwindigkeitscodegruppe aus den Einsendaten gezeigt. Die 18 - Hz - Einsentaktsignalunterbrechung startet die Operation und alles ist genau gleich, mit der Ausnahme, daß nach dem Schritt 812 der zweite Schieberegisterschritt nicht vorhanden ist. Für die Einsendaten schaut das Programm nach den letzten empfangenen sechs Datenbits, bei denen es sich um die ersten sechs der letzten sechs handelt. Dieselbe Art von Decodierung wird in der beschriebenen Weise für die Nullendaten ausgeführt. Die Tabellenwerte in der Einsendecodierung stellen die echten Daten dar, d.h. eine Eins ist eine Eins und eine Null ist eine Null. In der Nullentabelle ist eine logische Null eine physikalische Eins, weil die Eingangsdaten für diese Operation das Komplement waren. Wenn die Programmoperation durchgeführt ist, ist der Einsengeschwindigkeitsfehler das Ergebnis der Decodierung der Einsendaten.
Die Programme von Fig. 7 und 8 führen die Geschwindigkeitsdecodierung in nichtvitaler Weise durch, und zwar in jedem der beiden Computer CPU1 und CPU2 doppelt, mit zwei unterschiedlichen Sätzen von Hardware für die beiden Computer, so daß tatsächlich die Decodierung viermal erfolgt. Die bekannte Praxis besteht darin, die Geschwindigkeit nur einmal zu decodieren, was aber mit einem vitalen Decodierer erfolgt, so daß entweder die richtige Geschwindigkeitscodegruppe ermittelt wird oder das Ergebnis Null ist.
Fig. 9 zeigt die Programmroutine zum Vergleichen der Istgeschwindigkeit mit der Sollgeschwindigkeit, um den Fahrzeuggeschwindigkeitsfehler zu ermitteln. Die Schritte 902, 904, 906 und 908 liefern aufeinanderfolgende Eingabeablesungen des Fahrzeugtachometeristgeschwindigkeitssignals, da eine Zeitspanne vorkommen kann, in der Daten auf den neuesten Stand
909882/0964
2326186
gebracht werden und sich daher ändern können, so daß, wenn die Daten genau zu dieser Änderungszeit abgelesen werden, sich fehlerhafte Daten ergeben können. Das könnte für alle acht Bits gelten. Zur Vermeidung dieses Problems werden die Geschwindigkeitsdaten zweimal abgelesen und verglichen, um festzustellen, ob sie gleich sind; sonst, wenn sie verschieden sind, wird eine weitere Ablesung sofort vorgenommen und es ist bekannt, daß ein weiterer Änderungsübergang innerhalb dieser Zeit nicht erfolgt ist.
Im Schritt 910 wird die Geschwindigkeitseingabe als eine mit ACTSP bezeichnete Variable für die Istgeschwindigkeit bewahrt. Das ist die Istzugfahrzeuggeschv/indigkeit in dem Computer. Der Schritt 912 vergleicht die Geschwindigkeit Eins und die Geschwindigkeit Null aus den beiden vorherigen unabhängigen Decodiereroperationen. Wenn sie gleich sind, wird im Schritt 914 eine Prüfung vorgenommen, um festzustellen, ob die Geschwindigkeit eins nicht Null ist. Wenn die Geschwindigkeit eins nicht null ist, zeigt das an, daß eins eine gültige Geschwindigkeitscodegruppe ist. In den Schritten 916 und 918 werden zwei Zeitgeber erhöht. Der Schritt 920 prüft, um zu sehen, ob der Zeitgeber 2 größer als 2 ist. Wenn der Zeitgeber 2 größer als 2 ist, bedeutet das eine gültige Decodierung einer Geschwindigkeit, die nicht null ist. Wenn der Zeitgeber 2 kleiner als 2 ist, dann ist es erwünscht, die mit SPEED bezeichnete Variable so zu lassen, wie sie vorher war, da die Operation in einer Übergangsperiode ist. Wenn andererseits festgestellt worden ist, daß mehr als zwei in einer Reihe sind, mit gültiger Decodierung mehr als zweimal in einer Reihe, dann wird im Schritt 922 der Zeitgeber 2 auf 4 begrenzt, um den Zeitgeber 2 innerhalb der Grenzen zu halten, da sonst der Zeitgeber 2, der jedesmal erhöht wird, wenn er nicht begrenzt wird, zum überlaufen kommt.
Der Schritt 924 vermindert den Zeitgeber 1, bei welchem es sich um den Verwirrungszonenzeitgeber handelt. Wenn eine gültige Decodierung erhalten worden ist, ist es nicht er-
909882/0964
_ 35_ .2826186"
wünscht, diesen Zeitgeber rückzusetzen, sondern statt dessen wird er, um ihn zurück auf Null zu bringen und so den Zeitgeber 1 gleich dem Zeitgeber 1 minus 2 zu machen, um 1 erhöht und dann um 2 verringert und der Gesamteffekt der Benutzung dieses Weges besteht darin, daß der Zeitgeber 1 um 1 niedriger ist, als er es zuletzt war. Der Schritt 926 prüft, um zu sehen, ob der Zeitgeber 1 versucht, unter null zu gehen,und, wenn das der Fall ist, wird er in dem Schritt 928 auf null gehalten, damit der Zeitgeber 1 innerhalb der Grenzen gehalten wird und es bei ihm nicht zum unterlaufen kommt. Zu dieser Zeit lag eine gültige Decodierung vor und ist zweimal oder mehr als zweimal in einer Reihe erfolgt, so daß in dem Schritt 930 SPEED, bei der es sich um die Variable handelt, die für die zulässige Maximalgeschwindigkeit benutzt wird, gleich SPD1 gesetzt wird, die selbstverständlich gleich SPEDO ist, da sonst das Programm über diesen Weg nicht durchgekommen wäre.
Wieder in den Schritten 912 und 914 geht das Programm, wenn die Geschwindigkeiten nicht gleich sind oder wenn sie nicht einander gleich und gleich null sind, zu dem Verwirrungszonenbereich, der mit DIFF bezeichnet ist (was für unterschiedlich oder Differenz steht), und im Schritt 932 wird der Zeitgeber 1, bei welchem es sich um den Verwirrungsζonenzeitgeber handelt, erhöht. Der Schritt 934 setzt den Zeitgeber 2 jedesmal dann auf null, wenn ein Fehlvergleich oder ein Nullergebnis erhalten wird. Der Zeitgeber 1 ist der Verwirrungszonenzeitgeber und der Zeitgeber 2 ist der gültige Zeitgeber. Der Schritt 936 stellt T1 auf 0,9 Sekunden ein. Im Schritt 938 wird geprüft, ob die letzte empfangene Geschwindigkeitscodegruppe höher als eine 30-km/h-Codegruppe war. Wenn sie höher war als eine 30-km/h-Codegruppe, dann setzt der Schritt 940 T1 auf 1,9 Sekunden. Wenn die Variable SPEED im Schritt 938 kleiner als 30 ist, dann wird T1 auf 0,9 Sekunden gelassen, so daß nun Tt die maximale Zeit für den Verwirrungszonenzeitgeber ist. Der Schritt 942 vergleicht
909882/0964
den Zeitgeber 1, der der Verwirrungszonenzeitgeber ist, mit T1 und, wenn er kleiner als T1 ist, ist die Verwirrungszonenzeit nicht abgelaufen und die Variable SPEED wird nicht geändert. Wenn der Zeitgeber 1 gleich der Maximalzeit T1 oder größer als diese ist, dann wird in dem Schritt 944 der Zeitgeber 1 auf 2,3 Sekunden eingestellt, um ihn auf einem bekannten Wert zu halten. Im Schritt 946 wird, wenn der Zeitgeber 1 größer als der maximale zugelassene Wert von T1 ist, SPEED gleich null gesetzt, wobei SPEED diejenige Variable ist, die das Ergebnis der vorgenommenen Decodierung ist. In dem Schritt 948 wird der Geschwindigkeitsfehler ermittelt, indem von der Variablen SPEED die Tachometerablesung ACTSP abgezogen wird. Im Schritt 950 wird geprüft, ob die Istgeschwindigkeit größer als die Sollgeschwindigkeit ist, um anzuzeigen, daß das Fahrzeug zu schnell fährt. Wenn das Fahrzeug zu schnell fährt, dann wird, statt Geschwindigkeit minus Istgeschwindigkeit zu benutzen, in dem Schritt 952 die Istgeschwindigkeit minus SPEED genommen. In den Schritten 948, 950 und 952 wird der Absolutwert der Differenz zwischen den beiden Geschwindigkeiten bestimmt, so daß das Programm immer mit einer positiven Zahl arbeitet. In dem Schritt 954 wird geprüft, ob die Größe der Geschwindigkeitsdifferenz kleiner als 5 km/h ist. Wenn das der Fall ist, dann wird in dem Schritt 956 die Verstärkung auf 4 Bits pro Δkm/h-Differenz eingestellt und der Schritt 958 gibt die Abweichung an. Wenn in dem Schritt die Geschwindigkeitsdiffrenz nicht kleiner als 5 km/h ist, dann wird in dem Schritt 960 geprüft, ob sie kleiner als 15 km/h ist. Wenn das der Fall ist, stellt der Schritt die Verstärkung auf 2 Bits pro km/h ein und temp 2 im Schritt 964 ist die gewünschte Abweichung. Die Abweichungen werden addiert, um eine kontinuierliche Funktion zu bilden. Wenn die Geschwindigkeitsdifferenz im Schritt 960 nicht kleiner als 15 km/h ist, setzt sie der Schritt 966 auf 1 Bit pro km/h und wieder ist temp 2 im Schritt 968 die Abweichung, mit der eine kontinuierliche Kurve erhalten wird. Im Schritt wird geprüft, ob das Fahrzeug zu schnell oder zu langsam fährt,
909882/0964
weil nun die Größe des Geschwindigkeitsfehlers bekannt ist, aber nicht das Vorzeichen dieses Geschwindigkeitsfehlers. Da das Programm mit Absolutwerten des Geschwindigkeitsfehlers gearbeitet hat, ist es nun erforderlich, zum Normalzustand zurückzukehren. Wenn das Fahrzeug zu schnell fährt, wird im Schritt 972 der Geschwindigkeitsfehler auf 138 plus 20 eingestellt, wobei 20 die zusätzliche Abweichung für die Übergeschwindigkeit ist, plus TEMP 2 plus TEMP 1. Das ergibt den Mittelpunkt der Kurve und bildet den Wert für den Mittelpunkt. Es ist erwünscht, daß der Geschwindigkeitszähler nicht überläuft und tatsächlich Sättigung bei diesem Geschwindigkeitsfehler wegen dieser Abweichung erreicht wird, die einen Überlauf der verfügbaren 8 Bits an binärer Information ergeben kann.
Der Schritt 974 prüft, ob ein überlauf vorhanden ist, und, wenn das der Fall ist, begrenzt der Schritt 976 den Geschwindigkeitsfehlerwert auf ein Maximum von 255. Im Schritt 970 ist die Istgeschwindigkeit, wenn sie kleiner als die Sollgeschwindigkeit ist, eine fJntergeschwindigkeit und der Schritt 978 stellt den Geschwindigkeitsfehler auf 138 minus TEMP 2 minus TEMP 1 ein, bei welchen es sich um die Werte für die andere Hälfte der Kurve handelt. Für den Fall, daß dieser Wert jemals unter null gehen sollte, ist ein Unterlauftest in dem Schritt 980 vorgesehen, um zu prüfen, ob er unter null zu gehen versucht, und, wenn das Ergebnis dieser Bestimmung unter null zu gehen versucht, wird in dem Schritt 982 der Geschwindigkeitsfehler auf null gehalten. Der Geschwindigkeitsfehler wird im Schritt 984 abgegeben und unmittelbar danach wird in dem Schritt 986 der Wachhundzeitgeber umgeschaltet und die Programmoperation ist ausgeführt.
Fig. 10 zeigt den vergrößerten Geschwindigkeitsfehler über der Istgeschwindigkeit gemäß der oben beschriebenen Operation der Geschwindigkeitsdecodier- und der Geschwindigkeitsfehlerbestimmungsprogrammroutinen, die in den Fig. 7, 8 und 9 gezeigt sind. Die geschaffenen Absätze, die eine Vergrößerung
909882/0964
des ermittelten Geschwindigkeitsfehlers ergeben, sind gezeigt. Durch sie wird ein Geschwindigkeitsfehler nahe einem Nullgeschwindigkeitsfehler mehr verstärkt als ein größerer Fehler, um eine bessere Auflösung zu gestatten, wenn der Geschwindigkeitsfehler kleiner ist. Die Geschwindigkeitsdekodier- und Geschwindigkeitsfehlerbestimmungsroutinen eines zweiten Programmierers sind in den Fig. 11, 12 und 13 gezeigt. In diesem Programm gibt es drei Routinen. Die erste ist die Nullendecodierung, das zweite Programm ist die Einsendecodierung und das dritte Programm ist die Geschwindigkeitsfehlerbestimmung. In dem in Fig. 11 gezeigten ersten Programm wird der Eingangsschritt 1100 18-mal pro Sekunde eingegeben, und zwar basierend auf dem Nullendatentaktsignal, das in Fig. 3 gezeigt ist. Im Schritt 1102 wird die Information in allen arbeitenden Registern gespeichert und, wenn die Routine verlassen wird, werden diese aufgenommen und zurückgestellt, bevor eine Verzweigung zu dem Hauptgeschwindigkeitssteuerprogramm gemacht wird. Der Schritt 1104 gibt einfach das neue Datenbit ein und speichert es. Der Schritt 1106 isoliert das Nullenbit, um die Daten herauszumaskieren und festzustellen, ob sie aus einer Eins oder einer Null bestanden. Der Schritt 1108 verschiebt das Bit in das Nullenschieberregister, welches ein 6-bit-Schieberegister ist. Im Schritt 1100 wird der letzte Wert bei dem vergangenen Wert gespeichert, so daß jedesmal dann, wenn ein neues Bit empfangen wird, es als eine neue 6-bit-Codegruppe gespeichert wird und die letzte 6-bit-Codegruppe in die Tabelle für den vergangenen Wert bewegt wird. Der Schritt 1112 vergleicht die vorhandenen 6-bit-Daten mit den vergangenen 6-bit-Daten und prüft, ob sie gleich sind. Wenn sie es nicht sind, geht die Operation zu dem Verwirrungszonenbereich, da, wenn die beiden aufeinanderfolgenden 6-bit-Codegruppen verschieden sind, das entweder ein Rauschproblem oder eine Übergangssignalblockzone anzeigt und es sich nicht um eine gute Eingabegeschwindigkeit handelt. Es gibt ein mit CDFGO bezeichnetes Kennzeichen (Flag). In dem Schritt 1114 wird es auf null gesetzt, da eine Übereinstimmung nicht aufgetreten ist, und das Programm geht zu der Verwirrungszone. In der Verwirrungszone
909882/0964
wird im Schritt 1116 der VerwirrungsZonenzeitgeber vermindert. Der Schritt 1118 fragt, ob der Zeitgeber abgelaufen ist. Wenn die Antwort nein ist, werden in dem Schritt 1120 die Register zurückgestellt und es wird eine Verzweigung aus der Routine gemacht. Wenn der Zeitgeber im Schritt 1118 nicht abgelaufen ist, zeigt das an, daß die Operation noch in der legalen Übergangsperiode von einer Geschwindigkeitscodegruppe zur anderen ist, wobei diese Zeit aus der Tabelle 1414 in Fig. 14 erhalten wird, bei welcher es sich um die Verwirrungszonenzeitgebertabelle handelt. Wenn beispielsweise das Fahrzeug mit 100 km/h fährt, sind ihm 1,8 Sekunden gestattet, um den Übergang von einer Geschwindigkeitscodegruppengrenze zur nächsten zu machen. Das Programm nimmt die 1,8 und multipliziert sie mit 18 und das ist die Zeit, die in der Tabelle 1414 gespeichert ist. Wenn der Zeitgeber nicht abgelaufen ist, wird deshalb der Ausgangsgeschwindigkeitsbefehl nicht geändert und das Programm stellt in dem Schritt 1120 die Register zurück und gibt ab. Die andere Situation in dem Schritt 1118 liegt vor, wenn der Zeitgeber abgelaufen ist oder auf null heruntergezählt hat. Wenn er abgelaufen ist, wird der Zeitgeber im Schritt 1122 auf eins eingestellt und das ist genau so das nächste Mal in dem Programmund beim Subtrahieren von eins wird die Antwort noch null sein, um eine Rückwärtszählung auf null zu begrenzen. Der Schritt 1124 stellt die Nullenfahrgeschwindigkeit auf eine absolute Nullgeschwindigkeit ein. Aus dieser Geschwindigkeitsdecodierroutine wird die Nullenreferenzfahrgeschwindigkeit auf null eingestellt und kehrt zurück. Zurückgehend zu dem Schritt 1112 wird dieser Vergleich mit der vorhandenen 6-bit-Codegruppe gegenüber der 1/18 Sekunde vorher empfangenen 6-bit-Codegruppe ausgeführt und sie sind ähnlich, so daß nun im Schritt 1126 geprüft wird, ob das Kennzeichen CDFGZ einer guten Codegruppe gleich 1 ist, wobei die Zahl dann irgendeine der Zahlen 1, 2, 3, 4, 5 oder 6 sein kann und die Anzahl von bitweisen 6-bit-Vergleichen angibt, die erforderlich sind, bevor eine anerkannte Geschwindigkeitscodegruppe zugelassen wird.
§09882/0964
Das erste Mal in dem Programm wird dieses Kennzeichen null sein, da es noch nicht eingestellt worden ist. Deshalb ist für dieses erste Mal in diesem Fall das Kennzeichen nicht 1 und das Programm geht zu dem Schritt 1128, um das Kennzeichen zu erhöhen, und an diesem Punkt ist das Kennzeichen 1. Das Programm geht dann zu dem Schritt 1116, was in dem Verwirrungszonenzeitgeber erfolgt, und durchläuft wieder den Rückwärtszählprozeß. Bei dem nächsten Zyklus in dem Programm wird in dem Schritt 1112 der Vergleich JA lauten und im Schritt 1126 wird das Kennzeichen einer guten Codegruppe geprüft, ob es gleich 1 ist. Dieses Mal ist es gleich 1. Der Schritt 1126 bildet in Wirklichkeit einen Vergleicher veränderlicher Länge, da ein Vergleich nicht genug zu sein braucht, so daß die Zahl 1 im Schritt 1126 jede gewünschte Anzahl von Vergleichen sein kann, die erwünscht sind, um die Anzahl von aufeinander folgenden 6-bit-Vergleichen anzugeben. Wenn schließlich die Anzahl von gewünschten Vergleichen erreicht ist, geht das Programm zu dem Schritt 1130, um anzuzeigen, daß eine gute Geschwindigkeitscodegruppe aus dem Decodierer empfangen worden ist.
Das Programm beginnt nun, die Geschwindigkeitscodegruppentabelle 1404 nach einer exakten Übereinstimmung abzusuchen. Die Tabelle ist acht Plätze lang und muß von oben nach unten achtmal verglichen werden, so daß es für die 6-bit-Codegruppe 48 mögliche Kombinationen in dieser Tabelle für jede Codegruppe gibt. Der Block 1130 stellt deshalb einen Zähler auf 6 ein, um die Prüfung der rotierenden 6-bit-Codegruppe festzulegen. Der Schritt 1132 stellt den Schleifenzähler auf acht ein, da das Programm die Tabelle 1404 durchläuft, die acht Wörter lang ist. Der Schritt 1134 stellt die Abweichung auf null ein, was einfach ein Zähler ist, der die Relativposition der Geschwindigkeitscodegruppe innerhalb der Tabelle festlegt. Der Schritt 1136 füllt die Nullengeschwindigkeitscodegruppe sub1 auf, welches die erste ist. Der Schritt 1138 prüft, ob sie mit den 6-bits, die gerade empfangen worden sind, übereinstimmt, um festzustellen, ob es eine
909882/0964
ORIGINAL I
gute Codegruppe ist. Wenn die Antwort NEIN ist, wird im Schritt 1140 eine Verschiebung dieser 6-bit-Codegruppe nach links vorgenommen. Im Schritt 1142 wird der Verschiebungszähler des Schrittes 1130 vermindert und im Schritt 1144 wird er geprüft, um festzustellen, ob der Zähler gleich O ist. Wenn er gleich O ist, bedeutet das, daß die sechs Möglichkeiten für eine legale Geschwindigkeitscodegruppe geprüft worden sind. Die Antwort wird für das erste Mal in dem Programm NEIN lauten, weil der Zähler auf sechs stand, da er im Schritt 1130 auf sechs eingestellt wurde. Das Programm geht zurück zu dem Schritt 1138 und prüft wieder die Codegruppe, verschiebt sie im Schritt 1140 nach links, vermindert den Zählwert im Schritt 1142 und, nach sechs Durchläufen durch diese Routine, wird in dem Schritt 1144 der Zählwert gleich O sein, was angibt, daß das erste Wort in der Tabelle 1404 nicht richtig war, so daß das zweite geprüft werden muß. Im Schritt 1146 wird der 6-bit-Verschiebungszähler auf 6 rückgesetzt und im Schritt 1148 wird von dem Schleifenzähler eins subtrahiert, der die Operation abwärts in das zweite Wort in der Tabelle 1404 bewegt. Im Schritt 1150 wird eins zu dem Abweichungszähler addiert, was wieder angibt, daß die Operation in dem zweiten Wort ist. Dann wird im Schritt 1152 eine überprüfung der Schleife vorgenommen, um festzustellen, ob die Operation beendet ist und ob sie O ist; wieder wird sie beim ersten Mal in dem Programm nicht gleich O sein. Zurückgehend zu dem Schritt 1136 wird eine Prüfung in dem Schritt 1138 vorgenommen, um festzustellen, ob das zweite Wort gleich der Codegruppe ist. Das Programm geht durch eine dieser beiden inneren Schleifen weiter, bis eines von zwei Dingen passiert. Das erste wird eine Verzweigung von dem Schritt 1152 sein, die besagt, daß das Programm die Codegruppe nicht gefunden hat, die Zahl nach zwei Vergleichen übereinstimmte, aber die Zahl nicht in der Geschwindigkeitscodegruppentabelle 1404 war, und das Programm geht zu dem Schritt 1114, um das Codegruppenkennzeichen auf O einzustellen, da es sich nicht um eine gute Codegruppe gehandelt hat, und das Programm durchläuft die Verwirrungslogik. Wenn der Ausgang im
909882/0964
Schritt 1138 JA ist, bedeutet das, daß eine gute Geschwindigkeitscodegruppe in der Tabelle gefunden wurde und daß die im Schritt 1136 eingestellte Abweichung ihre Relativposition ist. Das Programm geht deshalb vom Schritt 1138 zum Schritt 1154, welcher ein Zeitgeber ist. Jedesmal dann, wenn eine gute Codegruppe gefunden wird, zählt der Zeitgeber vorwärts. Im Schritt 1156 wird eine Überprüfung des Zeitgebers gegenüber dem Maximalzeitgeber vorgenommen, wobei der Maximalzeitgeber derjenige ist, der aus der Tabelle 1414 ausgewählt wurde. Diese Prüfung dient dem Zweck, festzustellen, ob die Zeit größer als das Maximum ist oder ob sie kleiner als das Maximum ist, da eine Änderung der Geschwindigkeitscodegruppen erfolgt sein kann, derart, daß vorher das Fahrzeug mit 100 km/h fuhr und der maximale Zeitgeber in diesem Fall 34 wäre, aber die Geschwindigkeitscodegruppe geändert wurde. Der Maximalzeitgeber wird dann auf 16 fallen, und das Programm weiß nicht, daß ein Geschwindigkeitscodegruppenübergang auf einmal erfolgte, weshalb die Schritte 1154, 1156, 1158 und 1160 den Zeitgeber zu dem Maximalzeitgeber hin zählen, wobei in diesen vier Schritten der Zeitgeber vorwärts oder rückwärts gezählt wird, je nachdem, wo er nun ist, und bis er den Maximalzeitgeber erreicht. Im Schritt 1162 wird die Abweichung, die in dieser vorherigen Suchschleife erhalten wurde, zur zukünftigen Bezugnahme gespeichert. Der Schritt 1164 speichert die Nullgeschwindigkeitscodegruppe und das neue Zeitmaximum; diese Operation geht in die korrekte Tabelle unter Verwendung der Abweichung im Schritt 1162, sucht die richtige Zahl heraus und speichert sie ab. Im Schritt 1166 erfolgt das Gleiche, um die' Geschwindigkeitscodegruppenfahrgeschwindiqkeit zu speichern. Der Schritt 1168 speichert die Zahl in der Nullenreferenzfahrgeschwindigkeit, wobei diese Referenzfahrgeschwindigkeit gleich der Nullen- · geschwindigkeitscodegruppenfahrgeschwindigkeit ist. Im Schritt 1170 wird eine Überprüfung gegenüber dem Wagenabschalt-Schalter-71% - Signal durchgeführt, um festzustellen, ob dieses nach
909882/0964
ORIGINAL INSPECTED
2926188
unten modifiziert werden muß. Wenn die Antwort NEIN lautet, geht das Programm zu dem Schritt 1172. Wenn die Antwort JA lautet, war der 71%-Schalter eingeschaltet und das Programm geht im Schritt 1174 in dieselbe Relativposition in der Wagenabschalt-1-Fahrgeschwindigkeitstabelle, um diese Fahrgeschwindigkeit zu erhalten, und prüft sie gegenüber der Referenzfahrgeschwindigkeit im Schritt 1176. Wenn die neue Fahrgeschwindigkeit niedriger als die Referenzfahrgeschwindigkeit ist, geht das Programm zu dem Schritt 1178 und stellt die Referenzfahrgeschwindigkeit so ein, daß sie gleich der kleineren der beiden ist. Dasselbe erfolgt in den Schritten 1172, 1180, 1182 und 1184 für einen Wagenabschalt-2-Schalter. Mit anderen Worten, die Schalter 1170, 1174, 1176 und 1178 prüfen den Wagenabschalt-Schalter und stellen die Referenzfahrgeschwindigkeit auf den niedrigsten Wert ein, den er vermutlich hat, und dasselbe erfolgt dann in den Schritten 1172, 1180, 1182 und 1184 für den anderen Schalter. Zu dieser Zeit ist der legale Geschwindigkeitsbefehl für die Nullendecodierroutine erzielt. Im Schritt 1120 werden die Register zurückgestellt und verlassen.
Die nächste Programmroutine, die in Fig. 12 gezeigt ist, ist die Einsendecodierroutine, die im wesentlichen die gleiche wie in dem in Fig. 11 gezeigten Programm ist, bis zu dem Schritt 1253 und dem Schritt 1255, die die Geschwindigkeitsmesseranzeige steuern. Im Schritt 1255 geht das Programm in die Geschwindigkeitstabelle 1404 und empfängt die korrekte Geschwindigkeit, die an das Operatorkonsol abgegeben wird. Die rechtmäßige Geschwindigkeitscodegruppe kommt als ein Ausgangssignal aus dem Schritt 1255 zu der Anzeige. Der Schritt 1257 prüft, ob die Einsengeschwindigkeitscodegruppe, welches die Geschwindigkeitscodegruppe nach dem Absuchen der Tabelle und dem Auffinden einer rechtmäßigen Einsengeschwindigkeitscodegruppe ist, gleich der Nullengeschwindigkeitscodegruppe ist, die in dem Programm ermittelt wurde, das in Fig. 11 gezeigt ist. Das ist die erste Stelle, an der ein Vergleich zwischen den Ergebnissen dieser beiden Programmroutinen vorgenommen wird, und, wenn diese beiden Geschwindigkeitscodegrup-
009882/0964
" 44 " 2926188
pen nicht übereinstimmen, geht das Programm im Schritt 1216 zu der Verwirrungszone, um den Zeitgeber zurückzuzählen, und durchläuft die oben beschriebene Operation. Wenn die beiden Geschwindigkeitscodegruppen übereinstimmen, wird im Schritt 1259 geprüft, ob die Abweichung gleich 7 ist. Der Grund dafür ist, daß, wenn die Abweichung gleich 7 ist, die Geschwindigkeitscodegruppe null ist und es sich um eine Spezialgeschwindigkeitscodegruppe handelt, so daß, wenn die Antwort JA lautet, das Programm im Schritt 1216 zu dem Verwirrungszonenzeitgeber geht, wie es bei jedem anderen Fehlvergleich der Fall ist. Die Abweichung null ist die erste und es gibt 8 in der Tabelle, so daß der Schritt 1259 lediglich eine Überprüfung ist, um festzustellen, ob die Geschwindigkeitscodegruppe gut war und ob sie null war. Im Schritt 1261 sind mehrere Tests bestanden worden und die Einsengeschwindigkeitscodegruppe ist mit der Nullengeschwindigkeitscodegruppe identisch und sie waren kein Nullgeschwindigkeitsbefehl, so daß im Schritt 1261 der Maximalzeitgeber TMAXO gespeichert wird und die Einsengeschwindigkeitscodegruppenfahrgeschwindigkeit, die in der Relativposition der Tabelle 1403 gefunden wurde; diese Geschwindigkeitscodegruppenfahrgeschwindigkeit wird in der Einsenreferenzfahrgeschwindigkeit gespeichert, die gerade eine Arbeitsfahrgeschwindigkeit ist. Das Programm tritt nun in die gleiche Prüfung für die Schritte 1270, 1274, 1276 und 1278 ein, die in den Schritten 1170, 1174, 1176 und 1178 in der anderen Routine gemacht wurde. Die Schritte 1272, 1280, 1282 und 1284 sind Überprüfungen gegenüber dem Wagenabschalt-2-Schalter und die gleichen Überprüfungen wie in den Schritten 1172, 1180, 1182 und 1184 der anderen Programmroutine. Im Schritt 1285 wird eine Prüfung vorgenommen, um sicherzustellen, daß die Einsenreferenzfahrgeschwindigkeit, die das Minimum der Befehlsfahrgeschwindigkeit mit Wagenabschaltung-1 und 2 ist, gegenüber der Nullenreferenzgeschwindigkeit, und, wenn die Antwort besagt, daß sie verschieden sind, geht das Programm im Schritt 1216 zu der Verwirrungszone. Wenn die beiden Geschwindigkeitsreferenzfahrgeschwindigkeiten gleich sind, geht das Programm zu dem Schritt 1287, der zu der SPEED-Tabelle geht
909882/0964
und das Anzeigegeschwindigkeitsmuster ergibt. Der Schritt 1289 sendet es zu der Anzeige. Die Schritte 1291, 1293, 1295 und 12 97 bedeuten die Rückwärtszählung des Einsenzeitgebers, um vorwärts oder rückwärts zu zählen, genau wie es in den Schritten 1154, 1156, 1158 und 1160 bei dem Nullendecodierprogramm stattgefunden hat. Im Schritt 1299 ruft das Programm das Geschwindigkeitsfehlerbestimmungsprogramm auf. Das dritte der Programme ist die Geschwindigkeitsfehlerbestimmungsroutine, die den Geschwindigkeitsfehler bestimmt, indem sie die Istfahrgeschwindigkeit aus dem Tachometer gegenüber der Referenzfahrgeschwindigkeit prüft. Sie nimmt den ermittelten Geschwindigkeitsfehler und paßt ihn in die Kurve ein, die in Fig. 10 gezeigt ist, um den Wert von kleinen Zahlen zu verstärken. Die Kurve, die in Fig. 10 gezeigt ist, enthält Absätze, wie um die Nullistgeschwindigkeit, wo der Geschwindigkeitsfehler mit 2 multipliziert wird. Ein weiterer Abschnitt ist in einem 1:1-Verhältnis linear und der Geschwindigkeitsfehler wird, wenn er größer wird, durch 2 dividiert, um ihn kleiner zu machen, wobei diese Absätze vorgesehen sind, damit sich ein schnelleres Ansprechen ergibt, so daß die Kurve flexibel ist und Zahlen umfaßt, die nach Belieben geändert werden können.
Diese Programmroutine SERRT, die in Fig. 13 gezeigt ist, wird aus der Einsengeschwindigkeitsdecodierroutine eingegeben, die in Fig. 12 gezeigt ist. Die Schritte 1302, 1304, 1306 und 1308 lesen die Tachometereingabe ab und gewährleisten eine rechtmäßige Ablesung, indem sie die Ablesung zweimal vornehmen und sie vergleichen, um festzustellen, ob die Zahlen gleich sind, und, wenn sie es nicht sind, werden sie erneut abgelesen, um sicherzustellen, daß im Schritt 1310 eine rechtmäßige Tachometerablesung durchgeführt und im Arbeitsspeicher abgespeichert wird. Der Schritt 1312 bestimmt den Geschwindigkeitsfehler, bei welchem es sich um die Istfahrgeschwindigkeit minus der Sol !fahrgeschwindigkeit handelt. Im Schritt 1314 wird diese Differenz in einem Arbeitsspeicher gespeichert. Der besondere Computer, der hier benutzt wird, arbeitet nicht mit vorzeichenbehafteter Arithmetik, so daß negative Zahlen und
909882/0964
2326186
positive Zahlen etwas unterschiedlich verarbeitet werden. So wird im Schritt 1316 geprüft, ob der Geschwindigkeitsfehler kleiner als null ist. Wenn er es ist, liegen Untergeschwindigkeitszahlen vor, und, wenn er nicht kleiner als null ist, liegen Übergeschwindigkeitszahlen vor. Die in Fig. 10 gezeigte Kurve ist symmetrisch, mit einem Absatz zwischen der Untergeschwindigkeit und der Übergeschwindigkeit. So sei als Beispiel angenommen, daß im Schritt 1316 die Zahl nicht kleiner als null ist. Das Programm geht dann zu dem Schritt 1318, der prüft, ob sie gleich 0 ist. Für den besonderen Fall sei angenommen, daß sie es nicht ist, so daß im Schritt 1320 die Bestimmung einer Übergeschwindigkeit erfolgt. Ist der Fehler größer als 15 und, wenn er es ist, liegt er in dem jenigen Teil der Kurve, wo der Fehler durch 2 geteilt wird. Wenn im Schritt 1320 der Fehler nicht größer als 15 ist, dann wird im Schritt 1322 eine Prüfung vorgenommen, um festzustellen, ob der Fehler größer als 5 ist. Wenn die Antwort JA lautet, besagt das, daß der Geschwindigkeitsfehler kleiner als 5 ist oder daß er 5 beträgt oder kleiner ist, so daß im Schritt 1324 der Geschwindigkeitsfehler mit 2 multipliziert wird und im Schritt 1326 eine Übergeschwindigkeitsverschiebung von 20 hinzugefügt wird, um ein schnelles Ansprechen zu erzielen. Der Schritt 1328 addiert den Wert 138, welches der Mittelpunkt der Tabelle ist. Die Tabelle geht von O bis zu 255, so daß durch das Addieren der Mittelpunkt über die Mitte der Kurve in den Übergeschwindigkeitsbereich bewegt wird. Der Schritt 1330 ist eine Überprüfung, um festzustellen, ob ein Überlauf aufgetreten ist. Wenn ein Überlauf vorliegt, setzt ihn der Schritt 1332 gleich dem Maximalwert. Im Schritt 1334 ist die nun ermittelte Zahl der eingestellte Geschwindigkeitsfehler, der für den vergrößerten Geschwindigkeitsfehler abgerufen wird. Der Schritt 1135 prüft, um festzustellen, ob der eingestellte Geschwindigkeitsfehler innerhalb einer gewissen Toleranz des analogen Geschwindigkeitsfehlers aus der CPU1 liegt. Wenn der Abgleichfehler zu groß ist, setzt das Programm ein Fehlerkennzeichen im Schritt 1137 und kehrt dann
09882/0964
zum Schritt 1336 zurück, um den eingestellten Geschwindigkeitsfehler abzugeben. Wenn die Fehler innerhalb der Abgleichgrenze liegen, geht das Programm von dem Schritt 1135 geradewegs zu dem Schritt 1136. Der Schritt 1336 gibt den eingestellten oder vergrößerten Geschwindigkeitsfehler ab. Der Schritt 1338 schaltet den Wach- und Zeitgeberschalter um und der Schritt 1340 ist der Ausgabebefehl. Im Schritt 1338 ist die Umschaltung ein Ausgangsbit, das den Zustand jedesmal dann ändert, wenn es durch diese Programmroutine geht, und sie erzeugt eine 9-Hz-Rechteckschwingung, die das dynamische Signal ist, welches die Tatsache angibt, daß diese Routine ausgeführt worden ist. Dieses Ausgangsbit ist so nahe wie möglich bei dem Schritt 1336 angeordnet, welcher die Geschwindigkeitsfehlerausgabe ist, so daß die Wahrscheinlichkeit, den Schritt 1336 und nicht den Schritt 1338 zu durchlaufen, oder umgekehrt, sich null nähert, was der Grund dafür ist, daß sich der schritt 1338 an dieser bestimmten Stelle befindet. Ein Ausgang dieser Routine ist der Wachhundzeitgeber, das dynamische Signal, während das andere Ausgangssignal der eingestellte Geschwindigkeitsfehler ist, der im Schritt 1336 vorliegt.
Zurückgehend zu dem Schritt 1320 wird der Geschwindigkeitsfehler, wenn er größer als 15 war, im Schritt 1342 durch dividiert und ein Absatz wird im Schritt 1344 und im Schritt 1346 addiert und dann läuft derselbe Prozeß wieder ab, beginnend mit dem Schritt 1326. Zurück zu dem Schritt 1322 liegt der Geschwindigkeitsfehler, wenn die Antwort JA lautet, zwischen 5 und 15 und in diesem Zeitpunkt ist er linear, so daß keine Notwendigkeit besteht, ihn zu dividieren und das Programm durchläuft die Schritte 1348, 1346, 1326, in denen die richtigen Inkremente addiert werden, um ihn an die Kurve anzupassen. Zusammenfassend ist festzustellen, daß dieser Abschnitt des Programms der Übergeschwindigkeit gewidmet ist. Er bestimmt, in welchem Abschnitt der Kurve der Geschwindigkeitsfehler vorliegt, addiert die richtigen Konstanten zu ihm, bestimmt den Geschwindigkeitsfehler, gibt ihn
909882/0964
ab und schaltet den Zeitgeber um. Wenn im Schritt 1318 der Geschwindigkeitsfehler null ist, wird im Schritt 1328 der Mittelpunkt addiert. Wenn im Schritt 1316 der Geschwindigkeitsfehler Untergeschwindigkeit bedeutet, wird im Schritt 1350 eine Bestimmung des Fehlers in der entgegengesetzten Richtung begonnen. Für den Übergeschwindigkeitsfall war der Fehler Istgeschwindigkeit minus Sollgeschwindigkeit, und für den Untergeschwindigkeitsfall lautet im Schritt 1350 die Beziehung Sollgeschwindigkeit minus Istgeschwindigkeit, damit das Vorzeichen geändert wird. Der Schritt 1352 speichert es einfach ab. Der Schritt 1354 prüft, ob der Geschwindigkeitsfehler größer als 5 ist und, wenn die Antwort JA lautet, multipliziert der Schritt 1356 ihn mit Im Schritt 1358 wird der Mittelpunkt geladen, so daß alle diese Konstanten von dem Mittelpunkt abgezogen werden, um den Geschwindigkeitsfehler zu bestimmen. Im Schritt 1360 wird die Geschwindigkeit mit 2 multipliziert und wird von dem Mittelpunkt subtrahiert. Die Schritte 1362 und 1364 prüfen auf Unterlauf und, wenn er unter null ist, wird er auf null eingestellt und durchläuft dann die vorherigen Schritte 1334 bis 1340. Zurück im Schritt 154 prüft der Schritt 1366, wenn der Geschwindigkeitsfehler nicht größer als 5 war, ob er größer als 15 war, und, wenn die Antwort JA lautet, ist das der lineare Teil und die Differenz wird im Schritt 1368 gleich diesem einen Wert gesetzt, der mit TEMP bezeichnet ist, und der Mittelpunkt minus 10 wird im Schritt 1370 geladen. Der Mittelpunkt ist 138 und 10 ist der Absatz. Wenn im Schritt 1366 der Geschwindigkeitsfehler nicht größer als 15 war, dividiert der Schritt 1372 den Fehler durch 2 und der Schritt 1374 nimmt den Mittelpunkt und enthält wieder den Absatz. Zusammenfassend ist festzustellen, daß die Schritte 1350 bis 1364 den Geschwindigkeitsfehler feststellen, ihn von dem Mittelpunkt subtrahieren, wobei er vergrößert wird, indem er entweder mit 2 multipliziert oder durch 2 dividiert wird, ihn auf null begrenzen und dann den eingestellten Geschwindigkeitsfehler abgeben.
909882/0964
In Fig. 14 sind zwei Sätze von Tabellen angegeben. Die linken Tabellen 1400 gehören zu dem Einsendatensignal, während die rechten Tabellen 1402 zu dem Nullendatensignal gehören. Diese Tabellen werden in einem ROM Festwertspeicher für jede der Decodierroutinen in der CPU2 gespeichert und sind völlig unabhängig voneinander. Die CPU2 hat ein erstes Programm/ das einen Satz benutzt, und ein zweites Programm, das den anderen Satz benutzt. Es gibt eine weitere Tabelle 1404, die mit GESCHWINDIGKEIT (SPEED) bezeichnet ist und Geschwindigkeitscodegruppeninformationen enthält, die zum Operatorkonsol auf dem Zug gehen, um zu zeigen, wie schnell er fährt. In Wirklichkeit ist das mehr oder weniger eine Geschwindigkeitsmesserfunktion, um die schnellste Geschwindigkeit anzuzeigen, die das Zugfahrzeug fahren darf. Die erste Tabelle 1406 ist die Geschwindigkeitscodegruppentabelle. Sie enthält sechs Bits für jede der legalen Geschwindigkeiten, wobei die rechten beiden Spalten Nullen sind. Die Steueroperation besteht darin, eine Geschwindigkeitscodegruppe aus dem Geschwindigkeitsdecodiermodul 410, der in Fig. 4 gezeigt ist, hereinzubekommen und mit einer dieser 6-bit-Codegruppen zu vergleichen. Die zweite Tabelle 1408 ist die Geschwindigkeitscodegruppenfahrgeschwindigkeitstabelle und die Relativpositionen in dieser Tabelle gegenüber der oberen ist die Geschwindigkeit, mit der sich das Fahrzeug bewegt. Zum Beispiel darf bei einer 100-km/h-Geschwindigkeitscodegruppe, die die erste Zeile aus Tabelle 1406 in der nächsten Tabelle 1408 wäref das Fahrzeug 100 km/h fahren, mit einem derartigen Maßstabsfaktor, daß die Zahl in der Tabelle 1408 dann 200 lautet. Jede Fahrgeschwindigkeit in dieser besonderen Tabelle 1408 wird aus Maßstabsgründen mit 2 multipliziert. Zum Erzielen der erforderlichen Geschwindigkeitssteuergenauigkeit werden die Geschwindigkeitsbeziehungen in Tab. 1406 mit 2 multipliziert, so daß die erzielbare Genauigkeit gegenüber dem Wert, den sie vorher hatte, verdoppelt wird. Das Mikroprozessorgeschwindigkeitssteuersystem gestattet diese variable Maßstabsfestlegung zur Erzielung der gewünschten Steuergenauigkeit. Als weiteres Beispiel könnte eine größere Genauigkeit erforderlich
909882/0964
sein, wenn sich das Fahrzeug mit 10 km/h bewegt, statt wenn es sich mit 100 km/h bewegt. Innerhalb der Tabelle 1406 kann der Maßstabsfaktor geändert werden. Die dritte Tabelle 1410 ist die Wagenabschalt-1-Tabelle, die auf 71% eingestellt ist. Die vierte Tabelle 1412 ist die Wagenabschalt-2-Tabelle, die auf 86% eingestellt ist. Die untere Tabelle 1414 ist eine Verwirrungszonenzeitgebertabelle, die das Ausmaß an Zeit zeigt, das gestattet wird, um von einer Gleisschaltung zur nächsten zu fahren, wenn eine verwirrende Eingangsgeschwindigkeitscodegruppeninformation empfangen wird. Diese Tabellen und die zugehörigen Programme arbeiten mit einer Geschwindigkeit von 18-mal pro Sekunde, so daß die Anzahl der Zählwerte in der Tabelle 1414 dividiert durch 18 die Zeitverzögerung in Sekunden ist, die vorgesehen ist, bevor ein Ansprechen auf eine verwirrende Eingangsgeschwindigkeitscodegruppeninformation erfolgt.
In Fig. 15 sind zwei Sätze von Tabellen angegeben, die in Verbindung mit den in den Fig. 7, 8 und 9 gezeigten Programmen benutzt werden. Der linke Satz von Tabellen 1500 gehört zu dem Einsendatensignal, während der rechte Satz von Tabellen 1502 zu dem Nullendatensignal gehört. Diese Tabellen werden in einem ROM für die CPU1 gespeichert, die ein erstes Programm hat, welches einen Satz benutzt, und ein zweites, welches den anderen Satz benutzt. Die erste Tabelle 1504 in dem Satz 1500 ist die Geschwindigkeitscodegruppentabelle. Die zweite Tabelle 1506 ist die 86%-Wagenabschaltgeschwindigkeitstabelle, während die dritte Tabelle 1508 die 71%-Wagenabschaltgeschwindigkeitstabelle ist.
Der Geschwindigkeitscodegruppenempfanger in dem Block 408 von Fig. 4 nimmt die kommafreie Geschwindigkeitscodegruppeninformation in Form von FSK-Geschwindigkeitscodegruppen von den laufenden Schienen ab und wandelt die Geschwindigkeitscodegruppe in Einsen- und Nullendaten und in ein Taktsignal um. Tatsächlich gibt es zwei Datensignale und zwei Taktsignale.
909882/0 964
und zwar für Sicherheitszwecke eines redundanten Empfangs, und eines von ihnen wird für Einsendaten und das andere für die Nullendaten sein. Dann nimmt das Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerprogramm 415 diese Daten auf, die es in serieller Form mit dem Taktsignal empfängt, und wandelt diese seriellen Daten zuerst in ein paralleles 6-bit-Datenwort um und nimmt dann die Umwandlung dieser 6-bit-Informationscodegruppe in eine 8-bit-Codegruppe vor, die zu der sicheren und maximalen decodierten Geschwindigkeit proportional ist, die das Zugfahrzeug fahren darf. Diese decodierte Geschwindigkeit ist die Geschwindigkeit, die das Fahrzeug nicht überschreiten darf, und immer dann, wenn es diese Geschwindigkeit überschreitet, bewegt es sich im Obergeschwindigkeitsbereich. Normalerweise beschleunigt das Zugfahrzeug bis zu einer Geschwindigkeit, die etwas unterhalb dieser decodierten Geschwindigkeit liegt und wird auf diesen Geschwindigkeitswert durch das in Fig. 4 gezeigte Geschwindigkeitsauf rechterhaltungsprogramm 417 geregelt. Wenn die Geschwindigkeitscodegruppe aus irgendeinem Grund sich auf einen niedrigeren Wert ändern sollte, beispielsweise aufgrund einer Geschwindigkeitscodegruppenbeschränkung, weil das Fahrzeug über einen Schalter oder durch eine Station fährt oder in bezug auf einen vorausfahrenden Zug aufholt usw., wird die neue decodierte Geschwindigkeit auf einen niedrigeren Wert gehen und das Zugfahrzeug wird im Übergeschwindigkeitsbereich sein, in dem das P-Signal auf null eingestellt wird. Das Zugfahrzeug wird dann verlangsamen, bis es sich unter dieser neuen decodierten Geschwindigkeit befindet, und dem P-Signal wird dann gestattet, ungleich null zu sein, und das Geschwindigkeitsaufrechterhaltungsprogramm 417 übernimmt. Tatsächlich liefert das Programm 415 eine obere Grenze für die Zuggeschwindigkeit, basierend auf der Information, die das Fahrzeug aus den Gleissignalblöcken empfängt.
Es ist erforderlich, festzustellen, ob das Zugfahrzeug unter seiner maximalen decodierten Geschwindigkeit ist oder nicht, und für diesen Zweck wird die Tachometergeschwindigkeit abge-
909882/0 964
lesen und von dieser maximalen decodierten Geschwindigkeit subtrahiert, um jeden Geschwindigkeitsfehler festzustellen. Solange der Geschwindigkeitsfehler in der Untergeschwindigkeitsrichtung liegt, gestattet die externe vitale Verschlußplatte das P-Signal. Wenn der Geschwindigkeitsfehler in der Übergeschwindigkeitsrichtung liegt, entweder weil das Zugfahrzeug über die maximale decodierte Geschwindigkeit hinaus beschleunigt wird oder weil die maximale decodierte Geschwindigkeit sich geändert hat, so daß sie unter der liegt, die gerade die Istzugfahrzeuggeschwindigkeit ist, wird das Erzeugen des P-Signals nicht gestattet und dadurch wird bewirkt, daß die Betriebsbremsen des Zugfahrzeuges voll zur Wirkung gebracht werden.
Bei dem Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungsprogramiti 415 gibt ein Geschwindigkeitsfehlerübergeschwindigkeitszustand das P-Signal nicht frei. Das P-Signal wird, wenn es freigegeben ist, durch das Geschwindigkeitsauf rechterhaltungsprogramm 417 kontrolliert. Das Programm 415 arbeitet so, daß entweder ein Untergeschwindigkeitsfehler dem Geschwindigkeitsaufrechterhaltungsprogramm 417 gestattet, das Zugfahrzeug zu steuern, oder daß ein Übergeschwindigkeitszustand hergestellt wird, um das P-Signal nicht freizugeben, welches eine volle Betriebsbremsoperation durch Abschalten des P-Signal-Generators ist. Bei Zugfahrzeugsystemen mit Stahlrädern erfolgt jedesmal dann, wenn die Geschwindigkeitscodegruppe von dem Gleis das Zugfahrzeug zu verlangsamen wünscht, diese Verlangsamung durch Herunterdrehen des P-Signals auf 0 mA. Das ist ein rückführungslos gesteuertes Bremssystem, das arbeitet, wenn von einer hohen Geschwindigkeit auf eine niedrige Geschwindigkeit übergegangen wird und dabei den Bremsen alles abverlangt wird. Das Sao Paulo-Fahrzeugbremssystem wird im Hinblick auf das Verfolgender Maximalgeschwindigkeitsprofile, die durch die vom Gleis gelieferten Geschwindigkeitscodegruppensignale angegeben werden, rückführungslos gesteuert, und es ist ein im geschlossenen Regelkreis arbeitendes Brems-
909882/0964
system im Hinblick darauf, wie es der Fahrzeuganhaltinformation folgt, die von dem Programmstopprogramm 419 geliefert wird, um das genaue Stoppen eines Zugfahrzeuges in einer Passagierstation zu steuern. Das Ausgangssignal des Geschwindigkeitsdecodier- und Geschwindigkeitsfehlerbestimmungsprogramms 415 und der Übergeschwindigkeits- und Abgleichschaltungen auf der vitalen Verschlußplatte ist ein Freigabe- oder Sperrsignal für den P-Signal-Generator. Bei der Zugfahrzeuggeschwindigkeitssteuerung ist es normal, in einen Übergeschwindigkeitsbereich zu gehen und diesen zu verlassen, wenn das Fahrzeug von Station zu Station fährt und dem Gleisgeschwindigkeitcodegruppenprofil folgt.
ALLGEMEINE OPERATION DER GESCHWINDIGKEITSDECO-
DIERUNG UND DER GESCHWINDIGKEITSFEHLERBE-STIMMUNG
Die Eingangsdaten der in den Fig. 7, 8 und 9 gezeigten Programme und die sich ergebenden Ausgangssignale sind im Vergleich mit den in den Fig. 11, 12 und 13 gezeigten Programme im wesentlichen die gleichen. Zwei verschiedene Programmierer schrieben diese Programme, damit das Ergebnis, das aus diesen Eingangsdaten erhalten wird, auf unterschiedliche Weise erzielt wird, so daß entweder eine Übersicht beim Schreiben der Softwareprogramme oder irgendeine Fehlfunktion in dem Computer für dieselben Bedingungen zu einem unterschiedlichen fehlerhaften Ausgangsergebnis führen würde, damit dann die decodierten Geschwindigkeitsfehlerausgangssignale nicht gleich sein würden und das ein übergeschwindigkeitszustand zum Sperren des P-Signal-Generators sein würde. Für die Bestimmung des Geschwindigkeitsfehlers wird dem Geschwindigkeitsfehler ein auf dem Wert desselben basierender Maßstab gegeben, so daß er vier Bits pro km/h beträgt, wenn der Geschwindigkeitsfehler kleiner als 5 km/h beträgt, daß er zwei Bits pro km/h beträgt, wenn der Geschwindigkeitsfehler zwischen 5 und 15 liegt, und daß er ein Bit pro km/h beträgt, wenn der Geschwindigkeitsfehler größer als 15 ist.
909882/0 964
Das macht man, damit sich eine sehr hohe Verstärkung für die Feststellung ergibt, daß der Geschwindigkeitsfehler ein Ubergeschwindigkeits- oder Untergeschwindigkeitsfehler in dem kleinen Geschwindigkeitsfehlerbereich ist, wo es erforderlich ist, diese Feststellung zu treffen, und daß, wenn sich der Geschwindigkeitsfehler von diesem Feststellungsbereich wegbewegt, seine Verstärkung heruntergeht, so daß der effektive Dynamikbereich erweitert wird, weil das Signal komprimiert wird. Obgleich das Zugfahrzeug gestoppt wird und das Fahrzeug eine 10O-km/h-Geschwindigkeitscodegruppe empfängt oder die empfangene Geschwindigkeitscodagruppe null ist und der Zug mit 100 km/h fährt, liegt dieses Geschwindigkeitsfehlersignal nicht immer gegenüber der Dynamikbereichsgrenze auf einer Seite und jeder unabgeglichene Zustand kann festgestellt werden, so daß der Zug anhält. Bei bekannten Systemen gibt es einen etwas begrenzten Dynamikbereich bei dieser Geschwindigkeitsdecodieroperation, so daß es vorkommen kann, daß das Geschwindigkeitssteuersystem nicht weiß, daß es einen Nichtabgleich hat, bis die Zugfahrzeuggeschwindigkeit einen Wert irgendwo bei etwa 40 km/h erreicht und dann der eine Geschwindigkeitsfehler für den Kanal, der 75 km/h beispielsweise verlangte, damit beginnt, die Sättigung zu verlassen, während der andere Kanal, der 100 km/h beispielsweise verlangt hatte, noch in Sättigung ' ist; an diesem Punkt würde dann abgefühlt, daß sie verschieden und in einem unabgeglichenen Zustand sind. Diese variable Verstärkung ergibt einen Ausgangsgeschwindigkeitsfehler, der eine nichtlineare Funktion des Geschwindigkeitsfehlereingangssignals ist, um breitere Dynamikbereichsgrenzen zu gestatten. Da jede CPU diesen Geschwindigkeitsfehler berechnet und weiß, ob sie einen Nullgeschwindigkeitsfehler hat, wenn das Zugfahrzeug die befohlene Geschwindigkeit fährt, stellt darüber hinaus der zu diesem Geschwindigkeitsfehler addierte Absatz sicher, daß selbst dann, wenn die Feststellung des äußeren Wertes etwas abweicht, er oberhalb des Nullgeschwindigkeitsfehlerschwellenwertes liegt und ei-
909882/0964
nen übergeschwindigkeitszustand angibt. Das ist durch die starke Neigung der in Fig. 10 gezeigten Kurve dargestellt, die die Istgeschwindigkeit auf der Abzisse über dem Geschwindigkeitsfehlerausgangssignal auf der Ordinate zeigt. Die Ordinate ist das Geschwindigkeitsfeherausgangssignal/ das den Bereich von null bis 255 hat. Wenn der Geschwindigkeitsfehler eine Untergeschwindigkeit bedeutet und größer als 15 ist, hat die Kurve eine geringe Neigung; die Kurve hat die Steigung eins in diesem Bereich von 5 bis 15; zwischen minus fünf und plus fünf hat sie eine große Steigung. Darüber hinaus ist ein Geschwindigkeitsfehlerabsatz von 138, welches der Mittelpunkt ist, bis 150 gezeigt. Wenn der Geschwindigkeitsfehler von null bis plus 0,5 geht, statt sich nur um zwei Bits zu ändern, ergibt sich der Absatz. Für die Übergeschwindigkeit ist somit ein 20-bit-Absatz addiert worden. Das praktische Steuerungsproblem besteht hier darin, daß das Geschwindigkeitsfehlerausgangssignal in ein analoges Signal umgewandelt wird und dann in einen Schwellenwertdetektor geht. Der Nullgeschwindigkeitsfehler ist 138, was ungefähr null Volt entspricht und gleich dem Wert ist, den dieser Schwellenwertdetektor erfassen wird. Wenn das umgewandelte Ausgangssignal unter null Volt liegt, zeigt das Schwellenwertdetektorausgangs signal einen Untergeschwindigkeitszustand an, und, wenn es über diesem Nullvoltwert liegt, welches der Mittelpunkt des Bereiches dieses Wortes ist, dann zeigt der Schwellenwertdetektor eine übergeschwindigkeit an und gibt nicht mehr den P-Signal-Generator frei. Auf diese Weise liefert der Schwellenwertdetektor nur dann ein Ausgangssignal, wenn der Geschwindigkeitsfehler kleiner als ein gewisser Nullgeschwindigkeitsfehlerwert ist, und er liefert kein Ausgangssignal, wenn er über diesen gewissen Wert geht. Eine Signalformung wird so vorgenommen, daß in diesem zweideutigen Bereich ein sehr scharfer übergang gemacht wird, was selbstverständlich bezüglich beider Computer erfolgt, und wiederum haben sie beide übereinzustimmen oder der Abgleich wird STOP verlangen. Es werden hier zwei große Ver-
909882/0964
besserungen gegenüber dem Stand der Technik geschaffen: (1) ein breiterer Dynamikbereich wird geschaffen, so daß eine sehr hohe Geschwindigkeitscodegruppe empfangen werden kann, wenn der Zug mit einer sehr niedrigen Geschwindigkeit fährt, und das Geschwindigkeitssteuersystem kann dann noch feststellen, daß die beiden Kanäle verschieden sind. Vor der Erfindung konnte das erst erfolgen, wenn eine engere Annäherung an die niederigere von den befohlenen Geschwindigkeiten erreicht warj und (2), wenn das Zugfahrzeug nicht irgendeine Geschwindigkeitscodegruppe empfängt, weil der Unterwegsübertrager verloren gegangen ist oder eine Nullgeschwindigkeitscodegruppe überträgt oder beim Übergang von einem Gleissignalblock zu dem nächsten Gleissignalblock es einen Verwirrungsbereich gibt, wenn das Zugfahrzeug diesen Bereich passiert. Zum Vermeiden des Anhaltens in der Verwirrungszone arbeiten Zeitgeber für eine vorbestimmte Zeitspanne, bevor die decodierte Geschwindigkeit zu null gemacht wird. Für Steuersysteme von mit Stahlrädern versehenen Zugfahrzeugen werden zwei Werte für diese Wartezeit geliefert; wenn die Geschwindigkeitscodegruppe eine 10-km/h- oder eine SO-km/h-Geschwindigkeitscodegruppe war, beträgt die Wartezeit 0,9 Sekunden, bevor die Übergeschwindigkeitsgrenze auf null eingestellt wird, und, wenn die Geschwindigkeitscodegruppe ein 44-km/h- oder ein höherer Geschwindigkeitsbefehl war, beträgt die Wartezeit 1,9 Sekunden. In Fig. 6 werden in den Blöcken 606 und 612 die Geschwindigkeitsfehler bestimmt und an die -vitale Verschlußplatte 68 abgegeben, wo sie in analoge Signale umgewandelt werden, die zum Bestimmen einer Übergeschwindigkeit oder einer Untergeschwindigkeit zu dem vitalen Schwellenwertdetektor gehen.
Die Programme von Fig. 9 und 13 schalten jeweils einen Wachhundzeitgeber um, bei welchem es sich um ein Bit aus dem Computer handelt, das seinen Zustand gegenüber der Position, die es zuletzt hatte, ändert; wenn es ein Signalwert 1 war, wird es auf 0 gesetzt, und, wenn es ein Signalwert O war, wird es auf 1 gesetzt. Da die Programme jede 1/18 Sekunde arbeiten,
82/0 96,41QP!=rTED
ORIGINAL INSPECTED
ist das Gesamtergebnis dieser Umschaltung ein 9-Hz-Rechteckausgangssignal dieses einen Bits aus dem Computer, das in dem P-Signal-Freigabesignal zum Freigeben des P-Signal-Generators benutzt wird. Wenn aus irgendeinem Grund ein Computer mit dem Berechnen des Geschwindigkeitsfehlers aufhört, wird dieses Umschaltbit statisch und das P-Signal wird abgeschaltet.
Im Stand der Technik erfolgt die Geschwindigkextsdecodierung in vitaler Weise und dann erfolgt die Geschwindigkeitsfehlerbestimmung einschließlich des Ablesens der Tachometeristgeschwindigkeit und des Vergleichens derselben mit der Geschwindigkeitscodegruppe in redundanter Weise unter Verwendung von Analogschaltungen, wobei kein ähnliches Signal verfügbar ist, das benutzt werden kann, um festzustellen, ob die Operation richtig ausgeführt worden ist.
0 98 82/0 964
Zusammenfassung;
In einer automatischen Steuerung eines Massenverkehrsmittels, die auf ein von unterwegs gesendetes Steuersignal anspricht, nimmt ein Steuergerät die Funktionen der Geschwindigkeitsdecodierung und der Geschwindigkeitsfehlerbestimmung wahr. Zwei unabhängig programmierte Mikroprozessoren (die Teil des Steuergerätes sind) bestimmen Geschwindigkeitsfehler unabhängig voneinander. Nur wenn beide Geschwindigkeitsfehler innerhalb vorbestimmter Größen liegen, wird einem Geschwindigkeitsbefehl gestattet, die Istgeschwindigkeit des Massenverkehrsmittels zu steuern.
9 0 9 88 2/0964
ORIG|NAL INSPECTED

Claims (14)

  1. Patentansprüche :
    Gerät zum Steuern einer erlaubten Fahrgeschwindigkeit eines Passagierfahrzeuges auf ein Eingangsfahrgeschwindigkeitssignal hin, das binäre Daten in Form von Einsen und Nullen enthält, gekennzeichnet durch eine Einrichtung zum Erzeugen eines ersten Signals gemäß einer' ersten Decodierung der Nullendaten und zum Erzeugen eines zweiten Signals gemäß einer ersten Decodierung der Einsendaten, durch eine Einrichtung zum Erzeugen eines dritten Signals gemäß einer zweiten Decodierung der Nullendaten und zum Erzeugen eines vierten Signals gemäß einer zweiten Decodierung der Einsendaten, durch eine Einrichtung zum Bestimmen eines ersten Geschwindigkeitsfehlersignals auf das erste Signal und auf das zweite Signal hin, durch eine Einrichtung zum Bestimmen eines zweiten Geschwindigkeitsfehlersignals auf das dritte Signal und auf das vierte Signal hin und durch eine Einrichtung zum Vergleichen des ersten Geschwindigkeitsfehlersignals und des zweiten Geschwindigkeitsfehlersignals zum Steuern einer erlaubten Fahrgeschwindigkeit des Fahrzeuges.
    909882/0964
    -2- 2926188
  2. 2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Einrichtung, die das erste und das zweite Signal erzeugt, ein erstes Digitalcomputergerät (302) enthält, das eine Tabelle für gültige Geschwindigkeitscodegruppen jeweils für die Nullendaten und für die Einsendaten gespeichert hat, und daß die Einrichtung, die das dritte und das vierte Signal erzeugt, ein zweites Digitalcomputergerät (304) enthält, das eine Tabelle für gültige Geschwindigkeitscodegruppen jeweils für die Nullendaten und für die Einsendaten gespeichert hat.
  3. 3. Gerät nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Einrichtung zum Vergleichen des ersten Geschwindigkeitsfehlersignals und des zweiten Geschwindigkeitsfehlersignals ein Freigabesignal erzeugt, das dem Fahrzeug gestattet, sich zu bewegen, wenn ein vorbestimmter Abgleich zwischen dem ersten und dem zweiten Geschwindigkeitsfehlersignal vorhanden ist.
  4. 4. Gerät nach einem der Ansprüche 1 bis 3, gekennzeichnet durch eine Einrichtung (314), die auf das erste Geschwindigkeitsfehlersignal und auf das zweite Geschwindigkeitsfehlersignal anspricht und ein Übergeschwindigkeitskorrektursignal an das Fahrzeug abgibt.
  5. 5. Gerät nach einem der Ansprüche 1 bis 4, gekennzeichnet durch eine Einrichtung, die einen Betriebsicherheitsvergleich des ersten Geschwindigkeitsfehlersignals und des zweiten Geschwindigkeitsfehlersignals zum Steuern der Bewegung des Fahrzeuges vornimmt.
  6. 6. Gerät nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Einrichtung, die das erste und das zweite Geschwindigkeitsfehlersignal miteinander
    909882/0964
    vergleicht, ein dynamisches Ausgangssignal für jede Bestimmung des ersten und des zweiten Geschwindigkeitsfehlersignals liefert.
  7. 7. Gerät nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß die Vergleichseinrichtung so arbeitet, daß das erste und das zweite Geschwindigkeitsfehlersignal jeweils innerhalb einer vorbestimmten Toleranz liegen müssen, bevor dem Eingangsfahrgeschwindigkeitssignal gestattet wird, die Fahrgeschwindigkeit des Fahrzeuges zu steuern.
  8. 8. Gerät nach einem der Ansprüche 1 bis 7, gekennzeichnet durch eine Einrichtung zum Verstärken jeweils des ersten und des zweiten Geschwindigkeitsfehlersignals in Abhängigkeit von der Größe dieser Geschwindigkeitsfehlersignale, um eine bessere Auflösung dieser Geschwindigkeitsfehlersignale unter besonderer Berücksichtigung von kleineren Geschwindigkeitsfehlersignalen zu ermöglichen.
  9. 9. Gerät nach einem der Ansprüche 1 bis 8, gekennzeichnet durch eine Einrichtung, die ein erstes Fahrgeschwindigkeitssteuersignal auf das erste Signal und auf das zweite Signal hin liefert, wobei das erste Geschwindigkeitsfehlersignal auf das erste Fahrgeschwindigkeitssteuersignal hin bestimmt wird, und durch eine Einrichtung zum Erzeugen eines zweiten Fahrgeschwindigkeitssteuersignals auf das dritte und auf das vierte Signal hin, wobei das zweite Geschwindigkeitsfehlersignal auf das zweite Fahrgeschwindigkeitssteuersignal hin bestimmt wird.
  10. 10. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß das Eingangsfahrgeschwindigkeitssignal und das erste und das zweite Geschwindigkeitsfehlersignal jeweils digitale Signale sind und daß die Signalvergleichseinrichtung
    909882/0964
    einen digitalen Vergleich des ersten und des zweiten Geschwindigkeitsfehlersignals vornimmt.
  11. 11. Gerät nach einem der Ansprüche 1 bis 10, gekennzeichnet durch eine Einrichtung, die ein erstes Fahrzeugistgeschwindigkeitssignal liefert, auf das die das erste Geschwindigkeitsfehlersignal bestimmende Einrichtung anspricht, und durch eine Einrichtung, die ein zweites Fahrzeugistgeschwindigkeitssignal liefert, auf das die das zweite Geschwindigkeitsfehlersignal bestimmende Einrichtung anspricht.
  12. 12. Verfahren zum Decodieren eines Eingangsgeschwindigkeitssteuersignals, das binäre Daten in Form von Einsen und Nullen enthält, zur Steuerung eines Passagierfahrzeuges, gekennzeichnet durch folgende Schritte:
    Erzeugen eines ersten Geschwindigkeitssignals durch eine erste Decodierung der Nullendaten und eine erste Decodierung der Einsendaten,
    Erzeugen eines zweiten Geschwindigkeitssignals durch eine zweite Decodierung der Nullendaten und eine zweite Decodierung der Einsendaten,
    Erzeugen eines ersten Geschwindigkeitsfehlersignals auf das erste Geschwindigkeitssignal hin,
    Erzeugen eines zweiten Geschwindigkeitsfehlersignals auf das zweite Geschwindigkeitssignal hin und
    Erzeugen eines Fahrzeuggeschwindigkeitssteuersignals durch gleichzeitiges Ansprechen auf das erste und auf das zweite Geschwindigkeitsfehlersignal zur Bestimmung der Istgeschwindigkeit des Fahrzeuges.
    909882/0964
    -s-
  13. 13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, daß der Schritt des Erzeugens eines Fahrzeuggeschwindigkeitssteuersignals einen Vergleich des ersten Geschwindigkeitsfehlersignals und des zweiten Geschwindigkeitsfehlersignals umfaßt, um festzustellen, daß ein vorbestimmter Abgleich zwischen ihnen vorhanden ist, bevor das Fahrzeuggeschwindigkeitssteuersignal erzeugt wird.
  14. 14. Verfahren nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß der Schritt des Erzeugens eines Fahrzeuggeschwindigkeitssteuersignals das Feststellen eines übergeschwindigkeitszustandes des Fahrzeuges beinhaltet.
    309882/0964
DE19792926186 1978-06-28 1979-06-28 Steuergeraet und -verfahren zur geschwindigkeitsdecodierung und geschwindigkeitsfehlerbestimmung Withdrawn DE2926186A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/920,317 US4209828A (en) 1978-06-28 1978-06-28 Speed decoding and speed error determining control apparatus and method

Publications (1)

Publication Number Publication Date
DE2926186A1 true DE2926186A1 (de) 1980-01-10

Family

ID=25443556

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792926186 Withdrawn DE2926186A1 (de) 1978-06-28 1979-06-28 Steuergeraet und -verfahren zur geschwindigkeitsdecodierung und geschwindigkeitsfehlerbestimmung

Country Status (8)

Country Link
US (1) US4209828A (de)
JP (1) JPS555100A (de)
BR (1) BR7904067A (de)
CA (1) CA1110737A (de)
DE (1) DE2926186A1 (de)
GB (1) GB2024484B (de)
IT (1) IT1125382B (de)
MX (1) MX147111A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3815625A1 (de) * 1988-05-07 1989-11-16 Koelner Verkehrs Betriebe Ag Verfahren zur automatischen vorgabe von antriebsparametern im ein automatisches getriebe aufweisenden antriebsstrang eines linienbusses sowie einrichtung zur durchfuehrung des verfahrens

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4327415A (en) * 1980-01-31 1982-04-27 Westinghouse Electric Corp. Transit vehicle handback control apparatus and method
DE3040080C1 (de) * 1980-10-24 1987-11-12 Standard Elektrik Lorenz Ag, 7000 Stuttgart Einrichtung zur signaltechnisch sicheren Datenuebertragung zwischen einer Trasse und auf dieser gefuehrten Fahrzeugen
JPS5815730A (ja) * 1981-07-21 1983-01-29 Nippon Denso Co Ltd 車両用速度制御装置
US4495578A (en) * 1981-10-22 1985-01-22 General Signal Corporation Microprocessor based over/under speed governor
GB2136164B (en) * 1983-03-01 1987-03-25 Aisin Seiki Automobile speed control systems
US4562543A (en) * 1983-05-04 1985-12-31 Westinghouse Electric Corp. Vehicle speed control apparatus and method
US4558415A (en) * 1983-05-20 1985-12-10 Westinghouse Electric Corp. Vehicle speed control apparatus and method
JPS60160304A (ja) * 1984-01-31 1985-08-21 Toshiba Corp 自動列車制御システム
US4625279A (en) * 1984-05-11 1986-11-25 Westinghouse Electric Corp. Vehicle speed control apparatus and method
US4710880A (en) * 1984-11-28 1987-12-01 Westinghouse Electric Corp. Vehicle speed control apparatus and method
US4835693A (en) * 1987-02-26 1989-05-30 Utdc Inc. Brake assurance monitor
US5048017A (en) * 1988-12-29 1991-09-10 Breneman Brian H Watchdog timer
DE4009521B4 (de) * 1989-06-29 2007-03-15 Linde Ag Verfahren zum zwei-kanaligen sicheren Regeln eines Prozesses
JPH04133601A (ja) * 1990-09-21 1992-05-07 Toshiba Corp 保安機能付自動運転制御装置
JPH0510201A (ja) * 1991-07-04 1993-01-19 Fuji Heavy Ind Ltd 車輌の制御方法
JP3412349B2 (ja) * 1994-12-28 2003-06-03 株式会社日立製作所 制御装置
US6765356B1 (en) * 1998-11-04 2004-07-20 Lionel L.L.C. Control and motor arrangement for use in model train
EP1431266B1 (de) 2001-08-27 2006-07-19 Japan Science and Technology Agency Photoreaktives polymer, diacetylen-aufbaupolymer, ammoniumcarboxylatkristalle und verfahren zu deren herstellung
US7747893B2 (en) * 2007-05-15 2010-06-29 International Business Machines Corporation Method and system for managing resources during system initialization and startup
US20090043435A1 (en) * 2007-08-07 2009-02-12 Quantum Engineering, Inc. Methods and systems for making a gps signal vital
US8509970B2 (en) * 2009-06-30 2013-08-13 Invensys Rail Corporation Vital speed profile to control a train moving along a track
US10279823B2 (en) * 2016-08-08 2019-05-07 General Electric Company System for controlling or monitoring a vehicle system along a route

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE791409A (fr) * 1971-11-16 1973-05-14 Westinghouse Electric Corp Dispositif de commande de vitesse
US3810161A (en) * 1973-03-15 1974-05-07 Westinghouse Electric Corp Apparatus for receiving a frequency and phase coded vehicle control signal
US3931505A (en) * 1974-03-13 1976-01-06 Bell Telephone Laboratories, Incorporated Program controlled data processor
US4015082A (en) * 1975-03-13 1977-03-29 Westinghouse Electric Corporation Multi-channel signal decoder
US3992698A (en) * 1975-04-15 1976-11-16 Westinghouse Electric Corporation Fail-safe speed command signal decoder
FR2344063A1 (fr) * 1976-03-10 1977-10-07 Smiths Industries Ltd Circuit numerique de commande a deux voies au moins
US4107253A (en) * 1976-12-01 1978-08-15 U.S. Philips Corporation Safety and test device in a railway signalling system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3815625A1 (de) * 1988-05-07 1989-11-16 Koelner Verkehrs Betriebe Ag Verfahren zur automatischen vorgabe von antriebsparametern im ein automatisches getriebe aufweisenden antriebsstrang eines linienbusses sowie einrichtung zur durchfuehrung des verfahrens

Also Published As

Publication number Publication date
BR7904067A (pt) 1980-02-12
MX147111A (es) 1982-10-06
GB2024484A (en) 1980-01-09
IT7923931A0 (it) 1979-06-27
IT1125382B (it) 1986-05-14
CA1110737A (en) 1981-10-13
US4209828A (en) 1980-06-24
JPS555100A (en) 1980-01-14
GB2024484B (en) 1982-12-22

Similar Documents

Publication Publication Date Title
DE2926186A1 (de) Steuergeraet und -verfahren zur geschwindigkeitsdecodierung und geschwindigkeitsfehlerbestimmung
DE60213747T2 (de) Zugsteuerungsverfahren und -system
EP3247609B1 (de) Verfahren sowie vorrichtung zur automatischen beeinflussung spurgebundener fahrzeuge
DE3112793A1 (de) Automatische zugsteuervorrichtung
DE102015210427A1 (de) Verfahren sowie Einrichtung zum Ermitteln einer Fahrerlaubnis für ein spurgebundenes Fahrzeug
EP3126207A1 (de) Fahrerlaubnis für ein schienenfahrzeug
DE2926149A1 (de) Geraet und verfahren zum bestimmen der fahrgeschwindigkeit eines fahrzeuges in bezug auf eine gewuenschte stopposition
DE1956398A1 (de) Vorrichtung zum Steuern und Regeln des Bremsvorganges bei Fahrzeugen
EP3060451A1 (de) Etcs-streckenausrüstung
DE3326539A1 (de) Verfahren und vorrichtung zur positionserkennung und -ueberwachung fuer transportfahrzeuge
DE112017002524T5 (de) Fahrzeugantriebssteuersystem
WO2006079326A2 (de) Beförderungssystem in form einer hängebahn für personen, insbesondere zu vergnügungszwecken, oder für güter
DE1605388A1 (de) Verfahren und Vorrichtung zur zentralisierten Steuerung der Fahrt von Zuegen
DE2824168A1 (de) Einrichtung zur steuerung von spurgebundenen fahrzeugen im zugverband
DE2404884C2 (de) Vorrichtung zur Regelung eines konstanten Abstandes mehrerer in Kolonne fahrender Fahrzeuge
EP3060452A1 (de) Steuerung eines schienenfahrzeugs
DE102004057907A1 (de) Verfahren bei der Einbindung von Rangiervorgängen bei der Zugsteuerung und Zugsicherung mittels bidirektionaler Funk-Informationsübertragung
EP3768568B1 (de) Schienenfahrzeug mit steuereinrichtung
EP4122793A1 (de) Verfahren und zugsicherungseinrichtung zur rechnergestützten ermittlung einer betrieblichen höchstgeschwindigkeit eines spurgebundenen fahrzeugs
DE102004048993B4 (de) System und Verfahren zur Steuerung von schienengebundenen Fahrzeugen, insbesondere von Zügen, mittels einer Steuerzentrale, in Abhängigkeit vom Zustand des Fahrwegs, insbesondere des verfügbaren Reibwertes
DE2528463A1 (de) Steuerung des antriebes und/oder der bremse von triebfahrzeugen
DE2854339A1 (de) Einrichtung zum uebertragen von streckeninformationen an ein spurgebundenes fahrzeug
DE102021205320A1 (de) Verfahren zur Integritätsprüfung eines Zuges
DE3043472A1 (de) Verfahren zur erkennung von kruemmungen einer leitlinie
WO1998030426A1 (de) Verfahren zur geschwindigkeitsführung eines schienenfahrzeugs

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee