Table of Contents
demand stop
Userpages - Hermann (hermannk) → demand stop
direct link to the Rocrail Workspace-Download |
Preface
Preface 1:
This documentation was created as of: Stand 15.01.2025
Area | Details | Remarks |
---|---|---|
Software | Rocrail | Version 2.1.5423+ (macOS "Sonoma" on Apple M2 CPU) |
Computer | MacBook Pro (M2) | macOS 14.5 (Sonoma) |
- | - | keywords: action, platform, function, demand |
Preface 2:
- use this solution at your own risk;
- regular data backups of the Rocrail workspace are recommended.
A) User request
A certain kind of train
- should stop on demand at several railway stations.
The stop request may be given
- by a button inside the train and additionally
- by a button on each platform.
B) Solution details
The Rocrail plan
This documentation uses the Rocrail object "locomotive" for the colloquial word "train".
Translations:
englisch | german |
---|---|
demand-stop | Halt auf Anforderung; Bedarfshalt |
type "Others" | Typ "Andere" |
type "Light" | Typ "Nebenbahn" |
platform | Bahnsteig |
The Rocrail objects
object | object ID | Remark | Attributes |
---|---|---|---|
Blocks | bk01, bk02, bk03 | small stopping points with "stop on demand" buttons normal locomotivs will not stop there | Block type = "Others" Wait = no |
bk04 | main station platform for almost all locomotives but not for "stop on demand" locomotives | Block type = "Others" Wait = 3 sec. |
|
bk14 | main station platform for "stop on demand" locomotives | block type = "Light" Wait = 6 sec. |
|
Locomotives | lc_other | normal locomotive but not a "stop on demand" locomotive | locomotive type = "Others" |
lc_dstop | locomotive with "stop on demand" button | locomotive type = "Light" | |
Locomotive function | dstop | demand-stop button inside the locomotive | red = ON |
Sensors | fb_dstop_bk01 fb_dstop_bk02 fb_dstop_bk03 | demand-stop button at the platform | red = ON |
Routes | [bk01-]-[bk02+]_other [bk02-]-[bk03+]_other [bk03-]-[bk04+] | route for locomotives of standard type "Others" | Route Permission Type = Others |
[bk01-]-[bk02+] [bk02-]-[bk03+] [bk03-]-[bk14+] | Sensors = fb_dstop_bk01,fb fb_dstop_bk02,fb fb_dstop_bk03,fb if sensor is red then route is locked | Route Permission Type = Light |
|
Level | "en" | english | |
"de" | german |
- Demand-stop locomotives are of Rocrail locomotive type "Light".
- The locomotive function for a demand-stop is named "dstop".
- The blocks bk01, bk02 and bk03 are connected by two routes. One route for the standard locomotives and one route for the demand-stop locomotives.
- Stopping for locomotives is done by locking the next demand-stop route.
- The demand-stop request from inside the locomotive is done by an action that sets the platform demand-stop button to ON. The action is executed by an ENTER event from blocks bk01, bk02 and bk03.
- Resetting the buttons is executed by an IN event from blocks bk01, bk02 and bk03.
The Rocrail actions
These actions hand the internal demand-stop request to the external platform demand-stop request. This is working because the actions are executed before the next route is set.
Action | condition | executed by | content |
---|---|---|---|
ac_dstop_bk01_set | locomotive is of type "Light" AND locomotive's function "dstop" is ON | block bk01 at ENTER | set fb_dstop_bk01 to ON |
ac_dstop_bk02_set | locomotive is of type "Light" AND locomotive's function "dstop" is ON | block bk02 at ENTER | set fb_dstop_bk02 to ON |
ac_dstop_bk03_set | locomotive is of type "Light" AND locomotive's function "dstop" is ON | block bk03 at ENTER | set fb_dstop_bk03 to ON |
This action switches off the internal demand-stop request as soon as the locomotive has stoped on demand:
Action | condition | executed by | content |
---|---|---|---|
ac_lc_light_dstop_off | locomotive has speed "V0" AND sensor fb_dstop_bk01 is ON | block bk01 at IN | set fb_dstop_bk01 to OFF |
locomotive has speed "V0" AND sensor fb_dstop_bk02 is ON | block bk02 at IN | set fb_dstop_bk02 to OFF | |
locomotive has speed "V0" AND sensor fb_dstop_bk03 is ON | block bk03 at IN | set fb_dstop_bk03 to OFF |
These actions switch off the external demand-stop request as soon as the locomotive has stoped on demand:
Action | condition | executed by | content |
---|---|---|---|
ac_dstop_bk01_reset | none | block bk01 at IN | set fb_dstop_bk01 to OFF |
ac_dstop_bk02_reset | none | block bk01 at IN | set fb_dstop_bk02 to OFF |
ac_dstop_bk03_reset | none | block bk01 at IN | set fb_dstop_bk03 to OFF |
These actions are used to run the locomotives alternativly. Both locomotives have to be startet at first and one signal has to be set to green/yellow to run the first locomotive.
Action | condition | executed by | content |
---|---|---|---|
ac_sg04_green | none | block bk14 at IN | set signal sg04 to green |
ac_sg14_yellow | none | block bk04 at IN | set signal sg14 to yellow |
C) The Workspace
The download workspace " demand_stop.zip" contains the following files:
Datei | Bedeutung |
---|---|
plan.xml | the Rocrail plan file |
back to Solution details.
Open the workspace
- start automatic mode
- start both locomotives (if available in virtual mode)
- set one signal (sg04 or sg14) to green/yellow
- use one of the demand-stop buttons to check its functionality.
Have fun.
Use the Rocrail forum for any questions.