RailScript
RailScript-namespacereferentie
Deze pagina bevat ieder objectattribuut dat momenteel door de RailKernel runtime-namespace wordt gepubliceerd. Schrijfbare attributen kunnen met ZET worden gewijzigd. Geplande attributen behoren al tot het contract maar retourneren momenteel <not yet implemented>.
In Jip-en-Janneke-taal
Objecten zijn de dingen in RailKernel, zoals treinen, blokken, terugmelders en accessoires. Attributen vertellen iets over zo’n object, bijvoorbeeld of een blok bezet is of hoe snel een locomotief rijdt. Events zijn momenten waarop iets gebeurt, bijvoorbeeld wanneer een trein een blok binnenrijdt. Een RailScript bevat de opdrachten die RailKernel uitvoert, doordat u het zelf start of automatisch zodra zo’n event plaatsvindt.
Objecten adresseren
Systeemwaarden gebruiken system.attribuut. Andere objecten gebruiken domein["naam"].attribuut of domein["guid"].attribuut. Geïndexeerde locomotieffuncties gebruiken locomotive["naam"].function[nummer].attribuut.
system.projectLoaded
feedback["K31"].occupied
locomotive["Class 66"].function[0].nameObjectcollecties
Een lege selector, zoals block[] of feedback[], duidt alle objecten binnen dat namespace-domein aan. Een route biedt daarnaast de gekoppelde collecties route["naam"].blocks[] en route["naam"].accessories[]. Gebruik collecties met VOOR ELK. De lusvariabele vertegenwoordigt steeds één object en biedt precies dezelfde attributen als een individueel geselecteerd object.
commandStation[] feedback[] accessory[] switch[] signal[] block[] train[] trainType[] locomotive[] route[] script[] variable[] counter[] timer[]
VOOR ELK item IN block[]
DOE
LOG item.name + ": " + item.occupied
EINDE
VOOR ELK wissel IN route["Stationsronde"].accessories[]
DOE
LOG wissel.name + ": " + wissel.position
EINDE
Systeem en project system
Voorbeelden
LOG "Project: " + system.projectName
ALS system.emergencyStop DAN LOG "Noodstop is actief" EINDE Alleen-lezen
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
Huidige event event
Deze waarden beschrijven het event dat het huidige script heeft gestart. Object- en treinwaarden zijn NULL wanneer ze niet van toepassing zijn; handmatig gestarte scripts gebruiken event.type = manual.
Voorbeelden
LOG event.type + " van " + event.objectType + " " + event.objectName
ALS event.trainName != NULL DAN LOG "Trein: " + event.trainName EINDE Alleen-lezen
type · objectType · objectGuid · objectName · trainGuid · trainName
Centrale commandStation
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: commandStation[]
Voorbeelden
ALS commandStation["ECoS"].connected DAN LOG "ECoS verbonden" EINDE
ZET commandStation["ECoS"].powerOn = WAAR On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onConnected · onDisconnected · onGo · onStop · onEmergencyStop · onReconnectStarted · onReconnectSucceeded · onReconnectFailed · onError · onFeedbackReceived · onAccessoryChanged · onLocomotiveChanged
Alleen-lezen
guid · name · technicalName · type · host · port · connected · vendor · model · articleNumber · firmwareVersion · hardwareVersion · serialNumber · supportsDecoderCvRead · supportsDecoderCvWrite · supportsMfxDecoderRead · supportsFeedbackDeletion · locomotiveCount · accessoryCount · routeCount · feedbackCount · feedbackModuleCount · boosterCount
Schrijfbaar
powerOn
Terugmelder feedback
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: feedback[]
Voorbeelden
WANNEER feedback["K31"].occupied DOE LOG "K31 bezet" EINDE
LOG "Terugmeldlengte: " + feedback["K31"].length On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onOccupied · onFree · onTrainEntered · onTrainExited · onUnexpectedOccupied · onEmergencyStop
Alleen-lezen
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
Schrijfbaar
s88 · labelX · labelY · labelSizePercent · labelAngleDegrees
Accessoire accessory
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: accessory[]
Voorbeelden
ZET accessory["A.1"].position = STRAIGHT
ALS accessory["A.1"].reserved DAN LOG accessory["A.1"].reservedBy EINDE On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onStraight · onDiverging · onLeft · onRight · onPositionChanged · onActivated · onReleased · onPulseCompleted · onPulseFailed
Alleen-lezen
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
Schrijfbaar
position · labelX · labelY · labelSizePercent · labelAngleDegrees
Canvasschakelaar switch
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: switch[]
Voorbeelden
ZET switch["Perronverlichting"].on = WAAR
WANNEER switch["Tanken"].on DOE LOG "Tankschakelaar actief" EINDE On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onScript · offScript · pressScript
Alleen-lezen
guid · name · label · hint · type · defaultOn · releaseTimeMs · visibleDuringRouting · indicatorOnly · persistState · sizePercent · heightMm · userVariable · accessoryGuid · accessory · accessoryOnState · accessoryOffState · outputMode · directCommandStation · directProtocol · directAddress · triggerFeedbackGuid · triggerFeedback · triggerBehaviour
Schrijfbaar
on · enabled
Sein signal
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: signal[]
Voorbeelden
ZET signal["Inrijsein"].state = GREEN
LOG "Seinblok: " + signal["Inrijsein"].block On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onRed · onGreen · onAspectChanged · onCommandFailed
Alleen-lezen
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
Schrijfbaar
state
Blok block
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: block[]
Voorbeelden
ALS block["Perron 1"].occupied DAN LOG block["Perron 1"].occupiedBy EINDE
LOG "Voorwaartse stop: " + block["Perron 1"].forwardStop On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onOccupied · onFree · onReserved · onReleased · onTrainEntered · onTrainStopped · onTrainLeaving · onTrainExited
Alleen-lezen
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
Schrijfbaar
usable · turnbackPolicy · maximumSpeed · minimumDwellTime · labelX · labelY · labelSizePercent · labelAngleDegrees
Trein train
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: train[]
Voorbeelden
ALS train["Intercity 1200"].placed DAN LOG train["Intercity 1200"].currentBlock EINDE
WANNEER train["Intercity 1200"].distanceFromBlockEntryMm >= 500 DOE LOG "500 mm in het blok afgelegd" EINDE On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onPlaced · onUnplaced · onQueued · onRouteStarted · onPaused · onResumed · onBlockEntered · onBlockExited · onStopped · onRouteCompleted · onRouteAborted · onDeadlocked · onEmergencyStop
Alleen-lezen
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
Gepland
speed · state · destination · route · waiting · deadlocked · automatic · reservedBlockCount
Treintype trainType
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: trainType[]
Voorbeelden
LOG trainType["Intercity"].maximumSpeedKmh
ALS trainType["Intercity"].alignAtPlatform DAN LOG "Perronuitlijning actief" EINDE Alleen-lezen
guid · name · category · maximumSpeedKmh · unlimitedMaximumSpeed · accelerationFactor · brakingFactor · priority · reservationCount · reservationBeforeDeparture · alignAtPlatform · trainCount · allowedBlockCount
Locomotief locomotive
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: locomotive[]
Voorbeelden
ZET locomotive["NS 1200"].speed = 64
ZET locomotive["NS 1200"].function[3].active = WAAR On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onSpeedChanged · onDirectionChanged · onFunctionChanged · onStopped · onDecoderError · onConnectionLost
Alleen-lezen
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
Schrijfbaar
speed · direction · function[n].active
Alleen-lezen
function[n].name · function[n].type · function[n].mode · function[n].visible · function[n].directional · function[n].autoOffMs
Gepland
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
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: route[]
Voorbeelden
LOG route["Stationsronde"].fromBlock + " → " + route["Stationsronde"].toBlock
RIJD "Intercity 1200" VIA "Stationsronde" WACHTRIJ On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onStarted · onCompleted · onAborted · onPaused · onResumed · onFailed · onBlocked · onAlternativeSelected
Alleen-lezen
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
Gepland
active · queued · reserved · reservedBy · available · blocked
RailScript script
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: script[]
Voorbeelden
RUN "Geluiden stationsronde"
WANNEER !script["Geluiden stationsronde"].isRunning DOE LOG "Geluidsscript voltooid" EINDE Alleen-lezen
guid · name · enabled · language · isRunning
Gebruikersvariabele variable
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: variable[]
Voorbeelden
ZET variable["bedrijfsmodus"].value = "nacht"
LOG variable["bedrijfsmodus"].value Alleen-lezen
guid · name · type · defaultValue · description · persistent · readOnly
Schrijfbaar
value (unless readOnly)
Teller counter
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: counter[]
Voorbeelden
ZET counter["vertrekken"].value = counter["vertrekken"].value + 1
LOG counter["vertrekken"].value On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onChanged · onZero · onMinimumReached · onMaximumReached
Alleen-lezen
guid · name · initialValue · minimum · maximum · step · enabled · comment · onChangedScript · onChangedScriptGuid · onZeroScript · onZeroScriptGuid · onMinimumReachedScript · onMinimumReachedScriptGuid · onMaximumReachedScript · onMaximumReachedScriptGuid
Schrijfbaar
value
Timer timer
Collectie-identifier en attributen die via de lusvariabele beschikbaar zijn: timer[]
Voorbeelden
ZET timer["stationsstop"].durationMillis = 30000
WANNEER timer["stationsstop"].expired DOE LOG "Stationsstop voltooid" EINDE On-triggers
Deze events kunnen een gekoppeld RailScript starten. Selecteer het script in de event- of scriptinstellingen van het betreffende object.
onStarted · onExpired · onCancelled · onReset
Alleen-lezen
guid · name · duration · elapsed · elapsedMillis · remaining · remainingMillis · expired · enabled · comment · onStartedScript · onStartedScriptGuid · onExpiredScript · onExpiredScriptGuid · onCancelledScript · onCancelledScriptGuid · onResetScript · onResetScriptGuid
Schrijfbaar
durationMillis · running