News:

Simutrans Chat Room
Where cool people of Simutrans can meet up.

One train staff problems

Started by Vladki, January 29, 2019, 08:50:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Vladki

I have set up a tram line with several loops, and added train staff cabinets to them. See the linked game - look for "church benmere". If there is only one tram, it works as expected. Tram on sinlge track line is in one train staff mode. Upon entry to the loop it passes a cabinet (in reverse), and switches to drive by sight. On exit of the loop it passes another cabinet, and acquires a train staff again. The problem is if it has to wait for the staff - when the track ahead is occupied by tram in opposite direction. When it is waiting it is constantly switching between one train staff and drive by sight, and when the track is cleared it continues in drive by sight mode. For trams it is not so big deal (they are slow anyway), but it is detrimental for trains. I have tried similar setup with trains and it lead even to deadlocks, as the train sometimes passed the cabinet even when the block ahead was occupied by train in drive by sight mode. Game save is here, or visit the Stephenson-Siemens game server. http://list.extended.simutrans.org/debug-saves/client6-network.sve

Edit : even the trams deadlock after some time

jamespetts

I am not sure that I understand how this setup is supposed to work. The tram loops are not configured correctly for the one train staff working method: the two cabinets (for entry to and exit from the one train section) should be immediately adjacent to each other.

For the trains, again, the configuration in which these are being operated is not suitable for this working method. It appears that you are trying to use the one train staff method as if it were staff and ticket working: the one train staff method is not suitable for lines which can be accessed from more than one point. They are intended exclusively for entire railways in which only one train operates at any one time, or for self-contained dead-end sections, where the whole of the railway beyond the one train staff cabinet will only ever have one train in it at a time.

What you need for what you are trying to achieve would appear to be token block signalling.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

I was trying to make signalling similar to this real world tram: http://ymtram.mashke.org/germany/bad_schandau/descr_en.html
The line has two passing loops, and there are three staffs, one for each section. Drivers exchange the staff at loops. No signals or anything.
(For simplicity we should not think about how they do it in the morning and evening).

I know that the boxes on the tram are not adjacent, but they are diagonally adjacent. I wanted to use the street layout as it is. However I had a train loop with staff boxes as they should be, and it worked in the same way.

Also using token block for this layout was not good, because the block was not cleared when the tram entered the loop, and lead to deadlock. So I used absolute block, and that works fine. On another line I used token block in conbination with end-of signalling signs in the middle of loop.

jamespetts

This is not so much a bug report for the existing system, it seems, as a request for another system: but that other system can only be staff and ticket, and the problem with staff and ticket is that it is either done realistically and extremely easy to deadlock or simplified and not functionally different from token block.

The one train staff system is intended to be used for only one purpose: that is to simulate a "one train in steam" (in more recent times, simply called "one train", hence "one train staff") working method in which an entire isolated network (or entire sub-network connected to the main network with one and only one entry point) has only one train running on it at any one time. It will not work reliably if one attempts to use it as a staff and ticket system.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Rollmaterial

My understanding is that the only reason token block exists in the game is to reserve an entire single-track section with stops on it, as the game traditionally only reserves until the next stop. If I am not mistaken, a token block signal requires a normal signal before the passing loop at the other end to clear correctly.

Vladki

But this is not a staff+ticket system. I do not intend to run more than one train in one direction. They should go there and back so a staff should be enough.
I think that the time interval with telegraph is practically the same as ticket+staff system.

Putting absolute block signal before the passing loop will allow next train in the same direction before the train in opposite direction, and create deadlock.

jamespetts

Quote from: Vladki on February 11, 2019, 11:30:33 PM
But this is not a staff+ticket system. I do not intend to run more than one train in one direction. They should go there and back so a staff should be enough.
I think that the time interval with telegraph is practically the same as ticket+staff system.

Putting absolute block signal before the passing loop will allow next train in the same direction before the train in opposite direction, and create deadlock.

I am not sure that I entirely follow - are you suggesting a working method that is not one train in steam ("one train staff"), nor token block, nor staff and ticket nor absolute block be added?

Adding a new working method would be a very large amount of work and is not a priority at present given the very, very long queue of high priority balancing tasks.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

What about a line with two dead ends with exactly one passing loop (and depot) in the middle? Would that be ok for the intended purpose of one train staff?

jamespetts

Only if you are content that the passing loop and depot be in the drive by sight working method, or use some other system for signalling the parts other than the dead ends themselves.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

Yes, the part inside the loop and depot can be drive by sight. I'll prepare a test game if it works correctly.

Vladki

James, I have prepared a test save: http://list.extended.simutrans.org/debug-saves/one-train-staff.sve

Look for narrowgauge line between ferninglock and culinghill (player derpy railway). One train (334) is waiting in the passing loop, and if you look at its details, it is periodically (cca 2 seconds) switching between one-train staff and drive by sight. Soon after loading another train (444) will enter the loop, correctly switch to drive by sight, and upon freeing the dead end line, the first train will depart, but in drive by sight mode. The 444 train will correctly switch to one-train staff when leaving the loop towards the other dead end, and correctly on the way back to drive by sight within the loop, but again it will start switching one-train staff and drive by sight while waiting for clearance. After a while train 334 will get to the end station, and reverse, and waits for clearance, because most of the track gets reserved by train 444 which is waining in the loop. Deadlock.
If I resolve the deadlock, e.g. by sending the waiting train 444 to depot, the 334 train will stay in reversed mode - i.e. drive by sight on the single track section, and train staff in the loop.


I hope I have the staff boxes positioned correctly. If not please show me what's wrong. Also it would be nice improvement, if they could be diagonally next to each other.


jamespetts

Thank you for the report: I think that I have now managed to fix this. I should be grateful if you could re-test with the next nightly build.
Download Simutrans-Extended.

Want to help with development? See here for things to do for coding, and here for information on how to make graphics/objects.

Follow Simutrans-Extended on Facebook.

Vladki

Thank you, it seems to be fixed now. And it works even if the staff-boxes are diagonally next to each other, and also for multiple passing-loop tram line.