DE2728362A1 - Datenverarbeitungssystem fuer fahrdaten - Google Patents

Datenverarbeitungssystem fuer fahrdaten

Info

Publication number
DE2728362A1
DE2728362A1 DE19772728362 DE2728362A DE2728362A1 DE 2728362 A1 DE2728362 A1 DE 2728362A1 DE 19772728362 DE19772728362 DE 19772728362 DE 2728362 A DE2728362 A DE 2728362A DE 2728362 A1 DE2728362 A1 DE 2728362A1
Authority
DE
Germany
Prior art keywords
data
line
distance
speed
recorded
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
DE19772728362
Other languages
English (en)
Inventor
John Peter Schultz
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.)
Vapor Corp
Original Assignee
Vapor 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 Vapor Corp filed Critical Vapor Corp
Publication of DE2728362A1 publication Critical patent/DE2728362A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/0875Registering performance data using magnetic data carriers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2200/00Type of vehicles
    • B60L2200/26Rail vehicles
    • 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
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/16Information or communication technologies improving the operation of electric vehicles

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Recording Measured Values (AREA)
  • Debugging And Monitoring (AREA)

Description

I)H. IN«;. V. WIi KSTIM)FK S(MIO VIX(II KN »Ο HH. K. ,.1'K(JIl M A X X s<" U Ι:ΙΙ1Ι:"ΝΪΙΙΛ!4Μ: a UH. IN«;. 1). HKII H HXS ;■*,.*»„* «..* >»< >»■
1 ITI. K X
Dl PL·. I.\<;. U. IiOhYl"/,
TKMIiIMM M K
I'ATKNTANW ÄI.TK ,.»ο ι κ< ι ι * ι km μΓνγιικν
τι-:ΐ. ι υ ι
1Α-49 545
Anmelder; Vapor Corporation,
West Howard Street, Chicago, 111. 60648, USA
Titel; Datenverarbeitungssystem für Fahrdaten
809810/0587
I)H INi; K WPKSTHOKK SPOO M ff NTlI KN HO
»Η.Κ.,.Ι'ΚΓΙ.ΜΛΝΝ s,-,. w ,:.«.i:.,ntiiassk «
TKl. KlON UISiII ΐ:«·>ΙΙ.ΊΙ
mi. i.\<;. η. iikiiiik.vs
τ ι: ι. κ χ Λ -'4 «Ι7Ο IJl ΓΙ.. IN(J. H. <;<>Κ'ΓΖ
'Γ Kl. KIi Il \ V M K :
Ι'ΛΤΕΝΤΛΝ'.νΑΐ.ΤΕ J^T ΐ-ικ.ι ι:, ι ι·λ ι KXT M(NClIKN
1Α-49 545
Datenverarbeitungssystem für Fahrdaten
Die Erfindung betrifft ein Datenverarbeitungssystem für Fahrdaten und bezieht sich insbesondere auf das Speichern von in Fahrzeugen, wie Lokomotiven, Grubenfahrzeugen und anderen Fahrzeugen aufgezeichneten Daten und das Vergleichen durch einen entsprechend programmierten Computer mit einem vorgeschriebenen Fahrverlauf bzw. -profil.
Ein Aufzeichnungssystem zum Aufzeichnen von Fahrzeugdaten, wie der Geschwindigkeit, der Entfernung sowie von Betriebsereignissen geht aus den US-Patentschriften 3 864 731 und 3 938 092 hervor. Die dort offenbarte Aufzeichnungsvorrichtung kann Daten, wie Geschwindigkeit, Entfernung, Bremsvorgänge und sonstige Ereignisse von Fahrzeugen aufnehmen. Die beschriebene Vorrichtung ist an Fahrzeugen aller Art, einschließlich Lokomotiven anwendbar, auf die sie jedoch nicht beschränkt ist. Die vorliegende Anmeldung ist im Zusammenhang mit einem typischen Fahrzeug, nämlich einer Lokomotive abgefaßt. Im wesentlichen sind die genannten Patentschriften auf das Aufzeichnen gerichtet, während sich die vorliegende Beschmbung mit dem Verarbeiten der aufgezeichneten Daten befaßt, welches eine Analyse des Fahrablaufs ermöglicht.
Eine kurze Beschreibung des Standes der Technik findet sich in der US-Patentschrift 3 864 731.
809810/0587
49 545
Das Aufzeichnen digitaler Daten in geeigneter Form beinhaltet die Möglichkeit, die Geschwindigkeit der Lokomotive und verwandte Daten in Eisenbahnrechnersysteme einzugeben.
Das neu entwickelte System bietet die Möglichkeit viel größerer Flexibilität als die früheren analogen Linienschreibersysteme. Jetzt wird die Geschwindigkeit, die zurückgelegte Entfernung und Ereignisse t wie die Fahrhebelstellung, Luftbremsbetätigung und Betätigung der dynamischen Bremse sowie andere Maßnahmen des Zugbetriebes aufgezeichnet. Außerdem verfügt es über Berührungspunkte mit einem Digitalrechner und eröffnet damit neue Dimensionen sowohl für das Aufzeichnen als auch das Auswerten des Betriebes eines bestimmten Zuges über einen bestimmten Streckenabschnitt. Das System läßt sich gleichfalls in anderen Fahrzeugen anwenden. Aus Gründen der Zweckmäßigkeit bezieht sich jedoch die folgende Beschreibung als Beispiel auf eine Lokomotive.
Die langen unhandlichen Streifenrollen werden durch Einsteckpatronen ersetzt die auch das Übertragen der Daten an eine Datenfernübertragungs- und Verarbeitungsanlage der Eisenbahn ermöglichen. Damit kann ausgewertet werden, wie ein Zug gefahren wird, es können Ausnahmeberichte über die Geschwindigkeit oder über Ereignisse erstellt werden, und es können Bedingungen vor dem Trennen eines Zuges oder vor dem Entgleisen festgestellt werden.
Die versiegelten Patronen sind mit Magnetband in endloser Schlaufe versehen und umfassen die Köpfe und alle beweglichen Teile. Das Band selbst ist erneut verwendungsfähig. Es kann in eine elektronische Überwachungs- und Aufzeichnungseinheit an Bord der Lokomotive eingesteckt werden, die mit den Fühlern für die Geschwindigkeit und Ereignisse
Ö09810/05Ö?
49 545
verbunden ist«.
Sobald die Information aufgezeichnet ist, wird die Patrone einfach aus der Aufzeichnungseinheit in der Lokomotive herausgenommen und in die Wiedergabeeinheit eingesteckt. Die Wiedergabeeinheit ist entweder unmittelbar mit einem Computer verbunden oder mit einer Datenstation, so daß die auf dem Band enthaltene Information über das Datenfernübertragungssystem der Eisenbahn an eine Datenzentrale übertragen werden kann. An der Datenzentrale wird die Information als Teil des Datensystems der Eisenbahn gespeichert. Gemäß der Erfindung werden die gespeicherten Daten bezogen auf bestimmte Abschnitte einer Eisenbahnlinie verarbeitet. Der Computer kann die Analyse vornehmen und zugehörige Ausdrucke erstellen, die den Bedürfnissen der Zugleistung angepaßt sind und die als genormte Abweichungsberichte und/oder als Sonderberichte auf Anfrage abgegeben werden.
Drei Elemente von Daten werden in vorherbestimmten Intervallen der zurückgelegten Entfernung aufgezeichnet, nämlich die Geschwindigkeit, die seit der vorhergehenden Aufzeichnung zurückgelegte Entfernung und der Ereigniszustand.
Solange die Zuggeschwindigkeit und der Ereigniszustand konstant bleiben, wird keine Auskunft in das Band gefüttert; aber die Zählung der seit der letzten Aufzeichnung zurückgelegten Entfernung wird vom Überwachungssystem aufrechterhalten. Tritt eine Geschwindigkeitsänderung oder eine Änderung des Ereigniszustandes ein, so erfolgt eine Aufzeichnung auf dem Band, und die neuen Daten werden im Speicher gespeichert.
Eine Ereignisposition ist für die Aufzeichnung des 809810/0587
ΦΟ 545
SO
"Kennzeichens" reserviert. Bei dem Kennzeichen handelt es sich um ein Sonderereignis, das beispielsweise auf eine im Gleisbett vergrabene Magnetspule anspricht. Die Stelle, an der sich die Magnetspule befindet, ist als Teil der Stammprofildaten gespeichert und ermöglicht deshalb eine automatische Zuordnung der aufgezeichneten Streckendaten zu den Stammdaten zur Analyse anhand des tatsächlichen Meilensteins, bei dem es eich natürlich auch um einen Kilometerstein handeln kann. Alle zur Identifizierung benötigten Informationen für jede gegebene Gleisstrecke werden in der Datenzentrale aufbewahrt.
Wenn die Daten einer bestimmten Fahrt in den Rechner eingegeben werden, erhalten sie eine Bezugsbezeichnung und werden in einer entsprechenden Speichervorrichtung gespeichert, die dem Rechner zur Verfügung steht.
Die Daten können dann auf verschiedene Weise analysiert werden. Auf Anfrage können grafische Darstellungen oder Zeichnungen über ein Eingabesystem mit einer Tastatur erzeugt werden, die die Geschwindigkeit und den Ereigniszustand zwischen speziellen Stellen angeben. Es können auch Ausnahmeberiehte erstellt werden, die Abweichungen von festgelegten Betriebsnormen anzeigen.
Kurz zusammengefaßt läßt sich also sagen, daß Daten an Bord eines Fahrzeugs aufgezeichnet werden, zu denen beispielsweise die Pahrzeuggeschwindigkeit, die zurückgelegte Entfernung und ein vorherbestimmter Satz an Betriebsereignissen gehören. Die Daten werden an einen Rechner weitergegeben, dessen Programm diese mit einem vorherbestimmten Profil vergleicht und eine Analyse der Fahrzeugleistung durchführt.
Im folgenden ist die Erfindung mit weiteren vorteilhaften Einzelheiten anhand schematischer Zeichnungen näher erläutert. Es zeigen:
609810/0567
49 545
31
Pig. 1 ein Blockfliesdiagramm des grundlegenden Datenverarbeitungssysterns gemäß der Erfindung;
Fig. 2 ein Blockfliessdiagramm des Hauptprogramms gemäß der Erfindung;
Fig. 3 ein Blockfliessdiagramm der Zeichen-Routine gemäß der Erfindung;
Fig. 4 ein Ausdruckmuster von Daten, die nach dem
Hauptprogramm der Erfindung verarbeitet wurden;
Fig. 5 ein Blockfliessdiagramm der Analyse-Routine gemäß der Erfindung;
Fig. 6 ist ein Blockfliesediagramm der Lade-Routine zum Eingeben von Streckendaten aus einem Hilfsspeicher in den Computerspeicher, wo die Daten später gemäß der Erfindung verarbeitet werden;
Fig. 7 ist ein BlockfliesBdiagramm der Umwandlungs-Routine zum Eingeben von Stammdaten in den Computerspeicher zur Verarbeitung gemäß der Erfindung;
Fig. 8-16 sind Listen von Ursprungsanweisungen der Rechnerprogrammstufen, die sich auf die oben genannten FliesBdiagramme beziehen.
In den Zeichnungen zeigt Fig. 1 das Datenverarbeitungssystem gemäß der Erfindung. Von einer Eingabe/Ausgabe-Station 10 werden aufgezeichnete Daten, die in einem Plattenspeicher 12 gespeichert werden sollen, übertragen. Die Sta-
809810/0587
49 545
tion 10 kann z.B. eine Vorrichtung sein, die als Execuport der 510er Reihe bekannt ist und von der Firma Computer Transceiver Systems, Inc. hergestellt wird. Wie bereits erwähnt, liest die V/iedergabeeinheit die an Bord eines Fahrzeugs (Lokomotive) aufgezeichneten Daten und ist unmitteltar in die Station 10 eingekoppelt. Abgesehen von der oben erwähnten Station können auch andere Fernübertragungsstationen und Systeme verwendet werden, die mit dem Rechner in Verbindung stehen.
Die aufgezeichneten Streckendaten werden auf dem Plattenspeicher 12 als kontinuierlicher Strom von Bytes (Zeichen) gespeichert. Damit die übertragenen Daten an ein allgemeines Computerprogramm angepaßt sind, durchlaufen die Streckendaten eine Umwandlung mit Hilfe eines zweckmäßigen Programms 14. Als Beispiel sei erwähnt, daß ein geeigneter Rechner ein IBM-Computer der 36O/37Oer Reihe sein kann, Das Programm 14 zum Umwandeln ist in PL-1-Sprache programmiert. Y/enn die übertragenen Daten übernetzt oder umgewandelt worden sind, werden sie als eine Reihe von numerischen Daten in einem anderen Plattenspeicher 16 gespeichert. Das Hauptprogramm 18 verarbeitet dann die Streckendaten. Bei einem typischen Anwendungsfall des in Figo 1 gezeigten Datenverarbeitungssystems vergleicht das Hauptprogramm 18 die Streckendaten 16 mit den Stammprofildaten 24. Stammdaten, wie Geschwindigkeitsbegrenzungen, erforderliche oder eingeschränkte Ereignisintervalle usw. werden in einem Plattenspeicher gespeichert. Ein "Lade"-Programm 22 prüft die Hauptdaten auf Fehler, wandelt sie in einen internen Maschinencode um und speichert sie in einem Plattenspeicher 24. Das Ladeprogramm ist gegenwärtig ebenso wie das Hauptprogramm 18 in der Fortran-Sprache geschrieben. Das Hauptprogramm 18 liefert die Analyse der Streckendaten bezogen auf die Stammdaten. Entsprechend verschiedenen Operatoranforderungen können verschiedene Berichte 26 an der Eingabe/Ausgabe-Station 10 ausgedruckt werden.
B09810/0SS?
49 545
Pig. 2 zeigt den logischen Fluß des Hauptprogramms 18 allgemein. Die Bezugszeichen neben den Blöcken entsprechen den Zeilenzahlen in der Liste der Ursprungsanweisungen des Computerprogramms, die weiter unten im einzelnen erläutert wird.
Der Block 1000 des Hauptprogramms erstellt und bestimmt die variablen und Konstanten, die im Verlauf des gesamten Programms verwendet werden.
Block 2000 steuert die Eingabe von Streckendaten aus der äußeren Speichervorrichtung in den Hauptspeicher. Dann werden die Daten interpretiert und für die Verarbeitung vorbereitet.
Block 3000 steuert in ähnlicher V/eise die Eingabe der Stammprofildaten aus der äußeren Speichervorrichtung in den Hauptspeicher und bereitet in ähnlicher Weise die Stammdaten für die Verarbeitung vor.
Block 4000 ist ein Entscheidungsblock, der den Gesamtbetrieb des Hauptprogramms steuert.
Nach der Eingabe der anfänglichen Strecken- und Stammdatensätze in den Hauptspeicher können die verschiedenen Verarbeitungsoptionen vom Operator gewählt werden. Der Operator kann z.B. "Ende" zur Beendigung des Programms oder "Aus" eingeben, um sowohl das Programm zu beenden als auch die Station von der Verbindungsleitung zu trennen.
Im Block 5000 kann der Operator wählen, die Daten analysieren zu lassen, wodurch die Analyse-Routine bzw. BefehlBfolge die aufgezeichneten Streckendaten mit den Stammprofildaten vergleicht und einen Bericht über Geschwindigkeits- oder Ereignisverletzungen ausdruckt.
809810/0587
49 545
Im Block 7000 kann der Operator eine grafische Darstellung wählen, um eine Zeichnung der Geschwindigkeit und Ereignisse zusammen mit der Geschwindigkeitsbegrenzung z.B. gegenüber den Meilensteinen oder der zurückgelegten Entfernung zu erhalten.
Eine weitere Verarbeitungsoption 28 ermöglicht es dem Operator die laufenden Streckendaten und/oder Stammdaten erneut einzugeben oder durch einen neuen Satz zu verarbeitender Daten zu ersetzen (dies stellt eine Wiederholung der Blöcke 2000 und 3000 dar).
Im Block 9000 kann der Operator wählen daß eine detaillierte Untersuchung der Daten im Hauptspeicher vorgenommen wird.
Die Lade-Routine für Streckendaten ist in Fig. 6 bzw. Block 2000 in Fig. 2 gezeigt. Hauptaufgabe dieser Befehlsfolge ist es, die gewünschten aufgezeichneten Streckendaten aus dem Hilfsspeicher in den Hauptspeicher zu bringen und zur Verarbeitung vorzubereiten. Eine Entscheidungsstufe 2001 ermöglicht es, diese Befehlsfolge zu umgehen, wenn die Streckendaten bereits während eines vorherigen Durchlaufs durch diese Befehlsfolge eingegeben wurden. Ist ein Laden bzw. eine Eingabe nötig, so wird der erste Wert des Datensatzes eingelesen 2005, um festzustellen, welche Art von Datensatz verarbeitet wird 2004. Ist der Wert Null, so enthält der Datensatz Daten, die bereits vorher vom Hauptprogramm verarbeitet und zurückgehalten wurden. Wenn das der Fall ist, erfolgt ein einfaches erneutes Laden 2006 der Streckendaten. Ist der erste Wert des Datensatzes nicht Null, so enthält der Datensatz unverarbeitete Daten direkt aus dem Umwandlungsprogramm und muß also interpretiert werden 2040, nachdem er eingelesen wurde 2011.
In jedem Fall sucht diese Befehlsfolge den Datensatz ab 2165, um die beiden ersten Bezugskennzeichen unter den Da-
809810/OSS7
as
49 545
ten festzustellen, welche benötigt werden, um die Daten mit dem Hauptprofil auszurichten und genau den Abstand festzulegen, den jede Aufzeichnung darstellt, und der als Datenskala bezeichnet wird. Dies Merkmal ermöglicht es dem Programm, Daten zu verarbeiten, ohne die Fahrzeugradgröße kennen zu müssen.
Nach dem Laden des Streckendatensatzes geht das Programm weiter zum Laden der Stammdaten-Routine (Pig. 11 und Block 3000 in Fig. 2). Diese Befehlsfolge hat die gleiche Funktion, nämlich die Stammprofildaten aus dem Hilfsspeicher in den Hauptspeicher zu bringen \ind für die Verarbeitung vorzubereiten.
Eine Entscheidungsstufe 3040 erlaubt ebenfalls, diese Befehlsfolge zu umgehen, wenn bereits Stammdaten aus einem vorherigen Durchlauf durch die Befehlsfolge vorhanden sind. Ist ein Ladevorgang nötig, so werden die Daten in den Hauptspeicher gelesen 3050 und die beiden ersten Stammkennzeichen werden festgestellt 3120.
Nach dem Eingeben der Streckendaten und der Stammdaten werden die beiden ersten Kennzeichen aus jedem Datensatz benutzt, um die Streckendaten mit den Stammdaten auszurichten 3350. Die ersten Kennzeichen jedes Datensatzes werden
als absoluter Bezugspunkt herangezogen, der die aufgezeichneten Daten gegenüber dem Stammprofil in ihrer Lage bestimmt. Die zweiten Kennzeichen jedes Datensatzes werden dann dazu verwendet, die Skala der aufgezeichneten Daten festzulegen. Nun können aufgezeichnete Streckendaten analysiert und grafisch dargestellt werden in Bezug auf tatsächliche Meilensteine, denen während der Fahrt begegnet wurde.
Die Analyse-Routine ist in den Fig. 4 und 5 und Block 5000 in Fig. 2 dargestellt. Das Endergebnis dieser Befehlsfolge zum Analysieren ist die VerletzungstabeHe,
809810/0587
49
von der ein Beispiel 29 in Pig. 4 dargestellt ist.
Jede Zeile der Tabelle stellt eine einzige kontinuierliche Geschwindigkeitsverletzung dar und enthält die nötige Information zum Zusammenfassen der Verletzung.
In der ersten Zeile 39 der Tabelle ist angegeben, daß das Fahrzeug die Geschwindigkeitsbegrenzung vom Meilenstein 42 bis zum Meilenstein 62 verletzt hat und daß die maximale Übertretung von 20 Meilen pro Stunde über die Begrenzung von 60 Meilen pro Stunde hinaus am Meilenstein 46„5 erfolgte.
Ehe die Analyse vorgenommen wird, fordert die Befehlsfolge die Geschwindigkeitsverletzungstoleranz 34 an, die die Anzahl Meilen pro Stunde festlegt, um die die Geschwindigkeit die Geschwindigkeitsbegrenzung überschreiten muß, ehe die zu hohe Geschwindigkeit als Verletzung betrachtet wird. Eine Antwort von NuI] 36 gibt an, daß es keine Toleranz gibt. Bei Beendigung der Analyse druckt diese Befehlsfolge die Gesamtanzahl relevanter Verletzungen 40 und die Gesamtanzahl zurückgelegter Meilen während der Geschwindigkeitsverletzung 41 aus.
Wurden keine Verletzungen festgestellt, so wird lediglich ausgedruckt "keine Geschwindigkeitsverletzungen wahrgenommen" .
Das Pliesschema gemäß Pig. 5 zeigt, wie die Befehlsfolge die Toleranz abfragt und einliestyuna die Variablen erstellt 5010, die von dieser Befehlsfolge verwendet werden.
Dann vergleicht diese Befehlsfolge die aufgezeichneten Daten Abschnitt für Abschnitt mit dem Stammprofil, um die Verletzungstabelle aufzubauen.
809810/0587
49 545
Eine Entscheidungsstufe 5054 bestimmt, welcher Datensatz vorgerückt oder auf den neuesten Stand gebracht, d.h. 11 auf datiert" werden muß, damit der nächste Streckenabschnitt verarbeitet werden kann. Nach dem Aufdatieren der Streckendaten 5058 oder der Stammdaten 5020 vergleicht diese Befehlsfolge die Geschwindigkeit mit der Geschwindigkeitsgrenze 5330 und hält die in der Verletzungstabelle auszudruckende Information aufrecht. Wenn der eine oder andere Datensatz nicht weiter vorgerückt werden kann, besteht ein Zustand, bei dem keine Daten mehr vorhanden sind, und die Befehlsfolge ist angewiesen die Zusammenfassung auszudrucken 5570 und die Ansteuerung für die nächste Verarbeitungsanfrage an den Block 4000 zurückzugeben.
Die Befehlsfolge für die grafische Darstellung ist als Zeichen-Routine in Figo 3 und 4 und Block 7000 in Fig. 2 dargestellt. Das Endergebnis jedes Durchlaufs dieser Befehlsfolge ist eine grafische Darstellung der Geschwindigkeit, Geschwindigkeitsbegrenzung und des Ereigniszustands gegenüber der Entfernung oder dem Meilenstein, wie bei dem in Figo 4 gezeigten Ausdruck-Muster einer Zeichnung0
Die Befehlsfolge fragt die Zeichnungsgrenzen ab 42, die den Anfangs- und Endmeilenstein für die laufende grafische Darstellung angeben, sowie die Zeichnungsskala 43, die die Auflösung der grafischen Darstellung angibt. Die Skala kann als positive ganze Zahl, die die Zeilen pro Meile angibt, oder als negative ganze Zahl eingetragen werden, die die Meilen pro Zeile angibt; ein Wert von Null ist nicht erlaubt. Der Meilenstein für jede Zeile der Zeichnung ist am linken Rand der Seite angegeben 46, und auf ihn folgt der Ereigniszustand 48 an diesem Meilenstein. Der Ereigniszustand ist im vorliegenden Fall von bis zu vier Zeichen dargestellt, die jeweils das Vorhandensein eines bestimmten Ereignisses darstellen 50. Rechts von der senkrechten Begren-
B09810/058?
49 545
-Vi-
zung 52 ist die Geschwindigkeit durch einen Stern * 62 und die Geschwindigkeitsbegrenzung durch ein Dollarzeichen # 60 dargestellt. Die Geschwindigkeit hat Vorrang gegenüber der Geschwindigkeitsbegrenzung, falls beide Zeichen auf die gleiche Ausdruckstelle 63 fallen sollten.
Die horizontale Skala für die Geschwindigkeit und Geschwindigkeitsbegrenzung beträgt zwei Meilen pro Stunde pro Ausdruckstelle, wie durch die horizontalen Begrenzungen 44 und 55 angedeutet.
Aus dem Pliesschema der Zeichen-Routine gemäß Pig» geht hervor, daß diese Befehlsfolge die Geschwindigkeitsbegrenzungen und die Skala anfordert und einliest 7030 und dann die Variablen festlegt, die von dieser Befehlsfolge verwendet werden sollen, z.B. den Anfangsmeilenstein 7160. Der Stammdatensatz wird vorgerückt, um die neue Geschwindigkeitsbegrenzung zu erhalten 7332. Der Abstand des Stammdatensatzes wird verglichen mit dem Abstand der gegenwärtigen grafischen Darstellung, um festzustellen, ob die Stammdaten auf den gegenwärtigen Meilenstein zutreffen 7300, falls das nicht der Pail ist, wird der Stammdatensatz weiter vorgerückt 7320.
Ist der Stammdatensatz ausreichend weit vorgerückt worden, erfolgt ein ähnlicher Vorgang mit dem Streckendatensatz 7310 und 7320. Wenn versucht wird, den einen oder anderen Datensatz über seinen Endpunkt hinaus vorzurücken, wird diese Befehlsfolge beendet 7540. Wenn die benötigte Information aufgefunden wurde, wird die laufende Zeile der grafischen Darstellung ausgedruckt 7480. Der Abstandswert der nächsten Zeile wird errechnet 7520 und es wird geprüft, ob dieser Abstand den endgültigen Abstand überschreitet 7530, denn in diesem Fall ist die Anfrage nach einer grafischen Darstellung erledigt und die Befehlsfolge beendet 7540. Wurde die Anforderung nicht befriedigt, so geht die Befehls-
809810/0587
49 545
folge weiter, um die Auskunft für den neuen laufenden Meilenstein zu erhalten 7300.
Die Detaill-Routine gemäß Block 9000 in Figo 2 enthält eine Anzahl kleinerer Routinen oder Befehlsfolgen, die spezialisierte Datenverarbeitungsoptionen bieten und zur Konstatierung und Nachprüfung des Programms und der Hardware beitragen. Da diese Befehlsfolgen größtenteils nach Wunsch des Kunden konstruierte Module und/oder unwesentliche Bestandteile für den Rest des Programms sind, werden sie hier nicht weiter erläutert.
Die in Fig. 7 dargestellte Umwandlungs-Routine bildet eine Software-Berührungsfläche zwischen der Hardware und dem Hauptprogramm. Hauptaufgabe dieser Befehlsfolge ist es, eine Umwandlung der Code- und Datenanordnung an den unverarbeiteten, übertragenen Streckendaten vorzunehmen, damit diese an die Standarddatenform angepaßt werden, die für das Hauptprogramm akzeptabel ist.
Die Umwandlung erfolgt durch Übersetzung jedes einzelnen der 8-Bit ASCII-Eingabezeichen in einen entsprechenden numerischen ganzen Wert, und dann wird ein "Nachschlagstabe llenverfahren" angewendet, um den entsprechenden Ausgabewert abzuleiten. Ungültige Eingabezeichen werden in einen Ausgabewert -1 umgewandelt. Das bedeutet, daß stark unterschiedliche Eingabecodes und Datenanordnungen ohne weiteres vom Hauptprogramm erledigt werden können, indem lediglich eine andere Umwandlungstabelle und/oder eine geringfügig andere Version des Umwandlungsprogramms angewendet wird.
Unter Hinweis auf die Fig. 8 bis 16 wird nun die Programmursprungsliste beschrieben, die die Befehlsschritte enthält, welche nötig sind, damit die oben beschriebenen Verarbeitungsroutinen oder Befehlsfolgen in einem Digitalrechner
809810/0587
49 545
durchgeführt werden können. Die Zahlen in den Fliesdiagrammen entsprechen den Zeilenzahlen in der linken Spalte der Befehlslisten.
Die Befehlsliste des Umwandlungsprogramms (Fig. 12) ist in der PL-1 Standardsprache geschrieben.
Zeile 100:
CONVERT: PROCEDURE:
bestimmt den Beginn des Programms oder Verfahrens und legt dessen Namen als "Convert" fest.
Zeile 110 bis 170:
DECLARE CONVTABLE ENVIRONMENT (LINE) INPUT, (TAPUNF, DATAFILE) ENV (INTERNAL), BYTE (0:0) CHAR (1), CHUNK CHAR (18), TABLIIiDX (0:0) FIXED (9), FILL CHAR (3), TUFLCHAR CHAR (1), TABLE (0:2555) FIXED (9), (SUBSCRPT, VALUE, POSITION) FIXED (9), SOURCE, DESTIN) CHARACTER (8)
dienen zur Bestimmung der verschiedenen Variablen und Konstanten zur Verwendung im Verlauf des ganzen Programms, wobei deren Speichererfordernisse und die Art und Länge der Daten, die sie enthalten sollen, erklärt werden.
Zeile 180:
OH ENDFILE (TAPUNF) GO TO ENDUP diese Aussage weist das Programm an, die Ansteuerung an die Aussagen hinter dem Feld "endup" weiterzugeben, wenn der Versuch unternommen wird, über das Ende des "tapunf" (Eingabe-) Datensatzes hinauszulesen. Dieser Zustand tritt unmittelbar nach Verarbeitung aller Eingabedaten ein.
809810/0587
49 545
Zeile 190:
ON ERROR GO TO FETCH
diese Aussage weist das Programm an, die Ansteuerung auf die Aussage nach dem Feld "fetch" weiterzugeben, wenn zu irgendeinem Zeitpunkt das Programm auf einen Fehlerzustand trifft.
Zeile 200:
FETCH : K = 0
dies ist der tatsächliche Beginn des Programms. Hier ist "fetch" ein Feld, welches von der "on error"-Aussage benutzt wird, um die Ansteuerung weiterzugeben, wenn ein Fehler aufgetreten ist. Mit K = 0 wird die Zeichenzählung auf Null zurückgestellt.
Zeile 220:
/* OPEN INPUT FILE (TAPUNF) */ dies ist eine Kommentarzeile, die die Funktion der vier folgenden Zeilen 230 bis 260 beschreibt. Der Eingabedatensatz wird identifiziert als "tapunf".
Zeile 230:
PUT LIST (INPUT FILE)
verursacht den Ausdruck der Mitteilung "input file" am Stationsdrucker.
Zeile 240:
GET FILE (SYSIN) LIST (SOURCE) verursacht den Ausdruck eines Fragezeichens (?) am Drucker, woraufhin das Programm auf die Antwort des Operators wartet. Der Operator gibt den Namen des Datensatzes über die Tastatur ein, der dann in der Variablen "Source" gespeichert wird.
809810/0587
'9 545
33,
Zeile 250:
PUT PILE (SYSPRINT) LIST (SOURCE) weist das Programm an, die Eingabe der Tastatur zum Drucker zurückzuverweisen um sicherzustellen, daß der richtige Name des Datensatzes empfangen wurde.
Zeile 260:
OPEN PILE (TAPUNP) TITLE (SOUECE) INPUT versucht eine Verbindung zwischen dem Programm und der äußeren Speichervorrichtung herzustellen, die den angeforderten Datensatz enthält und den Datensatz zur Weiterverarbeitung vorzubereiten. Wenn diese Verbindung nicht hergestellt wird, erscheint der Fehlerzustand.
Zeile 280:
/* OPEN OUTPUT PILE (DATAPILE) */ ist eine Kommentarzeile ähnlich der Zeile 220.
Der Ausgabedatensatz wird identifiziert als "DATAPILE".
Zeile 290:
PUT SKIP (2) LIST (OUTPUT PILE): verursacht, daß das Papier im Drucker um zwei Zeilen vorgerückt und die Mitteilung "OUTPUT PILE" ausgedruckt wird.
Zeile 300:
GET PILE (SYSIN) LIST (DESTIN) fordert an, daß über die Tastatur das Ziel für die Ausgabe aus dem Convert-Programm eingegeben wird. Der Name des Ausgabedatensatzes wird in der Variablen "destin" gespeichert. Dieser Datensatz 16 erhält die umgewandelten Daten nach der Verarbeitung durch das Convert-Programm.
809810/0587
49 545
33
Zeile 305:
IP DESTIH = " THEN DESTIN = 1SYSPRINT1 ist eine Bedingungsstufe, d.h., wenn kein Name eines Datensatzes über die Tastatur eingegeben wurde, wird die Ausgabe dem Drucker des Systems, in diesem Fall der Station zugeordnet. Diese Option ermöglicht eine visuelle Inspektion der umgewandelten Daten, was besonders erwünscht ist, um alle Fehler aus dem Betrieb des Systems zu entfernen bzw. den Systemablauf zu überprüfen.
Zeile 310:
PUT FILE (SYSPRINT) LIST (DESTIN) verursacht, daß die Tastatureingabe zur Verifizierung des Namens des Ausgabedatensatzes zurückverwiesen wird.
Zeile 320:
IF DESTIN = 'SYSPRINT1 THEN PUT SKIP; ELSE ist eine Bedingungsstufe, d.h. wenn das Ziel der Ausgabe der Drucker des Systems sein soll, muß das Papier des Druckers auf den Anfang einer neuen Zeile eingestellt werden, sonst wird der folgende Schritt durchgeführt.
Zeile 330:
OPEN FILE (DATAFILE) TITLE (DESTIN) OUTPUT versucht, eine zweite Verbindung mit der Speichervorrichtung herzustellen, und zwar diesmal für den Ausgabedatensatz. Wiederum erscheint der Fehlerzustand, wenn der Versuch fehlschlägt.
Zeile 350:
/♦ ASSIGN TABLE DEFAULT VALUE */ TABLE = -1 ist teilweise ein Kommentar, der anzeigt, daß die Aussage "table = -1" alle 256 Reihen der Tabelle auf einen Anfangswert von -1 einstellt.
809810/0587
49 545
Zeile 360:
TABLINDX (1) = 0
teilt dem ersten Element des Tablindx den Wert Null zu.
Zeile 380:
/* LOAD GOIiVBRSION TABLE */ ist ein Kommentar, der die nächste durchzuführende Aufgabe beschreibt, nämlich das Laden der Werte der Umwandlung stäbe He in den Hauptspeicher. Die Tabelle besteht aus zwei Spalten. Die linke Spalte ist die numerische Darstellung des Eingabedatenzeichens, während die rechte Spalte die numerische Darstellung des entsprechenden Ausgabedatenwertes isto
Zeile 390:
OPEN FILE (CONVTABL)
stellt eine dritte Verbindung mit der Speichervorrichtung her, um die UmwandlungstabeHe für die Weiterverarbeitung vorzubereiten,,
Zeile 400:
ON ENDPILE (CONVTABL) TO TO ENDLOAD legt fest, daß wenn das Ende der Umwandlungstabelle wahrgenommen wird, das Programm mit der Verarbeitung am Feld "endload" fortfahren soll.
Zeile 410:
READ: GET FILE (CONVTABL) LIST (SUBSCRPT, VALUE) verursacht, daß zwei Werte aus der Speichervorrichtung gelesen und an den Stellen "subscrpt" und "value" im Speicher angeordnet werden sollen.
Zeile 420:
TABLE (SUBSCRPT) = VALUE; GO TO READ
809810/0587
40 545
trägt den "value" in die Tabelle an der durch die Variable "subscrpt" bestimmten Zeile ein. Alle Zeilen der Tabelle, die nicht auf diese Weise modifiziert werden, behalten ihren ursprünglichen Wert von -1 bei, was ein nicht zugeteiltes Konversionspaar anzeigt. Mit "go to read" wird die Ansteuerung zum Feld "read" weitergegeben, damit das nächste Datenpaar verarbeitet werden kann.
Zeile 430:
ENDLOAD : IP DESTIN = "SYSPRINT" THEN GO To LISTFILE
prüft das Ziel für die Ausgabedaten und gibt die Ansteuerung an das Feld "listfile" weiter, wenn eine Druckerausgabe angefordert wurde, andernfalls ist die Verarbeitung mit dem nächsten Befehl in der Reihenfolge fortzusetzen.
Zeile 450:
/* CONVERT FILE */
ist eine Kommentarzeile, die die Funktion der folgenden Aussagen angibt0
Zeile 460:
LOOP : GET FILE (TAPUNF) LIST (CHUNK) legt das Feld "loop" fest und bewirkt, daß die nächste Gruppe aus 18 Zeichen aus der Speichervorrichtung gelesen und in die Variable "chunk" gegeben wird, um die Umwandlung vorzubereiten.
Zeile 470:
DO POSITION =1 to 18
bewirkt, daß das Programm eine Anzahl der aufeinanderfolgenden Schritte wiederholt, und zwar einmal für jedes der 18 Zeichen in der Variablen "chunk".
809810/0587
49 545
Zeile 480:
TUPLGHAR = BYTE (POSITION)
teilt eins der 18 Zeichen (durch den Wert der Variablen "position" bestimmt) der Variablen "Tuflchar" zur zeitweiligen Speicherung zu und erzeugt damit ein volles Wort in numerischer Darstellung (aus dem einzigen Byte-Zeichen aus dem "chunk") zur Verwendung als in die Umwandlungstabelle einzugehender Index.
Zeile 490:
PUT PILE (DATAPILE) LIST (TABLE) (TABLINDX (1) ) bewirkt, der Wert in der Umwandlungstabelle, der vom Wert des Tabellenindexes bestimmt ist,
in der äußeren Speichervorrichtung aufgezeichnet wLrd~ Zur Wiederholung werden die Zeilen 480 und 490 mehrmals durchgeführt, und zwar je einmal für jedes der 18 Zeichen im "chunk", wie durch die DO-Aussage spezifiziert. Die Variable K sorgt für das Zählen der Anzahl derartiger "chunks", die verarbeitet worden sind.
Zeile 500:
END ; K = K + 1 ; GO TO LOOP
Die "end"-Aussage beendet den Bereich der vorhergehenden "DO"-Aussage. K = K + 1 erhöht die Zeichenzählung, und "go to loop" verschiebt die Ansteuerung zu dem Feld "loop" um den nächsten "chunk" von Daten zu verarbeiten.
Zeile 520 bis 570:
üben die gleiche Punktion der Datenumwandlung aus wie die Zeilen 450 bis 500, nur ist in diesem Fall die Ausgabe an den Drucker statt an eine äußere Speichervorrichtung gerichtet.
809810/0587
3?
Zeile 590:
/* EXIT */
Exit ist eine Kommentarzeile, die die Funktion der letzten vier Zeilen des Programms angibt.
Zeile 600:
EI-IDUP : K = K * 18
legt das Feld "endup" für die Aussage des Endes des Datensatzes fest und errechnet den neuen Wert für K, der der Anzahl von chunks multipliziert mit der Anzahl von Zeichen pro chunk (18) entspricht, wodurch man die Gesamtanzahl verarbeiteter Zeichen erhält, die im laufenden Anwendungsfall bis zu 30.000 reichen kann.
Zeile 610:
PUT SKIP (2) LIST (K, 1OIiARACTERS LOADS' ) bewirkt, daß das Papier vorgerückt und der Wert von K ausgedruckt wird, worauf die Aussage "characters loaded" folgt.
Zeile 62G:
CLOSE FILE (CONVTABL), FILE (DATAFILE), FILE (TAPUNF)
dient dazu, die hergestellten Verbindungen mit den Speichervorrichtungen, die die drei Datensätze enthalten, aufzulösen.
Zeile 630:
END CONVERT
bedeutet das Ende des Programms und informiert den Programmerzeuger (Compiler),daß keine weiteren Befehle zu berücksichtigen sind.
Infolge des Umwandlungsverfahrens sind die Eingabedaten im Code umgewandelt und neu angeordnet worden. Während die Eingabe eine Serie von 8-bit-Zeichen war, ist das Ergebnis eine Serie
809810/0587
49 545
27P8362
von 4-byte numerischen ganzen Zahlen, die dann zusammen mit einer der üblichen Programmiersprachen bearbeitet v/erden können. Die Umwandlungstabelle hat eine Übersetzung oder Umwandlung von 1 : 1 aus dem Eingabecode in den gewünschten Ausgabecode geliefert, wodurch die weitere Datenverarbeitung, in diesem Fall durch das "Main"-Programm erleichtert wird.
Wie Pig. 1 zeigt,werden die umgewandelten Streckendaten 16 vom Hauptprogramm 18 gemeinsam mit den Stammprofildaten 24 behandelt. Der Streckendatensatz 16 enthält die aufgezeichnete Entfernungs-, Geschwindigkeits- und Ereigniscodeinforraation, die im Speicher in logischer Anordnung sein muß. Dann muß das Hauptprogramm die Daten verarbeiten, um die verschiedenen grafischen Darstellungen und Berichte zu erzeugen. Die Befehlslisten für das Hauptprogramm finden sich in den Pig. 8 bis 16. Pig. 2 zeigt ein allgemeines Fliesschema für das Hauptprogramm. Pig. 9 und 10 enthalten die Einrichtungs- und hauptsächlichen Steuerfunktionen des Hauptprogramms.
Zeile 1020:
INTEGER *2 TAPE (30000), DATA (3,10000, TM/30000 NT/10000/, ?i
Der Ausdruck "INTEGER *2" bedeutet, daß zwei Bytes (ein Halbwort) der Speichervorrichtung für jede der genannten Variablen reserviert sein muß. Die erste definierte Variable ist "TAPE" mit 30.000 Elementen. In der Speichervorrichtung ist also für 30.000 Halbwörter zur Aufnahme der aus dem Eingabedatensatz 16 (Pig. 1) gelesenen Daten Vorsorge getroffen. Die Variable "DATA" soll eine zweidimensionale An-
809810/0587
Ordnung in einer Länge von 10.000 Zeilen und einer Breite von drei Spalten sein, die den Abstände-, Geschwindigkeits- bzw. Ereigniscode darstellen. Die Variable "TM" soll den Wert 30.000 haben und bedeutet die maximale Anzahl an Eingabezeichen, für die in der Speichervorrichtung Platz ist. Auch NT bedeutet die maximale Anzahl erlaubter Datenaufzeichnungen. Die durchwegs erscheinende "9" bedeutet, daß die Programmaussage in der folgenden Zeile fortgesetzt ist.
Zeile 1030:
ist eine Portsetzung der vorhergehenden Zeile und errichtet in ähnlicher Weise eine Speicherung für das Stammdatenprofil aus 24 (Figo 1). Auch die Stammdaten haben in ähnlicher Weise drei Spalten, die die Entfernung, Geschwindigkeit und Ereignisse enthalten. MTM (=500) bedeutet die maximal in der Speicherung erlaubte Anzahl von Stammaufzeichnungen.
Zeile 1040:
INTEGER *4 KI /5/ , KO /6/ , KD /7/ , KM /8/ Diese Aussage bestimmt die Eingabe/Ausgabe-Einheiten, die im Programm verwendet werden sollen, wobei die Einheiten für das vorliegende Programm folgende sind:
Kl/5/ - Dateneingabe durch den Operator (Tastatur)
KO/6/ - Ausgabe (Drucker) KD/7/ - Daten (Platte)
KM/8/ - Stamm (Platte).
Zeile 1050, 1060, 1070:
INTEGER *2 E1(16)/0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,
V, #
809810/05Ö7
49 545
E3 (16)/0,0,1,1,0,O,1,1,0,0,1,1,
0,0,1,1,/
,E5D(16)/8*0,8»1/,5i
E4 (16/4*0,4*1,4*0,4*1/,E5(16)/
8*0,1,2,1,2,1,2,1,2/
Diese Zeilen errichten Tabellen, die den Zugang zum Ereigniscode erleichtern. Der Ereigniscode umfaßt vier binäre Bits für eine Gesamtzahl von 16 möglichen binären Kombinationen. E1 ermöglicht den Zugang zum niedrigsten binären Bit des Ereigniscodes. Die alternierenden Binären 0 und 1 von E1 zeigen die Tatsache an, daß der am wenigsten wichtige Bit im Ereigniscode abwechselnd zwischen binär 0 und binär 1 schwankt, so wie der Ereigniscode zwischen den 16 möglichen Zuständen variiert.
Zeile 1072 und 1073
INTEGER *4 EV(16)/' ·,' P1,1M',1M P1,' T1,' PT1,1M T','M PT1, £
1 D1,' DP',1MD',1MDP1,' DT',1 DPT','MD T1,'MDPT'/
Diese Zeilen errichten eine Tabelle für "EV", die 16 Glieder enthält, von denen jedes vier Zeichen lang ist (eins für jedes Ereignis). Die Tabelle ist eine Zeichendarstellung für alle 16 möglichen Kombinationen der vier Ereignisse, in diesem Pail: Antriebskraft, dynamisches Bremsen, Kennzeichen und reguläres Zugbremsen. Das Konzept besteht hier darin, das geeignete Zeichen auszudrucken, wenn eine entsprechende Bit-Position im Ereigniscode eine binäre 1 ist. Damit sind alle verschiedenen Kombinationen von Ereignissen vom Nichtauf treten eines Ereignisses bis zum Auftreten aller vier Ereignisse definiert.
809810/0587
as 545
Zeile 1075:
INTEGER *2 PLOT (53)/53*' '/,CM/'^'/.CD/·*'/,
Diese Aussage liefert eine Speicherung für einen aus 53 Positionen bestehenden Puffer der grafischen Darstellung (die Anmerkung 53*' '/ bedeutet, daß alle 53 Positionen anfangs auf leer gesetzt sind). Ferner werden drei Variable definiert, die die Zeichen »#", "*" und eine Leerstelle umfassen, die für die Zeichen-Routine verwendet werden.
Zeile 1080:
INTEGER »4- EC,PLAG,PM/1 ,FD/1 ,MS/1/.SPDCHK,TMAX Hier wird lediglich Speicherung für die verschiedenen genannten Variablen eingerichtet.
Zeile 1090 und 1092·'
INTEGER *2 ΥΕε/'Υ'/,Νο/'Ν'/,Α/'Α'/,Ρ/'Ρ'/,ϋ/
REPLY.U/'U'AO/'O'/.MC/'M'AC/'C'/,
erstellen die Zeichenvariablen, die zum entziffern der Antworten von der Tastatur verwendet werden. Z.B. hat die Variable "YES" den Zeichenwert "Y".
Zeile 1100:
REAL *8 REPLY8 (2), NULL/' '/,REPLY9 (2)
reserviert Speicherung für die 16 2»eichenp.angen Datensatznamen, die später verwendet werden sollen, und teilt der Variablen "NULL" einen Wert aller Leerstellen zu.
Zeile 1110:
EQUIVALENCE (DATA(1,1), TAPE (1))
809810/0587
*9 545
27283Q2
erzeugt das Gleichgewicht bzw. die Überlagerung zwischen der Anordnung unverarbeiteter Daten (TAPE) und der Anordnung interpretierter Daten, um die Speicherung zu erhalten.
Zeile 1510:
"* OPEN PILES *"
ist lediglich ein Kommentar.
Zeile 1520:
1500 WRITE (KO,120)
errichtet das Feld "1500" und löst das Drucken des Formulars 120 aus, was vorher durch die Variable KO bestimmt wurde (Stationsdrucker), wodurch der Operator veranlaßt wird, den Namen des Eingabedatensatzes in der nächsten Stufe einzugeben.
Zeile 1530:
READ (KI,108) REPLY9
fordert an, daß der Name des Eingabedatensatzes abgelesen wird, der vorher durch die Variable KI (Stationstastatur) unter Steuerung durch das Formular 108 definiert wurde. Die Antwort ist in der Variablen "REPLY9" zu speichern.
Zeile 1540:
IF (REPLY9 (1).NE.NULL)CALL OPEN (KD.REPLY9,'INPUT')
ist eine Bedingungsstufe, d.h. wenn die vorhergehende Antwort nicht der Nullantwort entsprach, wird versucht, den Eingabedatensatz für eine spätere Verarbeitung aufzufinden und vorzubereiten.
Zeile 1550 bis 1570:
erledigen eine ähnliche Aufgabe für die Stammdatei.
809810/0587
49 545
Zeile 4001 bis 4090:
umfassen eine funktioneile Gruppe von Schritten, die den Operator nach der Art der durchzuführenden Verarbeitung befragen und dann verursachen, daß die entsprechenden Befehlsfolgen zur Beantwortung der Anfrage ausgeführt werden.
Zeile 4010:
4000 WRITE (KO,400)
beginnt den Ausdruck des Formulars 400 zur Vorbereitung des Operators für die in der nächsten Stufe zu gebende Antwort.
Zeile 4020:
4001 READ (KI,101) REPLY
errichtet das Feld 4001 und beginnt mit dem Lesen der Antwort des Operators von der Tastatur unter Steuerung durch das Formular 101. Das erste Zeichen der Antwort wird in der Variablen "REPLY" gespeichert, die dann mit jeder der gültigen Antworten (in Zeile 4030 bis 4075) verglichen wird, um festzustellen, welche Handlung als nächstes vorgenommen werden muß. Wird nichts entsprechendes gefunden, geht das Programm weiter zu:
Zeile 4080:
WRITE (KO,404)
wodurch der Ausdruck des Formulars 404 beginnt, wodurch der Operator informiert wird, daß er eine ungültige Antwort gegeben hat.
Zeile 4090:
Go to 4001
steuert erneut das Aussagefeld 4001 (Zeile
4020) an. Damit ist an dieser Stelle eine Wie-
809810/0587
49 545
derholungsschleife errichtet worden, die die Steuerung behält, bis eine gültige Antwort erhalten wurde.
Zeile 99101 bis 99999:
in Pig. H, enthalten die Eingabe/Ausgabe-Ponnularaussagen, die von allen Eingabe/Ausgabe-Vorgängen benutzt werden, um die Übertragung aller Daten (Mitteilungen, Antworten, grafische Darstellungen, Analyse usw.) zwischen dem Programm und der Stationsvorrichtung zu erleichtern. Auf die einzelne Formularaussage wird in der gesamten Programmdiskussion Bezug genommen.
Zeile 99999:
END
zeigt das Ende der Programmaussagen an. Wenn eine Übereinstimmung zwischen der "REPLY" des Operators und einer der genormten Programmoptionen in den Zeilen 4030 bis 4075 hergestellt worden ist, erfolgt eine Abzweigung zum zutreffenden Punkt im Programm, wo die Befehlsfolgen sich befinden, um die Anforderung des Operators zu bedienen. Diese verschiedenen Befehlsfolgen werden nachfolgend beschrieben. Eine Anforderung das Programm zu beenden bewirkt, daß die Aussage 9999 (Zeile 99003) angesteuert wird, wo eine Programmanweisung "STOP" ausgeführt wird. Das Datenverarbeitungssystem steht dann zur Verfügung, um irgendeine seiner anderen Punktionen auszuführen. Eine "OPP"-Anfrage bewirkt, daß die Aussage 9998 (Zeile 99002) angesteuert wird, wo ein Anruf an den Kommunikator des Datenverarbeitungssystems mit der Anfrage erfolgt, die Verbindungsleitung abzuschalten und alle Systemfunktionen freizugeben.
809810/0587
49 ?45
Bei Aufforderung zum erneuten Laden (oder bei der ersten Wiederholung des Programms) wird die Aussage I5OO (Zeile 1520) angesteuert, wie oben bereits beschrieben, und danach die Befehlsfolge zur Dateneingabe (LOAD DATA). Diese speziellen Stufen gehören zum Block 2000 in Pig. 2 und zum Pliesschema gemäß Pig. 9. Aufgabe dieser Schritte ist es, die Eingabedaten aus der äußeren Speichervorrichtung in den Hauptspeicher zu übertragen und zum Verarbeiten vorzubereiten.
Zeile 2001:
IP (REPLY9 (I)=NULL) GO TO 2910 ermöglicht das Umgehen der Befehlsfolge zur Eingabe der Streckendaten, wenn der Operator eine Null-Antwort für den Namen des Eingabedatensatzes eingegeben hat. Das geschieht dadurch, daß Aussage 2910 (Zeile 2160) angesteuert wird. Eine Null-Antwort gilt nur für einen erneuten Ladevorgang, bei dem nur die Stammdaten geändert werden müssen.
Zeile 2002:
WRITE (KO,210)
An der Station wird eine Mitteilung ausgedruckt (Formular 210), die dem Operator anzeigt, daß der Ladevorgang des Datensatzes begonnen hat. An dieser Stelle können zwei Arten von Datensätzen in den Hauptspeicher eingelesen werden, von denen der eine unverarbeitete Daten aus dem Umwandlungsprogramm enthält, die noch weiter interpretiert werden müssen, während der andere Daten enthält, die aus einem vorherigen Durchlauf des Hauptprogramms übrigbehalten wurden und keine Interpretation erfordern. Der erste Wert im Datensatz bestimmt, welche Art von Da-
809810/0587
49 545
tenaatz verarbeitet wird.
Zeile 2003:
READ (KI) NSS
holt den ersten Wert aus dem Datensatz und speichert ihn in der Variablen NSS.
Zeile 2004:
IP (NSS 0) GO TO 2000
prüft den ersten Wert des Datensatzes auf einen negativen Wert, was bedeutet, daß der Datensatz unverarbeitete Daten enthält und weitere Verarbeitung erfordert. Wenn wahr, wird Aussage 2000 (Zeile 2011) angesteuert. Wenn falsch, wird die nächste Aussage in der Reihenfolge angesteuert»
Zeile 2006:
READ (KD) NT, ((DATA (I,J,), J=NSS, NT), 1=1,3)
bewirkt den Übergang der vorinterpretierten Daten aus der Speichervorrichtung in den Hauptspeicher.
Zeile 2008:
WRITE (KO,204) NULL
bewirkt, daß die Mitteilung "LOADED" ausgedruckt wird, womit angezeigt wird, daß der Ladevorgang beendet ist.
Zeile 2009:
GO TO 2910
steuert die Aussage 2910 (Zeile 2160) an, um die folgende alternative Befehlsfolge zur Dateneingabe zu umgehen.
Zeile 2011 und 2012:
2000 DO 2001 1=1, TM
2001 READ (KD,END=2003) TAPE (I)
009810/058?
49 545
Hl
bewirken gemeinsam den Übergang unverarbeiteter Daten (Ausgabe aus dem Umwandlungsprogramm) von der äußeren Speichervorrichtung in den Hauptspeicher. Mit "END=2OO3" wird die Steuerung auf die Aussage 2003 (Zeile 2016) bei Wahrnehmung des Zustandes, daß der Datensatz beendet ist, weitergegeben.
Zeile 2014:
WRITE (KO,121) TM
bewirkt den Ausdruck einer Fehlermitteilung, wenn die maximale Anzahl von Eingabewerten (Variable TM) gelesen wurde, ohne daß auf das Ende des Datensatzes getroffen wurde, was bedeutet, daß die Datensatzgröße die reservierte Speicherkapazität überschreitet.
Zeile 2018:
TMAX=I-I
stellt die Variable "TMAX" auf die Anzahl der tatsächlich eingegebenen Werte ein.
Zeile 2026:
WRITE (KO,201) TMAX
zeigt dann die Gesamtanzahl eingelesener Werte (TMAX) gefolgt von der Mitteilung "LOADED" (Formular 201).
Zeile 2038:
"* REFORMAT DATA *"
ist ein Kommentar, der angibt, daß die Befehlsfolge beginnt, mit der die Daten interpretiert und weiter zur Verarbeitung durch andere Befehlsfolgen vorbereitet werden, siehe Fliessschema gemäß Fig. 11.
Zeile 2040 bis 2058:
teilen gewissen in der Befehlsfolge zu verwen-
809810/0567
49 545
denden Variablen Anfangswerte zu.
Zeile 2056:
Der Abstandszähler wird auf Null eingestellt.
Zeile 2060:
"♦ START *"
ist ein Kommentar, der anzeigt, daß die Wiederholungsschleife beginnt, die eine Reihe von numerischen Eingabedaten (Zeichen) interpretiert und die 3xN-Anordnung erzeugt, die die aufgezeichnete Entfernung, die Geschwindigkeit und Ereignisse enthält, d.h. Informationen, die vom restlichen Programm benutzt werden.
Zeile 2062:
errichtet die Wiederholungs-"DO"-Schleife mittels der Aussage 2900 (Zeile 2150). Die Eingriffsanweisungen sind einmal für jedes Eingabedatum mit Ausnahme der ersten beiden durchzuführen .
Zeile 2064:
te
Der i Wert des Eingabedatenstroms wird zeitweilig in der Variablen K gespeichert und in Zeile 2066 auf einen negativen Wert geprüft, der anzeigen würde, daß der Eingabewert ungültig ist und damit die Aussage 2510 ansteuert.
Zeile 2068:
errichtet das Aussagefeld 2505 und steuert eine der drei Aussagen 2600, 2700 oder 2800 an, je nach dem laufenden Wert von "L" (d.h. IP L=1 Steuerung geht auf Aussage 2600). Der Wert von L bestimmt welche der drei Arten von Daten (Entfernung, Geschwindigkeit oder Ereignisse) gegenwärtig vom Programm erwartet wird.
009810/0587
49 545
Zeile 2070 bis 2076:
erhalten die Ansteuerung von Zeile 2066 sobald
ein ungültiger Eingabewert wahrgenommen wurde.
Zeile 2070:
errichtet das Aussagefeld 2510 und teilt der ungültigen Eingabe den Fehlerwert Null zu. Eine ungültige Eingabe kann sich bei einem Datenübertragungsfehler oder einem sonstigen Versagen der Hardware einstellen.
Zeile 2074:
zeigt dem Operator mit Hilfe des Druckers an,
te
daß das i Zeichen der Eingabedaten sich als ungültig herausgestellt hat. Mittels Zeile 2076 wird die Ansteuerung auf die Aussage 2505 weitergegeben, um die Verarbeitung fortzusetzen.
Zeile 2084 bis 2104:
umfassen eine Befehlsfolge, die das Abstandszeichen interpretiert, welches aus fünf Bits Entfernungsinformation, einem Vorwärts/Rückwärts-Bit und dem vierten Ereignis-Bit besteht.
Zeile 2086:
(Aussage 2600) prüft das Vorhandensein des Rückwärtszustande im Vorwärts/Rückwärts-Bit und überträgt die Ansteuerung auf Aussage 2601, wenn der Rückwärtszustand nicht festgestellt wird. Wird der Rückwärtszustand gefunden, so entfernt Zeile 2088 ihr binäres Gewicht von aus dem Entfernungswert, und Zeile 2090 gibt dem passenden Entfernungswert ein negatives Vorzeichen.
Zeile 2092:
(Aussage 2601) prüft das Vorhandensein des
609810/058?
49 545
vierten Ereignis-Bits und, wenn es nicht aufgefunden wird, überträgt es die Ansteuerung an Aussage 2602. Ist das Bit des vierten Ereignisses vorhanden, so zieht Zeile 2094 ihr binäres Gewicht von 32 vom Entfernungswert ab, und Zeile 2096 bringt den richtigen Ereigniswert in der Datenanordnung auf den neuesten Stand. Nun sind in der Variablen K nur noch die fünf Bits der Entfernungsinformation übrig, die in der laufenden Aufzeichnung der Datenanordnung in Zeile 2098 gespeichert werden (Aussage 2602).
Zeile 2100:
hält die Zählung der Aufzeichnungsintervalle aufrecht, die in der Variablen "IDIST" verarbeitet werden.
Zeile 2102:
setzt den Wert von L so fest, daß ein Ereigniszeichen (Spalte 3) als nächstes verarbeitet wird. Zeile 2104 schließlich steuert Aussage 2900 an, um zum nächsten Eingabezeichen vorzurücken.
Zeile 2106 bis 2114:
umfassen die zur Behandlung eines Geschwindigkeitszeichens nötigen Schritte. Da das Geschwindigkeitszeichen nur Geschwindigkeitsinformation enthält, ist sein Wert lediglich der zweiten Spalte der laufenden Datenaufzeichnung in Zeile 2108 zugeordnet. Der Wert von "L" wird in Zeile 2110 auf eins eingestellt, um anzudeuten, daß als nächstes ein Entfernungszeionen zu verarbeiten ist. In Zeile 2112 wird die laufende Aufzeichnungsanzahl erniedrigt, da die laufende Aufzeichnung beendet wurde, und in Zeile 2114 geht die Ansteuerung weiter auf Aussage 29OO, um das nächste Zeichen zu verarbeiten.
809810/0587
49 545
Zeile 2116 bis 214-8:
umfassen eine Befehlsfolge, die Ereigniszeichen interpretiert und die Integrität der Daten prüft. Das Ereigniszeichen enthält die ersten drei Ereignis-Bits und ein festgelegtes Muster von Einsern und Nullen. Wenn das festgelegte Muster nicht wahrgenommen wird, so bedeutet das einen "Syn.c"-Fehler. Dieser Zustand ergibt sich, wenn die Befehlsfolge nicht mit den Daten synchronisiert ist, d.h. ein Entfernungszeichen erscheint dort wo ein Ereigniszeichen erwartet wird. Die Variable "ISE" hält eine Zählung solcher Fehler in Zeile 2144 aufrecht, und die Dateninterpretationsschleife ist beendet, wenn diese Zählung den Wert 50 in Zeile 2146 übersteigt, andernfalls wird dem Ereigniscode ein Fehlerwert von 1 in Zeile 2148 zugeteilt.
Zeile 2150:
(Aussage 2900) wird angesteuert, nachdem jedes Zeichen von einer der drei oben genannten Befehlsfolgen verarbeitet wurde und ist, wie vom Kommentar in Zeile 2152 angedeutet, die letzte Aussage in der Interpretationsschleife. Hier wird der Zeichenzeiger erniedrigt und die Ansteuerung geht zurück zu Zeile 2062, bis alle Zeichen im Hauptspeicher verarbeitet worden sind. Nachdem alle Zeichen verarbeitet wurden oder die Syne-Fehlergrenze überschritten wurde, geht die Ansteuerung an Zeile 2154 weiter, die lediglich das Aussagefeld 2905 errichtet.
Zeile 2156:
druckt die Anzahl "SYNC"-Fehler, wenn die Fehlerzählung (ISE) einen Wert hat, der nicht Null ist.
80981 D/0537
49 545
Si
Zeile 2158:
setzt einen Zeiger auf den Anfang der gültigen Daten in der Datenanordnung. iiSS zeigt damit auf die erste gültige Datenaufzeichnung im Hauptspeicher.
Zeile 2160:
errichtet das Aussagefeld 2910 und setzt zeitweilig einen Zeiger auf das erste Kennzeichen, welches dem Beginn der Daten gleich ist.
Zeile 2165 bis 2200:
umfassen eine Befehlsfolge zum Absuchen der Datenanordnung auf Kennzeichen, so daß die aufgezeichneten Daten dann mit den Stammprofildaten ausgerichtet werden können.
Zeile 2165 bis 2170:
teilen verschiedene Anfangswerte je nach Bedarf zu.
Zeile 2172:
errichtet eine Wiederholungsschleife mittels der Aussage 2950 (Zeile 2194), um jede Datenaufzeichnung auf das Vorhandensein eines Kennzeichens zu prüfen.
Zeile 2174:
übergibt die Ansteuerung an Aussage 2930, wenn die laufende Aufzeichnung kein Kennzeichen enthält. Wenn ein Kennzeichen besteht, prüft Zeile 2175 die vorhergehende Aufzeichnung, um zu sehen, ob die auch ein Kennzeichen enthielt. Wenn ja, ist das Kennzeichen nicht das erste Kennzeichen einer aufeinanderfolgenden Serie von Kennzeichen und wird folglich dadurch ignoriert, daß Aussage 2930 angesteuert wird, um
809810/0587
49 545
die Schleife zur nächsten Aufzeichnung vorzurücken.
Zeile 2176:
Der Wert von J wird geprüft, um festzustellen, ob das gerade aufgefundene Kennzeichen das erste oder ein späteres Kennzeichen in den Daten ist. Ist es das erste Kennzeichen (J 1), so stellt Zeile 2178 einen Zeiger (NS) ein, um dessen Stelle aufzuzeichnen, Zeile 2180 speichert den gegenwärtigen Abstand in der Variablen "NDISTM", Zeile 2182 stellt J so ein, daß angezeigt wird, daß das erste Kennzeichen verarbeitet wurde, und Zeile 2184 steuert Auasage 2930 an, um zur nächsten Aufzeichnung vorzurücken. Wenn das grade aufgefundene Kennzeichen nicht das erste Kennzeichen war, überträgt Zeile 2176 die Ansteuerung auf Zeile 2186, wo festgestellt wird, ob das Kennzeichen das zweite oder ein nachfolgendes Kennzeichen ist. Wenn das zweite Kennzeichen bereits verarbeitet wurde (J=2), wird wie vorher die Aussage 2930 angesteuert, andernfalls errechnet Zeile '2188 den Abstand zwischen den beiden ersten Kennzeichen durch Subtraktion des Abstandes am ersten Kennzeichen (NDISTM) vom laufenden Abstand (NDIST) und durch Speichern des Ergebnisses in der Variablen "NDISTM", Zeile 2190 speichert den Ort des zweiten Kennzeichens in NM2, und Zeile 2192 setzt den Wert von J fest, um anzuzeigen, daß auch das zweite Kennzeichen verarbeitet wurde.
Zeile 2194:
(Der letzte Schritt in der Wiederholungsschleife, die in Zeile 2172 begann) hält die Zählung des zurückgelegten relativen Abstandes seit dem Beginn gültiger Daten aufrecht.
809810/0587
49 545
Sk
Zeile 2196:
wenn weniger als zwei Kennzeichen gefunden wurden, wird eine Warnungsmitteilung (Formular 261) ausgedruckt.
Zeile 2198:
es wird der von der Aufzeichnung umfaßte ungefähre Abstand wie folgt errechnet: Die Anzahl Aufzeichnungseinheiten wird dividiert durch die geschätzte Anzahl Aufzeichnungseinheiten pro Meile.
Zeile 2200:
druckt das Ergebnis des obigen Rechenvorgangs aus, um den etwa umfaßten Abstand anzugeben. Nach Eingabe der Streckendaten erfolgt im Programm die Eingabe der Stammprofildaten in Zeile 3000 bis 3330, wie der Kommentar in Zeile 3020 anzeigte
Zeile 3030:
Die Variable SM wird auf 1/100 eingestellt, wobei es sich um den Maßstabsfaktor für die Stammdatei handelt.
Zeile 3040:
Es wird bestimmt ob ein neuer Stammdatensatz einzugeben ist oder nicht. Wenn nicht, (die Antwort in Zeile 1560 war entweder eine Null oder lauter Leerstellen) wird Aussage 3200 (Zeile 3350) angesteuert. Wenn ein Stammdatensatz einzugeben ist, wird
Zeile 3050 bis 3290 durchgeführte
Zeile 3050:
bewirkt daß die Mitteilung "LOADING" ausgedruckt wird, um anzugeben, daß eine Befehls-
809810/0537
49 545
folge eingegeben wurde.
Zeile 3060:
setzt den Wert der Variablen J auf Null fest. Hier zeigt J wieder an, ob das erste, zweite oder ein nachfolgendes Kennzeichen behandelt wird.
Zeile 3070:
setzt die Stammaufzeichnungsnummer auf 1 fest.
Zeile 3080:
setzt den Abstandszähler MDIST auf Null fest. MDIST sammelt die Anzahl an Hundertsteln einer Meile, die in Bezug auf die erste Aufzeichnung zurückgelegt wurden.
Zeile 3090:
errichtet das Aussagefeld 3010 und liest eine Zeile des Stammdatensatzes aus dem Hilfsspeicher in den Hauptspeicher. Die Daten werden in der Aufzeichnung M der Variablen "MASTER" gespeichert und bestehen aus drei Elementen: Entfernung (in Hundertstel), Geschwindigkeit und ein Ereigniscode. Die Notierung "END = 3030" bewirkt die Ansteuerung der Aussage 3030 beim Erreichen des Endes des Datensatzes.
Zeile 3100 und 3110:
bewirken, daß Aufzeichnungen mit negativen Ereigniscodes ignoriert werden.
Zeile 3120:
stellt fest, ob die laufende Aufzeichnung innerhalb ihres Ereigniscodes ein Kennzeichen enthält. Das wird dadurch erreicht, daß zum Ereigniscode (MASTER 3,M) eine eins addiert wird und der resultierende Wert als Index in
809810/0587
66
49 545
Tabelle E4, definiert in Zeile 1070, verwendet wird. Wenn der resultierende Wert in der Tabelle eine eins ist, dann ist das Kennzeichen vorhanden. Wenn der Wert in der Tabelle Null ist, ist das Kennzeichen nicht vorhanden und die Aussage 3020 wird angesteuert, um zur nächsten Aufzeichnung vorzurücken. Wird ein Kennzeichen wahrgenommen, so stellt Zeile 3130 fest, ob es das erste oder ein folgendes Kennzeichen ist» Pur das erste Kennzeichen werden die Zeilen 3HO bis 3180 durchgeführt. Zeile 3HO setzt MS zum Hinweis auf die laufende Aufzeichnung und zur Lokalisierung des ersten Kennzeichens fest. Zeile 3150 legt den Wert für J gleich 1 fest, um anzuzeigen, daß das erste Kennzeichen verarbeitet worden ist. Zeile 3160 speichert die laufende Abstandszählung in der Variablen "MDISTM" zur späteren Verwendung.
Zeile 3170:
errechnet den Meilenstein (Entfernung) am Kennzeichen i durch Multiplizieren der laufenden Abstandszählung in Hundertstel einer Meile mit dem Maßstabsfaktor 0,01 und speichert die sich ergebende Meilenzahl im variablen Starter.
Zeile 3180:
überträgt die Ansteuerung auf die Aussage 3020, um zur nächsten Aufzeichnung vorzurücken.
Zeile 319O:
errichtet das Aussagefeld 3015 und stellt fest, ob das gerade aufgefundene Kennzeichen das zweite oder ein folgendes Kennzeichen ist. Wenn das zweite Kennzeichen verarbeitet worden ist. wird Aussage 3020 angesteuert, um zur nächsten Aufzeichnung vorzurücken, andernfalls stellt Zeile 3200 den Wert von J ein, um anzudeuten,
809810/0587
49 545
Si
daß das zweite Kennzeichen nun aufgefunden wurde.
Zeile 3210:
errechnet den relativen Abstand zwischen zwei Kennzeichen durch Subtrahieren der Abstandszählung am ersten Kennzeichen von der laufenden Abstandszählung und speichert das Ergebnis in der Variablen 11MDISTM".
Zeile 3220:
(Aussagefeld 3020) hält die Abstandszählung durch Addieren des Abstandes der laufenden Aufzeichnung (MASTER 1,M) zur vorherigen Zählung aufrecht.
Zeile 3230:
erhöht die Aufzeichnungszahl.
Zeile 3240:
prüft, ob die nächste Aufzeichnung in den für die Stammdatei in Zeile 1030 reservierten Bereich paßt, wenn ja, wird Aussage 3010 angesteuert, um die Aufzeichnung zu lesen. Wenn die nächste Aufzeichnungszahl die maximale Aufzeichnungszahl (MTM) übersteigt, so druckt der nächste Befehl in der Reihenfolge, Zeile 3245, eine Nachricht, die anzeigt, daß die Kapazität des Stammdateneingabesatzes überschritten wurde. Unter normalen Bedingungen erhält Zeile 3250 (Aussage 3030) die Ansteuerung von Zeile 3090, wenn das Ende eines Datensatzes aufgetreten ist und stellt den Wert von "MT" so ein, daß auf die letzte gültige Stammaufzeichnung im Hauptspeicher hingewiesen wird.
Zeile 3260:
druckt die Anzahl der "LOADED", d.h. der eingegebenen Stammaufzeichnungen aus. 809810/0587
49 545
Zeile 3270:
druckt eine Warnmitteilung, wenn mindestens
zwei Kennzeichen nicht aufgefunden wurden.
Zeile 3290:
ruft eine Service-Routine an, um die Stammdatei zu schließen und die äußere Speichervorrichtung aus dem Programm freizugeben.
Zeile 3350 bis 3400:
verwenden gewisse Werte, die vorher abgeleitet wurden, um einen Maßstabsfaktor für die aufgezeichneten Daten zu errechnen, wie durch den Kommentar in Zeile 3340 angegeben.
Zeile 3350:
(Aussage 3200) die Geschwindigkeitskonstante wird auf 1 eingestellt.
Zeile 3360:
Ein Anfangswert von Null wird dem Maßstabsiaktor oder der Entfernungskonstante (DC) zugeteilt. Wenn die Anzahl Aufzeichnungseinheiten zwischen den beiden ersten Kennzeichen der aufgezeichneten Daten nicht Null ist, errechnet Zeile 3370 einen neuen Wert für den Maßstabsfaktor durch Multiplizieren der Abstandszählung zwischen den beiden ersten Kennzeichen in den Stammdaten mit dem Maßstabsfaktor für die Stammdaten und anschließendes Dividieren durch die Zahl von Aufzeichnungseinheiten zwischen Kennzeichen in den aufgezeichneten Daten, um den Abstand zu erhalten, der von jeder Aufzeichnungseinheit (DC) dargestellt wird. Wenn der Maßstabsfaktor immer noch einen Wert Null in Zeile 3380 hat, wird ein Fehlerwert von 0,05 zugeteilt damit die Verarbeitung fortgesetzt werden kann. Das Zeichen von "DC" ist so ge-
809810/0587
49 545
27283^2
wählt, daß es zum Zeichen der Gesamtanzahl oder der Aufzeichnungseinheiten im Datensatz paßt, so daß, wenn die beiden Werte multipliziert werden, das Ergebnis eine positive Entfernung ist.
Zeile 3390:
errechnet diese gesamte gefahrene Distanz und speichert sie in "Dist".
Zeile 3400:
druckt die von der Aufzeichnung umfaßte gesamte zurückgelegte Entfernung und den Maßstabsfaktor aus, der im restlichen Programm verwendet werden soll.
Zeile 3410:
teilt den absoluten V/ert von 11DC" dem "DCPH zu. Hiermit wird die Befehlsfolge zur Eingabe der aufgezeichneten Daten und der zugehörigen Stammprofildaten aus der vorläufigen Speicherung in die endgültige Speicherung beendet. Nun sind die Daten zur Verarbeitung durch die restlichen Befehlsfolgen im Programm fertig. Die Zeilenzahlen in der 5000 .er Serie umfassen die Analyse-Routine (Fig. 5), welche die Ausnahmeberichte durch Vergleichen der aufgezeichneten Daten mit den Stammprofildaten erzeugt.
Zeile 5006:
bewirkt, daß eine Nachricht unter dem Formular 500 ausgedruckt wird, die den Operator veranlaßt, die Toleranz für die Geschwindigkeitsverletzung (in Meilen pro Stunde) einzugeben, wie es der Lesebefehl in Zeile 5008 anfordert. Dieser Wert bestimmt, um wieviel die tatsächliche Geschwindigkeit die Geschwindigkeitsbegrenzung überschreiten muß, ehe die Verletzung in
den Bericht eingeht. Der Wert wird in der 809810/0587
49 545
Variablen MTOL gespeichert.
Zeile 5010 bis 5052:
sorgen für die Erstellung einer Anzahl von Variablen zur Benutzung im Rest dieser Befehlsfolge.
Zeile 5030:
bewirkt, daß die Kopfzeile des Berichts gedruckt wird. Die Variable "distd" hält den Wert der Entfernung, bei der die laufende Datenaufzeichnung nicht mehr zutreffend ist. Ebenso ist "distm" der Abstand, bei dem die laufende Stammaufzeichnung nicht mehr zutreffend ist.
Zeile 5054:
stellt fest, welcher von diesen beiden Abständen zuerst auftritt, um festzulegen, welche der beiden Aufzeichnungen (Stamm oder Daten) als nächstes auf den neuesten Stand gebracht werden muß. Wenn der Datenabstand größer ist oder ebenso groß wie der Stammabstand, wird Zeile 5030 angesteuert, andernfalls werden die Zeilen 5058 bis 5109 durchgeführt, um die laufende Dateninformation aufzudatieren. In Zeile 5060 wird der Status des Endzeichens geprüft, um festzustellen, ob die vorhergehende Aufzeichnung vollständig verarbeitet wurde und, wenn das der Fall ist, wird die nächste Aufzeichnung verarbeitet.
Zeile 5062:
erhöht die Aufzeichnungszahl.
Zeile 5064:
prüft, ob die entstehende Aufzeichnungszahl innerhalb dee Bereiches gespeicherter Daten
809810/0587
49 545
liegt und, wenn das nicht der Fall ist, wird Aussage 5090 angesteuert, um die Analyse-Routine zu beenden.
Zeile 5066:
hält die Zählung der Zahl Aufzeichnungseinheiten aufrecht, die seit dem ersten Kennzeichen aufgetreten sind. ,
Zeile 5068:
errechnet die tatsächliche Geschwindigkeit durch Multiplizieren der aufgezeichneten Geschwindigkeit mit dem Geschwindigkeitsmaßstab (in diesem Fall mit 1). Für jede Aufzeichnung von Daten trifft der Ereigniscode nur für die letzte Aufzeichnungseinheit dieser Aufzeichnung zu. Wenn also eine Aufzeichnung mehr als eine Aufzeichnungseinheit darstellt und auch ein Ereignis enthält, muß sie zweimal verarbeitet werden, einmal für die letzte ein Ereignis enthaltende Aufzeiohnungseinheit und einmal für den Rest der Aufzeichnung ohne das Ereignis.
Zeile 5070:
prüft den Zustand des Ereigniscodes. Wenn ein Ereignis vorliegt, stellt Zeile 5072 fest, ob die Aufzeichnung mehr als eine Aufzeichnungseinheit darstellt und folglich eine Doppelverarbeitung erfordert. Ist das der Fall, so wird durch Zeile 507^ das Endzeichen gesetzt, um diese Tatsache anzuzeigen, und Zeile 5076 subtrahiert eine Einheit vom Entfernungszählerf um der letzten Aufzeichnungseinheit der Aufzeichnung gerecht zu werden, die das Ereignis enthält.
Zeile 5078:
setzt den laufenden Ereigniscode so fe»t, daß
809810/0587
49 545
keine Ereignisse angezeigt werden.
Zeile 5082:
errechnet die laufende Datenentfernung (Meilenstein) durch Addieren des Produktes der Aufzeichnungseinheitszählung (NDIST) und der Datenskala (DC) zum Abstand bei Beginn des Laufs.
Zeile 5084:
prüft dann, ob dieser neue Wert für den Abstand größer ist als der vorherige Abstand und, wenn das nicht der Fall ist, wird Aussage 5020 angesteuert, um die Daten vorzurücken, andernfalls stellt Zeile 5086 den letzten Abstand ein, der dem laufenden Abstand entspricht und Zeile 5088 gibt die Steuerung an Aussage 5060, um die Geschwindigkeit zu analysieren.
Zeile 5090:
wird angesteuert, wenn sich die letzte Einheit der Aufzeichnung in der Verarbeitung befindet und gibt diese Tatsache dadurch an, daß sie das Endzeichen freigibt.
Zeile 5092:
, -setzt dann die Einheitszählung wieder ein, die zeitweilig in Zeile 5076 aufgehoben war.
Zeile 5094:
teilt den laufenden Wert des Ereigniscodes der Variablen "EC" zu.
Zeile 5098:
hält eine Zählung der Zahl Aufzeichnungseinheiten aufrecht, während der die Bremsen angelegt wurden (allgemeiner gesagt, wenn Bit eine eins ist).
809810/0587
49 545
Zeile 5099 bis 5109:
In Pig. 18, timfassen eine Befehlsfolge, die als Beispiel dient für die Wahrnehmung und Mitteilung einer möglichen Ereignisverletzung.
Zeile 5100:
vergleicht den Wert des vorhergehenden Bremszustands (LEC) mit dem laufenden Zustand der Bremse. Wenn keine Änderung eingetreten ist, wird Aussage 5026 angesteuert, wo der laufende Bremsenzustand dem "LEC" zugeteilt wird. Aussage 5005 wird angesteuert, wenn die Bremsen das erste Mal angelegt werden und speichert die laufende Entfernung in der Junkvariablen "z"; Aussage 5007 wird angesteuert, wenn die Bremsen freigegeben werden und prüft den laufenden Stammereigniscode um festzustellen, ob es eine Einschränkung für die Bremsen gibt. Wenn ja, druckt Zeile 5107 die Verletzungsnachrieht zusammen mit dem Meilenstein, an dem die Bremsen freigegeben wurden.
Zeile 5120 bis 5180:
dienen zum Vorrücken der Stammdatei nach Bedarf.
Zeile 5130:
erhöht die Aufzeichnungszahl.
Zeile 5HO:
prüft ob die Aufzeichnung innerhalb des Datensatzes ist und, wenn nicht, wird Aussage 5090 angesteuert, um die Befehlsfolge zu beenden*
Zeile 5150:
errechnet die neue Stammentfernung.
809810/0587
(ok
ύ 9 545
Zeile 5160:
speichert die Geschwindigkeitsgrenze.
Zeile 5170:
speichert den Ereigniscode.
Zeile 5180:
Wenn keine Veränderung im Ereigniscode eingetreten ist, doh. wenn der nächste Stammereigniscode (KMEC) dem letzten Stammereigniscode (EMEC) gleich ist, wird Aussage 5059 angesteuert, wo der Wert von "LMEC" auf denselben Wert wie "NMEC" gesetzt wird. Wenn eine Änderung im Ereigniscode eingetreten ist, wird Zeile 519Ο bis 592Ο durchgeführt. Diese Zeilen dienen als ein zweites Beispiel der Wahrnehmung und Mitteilung einer möglichen Ereignisverletzung.
Zeile 5200:
stellt fest, ob die Änderung im vierten Stammereignisbit auftrat, der bei diesem Beispiel auf 1 eingestellt ist, um anzuzeigen, daß dynamische Bremsen für diese bestimmte Abstandsstrecke nötig sind. Wenn die Änderung nicht an diesem Bit auftrat, wird Aussage 5036 angesteuert, wo einer der anderen Bits des Ereigniscodes geprüft werden kann. War der vierte Bit eine Null und ist jetzt eine eins, so tritt das Fahrzeug in einen notwendigen Bremsbereich ein und Zeile 5210 bis 5240 wird durchgeführt.
Zeile 5210:
Die Zählung der Zahl von Aufzeiohnungsintervallen wird auf Null zurückgestellt.
809810/0587
49 545
6 s
Zeile 5220:
stellt die Zählung auf eins ein, wenn das Fahrzeug gegenwärtig seine Bremsen angelegt hat.
Zeile 5230:
eine Variable wird eingestellt, um den Meilenstein am Beginn des Bereichs in Erinnerung zu bringen.
Zeile 5240:
überträgt die Ansteuerung zur nächsten Ereignisüberprüfung. Wenn das vierte Bit eine eins war und nun Null ist, hat das Fahrzeug grade einen notwendigen Bremsbereich verlassen und Zeile 5250 bis 5270 wird durchgeführt.
Zeile 5250:
errechnet einen Wert für die Variable "X", bei dem es sich um das Verhältnis zwischen dem Abstand, in dem die Bremsen angelegt waren, und dem Abstand, in dem sie nötig waren, handelt.
Zeile 5260:
prüft dies Verhältnis im Vergleich zu einem vorherbestimmten Mindestwert und gibt die Steuerung zur nächsten Ereignisüberprüfung weiter, wenn die Anforderung befriedigt wurde. Wurde die Bedingung nicht erfüllt, d.h. waren Bremsen mindestens über 50 % des Bereichs nötig und nur, sagen wir über 10 # hinweg angelegt, so wird die Verletzung in Zeile 5270 dadurch angezeigt, daß der erste und letzte Meilenstein für den Bereich sowie der Bruchteil des Bereichs, in dem die Bremsen tatsächlich angelegt waren, ausgedruckt werden. Wie der Kommentar in Zeile 5280 anzeigt, können an dieser Stelle je nach Bedarf des Benutzers andere Prüfbefehlsfolgen
809810/0587
49 545
eingeschoben werden. Die restlichen Zeilen 5320 bis 5640 umfassen die Befehlsfolge, gemäß der die Fahrzeuggeschwindigkeit mit der Geschwindigkeitsbegrenzung verglichen und Verletzungen durch überhöhte Geschwindigkeit im Bericht ausgedruckt werden.
Zeile 5330:
Die Anfangsdistanz des laufenden Abschnitts wird so eingestellt, daß sie der Enddistanz des vorhergehenden Abschnitts gleich ist, und die Enddistanz des laufenden Abschnitts wird auf die kleinere der beiden Variablen "DISTD" und "DISTM" eingestellt, bei denen es sich um die Abstände handelt, an denen die laufenden Strecken- und Stammaufzeichnungen nicht mehr anwendbar sind.
Zeile 5350:
stellt dann fest, ob die Geschwindigkeit die Geschwindigkeitsbegrenzung um mehr als den Viert der Toleranz übersteigt und, wenn ja, wird Zeile 5360 bis 5430 durchgeführt, andernfalls wird Zeile 5440 angesteuert.
Zeile 5360:
setzt den Wert von "ISV" fest, um anzuzeigen, daß gegenwärtig die Geschwindigkeitsbegrenzung verletzt wird.
Zeile 5370:
setzt den Wert von "BDIST" (Meilenstein am Beginn der Verletzung) auf die laufende Abschnittsentfernung fest, wenn das Fahrzeug gerade die Verletzung aufgenommen hat.
Zeile 5380:
stellt das Ausmaß der überhöhten Geschwindig-
809810/0587
49 51-5
keit fest.
Zeile 5390:
Die laufende überhöhte Geschwindigkeit wird im Vergleich zur maximalen überhöhten Geschwindigkeit der laufenden Verletzung geprüft und, wenn sie den vorherigen Maximalwert übersteigt, wird Zeile 5400 bis 5430 durchgeführt.
Zeile 5410:
setzt den Wert der maximalen Verletzung auf den der laufenden Verletzung fest, Zeile 5410 speichert die Grenze bei der maximalen Verletzung in "MLIMIT".
Zeile 5420:
errechnet den ungefähren Meilenstein für die maximale Verletzung.
Zeile 5430:
steuert Aussage 5070 an, zum Vorrücken auf den nächsten Abschnitt. Wenn in Zeile 5390 festgestellt wurde, daß die Fahrzeuggeschwindigkeit keine Verletzung darstellte, dann wird in
Zeile 5440 der Zustand des Verletzungsindikators geprüft. Wenn der Indikator eingestellt ist, hat das Fahrzeug gerade eine Verletzung hinter sich gelassen, und Zeile 5450 bis 5530 müssen durchgeführt werden.
Zeile 5450:
bereinigt den Verletzungsanzeiger.
Zeile 5460:
erhöht die Zählung der Zahl von Geschwindigkeitsverletzungen.
809810/0587
49 545
Zeile 5470:
errechnet die Länge der Verletzung.
Zeile 5480:
hält die Gesamtzahl Meilen der Geschwindigkeitsverietzungen fest.
Zeile 5490:
druckt eine Zusammenfassung der Verletzungen.
Zeile 5500:
stellt fest, ob dies das letzte Mal durch die Schleife war und, wenn ja, wird Aussage 5094 angesteuert. Wenn nicht, werden die drei Variablen "BDIST", "MLIMIT" und "MAXOVR" auf Null zurückgestellt und Zeile 5540 bewirkt den Übergang der Stuerung an Aussage 5010, um die Daten vorzurücken. Wenn entweder die Strecken- oder die Stammdaten aufgebraucht sind, wird Zeile 5570 angesteuert, um die Befehlsfolge zu beenden. Hier prüft Aussage 5090 den Status des Verletzungsindikators und, wenn dieser noch eingestellt ist, zeigt Zeile 5580 an, daß dies die "last" Verletzung ist, und Zeile 5590 steuert Aussage 5062 an, um das auszudrucken.
Zeile 5600:
prüft die Verletzungszählung. Wurden keine Verletzungen festgestellt, so druckt Zeile 5630 die Nachricht "no speed violations detected", andernfalls druckt Zeile 5610 die Anzahl Verletzungen und die Gesamtmeilenzahl während der Verletzung. In jedem Fall wird Aussage 4000 angesteuert, um die nächste Anfrage zu erhalten. Zeilenzahlen in der 7000 ,.er Serie umfassen die Zeichen-Routine (Pig. 3 & 20), die von Zeile 4030 an eingegeben wird, wenn eine Anfrage nach einer grafischen Darstellung besteht.
809810/0587
49 545
Zeile 7030:
druckt eine Nachricht, um den Operator zu veranlassen, die "limits" für die Zeichnung einzugeben.
Zeile 7040:
liest dann die Meilensteine für den Beginn und das Ende der laufenden Nachfrage nach einer grafischen Darstellung.
Zeile 7050 und 7060:
erfordern und lesen in ähnlicher Weise die Skala (oder Auflösung) für die Zeichnung.
Zeile 7070:
Wenn die gerade eingegebene Skala den V/ert Null hat, wird die Anforderung wiederholt. Wenn der eingelesene Wert größer ist als Null, so gibt er die Anzahl Zeilen pro Meile an; ist der Wert kleiner als Null, so gibt er die Anzahl Meilen pro Zeile an. Auf dieser Definition beruhend gelangt man über die Zeilen 7080 und 7090 auf einen Wert für die Variable "scale", bei der es sich um den tatsächlichen Abstand zwischen jeweils aufeinanderfolgenden Zeilen in der Zeichnung handelt. Wenn z.B. 20 Zeilen pro Meile angefordert wurden, wäre der Wert der Skala 0,05 (1/20).
Zeile 7100:
gewährleistet, daß der Anfangsmeilenstein für die Zeichnung (start) größer ist oder gleich dem Anfangsmeilenstein für die aufgezeichnete Fahrt (Startr).
Zeile 7110:
errechnet die Anzahl zu druckender Zeilen als eins mehr als die Anzahl angeforderter Meilen dividiert durch die Meilen pro Zeile. Wenn die
809810/0587
49 545
Anzahl der Zeilen größer ist als ein vorherbestimmter Sicherheitsfaktor von, sagen wir (41), so wird mit dieser Befehlsfolge die Genehmigung erbeten, wie folgt fortzufahren.
Zeile 7120:
Aussage 7005 wird angesteuert, um mit der Zeichnung zu beginnen, wenn die Zeilenzahl innerhalb der Grenze liegt, andernfalls druckt Zeile 7150 die Anzahl Zeilen aus und erbittet Genehmigung zur Portsetzung. Die Antwort wird in Zeile 7140 eingelesen und, wenn kein "yes" erhalten wurde, stellt Zeile 7150 die Steuerung auf Aussage 4000 zurück, um eine neue Anfrage zu erhalten.
Zeile 7160 bis 7220:
teilen den Variablen nach Bedarf Anfangswerte zu.
Zeile 7230 bis 7300:
besorgen die richtigen Stammdaten zur Verwendung für die laufende Zeile der Zeichnung.
Zeile 7230:
rückt die Stammaufzeichnungsnummer vor.
Zeile 7240:
prüft, ob das Ende der Stammdatei erreicht worden ist und, wenn ja, wird Aussage 7059 angesteuert, um die Befehlsfolge zu beenden.
Zeile 7250:
errechnet einen neuen Wert für den Stammabstand.
Zeile 7260:
bringt ein Leerzeichen (CB) in den Zeichnungspuffer, wo die alten Daten sich befanden.
809810/0587
49
Zeile 7270: errechnet eine neue Stammdatenposition (PM) als eins mehr als die Hälfte der Geschwindigkeitsbegrenzung
Zeile 7280: bewegt das Stammzeichen (CM = #) zur neuen Stellung im Puffer.
Zeile 7290: ersetzt das Datenzeichen (CD), da Stamm- und Datenposition zusammenfallen können.
Zeile 7300: stellt fest, ob der Stammdatensatz weit genug vorgerückt wurde, um die laufende Zeile der Zeichnung einzuschließen und, wenn nicht, müssen die obigen Schritte wiederholt werden.
Zeile 7310 bis 7470: besorgen die richtigen Streckendaten für die laufende Zeile der Zeichnung.
Zeile 7310: bestimmt, ob der Streckendatensatz weit genug vorgerückt wurde und, wenn ja, wird Aussage 7030 angesteuert, andernfalls erhöht Zeile 7320 die Aufzeichnungszahl.
Zeile 7330: prüft, ob die Streckendaten bereits zu Ende sind.
Zeile 7340: behält die Zählung der aufgetroffenen Aufzeichnungseinheiten bei.
Zeile 7350: erreohnet den neuen Datenabstand.
809810/0587
TAf
49
Zeile 7360:
prüft, ob der Datensatz weiter vorgerückt werden muß.
Zeile 7370:
bringt ein Leerstellenzeichen in die alte Datenposition.
Zeile 7380:
errechnet die neue Position der Geschwindigkeit im Puffer.
Zeile 7390:
begrenzt die Druckposition auf das 52* · Zeichen.
Zeile 7400:
ersetzt das Stammzeichen, da es mit dem alten Datenzeichen möglicherweise zusammenfiel, welches entfernt wurde. Zeile 7410 bringt das Datenzeichen (CD) in den Puffer in seine neue Position. Pur jede Aufzeichnung trifft der Ereigniscode nur für die letzte Aufzeichnungseinheit in der Aufzeichnung zu. Im Zeitpunkt des Ausdruckens hält die Variable "L" den richtigen Wert des Ereigniscodes, wie er durch die Zeilen 7420 bis 7460 festgelegt wurde.
Zeile 7420:
teilt "L" einen Anfangswert von 1 zu (keine Ereignisse)
Zeile 7430:
Der Ereigniscode wird in der Variablen "K" gespeichert.
Zeile 7450:
errechnet den Abstand, bei dem dar Ereigniscode wirksam wird (DISTE) als eine Einheit (DCP) we-
809810/0587
ΐό
49 345
niger als der Abstand für das Ende der Aufzeichnung (DISTD).
Zeile 7460:
teilt "L" den V/ert des Ereigniscodes (K) zu, wenn der Zeichnungsabstand den "event distance" (DISTE) übersteigt.
Zeile 7480:
stellt fest, wieviel vom Zeichnungspuffer ausgedruckt werden muß, um sowohl die Stammzeichen als auch die Datenzeichen zu umfassen. Dieser Schritt erspart ein Ausdrucken von Leerzeichen rechts von den tatsächlichen Daten und spart damit Zeit.
Zeile 7490:
bewirkt den Ausdruck der Kopfzeile der Zeichnung (Figo 4, Bezugszeichen 44) gemeinsam mit der Datenaufzeichnungszahl, wenn der Abstand dem Anfangsabstand gleich ist.
Zeile 7500:
druckt die laufende Zeile der Zeichnung aus, die aus dem Abstand (Meilenstein), den Ereigniszeichen und soviel Zeichen im Puffer besteht, wie durch die Variable "J" bestimmt.
Zeile 7520:
errechnet den Abstand für die nächste Zeile durch Addieren des Maßstabs zum vorherigen Abstand. Wenn der dabei entstehende Abstand geringer ist als der Endabstand, übergibt die Zeile 7530 die Ansteuerung an Aussage 7015» um mit der Verarbeitung fortzufahren. Bei Beendigung der laufenden Nachfrage nach einer grafischen Darstellung (oder wenn entweder die Stammdaten oder die Streckendaten erschöpft sind), wird
809810/0587
49 545
in
Zeile 7540:
die untere Zeile der Zeichnung ausgedruckt.
Zeile 7550:
steuert Aussage 4000 an, um eine neue Anforderung zu erhalten.
809810/0587
Leerseite

Claims (1)

2J Verfahren zum Verarbeiten von in einem Fahrzeug aufgezeichneten Fahrdaten, dadurch gekennzeichnet, daß die aufgezeichneten Tahrdaten an ein vom Fahrzeug entferntes Speichermedium gegeben werden, daß die Daten im Speichermedium in eine vorgewählte Form umgewandelt werden, daß die umgewandelten Daten in einen Rechner eingegeben werden, daß Starnmdaten, die ein bekanntes Leistungsprofil darstellen, in den Rechner eingegeben werden, und daß die Fahrdaten mit den Stammdaten im Rechner unter der Steuerung durch ein Programm zur Ableitung analytischer Ergebnisse hinsichtlich der Fahrleistung verglichen werden. 2. Verfahren nach Anspruch 1, dadurch gekennze i chne t, daß die analytischen Ergebnisse an eine AJigabestation zur zeichnerischen Darstellung übertragen werden. 3. Verfahren zum Verarbeiten von in einem Fahrzeug, insbesondere einem Zug aufgezeichneten Fahrdaten, insbesondere Streckendaten, dadurch gekennzeichnet, daß die aufgezeichneten Streckendaten an eine Speichervorrichtung an einer entfernten Datenverarbeitungsstation übermittelt werden, daß die Daten in der Speichervorrichtung in eine vorgewählte Form umgewandelt werden, daß die umgewandelten Daten in einen Rechner eingegeben werden, daß Streckenstammdaten, die ein bekanntes Leistungsprofil darstellen, in den Rechner eingegeben werden, und daß die Fahrdaten mit den Stammdaten im Rechner unter der 809810/0587 ORIGINAL INSPECTED 49 545 Steuerung durch ein Programm zur Ableitung analytischer Ergebnisse hinsichtlich der Fahrleistung verglichen werden. 4. Verfahren nach Anspruch 3, dadurch gekennze ichne t, daß die analytischen Ergebnisse an eine Ausgabestation zur zeichnerischen Darstellung übertragen werden. 5. Verfahren zum Verarbeiten von in einem Fahrzeug, insbesondere einem Massenverkehrstransportmittel aufgezeichneten Fahrdaten unter Verwendung eines Rechnerprogramms, dadurch gekennze i ohne t, daß ein Datensatz aufgezeichneter in eine bestimmte Form gebrachter Leistungsdaten in den Speicher des Rechners eingegeben wird, und daß die aufgezeichneten Daten und Stammdaten einem Zweig mit Mehrfachoption zur Analyse der aufgezeichneten Daten in einer von verschiedenen Datenverarbeitungsweisen unterworfen werden. 6. Verfahren nach Anspruch 5» dadurch gekennzeichnet, daß eine der Datenverarbeitungsweisen das zeichnerische Darstellen aufgezeichneter Daten als Funktion der zurückgelegten Entfernung umfaßt. 7. Verfahren nach Anspruch 5, dadurch gekennzeichne t, daß eine der Datenverarbeitungsweisen die Analyse aufgezeichneter Daten nach dem Vergleich mit Stammdaten umfaßt. 8. Verfahren nach Anspruch 5, dadurch gekennzei chne t, daß eine der Datenverarbeitungsweisen die Tabellenerstellung aufgezeichneter Daten zur Datenüberprüfung umfaßt. 9. Verfahren nach Anspruch 6, 809810/0587 49 545 dadurch gekennzei ohne t, daß eine weitere Datenverarbeitungsweise die Analyse aufgezeichneter Daten nach dem Vergleich mit Stammdaten umfaßtfund daß eine weitere Datenverarbeitungsweise die Tabellenerstellung aufgezeichneter Daten zur Drfcenüberprüfung umfaßt. 10. Arbeitsverfahren für einen Digitalrechner zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche unter Verwendung eines Rechnerprogramms mit einer Routine zur zeichnerischen Darstellung von Analyseergebnissen, dadurch gekennzeichnet, daß die den Anfang und das Ende eines zeichnerisch darzustellenden Fahrzeuglaufs begrenzenden Meilensteine eingegeben werden, daß die Auflösung oder die zeichnerisch darzustellende Zeilenzahl für jede Meile des Laufs eingegeben wird, daß die zeichnerisch darzustellende Gesamtzeilenzahl mit Bezug auf die Meilensteine errechnet wird, daß das Rechenergebnis mit einem vorhergewählten Bezugswert verglichen wird, um die Portsetzung der Routine zu unterbinden, wenn der errechnete Wert den Bezugswert übersteigt, daß ein Stammdatensatz, der vorgewählte Ereignisse und Betriebsmerkmale einschließt und mit dem der Streckendatensatz verglichen wird, mit Bezug auf Meilensteine auf den neusten Stand gebracht wird, daß vorgewählte Stammdateimerkmale für einen gegebenen Meilenstein in einem Puffer zur zeichnerischen Darstellung nach dem Meilenstein gespeichert werden, daß die Streckendaten mit Bezug auf die gleichen Meilensteine des auf den neuesten Stand gebrachten Stammdatensatzes auf den neuesten Stand gebracht werden, daß vorgewählte Streckendatendateimerkmale, die einem laufenden Meilenstein des auf den neuesten Stand gebrachten Stammdatensatzes im Puffer zur zeichnerischen Darstellung nach Meilenstein gespeichert werden, daß der Puffer an eine Ausgabevorrichtung zur Anzeige übertragen wird, daß die Beendigung der zeichnerischen Darstellung wahrgenommen wird, und daß die Routine zur zeichneri- 809810/0587 49 545 - 4 sehen Darstellung beendet \irird. 11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß, wenn der Stammdatensatz auf den neuesten Stand gebracht wurde, in einer Stufe festgestellt wird, ob ein laufender Meilenstein des auf den neuesten Stand gebrachten Stammdatensatzes den letzten im Stammdatensatz enthaltenen Meilenstein überschreitet. 12. Datenverarbeitungseinrichtung zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche, bei dem die Ergebnisse ausgedruckt werden, gekennzeichnet durch einen Digitalrechner, eine Einrichtung zur Eingabe von Meilensteindaten aus dem Fahrzeuglauf in den Rechner, eine Einrichtung zur Eingabe von Geschwindigkeitsbegrenzungsdaten zwischen Meilensteinen in den Rechner, eine Einrichtung zur Eingabe aufgezeichneter Streckendaten zwischen Meilensteinen in den Rechner, eine dem Rechner zugeordnete Einrichtung zum Errechnen des Ausmaßes von Gesehwindigkeitsverletzungen zwischen aufeinanderfolgenden Meilensteinen, eine dem Rechner zugeordnete Einrichtung zum Wahrnehmen der maximalen Geschwindigkeit zwischen aufeinanderfolgenden Meilensteinen, und eine Einrichtung zum Ausdrucken der aufgezeichneten Geschwindigkeit, der Geschwindigkeitsbegrenzung und des Ausmaßes der Geschwindigkeitsverletzungen unter Bezug auf die jeweiligen aufeinanderfolgenden Meilensteine. 13. Datenverarbeitungseinrichtung nach Anspruch 12, dadurch gekennzei ohne t, daß dem Rechner eine Einrichtung zugeordnet ist, die die Gesamtzahl von Geschwindigkeitsverletzungen und die Gesamtzahl von während Verletzungen zurückgelegten Meilen feststellt. 14. Arbeitsverfahren für einen Digitalrechner zum 609810/0587 49 545 Durchführen des Verfahrens nach einem der Ansprüche 1 bis 9» dadurch gekennzei chne t, daß aufgezeichnete Meilensteindaten aus einem Fahrzeuglauf in ein Rechnersystem eingegeben werden, dai3 Geschwindigkeitsbegrenzungen zwischen Meilensteinen in das Rechnersystem eingegeben werden, daß aufgezeichnete Streckendaten zwischen Meilensteinen in das Rechnersystem eingegeben werden, daß das Ausmaß von Geschwindigkeitsverletzungen zwischen hintereinander angeordneten Meilensteinen errechnet wird, daß die maximale Geschwindigkeitsverletzung zwischen aufeinanderfolgenden Meilensteinen wahrgenommen wird, und daß die Geschwindigkeitsbegrenzung, Geschwindigkeitsverletzungen und die maximale Geschwindigkeit in einer Druckzeile ausgedruckt werden, die durch die entsprechenden, aufeinanderfolgenden Meilensteine gekennzeichnet ist. 15. Datenverarbeitungoeinrichtung zum Durchführen des Verfahrens nach einem der vorhergehenden Ansprüche, bei dem die Ergebnisse zeichnerisch dargestellt werden, dadurch gekennzeichne t, daß ein Rechner vorgesehen ist, daß eine Einrichtung zur Eingabe von Streckendaten einschließlich der Meilensteinanordnung, Geschwindigkeit, eingetretenerEreignisse und Geschwindigkeitsbegrenzungen aus einem Fahrzeuglauf in den Rechner vorgesehen ist, daß eine Zeicheneinrichtung an den Rechnerausgang angeschlossen ist, die die Meilensteinanordnung längs einer ersten Achse zeichnerisch darstellt, daß die Zeicheneinrichtung ferner die Geschwindigkeit als Funktion der Meilensteinanordnung einträgt, daß die Zeicheneinrichtung die Geschwindigkeitsbegrenzung als Funktion der Meilensteinanordnung einträgt, und daß die Zeicheneinrichtung Codes, die die jeweiligen Ereignisse darstellen, neben den entsprechenden Meilensteinanordnungen auflistet. 16. Verfahren nach einem der vorhergehenden Ansprüche, bei dem aufgezeichnete Streckendaten aus einem 809810/0587 40 545 Fahrzeuglauf zeichnerisch dargestellt werden, dadurch gekennzeichnet, daß Meilensteindaten, einschließlich Keilensteinanordnung, eingetretener Geschwindigkeitsereignisse und Geschwindigkeitsbegrenzungen in einen Rechner eingegeben werden, daß die Daten im Rechner in eine Form verarbeitet werden, die zur zeichnerischen Darstellung mittels eines Druckers geeignet ist, daß die Meilensteinanordnung längs einer ersten Achse eingetragen wird, daß die Geschwindigkeit als Funktion der Meilensteinanordnung eingetragen wird, daß die Geschwindigkeitsbegrenzung als Funktion der Meilensteinanordnung eingetragen \vird, und daß die jeweiligen Ereignisse darstellende Codes in der Nähe der entsprechenden Meilensteinanordnungen aufgelistet werden. 17· Verfahren nach einem der vorhergehenden Ansprüche, bei dem Fahrdaten in einer Routine auf den neuesten Stand gebracht werden, dadurch gekennzeichnet, daß ein Datenzeilenzähler auf eine laufende Zeile erhöht wird, daß festgestellt wird, ob die erhöhte Zeilenzählung innerhalb der Grenzen der aufgezeichneten Daten liegt, daß die tatsächliche Geschwindigkeit des Fahrzeugs an Hand der aufgezeichneten Daten an einer laufenden Zeile festgestellt wird, daß an Hand der aufgezeichneten Daten festgestellt wird, ob während der laufenden Zeile eine übermäßig starke Leistung aufgebracht wurde, und daß im bejahenden Fall das Programm wie folgt weiterläuft: a) daß ein geeigneter Ereigniscode erzeugt und eine Zählung von analysierten Datenzeilen angesammelt wird, b) daß die laufende Entfernung dadurch errechnet wird, daß sie der in der ersten Datenzeile enthaltenen Anfangsentfernung gleichgesetzt wird und zu einem Maßstabsfaktor addiert wird, der mit der angesammelten Zählung multipliziert wird, 809810/0587 49 545 -Ί ο) daß festgestellt wird, ob die laufende Entfernung geringer ist als eine vorher errechnete Entfernung, was eine Rückwärtsbewegung des Fahrzeugs anzeigt, wobei die Peststellung eines Rückwärtsfahrens bewirkt, daß die Programmschleife zum Beginn der Routine zurückgeht, und daß d) die laufende Entfernung gespeichert wird, wenn sich herausstellt, daß sie größer ist als die vorhergehende Entfernung, und daß das Programm mit folgenden Schritten weiterläuft, wenn keine übermäßig starke Leistung aufgebracht wurde, e) daß festgestellt wird, ob die Bremsen angelegt wurden, und daß im verneinenden Fall das Programm mit den oben definierten Schritten a-d fortfährt und im bejahenden Fall die Routine mit folgenden Schritten weiterläuft, f) daß ein erzeugter Ereigniscode hinsichtlich des Bremsvorganges gespeichert wird, g) daß festgestellt wird, ob das Bremsen durch das Anlegen regulärer Fahrzeugbremsen verursacht wurde, h) daß festgestellt wird, ob das Bremsen durch das Anlegen dynamischer Bremsen verursacht wurde, i) daß ein Stammdatensatz geprüft wird, um festzustellen, ob auf der laufenden Entfernung eine Bremsbeachränkung bestand, und j) daß die Routine zu den Schritten b-d zurückgestellt wird. 18. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mit einer Routine die Stammdaten auf den neuesten Stand gebracht werden, dadurch gekennzeichnet, daß ein Stammdaten-Zeilenzähler auf eine laufende Zeile erhöht wird, daß festgestellt wird, ob die erhöhte Zeilenzählung innerhalb der Grenzen der aufgezeichneten Stammdaten liegt, daß die der 809810/0587 43 545 laufenden Zeile Stammdaten zugehörige Entfernung ebenso wie die dieser Entfernung zugeordnete Geschwindigkeitsbegrenzung zeitweilig gespeichert wird, daß ein einem vorherbestimmten Betriebsereignis entsprechender Ereigniscode, der der laufenden Zeile Stammdaten zugeordnet ist, zeitweilig gespeichert wird, daß Ereigniscodes eines vorhergehenden und des laufenden Intervalls verglichen werden, um festzustellen, ob sie gleich sind, und daß der letzte Code dee laufenden Code gleichgesetzt wird, wenn keine Veränderung eingetreten ist, und daß, wenn eine Veränderung eingetreten ist, festgestellt wird, ob die Stammdaten bedeuten, daß das Fahrzeug in ein erforderliches dynamisches Bremsereignis eintritt oder ein erforderliches dynamisches Bremsereignis verläßt, und daß a) beim Eintreten in ein erforderliches dynamisches Bremsereignis die Routine wie folgt weiterläuft, daß die Zahl vorgewählter aufeinanderfolgender Stammdatenintervalle gezählt wird, die ein erforderliches dynamisches Bremsereignis einschließen, daß das Auftreten des ersten erforderlichen dynamischen Bremsereignisses mit einem bestimmten Meilenstein in Beziehung gesetzt wird, und daß b) wenn ein erforderliches Bremsereignis verlassen wird, die Routine wie folgt weiterläuft, daß an Hand der Operation und der Stammdaten festgestellt wird, während welches Prozentsatzes an Zeit das Fahrzeug die dynamischen Bremsen während der Intervalle, während der es erforderlich war, angelegt hatte, daß der Prozentsatz mit einem vorgewählten Wert verglichen wird, unterhalb dessen eine Verletzung des Ereignisses als eingetreten betrachtet wird, und daß eine Verletzung angezeigt wird, wenn festgestellt wird, daß eine eingetreten ist, und daß c) wenn die Stammdaten anzeigen, daß weder in ein erforderliches dynamisches Bremsereignis eingetreten noch eins verlassen wurde, der letzte Code dem laufenden Code 809810/0587 49 545 gleichgesetzt wird» 19. Verfahren nach einem der vorhergehenden Ansprüche, bei dem mit einer Routine die Fahrzeuggeschwindigkeit geprüft wird, dadurch gekennze i ohne t, daß die Fahrdatengeschwindigkeit mit der Stammdatengeschwindigkeit für ein laufendes Intervall verglichen wird um festzustellen, ob eine Geschwindigkeitsverletzung vorliegt, daß bei Vorliegen einer Verletzung a) die Größe der Verletzung während des Intervalls errechnet wird, b) daß festgestellt wird, ob die Verletzung größer ist als vorher festgestellte Verletzungen, daß im verneinenden Fall
1) die Stamm- und Fahrdaten auf den neuesten Stand gebracht werden, um die Geschwindigkeit eines anschließenden Intervalls zu prüfen,
2) im bejahenden Fall die Größe der Verletzung während
wird des laufenden Intervalls zeitweilig gespeichert, daß die während der Verletzung zurückgelegte Entfernung errechnet und dann gespeichert und dann die Stammdaten und Fahrdaten auf den neuesten Stand gebracht werden, um die Geschwindigkeit in einem anschließenden Intervall zu prüfen, und daß, bei nicht Vorliegen einer Verletzung,
c) festgestellt wird, ob ein unmittelbar vorhergehendes Intervall eine Verletzung umfaßte, daß
1) im verneinenden Fall Stamm- und Fahrdaten auf den neuesten Stand gebracht werden, um die Geschwindigkeit eines anschließenden Intervalls zu prüfen, daß
2) im bejahenden Fall angezeigt wird, daß das Fahrzeug aus einer Verletzung herausgekommen ist und daß es
809810/0587
49 545
eine vorläufige Speicherung angesammelter Verletzungen, der gesamten verletzenden Entfernung während des laufenden Intervalls und der kumulativen Entfernung gibt - ., die das Fahrzeug während der Verletzung zurückgelegt hat,
d) daß die Verletzung in der zeitweiligen Speicherung als Ergebnis der vorhergehenden Stufe angezeigt wird,
e) daß festgestellt v/ird, ob das laufende Intervall das letzte aufgezeichnete Intervall eines Laufs ist, daß
1) im verneinenden Fall der Meilenstein, an dem das Fahrzeug die Verletzung verließ, die Entfernung, an der die maximale Verletzung auftrag und das Ausmaß der Verletzung zeitweilig gespeichert v/ird, und daß
2) im bejahenden Fall festgestellt wird, ob während des gesamten Laufs irgendwelche Verletzungen auftraten4 und daß eine Zusammenfassung angezeigt wird, die gegebenenfalls zu erkennen gibt, wieviele Verletzungen während des Laufs auftraten und wieviele Meilen während der Verletzungen zurückgelegt wurden.
20. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die Fahrdaten^ennzeichen zum Anzeigen des Beginns und Endes eines Laufs umfassen und mit einer Routine Fahrdaten in einen Rechnerspeicher eingegeben werden, dadurch gekennzeichnet, daß die Datensatzanordnung festgestellt wird, um zwischen vorangeordneten und unverarbeiteten Fahrdaten zu unterscheiden,
a) daß bei Vorlage vorgeordneter Fahrdaten die vorgeordneten Fahrdaten in einen Speicher zur Datenverarbeitung eingelesen werden, daß
b) bei Vorlage unverarbeiteter Daten
1) die unverarbeiteten Fahrdaten in eine vorläufige Speicherstelle eingelesen werden,
2) daß die Daten in der vorläufigen Speicherung in eine
809810/0587
49 545
- 11 -
für die Datenverarbeitung geeignete Form umgeordnet werden, und daß
c) die Datenkennzeichen in den Daten wahrgenommen werden, um Anfang und Ende des aufgezeichneten Laufs zum Vergleich mit den Stammdaten zu bestimmen.
21. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die StammdatenJCennzeichen enthalten, die vorherbestimmte Stellen eines Laufs anzeigen, und bei dem mit einer Routine Stammdaten in einen Rechner eingegeben werden, dadurch gekennzeichnet, daß die erste Aufzeichnung von Stammdaten in eine vorläufige Speicherung eingelesen wird, daß die erste Aufzeichnung in der vorläufigen Speicherung geprüft wird, um festzustellen, ob in der Aufzeichnung ein Ereigniscode vorhanden ist, der das Auftreten eines vorgewählten Ereignisses an einer bestimmten Entfernung längs eines Laufs andeutet, daß
a) festgestellt wird, ob der Code ein Datenkennzeichen anzeigt, daß im verneinenden Fall
b) die laufende Entfernung der Stammdaten festgestellt wird,
c) daß die Aufzeichnung auf den neuesten Stand gebracht wird,
d) daß festgestellt wird, ob die auf den neuesten Stand gebrachte Aufzeichnung innerhalb von Grenzen der aufgezeichneten Stammdaten liegt,
e) daß der Datensatz geschlossen wird, wenn die Grenze auf den Stammdaten erreicht ist, daß, wenn die Feststellung aus Schritt a) positiv ist,
f) festgestellt wird, ob das wahrgenommene Kennzeichen das erste wahrgenommene Kennzeichen ist, daß im bejahenden Fall
g) der Abstand des ersten Kennzeichens als Bezugspunkt für
809810/0587
49 545
- 12 -
einen Fahrzeuglauf zeitweilig gespeichert wird, und daß mit Schritten b-e fortgefahren wird, daß, wenn Schritt f negativ ist,
h) festgestellt wird, ob das wahrgenommene Kennzeichen das zweite wahrgenommene Kennzeichen ist, daß im bejahenden Fall
i) der Abstand zwischen dem ersten und dem zweiten Kennzeichen errechnet wird,
j) daß mit den Schritten b-e fortgefahren wird.
22. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jede Betriebsangabe ein Kennzeichen umfaßt, das einen Ereigniscode angibt, der dem Auftreten mindestens eines vorherbestimmten Betriebsereignisses entspricht, und bei dem Ereigniscodedaten neu angeordnet werden, dadurch gekennze i chne t, daß festgestellt wird, ob ein vorherbestimmtes erstes Bit des Ereigniscodezeichens erscheint, welches angibt, daß alle Betriebsereignisse während eines bestimmten Probeintervalls eingetreten sind, aus dem der Ereigniscode abgeleitet ist, daß bejahenden Falls
a) das erste festgestellte Bit zeitweilig gespeichert wird, daß im verneinenden Fall
b) festgestellt wird, ob das Ereigniscodezeichen einen binären Wert hat, der kleiner ist als eine erste vorherbestimmte Menge, was ein ungültiges Zeichen angibt, daß im bejahenden Fall
c) ein Bit zeitweilig gespeichert wird, welches diese Ungültigkeit anzeigt, welche aus einem Aufzeichnungsband-Synchronisationsfehler resultiert,
d) daß die Routine stillgesetzt wird, wenn die angesammelten Bandsynchronisationsfehler einen vorgewählten Wert übersteigen, daß wenn die Feststellung aus Schritt b negativ ist, was ein gültiges Zeichen andeutet,
809810/0587
49 545
e) das erste festgestellte Bit vom Zeichen abgezogen wird,
f) festgestellt v/ird, ob das entstehende Ereigniscodezeichen einen binären Wert hat, der geringer ist als eine zweite vorherbestimmte Menge, was ein ungültiges Zeichen bedeutet, daß im bejahenden Pail mit den Schritten c und d fortgefahren wird, und daß im verneinenden Fall eine Division-Multiplikation des Zeichens durchgeführt wird, um das Zeichen für die dauerhafte Speicherung kompakter zu machen.
23. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jede Betriebsangabe ein Zeichen umfaßt, das der Fahrzeugentfernung entspricht, die während eines entsprechenden Intervalls zurückgelegt wurde, und bei dem mit einer Routine die Entfernungsdaten neu angeordnet werden, dadurch gekennzeichnet, daß
a) festgestellt v/ird, ob ein zuerst festgestelltes Bit des Abstandszeichens erscheint, was angibt, ob das Fahrzeug vorwärts oder rückwärts fuhr,
b) daß festgestellt wird, ob ein zweites vorherbestimmtes Bit des Entfernungszeichens erscheint, was angibt, ob dieser betreffende Zustand während einer gegebenen Entfernung auftrat, und daß diese Angabe des Bremszustandes gespeichert wird, wenn das Vorhandensein wahrgenommen wird t und daß
c) die Entfernungsintervalle angesammelt werden, während der vorherbestimmte Betriebsereignisse sich nicht ändern,
24. Verfahren nach einem der vorhergehenden Ansprüche, bei dem jede Betriebsangabe, die einem Intervall entspricht, mindestens zwei Zeichen umfaßt, von denen das erste einen Ereigniscode kennzeichnet, der dem Auftreten mindestens eines vorherbestimmten Betriebsereignisses entspricht, und das zweite eine zurückgelegte Entfernung angibt, und bei dem mit einer Routine die Daten neu angeordnet werden,
809810/0587
-H-
49 545
dadurch gekennze i ohne t, daß
a) das Ereigniscodezeichen zur Weiterverarbeitung ausgewählt wird,
b) daß festgestellt wird, ob ein erstes vorherbestimmtes Bit des Ereigniscodezeichens erscheint, was andeutet, daß alle Betriebsereignisse während eines bestimmten Probeintervalls aufgetreten sind, aus dem der Ereigniscode abgeleitet ist, daß im bejahenden Fall das erste festgestellte Bit zeitweilig gespeichert wird, daß im verneinenden Pail
c) festgestellt wird, ob das Sreigniscodezeichen einen binären Wert hat, der geringer ist als eine vorherbestimmte Menge, was ein ungültiges Zeichen bedeutet, daß im bejahenden Fall
d) ein Bit zeitweilig gespeichert wird, welches diese Ungültigkeit andeutet, die sich aus einem Aufzeichnungsband-Synchronisationsfehler ergibt, daß
e) die Routine stillgesetzt wird, wenn die angesammelten Bandsynchronisationsfehler einen vorher gewählten V/ert übersteigen, daß, wenn die Feststellung des Schrittes c negativ ist, was ein gültiges Zeichen bedeutet,
f) das erste festgestellte Bit vom Zeichen subtrahiert wird,
g) festgestellt λ/ird, ob das entstehende Ereigniscodezeichen einen binären Wert hat, der geringer ist als eine zweite vorherbestimmte Menge, was ein ungültiges Zeichen bedeutet, daß im bejahenden Fall mit den Schritten d und e fortgefahren wird, daß im verneinenden Fall
h) eine Division-Multiplikation des Zeichens durchgeführt wird, um das Zeichen für die dauerhafte Speicherung kompakter zu machen, daß
809810/0587
19 545
i) eine Zeichenzählung geändert wird, damit die Routine gezwungen ist, mit einer Analyse des zweiten Zeichens (Fahrzeugentfernung) fortzufahren, die folgende Schritte umfaßt,
j) daß festgestellt wird, ob ein erstes festgestelltes Bit des Entfernungszeichens erscheint, was andeutet, ob das Fahrzeug in Vorwärts- oder Rückwärtsrichtung fuhr,
k) daß festgestellt wird, ob ein zweites vorherbestimmtes Bit des Entfernungszeichens erscheint, was andeutet, ob ein Bremszustand während einer gegebenen Entfernung auftrat, und daß eine Anzeige des Bremszustandes gespeichert wird, wenn dessen Vorhandensein wahrgenommen wird,
1) daß Entfernungsintervalle angesammelt werden, während der vorherbestimmte Betriebsereignisse sich nicht ändern, und daß
m) die Routine stillgesetzt wird, wenn die Speicherkapazität für Daten erschöpft ist.
809810/0587
DE19772728362 1976-06-23 1977-06-23 Datenverarbeitungssystem fuer fahrdaten Withdrawn DE2728362A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/699,075 US4241403A (en) 1976-06-23 1976-06-23 Method for automated analysis of vehicle performance

Publications (1)

Publication Number Publication Date
DE2728362A1 true DE2728362A1 (de) 1978-03-09

Family

ID=24807815

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772728362 Withdrawn DE2728362A1 (de) 1976-06-23 1977-06-23 Datenverarbeitungssystem fuer fahrdaten

Country Status (6)

Country Link
US (1) US4241403A (de)
CA (1) CA1203624A (de)
CH (1) CH629321A5 (de)
DE (1) DE2728362A1 (de)
FR (1) FR2356203A1 (de)
GB (1) GB1586070A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109087407A (zh) * 2018-07-27 2018-12-25 安徽安为科技有限公司 机车文件远程转储系统

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933852A (en) * 1979-08-22 1990-06-12 Lemelson Jerome H Machine operation indicating system and method
US4418388B1 (en) * 1980-08-14 1998-08-25 Spx Corp Engine waveford pattern analyzer
JPS57187201A (en) * 1981-05-14 1982-11-17 Kyoritsu Kk Chain saw
DE3211691A1 (de) * 1982-03-30 1983-10-06 Porsche Ag Einrichtung zur aufnahme, abgabe und verarbeitung von daten
NZ204535A (en) * 1982-07-23 1987-01-23 Sundstrand Data Control Direct display of data from a flight data recorder
US4561057A (en) * 1983-04-14 1985-12-24 Halliburton Company Apparatus and method for monitoring motion of a railroad train
US4794548A (en) * 1986-08-28 1988-12-27 Halliburton Company Data collection apparatus and train monitoring system
US4827438A (en) * 1987-03-30 1989-05-02 Halliburton Company Method and apparatus related to simulating train responses to actual train operating data
US4853883A (en) * 1987-11-09 1989-08-01 Nickles Stephen K Apparatus and method for use in simulating operation and control of a railway train
GB8813066D0 (en) * 1988-06-02 1988-07-06 Pi Research Ltd Vehicle data recording system
DE69026039T2 (de) * 1989-12-08 1996-08-22 Hitachi Koki Kk System zum Festlegen der Betriebsbedingungen von Zentrifugenrotoren
US5109343A (en) * 1990-06-06 1992-04-28 Union Switch & Signal Inc. Method and apparatus for verification of rail braking distances
FR2667962B1 (fr) * 1990-10-11 1994-05-20 Opti Pilote Procede d'enregistrement et de traitement de donnees pour la gestion de la conduite de vehicules.
US5255208A (en) * 1991-08-08 1993-10-19 Aeg Westinghouse Transportation Systems, Inc. On-line processor based diagnostic system
US7082359B2 (en) * 1995-06-07 2006-07-25 Automotive Technologies International, Inc. Vehicular information and monitoring system and methods
US5905374A (en) * 1994-08-31 1999-05-18 Auto Meter Products, Inc. High performance tachometer
US8090598B2 (en) 1996-01-29 2012-01-03 Progressive Casualty Insurance Company Monitoring system for determining and communicating a cost of insurance
US8140358B1 (en) 1996-01-29 2012-03-20 Progressive Casualty Insurance Company Vehicle monitoring system
US5982168A (en) * 1996-05-16 1999-11-09 Auto Meter Products, Inc. High performance tachometer with automatic triggering
US5825283A (en) * 1996-07-03 1998-10-20 Camhi; Elie System for the security and auditing of persons and property
JP3366837B2 (ja) * 1997-08-15 2003-01-14 株式会社小松製作所 機械の異常監視装置および方法
US6826951B1 (en) 1998-01-15 2004-12-07 International Marketing, Inc. Tire management system and method for surveying and servicing a vehicle tire
JP4023643B2 (ja) * 1998-06-02 2007-12-19 株式会社小松製作所 建設機械の機器性能データ測定方法及び装置
DE19951952A1 (de) * 1998-11-05 2000-05-11 Luk Getriebe Systeme Gmbh Fahrzeug
US7378961B1 (en) 1999-04-19 2008-05-27 Accutrak Systems, Inc. Monitoring system
US6762684B1 (en) 1999-04-19 2004-07-13 Accutrak Systems, Inc. Monitoring system
SE516119C2 (sv) * 1999-08-27 2001-11-19 Thoreb Ab Metod och anordning för att assistera en förare av ett fordon
US6137399A (en) * 1999-11-02 2000-10-24 Auto Meter Products, Inc. High performance tachometer having a shift indicator system with "short-shift" protection
US6353777B1 (en) 2000-08-16 2002-03-05 Ford Global Technologies, Inc. Path correction for lane change analysis
US7584033B2 (en) 2000-08-31 2009-09-01 Strategic Design Federation W. Inc. Automobile monitoring for operation analysis
US6556905B1 (en) * 2000-08-31 2003-04-29 Lisa M. Mittelsteadt Vehicle supervision and monitoring
US7941258B1 (en) 2000-08-31 2011-05-10 Strategic Design Federation W, Inc. Automobile monitoring for operation analysis
US7188009B2 (en) * 2001-10-31 2007-03-06 New York Air Brake Corporation Chain of custody
US6825767B2 (en) 2002-05-08 2004-11-30 Charles Humbard Subscription system for monitoring user well being
US10569792B2 (en) 2006-03-20 2020-02-25 General Electric Company Vehicle control system and method
US10308265B2 (en) 2006-03-20 2019-06-04 Ge Global Sourcing Llc Vehicle control system and method
US9733625B2 (en) 2006-03-20 2017-08-15 General Electric Company Trip optimization system and method for a train
US9950722B2 (en) 2003-01-06 2018-04-24 General Electric Company System and method for vehicle control
USRE47986E1 (en) 2003-05-15 2020-05-12 Speedgauge, Inc. System and method for evaluating vehicle and operator performance
US20050177337A1 (en) * 2004-02-05 2005-08-11 Penske Truck Leasing Co., L.P. Vehicle usage forecast
US8768543B2 (en) * 2006-03-20 2014-07-01 General Electric Company Method, system and computer software code for trip optimization with train/track database augmentation
US9689681B2 (en) 2014-08-12 2017-06-27 General Electric Company System and method for vehicle operation
US9828010B2 (en) 2006-03-20 2017-11-28 General Electric Company System, method and computer software code for determining a mission plan for a powered system using signal aspect information
US8963702B2 (en) 2009-02-13 2015-02-24 Inthinc Technology Solutions, Inc. System and method for viewing and correcting data in a street mapping database
US9834237B2 (en) 2012-11-21 2017-12-05 General Electric Company Route examining system and method
US9916625B2 (en) 2012-02-02 2018-03-13 Progressive Casualty Insurance Company Mobile insurance platform system
DE102011089590A1 (de) * 2011-01-31 2012-08-02 Continental Automotive Gmbh Verfahren zur Funktionsüberwachung einer Sicherheitsüberwachung einer Steuereinheit
US9702715B2 (en) 2012-10-17 2017-07-11 General Electric Company Distributed energy management system and method for a vehicle system
US9669851B2 (en) 2012-11-21 2017-06-06 General Electric Company Route examination system and method
US9682716B2 (en) 2012-11-21 2017-06-20 General Electric Company Route examining system and method
CN104376617A (zh) * 2014-10-31 2015-02-25 上海自仪泰雷兹交通自动化系统有限公司 车载数据记录仪及其收纳结构
US9601021B2 (en) * 2015-07-07 2017-03-21 The Boeing Company Retrospective analysis of vehicle operations
US10613854B2 (en) * 2016-12-22 2020-04-07 The United States Of America, As Represented By The Secretary Of The Navy Systems and methods for automated renumbering, reformatting, and re-referencing of branching statements or go-to instruction line referencing within modified code using a dual-pass approach that includes operations using predicted new line numbers, error detection/correction, and alignment correction processing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3485093A (en) * 1965-09-16 1969-12-23 Universal Testproducts Inc Engine performance analyzer
US3655962A (en) * 1969-04-01 1972-04-11 Melpar Inc Digital automatic speed control for railway vehicles
CH520587A (de) * 1969-09-13 1972-03-31 Int Standard Electric Corp Steuerverfahren für eine automatische Steuerzentrale einer Eisenbahnsicherungsanlage
US3688099A (en) * 1971-04-28 1972-08-29 Lear Siegler Inc Automatic control system with a digital computer
US3825744A (en) * 1971-06-14 1974-07-23 Gen Signal Corp Overspeed detector for vehicle control system
US3927308A (en) * 1972-11-22 1975-12-16 Ebasco Serv Monitor and results computer system
IT980896B (it) * 1973-04-24 1974-10-10 Olivetti & Co Spa Perfezionamenti alle calcolatri ci elettroniche
US3938092A (en) * 1973-07-16 1976-02-10 Vapor Corporation System for telecommunicating vehicle operation data between a ground station and a remote data processing station
US3882305A (en) * 1974-01-15 1975-05-06 Kearney & Trecker Corp Diagnostic communication system for computer controlled machine tools
US3974992A (en) * 1975-03-13 1976-08-17 Westinghouse Electric Corporation Vehicle velocity limit control method and apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109087407A (zh) * 2018-07-27 2018-12-25 安徽安为科技有限公司 机车文件远程转储系统

Also Published As

Publication number Publication date
US4241403A (en) 1980-12-23
FR2356203A1 (fr) 1978-01-20
FR2356203B1 (de) 1983-07-08
CH629321A5 (fr) 1982-04-15
CA1203624A (en) 1986-04-22
GB1586070A (en) 1981-03-18

Similar Documents

Publication Publication Date Title
DE2728362A1 (de) Datenverarbeitungssystem fuer fahrdaten
DE68909237T2 (de) Speicherungssystem für fahrzeugdaten.
DE3049607C2 (de) Verfahren zur Herstellung von Ausweiskarten und Vorrichtung zu dessen Durchführung
DE102008017556A1 (de) Lade-/Entladesteuervorrichtung für ein Hybridfahrzeug sowie Steuerprogrammvorrichtung hierfür
DE3219991A1 (de) Elektronisches geraet zur datenverarbeitung, insbesondere zur verwendung in einem verbundsystem
DE2411549A1 (de) Vorrichtung zur kontrolle von sich laengs einer vorbestimmten bahn bewegenden fahrzeugen
DE102018212629A1 (de) Verfahren zur Bestimmung von Fahrbahnzuständen
WO2011067169A1 (de) Verfahren zur vereinfachung einer beschreibung einer fahrtroute
DE112016007518T5 (de) Zugsteuersystem, bodensteuervorrichtung und bordeigene steuervorrichtung
DE102011088805A1 (de) Verfahren zum Entwickeln und/oder Testen eines Fahrerassistenzsystems
DE4227787C2 (de) Verfahren zum Bestimmen der Einlaufgeschwindigkeit von Eisenbahnfahrzeugen in eine Meßstrecke
EP4067202B1 (de) Verfahren und anordnung zur lokalisierung eines spurgebundenen fahrzeugs in einem streckennetz im anschluss an eine inbetriebnahme des fahrzeugs
DE4230299B4 (de) Verfahren zur Ortung eines Landfahrzeuges
EP3329332B1 (de) Verfahren zur ermittlung von stützpunkten eines versuchsplans
DE102020211881A1 (de) Vorrichtung und Verfahren zur Absicherung einer Fahrtrajektorie eines Ego-Fahrzeugs
EP3376484B1 (de) Verfahren und system zum ergänzen einer auf einem zentralrechner gespeicherten digitalen karte eines verkehrswegenetzes
EP3931057A1 (de) Möglichkeit zur fahrerbewertung
DE102019215656A1 (de) Verfahren zum Bewerten einer ausgewählten Route, Routenbewertungssystem und Computerprogramm
DE102022119448A1 (de) Verfahren und System zum Erzeugen einer Energieverbrauchsprognose für ein Fahrzeug
DE102021200257A1 (de) Verfahren zur Validierung von Softwarefunktionen in einem Fahrerassistenzsystem für Kraftfahrzeuge
WO2022122553A1 (de) Vergleich digitaler repräsentationen von fahrsituationen eines fahrzeugs
DE2753575C2 (de) Automatisches Funkerfassungssystem
DE3032432C2 (de)
EP3174015B1 (de) Erkennung von fehlern in einer von einem fahrzeug mitgeführten fahrzeugeinrichtung eines mautsystems
EP0796779B1 (de) Verfahren zur Steuerung und Sicherung eines spurgeführten Transportsystems

Legal Events

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