Page 1 of 1

Specify belt throuput

Posted: Fri Jan 26, 2018 11:18 pm
by Kitharodos
So let's say you have a fully compressed belt and you want to pull out of it exactly 500 items per minute. How do you do that?

Re: Specify belt throuput

Posted: Sat Jan 27, 2018 6:01 am
by DaveMcW
Max throughput of a yellow belt is 800 items per minute. So you want it to run 5/8ths of the time.

Set up a 8 tick clock, attach it to the belt, and set the belt to enable if the clock is ≤ 5.

Re: Specify belt throuput

Posted: Sun Jan 28, 2018 8:40 pm
by Aidiakapi
[see revised post below]

Re: Specify belt throuput

Posted: Sun Jan 28, 2018 10:36 pm
by DaveMcW
If your clock uses all red wires, the constant will leak through and make it 1-8.

Re: Specify belt throuput

Posted: Mon Jan 29, 2018 10:47 pm
by Kitharodos
Thank you all for the help. 500 was just an example. Im building a factory with belt pulling by demand. Im trying to learn how to make this things so I can adjust a different value according to my needs

Re: Specify belt throuput

Posted: Tue Jan 30, 2018 12:36 am
by Aidiakapi
Kitharodos wrote:Thank you all for the help. 500 was just an example. Im building a factory with belt pulling by demand. Im trying to learn how to make this things so I can adjust a different value according to my needs
So the belts have this throughput:
Yellow: 800 items/min
Red: 1600 items/min
Blue: 2400 items/min

If you want to have target_throughput items/min coming through you take the belt tier that supplies at least that much, and then take a fraction of target_throughput/belt_throughput, then you simplify the fraction.

Example:
You want to transport 1100 items/min.
You need at least a red belt.
The fraction is 1100/1600, or simplified: 11/16.

That means you want the belt to run 11 out of 16 frames, and be frozen for 5 out of 16 frames.

Image
DaveMcW wrote:If your clock uses all red wires, the constant will leak through and make it 1-8.
Yeah, my bad, I should've taken that into account.

Re: Specify belt throuput

Posted: Tue Jan 30, 2018 1:03 am
by impetus maximus
if you want to limit the number of items on a belt you could use a memory cell (left arithmetic combinator) to track it.
the right combinator subtracts what is taken off. technically it multiplies by -1. :P
example image
example blueprint string
this example uses the inserter to count, but you could also use a wired belt for counting/stopping.
you could set the inserter to enable if say copper plate is < C. wire a constant combinator up and you can dial how many you want.
i did this with my 'dial a color per side' sushi belt insanity. :lol:
over engineered sushi belt

Re: Specify belt throuput

Posted: Wed Jan 31, 2018 1:39 am
by Kitharodos
What if I have an UNCOMPRESSED belt which is also not that stable in throuput, and I want to pull out of that an exact amount as well? The amount I want to pull per minute will always be less than the belt's throuput but the throuput will not always be a steady price

Re: Specify belt throuput

Posted: Wed Jan 31, 2018 1:45 am
by DaveMcW
Kitharodos wrote:The amount I want to pull per minute will always be less than the belt's throuput
Then it will fully compress as it goes through your filter.

Re: Specify belt throuput

Posted: Thu Feb 01, 2018 8:39 am
by Vegemeister
Alternately, use feedback. Have an each=each+0 integrator. 1 item per tick equals 60 items per second. so multiply the signal from a pulse read belt by -60. Send that to the integrator. Also send a positive signal from a constant combinator to the integrator. Allow the belt to flow when the integrator output > 0. Take the output from the input side of the integrator, in order to reduce the delay inside the feedback loop.

The constant from the constant combinator gives you your flow rate in items/second. If you want fractional items/second, multiply by something larger than -60.

Example:

Code: Select all

0eNrNld2OmzAQhd/Fly2ugPytuKhUqY/QuypCBiZhJLCRPUQbRbx7x9ANlF1tSLaqegMaj30883FsLiKrWmgsahLJRWButBPJz4tweNSq8mN0bkAkAglqEQitah/Bc2PBOUlWadcYSzKDikQXCNQFPIsk6oKbIsoilTUQ5jI3dYZakbETjbjbBwI0ISEMVfXBOdVtnYHlTW7VE4jGOF5utC+CJSUvOfsX71KghXzIxYHgzsmaKs2gVCfkOnhBjjZvkVLOFVeVA1pH6avWTmip5ZFrScMMqfSZStRH35enS8qjDn1QN8r2LSfia5/+vR1olVWQFuj8WyRkWxizFlSRlkoXvixiIozmoCo3mfKSGObWpmCRcNhfDy07X3nkHxaKKVrkaDMq+TDq9l3nP+eMfnw3/fAR+HMas17fwvEnsA/SWC2jsbph69cwvmx6HOEiGqPo6Eb3gB1B5aX3mgMvk46OlFv+OqYBdmRfh/jEa01LTXu3erccLh9xnhx/zIjraxkv7bwLXsY992UuPGBFYBfdiWiNlk2lCIaz3nqs8eRG3P/1I7h51HTR/2G6meU+/wvLrScc30Adz9Kr99PR/Qbmn1pvnGTy7w1EpfjO5LHvyE19kz9Ka9pjySg4d2IH9oS2T7s43D3t1ptt1/0C2V+wJA==

Re: Specify belt throuput

Posted: Fri Feb 02, 2018 3:38 am
by Zanthra
If you have fully compressed belts and you want a specific number of items in a time period, you could also use splitters. You can get 2 ^ -N of a belt by using an N layer splitter, then loop the outputs you don't want back into the first splitter and prioritize the loop input on the splitter so it does not back up. You don't need to actually build all the splitter layers, as if both outputs are going to combine to be pulled off, or combined to be recycled, you won't have any issues.

Here is a simple blueprint sting for 5/8ths. A 1/2 lane and 1/8 lane go to output, and a 1/4 lane and 1/8 lane return to input. If there is backpressure on the belt, as in you are not pulling stuff off at the given rate, the belt will back up to the splitters and you will end up with a buffer of belt storage on the line. If you can't have that you can have that output loop back to the input also.

PS: Turns out a bit more complicated due to current compression mechanics not compressing during side loading, so balancing is required so I corrected the blueprint.

Code: Select all

0eNqVl9tqwzAMht9F1+mw5ZxfZYzSg+kMqRMcZ6yUvPucBka3aqt0FXLw59/Sb0u5wr6b7BCcj9BewR16P0L7eoXRnfyuW57Fy2ChBRftGTLwu/NyF8POj0Mf4mZvuwhzBs4f7Se0es6eDh6HzsVow90wnN8ysD666Owq4HZz2frpvE9ftvqvqTMY+jEN6/0yX0JtTAaXdMkT/eiCPazvykXYLyjyociGGjG0+AnNCWjOhiqSiQSzkDLzmaCU/OVqUhoVw0oMJbXVbAydXioTDZupSSaVCa2kUIZltBYbEakganzcuEQaXoqVYUiGYTDU/4icI+ObQS+lkBrCMOJcSpNHa6uk2pChrRZ7QJPiGvGG1IzjV0lcQQpDLXGFIhEoDbx+Hng0QqhiMHNpMvXzowcLKZR0L5bCYsKxRyVk0spqqXWRIU28H0j3GiV0CWPLGy1kMtxsULpcshwbI0woTREVAnPrMYcpblOT24cESuOCO70vTesjuxCe5Zx+sBQmhMOUFouHOpba7VtT3t79AGTwYcO4TlpXqOoCmybl4AtycQiT