News:

Simutrans.com Portal
Our Simutrans site. You can find everything about Simutrans from here.

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

Thank you for letting me know. I will have to see how easy that this is to change.
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

Quote from: jamespetts on November 19, 2015, 12:11:10 PM
In drive by sight mode, it could in theory work in the same way as the choose signs for road vehicles, but I have not tested this. Is there a real precedent or demand for this?

Well, e.g. a tram terminus - trams running in drive by sight, terminus has two or more tracks, so that one tram can arrive, while the other is reversing.

Junna

Quote from: Vladki on November 20, 2015, 12:07:31 AM
Well, e.g. a tram terminus - trams running in drive by sight, terminus has two or more tracks, so that one tram can arrive, while the other is reversing.

I generally use choose signals and then end of signalling for trams departing for that. Usually such a set-up would have indicator tram-signals, but in the absence of specific tram signals, it works.

Vladki

Quote from: jamespetts on November 17, 2015, 09:53:43 PM
I have now implemented an option for normal danger: if a signal of track circuit block or cab signalling type has "normal_danger=1" defined, the signal will not reset to clear after a train has passed it. I have not tested this because there are not any signals of this type in Pak128.Britain-Ex; would one of the authors of the Swedish pakset care to test it to make sure that it works?

Makeobj version 55.4 for simutrans 120.0.1 Experimental Development build 12.9000 and higher says Entry "normal_danger=1" ignored (check spelling)
I have pulled fresh from git, but make makeobj says nothing to do...

jamespetts

I can't reproduce this, I am afraid. Do you want to have another go at pulling Makeobj and recompiling it after a "make clean" command? I have fixed one signal related bug in makeobj just now related to the maximum number of signal graphics for each signal.
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

Hmm, I have probably somehow broken makefile. Make clean did not clean everything. I have deleted all files in build (left only the directory structure), make makeobj and make makeobj-experimental says theres nothing to do. But there's  no executable...

jamespetts

Very odd. I am not sure that I can assist here, as I do not develop on Linux regularly. Can anyone else assist Vladki here?
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

As this is the signalling discussion, I have some suggestions:

More clear what working type a signal use.
When playing around, its not necesarily obvious which working method different signals use. Eg as a non native english person, I dont know what a "vane" signal is or what to expect of it. If I easy can find that it uses the "time interval working method", I can read about that method elsewhere and then use the signal. Currently I have to ask, guess or check the sources to find this information.
Places to show this info could be:
In the tooltip when mouse is hovered above the icon (together with price etc)
In the signal window (when clicking on an existing signal on the map)

Same goes for signal boxes. I would like to know what working methods a signalbox can use (goes along with the earlier proposal that build signalboxes from special menu)

Show current working method in the convoy window.
A field in the convoy window that always shows in which working method the train is.
Deluxe version would be with additional information like "waiting for the onetrainstaff" or "waiting for token", "waiting for 100% load" so the player more easy can get information about the vehicle.
Currently some of this ("waiting for clearance", "waiting for % load" etc) are already showed, however only as a popup on the map when hovering with the mouse over the train. Would this be possible and/or desired to show permanently in the convoy window?

jamespetts

Thank you for your suggestions. This is not entirely straightforward: the tooltips are already rather long and have difficulty fitting on smaller screens (I often test Simutrans-Experimental using my secondary monitor, which is only 1024x768, and the existing tooltips barely fit on that). Less problematic, but also less useful, would be to show the working method on the information window displayed when clicking on a signal after it has been placed. The state might also be shown here in words in case the state is not visible from all angles (as with some of the colour light signals in the Swedish pakset; you might want to look at the method that I have used in Pak128.Britain-Ex to make colour light signals visible from the side, which is to use a large spheroidal coloured object to represent the light so that it spills out over the sides of the signal as if the player could see a glow or reflected light from surfaces on the signal).

There is no (reasonably easy) way of doing this for signal boxes, however, as signal boxes do not necessarily work with signals only of one working method. Indeed, the signal boxes do not store information about what signals work with them: only the other way around.

One thing that I am considering for the convoy window is replacing the speed indication with a status indication when the convoy is stationary to explain what it is doing. The text for this should be the same as the currently displayed tool tip. There is not an easy way to display precisely why a train is waiting for clearance, however: doing so would require a great deal more processing and considerably more coding, so I do not think that this is practical for the effect that might be achieved. The next phase of development after signalling will be to alter schedules and the way in which convoys work to simulate maintenance and deal with convoy re-combination as well as schedule logic and parameterisation, so such changes may make more sense when I do this, as there may well be more states introduced (including "layover", where the convoy will not be in use and the fixed cost will not be payable).
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

Quote from: Ves on December 01, 2015, 11:04:44 PM
Currently some of this ("waiting for clearance", "waiting for % load" etc) are already showed, however only as a popup on the map when hovering with the mouse over the train. Would this be possible and/or desired to show permanently in the convoy window?
The tooltip can be set to be shown permanently in the display settings.

Ves

QuoteLess problematic, but also less useful, would be to show the working method on the information window displayed when clicking on a signal after it has been placed. The state might also be shown here in words in case the state is not visible from all angles (as with some of the colour light signals in the Swedish pakset; you might want to look at the method that I have used in Pak128.Britain-Ex to make colour light signals visible from the side, which is to use a large spheroidal coloured object to represent the light so that it spills out over the sides of the signal as if the player could see a glow or reflected light from surfaces on the signal).
That would be very helpfull if the working method could be shown upon clicking the signal after creation.
Also showing the state is not a bad idea! Problems with some of the swedish signals are the dwarfsignals, where the lights are put in a square.

Is there no way to show the current working method while the train is moving?

QuoteThe tooltip can be set to be shown permanently in the display settings.
Im aware of that, but this information I would like in the vehicle window :)

Another thing that comes to my mind is if it could be possible to get the behaviour of the presignal in absolute block working method as in track circuit method?
Reason is that signals where mostly used at stations in old days, and the presignal shoud show wether the entry signal shows clear or danger. Currently ALL signals (facing that direction?) must be clear for the presignal to show clear. I would like to use absolute block working method for semaphore.

Vladki

One fundamental idea. In real world it is the signalbox that decides what signalling is used. Not the signal. E.g. czech color light signals are used for absolute block, circuit block and cab signalling. Theres no way to distinguish them without visiting the signalbox.

Probably also the same semaphores could be used with absolute and curcuit block.

The part which decides if the signalbox can operate mechanical or electric light signals is imho less important than communication with other signalboxes and free track detection methods.

I have seen stations with mechanical semaphores as main signals, but color light distant signals. I guess the cost of upgrading the old signalbox was offset by reduced maintenance and improved reliability. (and could be ignored in simulation)

Imho signalbox should state one signalling method, signals could set more of them.

Ves

#47
Couldn't that be simulated by restrict different signals to different signal boxes? Otherwise I would rather keep the current behavior as the signalbox building and the mechanics inside not necessarily needs to be completely rebuilt due to track circuit implementation. I think that often the existing equipment inside the box where kept and upgraded as long as possible. Also, a mechanical signalbox could in theory operate both track circuit, absolute block, token block and one train staff at the same time (if one train staff is connected to one). Also another signalbox could in theory operate both track circuit, cab signaling and moving block.

Vladki

I just wanted to point out, that  you have to upgrade the signalbox equipment (not the buliding itself) to change signalling method, but the signals can be used without any change. I just feel silly painting the same signals for three different signallings. An upgrade of signalbox without destroying the signals would be nice.

Ves

Could be nice in general if you could upgrade signalbox without having all signals disappear.

jamespetts

Briefly, as I have not much time this evening: I will look into providing more information in the signal information dialogue when I have time. I will also look into providing working method information for running convoys - perhaps in the convoy detail window, as the convoy information window is a little crowded.

Signals rather than signal boxes need to set the working method for quite a number of reasons, not least of which is that changing that would require fundamentally rewriting all the code that I have spent the last 5 months or so writing. Also, however, there are some instances where a single signal box needs to be able to deal with multiple types of signal: mechanical signal boxes can deal both with token block and absolute block signals, for example, and power signal boxes of later eras can deal both with track circuit block and radio-electronic token block signals. ETRMS signalling centres can deal with ETRMS levels 2 and 3 (that is, cab signalling and track circuit block). Indeed, there might be something to be said for having them deal with track circuit block signalling, too, as ETRMS level 1 is more or less just track circuit block with an element of standardisation. All of these combinations have real world precedents.

As to upgrading signal boxes without deleting all the signals, provided that the signals are to stay the same and only the box is to change, just use the reassign signals tool in the special construction tools menu in Pak128.Britain-Ex (I recommend that this tool be added to the Pak128.Sweden-Ex, too, if it is not already there: feel free to re-use the graphic, or adapt it using a Swedish signal). First, build the new box, then reassign the signals to it, and finally demolish the old box.

For a more comprehensive resignalling, however, involving changing the type of signalling (e.g., from absolute block to track circuit block), the signals should need to be deleted, as it is realistic that the actual signals themselves would be replaced in such circumstances.

As to Ves's request about the pre-signal in absolute and track circuit block, I thought that the Swedish pakset was going to use two aspect track circuit block signals with normal_danger=1 for the semaphore signals in any event - what would altering the absolute block working method, one of the major features of which over track circuit block with two aspects is this particular behaviour as to distant signals, have over just using two aspect track circuit block signals here?
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

Ad. Presignals in absolute block. Iirc presignal shows clear if all signals of the same signalbox are clear. So to get the swedish (and) czech behavior, one has to put a signalbox on each end of station. Thus the presignal and entry signal will be connectrd to one signalbox, while departure signals to the other one, not affecting the presignal state.

Ves

QuoteAs to upgrading signal boxes without deleting all the signals, provided that the signals are to stay the same and only the box is to change, just use the reassign signals tool in the special construction tools menu in Pak128.Britain-Ex (I recommend that this tool be added to the Pak128.Sweden-Ex, too, if it is not already there: feel free to re-use the graphic, or adapt it using a Swedish signal). First, build the new box, then reassign the signals to it, and finally demolish the old box.
Great that there already exists such a tool! But I have trouble get it working. A window telling me that this signal is not compatible with this box, even though they are the same box. However, I dont use the latest builds, so there might be a clue in there as well.
Could it be possible to click a box, and then another box to make all signals from the first box go to the second?

QuoteAs to Ves's request about the pre-signal in absolute and track circuit block, I thought that the Swedish pakset was going to use two aspect track circuit block signals with normal_danger=1 for the semaphore signals in any event - what would altering the absolute block working method, one of the major features of which over track circuit block with two aspects is this particular behaviour as to distant signals, have over just using two aspect track circuit block signals here?
Well, I think the absolute block is the one that best describe the early signalling done in Sweden (before track circuit becomes available).
Track circuit block signals (the light signals) are the ones that will go back to red with normal_danger=1

QuoteAd. Presignals in absolute block. Iirc presignal shows clear if all signals of the same signalbox are clear. So to get the swedish (and) czech behavior, one has to put a signalbox on each end of station. Thus the presignal and entry signal will be connectrd to one signalbox, while departure signals to the other one, not affecting the presignal state.
That could be done, but that is a bit teddious? Also, most signals on a normal station would be controlled from the same signalbox.

jamespetts

Quote from: Ves on December 03, 2015, 09:10:48 AM
Great that there already exists such a tool! But I have trouble get it working. A window telling me that this signal is not compatible with this box, even though they are the same box. However, I dont use the latest builds, so there might be a clue in there as well.

Can you retry with the latest build and post a full bug report if it still does not work?

QuoteCould it be possible to click a box, and then another box to make all signals from the first box go to the second?

I will look into this.

QuoteWell, I think the absolute block is the one that best describe the early signalling done in Sweden (before track circuit becomes available).
Track circuit block signals (the light signals) are the ones that will go back to red with normal_danger=1

Does it matter what the system is called so long as the function of the signals is realistic? This might be a reason against showing the name of the working method in the GUI.

QuoteThat could be done, but that is a bit teddious? Also, most signals on a normal station would be controlled from the same signalbox.

I am still not clear on precisely what function is sought to be achieved here. Can anyone 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

Quote from: jamespetts on December 03, 2015, 10:56:14 AMDoes it matter what the system is called so long as the function of the signals is realistic? This might be a reason against showing the name of the working method in the GUI.
Hmm, I will have to think of this...
Quote
I am still not clear on precisely what function is sought to be achieved here. Can anyone elaborate?
That was just a way to, in absolute block, to make an presignalled entrysignal, by putting a signalbox for each entry (and another one for the exits)

Vladki

Quote from: jamespetts on December 03, 2015, 10:56:14 AM
I am still not clear on precisely what function is sought to be achieved here. Can anyone elaborate?

See the attached picture. It is a typical small station with signals according to czech (and perhaps also swedish) practice. Signalbox is usually just a room in the station building and operates all signals of the station. In reality the distant signal is affected only by entry signal. But in the current implementation of absolute block signalling it would show clear only if both entry and departure signals would be clear. Entry signal is 2-aspect (choose) signal. Czech entry signals were upgraded to 3-state since 1950's, but swedish were not. Drivers were expected to slow down in the station as if the entry signal had only danger/caution.

One solution is to use circuit block, which is quite unusual for semaphores, second to use two signalboxes (one on each end of station).

jamespetts

For simulation purposes, does it matter if you are using track circuit block? Now that there is a normal danger option, this distinction should be invisible to the player unless I add the requested feature of showing working method names in the UI.

Incidentally, at present, the distant in your example will show clear if the entry signal is clear and the train is stopping at the station, though this may well change if I implement another feature requested in this thread, being the reservation beyond a station stop to the next signal.
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

Quote from: jamespetts on December 04, 2015, 12:04:20 AM
Incidentally, at present, the distant in your example will show clear if the entry signal is clear and the train is stopping at the station, though this may well change if I implement another feature requested in this thread, being the reservation beyond a station stop to the next signal.
Aha ok! Well, if thats the case, then at least Im satisfied! :)

jamespetts

Quote from: Ves on December 04, 2015, 12:23:06 AM
Aha ok! Well, if thats the case, then at least Im satisfied! :)

Would you still be satisfied if and when I implement the proposed change? The track circuit block working method with two aspect signals would do this in any event, however.
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

QuoteWould you still be satisfied if and when I implement the proposed change? The track circuit block working method with two aspect signals would do this in any event, however.
I guess you mean the change that the reservation from the entry signal will go through the station up until the next signal (if no signal is put on the station)?

Then I guess so as long as the presignal in Vladkis example still would show clear when entrysignal (choose signal) shows clear.

jamespetts

Yes, indeed, and this would remain the behaviour only for the track circuit block working 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.

Ves

Quote from: jamespetts on December 04, 2015, 12:57:02 AM
Yes, indeed, and this would remain the behaviour only for the track circuit block working method.
Do I understand you correct? will what I write underneath be true if you implement the changes?

Using vladkis example:
Track circuit block = the presignal will show clear if the entry (choose) signal shows clear. The entry (choose) signal will ALWAYS book through platforms up until next signal (if no signal on platform).
Absolute block = the presignal will show clear when entry (choose) signal shows clear. If train is scheduled to stop, reservation will end on the platform, even if there are no signal on it.

jamespetts

I have not implemented the reservation through system yet, so there is no final decision about exactly how it will 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.

Rollmaterial

Speaking of reservation through platforms, it would be nice if the entire platform could stay reserved when a train is calling at it. Trains routed to a free section of an occupied platform are my most common cause of gridlocks.

Vladki

Do you have signals in the middle of platform?

Rollmaterial

Quote from: Vladki on January 14, 2016, 07:44:02 AM
Do you have signals in the middle of platform?
No. It happens mainly when a train much shorter than the platform is routed to its end. Then a fair amount of platform length is cleared behind it and a train can be routed there.

Ves

I also had some issue with trains being sent to occupied platforms, but I have never managed to narrow it down to what caused it.

jamespetts

Quote from: Rollmaterial on January 13, 2016, 10:40:45 PM
Speaking of reservation through platforms, it would be nice if the entire platform could stay reserved when a train is calling at it. Trains routed to a free section of an occupied platform are my most common cause of gridlocks.

Trains should reserve the whole platform: can you give me a saved game and/or steps to reproduce? This seems like a bug.
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

Quote from: jamespetts on January 14, 2016, 10:16:30 PM
Trains should reserve the whole platform: can you give me a saved game and/or steps to reproduce? This seems like a bug.
Here you go: https://www.dropbox.com/s/n0ujxroa5kjbdxz/Platform%20reservation.sve?dl=0
It usually happens at the station shown at load and at Tarington Inchbury Street.

Vladki

Hi James, Ves and others.

recently I was working on signals for pak128.CS (standard and experimental as well), and I have searched and read a lot about the history of signalling in Czechoslovakia and Austria-Hungary. There's a lot of differences to British practices. I can't speak for other continental countries though, but you may compare for yourself.

The main difference was perhaps that all railways were first built as single track. Second track was laid only when the traffic was high. Even the first steam railway in Austria-Hungary - KFNB (which was quite important) was double tracked some 20-30 years after being built. Though on my search on early signalling I never found info about using tokens or similar things. Perhaps only some small private branch railways with low traffic did use that. What I read was that the early railways used time-interval signalling. Probably in 1870's-1880's absolute block signalling was introduced. (Sources are not really clear, sometimes contradicting each other). However, that means that both time-interval and absolute-block were widely used on single tracked railways. But IIRC, simutrans-ex implementation expects these two methods to be used on double track lines. The signalmen at stations, where trains could pass and overtake, had to agree on the direction of travel. (Which is sort of equivalent with the blue directional reservation in circuit block). They could use telegraph, and later telephone or special electromechanic devices for that. To notify the signalmen (watchmen) on the track a special optical telegraph was used - see http://www.laenderbahn-forum.de/journal/heldenzuege_1859/heldenzuege_1859.html If you scroll down you can see on the picture something that resembles T-semaphore, but I think these were used to pass info from one signalbox to another, not to the engine driver. This was later replaced with bell signals - series of rings informed which way the next train is going, or if any exceptional case happened (like runaway wagons, help engine needed, ...) From all what I collected, there is no big difference between absolute and circuit block here - at least from the engine driver point of view. The difference is in the (speed of) communication between signalboxes, means of detecting that the track is clear, and human factor involved. You can see that even now there are lots of single track lines on this map: http://provoz.szdc.cz/portal/Show.aspx?path=/Data/Mapy/TZZ.pdf (red lines - cab signalling, blue - circuit block, others - absolute block, thin black - D3 direct control via radio (verbal token block), dashed black - D4 something like RETB). The simplified D3 system is in use since 1960's, and D4 is brand new. So, not much token block in history anyway.

Time-interval is yet something different. Sources are not very specific, but flags and lanterns were used for that. At some time, the color was not important, but the movement was used to distinguish different signals. Some sources state that the earliest color flags were black=danger, red=caution, but no idea what was used for clear. (And in night ???). Yellow/blue/white colors were used for similar purposes as optical telegraph - send help engine up or down the track.

There are contradicting sources on early signals (for time-interval), and whether classic (upper quadrant) semaphores were used for time-interval or not. It seems that lower quadrant was not used here at all. However I found a lower quadrant signal in rule-book from 1914, but it was a fixed signal meaning "proceed slowly" - i.e. speed limit sign.

I found that a T signals were used in czechoslovakia at the beginning od 20th century: http://www.k-report.net/ukazobrazek.php?soubor=805778.jpg&httpref=/
However the text says that it is just an alternative to two normal signals. The signalbox you see is on single track somewhere in the middle between two stations. So instead of having one signal on each side of track, they built one T-signal - the train had to stop in front of that signal.

At that page, there is another interesting rule described - if the signalman does not get confirmation that the last train has arrived to the next station, and upon query does not get information that the train is still on its way, but according to schedule the train should have arrived few minutes ago, then next train can be sent on the track (with command to drive slowly). Perhaps some sort of fallback in case the telephone/telegraph is broken.

Another interesting thing is that Austrian rulebooks have "distanzsignal" and "vorsignal". Vorsignal means presignal, and shows caution/clear, just like UK distant signal. Distanzsignal means literally distant signal, but shows danger/clear. Its name is from the fact that it was built at long distance from station (500 m from outermost points), protecting the entry. It had no presignal on its own. It was supposed to be built on such place that it could be seen from big distance, so the driver could stop the train. Later when entry signals were moved closer to the station (50-100 m), these were probable repainted to vorsignals. You can see them here: http://www.modellode.cz/Doplnky-zeleznice.html
Picture 1,2 - Distanzsignal, 3 - normal and T-signal, 4,10 - optical telegraph (balloon signal), 5 - flag signal, 9 - vorsignal, 11 - shunt signals
I think the distanzsignal is technically similar to the swedish "plate signal". And it seems that it predates the use of absolute block, but the sources are very vague about that.


So to sum it up. For Czech signalling, the implementation of absolute block is not very useful. I'll use circuit block with normal_danger=1.

It would be nice if time-interval signalling is usable with single track - i.e. having the directional reservation as circuit block has. Otherwise I'll just fall back to 3-state or permissive circuit block.

For token block - to avoid most of the token block usage in simutrans, it would be sufficient if train does not revert to drive by sight when departing from station (unless it turns back).