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].nameObjektsammlungen
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