Open Rails unterstützt die gleichen Standardmaßeinheiten wie MSTS, bei denen es sich größtenteils, aber nicht ausschließlich, um metrische Einheiten handelt.
Wenn Sie Modelle nur für Open Rails erstellen, empfehlen wir Ihnen, keine Standardwerte zu verwenden, sondern Einheiten für alle Werte anzugeben, die physikalische Größen darstellen.
Wie unten gezeigt, bietet Open Rails eine größere Auswahl an Einheiten als MSTS.
Maß | voreingestellte Einheit | Gilt für | OR akzeptiert | MSTS akzeptiert | Kommentar |
---|---|---|---|---|---|
Masse | kg | kg | kg | ||
t | t | Metrische Tonne (1000 kg) | |||
lb | lb | ||||
t-uk | Imperiale Tonne (2240 lb) | ||||
t-us | US-Tonne (2000 lb) | ||||
Entfernung | mm | ||||
cm | cm | ||||
m | m | m | |||
km | |||||
in | in | ||||
in/2 | in/2 | halbes Inch – alte Einheit für Raddurchmesser | |||
ft | |||||
mile | |||||
Fläche | m^2 | ||||
*(m^2) | *(m^2) | ||||
ft^2 | ft^2 | ||||
*(ft^2) | *(ft^2) | ||||
Volumen | l | Kraftstoff | l | Liter | |
m^3 | |||||
*(m^3) | |||||
in^3 | |||||
*(in^3) | |||||
ft^3 | Andere | *(ft^3) | *(ft^3) | z.B. Kesselvolumen | |
g-uk | Imperiale Gallonen | ||||
g-us | US-Gallonen | ||||
gal | US-Gallonen | ||||
gals | gals | US-Gallonen | |||
Zeit | s | s | |||
m |
Maß | voreingestellte Einheit | Gilt für | OR akzeptiert | MSTS akzeptiert | Kommentar |
---|---|---|---|---|---|
h | |||||
Strom | amp | amp | |||
A | |||||
Spannung | volt | V | |||
kV | |||||
Massenstrom | g/h | ||||
kg/h | |||||
lb/h | lb/h | lb/h | |||
Geschwindigkeit | m/s | Andere | m/s | m/s | Meter pro Sekunde |
km/h | |||||
kph | kph | Kilometer pro Stunde | |||
kmh | kmh | Schreibfehler vom MSTS akzeptiert | |||
kmph | |||||
mph | Dynamische Bremse | mph | mph | Meilen pro Stunde | |
Frequenz | Hz | Hz | Hertz | ||
rps | Umdrehungen pro Sekunde | ||||
rpm | |||||
Kraft | N | N | N | Newton | |
kN | kN | ||||
lbf | Pounds force | ||||
lb | |||||
Leistung | W | W | Watt | ||
kW | |||||
hp | Horsepower | ||||
Steifheit | N/m | N/m | N/m | Newton pro Meter | |
Widerstand | N/m/s | N/m/s | N/m/s | Newton pro Meter pro Sekunde | |
Ns/m | Newton pro Meter pro Sekunde | ||||
Kreiswiderstand | N/rad/s | N/rad/s | |||
Druck | psi | Luftdruck | psi | Pound pro Quadratzoll |
Maß | voreingestellte Einheit | Gilt für | OR akzeptiert | MSTS akzeptiert | Kommentar |
---|---|---|---|---|---|
bar | Atmosphären | ||||
kPa | KiloPascal | ||||
inHg | Vakuum | inHg | Inch Quecksilbersäule | ||
Druckänderungsrate | psi/s | psi/s | |||
bar/s | |||||
kpa/s | |||||
inHg/s | |||||
Energiedichte | kJ/kg | kJ/kg | KiloJoule pro kg | ||
J/g | |||||
btu/lb | Board of Trade-Einheiten pro Pound | ||||
Temperaturunterschied | degC | degC | |||
degF | |||||
Winkel | radians | – | |||
deg | |||||
Andere | rad/s | rad/s | |||
– | lb/hp/h | z.B. Kohlenverbrauch |
Die folgenden Ordner werden auch von Open Rails beschrieben.
(In dieser Tabelle gehen wir von einem Benutzer namens Joe aus.)
Zweck | Ordner (alle beginnend mit C:\Users\Joe\) + Beispieldatei |
---|---|
Logs | Desktop\OpenRailsLog.txt |
Data dumps | Desktop\OpenRailsDump.csv |
Screenshots | Pictures\Open Rails\Open Rails 2021-09-21 07-26-58.png |
Saves | AppData\Roaming\Open Rails\shunt_1 2021-07-18 19.46.35.save |
Save images | AppData\Roaming\Open Rails\shunt_1 2021-07-18 19.46.35.png |
Replays | AppData\Roaming\Open Rails\shunt_1 2021-07-18 19.46.35.replay |
Evaluations | AppData\Roaming\Open Rails\shunt_1 2021-07-18 19.46.35.dbfeval |
Loading progress bar | AppData\Roaming\Open Rails\Load Cache\3cd9. . . . . .0ce2.dat |
Dies ist eine Übersicht über die in OR zur Verwendung in Signalskripten verfügbaren Funktionen, die sogenannten SIGSCRIPT-Funktionen.
Im Folgenden sind die grundlegenden MSTS-Funktionen aufgeführt:
BLOCK_STATE
ROUTE_SET
NEXT_SIG_LR
NEXT_SIG_MR
THIS_SIG_LR
THIS_SIG_MR
OPP_SIG_LR
OPP_SIG_MR
DIST_MULTI_SIG_MR
SIG_FEATURE
DEF_DRAW_STATE
Im Folgenden finden Sie Erweiterungen der grundlegenden MSTS-Funktionen.
NEXT_NSIG_LR(SIGFN_TYPE, N)
Erweiterung von NEXT_SIG_LR
Gibt den Status des N-ten Signals des Typs zurück SIGFN_TYPE. Beachten Sie, dass der Status SIGASP_STOP zurückgegeben wird, wenn ein Zwischensignal vom Typ SIGFN_TYPE auf diesen Status gesetzt ist.
DIST_MULTI_SIG_MR_OF_LR(SIGFN_TYPE, SIGFN_ENDTYPE)
Erweiterung von DIST_MULTI_SIG_MR
Der ursprüngliche DIST_MULTI_SIG_MR schloss alle Köpfe aus, für die der Link (route_set) ungültig war. Wenn Signale jedoch über Routendefinitionssignale und nicht über Links geleitet werden, schlägt dieser Ausschluss fehl und die Funktion gibt daher nicht den richtigen Status zurück. Diese erweiterte Funktion prüft alle erforderlichen Köpfe an jedem Signal und verwendet den am wenigsten eingeschränkten Aspekt dieses Signals als Status für dieses Signal. Es gibt für jedes Zwischensignal den restriktivsten der so ermittelten Zustände zurück, bis ein Signal vom Typ SIGFN_ENDTYPE gefunden wird.
Wenn eine Funktion aufgerufen wird, die Informationen von einem nächsten Signal benötigt, wird eine Suche entlang der Zugstrecke durchgeführt, um das erforderliche Signal zu lokalisieren. Wenn von diesem Signal mehrere Informationen benötigt werden und daher mehrere Funktionen aufgerufen werden, die dieses nächste Signal erfordern, wird eine solche Suche für jeden Funktionsaufruf durchgeführt.
Dieser Prozess kann wesentlich effizienter gestaltet werden, indem die Signalidentität des erforderlichen Signals verwendet wird. Jedes Signal in einer Route hat eine eindeutige Kennung. Es steht eine Reihe von Funktionen zur Verfügung, um die Signalidentität des erforderlichen Signals zu ermitteln. Außerdem stehen Funktionen zur Verfügung, die den normalen Signalfunktionen entsprechen, jedoch die Signalidentifikation verwenden und keine Suche nach dem gewünschten Signal durchführen. Offensichtlich muss mit diesen Funktionen überprüft werden, ob die abgerufene Signal-ID gültig ist (d. h. es wurde ein gültiges Signal gefunden) und die Integrität der Variablen
Das Halten dieser Identität muss gewährleistet sein (der Wert darf niemals verändert werden).
Um die erforderliche Signalidentität zu ermitteln, stehen folgende Funktionen zur Verfügung. Die Funktionen geben die Signal-ID für das gefundene Signal zurück. Wenn kein gültiges Signal gefunden wird, wird der Wert -1 zurückgegeben.
NEXT_SIG_ID(SIGFN_TYPE)
Gibt die Signal-ID des nächsten Signals vom Typ SIGFN_TYPE zurück.
NEXT_NSIG_ID(SIGFN_TYPE, N)
Gibt die Signal-ID des N-ten Signals vom Typ SIGFN_TYPE zurück.
OPP_SIG_ID(SIGFN_TYPE)
Gibt Signal Ident als nächstes Signal vom Typ SIGFN_TYPE in entgegengesetzter Richtung zurück.
Die folgenden Funktionen entsprechen den Grundfunktionen, verwenden jedoch Signal Ident, um das erforderliche Signal zu identifizieren.
ID_SIG_ENABLED(SigID)
Gibt 1 zurück, wenn das identifizierte Signal aktiv aktiviert ist (d. h. ein Zug hat eine Route, die zu diesem Signal führt, freigegeben).
ID_SIG_LR(SigId, SIGFN_TYPE)
Gibt den am wenigsten eingeschränkten Aspekt der Köpfe mit dem Typ SIGFN_TYPE des identifizierten Signals zurück.
Beachten Sie, dass es andere Funktionen gibt, die ebenfalls die Signal-ID verwenden, wie unten beschrieben.
In der ursprünglichen MSTS-Signaldefinition könnten eine Reihe spezifischer Signal-Unterobjekte als Flags verwendet werden (USER_1 ... USER_4). Andere Elemente (NUMBER_PLATE und GRADIENT) könnten ebenfalls als Flag verwendet werden, waren jedoch mit physischen Elementen auf dem Signal verknüpft. Die Anzahl der auf diese Weise verfügbaren Flaggen war sehr begrenzt. In OR wurde eine zusätzliche Funktion erstellt, die für jedes Signal-Unterobjekt prüfen kann, ob dieses Unterobjekt für dieses bestimmte Signal enthalten ist oder nicht. Diese Funktion kann für jede Art von Signal-Unterobjekt verwendet werden.
Durch das Setzen von SubObjects vom Typ „DECOR“ können zusätzliche Flags für jeden Signaltyp definiert werden. Auf diese Weise definierte Unterobjekte müssen nicht physisch in der Formdatei definiert werden. Die Informationen sind auf Signalebene verfügbar, sodass alle Köpfe eines Signals diese Informationen nutzen können. Die Funktion verwendet die SubObject-Nummer, um das gewünschte SubObject zu identifizieren, der Name des SubObjects ist irrelevant. Die maximale Gesamtzahl der Unterobjekte für jede Form beträgt 32 (Nr. 0 ... 31), einschließlich der eigentlichen Signalgeber.
HASHEAD(N)
Gibt „wahr“ (1) zurück, wenn ein Unterobjekt mit der Nummer N für dieses Signal verfügbar ist.
Annäherungskontrolle ist eine Methode, die in einigen Signalsystemen verwendet wird und ein Signal bis zum Erreichen der Gefahr in Gefahr hält
Der herannahende Zug befindet sich in einem bestimmten Abstand zum Signal oder hat seine Geschwindigkeit unter einen bestimmten Wert reduziert
Grenze. Diese Funktionalität wird in Situationen verwendet, in denen eine erhebliche Geschwindigkeitsreduzierung erforderlich ist
Wenn sich ein Zug nähert und das Signal bei Gefahr gehalten wird, stellt dies sicher, dass der Zug seine Geschwindigkeit tatsächlich auf reduziert hat
nahe oder unter dem erforderlichen Grenzwert liegt.
Der folgende Satz von Annäherungskontrollfunktionen ist im OP verfügbar.
Die erforderliche Entfernung und Geschwindigkeit können als Konstanten eingestellt werden (Maßangaben sind m und m/s, diese Maße sind fest und hängen von keiner Routeneinstellung ab).
Es ist auch möglich, die erforderliche Entfernung oder Geschwindigkeit in der Signaltypdefinition in sigcfg.dat zu definieren. Die so definierten Werte können über die vordefinierten Variablen Approach_Control_Req_Position und Approach_Control_Req_Speed abgerufen werden.
APPROACH_CONTROL_POSITION(APPROACH_CONTROL_POSITION)
Das Signal bleibt gefährdet, bis der Zug den eingestellten Abstand vor dem Signal erreicht hat. Das Signal ist auch dann gefährdet, wenn es nicht das erste Signal vor dem Zug ist, selbst wenn sich der Zug innerhalb des erforderlichen Abstands befindet.
APPROACH_CONTROL_POSITION_FORCED(APPROACH_CONTROL_POSITION)
Das Signal bleibt gefährdet, bis der Zug den eingestellten Abstand vor dem Signal erreicht hat. Das Signal wird auch dann gelöscht, wenn es nicht das erste Signal vor dem Zug ist.
APPROACH_CONTROL_SPEED(APPROACH_CONTROL_POSITION,
APPROACH_CONTROL_SPEED)
Das Signal bleibt gefährdet, bis der Zug den eingestellten Abstand vor dem Signal erreicht hat und die Geschwindigkeit unter den erforderlichen Grenzwert gesenkt wurde. Die Geschwindigkeitsbegrenzung kann auf 0 gesetzt werden. In diesem Fall muss der Zug vor dem Signal zum Stehen kommen, bevor das Signal freigegeben wird. Das Signal ist auch dann gefährdet, wenn es nicht das erste Signal vor dem Zug ist, selbst wenn sich der Zug innerhalb des erforderlichen Abstands befindet.
APPROACH_CONTROL_NEXT_STOP(APPROACH_CONTROL_POSITION,
APPROACH_CONTROL_SPEED)
Manchmal verfügt ein Signal möglicherweise über eine Annäherungskontrolle, das Signal kann jedoch gefährdet sein, wenn das nächste Signal nicht freigegeben wird. Wenn ein Signal zur Annäherungskontrolle gehalten wird, wird die Signalanforderung normalerweise nicht weitergegeben, was bedeutet, dass das nächste Signal nie gelöscht wird. Dies könnte zu einer Signalblockierung führen, wobei das erste Signal zur Anflugkontrolle gehalten wird und das nächste Signal daher nicht freigegeben werden kann. Diese Funktion ist speziell für diese Situation gedacht. Dies ermöglicht die Weitergabe der Freigabeanforderung auch dann, wenn das Signal für die Anflugkontrolle gefährdet ist, sodass das nächste Signal freigegeben werden kann. Die Funktionsweise dieser Funktion ähnelt APPROACH_CONTROL_SPEED.
APPROACH_CONTROL_LOCK_CLAIM()
Wenn ein Signal vor einem Zug gefährdet ist, kann der Zug Abschnitte hinter diesem Signal beanspruchen, um so schnell wie möglich einen freien Weg von diesem Signal aus sicherzustellen. Wird diese Funktion in einer Script-Sequenz aufgerufen, die auch eine aktive Anflugkontrolle setzt, erfolgt kein Anspruch, solange das Signal zur Anflugkontrolle gehalten wird.
CallOn-Funktionen ermöglichen es Zügen, zu einem Gleisabschnitt weiterzufahren, der bereits von einem anderen Zug besetzt ist. CallOn-Funktionen sollten nicht mit „permissiven“ Signalen verwechselt werden, wie sie häufig in nordamerikanischen Signalsystemen verwendet werden.
Ein „Freigabe“-Signal ermöglicht es einem Zug immer, auf dem besetzten Gleis weiterzufahren und einem vorherigen Zug zu folgen. Solche Signale werden im Allgemeinen nur dann verwendet, wenn ein Signal nur einen „freien Streckenabschnitt“ abdeckt, d. h. einen Gleisabschnitt ohne Weichen oder Kreuzungen usw.
Die CallOn-Funktion hingegen ermöglicht die Weiterfahrt des Zuges nur in bestimmten spezifischen Situationen und wird hauptsächlich in Bahnhofs- und Rangierbereichen eingesetzt.
Die CallOn-Funktionen sind speziell für den Einsatz im Stundenplanmodus vorgesehen und direkt mit einer Reihe von Stundenplanbefehlen verknüpft. Die Züge dürfen auf Grundlage dieser Befehle weiterfahren.
Die folgenden Bedingungen ermöglichen die Weiterfahrt eines Zuges.
• Die Strecke hinter dem Signal führt in einen Bahnsteig und der Parameter $callon ist für die entsprechende Haltestelle gesetzt.
• Für den Zug ist ein Befehl „$attach“, „$pickup“ oder „$transfer“ für eine Stationshaltestelle oder im Feld „#dispose“ festgelegt, und der Zug im Abschnitt hinter dem Signal ist statisch oder der im Befehl angegebene Zug (sofern zutreffend). . Wenn der Befehl für einen Bahnhofshaltepunkt eingestellt ist, muss die Strecke hinter dem Signal in einen diesem Bahnhof zugeordneten Bahnsteig führen. Wenn der Befehl im Feld #dispose gesetzt ist, gibt es keine weiteren Bedingungen.
• Die Zugaktion ist Teil eines $stable-Befehls im #dispose-Feld.
• Die Strecke hinter dem Signal ist eine Pool-Lagerstrecke, und der Zug ist für die Lagerung in diesem Pool gebucht.
Abhängig vom Funktionsaufruf kann CallOn auch zulässig sein, wenn die Route nicht in einen Bahnsteig führt.
CallOn ist niemals zulässig, wenn die Route hinter dem Signal in einen Bahnsteig führt. Abhängig vom tatsächlichen Funktionsaufruf ist CallOn möglicherweise an anderen Stellen zulässig.
Verfügbare Funktionen
TRAINHASCALLON()
TRAINHASCALLON_RESTRICTED()
Diese Funktionen sind ähnlich, mit der Ausnahme, dass TRAINHASCALLON CallOn immer zulässt, wenn die Route nicht in einen Bahnsteig führt, und daher in dieser Situation wie ein „erlaubtes“ Signal wirkt. Die Funktion TRAINHASCALLON_RESTRICTED lässt CallOn nur zu, wenn eines der oben beschriebenen Kriterien erfüllt ist.
Der SignalNumClearAhead (SNCA)-Wert legt die Anzahl der Signale fest, die ein Signal vorausgeben muss klar sein, um den erforderlichen, am wenigsten einschränkenden Aspekt darstellen zu können. Der Wert wird als Konstante für festgelegt jeden spezifischen Signaltyp in der Datei sigcfg.dat. Es kann jedoch sein, dass bestimmte Signaloptionen dies erfordern Wert, der geändert werden soll. Zum Beispiel ein Signaltyp, der optional einen Voranflugaspekt anzeigen kann, benötigt einen höheren Wert für SNCA, falls dieser Vorabansatz erforderlich ist. Dies kann sogar davon abhängen Route wie von diesem Signal festgelegt. Im OR stehen Funktionen zur Verfügung, um den Wert von SNCA nach Bedarf anzupassen verhindert, dass immer der höchstmögliche Wert eingestellt werden muss, der zu einem Signal zur Freigabe einer Route führen könnte zu weit voraus. Beachten Sie, dass diese Funktionen immer den Standardwert von SNCA verwenden, wie in sigscr.dat als definiert Startwert. Wiederholte Aufrufe dieser Funktionen führen nicht zu ungültigen oder absurden Werten für SNCA.
INCREASE_SIGNALNUMCLEARAHEAD(n)
Erhöhen Sie den Wert von SNCA ausgehend vom Standardwert um n.
DECREASE_SIGNALNUMCLEARAHEAD(n)
Verringern Sie den Wert von SNCA ausgehend vom Standardwert um n.
SET_SIGNALNUMCLEARAHEAD(n)
Setzen Sie den Wert von SNCA auf n.
RESET_SIGNALNUMCLEARAHEAD()
Setzen Sie den Wert von SNCA auf den Standardwert zurück.
Ursprünglich bestand die einzige Möglichkeit zur Kommunikation zwischen Signalen oder zwischen Signalköpfen innerhalb eines Signals in den Signalaspektzuständen. Dies führt zu einer starken Einschränkung der Informationsmenge, die zwischen Signalen oder Signalgebern übertragen werden kann.
Im OR wurden lokale Signalvariablen eingeführt. Diese Variablen sind spezifisch für ein Signal. Die Variablen sind persistent, das heißt, sie behalten ihren Wert von einer Aktualisierung zur nächsten. Da die Variablen pro Signal zugewiesen werden, stehen sie allen Signalgebern zur Verfügung, die Teil dieses Signals sind. Auf die Variablen kann auch von anderen Signalen zugegriffen werden.
Jeder Signalkopf, der Teil eines Signals ist, kann sowohl lesend als auch schreibend auf die Variablen zugreifen.
Jeder Signalkopf von anderen Signalen kann nur lesend auf die Variablen zugreifen.
Jede Variable wird durch eine Ganzzahl identifiziert. Die Variablen können nur ganzzahlige Werte enthalten.
STORE_LVAR(IDENT, VALUE)
Setzt die durch IDENT identifizierte Variable auf VALUE. Die Funktion hat keinen Rückgabewert.
THIS_SIG_LVAR(IDENT)
Gibt den Wert der durch IDENT dieses Signals identifizierten Variablen zurück.
NEXT_SIG_LVAR(SIGFN_TYPE, IDENT)
Gibt den Wert der Variablen zurück, die durch IDENT des ersten Signals vor dem Typ SIGFN_TYPE identifiziert wird.
Wenn kein solches Signal gefunden wird, gibt die Funktion den Wert 0 zurück.
ID_SIG_LVAR(SIGID, IDENT)
Gibt den Wert der durch IDENT identifizierten Variablen des durch die Signal-ID SIGID identifizierten Signals zurück.
Obwohl es verschiedene Signaltypen geben kann und OR die Definition und Ergänzung einer beliebigen Anzahl von Signaltypen ermöglicht, wirken sich nur Signale des Typs NORMAL auf die Züge aus.
Bestimmte Signalsysteme verfügen jedoch über unterschiedliche Signaltypen, z. Haupt- und Nebenschlusssignale, die ein unterschiedliches Verhalten oder eine unterschiedliche Reaktion erfordern. Um solche Signale unterscheiden zu können, hat OR einen Subtyp eingeführt, der für ein NORMAL-Signal eingestellt werden kann.
Der Subtyp kann auf die gleiche Weise wie der Signaltyp für jedes Signal in der Datei sigcfg.dat definiert werden. Es stehen eine Reihe von Funktionen zur Abfrage eines Signals zur Identifizierung seines Subtyps zur Verfügung.
THIS_SIG_HASNORMALSUBTYPE(SIGSUBTYPE)
Gibt den Wert 1 (wahr) zurück, wenn dieses Signal einen Kopf vom Typ NORMAL mit dem erforderlichen Untertyp hat.
NEXT_SIG_HASNORMALSUBTYPE(SIGSUBTYPE)
Gibt den Wert 1 (wahr) zurück, wenn das nächste Signal mit einem Kopf vom Typ NORMAL einen Kopf mit dem erforderlichen Untertyp hat.
ID_SIG_HASNORMALSUBTYPE(SIGIDENT, SIGSUBTYPE)
Gibt den Wert 1 (wahr) zurück, wenn das von SIFIDENT identifizierte Signal einen Kopf vom Typ NORMAL mit dem erforderlichen Subtyp hat.
Wie bereits erwähnt, unterscheiden einige Signalsysteme zwischen Haupt- und Nebensignalen (z. B. in Deutschland, Großbritannien). Dies kann sich auf die Freigabe eines Signals an Orten auswirken, an denen beide Arten auf derselben Strecke vorkommen. Wenn ein Zug die gesamte Strecke von einem Hauptsignal zum nächsten Hauptsignal benötigt, wird das erste Hauptsignal an Orten, an denen dazwischen Rangiersignale liegen, möglicherweise erst dann freigegeben, wenn die gesamte Strecke zum nächsten Hauptsignal verfügbar ist, und wird dann freigegeben ein Hauptaspekt. Benötigt der Zug jedoch nur eine Teilstrecke (z. B. zum Rangieren), kann das Signal freigegeben werden, sobald (ein Teil) dieser Strecke verfügbar ist, und wird dann in der Regel nur auf einer eingeschränkten oder Nebenstrecke (Rangierstrecke) freigegeben.
Die ursprünglichen MSTS-Signalfunktionen konnten eine solche Situation nicht unterstützen, da das Signal immer gelöscht wurde, sobald der erste Teil der Route verfügbar wurde, da es nicht möglich war, zwischen den verschiedenen Signaltypen zu unterscheiden.
Aufgrund der oben beschriebenen Einführung des Normal-Subtyps ist eine solche Einrichtung nicht möglich. Zur Unterstützung wurden eine Reihe von Funktionen eingeführt.
Die Verwendung dieser Funktionen ist jedoch recht kompliziert und wird in diesem Dokument nur kurz beschrieben.
TRAIN_REQUIRES_NEXT_SIGNAL(SIGIDENT, REQPOSITION)
Gibt den Wert 1 (wahr) zurück, wenn der Zug die vollständige Route zum durch SIGIDENT identifizierten Signal benötigt.
Wenn REQPOSITION auf 0 gesetzt ist, wird die Route bis einschließlich des letzten Abschnitts vor dem entsprechenden Signal überprüft.
Wenn REQPOSITION auf 1 gesetzt ist, wird die Route bis einschließlich des ersten Abschnitts direkt hinter dem entsprechenden Signal überprüft.
FIND_REQ_NORMAL_SIGNAL(SIGSUBTYPE)
Gibt die Signal-ID des ersten NORMAL-Signals zurück, das einen Kopf mit dem erforderlichen SIGSUBTYPE hat, oder -1, wenn ein solches Signal nicht gefunden werden kann.
ROUTE_CLEARED_TO_SIGNAL(SIGIDENT)
Gibt den Wert 1 (wahr) zurück, wenn die erforderliche Route frei und verfügbar ist.
ROUTE_CLEARED_TO_SIGNAL_CALLON(SIGIDENT)
Wie ROUTE_CLEARED_TO_SIGNAL, gibt aber auch den Wert 1 (wahr) zurück, wenn die Route verfügbar ist, weil der Zug anfahren darf.
Eine Reihe verschiedener Funktionen, die keiner der oben aufgeführten Gruppen angehören.
ALLOW_CLEAR_TO_PARTIAL_ROUTE(EINSTELLUNG)
Wenn die Strecke eines Zuges, der an einem Signal vorbeifährt, kurz vor dem nächsten Signal stoppt (auf dieser Strecke wird kein weiteres NORMAL-Signal gefunden), wird das entsprechende Signal nur freigegeben, wenn sich der Zug diesem Signal nähert, d. h. es ist das erste Signal im Zug Weg.
Diese Einstellung kann durch diese Funktion außer Kraft gesetzt werden.
Wenn SETTING auf 1 gesetzt ist, wird das Signal bei Bedarf gelöscht und die Route ist verfügbar, auch wenn kein weiteres NORMAL-Signal gefunden wird.
Wenn SETTING auf 0 gesetzt ist, wird der normale Betrieb wiederhergestellt.
THIS_SIG_NOUPDATE()
Nachdem das Signal einmal verarbeitet wurde, wird es nicht mehr aktualisiert. Dies ist nützlich für feste Signale, z.B. am Gleisende wie Prellbocklichter, aber auch für feste Signale wie Streckenleit- oder Streckeninformationssignale. Durch den Aufruf dieser Funktion im Skript für solche Signale werden diese Signale von den normalen Aktualisierungen ausgeschlossen, was Verarbeitungszeit spart.
Beachten Sie, dass die Signale immer einmal verarbeitet werden, sodass das Skript einmal ausgeführt wird, um das Signal auf den erforderlichen festen Zustand zu setzen.
SWITCHSTAND(ASPECT_STATE_0, ASPECT_STATE_1)
Sonderfunktionen für als Stellwerk genutzte Signale. Zwischen dem Schalter und dem Signal wird eine direkte Verbindung hergestellt, sodass das Signal sofort aktualisiert wird, wenn sich der Zustand des Schalters ändert.
Das Signal wird auf ASPECT_STATE_0 gesetzt, wenn der Schalter auf Route 0 eingestellt ist, und auf ASPET_STATE_1, wenn der Schalter auf Route 1 eingestellt ist. Eine Verknüpfung des Signals mit den Switch-Routen ist nicht erforderlich.
Durch den Einsatz dieser Funktion bei Schaltanlagen entfällt die Verzögerung, die normalerweise zwischen der Änderung des Schaltzustands und dem Zustand des Signals auftreten kann, da das Signal unabhängig verarbeitet wird.
Beachten Sie, dass das Signal vom normalen Aktualisierungsprozess ausgeschlossen werden kann, da es über die direkte Verbindung mit dem Switch aktualisiert wird.
Diese beiden Funktionen ermöglichen zeitgesteuerte Aktionen auf Signale, z.B. eine feste zeitgesteuerte Verzögerung beim Clearing usw.
Activate_Timing_Trigger(): Aktiviert einen Timing-Trigger.
Check_Timing_Trigger(n) : Überprüft den Timing-Trigger und gibt „true“ zurück, wenn er vor mehr als n Sekunden gesetzt wurde.
Im Folgenden werden OR-spezifische Ergänzungen aufgeführt, die in der SIGCFG-Datei festgelegt werden können, um bestimmte Eigenschaften festzulegen oder die Funktionalität der Signaltypen zu verbessern.
Im Folgenden finden Sie allgemeine Definitionen, die vor den Definitionen der Signaltypen und unmittelbar im Anschluss an die Definitionen der Lichttexturen und Lichtstäbe gesetzt werden müssen.
Über die Standard-MSTS-Signaltypen hinaus können in OR weitere Signaltypen definiert werden. Die zusätzlichen Typen müssen in der Datei sigcfg.dat mithilfe der ORTSSignalFunctions-Definition vordefiniert werden.
Die definierten ORTS-Signaltypen können in der Signaltypdefinition festgelegt und in Signalskriptfunktionen auf die gleiche Weise wie die Standard-MSTS-Typen verwendet werden.
Standardmäßig verhält sich eine benutzerdefinierte Signalfunktion wie eine INFO-Signalfunktion: Sie hat keine Auswirkungen auf die Blockabschnitte und kann keine Geschwindigkeitsbegrenzung festlegen. Sie können den Simulator anweisen, eine benutzerdefinierte Funktion so zu betrachten, dass sie dasselbe Verhalten wie eine der MSTS-Signalfunktionen aufweist. Sie können eine MSTS-Funktion als zweiten Parameter zum Parameter ORTSSignalFunctionType hinzufügen. Die Verwendung der NORMAL-Signalfunktion ist derzeit verboten. Um mehrere Arten von NORMAL-Signalen zu definieren, verwenden Sie bitte den Parameter ORTSNormalSubtypes.
Beachten Sie, dass SPEED ein fester Signaltyp ist, der in OR ohne explizite Definition verfügbar ist (Einzelheiten zu Signalen vom Typ SPEED finden Sie weiter unten). Beachten Sie außerdem, dass Typdefinitionen, die mit „OR_“ oder „ORTS“ beginnen, ungültig sind. Diese Namen sind für zukünftige Standardtypen in OR reserviert.
Syntax:
ORTSSignalFunctions ( n
ORTSSignalFunctionType („CUSTOM_SIGNAL_FUNCTION“)
ORTSSignalFunctionType („CUSTOM_SPEED_SIGNAL_FUNCTION“ „SPEED“)
. . .
)
Der Wert n gibt die Gesamtzahl der Definitionen an. Der Wert CUSTOM_SIGNAL_FUNCTION ist der Name des zusätzlichen Typs.
Wie oben beschrieben, können Untertypen für Signale vom Typ NORMAL definiert werden, die es ermöglichen, unterschiedliche Verwendungen von Signalen vom Typ NORMAL zu unterscheiden.
Der Normal-Subtyp muss in der Datei sigcfg.dat mithilfe der ORTSNormalSubtypes-Definition vordefiniert werden.
Der Subtyp kann in der Typdefinition für Signale vom Typ NORMAL mit der ORTSNormalSubtype-Anweisung festgelegt werden, siehe unten.
Der Subtyp kann wie oben beschrieben in bestimmten Signalskriptfunktionen verwendet werden.
Syntax:
ORTSNormalSubtypes ( n
ORTSNormalSubtype („subtype“)
. . .
)
Der Wert n gibt die Gesamtzahl der Definitionen an. Der Wertuntertyp ist der Name des Untertyps.
Im folgenden Abschnitt werden OR-spezifische Ergänzungen zur Signaltypdefinition detailliert beschrieben.
Glüheinstellungen
Signal Glow ist eine Funktion im OP, um die Sichtbarkeit von Signalen auf größere Entfernungen zu verbessern. Die erforderliche Glüheinstellung kann pro Signaltyp in der Signaldefinition festgelegt werden. Der Wert ist eine reelle Zahl und legt die Intensität des Leuchtens fest. Der Wert 0,0 definiert, dass es keinen Glow-Effekt gibt.
Standardprogrammwerte für Glühen sind:
Tageswert = 3,0;
Nachtwert = 5,0;
Anmerkungen :
• Für Signaltypen, bei denen das Flag „Semaphore“ gesetzt ist, ist der Tageswert = 0,0.
• Für Signale vom Typ INFO und SHUNTING werden sowohl der Tag- als auch der Nachtwert auf 0,0 (kein Leuchten) eingestellt.
Syntax:
ORTSDayGlow ( d )
ORTSNightGlow ( n )
Die Werte d und n sind die Tages- und Nachtleuchtwerte als reelle Zahlen.
Es gab viele Signalanlagen, bei denen Formsignale tagsüber kein Licht zeigten. Das
Der Effekt kann mit der Einstellung ORTSDayLight simuliert werden.
Syntax:
ORTSDayLight( l )
Der Wert l ist ein logischer Wert. Wenn er auf „false“ gesetzt ist, zeigt das Signal tagsüber keine Lichter an.
Normalerweise muss jeder Signaltyp über ein verknüpftes Signalskript mit demselben Namen verfügen, der für den Signaltyp definiert ist. Allerdings gibt es oft eine Reihe von Signaltypen, die sich in der Definition unterscheiden können, z.B. aufgrund von Unterschieden in der Position der Lichter, die aber die gleichen Logikskripte haben.
In OR kann ein Signaltyp eine Definition haben, die auf ein bestimmtes Skript verweist, das dieser Signaltyp verwenden muss. Verschiedene Signaltypen, die dieselbe Logik haben, können daher alle dasselbe Skript verwenden. Dieses Skript kann unter Verwendung des Namens eines dieser Signaltypen definiert werden oder einen generischen Namen haben, der nicht mit einem vorhandenen Signaltyp verknüpft ist.
Syntax:
ORTSScript( name )
Der Wertname ist der Name des Signalskripts, wie in der Datei sigscr.dat definiert.
Wie oben beschrieben, kann ein Signaltyp vom Typ NORMAL eine zusätzliche Untertypdefinition haben.
Syntax:
ORTSNormalSubtype( Untertyp)
Der Wertuntertyp ist der Untertypname und muss mit einem der in ORTSNormalSubtypes definierten Namen übereinstimmen.
Die erforderlichen Werte für Annäherungskontrollfunktionen für einen bestimmten Signaltyp können in der Signaltypdefinition definiert werden. Auf diese Werte kann im Signalskript verwiesen werden, wie es für die Annäherungskontrollfunktionen definiert ist.
Syntax:
ApproachControlSettings (
PositionDefinition (Position)
GeschwindigkeitDefinition (Geschwindigkeit)
)
Mögliche Positionsdefinitionen
Positionkm
Positionsmeilen
Positionm
Positionyd
Mögliche Geschwindigkeitsdefinitionen
Geschwindigkeitkmh
Geschwindigkeit pro Stunde
Die Wertposition ist der erforderliche Positionswert in der Bemaßung, der durch den entsprechenden Parameter festgelegt wird. Der Wert Geschwindigkeit ist der erforderliche Geschwindigkeitswert in der Dimension, die durch den entsprechenden Parameter festgelegt wird. Die Einbeziehung der Geschwindigkeitsdefinition ist optional und muss nicht eingestellt werden, wenn nur Positionsfunktionen der Anfahrsteuerung verwendet werden.
Die folgenden Parameter können in Signalbegriffsdefinitionen einbezogen werden.
or_speedreset
Kann in Kombination mit einer Geschwindigkeitseinstellung verwendet werden. Seine Funktion, kombiniert mit der Geschwindigkeitseinstellung, ist wie folgt.
Im Aktivitätsmodus:
• Falls festgelegt, gilt die eingestellte Geschwindigkeit, bis sie durch einen Geschwindigkeitsmesser oder das nächste Signal, das einen höheren Geschwindigkeitswert setzt, außer Kraft gesetzt wird.
• Wenn nicht festgelegt, gilt die eingestellte Geschwindigkeit bis zum nächsten Signal und wird nicht durch einen Geschwindigkeitsmesser außer Kraft gesetzt.
Im Fahrplanmodus:
• Die eingestellte Geschwindigkeit gilt immer, bis sie durch einen Geschwindigkeitsmesser oder das nächste Signal, das einen höheren Geschwindigkeitswert setzt, außer Kraft gesetzt wird. Dieses Flag hat im Fahrplanmodus keine Auswirkung.
or_nospeedreduction
Bei den Signalbegriffen „STOP_AND_PROCEED“ und „RESTRICTING“ reduzieren die Züge bei Annäherung an das Signal die Geschwindigkeit auf einen niedrigen Wert. Wenn dieses Flag gesetzt ist, dürfen Züge das Signal mit normaler Streckengeschwindigkeit passieren.
Ein neuer Standardsignaltyp, „SPEED“, wurde zu OR hinzugefügt.
Als Typ „SPEED“ definierte Signale werden als Geschwindigkeitsmarkierungen und nicht als Signale verarbeitet. Die erforderliche Geschwindigkeitsbegrenzung kann über die Geschwindigkeitseinstellung der Signalbegriffsdefinition eingestellt werden.
Die Vorteile der Verwendung von „SPEED“-Signalen gegenüber Geschwindigkeitsmarkierungen sind:
• „SPEED“-Signale können skriptgesteuert und daher bedingt sein, z. B. Eine Geschwindigkeitsbeschränkung wird bei der Annäherung an eine Kreuzung nur dann festgelegt, wenn über diese Kreuzung eine eingeschränkte Route festgelegt ist.
• „SPEED“-Signale können entsprechend ihrer Einstellung einen Zustand einstellen, der durch ein vorangehendes Signal erkennbar ist. Damit können Geschwindigkeitswarnschilder aufgestellt werden.
Ein „SPEED“-Signalgeber kann Teil eines Signals sein, das auch andere Signalgeber enthält, aus Gründen der Übersichtlichkeit ist dies jedoch nicht zu empfehlen.