running trains with more than on CS

Moderator: Moderators

running trains with more than on CS

Postby MacBarfuss » 24.09.2010, 07:34

Hi!

This is a duplicate entry to my question in German subboard "Basisfunctionalität", but I think my problem is global.

I try to create a standard for my modules a may be create in the next 60 years. The plan is to have a "scalable" module configuration with no limitation for the size of the final layout. Only DCC-adresses should be the bottleneck (and this is software so we can alter this later).

Maybe I'm megalomaniac (a bit), but I don't want to stop at roundabout 30 running trains if there is the possibility for 10000 adresses. And IMHO is the limit of 30 trains not that large for a bigger club.

Following problem is not solved for me:
How can trains controlled by more then one CS?
Rocrail has to send the commands for one loco to the CS which has the train on its controlled part.
What has to be managed for module connections?

Or am I completely wrong and this all is not possible, or even better: there is no problem? Just run!?
no hardware yet
just planning, modular layout on N scale
MacBarfuss
 

Postby rjversluis » 24.09.2010, 07:41

Hi,

you can only solve this by using R2RNet. This means you will have one Rocrail server and one CS per module.

http://wiki.rocrail.net/doku.php?id=networking-en
Best Regards, Rob.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Postby MacBarfuss » 24.09.2010, 08:25

Many thanks for this fast and helpful answer.

I have just a few descriptions in own words and question to qualify my understanding:

Does "A roaming train will be set to zero velocity if it has left a system." means each server uses one copy of the train database and the velocity on the module the train left is set to zero as the train is not moving on this part of the layout. Is the velocity set to the current value on the entered module then?

Is there one "master" server starting up with global routes and what else?

If using iRoc, can I connect to all servers with one instance and how can I switch between the server instances? (I have my phone here, but i'm no in the net my server is in, so testing is pain.)

To avoid the need of routing tables between each module, is it possible to keep a train running if it left the route? So if each module ends in a two track main line there is no need for routing this.
no hardware yet
just planning, modular layout on N scale
MacBarfuss
 

Postby rjversluis » 24.09.2010, 08:46

MacBarfuss wrote:Does "A roaming train will be set to zero velocity if it has left a system." means each server uses one copy of the train database and the velocity on the module the train left is set to zero as the train is not moving on this part of the layout. Is the velocity set to the current value on the entered module then?

The properties of the train are handed over to the next system. Velocity will remain the same.

MacBarfuss wrote:Is there one "master" server starting up with global routes and what else?

Just one with the globals.

MacBarfuss wrote:If using iRoc, can I connect to all servers with one instance and how can I switch between the server instances? (I have my phone here, but i'm no in the net my server is in, so testing is pain.)

You can only connect to one system a time.

MacBarfuss wrote:To avoid the need of routing tables between each module, is it possible to keep a train running if it left the route? So if each module ends in a two track main line there is no need for routing this.

No.
Best Regards, Rob.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Postby MacBarfuss » 08.10.2010, 13:37

hey,

many thanks for all your answers. It is all clear for me now ... but:

I think to use this there really should be a possibility to send commands to locos independent from their current position.

If I have iRoc running and walking down the arrangement and there is a switch between RocRail-Server instances at a module switch. It is not good if I have to turn off iRoc, step over to Settings, change to the other IP (and have the correct IP at hand) and go Back to iRoc, select the loco and ... do the necessary break.
This sounds like the old Windows joke about what it will look like if windows will run cars. You hit the break. The car says: "Do you really want to break now or do you want to break later?" and all you can do is hit "Yes" or "No" or wait for the next wall to come.

Hmm, what if there would be another server instance called something like "LocoProxy". Controller can connect to this service and stay there. The iRoc/andRoc GUI will get reduced to loco controls only and the device sends all commands to the proxy. LocoProxy will send the command to whatever seems appropriate. This could be a broadcast to all RocRail server instances or the proxy can try to figure out where one loco is at the moment and send the command to the responsible server only.

Just an idea but I look forward to any comments.

M

Edit: Typo
Last edited by MacBarfuss on 08.10.2010, 21:48, edited 1 time in total.
no hardware yet
just planning, modular layout on N scale
MacBarfuss
 

Postby rjversluis » 08.10.2010, 17:37

Hi,

I think the better approach is to use only one CS and the module support of Rocrail.
It makes no sense to dedicate a Rocrail server to every module.

R2RNet is for connecting big segments together, not modules of 1 or 2 meter in length.

The common way at Fremo is the LocoNet bus and every module or group provides its own (SPAX)booster.

The way you are planning would need at least 30 computers running Rocrail for a common modular layout presented by the Dutch MGV club.
Best Regards, Rob.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Postby MacBarfuss » 08.10.2010, 21:48

hmm, I do not only see "module < arrangement" but "module < segment < arrangement"

In the first case you are right. A full srcpd on a small Single-Board-Computer and DDL with a 1 A Booster was an idea I though of ... but that is not a really good solution.

But we need to speak about three layers (second case): modules, segments and the arrangement. Each segment has its own CS. This allows completely seperate parts of the layout .... pardon, the arrangment.
no hardware yet
just planning, modular layout on N scale
MacBarfuss
 

Postby tuxlover » 08.10.2010, 23:10

hi,

the problem is, what to do when you have a lot of locos running, so you get a bottleneck, when you would drive only with one CS.

R2RNet can handle this situation as i see. In automatic mode there is no problem, because each PC can handle his segment and interacts through global routes with his neighbors.

But what to do in manual mode, as MacBarfuss wrote switching manually with a loco control client to the Rocrail server of the actual segment the loco is in, is not handy. But it is not easy to do this by the system because the system must know where the loco is. If you monitor your complete layout/arrangement so each movement is monitored by the system a global Locoproxy could do this job.
If you have wired loco controls like Freds this could be done by monitoring the connection boxes near the borders between to segments as it is done in FREMO. The people will follow their trains, so you can detect the time when they will cross a boarder between two CS.
The big problem is, what to do if you have wireless loco control clients and don't monitor train movements on the layout/arrangement? You can hold all wireless controlled locos active in all CS but then you can't solve the bottleneck problem. You can try to make the changing procedure between two R2Rnet servers as easy as possible but it will not stay handy. And people have to know when the are leaving the area controlled by one CS.
The best solution i thing would be if you have the possibility to detect a loco punctually. Perhaps with Railcom, barcodes or something similar. Then you can detect when a loco is crossing a border and the Locoproxy can connect the client to the next server.

Michael
tuxlover
 

Postby rjversluis » 09.10.2010, 07:18

Hi,

this is all very theoretical, and before I give this a thought someone should demo his layout with a Rocrail server dedicated to each module.

You can use many Command Stations with one Rocrail instance and distribute tons of loco on them by IID.
Best Regards, Rob.
[ macOS - Linux] - [ N: CBus - CAN-GCA ] - [ 0: RocNetNode - GCA-Pi ]
rjversluis
Site Admin
 

Postby MacBarfuss » 09.10.2010, 16:59

Tanks to Michal for his comments, he seems to be the first person who understood my problem... *g* I discussed this with my older brother too and he also didn't get it because of the very theoretical level.

We don't have to talk about rocrail + CS on each module, but we have to discuss more than one rocrail server + CS per arrangment. This is possible using R2RNet but with the limitation of adressing the locos only over the server which is currently having them active.

One step back: we have to find a way to use more then one CS for addressing locos because reaching an not that large amount of locos on one arrangment the signal gets overloaded. As one rocrail server can only use one CS for sending loco commands we have to use more then one rocrail server with R2RNet. Now back again we have the issue of server dependend access to the loco.

And using LC-IID does not resolve that for roaming trains.

I hope this help make things clearer.
no hardware yet
just planning, modular layout on N scale
MacBarfuss
 

Postby mobaer » 09.10.2010, 18:52

Interessting discussion!
@rob: Is it possible to include an action to rocrail that sets a new LC-IID? That should solve the Problem with roaming trains...
Greetz
Jochen
----------------------------------------------
Intellibox IB
hama USB->Serial Converter (this one works!)
rocrail on Ubuntu 64Bit
iRoc on iPhone 3GS 16GB
Loconet sensors and switches
mobaer
 

Postby tuxlover » 09.10.2010, 18:55

Hi,

Rob I think you are in mind still at the point: one Rocrail instance per module. It's clear that this make not really sens and that was not that what MarcBarfuss had really in mind.

But let us stay in the theoretical example that you have an arrangement with more then one CS. The first thing physical you need are what German Teppichbahner call "Schleusengleis". A segment of track, longer than your train, where you can switch the track power to CS A or to CS B. Otherwise you will get a short circuit when the train cross the border between the two CS.
I thing synchronizing this with the train movement could be done by routes, actions and global routes, this shouldn't be a problem. To transfer the Loco seamless from one CS to the other, Rocrail instance A has to announce the loco an instance B, when entering the global route. When the loco is leaving the global route Rocrail instance A can deactivate the loco by setting the speed to zero. In the meantime all loco commands from clients connected to instance A or B should raised on both instances. If you can trigger a special event by the action that switches the track power, then you perhaps can use this also to roam the loco from one instance to the other. This event should be also announced over the network.
If there is such a event, a client can determinate that his loco has changed the server / CS and connect to the new server.

As far my theoretical minds. What doe's this mean for your specifications MarcBarfuss?
First you must be able to install "Schleusengleise" between your segments. Longer than your longest train and isolated from the rest of the arrangement. No real problem, when you use a normal electric as other modular railroads.
You need an electronic which can supply the "Schleusengleis" by CS A or CS B. This can be done by a simple relay and an decoder output.
The most important thing is, that you need a monitoring system for this area, so you get feedback signal for the global routes. If you monitor your hole layout then it is no problem just place the locos in the right block at the beginning of the session. If not, then you have do this placement by hand when you enter the block of global route or you need an identification system at these points as I have mentioned in my last post.

In conclusion MarcBarfuss, don't worry about that topic. The backend of the Rocrail architecture should be powerful enough to handle this. And when you will run in this problem in real life, I thing also the user interface will have this feature and will handle this handy. Otherwise raise then a feature request. But I think especially the "Teppichbahner" will be faster then you, not necessarily because of a bottleneck in controlling locos by one CS, but because of their heterogeneous control electronic.


Rob the problem with the IID is, as I see, that it is static. It don't solve it when you want to roam a train from one CS to another. If he do so you, it would be necessary to change his IID.

Michael
tuxlover
 

Postby tuxlover » 09.10.2010, 19:06

@mobear: Now our last posts have overlapped. Yes such an action could be a solution. As I have mentioned in the last paragraph. But keep in mind, that then all CS have to be physical connected to this Rocrail server PC.
So this doesn't seem to be useful. When you want to drive with multiple CS, normally you also have bigger distances between these CS. So better an event over R2Rnet when a train is roaming and an option that clients can follow their trains automatically to the next server. (Only useful for mobile clients and in dependency with the active loco)
If you want to use only one PC, then u can start multiple instances of Rocrail on that PC, each for one CS.

Michael
tuxlover
 

Postby mobaer » 09.10.2010, 19:35

Hi Michael,
that solution was meant to be used when there's too much DCC-Traffic, for example... I would try to use as less as possible Computers, the distance to the Computer shouldn't be a big problem in the days of CSs with ethernetports or USB...
More Computers would mean more instances of rocview for me and not more server instances. But that's the way I would try to find a solution for a large layout, as I think one Computer should be powerful enough to handle big layouts. Of course, If there's need for another Computer I would also use R2Rnet...
----------------------------------------------
Intellibox IB
hama USB->Serial Converter (this one works!)
rocrail on Ubuntu 64Bit
iRoc on iPhone 3GS 16GB
Loconet sensors and switches
mobaer
 

Postby tuxlover » 09.10.2010, 20:10

Hi Jochen,

let's say driving with multiple CS is a very special problem. On a "normal" home layout you will not run into this problem and you can first divide mobile and stationary decoder to different CS.

This feature is only needed when let's say roundabout 30 to 50 locos are driving similar or you have heterogeneous electronic control equipment as the "Teppichbahner", where each station want to use his own CS mainly as control input device.
If you then want to centralize the connections to one central server PC, I can't imagine that. Keep in mind, that their could be distance up to 100m or more. With Ethernet no problem but with serial or USB I wouldn't do it.
For these situations R2Rnet and separate servers would be the better solution, I think.

Michael
tuxlover
 

Next

Return to Modular Layout Support