old LTN discussion thread

Adds new train stops forming a highly configurable logistic network.

Moderator: Optera

Locked
seabeegamer
Burner Inserter
Burner Inserter
Posts: 7
Joined: Wed Aug 24, 2016 12:44 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by seabeegamer »

First off, great mod! Only problem I'm having is the use of fluid tankers in .15. For some reason my trains will be dispatched properly but won't stay at the station to fill up or to drain. Is there a setting I'm missing or should it be set up just like regular cargo wagons?

orzelek
Smart Inserter
Smart Inserter
Posts: 3911
Joined: Fri Apr 03, 2015 10:20 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by orzelek »

Optera wrote:To everyone asking if the mod is broken.

No this mod is not broken.

Factorio's mod settings break sometimes. 15.6 is an alpha of a beta after all.
Check your mod settings and either manually reset them to default or click reset.
Quick heads up - thanks to a lot of testing by saviq with RSO and Nanobots mod I managed to get semi reproducible report on mod settings corruption.
It seems to be tied up to enabling/disabling of mod that contains settings and loading a saved game after that. It might be causing havoc with your mod settings too that might be more subtle - with RSO it's pretty visible when it breaks.
Bug report thread:
viewtopic.php?f=7&t=46207

seabeegamer
Burner Inserter
Burner Inserter
Posts: 7
Joined: Wed Aug 24, 2016 12:44 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by seabeegamer »

First off, great mod! Only problem I'm having is the use of fluid tankers in .15. For some reason my trains will be dispatched properly but won't stay at the station to fill up or to drain. Is there a setting I'm missing or should it be set up just like regular cargo wagons?
upon further investigation. The trains are being set with fill until x/and 120 sec in activity/ or zero seconds inactivity. Tried it in a creative mode map and works fine.

User avatar
SphynxLoL
Inserter
Inserter
Posts: 21
Joined: Tue Apr 25, 2017 3:32 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by SphynxLoL »

It seems the in game config changes aren't applying (or sticking). When I load into my game the log gets set to 2 and I have to set it to 1 every time (through in game mod config menu). I haven't actually went into the config.lua to change the number. Just a heads up! Thanks again for all your help and work on the mod!

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

seabeegamer wrote:
First off, great mod! Only problem I'm having is the use of fluid tankers in .15. For some reason my trains will be dispatched properly but won't stay at the station to fill up or to drain. Is there a setting I'm missing or should it be set up just like regular cargo wagons?
upon further investigation. The trains are being set with fill until x/and 120 sec in activity/ or zero seconds inactivity. Tried it in a creative mode map and works fine.
Seems your stop inactivity timeout is at 0.... probably related with the factorio bug with mod settings

TaztheRotten
Burner Inserter
Burner Inserter
Posts: 5
Joined: Mon Mar 06, 2017 2:38 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by TaztheRotten »

I'm doing OK with the mod settings changing, I just manually fix them as needed. So I am asking before I mess with tankers, is LTN working OK otherwise with tankers/fluids in 15? Or would I be better off using barrels? (I'll use tankers if the mod is working).

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

TaztheRotten wrote:I'm doing OK with the mod settings changing, I just manually fix them as needed. So I am asking before I mess with tankers, is LTN working OK otherwise with tankers/fluids in 15? Or would I be better off using barrels? (I'll use tankers if the mod is working).
Optera wrote:To everyone asking if the mod is broken.

No this mod is not broken.

Factorio's mod settings break sometimes. 15.6 is an alpha of a beta after all.
Check your mod settings and either manually reset them to default or click reset.

Metalface7
Inserter
Inserter
Posts: 28
Joined: Sat Jun 11, 2016 1:49 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by Metalface7 »

I seem to have a problem.

So I have a copper mining outpost, a copper ore requesting station for smelting, a copper plate supplier after smelting, and a copper requester for circuits. Each requester has a minimum delivery size and a 1 train limit (I made the mistake of ignoring waiting bays). The trouble is that no matter what, if a station is requesting something when I load the map, the mod immediately dispatches a train to pick up the requested items, and completely ignores the min delivery size and max trains for a stop (like running for 4 copper plates when the station min delivery size is 4k). Did I miss something?
I have disabled "use best effort" in both the mod settings and the config.lua file itself, but the mod menu always re-enables it when I load the map.

Also, how do I stop the inserters from loading more than the delivery was generated for? I looked around and couldn't find anything, and the demo world is unplayable on my setup for some reason.

Thanks for the great mod!

thedoh
Inserter
Inserter
Posts: 45
Joined: Tue May 02, 2017 1:37 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by thedoh »

I'm struggling some with the circuitry needed to use the "finish loading" feature in the mod. I have it sorted out (if somewhat inelegantly) for single item provider stations but I can't figure out how to do it for stations which provide multiple items.

I have looked at the tutorial map but it seems needlessly complex in the universal provider station, which seems the perfect model for this. Is there a simple solution that I can use?

What I have now for single item providers is three arithmatic combinators feeding into a single decider combinator performing:

Code: Select all

if (item_in_train < requested_item) {
  activate_inserters()
}
One AC to turn the train inventory for the specified item into a signal I, one other AC to turn the requested item count into a signal N, one final AC to N-I=D. The decider combinator performs E = 1 if D > 0.

This solution is obviously inelegant but I'm not proficient with the circuitry in Factorio so I went with the brute force solution.

Mobius1
Fast Inserter
Fast Inserter
Posts: 191
Joined: Thu Feb 09, 2017 12:05 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by Mobius1 »

thedoh wrote:I'm struggling some with the circuitry needed to use the "finish loading" feature in the mod. I have it sorted out (if somewhat inelegantly) for single item provider stations but I can't figure out how to do it for stations which provide multiple items.

I have looked at the tutorial map but it seems needlessly complex in the universal provider station, which seems the perfect model for this. Is there a simple solution that I can use?

What I have now for single item providers is three arithmatic combinators feeding into a single decider combinator performing:

Code: Select all

if (item_in_train < requested_item) {
  activate_inserters()
}
One AC to turn the train inventory for the specified item into a signal I, one other AC to turn the requested item count into a signal N, one final AC to N-I=D. The decider combinator performs E = 1 if D > 0.

This solution is obviously inelegant but I'm not proficient with the circuitry in Factorio so I went with the brute force solution.
"finish loading" you mean wait untill all robots delivers the items? If so, just hook up a wire to the station with the setting "read train content" link that wire to an arithmetic combinator with a "each * -1 | each" then hook up a wire from that combinator to the requester chests. That way, if the train has a work order of, say, 2000 iron ore, with that simple circuitry you're removing each ore that is loaded to the train from the work order request, so when the train has like 1200 iron ore, your work order will be 800 iron ore on your requester chests. If you want, you can add another arithmetic combinator to balance the work order among the requester chests with these steps:
1- Red wire from yellow combinator to the input of an arithmetic combinator with the setting "each / <number of requester chests> | each" (1)
2- Red wire from the station with the setting "read train content" to the input of another arithmetic combinator with the setting: "each * -1 | each"(2)
3- Green wire from the output of combinator (2) into the input of combinator (1)
4- Red wire from the output of combinator (1) to each of the requester chests with the setting "Set Requests"

Imagine you have a half loading station for 2 cargo wagons (12 chests) and your work order is 2400 iron ore, each requester chest will request 2400/12 = 200 iron ore reduced by every bit of ore inside the cargo wagon, so when your inserters fill like 2160 iron ore to the train, your requester chests will request 20 iron ore instead of 200, therefore reducing the ammount requested by the robots so they will almost not leave any spares in the chest, only if you have a supply issue on that outpost/base, then it'll ding the 2s inactivity and the train will leave.

For multiple items being requested the above should also work, but bear in mind that due to the rounding ups of numbers in factorio, most of the time the robots will bring extra cargo to the train, so if you need EXACTLY that work order ammount, you would have to do a hard control on the inserters limiting their stack size to 1 to get max precision of the input count and blocking them from working when they hit the threshold you want. Or you do some smart circuitry to hard limit the stack size when the work order is about to complete so they will stop inputting when they hit the EXACT ammount of the work order. But that seems unecessary to my point of view, unless you are supplying a FARL train without filters on its slots.

teenkertoy
Inserter
Inserter
Posts: 37
Joined: Fri Nov 11, 2016 5:03 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by teenkertoy »

I really like the logistic train network mod because it does much of what I tried to do manually with vanilla combinators in 0.14. So thank you for putting this together.

Below is my best effort to solve the problem of having "junk" flow through the train network as a result of the inserters not delivering perfect quantities of items to/from the cargo wagons. I can get perfect quantities transferred into a cargo wagon if using a single inserter, for example if you want to have six or twelve small quantities of different items in a single wagon. I can get almost perfect transfer using more than one inserter, usually overfilling by only 5-10 units. I plan to use this system and set all my request quantities to about 50 less units than a full train load would be if I expect a cargo wagon to be sharing space with multiple types of items (for example request 950 of two different items instead of 1,000 of each for a wagon with 2,000 unit capacity).

The screenshot and blueprint below include a few different things to play with. There are six individual item lines and each of these will pack number-perfect quantities into a cargo wagon. These six individual items share a wagon with a 7th item of higher quantity (steel). The 2nd wagon is a higher quantity of a single item (coal). The coal and steel will pack into a wagon with less than 10 extra items, often less than 5 extra items.

Overall I'm happy with the performance of the system. I'm really annoyed that it requires a bunch of effort to "program" everything just right to adapt this setup to work with different materials, and which direction them come in from, and so on. There is likely a way to make the programming of all the combinators simpler or more adaptable but I think it would require many more parts and increase the complexity. This is as simple as I know how to make it.

There are many small tricks built in to this design, and if you all are curious I can go into more detail about why I decided to do certain things.
0.15 blueprint string here
The images below are being resized smaller than normal as part of the forum code. I'm not sure how to best post them full-size or with a preview. Right click on the picture and open the image in a new tab to see full-size.

Image


Image

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

New version 0.15.7
Fixed mod settings corruption when removing mods that contained mod settings. Note: this will reset all mod settings
Well, maybe we will not have people reporting bugs because they forgot to reset the settings

User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2918
Joined: Sat Jun 11, 2016 6:41 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by Optera »

teenkertoy wrote:I really like the logistic train network mod because it does much of what I tried to do manually with vanilla combinators in 0.14. So thank you for putting this together.

Below is my best effort to solve the problem of having "junk" flow through the train network as a result of the inserters not delivering perfect quantities of items to/from the cargo wagons. I can get perfect quantities transferred into a cargo wagon if using a single inserter, for example if you want to have six or twelve small quantities of different items in a single wagon. I can get almost perfect transfer using more than one inserter, usually overfilling by only 5-10 units. I plan to use this system and set all my request quantities to about 50 less units than a full train load would be if I expect a cargo wagon to be sharing space with multiple types of items (for example request 950 of two different items instead of 1,000 of each for a wagon with 2,000 unit capacity).

The screenshot and blueprint below include a few different things to play with. There are six individual item lines and each of these will pack number-perfect quantities into a cargo wagon. These six individual items share a wagon with a 7th item of higher quantity (steel). The 2nd wagon is a higher quantity of a single item (coal). The coal and steel will pack into a wagon with less than 10 extra items, often less than 5 extra items.

Overall I'm happy with the performance of the system. I'm really annoyed that it requires a bunch of effort to "program" everything just right to adapt this setup to work with different materials, and which direction them come in from, and so on. There is likely a way to make the programming of all the combinators simpler or more adaptable but I think it would require many more parts and increase the complexity. This is as simple as I know how to make it.

There are many small tricks built in to this design, and if you all are curious I can go into more detail about why I decided to do certain things.
Sadly all that effort is going to waste with 0.15
In case it got swamped, a simple arithmetic combinator with each * -1 = each achieves the same.
input: Stop (read train contents)
output: merge with signals from yellow constant combinator and send to filter inserters

If you want to be extra save set "Locked Slots per Wagon" to 1 (or higher depending on the number of items)
nagapito wrote:New version 0.15.7
Fixed mod settings corruption when removing mods that contained mod settings. Note: this will reset all mod settings
Well, maybe we will not have people reporting bugs because they forgot to reset the settings
Odd there are no game crash reports here yet after entering LTN controlled trains. :roll:

teenkertoy
Inserter
Inserter
Posts: 37
Joined: Fri Nov 11, 2016 5:03 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by teenkertoy »

Optera wrote:Sadly all that effort is going to waste with 0.15
In case it got swamped, a simple arithmetic combinator with each * -1 = each achieves the same.
input: Stop (read train contents)
output: merge with signals from yellow constant combinator and send to filter inserters

If you want to be extra save set "Locked Slots per Wagon" to 1 (or higher depending on the number of items)
I did see that method posted earlier and I gave it a try. However, the combined signal in the system you mention is updated *after* an item is dropped into the cargo wagon. This means multiple inserters can pick up items (up to the other 11x stack inserters with 12x capacity each) and overload the wagon by a tremendous amount. The sequence goes like this: the last inserter load that would result in count-perfect loading picks up a stack of items. The other 11 inserters are also working at the same time, and many of them will pick up a load too. The counter-perfect inserter will deliver its items to the cargo wagon, and the other inserters that already have a load picked up from a chest or belt will also deposit their items into the wagon. Then, finally, the circuit network updates after seeing the count-perfect load deposited and stops all future inserters. But by now it is too late because the other inserters that were working at the same time have already committed to depositing their loads.

My method updates the "count" of the items that need to be loaded when the item is picked from a chest or belt by using the read contents and pulse combination. The moment the final load is picked up by any inserter, all other inserters cannot pick up a load and commit to depositing it into the wagon. Well, the time window is very short anyhow, about 2-3 ticks if I understand it right.

Maybe my words don't make a lot of sense, but I tested it both ways a bunch and my method works way better. Considering my plan uses three combinators instead of one, it's not a tremendous waste of anything. Maybe someone else can experiment with it.

One of the many patch notes today mentioned the stack inerserter size override will now be implimented faster in the inserter's working cycle. This was one of the big problems I had with a similar design and I hope to improve it again.

Optera wrote:If you want to be extra save set "Locked Slots per Wagon" to 1 (or higher depending on the number of items)
I forgot to play with that feature and I'll give it a try to see what happens.

Thanks again for all your work on this project, it is a ton of fun!

tuttifrectte
Burner Inserter
Burner Inserter
Posts: 14
Joined: Mon Apr 24, 2017 5:13 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by tuttifrectte »

Where do you guys put your depots? I wish to put it near providers to decrease delay in a delivery. However for a loading bay with multiple provider stations, it is hard to make sure train can go from every depot to every provider station. Maybe it is possible to implement a check for if a train can path to a provider station?

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

tuttifrectte wrote:Where do you guys put your depots? I wish to put it near providers to decrease delay in a delivery. However for a loading bay with multiple provider stations, it is hard to make sure train can go from every depot to every provider station. Maybe it is possible to implement a check for if a train can path to a provider station?
My two depots are in the middle of what was in the past nowhere, a place where it as supposed to empty and with lots of space to grow the depot if needed.

That was my thought for the first one.... And for the second... Gladly I dont need a third yet because I already lack the free space to expand the other two if I need :P

tuttifrectte
Burner Inserter
Burner Inserter
Posts: 14
Joined: Mon Apr 24, 2017 5:13 pm
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by tuttifrectte »

nagapito wrote:
tuttifrectte wrote:Where do you guys put your depots? I wish to put it near providers to decrease delay in a delivery. However for a loading bay with multiple provider stations, it is hard to make sure train can go from every depot to every provider station. Maybe it is possible to implement a check for if a train can path to a provider station?
My two depots are in the middle of what was in the past nowhere, a place where it as supposed to empty and with lots of space to grow the depot if needed.

That was my thought for the first one.... And for the second... Gladly I dont need a third yet because I already lack the free space to expand the other two if I need :P
Do you use double-headed train or single-headed train? If you are using double-headed, then I am quite interested in how you are doing your depots.

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

tuttifrectte wrote:
nagapito wrote:
tuttifrectte wrote:Where do you guys put your depots? I wish to put it near providers to decrease delay in a delivery. However for a loading bay with multiple provider stations, it is hard to make sure train can go from every depot to every provider station. Maybe it is possible to implement a check for if a train can path to a provider station?
My two depots are in the middle of what was in the past nowhere, a place where it as supposed to empty and with lots of space to grow the depot if needed.

That was my thought for the first one.... And for the second... Gladly I dont need a third yet because I already lack the free space to expand the other two if I need :P
Do you use double-headed train or single-headed train? If you are using double-headed, then I am quite interested in how you are doing your depots.
Double-headed trains. This is the items train depot, then I have another similar for fluids.
http://imgur.com/a/JbHHp

Currently, everything is stopped since I am updating my map for 0.15 (mainly fixing pumps...)

nagapito
Filter Inserter
Filter Inserter
Posts: 361
Joined: Fri Jul 29, 2016 12:18 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by nagapito »

I noticed a strange behaviour moving fluids.

I have a station requesting for 200k mineral sludge with minimum delivery size of 150k (1 train with 2 fluid wagons).
Once the station dropped below 50k on mineral sludge, a request to deliver 150k was created.
Train went to the provider of mineral sludge and start filling.
After the train got full and start moving to the destination, a new request to deliver 150k mineral sludge was created to the same station!
Destination station was not even empty and even if it was empty and at -200k, 150k was already on route, so no reason to request another 150k

From the depot to the provider and the destination, there is still some distance, so... I would say that the train become full and started going to the destination maybe 40-50 seconds after the request was created.
And there was no timeout messages reporting the requests being expired or it would explain the second request order.

And this was not an isolated case. I updated my map to 0.15, so I had to move a lot of pumps and tanks on the stations and almost all my stations were empty. Once I started turning on the trains, this started happening on multiple situations. I had a couple of stations clogged coz of a second request that had no space to be unloaded.

All signalling system is the same I used in 0.14, I just changed the amounts coz of the new fluid wagon size and the new fluid extra 0

User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2918
Joined: Sat Jun 11, 2016 6:41 am
Contact:

Re: [Mod 0.14/0.15] Logistic Train Network 1.2.1

Post by Optera »

nagapito wrote:I noticed a strange behaviour moving fluids.

I have a station requesting for 200k mineral sludge with minimum delivery size of 150k (1 train with 2 fluid wagons).
Once the station dropped below 50k on mineral sludge, a request to deliver 150k was created.
Train went to the provider of mineral sludge and start filling.
After the train got full and start moving to the destination, a new request to deliver 150k mineral sludge was created to the same station!
Destination station was not even empty and even if it was empty and at -200k, 150k was already on route, so no reason to request another 150k

From the depot to the provider and the destination, there is still some distance, so... I would say that the train become full and started going to the destination maybe 40-50 seconds after the request was created.
And there was no timeout messages reporting the requests being expired or it would explain the second request order.

And this was not an isolated case. I updated my map to 0.15, so I had to move a lot of pumps and tanks on the stations and almost all my stations were empty. Once I started turning on the trains, this started happening on multiple situations. I had a couple of stations clogged coz of a second request that had no space to be unloaded.

All signalling system is the same I used in 0.14, I just changed the amounts coz of the new fluid wagon size and the new fluid extra 0
Did the delivery time out?
Try increasing delivery timeout.

If that doesn't help, set log level to debug and output to logfile.
Let at least one of those duplicated deliveries happen and send me the logfile (factorio-current.log)

Locked

Return to “Logistic Train Network”