切换语言: Čeština Deutsch English Français Italiano 日本語 Polski Português, Brasil Русский Українська

信号网络

From Official Factorio Wiki
Revision as of 16:16, 24 September 2023 by Ickputzdirwech (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

信号网络是通过连接红线缆或者绿线缆建立的,可以通过网络内广播发送方特定的信号来控制接收方。大部分的发送方都是存储设施,它们会依据自己所存储的流体或者物体的数量,在指定的频道里广播发送这些信息。每个网络对于每种物品都有一个专门的频道,除此之外还包含45个虚拟信号频道作为玩家自定义频道使用,在这其中,“所有”、“任一”以及“每个”是特殊的通配频道。

某位玩家画的信号电缆内部线路的示意图。

使用方法

发送信息

发送方设施会将其拥有的物品及流体的数量,或者玩家定义的数据广播到网络中。每种物品都会在相应的“频道”上以数字的形式把其数量广播出去。举个例子,一个包含1000单位原油的储液罐会在原油频道广播“1000”这个数字。

频道彼此之间是隔离的,所以每个网络可以同时传播每个物品及流体的数量,还包括那些玩家自定义的频道(数字0-9,字母A-Z,以及9种不同的颜色)。所有未使用的频道所包含的值为0。

同一种物品或者流体的多个广播的值是累加的:如果某个网络里连接着两个储液罐,每个都含有1000单位的原油,那么网络里原油频道的值会是2000。

颜色相同的所有线缆通过连接点连接成为网络,它们会把自己的信号彼此传递给对方。举个例子,如果两根红线缆都接到了同一个运算器的输入口,那么每根线都会收到另外一根发送的信号,这么做不小心的话可能会导致反馈,具体参见下方的讨论

数字是32位有符号整数,有效范围从 -2147483648 到 2147483647,在溢出的时候会换到另一端,比如 2147483647 + 10 会变成 -2147483639。

操控设施

接收方设施可以利用所广播的消息,大部分情况下是用来开启/关闭该设备。它们可以把两个不同频道之间的数据进行比较,也可以将一个频道的数据与一个指定的值进行比较。

接收方设施会将所有连接的线路上面的信号值累加,即便是有着红绿线缆的区分。举个例子,如果某个机械臂与一条红线缆连接,该线缆上有着一个20块铁板的信号,还连接了一条绿线缆,上面有10块铜板的信号,以及连接着另外一条绿线缆,上面有5块铁板,那么这个机械臂收到的信号集会是25块铁板以及10块铜板。

设施说明

每个可以连接到信号网络的设施都会在其信息窗口的右上角显示一个 Circuit network panel.png 图标,在有红绿线缆的连接之下,点击这个图标会显示其信号网络的选项,否则会显示“未连接”。如果该设施处于某个物流网络范围内且允许与其连接,则在旁边还会显示一个 Logistic network panel.png 图标,同样也允许点击设置选项。

信号与物流网络都可以设置条件,信号网络里红绿线缆的信号值会累加,两个网络合起来可被看做是个逻辑与。

以下设施可以接入信号网络:

设施 可输入的信号 可控制的选项
Transport belt.png
传送带
所有传送带都可以将其运载物发送至信号网络。
  • 脉冲信号模式:物品在进入传送带时会发送一个心跳长度的信号。
  • 持续信号模式:只要物品在传送带上就会持续地发出信号。
所有传送带都可以依据条件启用。
Inserter.png
机械臂
所有机械臂都可以将其抓取物发送至信号网络。
  • 脉冲信号模式:物品在被机械臂抓取时会发送一个心跳长度的信号。
  • 持续信号模式:只要物品被机械臂抓着没放就会持续地发出信号。
所有传送带都可以依据条件启用。可以通过信号来设置抓取的数量限制。
Filter inserter.png
Filter inserter
同上。 Filter inserter还可以通过信号设置筛选选项。
Wooden chest.png
箱子
所有箱子都可以将其装载物发送至信号网络。物流箱子还可以将它们的装载物发送至物流网络
Requester chest.png
优先集货箱(蓝箱)
同上。 可以通过信号设置所请求的物品。
Storage tank.png
储液罐
储液罐可以将其装载物发送至信号网络。
Gate.png
闸门
闸门可以发送开关信号至信号网络。 闸门可以依据条件开门。
Rail signal.png
常规铁路信号
铁路信号灯可以发送其当前状态至信号网络。 铁路信号灯可以依据条件变为红灯。
Train stop.png
车站
车站可以将停靠的列车的装载物以及该列车的唯一码发送至信号网络。 车站可以通过信号网络设置其发车条件,也可以依据条件启用或禁用本站。
Accumulator.png
蓄电器
蓄电器可以将其充电的百分比发送至信号网络。
Roboport.png
机器人指令平台
机器人指令平台可以将其物流网络内容或者无人机的状态发送至信号网络,其中无人机状态所使用的频道是可选择的。
Burner mining drill.png
热能采矿机
可以发送剩余矿量,允许选择是发送自己所采的这片矿的剩余量还是当前这片矿区全部的剩余量。 可以依据条件启用或禁用该设施。
Electric mining drill.png
电力采矿机
可以发送剩余矿量,允许选择是发送自己所采的这片矿的剩余量还是当前这片矿区全部的剩余量。 可以依据条件启用或禁用该设施。
Pumpjack.png
抽油机
可以发送当前采油速率至信号网络。 可以依据条件启用或禁用该设施。
Power switch.png
电闸
电闸可以依据条件连接或切断电网。
Programmable speaker.png
程控扬声器
可以依据信号网络的信号报警或者播放声音。也可以拿来播放简单的音符。
Lamp.png
照明灯
可以依据条件开关灯。如果接收的是颜色信号,还可以呈现相应颜色的灯光。
Offshore pump.png
抽取机
可以依据条件启用或禁用该设施。
Pump.png
管道泵
可以依据条件启用或禁用该设施。

物理网络结构

同一种颜色的线缆连接的设施会组成一个独立的信号网络,线缆可以在设备与设备之间连接,也可以借助于电线杆来远距离连接。

每组彼此连接的线缆都会组成一个独立的网络。举个例子,可以同时拥有四个红线缆网络以及三个绿线缆网络,如果两个红绿网络不小心搭在了同一根电线杆上,那么它们也不会因此受到影响,红绿颜色会继续保持分开,两个网络不会连到一起。然而,两个红色或者两个绿色连到一起的时候,两个网络会变成一个。因此在小范围铺设多个网络时,建议使用红绿线交叉铺设。

  • 要连接线缆到电线杆,只需要拿着线缆点击电线杆底部,再点击其他要连接的物件。
  • 要删除某段线缆,手持同样颜色的线缆重复以上的操作,线缆是一次性消耗的,你无法获得删除的线缆。
  • 要删除一个电线杆上的全部线缆,按住 Shift 键点击即可。第一次点击会移除所有的电线,第二次是红绿线缆,你无法获得删除的线缆。
  • 当与算术运算器或者判断运算器连接时,要注意输入输出口的方向,通过按 Alt 键可以看到信号流动的方向。
  • 将鼠标挪动到一个物品上可以高亮所有与其连接的线缆。
  • 将鼠标挪动到一根电线杆上可以显示当前其所连接的网络中的信号值。部分物品如运算器在鼠标挪上去时会显示它们的输入输出信号。

运算器

运算器可以即作为发送方也可以作为接收方,并且允许在信号网络中执行更高级的功能。

  • 常量运算器可以在其所连接的网络内的频道上同时发送最大15种数值。不过你目前无法指定是发送给红线网络还是绿线网络,如果你需要区分这个,那么只能使用两个常量运算器分别连接。你可以使用任何物品频道,或者虚拟信号频道。
    • 使用15个信号位中的多个发送同一种类型的信号,相当于以1个信号位发送该类型的信号且包含它们的合计值。
  • 算术运算器会对输入值进行算术运算并将结果发送到指定的输出频道,输入输出频道可以是任何的物品频道或者任何的虚拟信号频道。
    • 连接:算术运算器通过输入口与红绿网路连接接受输入值,并对其进行算术计算然后再通过输出口广播至网络中。输入和输出口可以通过按 Alt 键来分辨。
    • 回馈:要注意的是输入的网络和输出的网络不是同一个网络。如果将输出的网络接回输入网络,就会导致一个回馈回路。举个例子,将一个铜板信号值加1并且以铜板信号输出并连接回输入网络就会产生一个死循环。铜板信号的值会快速地(但不是立即地)往上涨(上涨速度取决于当前心跳速度,默认每秒60次)。这种技巧配合判断运算器可以用来创建电子表,门以及其他系统,请参见运算器教学获得更多技巧。
    • 每个:算术运算器可以以“每个”逻辑信号作为输入和输出信号,全部的非零频道的值都会被运算器进行计算然后输出出去。使用这种特殊的信号配合一个不改变结果的运算(比如加零)可以实现一个“单向”的线缆效果:所有输入的信息都会原封不动地拷贝到输出端,但是反过来却不行。
    • 多网络:算术运算器的输入口可以同时与红色以及绿色网络连接,并将它们的值相加。
  • 判断运算器和算术运算器功能差不多,区别是它们会对输入值进行比较,所以是个条件判断器。连接、回馈以及“每个”信号的用法,都跟上述的一样。不一样的是,它还可以处理“所有”和“任一”输入信号,在与多网络连接时可以执行比累加更为复杂的操作。请参见判断运算器了解更多使用方法。

虚拟信号

虚拟信号是特殊的非物品类信号,和三种逻辑信号不同的是,虚拟信号和物品信号在行为上没有什么区别。

一共可以发送45个虚拟信号,其中包括数字0到9,字母A到Z,以及红、绿、蓝、黄、粉、青、白、灰和黑共九种颜色。

逻辑信号

三种逻辑信号的图标

这三种虚拟信号无法在网络中发送,但是可以对多种信号应用特殊的逻辑。

所有

所有可以用于条件的左值上。当每个输入信号的条件判断都为真时,整体条件即为真。如果没有信号,条件也为真。这意味着所有信号与存在量化行为相同。

判断运算器的输出口也可以使用所有信号,设置后运算器输出所有通过条件的信号。条件判断过程里,只有所有任一信号能允许多个信号通过条件判断。

任一

任一可以用于条件的左值上。当任意输入信号的条件判断为真时,整体条件即为真。这意味着任一信号与存在量化行为相同。

每个

每个只可用于判断运算器以及{{L|[[Arithmetic combinator}}的输入口左值或者输出口上,且只有在作为输入信号时才能作为输出信号,在这种情况下可以使得运算器对于每个输入的信号都独立执行运算器设置的操作并分别输出。如果输出口设置的不是每个信号的话,那么所有频道的计算值会被累加后输出。

教学教程

物流网络

物流机器人所使用的物流网络基本上是除了红线缆以及绿线缆网络之外的第三个网络(还是无线的),物流网络是围绕着机器人指令平台设立的。

也有部分设施可以连接到物流网络,如果某个设施对于信号网络和物流网络都设置了条件,那么只有两个条件都满足时设施才会生效。

参见物流网络以及机器人指令平台了解更多信息。

请参见