RailScript

RailScript-Namensraumreferenz

Diese Seite enthält alle Objektattribute, die derzeit vom RailKernel-Laufzeitnamensraum veröffentlicht werden. Schreibbare Attribute können mit SETZE geändert werden. Geplante Attribute gehören bereits zum Vertrag, liefern derzeit jedoch <not yet implemented>.

Einfach erklärt

Objekte sind die Dinge in RailKernel, zum Beispiel Züge, Blöcke, Rückmelder und Magnetartikel. Attribute beschreiben ein Objekt, etwa ob ein Block belegt ist oder wie schnell eine Lok fährt. Ereignisse sind Zeitpunkte, an denen etwas geschieht, beispielsweise wenn ein Zug in einen Block einfährt. Ein RailScript enthält die Anweisungen, die RailKernel ausführt – entweder weil Sie es selbst starten oder automatisch, sobald ein solches Ereignis eintritt.

Objekte adressieren

Systemwerte verwenden system.attribut. Andere Objekte verwenden domäne["Name"].attribut oder domäne["GUID"].attribut. Indizierte Lokfunktionen verwenden locomotive["Name"].function[Nummer].attribut.

system.projectLoaded
feedback["K31"].occupied
locomotive["Class 66"].function[0].name

Objektsammlungen

Ein leerer Selektor wie block[] oder feedback[] bezeichnet alle Objekte dieser Namensraumdomäne. Eine Route stellt außerdem die zugehörigen Sammlungen route["Name"].blocks[] und route["Name"].accessories[] bereit. Sammlungen werden mit FÜR JEDEN verwendet. Die Schleifenvariable repräsentiert jeweils ein Objekt und stellt dieselben Attribute wie ein einzeln ausgewähltes Objekt bereit.

commandStation[] feedback[] accessory[] switch[] signal[] block[] train[] trainType[] locomotive[] route[] script[] variable[] counter[] timer[]

FÜR JEDEN item IN block[]
TUE
    LOG item.name + ": " + item.occupied
ENDE

FÜR JEDEN weiche IN route["Bahnhofsrunde"].accessories[]
TUE
    LOG weiche.name + ": " + weiche.position
ENDE

System und Projekt system

Beispiele

LOG "Projekt: " + system.projectName
WENN system.emergencyStop DANN LOG "Not-Aus ist aktiv" ENDE

Nur lesen

projectLoaded · emergencyStop · applicationVersion · osName · osVersion · osArchitecture · javaVersion · language · currentTime · uptimeMillis · commandStationCount · connectedCommandStationCount · poweredCommandStationCount · allCommandStationsConnected · projectName · projectDirty · projectRevision · scale · catalogueFile · trackCount · flexTrackCount · blockCount · feedbackCount · accessoryCount · signalCount · locomotiveCount · trainCount · trainTypeCount · routeCount · userVariableCount

Aktuelles Ereignis event

Diese Werte beschreiben das Ereignis, das das aktuelle Skript gestartet hat. Objekt- und Zugwerte sind NULL, wenn sie nicht zutreffen; manuell gestartete Skripte verwenden event.type = manual.

Beispiele

LOG event.type + " von " + event.objectType + " " + event.objectName
WENN event.trainName != NULL DANN LOG "Zug: " + event.trainName ENDE

Nur lesen

type · objectType · objectGuid · objectName · trainGuid · trainName

Digitalzentrale commandStation

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: commandStation[]

Beispiele

WENN commandStation["ECoS"].connected DANN LOG "ECoS verbunden" ENDE
SETZE commandStation["ECoS"].powerOn = WAHR

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onConnected · onDisconnected · onGo · onStop · onEmergencyStop · onReconnectStarted · onReconnectSucceeded · onReconnectFailed · onError · onFeedbackReceived · onAccessoryChanged · onLocomotiveChanged

Nur lesen

guid · name · technicalName · type · host · port · connected · vendor · model · articleNumber · firmwareVersion · hardwareVersion · serialNumber · supportsDecoderCvRead · supportsDecoderCvWrite · supportsMfxDecoderRead · supportsFeedbackDeletion · locomotiveCount · accessoryCount · routeCount · feedbackCount · feedbackModuleCount · boosterCount

Schreibbar

powerOn

Rückmelder feedback

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: feedback[]

Beispiele

SOBALD feedback["K31"].occupied TUE LOG "K31 belegt" ENDE
LOG "Rückmeldelänge: " + feedback["K31"].length

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onOccupied · onFree · onTrainEntered · onTrainExited · onUnexpectedOccupied · onEmergencyStop

Nur lesen

guid · name · commandStation · bus · module · contact · address · occupied · reliable · unreliable · excludeFromEmergencyStop · forwardRole · backwardRole · railCount · length · blockGuid · blockName · forwardStart · forwardEnd · backwardStart · backwardEnd · labelDefined · onOccupiedScript · onOccupiedScriptGuid · onFreeScript · onFreeScriptGuid · onTrainEnteredScript · onTrainEnteredScriptGuid · onTrainExitedScript · onTrainExitedScriptGuid · onUnexpectedOccupiedScript · onUnexpectedOccupiedScriptGuid · onEmergencyStopScript · onEmergencyStopScriptGuid

Schreibbar

s88 · labelX · labelY · labelSizePercent · labelAngleDegrees

Magnetartikel accessory

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: accessory[]

Beispiele

SETZE accessory["A.1"].position = STRAIGHT
WENN accessory["A.1"].reserved DANN LOG accessory["A.1"].reservedBy ENDE

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onStraight · onDiverging · onLeft · onRight · onPositionChanged · onActivated · onReleased · onPulseCompleted · onPulseFailed

Nur lesen

guid · name · type · commandStation · address · threeWay · address2 · address3 · address4 · address5 · protocol · defaultState · unreliable · straightDivergingSwapped · comment · half · reserved · reservedBy · state · labelDefined · onStraightScript · onStraightScriptGuid · onDivergingScript · onDivergingScriptGuid · onLeftScript · onLeftScriptGuid · onRightScript · onRightScriptGuid · onPositionChangedScript · onPositionChangedScriptGuid · onActivatedScript · onActivatedScriptGuid · onReleasedScript · onReleasedScriptGuid · onPulseCompletedScript · onPulseCompletedScriptGuid · onPulseFailedScript · onPulseFailedScriptGuid

Schreibbar

position · labelX · labelY · labelSizePercent · labelAngleDegrees

Canvas-Schalter switch

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: switch[]

Beispiele

SETZE switch["Bahnsteigbeleuchtung"].on = WAHR
SOBALD switch["Tanken"].on TUE LOG "Tankschalter aktiv" ENDE

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onScript · offScript · pressScript

Nur lesen

guid · name · label · hint · type · defaultOn · releaseTimeMs · visibleDuringRouting · indicatorOnly · persistState · sizePercent · heightMm · userVariable · accessoryGuid · accessory · accessoryOnState · accessoryOffState · outputMode · directCommandStation · directProtocol · directAddress · triggerFeedbackGuid · triggerFeedback · triggerBehaviour

Schreibbar

on · enabled

Signal signal

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: signal[]

Beispiele

SETZE signal["Einfahrsignal"].state = GREEN
LOG "Signalblock: " + signal["Einfahrsignal"].block

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onRed · onGreen · onAspectChanged · onCommandFailed

Nur lesen

guid · name · manufacturer · articleNumber · productName · gauge · signalType · aspects · technology · railwayCountry · railwayCompany · x · y · heightMm · block · blockGuid · blockSide · direction · comment · linkedAccessory · linkedAccessoryGuid · linkedDecoder · onRedScript · onRedScriptGuid · onGreenScript · onGreenScriptGuid · onAspectChangedScript · onAspectChangedScriptGuid · onCommandFailedScript · onCommandFailedScriptGuid

Schreibbar

state

Block block

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: block[]

Beispiele

WENN block["Bahnsteig 1"].occupied DANN LOG block["Bahnsteig 1"].occupiedBy ENDE
LOG "Vorwärts-Haltepunkt: " + block["Bahnsteig 1"].forwardStop

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onOccupied · onFree · onReserved · onReleased · onTrainEntered · onTrainStopped · onTrainLeaving · onTrainExited

Nur lesen

guid · name · type · abstract · length · minTrainLength · maxTrainLength · forwardBrake · forwardStop · backwardBrake · backwardStop · electrified · occupied · occupiedBy · reserved · reservedBy · currentTrain · direction · turnbackPolicy · bidirectional · maximumSpeed · minimumDwellTime · waiting · deadlocked · feedbackCount · accessoryCount · signalCount · decouplerCount · firstForwardFeedback · lastForwardFeedback · forwardEntryFeedback · forwardBrakeFeedback · forwardStopFeedback · forwardExitFeedback · firstBackwardFeedback · lastBackwardFeedback · backwardEntryFeedback · backwardBrakeFeedback · backwardStopFeedback · backwardExitFeedback · labelDefined · onOccupiedScript · onOccupiedScriptGuid · onFreeScript · onFreeScriptGuid · onReservedScript · onReservedScriptGuid · onReleasedScript · onReleasedScriptGuid · onTrainEnteredScript · onTrainEnteredScriptGuid · onTrainStoppedScript · onTrainStoppedScriptGuid · onTrainLeavingScript · onTrainLeavingScriptGuid · onTrainExitedScript · onTrainExitedScriptGuid

Schreibbar

usable · turnbackPolicy · maximumSpeed · minimumDwellTime · labelX · labelY · labelSizePercent · labelAngleDegrees

Zug train

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: train[]

Beispiele

WENN train["Intercity 1200"].placed DANN LOG train["Intercity 1200"].currentBlock ENDE
SOBALD train["Intercity 1200"].distanceFromBlockEntryMm >= 500 TUE LOG "500 mm im Block zurückgelegt" ENDE

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onPlaced · onUnplaced · onQueued · onRouteStarted · onPaused · onResumed · onBlockEntered · onBlockExited · onStopped · onRouteCompleted · onRouteAborted · onDeadlocked · onEmergencyStop

Nur lesen

guid · name · locomotive · locomotiveGuid · trainType · trainTypeGuid · lengthMm · wagonGroupCount · motionSamplingEnabled · placed · newFeedback · currentBlock · currentBlockGuid · currentRoute · currentRouteGuid · distanceFromBlockEntryMm · distanceToBlockExitMm · previousBlock · previousBlockGuid · destinationBlock · destinationBlockGuid · nextBlock · nextBlockGuid · reservedBlock · reservedBlockGuid · currentFeedback · currentFeedbackGuid · direction · placedElementType · placedElementGuid · placedOffsetMm · brakeDistanceMmSpeed50 · brakeDistanceMmSpeed70 · brakeDistanceMmSpeed90 · brakeDistanceMmSpeed110 · motionSpeedMmPerSec50 · motionSpeedMmPerSec70 · motionSpeedMmPerSec90 · motionSpeedMmPerSec110 · onPlacedScript · onPlacedScriptGuid · onUnplacedScript · onUnplacedScriptGuid · onQueuedScript · onQueuedScriptGuid · onRouteStartedScript · onRouteStartedScriptGuid · onPausedScript · onPausedScriptGuid · onResumedScript · onResumedScriptGuid · onBlockEnteredScript · onBlockEnteredScriptGuid · onBlockExitedScript · onBlockExitedScriptGuid · onStoppedScript · onStoppedScriptGuid · onRouteCompletedScript · onRouteCompletedScriptGuid · onRouteAbortedScript · onRouteAbortedScriptGuid · onDeadlockedScript · onDeadlockedScriptGuid · onEmergencyStopScript · onEmergencyStopScriptGuid

Geplant

speed · state · destination · route · waiting · deadlocked · automatic · reservedBlockCount

Zugtyp trainType

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: trainType[]

Beispiele

LOG trainType["Intercity"].maximumSpeedKmh
WENN trainType["Intercity"].alignAtPlatform DANN LOG "Bahnsteigausrichtung aktiv" ENDE

Nur lesen

guid · name · category · maximumSpeedKmh · unlimitedMaximumSpeed · accelerationFactor · brakingFactor · priority · reservationCount · reservationBeforeDeparture · alignAtPlatform · trainCount · allowedBlockCount

Lokomotive locomotive

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: locomotive[]

Beispiele

SETZE locomotive["NS 1200"].speed = 64
SETZE locomotive["NS 1200"].function[3].active = WAHR

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onSpeedChanged · onDirectionChanged · onFunctionChanged · onStopped · onDecoderError · onConnectionLost

Nur lesen

guid · name · displayName · description · comment · brand · catalogueNumber · gauge · commandStation · address · protocol · speedSteps · lengthMm · maximumSpeedKmh · locomotiveType · electric · configuredDirection · decoderUid · mfxUid · decoderTemplate · imageFile · feedbackDistanceFront · feedbackDistanceRear · volume · totalDistanceKm · totalRunningTimeMillis · functionCount

Schreibbar

speed · direction · function[n].active

Nur lesen

function[n].name · function[n].type · function[n].mode · function[n].visible · function[n].directional · function[n].autoOffMs

Geplant

speedKmh · moving · connected · currentBlock · currentBlockGuid · reserved · reservedBy · placed · trainName · trainGuid · minimumDecoderStep · maximumDecoderStep · calibratedSpeedTable · acceleration · braking · massSimulation · brakeCorrection · automatic · active · blocked · outOfService · maintenanceInterval · maintenanceDue · pushPullMode

Route route

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: route[]

Beispiele

LOG route["Bahnhofsrunde"].fromBlock + " → " + route["Bahnhofsrunde"].toBlock
FAHRE "Intercity 1200" MIT "Bahnhofsrunde" EINREIHEN

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onStarted · onCompleted · onAborted · onPaused · onResumed · onFailed · onBlocked · onAlternativeSelected

Nur lesen

guid · name · fromBlock · fromBlockGuid · toBlock · toBlockGuid · blockCount · legCount · trackCount · accessoryCount · corridorLengthMm · respectBlockDirection · continuationRoute · continuationRouteGuid · blocks[] · accessories[] · onStartedScript · onStartedScriptGuid · onCompletedScript · onCompletedScriptGuid · onAbortedScript · onAbortedScriptGuid · onPausedScript · onPausedScriptGuid · onResumedScript · onResumedScriptGuid · onFailedScript · onFailedScriptGuid · onBlockedScript · onBlockedScriptGuid · onAlternativeSelectedScript · onAlternativeSelectedScriptGuid

Geplant

active · queued · reserved · reservedBy · available · blocked

RailScript script

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: script[]

Beispiele

RUN "Geräusche Bahnhofsrunde"
SOBALD !script["Geräusche Bahnhofsrunde"].isRunning TUE LOG "Geräuschscript abgeschlossen" ENDE

Nur lesen

guid · name · enabled · language · isRunning

Benutzervariable variable

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: variable[]

Beispiele

SETZE variable["Betriebsart"].value = "Nacht"
LOG variable["Betriebsart"].value

Nur lesen

guid · name · type · defaultValue · description · persistent · readOnly

Schreibbar

value (unless readOnly)

Zähler counter

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: counter[]

Beispiele

SETZE counter["Abfahrten"].value = counter["Abfahrten"].value + 1
LOG counter["Abfahrten"].value

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onChanged · onZero · onMinimumReached · onMaximumReached

Nur lesen

guid · name · initialValue · minimum · maximum · step · enabled · comment · onChangedScript · onChangedScriptGuid · onZeroScript · onZeroScriptGuid · onMinimumReachedScript · onMinimumReachedScriptGuid · onMaximumReachedScript · onMaximumReachedScriptGuid

Schreibbar

value

Timer timer

Sammlungsbezeichner und über die Schleifenvariable verfügbare Attribute: timer[]

Beispiele

SETZE timer["Bahnhofsaufenthalt"].durationMillis = 30000
SOBALD timer["Bahnhofsaufenthalt"].expired TUE LOG "Aufenthalt beendet" ENDE

On-Trigger

Diese Ereignisse können ein verknüpftes RailScript starten. Wählen Sie das Skript in den Ereignis- oder Skripteinstellungen des betreffenden Objekts aus.

onStarted · onExpired · onCancelled · onReset

Nur lesen

guid · name · duration · elapsed · elapsedMillis · remaining · remainingMillis · expired · enabled · comment · onStartedScript · onStartedScriptGuid · onExpiredScript · onExpiredScriptGuid · onCancelledScript · onCancelledScriptGuid · onResetScript · onResetScriptGuid

Schreibbar

durationMillis · running