News:

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

Discussion of new signalling system

Started by Octavius, October 26, 2015, 09:37:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jamespetts

I think that the signalman would just telegraph to the next section a code asking it to be cleared, and, if it could not be cleared, would set his own section's distant to caution.

As to how it would work in the game, the plan is for there to be an option in each schedule entry for double blocking, so that the train would use double blocking when that schedule entry is the next destination.

If you would like to work on the code yourself, that would be splendid, although the signalling code is somewhat challenging to work on because of its complexity. The main logic can be found in the block_reserver method in simvehicle.cc, although there is also some of the logic in rail_vehicle::can_enter_tile(). Specifying a new type of signal will need to be done in roadsign_desc_t, but you would also need to modify roadsign_reader.cc and roadsign_writer.cc to read and write the new data.
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

Interesting with the Pullman method. And why would it need double block? Did it have a relative long braking distance or was it very fast?
But still, will it not be to great assumptions on behalf of double block/single block reservations if, say, the Pullman exits at the same route as ordinary scheduled trains does, but due to the pullmans need for two blocks to be free, the other trains having a higher block resolution (only need one empty block) could keep the 'second' block occupied, blocking the pullman?

I will mess around with the files and see if I can end up with something useful!

jamespetts

The reason that the Blue Pullman on the Midland Region was double blocked was that it was faster than the other trains using the line at the time, and it would not have been able to stop in time from a distant signal to the home signal. (The line was later re-signalled with four aspect colour light signals so that much faster (200km/h) trains were able to use it without any special arrangements).

I do not entirely understand the question about blocking the Pullman, however; can you elaborate?
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

Ah ok I see the reason to use double block for it!
I might have misunderstood, will the Simutrans double block setting only reserve two blocks when it cannot stop within one block?
If it will indeed reserve two blocks (no matter the speed) then the effect could become that it gets lower "priority" out of a station than single block reserving trains.

jamespetts

I have to say, I had not thought in detail precisely how it would operate.
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 think that double block in james' and ves' ideas are something totally different.

What James shows as an example for blue pullman, is just an early attempt to transition from 2-aspect signalling to 3-4 aspect signalling. With the first distant signal meaning "preliminary caution" although it was not distinguishable from normal caution.

What Ves attempts to do is a special signal used in the following scenario: on czech/austrian/german and probably also swedish railways in earlier times, with absolute block signaling (or its bidirectional equivalent), stations had only one start (departure) signal for each direction (or branching line). This signal was usually standing beyond of all switches, in place where all the tracks were already joined together. Trains were supposed to stop before the switches. The start signal showed clear only if the appropriate line is clear, but did not show from which track was the departure path set up.

So the signalman had to personally show which train is allowed to leave. Later a special (cheaper) signal was designed for it. It was pulled off to allow shunting (start signal at danger) or departure (start signal clear). Later color light version had different aspects for shunting and departure: https://cs.wikipedia.org/wiki/Vlo%C5%BEen%C3%A9_n%C3%A1v%C4%9Bstidlo_a_uz%C3%A1v%C4%9Bra_koleje The departure signal - whether mechanical, color light or hand signal, could not be given if the main start signal was at danger. Thus they make two block signal of sort.

Later the signaling logic was combined in one and each station track got its own start signal, in similar way as it can be used in simutrans now. However, I think this method of signaling could be useful in the game for stations, where lines with different signaling methods meet. You could put the new double signals at all tracks, and standard signals at the lines beyond the switches. One line could be token signaling, another track circuit, and so on. There would be no need for passing loop outside of station as show in some previous examples.

I think this could be partly achieved by extending the current behavior of signals at the end of platform to distant signals. Now if there is a signal exactly at the end of platform, the train is waiting for clearance on its stopping place, continues to load - it does not move to the end of platform until the signal clears. Would it be a big change to make this apply also to distant signals at end of platform? A train that has stopped in the station would wait for clearance on the platform, until the start signal further ahead clears. I know that this would not work for train that is driving through the station, but it would be nice as a partial workaround.



Ves

Vladki, I think you are right in your description about the difference off James and my version and also in the way the two block signal would be useful.

I have not yet started, only looked in the code at the places James mentioned and tried to get an overview!

Vladki

#182
I have found a very nice information about signalling at ffestiniog railway:
https://www.festipedia.org.uk/wiki/Signals_Contents (more links)
https://www.festipedia.org.uk/wiki/Category:1872_Rule_Book

It seems that they used the same signals as sweden in early times - T signal and disc (plate) signal. They were used in combination with staff & ticket, and later with ETS (electric train staff - i.e. token_block in simutrans). Staff & ticket is in essence a sort of time-interval working on one track lines - tickets are given in time intervals, staff governs the direction. So the t-signals should be used with time-interval-with-telegraoph (as an aproximation of staff& ticket), as well as token-block (ETS).

They do not use the term T-singal, but this is what applies: https://www.festipedia.org.uk/wiki/FR_Signals
QuoteEach intermediate staff stage station had a centrally located, double-armed, semaphore signal that served as a 'block' Signal. The semaphores acted as a combined Stop and Starter signal, although they did not denote the actual stopping position, they denoted 'Stop and Wait for Train Staff or Train Staff Ticket'; this also applied to the pair of double arm semaphores at Old Dinas Junction at Glan y Pwll. The two arms served up or down trains according to the side of the post.
So I think the T-signal was really used only to signal departure (starter signal). The Ffestiniog railway is a narrow gauge railway - very twisty, deep in forests. In some stations it might be impossible to see the central T-signal from the farthest points, let alone some safe braking distance ahead. (see https://www.festipedia.org.uk/wiki/Tan_y_Bwlch) For protection of stations, level crossings, tunnels, etc, the disc/plate signal was used. It could be operated remotely (mechanical wire), so it could be put in greater distance from the station building, see https://www.festipedia.org.uk/wiki/Disc_Signals

Also, what I descibed in previous post - a single start signal for the whole line placed ahead of all points - is the case not only for CS/SWE, but also for FR. See the photo at https://www.festipedia.org.uk/wiki/Signals_controlling_section_entry. There is a normal semaphore at the exit path form station. It was apparently interlocked with ETS - it could be pulled off only if the matching token was put in a drawer slot, and later handed over to the driver of train that was about to depart.

In both arrangements (T-signal, or start signals at both ends), the trains obviously had to stop before Fouling point, in order to keep the switches (and movements on other tracks) clear.

The arrangement with double-block signal, would also solve the problem when a train in token/one-staff mode keeps the reservation backwards up to the signal. If the signal is at each track, the junction is kept blocked, which is a problem if there are multiple lines joining. It would also help with time interval signals where trains are not allowed to go full speed over junctions. Start signal beyond junction would solve that.

A possible (but still partial) coding solution might be what I suggested before - that trains wait for clearance on the platform even if there is a distant signal at platform end, or that they wait for clearance at nearest signal ahead of platform. Even if it is further out than sighting distance, or beyond some switches. However neither of these would work for trains that are not scheduled to stop in the station. That would need the double block signal or T-signal.

jamespetts

Thank you for that - I visited the Ffestiniog Railway back in 2012: a fascinating line, the oldest working railway in the world still run by the company that built it. When I went, I got to ride in some of the earliest bogie carriages ever built in the UK, built in around the mid 1870s when most standard gauge railways in the UK were still building four or six wheel rigid carriages.

In any event, on the subject of signalling, I spent some time yesterday fixing signalling bugs, and one of the things that I did in that respect involved more strictly separating the function of the station signal so that it now indeed does only clear for departing, not arriving, trains as you describe. This makes more sense than a station signal that is clear for either, which could be very ambiguous.

I will have to give some consideration to the suggested double block concept - but I should note that the original concept is more robust than the idea of using distant signals for this purpose, which is likely to cause problems and confusion.
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

QuoteIn any event, on the subject of signalling, I spent some time yesterday fixing signalling bugs, and one of the things that I did in that respect involved more strictly separating the function of the station signal so that it now indeed does only clear for departing, not arriving, trains as you describe. This makes more sense than a station signal that is clear for either, which could be very ambiguous.
Nooooo!!!  ::-\
The T-signals where indeed used as entry signals in Sweden, and would be set to clear when a train entered the station, as well as departed from the station.
Suggestions for a new parameter: stationsignal_clear_on_entry=1?

jamespetts

The change came about through a need to modify the signalling logic to fix a bug - however, I have added additional logic to revert to the older behaviour as far as the display of the signal is concerned (the change to the logic fixing the bug hopefully being retained), save that trains scheduled to stop at a station should get a caution indication from the station signal rather than a clear indication.
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

Ves, do you have some references stating that the T-signal was used for both arrival and departure?

The parctice at Ffestiniog was that arrival (entry, home signal) was signaled by plate (disc) signal. Which has its equivalent in Sweden too.

Another logical option would be to have two T-signals. One at each end of the station, one arm for entry, and the other for departure. One of the Swedish picture of T-signal looks like that.

Sent from my ONEPLUS A3003 using Tapatalk


Ves

From the ekeving website http://www.ekeving.se/hi/sj-regl-1858.html:

About the stop message from the 1877 "tjänstereglemente"

QuoteVinge till vänster om masten gällde.

Tåg skulle stanna vid antingen:
minst 100 meter utanför stationens yttersta växel om signalen var placerad innanför denna växel
minst 100 meter före signalen om signalen var placerad på annan plats
EN:
Wing to the left of the mast is considered.

Train must stop either:
100 meter outside the stations furthest point if the signal is placed inside that point
100 meter in front of the signal if the signal was placed at another location

--

Other places it is stated that a signal may under no circumstances pass a signal at danger. Entering a station with a T-semaphore at danger, I cannot interpret differently than it must be set to clear in order to allow trains to enter.

Vladki

But then there is nothing about signaling departure, as well as placing the T-signal in the centre of station.

I have seen a picture of austro-hungarian T-signal used as bidirectional block signal (no switches around).

Sent from my ONEPLUS A3003 using Tapatalk


Ves

On this site: http://www.ekeving.se/si/mek/T-sem/T-sem.html and
http://www.jvmv2.se/forum/index.php?mode=thread&id=153610
There is alot of pictures of the T-semaphores.
The topmost text of the ekeving link says this:
QuoteEn vanlig signaltyp i Sverige var T-semaforerna. Namnet kommer av att signalen såg ut som bokstaven T när den visade stopp i båda riktningar. Dessa signaler var lokalställda, och manövrerades med vevar eller - undantagsvis - hävstänger på signalmasten.  Vanligen satt T-semaforen mittför stationshuset.
EN: A normal signal type in Sweden was the T-semaphores. The name heritages because it looks like the letter T when it shows stop in both directions. Those signals where localy set and where manouvered with handles or - exceptionally - levers on the signal mast. Usually the T-semaphores where located directly in front of the station house.

---

On the links with the pictures, there are alot of pictures with the T-sem in front of the station houses. I have searched for maps featuring the T-semaphore on the Ekeving site, but there are almost no maps before 1900 making it more difficult to get an overview of a 1870 railway station.

---------------

On the subject of departure, I must admit that I appear to have been wrong. I thought that the T-semaphore would be set to clear when a train departs from the station, but my latest source of information (which is this rather resent forum discussion: http://www.jvmv2.se/forum/index.php?mode=thread&id=153610) consist of a bunch of people, sharing stories and experiences about old signalling. I must say that I find it very hard to find solid evidence of the subject. The rule books are not really talking about which kind of message is given when, but only what they mean to you as a driver.
The forum thread linked tells that the T-semaphore was solely used as entry signal, and departure signal where exclusively given by the hand. Im sorry if this causes any confusion

Thank you Vladki for sorting this out!


I realize the the Simutrans T-signal cannot work like that, both due to its workload of programming and due to its specialisation (features that only could be used on the swedish pak currently). I would be happy if the signal behavior stay as it is at present (Clear both on arrival and on departure), but would be sad if it shows danger on arrival.
One thing that maybe more kinds of paksets could benefit from, however, is if it could show different aspects for arrival and departure. That means the graphic couldl be different depending on if the train is arriving or departing (clear_arrvival and clear_departure).

Vladki

Ok, you have beaten me with evidence. I used google translate on http://www.ekeving.se/hi/sj-regl-1858.html a few points that I had missed before:
1858 - T signal is clearly a time interval signal, with caution displayed 5 minutes after a train has passed. Nothing about points, so it may have been used as start signal in time interval method. Disc signal was described only in text.
1877 - T signal shows only danger and caution, stop 100m before the signal or points. Signal all well (clear) was replaced with hand given flag signals. This may be the split when T-signal became solely home signal, and start signal was given by hand.
1888 - First stellverk (signalbox) - operating points and disc signals
1890 - two arm semaphore exists, but rules updated in 1905, 3-wing 1907
And here it goes: Semaphores occurred mainly as entrance signals. When they were not designed as T-semaphores they were placed about 50 meters outside the outer gear.
Utfartssemafor (departure / start signal) was used mainly on branch stations, where multiple arms indicated which branch is clear (similar to early czechoslovak start signals).
Start signals were used also in the few lines with block systems, moving bridges and remote sidings. Last t-signal was abolished at siding in Skahus in 1980
1905 - T-signals still in rules, but also one-sided signals and two-armed one-sided signals, lower quadrant
Already in 1906 it was decided that the movement authority would appear with wings upward instead, this was carried out in 1915 by SJ.
Since the Royal. Railway Board, as December 1, 1906 established new signal sequence (upper quadrant) to effect from October 1, 1907
Disc signals disappeared from SJ in 1923. From 1915 onwards introduced försignaler more generally, and the entrance gate signals shifted to about 200 meters outside the outer gear.


It seems that we have several distinct working methods for T-signals.

  • ffestiniog type - start signal for both directions - in the middle of station.  Arriving train can pass this signal on danger, but must stop at the platform (within station / few meters before points).
    methods - token block or staff+ticket (time interval with telegraph).
    Accompanying home (and distant) signal is of disc/plate type, that can be remotely operated by wires.
    This probably fits also earliest swedish practice (1858)
  • swedish type (1877) - home signal for both directions - in the middle of station. Train must stop outside the stations furthest points. methods - time interval (w/wo telegraph),  absolute + token block, choose signal. I have really big doubts with this concept, due to possible visibility problems, especially in the absence of distant signals. Perhaps the plate signal was used as home signal, if the T-signal could not be seen from big distance.
    Departure signalled by hand.

  • swedish usage outside of station - signal guarding a siding - look at last 3 photos at http://www.ekeving.se/si/mek/T-sem/T-sem.html the signal is at a switch - either a first switch of station, but more probably it is just a simple (rarely used) siding in the middle of nowhere. Note that it shows clear in both directions (!). It will be probably set to danger only if there are some movements to/from the siding.
    Similar is the 4-directional beast. It says "crossing of normal and narrowgauge in Norrköping" .
    Also very interesting is the other 4-armed thing - IMHO it works as a 3-armed home signal in one direction and 1 armed start signal in the other. These examples make much more sense to me than the T-signal in the centre of station.

  • austro-hungarian type - block signal (either absolute block or time interval) - just to save on construction and maintenance costs. No special rules, train has to stop in front of that signal. Never seen such signal in the middle of station.
    Even today on  czech and slovak railwayes, there are color light signals facing both directions on both sides of double track lines, so that both tracks can be used in both directions.
    One old picture suggests that it could have been used at sidings or points as well, but there is no explaining text.

jamespetts

Signalling is a complex subject indeed! I do not think that we can sensibly simulate all of these various permutations in detail; hopefully, whet we have is a close enough approximation of the station signal to suffice for present purposes; after all, if it is very difficult to research the historical position for a particular place and time, few people are likely to notice if it is slightly inaccurate.
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.

jamespetts

I have added a basic implementation of the requested double block signal: documentation for this is available in the latest Github commit. I have only tested this very briefly, as I do not intend to use it with the British pakset, but please let me know if it does not work correctly. I should be very grateful if somebody could update the .dat file reference.
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

#193
Aaaaahhhh!!!! ?  :o aaaarrghhaaaa!!!!!!! ;D
That is fantastic James! Thank you so much!
I can't wait til I get back home and try the signal out!!

Vladki

Wooooow, looking forward to that.

Sent from my ONEPLUS A3003 using Tapatalk


Ves

Ok, so I have made some initial tests and it is looking promising!
First of all, I have added some texts to the info window of the signal to easier recognize a double block signal (and to check so one have coded and packed the signal pakfiles correctly!). It says "double block signal", and below there is a text, in similar fasion to signals that creates directional reservations: "This signal will not clear until next signal is clear". Hopefully, this would help people understand what this signal do. https://github.com/VictorErik/Simutrans-Experimental-Ves/commits/signal-in-infowindow-2

Secondly, I have compiled some double block signals to test the new feature, but since I dont know yet which kinds of double block signals there should be in Pak.sweden I dont want to upload them to github. I will upload a special pakset and some savegames so you also can debug and follow the bugreports, but this should happen in separate bugthreads :)

And for the third: This is so EXCITING  ;D

Vladki

Hi, I have played a bit with the double block signals, but they do not seem to play well if they are of different working method than the next signal. Is that intentional?
I thought that they would be "agnostic" like distant signals are. If not, then the main advantage of double block signals would be lost, as I planned to use them on junction stations, where lines with different signalling methods meet. E.g. main line with absolute block, and branch line with token block.

jamespetts

May I ask that you post a separate bug report if the double block signals are not working correctly? I am in the process of trying to narrow down the desync issue at present, so will not have time to consider this for a while, but it would be helpful to have the full report.

I cannot remember now precisely the intention with double block signals, but I expect that the logic is very complex indeed to get right when mixing types. It would be helpful if you could show how the problem can be recreated in the most important use case scenarios.
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 have finally visited Museum of railway signalling in Hradec Kralove (CZ). There was a lot of info about 20th century signalling - different implementations of absolute and track circuit block, cab signalling, station safety (interlocking between points and signals), crossing safety, real examples of all types of signals used in czechoslovakia. But unfortunately there was only very little about older systems - time interval, basket signals. Even the guy in the museum did not know much, so I did not learn much of new stuff. At least they confirmed that train staffs were in use - as they had one on display. Probably used on branch lines in staff+ticket mode. Absolutely no mention about electric token machines, they seem to be special for GB.

But from what I have seen there, and read before, the evolution was probably like this. All railroads were first built single tracked. Second track was added only after few decades when the line proved to be busy or important enough to justify the expense. The earliest (horse-drawn) railroads had no signalling at all, trains were running in drive by sight, and waited at passing loops according to timetable.

Next improvement was time-interval with optical telegraph. This required quite many signalboxes along the track, so that every signalman could see the signal of the next signalbox. The signals (korbsignal) were kind of mixed, as they could convey information not only from one signalman to another, but also from signalman to train driver. With the advent of absolute block, the busiest line (KFNB) was converted to "unplugged" absolute block. As the train passed a signalbox, signalman turned his signal to danger. The signalman in rear could see the signal ahead and changed his signal to caution. The signalman further in rear then put his signal to clear.

As the electrical engineering evolved, various electric communication methods were employed (bell codes, telegraphs, telephones, absolute block devices) to enable signalboxes to communicate on longer distance, and armed semaphores began to be used. So a time interval with telegraph was used. Line signals were often T-signals, where arm in upper quad meant clear, lower quad caution, horizontal danger, and vertically down danger as well - train was expected from opposite direction.

Absolute block was a little bit more complex than in GB, as it was used also on single tracked lines. So it had extra provisions to agree on direction of travel. However not all places were equipped with electromechanical devices. Many places relied only on telegraphic or telephonic confirmation that the train has arrived and that the track is clear.

Crossings are generally not interlocked with signals. Some tracks are equipped with special crossing distant signals, that show if the crossing is closed or not (i.e. broken). Contrary to swedish practice, in CZ/SK there is only the distant signal. Crossings are interlocked with main signals only in the proximity of stations, where trains can stop for long time (or even reverse) close to the crossing. Then the crossing is protected by start/home signals, and signals can be cleared only if the crossing is closed. On lines with automatic circuit block, if a failure on crossing is detected it can turn the nearest signals to danger.

So a question is - just theoretically - for the early optical telegraph, would there be a chance to enforce maximum distance between signalboxes?

jamespetts

An interesting piece of research!

As to enforcing a maximum distance between signalboxes - at present, I am prioritising balancing, which is likely to be a substantial project, so further changes to signalling are likely to have to wait. There are also real conceptual complexities about this, especially in deciding what counts as the next and previous signalbox; do we test this when placing signalboxes (in which case, how do we know that we are checking for a signalbox controlling signals on the same line?) or when the trains try to use them (in which case players will be confounded when an arrangement that a player is allowed to build with no warnings refuses to 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

I know your priority is balancing. That's just OK. I'm just checking the theoretical chances
I thought it would not be easy... Signalboxes at the moment are quite dumb anyway. I think they would deserve a redesign in general.
1. signalling method is IMHO more a feature of signalbox, then of the signal. You can use the same semaphore for time interval and absolute block, or the same color light signal for absolute block, track circuit and cab signalling. You can even quite easily connect modern light signals to old mechanical signalbox, with just a few modifications. What makes the difference is the communication equipment that allows signalboxes to communicate with each other. There are many implementations of absolute block (telegraph, telephone, electromechanical, relay), which differ in the equipment of signalbox, and the ability to communicate with each other. Of course you can change the equipment and keep the building...
2. older methods - before track circuit, require the signalman to have a good view on the track. So putting the signalbox further away from track is non-sense. Extreme case could be seen in the bridgewter-brunel game  with a long tunnel and signalboxes on top of the hill.
3. signalboxes were often part of the station building. One room for signalman, another for passengers,...
4. signalboxes were hierarchical. Main signalbox was in the station, where communication with other stations took place. Station master then decided which train departs/arrives from/to which track. But the mechanical operation required a subordinate signalboxes at both ends of station to operate points and signals.

Partial solution would be to make the signalbox just an option of station buildings and stops. A big signalbox would then be a station extension, which would force it to be near the tracks. A small signalbox could be coded as a "platform", so it will not occupy extra tile. Thus the connection with line would be clear.

Distance could be checked when the signalbox is built. If there would be no other signalbox in range, a warning would be displayed. Of course it would have to be ignored for the first signalbox on the line.

jamespetts

All of this would require really a very large amount of additional complexity. As to the distance question, how do we know that another signalbox within range is on the same line and therefore to be taken into account? That is the real conceptual problem with determining range when signalboxes are being built.
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.