Hi,
I want trains which deliver materials to outposts to wait in a central stacker, instead of the loading the station, when they have nothing to do. I've got an idea how to do that, but it has flaws and I wonder if there is a better solution.
So, the train has three stations in its schedule.
1. loading station, always active
2. stacker station, always active (every stacker track needs a station, therefore the stacker can't be diagonally)
3. unloading station, only active when in demand of something.
Additionally to the stacker station, there must be a circuit controlled signal at the station, to hold the train in the stacker. Otherwise it would run in circles between stacker and loading station.
Control would look somewhat like this:
If uranium mine need sulfuric acid, it send a sulfuric acid "1" signal to the network. The stacker station reads the train content, and a logic AND combinator sets the stacker signal to green when network signal and train content are both sulfuric acid > 0. But this would mean I would need a special stacker line for each and every sort of train, right? (sulfuric acid train , oil train for defense, general maintenance train, and so on). And, I could have only one stacker line for each train type, because otherwise they would open all at the same time. Therefore I can have only one train of each type?
Is there a better solution? I would like to build this stackers diagonally, but I think this isn't possible at all?
Train Stacker for outgoing trains to outposts?
Re: Train Stacker for outgoing trains to outposts?
You can have many stacker lanes per train type if you name the stations the same.
You can even name all the stations in your global stacker the same and have all trains there provided you make the lanes only one train long. So each train goes to a station and no trains is blocked behind another. If you do this you can put different circuit conditions into the trains schedule. The coal train waits for a coal signal, the iron train for the iron signal and so on. You send the signal to all stations but only the trains waiting for the specific signals you send will drive off.
You are right that you can't build the stacker diagonally. Well, not all of it. Every lane needs a straight part with a station. But right after the station you can curve and go diagonally if that helps.
Personally I don't see much point in this design. You just create an artificial bottleneck because all trains always need to pass through your one global stacker. The stacker entry and exit will be congested and enlarging the stacker will be impossible because you will have build other stuff around it.
You can even name all the stations in your global stacker the same and have all trains there provided you make the lanes only one train long. So each train goes to a station and no trains is blocked behind another. If you do this you can put different circuit conditions into the trains schedule. The coal train waits for a coal signal, the iron train for the iron signal and so on. You send the signal to all stations but only the trains waiting for the specific signals you send will drive off.
You are right that you can't build the stacker diagonally. Well, not all of it. Every lane needs a straight part with a station. But right after the station you can curve and go diagonally if that helps.
Personally I don't see much point in this design. You just create an artificial bottleneck because all trains always need to pass through your one global stacker. The stacker entry and exit will be congested and enlarging the stacker will be impossible because you will have build other stuff around it.
Re: Train Stacker for outgoing trains to outposts?
Advantage is that you made yourself a very easy way to refuel.mrvn wrote:Personally I don't see much point in this design. You just create an artificial bottleneck because all trains always need to pass through your one global stacker. The stacker entry and exit will be congested and enlarging the stacker will be impossible because you will have build other stuff around it.
You can build several of such stackers to avoid/reduce congestion. Either way, such a design will create a mess and thus limit the throughput of your train system.
In fact, I wouldn't use such a design as well. I prefer to stack the trains in front of the station. If only one type arrives at that station, the design is trivial. If you unload several different goods, e.g. at your mall, you can make the trains wait in a stationed stacker as described by mrvn.
A design for a stacker other than the typical harp is a linear stacker (only for single type of transported good). You need the space but the throughput is slightly higher, especially with additional signals in the station.
Re: Train Stacker for outgoing trains to outposts?
In a vanilla game most trains drive from a mine to a smelter, smelter to plate consumer, oil field to refinery or refinery to oil product consumer. A basic smelter needs fuel and oil needs coal for plastic. So most trains have a station on schedule that has fuel available already. Just refule them there.
Doing a central stacker / refueler for the rest might be feasable.
Doing a central stacker / refueler for the rest might be feasable.
Re: Train Stacker for outgoing trains to outposts?
This is only about trains delivering from the base to outposts.
I'm not bottlenecking anything. These trains don't have a lot to do and stand around for the most part. (Several different maintenance trains, light oil for outpost defense, sulfuric acid for uranium mines, and so on.) This is why I want to stack them. And even if they are fully occupied, they only have to go a few extra meters of track through the stacker, since it's directly at the exit of the loading station.
I rather have my trains waiting fully loaded after the loading station, ready to go, in case multiple outpost suddenly require something at the same time. Than empty in front of the loading station, with only one full train twiddling his thumbs while blocking the station. I could also build one loading station per used train, with all of my trains waiting in loading stations. But this would effectively make the loadingstation itself a stacker with unnecessary loading at every lane.
Another problem is: When I have two uranium outposts requesting sulfuric acid at the same time, and I somehow get it managed to release exactly two trains, they would still both head to the nearest outpost. The second train would wait there while the first train is unloaded, und eventually, when this station goes inactive, it would go to the second outpost. There is no way around this, besides not using the same name for the outposts AND having specific trains for each outpost, right?
I'm not bottlenecking anything. These trains don't have a lot to do and stand around for the most part. (Several different maintenance trains, light oil for outpost defense, sulfuric acid for uranium mines, and so on.) This is why I want to stack them. And even if they are fully occupied, they only have to go a few extra meters of track through the stacker, since it's directly at the exit of the loading station.
I rather have my trains waiting fully loaded after the loading station, ready to go, in case multiple outpost suddenly require something at the same time. Than empty in front of the loading station, with only one full train twiddling his thumbs while blocking the station. I could also build one loading station per used train, with all of my trains waiting in loading stations. But this would effectively make the loadingstation itself a stacker with unnecessary loading at every lane.
Right. But how would I control the signal at the exit of the stacker, so that only one train is released when one outpost requests a delivery. And a second train, when a second outposts sends a request. The only way I could think of would release all trains at once. And, as long as the signal condition is specific to one type of train, the stacker would have specific lanes for each type, and be really annoying to expand. I'm mainly searching for a universal way to control these exit signals at the stacker.You can have many stacker lanes per train type if you name the stations the same.
Another problem is: When I have two uranium outposts requesting sulfuric acid at the same time, and I somehow get it managed to release exactly two trains, they would still both head to the nearest outpost. The second train would wait there while the first train is unloaded, und eventually, when this station goes inactive, it would go to the second outpost. There is no way around this, besides not using the same name for the outposts AND having specific trains for each outpost, right?
Re: Train Stacker for outgoing trains to outposts?
I think I got it!
I had a similar application on an old map where I used about 10 patrol stations. I had a train picking up fuel for the delivery to the patrol stations (where the other trains would refuel). I send that train to an intermediate station waiting for a "go" signal. If a patrol station run short of fuel it would send a signal on a global wire and enable itself. This global signal would trigger the deliery train to leave the intermediate station. Since only one patrol station would be enabled, the patrol train would go only to the one station in need of fuel. If two stations need fuel at the same time, the delivery train would go to the nearest one, return to the fuel pick-up station, go to the intermediate, where it would be immediately released to the other fuel station in need of fuel.
If you have multiple such jobs, you can use the same system with a generic central stacker. The different types of trains just wait for different triggers.
Your life is much more complex because you have multiple trains of the same type. As if I had several patrol delivery trains. Here, your problem is not to deliver a specific number of trains: You need to make a memory cell storing a value, lets say A. If a stations wants to request 1 trains, it would put A(1) to that wire for 1 tick. For every train that leaves the stacker you decrease A by 1 (by sending A(-1) to the wire for 1 tick). To avoid that all do this simultaniously, you have ask the different stations sequentially if they have a train that wants to leave (with a counter and modulo operation).
Besided the fact that this is quite complex, you have NO way to control where your trains will go. In my example. All activated trains would head to the nearest patrol station. The first one to arrive would fulfill the demand. This would deactivate the station forcing the others to re-route to the then closest active station. To avoid this you have to have dedicated trains for each outpost. But why would you need multiple trains of the same type for rarely needed items? Considering my initial example, I made sure that the delivery train would carry sufficient fuel to fill the local buffer and that the local buffer is big enough such that the delivery frequency is so low that the train most of the time sits in its stacker (out of the way).
I had a similar application on an old map where I used about 10 patrol stations. I had a train picking up fuel for the delivery to the patrol stations (where the other trains would refuel). I send that train to an intermediate station waiting for a "go" signal. If a patrol station run short of fuel it would send a signal on a global wire and enable itself. This global signal would trigger the deliery train to leave the intermediate station. Since only one patrol station would be enabled, the patrol train would go only to the one station in need of fuel. If two stations need fuel at the same time, the delivery train would go to the nearest one, return to the fuel pick-up station, go to the intermediate, where it would be immediately released to the other fuel station in need of fuel.
If you have multiple such jobs, you can use the same system with a generic central stacker. The different types of trains just wait for different triggers.
Your life is much more complex because you have multiple trains of the same type. As if I had several patrol delivery trains. Here, your problem is not to deliver a specific number of trains: You need to make a memory cell storing a value, lets say A. If a stations wants to request 1 trains, it would put A(1) to that wire for 1 tick. For every train that leaves the stacker you decrease A by 1 (by sending A(-1) to the wire for 1 tick). To avoid that all do this simultaniously, you have ask the different stations sequentially if they have a train that wants to leave (with a counter and modulo operation).
Besided the fact that this is quite complex, you have NO way to control where your trains will go. In my example. All activated trains would head to the nearest patrol station. The first one to arrive would fulfill the demand. This would deactivate the station forcing the others to re-route to the then closest active station. To avoid this you have to have dedicated trains for each outpost. But why would you need multiple trains of the same type for rarely needed items? Considering my initial example, I made sure that the delivery train would carry sufficient fuel to fill the local buffer and that the local buffer is big enough such that the delivery frequency is so low that the train most of the time sits in its stacker (out of the way).
Re: Train Stacker for outgoing trains to outposts?
For repair trains this, well, ... still makes no sense. You need more than one train to repair stuff the aliens damaged or destroyed?
Fuel for flame throwers? Ok that could use multiple trains. 2? 3? Why not have a large enough loading station for those trains. A single station with waiting bay (no stations there) is enough given how fast a fluid wagon loads with 3 pumps. Then you have trains with just 2 stations, which is much easier to handle.
And for the acid for mining uranium I would build a LCCFL train or something. Ship ore from the mine(s) to the processing station. While unloading the ore refill the sulfuric acid wagon. Loading ore takes long enough that the mine can replenish it's sulfuric acid tank from the train without needing a condition. You won't need all the sulfuric acid either so you will drive back a partially full tank. So what. At the processing station you can set the schedule to wait for uranium = 0 AND slufuric acid > 24000.
Similar if you do smelting at the mine. The train shipping the plates one way can bring back some coal on the way back. I think such multi purpose train loops are much more fun.
Fuel for flame throwers? Ok that could use multiple trains. 2? 3? Why not have a large enough loading station for those trains. A single station with waiting bay (no stations there) is enough given how fast a fluid wagon loads with 3 pumps. Then you have trains with just 2 stations, which is much easier to handle.
And for the acid for mining uranium I would build a LCCFL train or something. Ship ore from the mine(s) to the processing station. While unloading the ore refill the sulfuric acid wagon. Loading ore takes long enough that the mine can replenish it's sulfuric acid tank from the train without needing a condition. You won't need all the sulfuric acid either so you will drive back a partially full tank. So what. At the processing station you can set the schedule to wait for uranium = 0 AND slufuric acid > 24000.
Similar if you do smelting at the mine. The train shipping the plates one way can bring back some coal on the way back. I think such multi purpose train loops are much more fun.
-
- Fast Inserter
- Posts: 124
- Joined: Fri May 22, 2015 3:31 pm
- Contact:
Re: Train Stacker for outgoing trains to outposts?
Now that we have a lot of conditions we can use at stations, I handle this situation by using trains as the "buffer chests".
Trains are cheap, so I just have them sit at the delivery station until they run out of something (item1 count = 0 OR item2 count = 0 OR ... ), then go back and refill. Then I just don't bother with buffer chests (if you're using bots for maintenance, just limit the buffers to one slot). The filling stations are where you refuel all the trains. If you don't want to wait for a round trip, use two trains, so there's always a full one waiting behind the one at the unload station. Just make sure you have a stacker before the filling station that can handle ALL of the trains that might show up at the same time.
This has solved pretty much all of this kind of problem for me. As long as the trains aren't out causing traffic on the main network, you can have a lot of them sitting and waiting with no problems.
Trains are cheap, so I just have them sit at the delivery station until they run out of something (item1 count = 0 OR item2 count = 0 OR ... ), then go back and refill. Then I just don't bother with buffer chests (if you're using bots for maintenance, just limit the buffers to one slot). The filling stations are where you refuel all the trains. If you don't want to wait for a round trip, use two trains, so there's always a full one waiting behind the one at the unload station. Just make sure you have a stacker before the filling station that can handle ALL of the trains that might show up at the same time.
This has solved pretty much all of this kind of problem for me. As long as the trains aren't out causing traffic on the main network, you can have a lot of them sitting and waiting with no problems.