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

Objectcollecties

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