Page 1 of 1

Train schedule on remote condition

Posted: Mon May 29, 2017 10:26 am
by paouk
Hello there,
(sorry for my english, i'm trying my best)

Scope:
I'm having a 'train world' game. I'm already in the late-game (22 rockets launched already) a part of the massive production rate often visible on various megabases posts.
I'm focusing on having different separate Outpost producing final products and dispatching them by train everywhere is needed.

The Processing Unit (Blue Circuit) production is still pretty critical but, with the right patience, i can sustain the amount of high-level production i need.
My rail system is a 2 lane with roundabouts 1-loco/2-wagon trains.

Detailed situation:
I've a 1-1 train dealing with blue circuit. It stops in BlueCircuit_Loading station (wich is activated only if it has stocked at least 5k of them) and then stops at MainBase_BlueCircuit_Unloading with the condition of Empty Wagon.
In this way the train loads the goods when ready, unload them in the base, then wait still untill the Loading station is activated again.

I recently add another outpost, focused on depleted uranium Military processing (uranium magazines and cannon shells and possibly atomic bombs).
The station here is fully robots operated. The train mentioned before stops here with the Logistic network condition "Blue Circuit <= 200".
I've done this with the purpose of having this train release not more then needed and then empty the big load to the Main base.

Problem:
The train now perform this sequence:
1.Load circuits at outpost.
2.Unload not more than 200 at atomicWarPlant.
3.Unload the rest at main base.
(All right so far...)
4.It goes again to the atomicWarPlant.

In fact, it starts bouncing up/down between MainBase and AtomicWarPlant untill the Circuits loading station reactivates.


I want to mantain the behavior as similar as possible as before the third station:
The train would pickup load, deliver the small part at first stop (if necessary), go to base unloading the full load and sit there waiting for the next station is activated again.

Could you suggest me something i can do without wiring the entire line to have the remote contition (coming from circuit outpost) at the main base?

Re: Train schedule on remote condition

Posted: Mon May 29, 2017 12:33 pm
by Lav
I'm currently toying with the idea of summoning trains via remote signalling using enabled/disabled station state. Scrapped a couple designs that had a problem similar to yours. Current (yet untested) version is this:

1. At your CPU loading station, add another station which you will use to send a signal. This station will be disabled most of the time. When you need to send a remote signal, enable it for a short time, and then disable again. A train must be able to path to this station, but leaving is not required as no train should ever arrive there.
2. At your main base, add another station with an exit into the main rail network and a roundabout back to the station itself. This is the signal receiver.
3. Put a 1-0-0 train on signal receiver station. Program it to move between signal receiver and signal sender stations continuously.
4. Since signal sender station is normally disabled, the locomotive will stay at the signal receiver station.
5. When signal sender station is enabled, locomotive will start moving to it's destination, triggering a train signal change that you can detect. Or just connect a wire to the station itself and detect the train ID, that should work too.
6. Since signal sender station will quickly disable again, locomotive will re-route to the next item in it's schedule, and return back to the signal receiver station, getting ready for the next cycle.
7. Use the signal generated by the signal receiving station to allow your cargo train to depart.

It's a bit complicated, but should work. Theoretically at least. :-)

Though to be fair, in your situation I wouldn't bother with disabling the loading station at all. I usually disable the unloading stations when they have enough of the goods. So my train schedules usually include a single loading station which is always enabled, and a sequence of unloading stations which only get enabled when they're running low on stuff.

Re: Train schedule on remote condition

Posted: Mon May 29, 2017 12:53 pm
by paouk
Damn man,
triggering a train signal change that you can detect
My head was about to blow-up trying to follow your steps untill the fantastic surprise.

Genious!

Anyway, as you said, it's complicated. I like 'cause i see you're probabliy right, it should work, but i'll wait a bit just to know if there are other possible solutions.
Also, this particular station is one of the last i've added in my main base, and there's no such plenty of space to comfortably move other utility rails, so it would became way more tricky.

EDIT:
Though to be fair, in your situation I wouldn't bother with disabling the loading station at all. I usually disable the unloading stations when they have enough of the goods.
The problem here, since i've been using modules in the machines, the biters has became way more dangerous making me very worried about my outpost security, especially if they hosts precious loaded trains. I feel more relaxed having my train at home with me :)
Also, like i said, the atomicWarPlant station is single logistic networking station for all the goods so i can't disable that nor have the train keep the track blocked.


Thank you

Re: Train schedule on remote condition

Posted: Mon May 29, 2017 7:39 pm
by Lav
Okay, I tested the idea and it seems to work.

Savegame of the setup in action.

https://drive.google.com/open?id=0BwIpJ ... GQ2eG1DUjg

Combinators provide a timed signal every 10 seconds which enables the "Signal 1" station for 40 ticks. Yellow station/train is the "receiver". Train starts moving to the "Signal 1" station, turns the signal after the station yellow for the moment, which allows the blue train (actual cargo train) to start moving to it's destination. I removed the chain signal on the blue train's track to ensure it has the priority, though in actual setup the trains will probably be on separate tracks so that won't be an issue.

After 40 ticks pass, "Signal 1" station gets disabled again. This is not enough time for the yellow train to reach the outbound track, forcing it to make a circle and return to it's original station. Blue cargo train meanwhile proceeds to the destination, and returns back (supposedly with cargo :-)).

Note: as I have found out, it's quite important to keep the "Signal 1" station enabled for long enough, so the yellow train can properly leave the station, but not long enough for the yellow train to leave the loop. Actual timing will depend on train's size (there's no need to use anything but a single locomotive on this task) and fuel (I'm using coal in this example). Timeout of 40 ticks seems to do the trick in my setup - 30 ticks is apparently not enough. When using solid or rocket fuel, a shorter period can be used. Or you can simply put the period to 60 ticks (i.e. enable the signaling station for full second) - that's still short enough time and will work with any fuel type.

Also note how signaling station is located in a dead-end appendix - for as long as there's a route to it, it works fine, and no train will ever reach it anyway.

Now the next challenge is to send more than 1 bit of information using this system. I'm thinking of a setup of N signals (i.e. N signaling stations, N receiving stations, and N trains). Information can be transmitted by activating the stations in a certain order, as well as by varying the intervals between station activations. Assuming there are M possible activation intervals, the amount of information that can be transmitted in a single cycle is (N-1) * M * N!. For N = 4 and M = 2, that's a value in 0..191 range that can be transmitted over the period of 15-20 seconds. :-)

Re: Train schedule on remote condition

Posted: Mon May 29, 2017 10:10 pm
by paouk
Wow! Thank you very much!

In your example it is all more "simple" then i was expenting, i'm feeling a bit newbie but i've never seen that timer or try the creative mode mod.

Thank you again


P.S. I hope you've already posted this in "Show your creations" section.