Outdated!See: AID - Automatic Item Delivery
i was thinking about train logistic in (vanilla-) factorio and searched for bluprints. there are too few, or im just blind. so i built one myself and now i'm looking for someone willing to test it. (theres on i find quite interesting: https://factorioprints.com/view/-L7pXHca_-LbOhcDimRX)
it took me quite some time, as i have no knowledge of circuitry and stuff like that. this complete thing is theoretical. yeah, i've used some test-setups, but i haven't tested the general functionality.
i wanted to have intelligent trains. delivering stuff where it is needed without me doing something, except building the trains. there are easyer ways by setting item slots in the train-wagons... but that is annoying af and limited by item slots in the train. so i tried to build an autonomic version. and here we go:
i wanted to establish a train network, which supplys independent/remote areas like mining outposts or wall segments with materials. now it should be able to supply even factorys. the trains are used to connect independent robot logistic networks with each other.
that is what it should work like:
every request you place will be fed up in the global train network (red wire). all stations have to be connected with (at least) the red wire (green wire for remote requests). all stations within the train network are switched off by default (so trains aren't moving around, when there's nothing to do) but will turn on as soon they are requesting something or can supply a request.
the trains should have all logistic-stations in their station list. alternatively you can name all stations with the same name (i don't know if this will work). wait condition should be set to 'inactive for 10s' or so. when all stations in their list are inactive, trains will stop moving around.
as soon as you make a request at a station this station will turn on. in addition, all other stations which can supply this request will turn on, so the trains start moving around. they will be filled by the supplying station(s) with the requested items and unloaded at the requesting station. as soon the request is fulfilled the requesting and supplying stations will turn off.
every station reads the content of their (local) robot logistic network, so they know if they can fullfill a global request. trains may carry excessive items. they will be unloaded as soon as they stop at a station which supplys those items.
this system should work perfectly with only one train. i think it is possible to work with multiple trains, but there will be an issue i'll discuss later. the standard setup for the trains is (atm): 2:2:2 (2 lokomotives, 2 cargo waggons, 2 tank waggons). this may be subject to change.
this system should work for items quite fine. liquids may be a problem, see below. more detailed explanation on how to setup the station, see below.
there are a few problems i have no idea how to handle / may become issues:
the biggest issue is the following:
as soon a station requests something, it will feed the request in the global train network. there should be at least two station which will turn on (requesting and at least one providing station). at this moment all trains will start moving around and load the requested items. the request will stay in the global train network until it is fullfilled. but until this is achieved, there might be a couple of trains filled with those items. as the request is fullfilled by the first train that arrives at the requesting station, all other trains will keep those items in their wagons (those will be unloaded with additional requests or stoping at the right station [as loaded but unrequested items will be unloaded at stations which supply those items]). this is one of the main issues this system will encounter (especially with multiple trains).
this problem can be avoided by using only on train. maybe i will create a single 'always on' station to cope with this problem. -> to do
im quite sure the liquids are buggy right now. the request/supply signals should work but the problem could be in the amounts that are transportet. lets say station 'B' request crude oil (<5K in tanks), the train will be loaded with 50K crude oil at a supplying station. when it reaches the requesting station and this station doesn't use crude oil at the moment (theres some crude oil left in the requesting tanks) the train cannot unload all its crude oil. there's no way to unload leftovers, exept by requests atm. there might be a simmilar isse like the issue above (multiple trains loading a requested liquid). it might be possible to handle this with the 'always on' station.
there might be problems with playertrash/leftovers. lets say you are in factory A. and dispose an item to a storage chest, this item will become available to the local robot network. if this item is requested in factory B, the station of factory A will turn on, even when this product isn't produced here (just because it is available in the local robot network). it might get worse, because trains will unload excessive items they hold to stations which offer those items. so a train may unload an item type (you dropped in a storage chest) even when it's not produced/supplyed by this station.
feel free to compliment me on my impressive paint skills and simplified english skillz.
i'd love to hear comments, recommendations and other tips...
i will try to work on this further. feel free to modify, use and repost this. credit would be nice
unloading of not reqested/left over liquids
belt based version
permanent on sorting station
storage chest issue