Welcome to the forum   
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Share
Options
View
Go to last post in this topic Go to first unread post in this topic
Offline Roland  
#1 Posted : 18 September 2020 16:21:51(UTC)
Roland

Canada   
Joined: 09/11/2013(UTC)
Posts: 332
Location: Toronto, Canada
I'm trying to understand how I should set up my blocks for software control of dead-end sidings with a goal of trying to have any train parking in these sidings stop just inside the siding regardless of the total length of the train. My thinking was to have a small block right at the entrance of each siding and a second block for the remainder of the track. When a train enters a siding and then fully passes over the small block, it should stop immediately. To our resident computer control experts, I was hoping to confirm first that this is possible with TrainController/Rocrail but also if this the best way to do this?

deadend track.jpg

Thanks in advance.
My Layout Build | Märklin CS3+ | K-track | Merkur | Viessmann | LDT | iTrain | Modeling DB + SBB
Offline JohnjeanB  
#2 Posted : 18 September 2020 17:56:33(UTC)
JohnjeanB

France   
Joined: 04/02/2011(UTC)
Posts: 3,083
Location: Paris, France
Hi Roland

This is something I deal with Rocrail by:
- setting a virtual block on the garage track (with ENTER (20 cms near the switch) and IN ( the 20 CM near the bumper) sensors
- setting a slave block to the virtual block above ( with a ENTER2IN sensor that is the ENTER sensor of the block above

So when you send an entire train (loco pushing) you send it to the virtual block (a specific route). If you uncouple and the loco leaves the block, sensor IN remains occupied.

When later you want to pick the wagons you send the loco to the SLAVE block (a second route) (which is free) and you pick the cars
Here is an example of a totally automatic operation using this principle

I hope this helps

Cheers

Jean
thanks 2 users liked this useful post by JohnjeanB
Offline Roland  
#3 Posted : 18 September 2020 18:42:05(UTC)
Roland

Canada   
Joined: 09/11/2013(UTC)
Posts: 332
Location: Toronto, Canada
Originally Posted by: JohnjeanB Go to Quoted Post
Hi Roland

This is something I deal with Rocrail by:
- setting a virtual block on the garage track (with ENTER (20 cms near the switch) and IN ( the 20 CM near the bumper) sensors
- setting a slave block to the virtual block above ( with a ENTER2IN sensor that is the ENTER sensor of the block above

So when you send an entire train (loco pushing) you send it to the virtual block (a specific route). If you uncouple and the loco leaves the block, sensor IN remains occupied.

When later you want to pick the wagons you send the loco to the SLAVE block (a second route) (which is free) and you pick the cars
Here is an example of a totally automatic operation using this principle

I hope this helps

Cheers

Jean


Hi Jean,

Thanks for the reply. So when a train enters your siding, it stops when it reaches the IN sensor? Sounds like all trains would be lined up at the buffer side rather than the entrance side (unless the siding is dedicated to one specific train or all of the same length). While this would work, since I could be parking trains of different lengths in these sidings I was hoping to have them line up at the entrance side.

Do you know if Rocrail has the ability to stop a train when the IN sensor becomes "free" AND the adjacent siding sensor is now occupied? I wasn't planning on decoupling the lokos in my scenario, in case that helps simplify.

Thanks,
Roland
My Layout Build | Märklin CS3+ | K-track | Merkur | Viessmann | LDT | iTrain | Modeling DB + SBB
Offline JohnjeanB  
#4 Posted : 18 September 2020 19:37:11(UTC)
JohnjeanB

France   
Joined: 04/02/2011(UTC)
Posts: 3,083
Location: Paris, France
Originally Posted by: Roland Go to Quoted Post

So when a train enters your siding, it stops when it reaches the IN sensor? Sounds like all trains would be lined up at the buffer side rather than the entrance side (unless the siding is dedicated to one specific train or all of the same length). While this would work, since I could be parking trains of different lengths in these sidings I was hoping to have them line up at the entrance side.

Yes in the simple case I explained all trains would stop when their extremity reaches the IN sensor.

Originally Posted by: Roland Go to Quoted Post

Do you know if Rocrail has the ability to stop a train when the IN sensor becomes "free" AND the adjacent siding sensor is now occupied? I wasn't planning on decoupling the lokos in my scenario, in case that helps simplify.

I have found a trick using an XML program triggered when the train reaches the IN to override the stop order initiated by the IN sensor:
- it will send a speed order in the block in question
- wait x milliseconds (50 or 100)
- check if the IN sensor . If still busy then loop
if free then send a stop order to the loco
The program may be for ANY loco in the block or for a SPECIFIC loco in the block

In the video below is an example of a loco reaching the IN of a block then the XML program takes over and:
- drives the loco forward until the decoupler is cleared
- stops the loco, when the sensor is occupied
- activates an uncoupling sequence
- stops the loco

In this example, because all the locos don't have the same length, the XML program is loco-specific
Writing in XML is rather simple and I can send you some examples to get you started
PS I have a lot of fun writing these programs to do all the circulations I whish.
Additionally, I have added conditional circulations depending if the consist has been detached or is still attached (coupled) to the loco in question.
Cheers
Jean
thanks 1 user liked this useful post by JohnjeanB
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

| Powered by YAF.NET | YAF.NET © 2003-2024, Yet Another Forum.NET
This page was generated in 0.357 seconds.