Inserters: Difference between revisions
Jump to navigation
Jump to search
(SDHiper07 changed the content model of the page Inserters from "wikitext" to "JavaScript": 1) Tag: content model change |
Revision as of 15:47, 5 July 2017
{{Languages}}
''For the common yellow electrical inserter, see [[Inserter]].''
'''Inserters''' are devices which are used to move items over short distances. When placed, they have a fixed direction. They can move items from behind and place them in front of them. By doing this, they can move items from one transport belt to another, but also extract items from, and insert items into machines or storage devices. There are seven types of inserters, all requiring electricity to run (except the Burner Inserter, which burns [[Fuel|fuel]]).
== Types Of Inserters ==
{| class="wikitable"
| {{imagelink|burner-inserter|Burner inserter}} || The only [[fuel]]-powered inserter.
|-
| {{imagelink|basic-inserter|Basic inserter}} || The standard electrical inserter.
|-
| {{imagelink|long-handed-inserter|Long handed inserter}} || Capable of inserting and removing items from a greater distance.
|-
| {{imagelink|fast-inserter|Fast inserter}} || Much faster than the Basic inserter.
|-
| {{imagelink|filter-inserter|Filter inserter}} || Variant of the Fast inserter that can filter items by type.
|-
| {{imagelink|stack-inserter|Stack inserter}} || As fast as the Fast inserter but can move many more items at the same time.
|-
| {{imagelink|stack_filter_inserter|Stack filter inserter}} || Variant of the Stack inserter that can filter items by type.
|-
|}
==Mechanics==
Inserters '''will''':
* '''Pick up''' [[Items]] off the ground, off of a [[Transport belts|Transport belt]], or from any object that has storage space, including [[Storages/Chests|chests]], [[furnace]]s and [[assembling machine]]s.
* '''Place''' the item onto the ground, onto a transport belt, or into any object that has storage space.
* Inserters can place items on all types of conveyor belts.
* Try to pick up items from all types of belts (as of v0.12 there is no limitation anymore).
* Inserters will run at slower speeds when starved for energy.
Inserters will '''not''':
* Pick up any items that can not be inserted into the connected entity.
* Pick up items into an entity with a full inventory.
* Place more than one item at a time onto the same ground tile.
* Place items into a stack limited inventory, beyond the stack limit (red slots).
Inserters act differently depending on what they are moving items to/into so as not to monopolize all of the items being picked up. This allows other machines and inserters on the same transport belt to pick up a share of the items. If two inserters are picking up from the same tile, the first placed inserter has priority.
==Insertion Limits==
Inserters will stop inserting items into certain buildings if they already have enough of that item. For example, if a boiler has 5 or more items of fuel in it, an inserter will not insert additional fuel. When the fuel drops below 5 items, the inserter will continue to insert more fuel, up to the limit of 5 items.
This is to allow for all machines to receive their share of items. The common limits on insertion are shown in the table below.
{| class="wikitable"
! Entity !! Item type !! Inserter limit !! Comment
|-
| [[Boiler]]s, [[Burner inserter]]s, [[Furnace]]s || [[Fuel]] || align="center" | 5 ||
|-
| [[Gun turret]]s || Bullet Magazines || align="center" | 10 || Since v0.8.4. Allows for 100 shots before depleting.
|-
| [[Assembling machine]]s || Items needed for the recipe || Double the number of items needed in the recipe ||
|-
| [[Furnace]]s || Items needed for the recipe || Double the number of items needed in the recipe ||
|-
| [[Lab]]s || [[Science pack]]s || Double the number of items needed for one research point ||
|}
An inserter that takes items from an object containing [[Storage/Stack|stacks]] of items (such as a chest) can overfill the target building due to the [[Inserter item stack size bonus]] research. Overfilling can also happen if multiple inserters are used to insert items into one building.
==Inserters And Transport Belt Interaction ==
[[Transport belts]] have two lanes on which items can travel. Inserters only place items onto one side of the belt. Which side they place it on depends on the orientation of the inserter and the belt, as described below.
: [[File:PlaceOnFarSide.gif|left]]
* Inserters will '''always''' place the item on the furthest lane.
{{clear}}
: [[File:TakeFromNearSide.gif|left]]
* Inserters '''prefer''' taking items from the nearest lane. If the nearest lane is empty, the inserter will take from the far lane.
{{clear}}
: [[File:PlaceOnRightSide.gif|left]]
* If a belt is in the same orientation as the inserter, the item will be placed on the right-hand lane, from the belt's perspective.
{{clear}}
: [[File:PlaceOnInsideOfCorner.gif|left]]
* If the item is placed on a corner piece, it will be put on the inside of the curve, regardless of orientation.
{{clear}}
== Potential Issues ==
Inserters may have problems picking up items:
* From very fast belts, because the items are moving too quickly.
* From the entry or exit of an underground belt (because the time they have to pick up is shorter)
* From turning belts if the item is on the inside of the corner
==Inserter Item Stack Size Bonus==
If an inserter moves items from inventory to inventory (for example from an assembler into a chest), or (as of v0.13) from an inventory to a belt, it is able to transport more items at once. The secret behind this is the [[Inserter item stack size bonus]] research.
==Power Usage==
* Electric inserters drain energy even when they are not moving, as idle power
* The amount of energy used is the same for every movement
* The [[Burner inserter]] does not drain energy when idle, but uses more energy when it is active. It is quite useful for situations where the inserter does not need to move very often.
==Inserter Speed==
{| class="wikitable"
! Type
! Rotation-speed (turns per [[Tick]])<br/>Extension-speed ([[Tile]]s per Tick)
! Turns per [[Game-second]]<br/>Tiles per Game-second
! Game-second per full turn<br/>Game-seconds per Tile
! Ticks per full turn<br/>Ticks per Tile
|- align="center"
| align="left"| {{imagelink|burner-inserter|Burner Inserter}} || 0.01<br/>0.0214 || 0.6<br/>1.284 || 1.667<br/>0.833 || 102<br/>76
|- align="center"
| align="left"| {{imagelink|basic-inserter|Basic inserter}} || 0.014<br/>0.03 || 0.84<br/>1.8 || 1.191<br/>0.56 || 72<br/>54
|- align="center"
| align="left"| {{imagelink|long-handed-inserter|Long handed inserter}} || 0.02<br/>0.0457 || 1.2<br/>2.742 || 0.833<br/>0.416 || 52<br/>36
|- align="center"
| align="left"| {{imagelink|fast-inserter|Fast inserter}}<br/>{{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|Stack_filter_inserter|Stack filter inserter}} || 0.04<br/>0.07 || 2.4<br/>4.2 || 0.417<br/>0.238 || 26<br/>24
|-
|}
===Rotation Speed===
Convention: 2π rad = 100% of a circle rotation = '''1 turn''' (or one full rotation).
Note: an Inserter doesn't always need to make full turns. When grabbing from a transport belt, it is slightly faster when grabbing items from the closest lane.
===Extension Speed===
The extension-speed is normally not visible (only when compared to other inserters), but there are measurable speed differences when taking - for example - from the near or the far side of a belt. Also Some mods can alter the pickup and drop locations of inserters, making this stat more relevant.
==Inserter Throughput==
The following is based on [https://docs.google.com/spreadsheets/d/1OzlP2v6P1OGxK1xCFr77aqVfNNEaEKHlA89aSVmqBGw/edit?usp=sharing experimental data] gathered in version 0.15.
Inserter throughput between chests and other [[stack|stacks]] is a simple function of stack size and arm speed:
<blockquote>
''n'' = Stack size
''t_arm'' = Time to move the arm back and forth
Time per item = ''t_arm'' / ''n''
Throughput (items/sec) = 1 / Time per item = ''n'' / ''t_arm''
</blockquote>
When moving items to or from belts, the time to pick up or put down items also becomes a factor:
<blockquote>
''t_item'' = Time to pick up or put down or an item
''t_cycle'' = Time to complete an arm cycle = ''t_arm'' + ''n''*''t_item''
Time per item = ''t_cycle'' / ''n'' = ''t_item'' + ''t_arm'' / ''n''
Throughput (items/sec) = 1 / (''t_item'' + ''t_arm'' / ''n'')
</blockquote>
'''Note:''' [https://forums.factorio.com/viewtopic.php?t=9141#p280529 Before 0.15.14], inserters were 1-4% less efficient when moving items from south to north.
===Chest to chest===
{| class="wikitable"
! rowspan=2 | Type
! rowspan=2 | Arm cycles per second
! colspan=6 | Items/second at [[inserter capacity bonus (research)|capacity bonus]] level (stack size)
|-
! colspan=2 | No capacity bonus
! colspan=2 | Capacity bonus 2
! colspan=2 | Capacity bonus 7
|- align="center"
| align="left"| {{imagelink|burner-inserter|Burner inserter}} || 0.59 || 0.59 || (1) || 1.18 || (2) || 1.76 || (3)
|- align="center"
| align="left"| {{imagelink|basic-inserter|Basic inserter}} || 0.83 || 0.83 || (1) || 1.67 || (2) || 2.50 || (3)
|- align="center"
| align="left"| {{imagelink|long-handed-inserter|Long handed inserter}} || 1.15 || 1.15 || (1) || 2.31 || (2) || 3.46 || (3)
|- align="center"
| align="left"| {{imagelink|fast-inserter|Fast inserter}}<br/>{{imagelink|filter-inserter|Filter inserter}} || 2.31 || 2.31 || (1) || 4.62 || (2) || 6.93 || (3)
|- align="center"
| align="left"| {{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 2.31 || 4.62 || (2) || 9.23 || (4) || 27.70 || (12)
|-
|}
===Chest to belt===
Throughput going from chest to belt depends on how full the belt is and how the items are spaced, i.e. if spaces are large enough to fill with items. Underground entrances and exits also makes it easier for the inserter to put down an item.
In these measurements inserters move items onto an empty perpendicular belt. Values are given for the stack sizes at three different [[inserter capacity bonus (research)|capacity bonus]] levels.
{| class="wikitable"
! rowspan=3 | Type
! colspan=12 | Items/second at [[inserter capacity bonus (research)|capacity bonus]] level (stack size)
|-
! colspan=4 | No capacity bonus
! colspan=4 | Capacity bonus 2
! colspan=4 | Capacity bonus 7
|-
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]] ||
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]] ||
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]] ||
|- align="center"
| align="left"| {{imagelink|burner-inserter|Burner inserter}} || 0.59 || 0.59 || 0.59 || (1) || 1.10 || 1.13 || 1.14 || (2) || 1.53 || 1.62 || 1.67 || (3)
|- align="center"
| align="left"| {{imagelink|basic-inserter|Basic inserter}} || 0.83 || 0.83 || 0.83 || (1) || 1.52 || 1.58 || 1.60 || (2) || 2.05 || 2.22 || 2.31 || (3)
|- align="center"
| align="left"| {{imagelink|long-handed-inserter|Long handed inserter}} || 1.15 || 1.15 || 1.15 || (1) || 2.03 || 2.14 || 2.18 || (2) || 2.65 || 2.95 || 3.10 || (3)
|- align="center"
| align="left"| {{imagelink|fast-inserter|Fast inserter}}<br/>{{imagelink|filter-inserter|Filter inserter}} || 2.31 || 2.31 || 2.31 || (1) || 3.64 || 4.00 || 4.14 || (2) || 4.29 || 5.14 || 5.63 || (3)
|- align="center"
| align="left"| {{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 3.64 || 4.00 || 4.14 || (2) || 4.71 || 6.15 || 6.86 || (4) || 5.90 || 9.60 || 12.20 || (12)
|-
|}
To calculate the throughput for [[Stack inserter]] and [[Stack filter inserter]] at any capacity level, you can use these linearly fitted factors with the belt/chest throughput formula above:
{| class="wikitable"
! rowspan=2 | Type
! colspan=2 | {{imagelink|basic-transport-belt|Transport belt}}
! colspan=2 | {{imagelink|fast-transport-belt|Fast transport belt}}
! colspan=2 | {{imagelink|express-transport-belt|Express transport belt}}
|-
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
|- align="center"
| align="left"| {{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 0.142 || 0.292 || 0.073 || 0.360 || 0.049 || 0.384
|-
|}
See the [https://docs.google.com/spreadsheets/d/1OzlP2v6P1OGxK1xCFr77aqVfNNEaEKHlA89aSVmqBGw/edit?usp=sharing source spreadsheet] for the corresponding factors for the other inserter types. Their errors are generally well below 1%.
===Belt to chest===
When picking items from a belt, many more factors come into play besides belt fullness:
* How fast the items move (i.e. if they are queued up on the belt or move at belt speed).
* Whether the belt is perpendicular to the inserter or approaches it head on.
* Whether items are on the near or far lane of a perpendicular belt.
* Whether the belt turns or not, and whether the items are in the inner or outer side of the bend.
* If the belt is an underground entrance or exit. This shortens the time items are visible to the inserter for pickup.
* All sorts of intricate timing factors between the inserter and the items on the belt, since the game simulates the arm homing in on every item.
The test setup used below is with a south-to-north inserter taking items from a perpendicular belt with items on the far lane only. The belt is fully compressed and timings are both for items that move at full speed and queued up as much as possible. Values are given for the stack sizes at three different [[inserter capacity bonus (research)|capacity bonus]] levels.
{| class="wikitable"
! rowspan=4 | Type
! colspan=15 | Items/second at [[inserter capacity bonus (research)|capacity bonus]] level (stack size)
|-
! colspan=5 | No capacity bonus
! colspan=5 | Capacity bonus 2
! colspan=5 | Capacity bonus 7
|-
! colspan=3 | Items at<br/>belt speed
! rowspan=2 | Items<br/>queued<br/>up
! rowspan=2 |
! colspan=3 | Items at<br/>belt speed
! rowspan=2 | Items<br/>queued<br/>up
! rowspan=2 |
! colspan=3 | Items at<br/>belt speed
! rowspan=2 | Items<br/>queued<br/>up
! rowspan=2 |
|-
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]]
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]]
! [[File:Basic-transport-belt.png|link=Transport belt]] || [[File:Fast-transport-belt.png|link=Fast transport belt]] || [[File:Express-transport-belt.png|link=Express transport belt]]
|- align="center"
| align="left"| {{imagelink|burner-inserter|Burner inserter}} || '''0.56''' || '''0.56''' || 0.51 || 0.65 || (1) || '''1.11''' || 1.07 || 0.98 || 1.18 || (2) || 1.43 || '''1.54''' || 1.43 || 1.75 || (3)
|- align="center"
| align="left"| {{imagelink|basic-inserter|Basic inserter}} || '''0.83''' || 0.74 || 0.77 || 0.90 || (1) || '''1.57''' || 1.48 || 1.45 || 1.62 || (2) || 2.00 || '''2.11''' || 2.07 || 2.40 || (3)
|- align="center"
| align="left"| {{imagelink|long-handed-inserter|Long handed inserter}} || '''1.16''' || 1.11 || 1.11 || 1.22 || (1) || 2.22 || '''2.22''' || 2.11 || 2.31 || (2) || 3.08 || 3.08 || '''3.16''' || 3.33 || (3)
|- align="center"
| align="left"| {{imagelink|fast-inserter|Fast inserter}}<br/>{{imagelink|filter-inserter|Filter inserter}} || '''2.22''' || '''2.22''' || 2.14 || 2.40 || (1) || '''4.17''' || 3.81 || 4.00 || 4.29 || (2) || '''5.71''' || 5.45 || 5.46 || 6.21 || (3)
|- align="center"
| align="left"| {{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || '''4.17''' || 3.81 || 4.00 || 4.29 || (2) || '''6.67''' || '''6.67''' || 6.15 || 6.67 /<br/>7.50 /<br/>7.74 * || (4) || 6.67 || 10.00 || '''12.00''' || 6.67 /<br/>11.61 /<br/>13.58 * || (12)
|-
|}
<nowiki>*)</nowiki> Throughput for basic/fast/express belt.
Since there are many more factors involved, these measurements exhibit a more complex pattern than chest-to-belt.
* Boldface cells show for which belt each inserter has the best throughput on each bonus level when items move at belt speed. Higher speed belts mean that inserters have to work harder to catch the fast moving items. The effect is most noticeable for slower inserters and smaller stack sizes.
* When items are queued up the belt type hardly matters, so there is only a single column for that. The exceptions are the stack inserters - for basic transport belts it's the belt that sets the limit for stack sizes above 4, and there is also a notable difference between fast and express belts.
Here are linearly fitted factors to get the [[Stack inserter]] and [[Stack filter inserter]] throughput at any capacity level, by using the belt/chest throughput formula above:
{| class="wikitable"
! rowspan=2 | Type
! colspan=2 | {{imagelink|basic-transport-belt|Transport belt}}
! colspan=2 | {{imagelink|fast-transport-belt|Fast transport belt}}
! colspan=2 | {{imagelink|express-transport-belt|Express transport belt}}
|-
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
! ''t_item'' || ''t_arm''
|- align="center"
| align="left"| {{imagelink|stack-inserter|Stack inserter}}<br/>{{imagelink|stack_filter_inserter|Stack filter inserter}} || 0.045* || 0.403* || 0.063 || 0.387 || 0.049 || 0.416
|-
|}
<nowiki>*)</nowiki> Since the belt is the limiting factor above stack size 4, these figures are only accurate up to that size. More than that and the throughput is fixed at 6.67 items per second.
==See Also==
* [[Electric network]]
* [[Transport network]]
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=5253 Inserter Power Efficiency]: Movements per energy and exact power usage numbers. See also [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=6258 this thread], where energy per movement is explained.
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=5400 Small Inserter Test]: Comparison if energy usage per item.
* [http://www.factorioforums.com/forum/viewtopic.php?f=5&t=5524 Inserter heartbeats]: In some situations it is not possible to calculate the needed power usage.
===Special behavior===
* [[Inserter item stack size bonus]]: Inserter moves more than an item per turn.
* [[Inserter experiments]]
{{LogisticsNav}}
[[Category:Items]]
[[Category:Transport network]]
[[Category:Circuit network]]