数据网络

0 点赞
FOUNDRY
转载

本指南旨在简要介绍电路网络的一些简单用法。 数据网络简介 数据网络是一种非常强大的工具,可用于操控工厂中的机器,为你提供更多自定义机器功能的方式。其应用可以很简单,例如当存储容器内的物品数量达到X时禁用装配机,以限制物品仓库的库存量;你甚至可以进一步制作功能计算器,我已经完成了这一制作,并将在本指南的后续部分稍作展示。电路组件 通常在处理数据网络时,你需要比较数值、进行基本运算、将多个信号相互比较等,因此你需要【数据处理器】和【数据评估器】。它们外观相似,但功能截然不同。此外,【存储单元】非常有用,但它更专门用于特定任务,因此在极其复杂的电路之外使用不多,其主要作用是存储输入到门电路的最后一个数值。 数据处理器主要用于算术运算,如加法、减法、乘法等;而数据评估器的主要功能是比较信号并输出常量值。有了这两种门电路,你几乎可以完成任何操作!甚至可以建造一台能运行的电脑(没错,如果你足够疯狂,完全可以在《熔炉》里搭建出能玩《毁灭战士》的设备)。 电路条件 数据处理器内置了多种条件,可按以下顺序使用:加法、减法、乘法、除法、指数、整数除法、与(AND)、或(OR)、异或(XOR)。 抱歉,接下来会涉及一些数学知识。前四种运算很容易理解,例如你可以将信号A与信号B或你在设置逻辑门时定义的常数值进行加减乘除运算。指数运算举例来说,3^3就是3×3×3=27。整数除法是对两个数进行除法运算并得出余数,例如:信号A=54,信号B=5,A%B=4(50能被5整除,余数为4)。与运算需要两个信号同时存在,信号值只需大于0即可。或运算与与运算类似,但只需其中一个信号存在。最后,异或运算的工作方式与或运算类似,不同之处在于只有当其中一个信号激活而另一个未激活时才会输出信号;如果两个输入信号的值都大于0,则不会产生输出。 示例电路 - 计数器

我要展示的第一个电路是基础计数器,因为它非常简单。这个电路接收单个更新脉冲并将其累加到存储值中。如果你向电路发送5次脉冲,A的值就会等于5,而这只需一个数据处理器就能实现。该电路以及所有电路都存在一个限制:每秒只能将数值加1六十次。不过这是数据网络整体的固有限制,所以如果这对你造成影响,可能需要使用多个计数器。 示例电路 - 计时器

这是一个简单的计时器,它与上一节中的计数器极为相似,因为本质上它就是一个计数器,只是会每隔X次更新(60次更新=1秒)重置一次。在我给出的示例中,它会计数到60秒,然后重置回0。如果你想每隔30/45/60秒等重置一次信号,这会非常有用,并且它可以完全根据你的需求进行自定义。 你会注意到这里包含了一个数据求值器,其作用是检测当T达到3600次更新(60秒)时,发出一个持续单次更新的信号R。这对于我之前提到的重置多个网络很有帮助,我将在本指南的后续部分展示此类功能的一个有趣用例。示例电路 - 触发器 接下来的内容会稍微复杂一些,部分示例会涉及大量逻辑门。为方便使用,我已将其中一些上传至Erkle的蓝图库。(只需搜索“Flip Flop”并查找由“Dangerbear”创建的内容) T触发器

这个电路的基本原理是:你向信号B发送信号,它就会切换哪个灯被点亮。但这不一定非得是灯,也可以是装配机的开关状态、装载机等设备的启停。我在这里加入的额外功能包括【电源】,它可以启用或禁用信号的通过,这样当你尝试将这个组件整合到更大的电路中时,就可以关闭触发器功能。此外还有【重置按钮】,它可以将触发器重置回默认状态(A=0)。 SR触发器

它们的功能与T触发器类似,可用于存储二进制数据等场景,但标准T触发器已能满足大多数应用需求。我分享这些主要是为了内容的完整性。 D触发器+全功能T触发器 若要复制这些电路,只需下载蓝图,因为我实在不想为这里的每个逻辑门都添加注释。

实用电路

这看起来可能只是一堆杂乱的数据电缆,但实际上这是一个非常精确的分配器,每个容器每分钟都会从传送带上提取极其特定数量的物品;在这个特定设计中(你可以在Erkle的蓝图数据库中找到,名称为“Circuit Guide Example”),我将其设置为每分钟60个物品,并且它使用我们之前构建的3600更新时钟来重置该信号,并告知装载机是时候从传送带上再收集60个物品了。 我在开头提到的另一个实际用途是,当容器中的物品数量达到X时,禁用你工厂里的装配机,这是一个非常简单的电路,所以我把这个留给你自己去设置,它甚至不需要任何逻辑门!该系统的用途几乎是无限的。随着更多可由数据网络控制的机器被添加进来,你将能用这个系统实现更多功能。但即便在当前状态下,你打造智能工厂的能力也只受限于你的想象力。 你甚至可以制造一些几乎没什么用的东西!这只是我那个用二进制计数的8位计算器的一个模块。

或者这个8位乘法器

目前这些输出是二进制形式,但可以轻松转换。另外你会注意到我必须用门来做显示器,因为不使用模组的话我们还没有视觉显示器。不过厄尔克制作了这个数字显示器,蓝图可在网站上找到。

提示与建议

隔离信号 在特别大的电路甚至小型紧凑电路中,你可能会需要隔离信号。例如,你可能不希望信号B发送到电路的特定部分,但希望信号C传递到另一个电路,这时你可以像这样通过数据处理器传递信号C。只要C的值大于0,就只会输出信号C。

到处放置标识! 随着你的电路规模不断扩大,管理电路中不同位置的情况会变得越来越困难。你可以看看这个8位乘法器,它实际上比截图显示的要大得多,从中就能看出标识的作用有多大——每个【模块】都有自己的标签,这让大型项目的管理变得轻松不少。 说明与致谢