News:

Simutrans Tools
Know our tools that can help you to create add-ons, install and customize Simutrans.

Signals with is_longblocksignal=1

Started by Ves, June 26, 2016, 10:39:38 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Ves

I made some tests with signals coded with is_longblocksignal=1.
It appears as the game still beleaves it to be a token block signal when it in fact was coded as an absolute block signal, and the trains go into tokenblock working method when passing one (thank you SO much for showing the working method of the signals and the current one of the train! That is EXTREMELY helpfull!!!).
Also, the train appears to be stuck in token block working method, even if it passes other working method signals. It simply sees every signal as a token block signal. I only found the drive by sight sign to get the train to other working methods.
If having a "real" token block signal on the layout, that resembles the same experience as just described.

jamespetts

I have pushed a fix to prevent signals with "is_longblocksignal=1" defined being read as token block signals. Do you care to test again and let me know how it goes?
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.

Ves

Now the signals remain as an absolute block signal and behaves as such. The train never goes into the token block working method, which is good!
However, i cannot find any directional reservations. Are they not supposed to create a directional reservation behind the next signal?

jamespetts

They are intended to work just like bidirectional signals in terms of directional reservations. Do they not?
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.

Ves

#4
Finally I got it to work, and I must say that I like it very much! Suddenly, it feels much more freely and unrestricted.
I had to code the signal as a "track circuit block" signal, and then it also speeks nicely with the other track circuit block and cab signals. I yet have to try putting it on a choose signal.

But when I try combining it with other working methods, either by putting the longblock signal in front of an absolute block signal, or even coded the long block signal as an absolute block signal, there where no directional reservations at all as to what I have found.

I thought the long block signal would reserve a direction through all kinds of working methods?

I have tried to put the following after a longblock track circuit block signal:
absolute block signal
token block signal
drive by sight sign
Time interval signal (with and without telegraph)

All with the same result that there is no directional reservation made from any signal.

edit:
Upon further testing, placing the signal as an exit signal (outside the station, but before the choose signal), you actually get the desired effect:
A train will not leave the platform if another train is on the line in the oposing direction.
continue testing.....

edit2:
Using the setup mentioned in the previous edit, I coded the longblock to some different working methods, but that did not really work. The moving block did show something, but I did not have the time to test that throughly.

jamespetts

Thank you very much for testing this: this is appreciated. I think that this may be because bidirectional signals were only intended to be implemented with track circuit block or later methods of signalling, so the directional reservation code was not implemented for this.

Before I start looking at this in detail, may I ask whether you actually need directional reservations with the other working methods for Swedish/Czech signalling, or whether you can just use track circuit block (perhaps renamed "absolute block" in the pakset translation texts now that the working method is shown in eh UI, as track circuit block is in one sense a subtype of absolute block)? From what I understood, there was a consensus that track circuit block with two aspect signals was to be used for Swedish/Czech mechanical signalling, as the absolute block working method had some features that were standard in the UK but did not feature in Swedish/Czech 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

For cz signalling I would appreciate directional reservations in time interval - for the early era (before 1870's), and for drive by sight - for single tracked trams. Instead of absolute block I use track circuit with normal_danger.
True circuit block in cz is usually combined with cab signalling anyway, so I use that as well. Moving block is not yet used on czech railways.

Ves

I would also say that especially time interval signals could benefit a great deal from directional reservation.

Absolute block: I agree, one could use track circuit block working method instead. No need for directional reservation.
Token block: I would like to reserve a direction further ahead on a token block line, therefore a directional reservation would be handy
One train staff: Same as with token block, although Im unsure if it is possible.
Drive by sight: I see vladkis point, and would also agree to some extent on that one.

Dont get confused, I do not mean that all these working methods BY DEFAULT should have directional reservations. Only if a signal with is_longblocksignal=1 is placed in front. If no longblock signal is in front, they should behave as they currently do. Or do you think this way of implementing it is not possible?

jamespetts

I do not think that this makes any sense in time interval (without telegraph) or drive by sight, as those are both intended to be ultra low-tech forms of signalling not requiring any communication apparatus beyond flags and lamps (and, in the case of drive by sight, no signalling infrastructure at all). In the absolute block era, token block is the way of dealing with single track signalling.

However, I am wondering about time interval with telegraph. I shall have to consider carefully how this would work.
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

both time interval and drive by sight are low-tech only if you have double track. Once you need to use single track, you either use tokens (low tech), or telegraph or even something more advanced.

A real life example is combining drive by sight with track contacts here in Brno: During reconstruction of tram track, there was about 500m long stretch of single track used in both directions. At the entry there was a signal, showing whether entry to the single track is permitted or not. It was equal to directional reservation. Several trams were allowed to enter in the same direction, in drive by sight mode, just as anywhere else.

I would not consider time interval with telegraph as a different method from time interval. For double track line, the telegraph is not necessary, but the long-block signal would have to be controlled from signalbox with telegraph. Your UK example (Bury to Newmarket line) is IMHO not time interval at all - it is an early version of absolute block adapted for use on single track line. So I would recommend just drop the time-interval with telegraph, and add long-block signal to time-interval. You can keep the special signalbox with telegraph to increase the costs of long signal.

Adding long-block signal to absolute block would be nice, although not strictly required for CZ/SK signalling. (Yet I still consider trying to use absolute block for mechanical signals).

I think there is no sense in having directional reservation in token/staff signalling. I thought that the tokens were obtained and returned at stations with passing loops, and the line between was without any signals. Otherwise it does not make much sense to use tokens. With more signalboxes between stations you can use absolute or circuit block anyway.

jamespetts

I have implemented longblock signals in the time interval with telegraph method. I am about to post an explanation on the time interval with telegraph thread.
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

git log says:      - This will give a directional reservation instead of a block reservation from a signal designated as a longblock signal to the next (1) longblock signal; or (2) signal protecting a junction, whichever is the closer

IMHO, the directional reservation should continue through junctions to prevent a deadlock at junction without passing loop. Only choose signal should end directional reservation to avoid invoking the platform selection algorithm.

After short testing I found it does not work as expected, but first I'll report some bugs using the current on-line game and british signals.

jamespetts

The idea is that these signals (longblock time interval with telegraph signals) are restricted in practical operation to simple layouts of single track with telegraph signals at all junctions along the way. This does indeed seem to work for this purpose. Do you have in mind a particular track layout in which this does not, in fact, work?
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.

Junna

I think what Vladki has in mind is a multi-platform station with numerous sidings on a single track railway line, where the approach to the station would be handled by a junction approach signal, a configuration very rare in British practice but very common across European single-track lines, where the approach to the station is single track (i.e. no one-way signs will be present).

Vladki

No, what I have in mind is a long stretch of single track line, with a simple branch in the middle of nowhere. The branch is protected by simple signals from all 3 directions. The directional reservation should go through this junction to avoid trains departing simultaneously from all directions towards the junction:


STATION A ------------------------->---/---<-------------------------- STATION B
                                      /
                                     /
                STATION C -------->-

jamespetts

If I understand Junna correctly, what he describes should work with the existing signal types.

As to Vladki's example, does anyone know whether junctions and arrangements of this sort were actually signalled using the time interval with telegraph method?
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'm not sure about time interval, but such junctions exist for track circuit (or absolute block)

jamespetts

Quote from: Vladki on July 06, 2016, 09:49:45 PM
I'm not sure about time interval, but such junctions exist for track circuit (or absolute block)

The system for track circuit and absolute block is not the same as for time interval with telegraph: in those systems, longblock signals (even if unidirectional) behave in exactly the same way as bidirectional signals, which do not stop at junctions.
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.