News:

Simutrans Sites
Know our official sites. Find tools and resources for Simutrans.

Incorrect behaviour of stop signal or track reservation

Started by Jando, August 16, 2019, 02:48:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Jando

I see a case of a semaphore stop signal behaving incorrectly (mechanical signal boxes, absolute block working method). Screen shot of situation is here:



You see two trains approaching a junction where the track changes from double to single track. Both trains have correctly reserved their track up to the respective stop signals at the junction. As can be seen on screen shot the southward train will have to stop at the junction to let the northward train pass before continuing into the single track section. So far all is well.

The bug happens when the northward train passes the junction and the southward train reserves the single track ahead: it will reserve far more track than it should. It should reserve the track up to the next stop signal (42 kms ahead, at position 2878/705), instead it reserves the track up to the first stop signal of the second next signal box (at position 2913/706). This wrong track reservation only happens when trains have to wait at the junction, trains not having to wait for the northward going train behave correctly, i.e. reserving only the track to the next stop signal.

Saved game at time of screen shot with incorrect behaviour: https://www.jschuh.eu/Shared/Stopsignal.sve

You can fastforward the game to 04:08 to see the same signal working correctly cause the next train pair will have a slightly different timing. The southward train will not have to stop because the northward train will already have cleared the junction. In this case the track reservation works correctly. This situation also in this saved game: https://www.jschuh.eu/Shared/Stopsignal2.sve

Edit: May well be that the reservation works correctly when it is the pre-signal that triggers the reservation, i.e. train approaches distant signal getting clear. In case the distant signal shows caution however it is the stop signal that reserves the track to next stop signal? Seen a case with wrong reservation where the train didn't need to stop but it passed the distant signal showing caution.

jamespetts

Can I ask whether you are using token block signalling for your single lines as recommended?
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.

Jando

Quote from: jamespetts on August 17, 2019, 10:40:35 AMCan I ask whether you are using token block signalling for your single lines as recommended?

Hello James, thanks for responding!

No token block on that map, all signals in absolute block. The described behaviour from my original post happens on double-track lines as well, thus changing to token block on that stretch of single track does not solve the general behaviour that absolute block stop signals reserve too much track in front of them if the line is clear. To restate what the problem is:

1. A train approaching a distant signal with clear track ahead will reserve track up to the first stop signal of the next signal box. This works very well.
2. A train approaching a distant signal with no clear track ahead will not reserve any new track and pass the distant signal showing caution, slowing down for the next stop signal. This works very fine too.
3. In the latter case new track gets reserved upon the train passing the stop signal, either by stopping and waiting or by the signal showing clear by the time the train arrives. In this case the amount of track that gets reserved is far longer than the track to the next stop signal ahead. Maximum distance I have observed is that track gets reserved up to the first stop signal of the second next signal box ahead, reserving through multiple other stop signals ahead.

This behaviour (3.) happens no matter whether it's single track, double track or any mixture of it.

As explanation I generally only use token block when I want multiple trains to travel in the same direction on a stretch of single track because that can't be done in absolute block. If that is not required like in the above example (there will only be 1 train in each direction per 64 minutes) absolute block is in my opinion the better choice, namely because trains do not have to stop to pickup the token but can with use of distant signals enter the single track section at full speed.

jamespetts

Thank you for the details. I shall have to look into this once I have managed to upgrade my computer.
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.

Jando

Thanks for looking into the issue, James!

Here is a screen shot showing the behaviour on a double track line with a train travelling east.



I've used markers for explanations, from the top-left corner of the picture:
- Deleted distant signal: There used to be a distant signal here that I deleted before the train approached. Distant signals work fine, thus I wanted it away so that the stop signals would have to reserve the track ahead.
- 1st stop signal: Upon approaching the 1st stop signal track until the 2nd stop signal gets reserved.
- 2nd stop signal: Upon passing 1st stop signal and approaching 2nd stop signal track until the 5th stop signal gets reserved.

No big deal on this pictured section of track because there are no junctions and no crossing traffic. I picked this section only for clarity to show the behaviour. If there would be junctions and crossing traffic ahead however this reserving of track that far ahead stops all other traffic crossing or joining the double-track section.

Vladki

Yes, I have noticed this behavior (reserving up to two signal boxes ahead) too. It makes absolute block quite unpractical, if there are junctions, crossings or passing loops on the way.

jamespetts

Thank you for the report. I believe that I have now fixed this; I should be grateful if you could re-test with the next nightly build and confirm.
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.

Mariculous

Assuming this fix does not require rebuilding the signals or signalboxes, I can not confirm this to be fixed.
Just loaded the save with the latest extended version and I can still observe some stop signals reservating up multiple tiles.

jamespetts

Quote from: Freahk on February 13, 2020, 03:11:32 PM
Assuming this fix does not require rebuilding the signals or signalboxes, I can not confirm this to be fixed.
Just loaded the save with the latest extended version and I can still observe some stop signals reservating up multiple tiles.

Can I check whether this can be reproduced in the original reproduction case? If not, I will need a new reproduction case.
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.

Mariculous

"the save" meant the original reproduction case, yes.