Trains stop at blue chain sig, stacker not working
-
- Inserter
- Posts: 23
- Joined: Mon Apr 24, 2017 4:54 pm
- Contact:
Trains stop at blue chain sig, stacker not working
Hi folks, I read a few things about train paths and how things seem to mess up when another train enters its loop, but not willing to spend 5 hours digging through forums for bits and clue's. (I gave up after like spending half an hour not getting anywhere. I hope one of you folks have a clue or need more input.
Attached pick for offload setup, plenty of open slots to park in, but trains refuse to pass blue signal (right top). It seems trains are stuck in the same path regardless when moving or not. Also... If I would switch a locomotive that is parked in the unloading slot/station from AUTO to MANUAL, the stopped train at the blue light will actually move up to the slot right behind the manual train. Odd?
Would something like : "if train speed = 0 then recalculate path" be an option?
Please advise
DB
Attached pick for offload setup, plenty of open slots to park in, but trains refuse to pass blue signal (right top). It seems trains are stuck in the same path regardless when moving or not. Also... If I would switch a locomotive that is parked in the unloading slot/station from AUTO to MANUAL, the stopped train at the blue light will actually move up to the slot right behind the manual train. Odd?
Would something like : "if train speed = 0 then recalculate path" be an option?
Please advise
DB
- Attachments
-
- stucktrain.jpg (999.93 KiB) Viewed 19980 times
Re: Trains stop at blue chain sig, stacker not working
For one...You've created a stopping zone with signals before each station...So its not odd that a train went in there.
Second You are missing your signals down near your chests and along the top (West bound)
Try this. Use chains along the west bound track including the spaces between south tracks.
You needs chains on the W's and E's and right after your T's
W- West bound(top)
S- Southbound
T- Station
E-Eastbound(bottom)
Put a regular signal right after each station. THen do what you did on West to East.
Second You are missing your signals down near your chests and along the top (West bound)
Try this. Use chains along the west bound track including the spaces between south tracks.
Code: Select all
SWWSWWSWWSWWSWW
S S S S S
S S S S S
S S S S S
T T T T T
SEESEESEESEESEE
W- West bound(top)
S- Southbound
T- Station
E-Eastbound(bottom)
Put a regular signal right after each station. THen do what you did on West to East.
Re: Trains stop at blue chain sig, stacker not working
Red marks for chains
blue marks for standard.
The problem is that a train hitting a chain signal wants to reserve its way all the way through...locking up everything, A standard signal breaks the chain. This is you need them after each station and after each junction
The standard signals you have behind your trains are ok but you could prevent an extra train from going in there by removing the middle-ish signals. You still need the one at the top of each southbound exit. To more specifically tell you why yours is broken. The train on the far left has no signals before it gets 2/3 of the way down that east bound path. It has reserved that track and wont release it until it clears. Hence all the red chain signals down there.
blue marks for standard.
The problem is that a train hitting a chain signal wants to reserve its way all the way through...locking up everything, A standard signal breaks the chain. This is you need them after each station and after each junction
The standard signals you have behind your trains are ok but you could prevent an extra train from going in there by removing the middle-ish signals. You still need the one at the top of each southbound exit. To more specifically tell you why yours is broken. The train on the far left has no signals before it gets 2/3 of the way down that east bound path. It has reserved that track and wont release it until it clears. Hence all the red chain signals down there.
-
- Inserter
- Posts: 23
- Joined: Mon Apr 24, 2017 4:54 pm
- Contact:
Re: Trains stop at blue chain sig, stacker not working
not helpful, they stop for a blue sign, thats the problem
Re: Trains stop at blue chain sig, stacker not working
Post your save. I will fix it so you can study.DutchBully wrote:not helpful, they stop for a blue sign, thats the problem
They stop because they cant enter the next block...presumably the butt of that second train on the left is sticking out over the first signal in that path which is keeping the block full...You can fix this by adding chain signals where i mentioned to break up the block.
Based on your signals...the blue area is one block. It will only allow 1 train ANYWHERE in that block until said train clears the block. The second train on the far left appears to still be in the block. Because of your lack of signals on the outbound path the first train on the far left is also locking up all of the track in front of it since it is all 1 block. I made a proof on concept. Ignore the station on the right...I just needed a reason for trains to leave.
-
- Inserter
- Posts: 23
- Joined: Mon Apr 24, 2017 4:54 pm
- Contact:
Re: Trains stop at blue chain sig, stacker not working
Can you stop addressing this and please let the devs give input on WHY there is a train stopped at a BLUE BLUE BLUE chain signal, I don't need lectures in OTTD. You totally dont understand the issue
Re: Trains stop at blue chain sig, stacker not working
Since Devs have yet to answer. The reason for the stuck-at-blue situation is usually another train has already decided its going to use the path. Since the trains don't really recalculate paths this way the generic fix is as I mentioned OR put a station called "Waiting Bay" or something similar before those blues. Give the trains a Time 0 seconds condition. This will force them to chose a path only when leaving the waiting bay rather than before. This is a known quirk of the signal/pathing system.DutchBully wrote:Can you stop addressing this and please let the devs give input on WHY there is a train stopped at a BLUE BLUE BLUE chain signal, I don't need lectures in OTTD. You totally dont understand the issue
Last edited by Shokubai on Sat May 06, 2017 11:09 pm, edited 4 times in total.
Re: Trains stop at blue chain sig, stacker not working
Why not turn Press F4 and turn on show_rail_paths to show you what the train is trying to do.
Re: Trains stop at blue chain sig, stacker not working
Shokubai has it correct, sort of.
A train finds its path when it leaves a station and tends not to repath during it's travels (it does, but relatively rarely in any meaningful way). So those two trains have their hearts set on the far station because it would have been the only empty station when they left (I can say that because it's the furthest from the entrance). This would have also been the case for the two that are in the queue for the station as well as the one currently occupying it.
Trains will re-path eventually, so just be patient and they will go through. Unfortunately there is no "good" way of getting them to repath reliably, as they really are kludges to force a repath. While I don't believe there is an in-built timer to trigger a repath as all the repathing in my tests seem to happen at the same time something else happens such as trains arriving or departing from a station and removing/placing track, these events happen regularly enough (or are causally linked to your requirement) that waiting should be sufficient.
If you don't want to have to wait,
As suggested by Shokubai, you could put stops in the stacker (where the blue signals are), then when they reach those stops they will repath to an open unloader, but that will generally reduce the throughput as the trains will have to come to a stop at the "repathing" station and you will still get situations where the trains path to the wrong station and still have to sit there until the station frees up or they repath.
The most reliable way of getting the train to repath is to enable/disable the stops (always ensure you have a train stop enabled so that your network doesn't come to a "no path" halt). If your trains are pathing to an occupied stop, disabling the stop will cause a repath to occur, and it's guaranteed to occur in the trains that are currently pathed to the stop that is being disabled.
A train finds its path when it leaves a station and tends not to repath during it's travels (it does, but relatively rarely in any meaningful way). So those two trains have their hearts set on the far station because it would have been the only empty station when they left (I can say that because it's the furthest from the entrance). This would have also been the case for the two that are in the queue for the station as well as the one currently occupying it.
Trains will re-path eventually, so just be patient and they will go through. Unfortunately there is no "good" way of getting them to repath reliably, as they really are kludges to force a repath. While I don't believe there is an in-built timer to trigger a repath as all the repathing in my tests seem to happen at the same time something else happens such as trains arriving or departing from a station and removing/placing track, these events happen regularly enough (or are causally linked to your requirement) that waiting should be sufficient.
If you don't want to have to wait,
As suggested by Shokubai, you could put stops in the stacker (where the blue signals are), then when they reach those stops they will repath to an open unloader, but that will generally reduce the throughput as the trains will have to come to a stop at the "repathing" station and you will still get situations where the trains path to the wrong station and still have to sit there until the station frees up or they repath.
The most reliable way of getting the train to repath is to enable/disable the stops (always ensure you have a train stop enabled so that your network doesn't come to a "no path" halt). If your trains are pathing to an occupied stop, disabling the stop will cause a repath to occur, and it's guaranteed to occur in the trains that are currently pathed to the stop that is being disabled.
Re: Trains stop at blue chain sig, stacker not working
Hold your mouse over the loc that's stuck behind the blue signal. That shows the path that train intends to take, and should give you a better idea of why it is stopping for that blue signal. My guesstimate is that it's waiting on that leftmost train to clear, or it's orders are to go to a station it cannot currently reach and it's arrived at this station due to a pathing mishap. From the look of things you do have some creative pathing going on...
Re: Trains stop at blue chain sig, stacker not working
Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.BenSeidel wrote:Shokubai has it correct, sort of.
A train finds its path when it leaves a station and tends not to repath during it's travels (it does, but relatively rarely in any meaningful way). So those two trains have their hearts set on the far station because it would have been the only empty station when they left (I can say that because it's the furthest from the entrance). This would have also been the case for the two that are in the queue for the station as well as the one currently occupying it.
Trains will re-path eventually, so just be patient and they will go through. Unfortunately there is no "good" way of getting them to repath reliably, as they really are kludges to force a repath. While I don't believe there is an in-built timer to trigger a repath as all the repathing in my tests seem to happen at the same time something else happens such as trains arriving or departing from a station and removing/placing track, these events happen regularly enough (or are causally linked to your requirement) that waiting should be sufficient.
If you don't want to have to wait,
As suggested by Shokubai, you could put stops in the stacker (where the blue signals are), then when they reach those stops they will repath to an open unloader, but that will generally reduce the throughput as the trains will have to come to a stop at the "repathing" station and you will still get situations where the trains path to the wrong station and still have to sit there until the station frees up or they repath.
The most reliable way of getting the train to repath is to enable/disable the stops (always ensure you have a train stop enabled so that your network doesn't come to a "no path" halt). If your trains are pathing to an occupied stop, disabling the stop will cause a repath to occur, and it's guaranteed to occur in the trains that are currently pathed to the stop that is being disabled.
Block end signals read their status and block entrance are set to green while green > 0.
My Mods: mods.factorio.com
Re: Trains stop at blue chain sig, stacker not working
This is a Known Issue in Bug Reports FYI, do not expect it to change soon.
Re: Trains stop at blue chain sig, stacker not working
There is now an ability to fix a depot capacity issue like this... still a bit of a kludge but it should work: Once a train is detected at the station (read cargo contents) deactivate the station. Reactivate it once the train leaves the station. The condition "Anything >0" on the station on read train contents, outputting a red signal back to the station to deactivate it should work fine.
A deactivated station is invalid for pathing destinations, so trains waiting at the transfer arrival waypoint station can't use it, but the train already stopped there will finish it's holding condition (such as "wait until empty"). If all bays are occupied, trains will wait at that switcher waypoint and repath to the next free bay once one becomes available. For this to work effectively, only a single waypoint station should be used, and trains should hold there briefly.
A deactivated station is invalid for pathing destinations, so trains waiting at the transfer arrival waypoint station can't use it, but the train already stopped there will finish it's holding condition (such as "wait until empty"). If all bays are occupied, trains will wait at that switcher waypoint and repath to the next free bay once one becomes available. For this to work effectively, only a single waypoint station should be used, and trains should hold there briefly.
Re: Trains stop at blue chain sig, stacker not working
Excellent solution. Have to try this.Optera wrote: Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.
Block end signals read their status and block entrance are set to green while green > 0.
Re: Trains stop at blue chain sig, stacker not working
Trains don't repath because of a changing wire signal. Here I have a simple setup, where there are 4 stops guarded by a red signal . Once the train has pathed to the second stop I am able to open up the signal in front of the third stop. The changed signal does not cause the waiting train to repath, instead it sits there until it naturally repaths.Optera wrote:Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.
Block end signals read their status and block entrance are set to green while green > 0.
Re: Trains stop at blue chain sig, stacker not working
They do actually repath, but they pick the same path as before as the chain to multiple rows of ->rail signal->rail signal->rail signal-> station design doesn't work.
The train will keep choosing the blocked path because it keeps thinking the rail signal will clear and according to pathfinding this is the best path.
Trying to use a single chain signal to create stacker is broken.
Only lanes of rail signal->chain signal->shared path to station(s) work.
Edit: changed the word rows to lanes as I thought it might confuse.
The train will keep choosing the blocked path because it keeps thinking the rail signal will clear and according to pathfinding this is the best path.
Trying to use a single chain signal to create stacker is broken.
Only lanes of rail signal->chain signal->shared path to station(s) work.
Edit: changed the word rows to lanes as I thought it might confuse.
Re: Trains stop at blue chain sig, stacker not working
In your scenario they are not repathing because of your signals, they are repathing because trains always repath when they start accelerating (or is it when they come to a stop?). While it appears to work, It's not that reliable and like most solutions, reduces throughput as you can't let the next train start moving as it may reach the chain signal before the circuit snaps back shut.Miravlix wrote:They do actually repath, but they pick the same path as before as the chain to multiple rows of ->rail signal->rail signal->rail signal-> station design doesn't work.
Re: Trains stop at blue chain sig, stacker not working
You didn't use circuit controlled signals as block start and exit.BenSeidel wrote:Trains don't repath because of a changing wire signal. Here I have a simple setup, where there are 4 stops guarded by a red signal . Once the train has pathed to the second stop I am able to open up the signal in front of the third stop. The changed signal does not cause the waiting train to repath, instead it sits there until it naturally repaths.Optera wrote:Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.
Block end signals read their status and block entrance are set to green while green > 0.
As soon as any station is free the train will instantly repath.
My Mods: mods.factorio.com
Re: Trains stop at blue chain sig, stacker not working
Yes, I know that I did not block the other two stops with circuit controlled signals, but that is irrelevant. The two trains sitting there were sufficient to stop any pathing attempts to them.Optera wrote:You didn't use circuit controlled signals as block start and exit.BenSeidel wrote:Trains don't repath because of a changing wire signal. Here I have a simple setup, where there are 4 stops guarded by a red signal . Once the train has pathed to the second stop I am able to open up the signal in front of the third stop. The changed signal does not cause the waiting train to repath, instead it sits there until it naturally repaths.Optera wrote:Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.
Block end signals read their status and block entrance are set to green while green > 0.
As soon as any station is free the train will instantly repath.
As for your design, It does not stop trains pathing to stop 1, the stop being subsequently occupied, the train arriving and not re-pathing into stop 2 as in your system the signal will be green and not red, so there is no state change to cause the repath.
Also, the placement of your chain signals is worse because you can get a train path to either of the bottom stops while one of the top stops are free. This will cause it to sit at the bottom chain signal until it can move forward, completely clogging up your system.
Edit: re-read the post as I originally assumed it's based upon Miravlix solution with the chain signals
Edit2: Just saw that you do have chain signals.
Re: Trains stop at blue chain sig, stacker not working
Are you pulling all your assumptions out of thin air?BenSeidel wrote:Yes, I know that I did not block the other two stops with circuit controlled signals, but that is irrelevant. The two trains sitting there were sufficient to stop any pathing attempts to them.Optera wrote:You didn't use circuit controlled signals as block start and exit.BenSeidel wrote:Trains don't repath because of a changing wire signal. Here I have a simple setup, where there are 4 stops guarded by a red signal . Once the train has pathed to the second stop I am able to open up the signal in front of the third stop. The changed signal does not cause the waiting train to repath, instead it sits there until it naturally repaths.Optera wrote:Correct except there is a way to force a repath. Use circuit controlled signals at the beginning and end of the block.
Block end signals read their status and block entrance are set to green while green > 0.
As soon as any station is free the train will instantly repath.
As for your design, It does not stop trains pathing to stop 1, the stop being subsequently occupied, the train arriving and not re-pathing into stop 2 as in your system the signal will be green and not red, so there is no state change to cause the repath.
Also, the placement of your chain signals is worse because you can get a train path to either of the bottom stops while one of the top stops are free. This will cause it to sit at the bottom chain signal until it can move forward, completely clogging up your system.
Edit: re-read the post as I originally assumed it's based upon Miravlix solution with the chain signals
Edit2: Just saw that you do have chain signals.
I've been abusing the instant repath for my stations and stackers throughout 0.14 and it work s perfectly fine if it's set up correctly.
Block start is only green when >1 block end = green
Block End is only reading
Chain signals inside the block switch to red when all their exits are blocked.
When the path the train wants to take is blocked it instantly repaths coming to the block entry.
My Mods: mods.factorio.com