[0.16.51] - Train Stop not sending decimals to pump over circuit network

Don't know how to use a machine? Looking for efficient setups? Stuck in a mission?
Post Reply
yugatha
Burner Inserter
Burner Inserter
Posts: 10
Joined: Tue Dec 27, 2016 3:37 am
Contact:

[0.16.51] - Train Stop not sending decimals to pump over circuit network

Post by yugatha » Wed Feb 13, 2019 9:02 am

Hi,

So today I finally finished my "big blue chip" station (ermagherd), and got everything running. After leaving it for a few hours, I checked it again and noticed there were no blue chips being produced, due to having no sulfuric acid, though the train was at the station.

Seems that the pumps weren't drawing the last of the sulfuric acid, causing the train to stay at the stop. This is the first time this has happened - I have the same rule (for different fluids) at different stops.

I figure this is likely a double / int issue between the fluid contents and the circuit network. If required, I can provide a save file with the train in the trapped state.

Facts:
  • Train stop is set to pass contents through to the circuit network
  • Train waits at the station until the wagon is empty
  • The pumps are set to activate only when Sulfuric Acid contents are > 0 (to prevent drawing fluid when another train pulls up) (not that it should)
I know that I can work around the issue in a number of ways:
  • Set the train to leave when "train contents <= 1" (which I've now done)
  • Remove the pump filter (prefer not to, in the unlikely event that I route a train to the wrong place)
Some pictures of the rules etc for visualisation
Wagon Contents
Wagon Contents.png
Wagon Contents.png (1.28 MiB) Viewed 114 times
Train Stop Circuit Rule
Train Stop Circuit Rule.png
Train Stop Circuit Rule.png (869.64 KiB) Viewed 114 times
Train Rule
Train Rule.png
Train Rule.png (163.53 KiB) Viewed 114 times
Pump Rule
Pump Rules.png
Pump Rules.png (582.68 KiB) Viewed 114 times

Zavian
Smart Inserter
Smart Inserter
Posts: 1281
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: [0.16.51] - Train Stop not sending decimals to pump over circuit network

Post by Zavian » Wed Feb 13, 2019 9:26 am

Signals are always integer values. The fact that this can cause issue when using circuits to empty trains is known. See viewtopic.php?f=23&t=47626 and viewtopic.php?f=6&t=49274.

User avatar
GrumpyJoe
Fast Inserter
Fast Inserter
Posts: 117
Joined: Fri Apr 06, 2018 7:10 pm
Contact:

Re: [0.16.51] - Train Stop not sending decimals to pump over circuit network

Post by GrumpyJoe » Wed Feb 13, 2019 1:32 pm

While "Empty cargo" is better than "Fluid X = 0", as the latter can be rounded down, i dont understand the need to control the pumps, other than the fear of sending the wrong liquid there and enabling them only when there is acid in the train. If its only one train, you could read Train ID instead, in both loading and unloading station.
If you are going through hell, keep going!

quyxkh
Filter Inserter
Filter Inserter
Posts: 635
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: [0.16.51] - Train Stop not sending decimals to pump over circuit network

Post by quyxkh » Wed Feb 13, 2019 4:13 pm

Not certain this will always work, but I can't make it break so far, try adding a delayed echo to the readout:
snap@T135205=848x560+58.75-29.75,z2.jpg
snap@T135205=848x560+58.75-29.75,z2.jpg (26.19 KiB) Viewed 70 times
The combinator's just an "Each-0⇒Each" isolator, so the pump sees what's in the train this tick plus the one-tick-delayed echo of what was there last tick. Apparently wagon pumps enable based _only_ on what was on the wire the tick the exact tick the train arrived, if you just delay the signal the pump never enables at all, and if you try enable-unless-there's-something-else-there and delaying the readout, the pump enables regardless of what's there.

Post Reply

Return to “Gameplay Help”

Who is online

Users browsing this forum: No registered users and 2 guests