In other languages: Čeština Deutsch English Français Italiano Polski Português, Brasil Русский Українська 简体中文

回路ネットワーク

From Official Factorio Wiki
Jump to navigation Jump to search

回路ネットワーク(Circuit networks)レッドケーブルグリーンケーブルで形成され、ネットワークに接続された送信者(sender)からの情報に基づいて受信者(receiver)を制御できる。大体の場合、送信者はストレージ装置で、保有するアイテムや液体に基づいたチャネルにその情報を流す。各回路ネットワークはアイテム種別ごとのチャネルを持ち、加えてユーザ定義可能な48種の仮想シグナルチャネルを持つ。「全て(Everything)」、「いずれか(Anything)」、「それぞれ(Each)」のワイルドカードも使用可能。

1本の小型電柱を2つの回路ネットワークが共有する図

利用法

情報の送信

送信者はアイテムや流体の量、またはプレイヤーが定義可能な他のデータを送信する。それぞれの量は対応するアイテムの「チャネル」上の数値となる。例えば、原油1000単位を保有する貯蔵タンクは原油チャネルに値1000を送信する。

各チャネルは独立しているので、各ネットワークはゲーム中に存在するアイテムや流体全てとユーザ定義可能な追加チャネル全て(数字の0から9、アルファベットのAからZ、9種の異なる色)に関して同時に数値を伝達できる。未使用のチャネルは値0を伝達する。

同じアイテムや流体に関する複数の送信は加算的で、原油1000単位を保有する貯蔵タンク2つが接続されているとすればそのネットワークの原油チャネルの値は2000となる。

接点で繋がる同色のワイヤ全てが1つのネットワークを形成する。言い換えれば、相互にシグナルを交換する。例えば、ある回路部品(訳注:combinator。この場合は定数回路(constant combinator)のようなものをさす)の入力側で2つの赤ワイヤが交わっていれば、各ワイヤはもう一方の内容を受信する。このことに気をつけないとフィードバックを生み出しうる。詳細な議論はフィードバック (下の算術回路)を見よ。

数値は32bit符号付き整数(signed 32 bit integer)の範囲となる。つまり-2147483648から2147483647まで。 そして、2の補数表現でエンコードされている。 数値はオーバーフロー時にラップアラウンドし、たとえば2147483647 + 10 は -2147483639 である。 回路に数値を入力すると、GUIを閉じるまで32ビットの制限を超えているように見えることがあり、その時点で数値がオーバーフロー/アンダーフローする。 [1]

装置の制御

受信者は送信された情報を用いて、大概は装置をオン・オフする。異なるチャネル同士やチャネルと特定の値とを比較することもできる。

受信側の装置は繋がれた各ワイヤの全シグナルを、レッドケーブルとグリーンケーブルの間であろうが足し合わせる。例えば、あるインサータが銅板20を伝達するレッドケーブルと銅板10を伝達するグリーンケーブルと接続されているなら、受信者は銅板30を受信する。

同じ色の複数のケーブルは、その信号を共有し、合計する。たとえば、3つのチェストA、B、Cをグリーンケーブルで一列につないだ場合(A→B→C)、どのチェストにつながったグリーンケーブルにも、これらのチェストの中身の合計が出力される。しかし、チェスト A とインサータをレッドケーブルでつないだ場合、そのインサータには A の内容だけが入力信号として与えられる。

装置

回路ネットワークに接続可能な装置は情報ペインの右上角にCircuit network panel.pngアイコンがある。これをクリックするとそのデバイスが利用可能な回路ネットワークオプションが表示される(注意:レッド/グリーンケーブルが接続されていなければ、代わりに「接続されていません」が表示される)。その隣のLogistic network panel.pngアイコンをクリックすると装置は(範囲内にあれば)物流ネットワークに接続でき、これも条件になりうる。

条件は回路(レッド/グリーンケーブルの合計シグナル)と物流ネットワークの両方にセット可能で、論理積(logical AND)として働く。

以下の装置は回路ネットワークに接続可能。

アイコン 名前 出力しうるシグナル 利用可能な回路制御 利用可能な物流ネットワーク制御
Transport belt.png
搬送ベルト 乗っているものを回路ネットワークに送信可能。
  • パルスモード: アイテムがベルトに載った瞬間の1tickだけシグナルが送信される。
  • ホールドモード: アイテムがベルト上にある間中、ずっとシグナルが送信される。
条件により起動可能。 物流ネットワークの条件により起動可能。
Inserter.png
インサータ 掴んでいるアイテムを回路ネットワークに送信可能。
  • パルスモード: アイテムを掴んだ瞬間の1tickだけシグナルが送信される。
  • ホールドモード: アイテムを掴んでいる間中、ずっとシグナルが送信される。
条件により起動可能。インサータスタックサイズも制御信号からオーバーライド(設定)可能。 物流ネットワークの条件により起動可能。
Filter inserter.png
フィルターインサータ 上に同じ 加えて、フィルターも回路ネットワークから設定可能。最大5種類までのアイテムに対応する正の値の信号がホワイトリストに設定される。 上に同じ
Stack filter inserter.png
スタックフィルターインサータ 上に同じだがアイテムは1種類のみ。
Wooden chest.png
チェスト 内容物を回路ネットワークに送信可能。物流ネットワークにつながるチェスト(Logistic chests)はさらに物流ネットワークへも送信可能。
Requester chest.png
要求チェスト 内容物を回路ネットワークに送信可能。物流ネットワークには送信しない 要求するアイテムを回路ネットワークから設定可能。
Storage tank.png
貯蔵タンク 内容物の流体を回路ネットワークに送信可能。
Gate.png
ゲート 信号を回路ネットワークに送信可能。
  • デフォルト: プレイヤーを検出 = Signal-G.png
条件により開くことができる。
Rail signal.png
列車用信号 その状態を回路ネットワークに送信可能。
  • デフォルト: Signal-Red.pngSignal-Yellow.pngSignal-Green.png

注: 回路ネットワークにより赤になっている場合は、赤シグナルを出力しない。

条件により赤にすることができる。
Rail chain signal.png
連動式列車用信号 その状態を回路ネットワークに送信可能。
  • デフォルト: Signal-Red.pngSignal-Yellow.pngSignal-Green.pngSignal-Blue.png
Train stop.png
停まった列車の内容や読み取った列車のIDコードを回路ネットワークに送信可能。

駅を目的地にしている列車の数を回路ネットワークに送信可能。
停車している列車の内容を読み取るとき、小数点以下の流体の量は切り捨てられて最も近い整数に丸められる。流体の量が1未満の場合は例外として、1に丸められる。

  • デフォルト: 目的地にしている列車の数 = Signal-C.png
  • デフォルト: 停車中の列車ID = Signal-T.png
回路ネットワークの内容を列車に送信して待機条件に使用したり、駅自体を有効/無効にすることが可能。駅を目的地にできる電車の最大数(「列車制限」)を、回路ネットワークによって設定可能。
  • デフォルト: 制限の設定 = Signal-L.png
物流ネットワークの条件により起動可能。
Accumulator.png
蓄電池 充電量(%)を回路ネットワークに送信可能。
  • デフォルト: 充電量 % = Signal-A.png
Roboport.png
ロボットステーション 物流ネットワークの内容やロボットの統計を回路ネットワークに送信可能。統計用のシグナルは設定可能。
  • デフォルト: 利用可能な物流ロボット = Signal-X.png
  • デフォルト: 全ての物流ロボット = Signal-Y.png
  • デフォルト: 利用可能な建設ロボット = Signal-Z.png
  • デフォルト: 全ての建設ロボット = Signal-T.png
Burner mining drill.png
掘削機 掘削機自体、または掘削機が設置されている鉱脈全体から予期される資源埋蔵量を送信可能。 条件により起動可能。 物流ネットワークの条件により起動可能。
Pumpjack.png
油井 現在の掘削レートを送信可能。 条件により起動可能。 物流ネットワークの条件により起動可能。
Power switch.png
電源スイッチ 条件により電源ネットワークを接続できる。 物流ネットワークの条件により起動可能。
Programmable speaker.png
プログラマブルスピーカー 回路ネットワークの信号に基づき、アラートを表示し音を再生する。簡単な音色を作ることもできる。
Lamp.png
ランプ 条件により起動可能。色シグナルを受信したらその色になる。 物流ネットワークの条件により起動可能。
Offshore pump.png
汲み上げポンプ 条件により起動可能。 物流ネットワークの条件により起動可能。
Pump.png
ポンプ 条件により起動可能。 物流ネットワークの条件により起動可能。

物理的ネットワーク構造

回路ネットワークは同色のケーブルで接続された装置のみの間で構成される。装置間を直接結んでもよいし、間に任意の電柱を挟んでも良い。ケーブル長は直前の接続で制約される。

接続されたケーブルの集まりがネットワークを分離することに注意せよ。例えば、4つの赤ネットワークと3つの緑ネットワークが同時に存在しうる。赤と緑のケーブルが同じ電柱や装置で触れ合ってもネットワークは分離されたままで、リンクは生じない。しかし、赤ケーブル同士や緑ケーブル同士が触れあえばリンクする。密接したネットワーク間を分離するなら異なった色のケーブルを使うべき。

  • ケーブルや銅線を電柱と結ぶには、単にそれをクリックし、そして電柱をクリックする。
  • ケーブルや銅線の接続を削除するには、同色のケーブルを既存の接続の上から設置する。ケーブルや銅線は戻ってこない。
  • 電柱からの全ての接続を削除するには、電柱をShift+クリック。一回目で電気的接続が、二回目でレッド/グリーンケーブルが全て取り除かれる。ケーブルは戻ってこない。
  • 算術回路条件回路は、入出力の正しい側に繋ぐよう注意。「詳細を表示(Show details)」モードで向きが見られる。
  • マウスカーソルをアイテム上にホバーするとそのアイテムと接続された全てのケーブルがハイライトされる。
  • マウスカーソルをネットワークを構成する電柱にホバーするとネットワーク上の信号が見られる。回路部品のような特定のアイテムにホバーしたときもその入出力シグナルが見られる。

回路部品

回路部品(Combinators)は送信も受信もでき、より高度な機能を回路ネットワーク上で利用可能とする。

  • 定数回路は接続された任意のネットワークの任意のチャネルに20個までの値を送信する(今のところ赤/緑のチャネルを指定することは出来ないので、各色異なる値にしたければ、それぞれの色用に2つの回路部品を用いること)。任意のアイテム/仮想シグナルチャネルを使用できる。
    • 20スロット中2スロットを同じチャネルに設定した場合、その和の値を1つのスロットで設定した場合と同様になることに注意。
  • 算術回路は入力値に算術演算を行い結果を指定された出力チャネルに送信する。入出力は任意のアイテム/仮想シグナルチャネルをとりうる。
    • 接続: 算術回路は入力(input)側で赤/緑ネットワークと接続し(本体に端子がついており、点火プラグのように見える)、算術計算を行って出力(output)側の指定されたチャネルに送信する(出力ケーブルは装置本体からやや引き出されている)。
    • フィードバック: 入力ネットワークと出力ネットワークは同じネットワークではない事に注意せよ。出力ネットワークを入力ネットワークに戻して繋ぐことはフィードバックループを引き起こしうる。例えば、銅板の値に1を加えて銅板として送信する操作は出力が入力に戻されれば無限ループを引き起こす。銅板の値は急速に(一瞬ではない)増えていく(上昇率は現在のtickレートによって決定される)。この技法を条件回路と組み合わせれば電子時計、ゲート、他にも様々なシステムが作れる。より発展的な技法は回路チュートリアルを見よ。
    • それぞれ(Each): この回路部品は「それぞれ」シグナルを入出力に使用でき、その場合非ゼロの入力チャネル全てにこの回路の演算が適用され、出力側に送信される。入出力の両者にそれぞれシグナルを、演算には何も変えないようなもの(0を足すなど)を用いると、「一方通行」ケーブルと等価になる。入力ネットワークのすべての情報が出力ネットワークにコピーされ、逆は真でない。
    • 複数ネットワーク: 算術回路は入力側に赤ネットワークも緑ネットワークも繋げられ、それらの入力を足し合わせる。
  • 条件回路は算術回路のように振る舞うが、値を比較するために設計されている。本質的に、条件を表すものである。接続、フィードバック、それぞれシグナルについて言えば上述の通り機能する。それらに加え、全て(Everything)シグナルやいずれか(Anything)シグナルも扱え、複数のネットワークに接続された場合は加算より複雑な関数を適用することができる。使い方に関する詳細は条件回路項を見よ。

仮想シグナル

仮想シグナルは回路ネットワーク内で利用できる

仮想シグナル(Virtual signal)はアイテムを表さない特別なシグナル。3種の論理シグナル(logic signal)を除いては、仮想シグナルの振る舞いもアイテムシグナルと変わらない。

48種の仮想シグナルがネットワーク上に送信可能。数字の0から9まで、アルファベットのAからZまで、チェックマーク、ドット、情報アイコン、色の赤(red)、緑(green)、青(blue)、黄(yellow)、紫(magenta)、シアン(cyan)、白(white)、グレー(gray)、黒(black)が含まれる。

論理シグナル

3種の論理シグナルのアイコン

仮想シグナルのうち3種はネットワークに送信できず、かわりに複数のシグナルへと特殊なロジックを適用する。

全て

全て(Everything)は条件の左辺に利用可能。各入力シグナルについて条件が真である時に真となる。シグナルが来ないときも真となる。つまり、全てシグナルは全称量化として振る舞う。

シグナル(定数ではなく)が全てとの比較の右辺で使われる場合、全てがチェックするシグナルの集合から暗黙のうちに除外されるため、シグナルはそれ自身と照合されない。つまり、例えば全て > Xのようなテストでも、X > Xという偽であることが自明な結果を得ることなく、意味のあるテストができるということだ。

条件回路の出力にも全てが使える。その場合、条件を満たす全てのシグナルを出力する。全ていずれかシグナルを条件に用いたときのみ、複数のシグナルが条件をパスできる。

いずれか

いずれか(Anything)は条件の左辺に利用可能。It will be false when there are no inputs.少なくとも1つのシグナルについて条件が真である時に真となる。つまり、いずれかシグナルは存在量化として振る舞う。

もしシグナル(定数ではなく)がいずれかとの比較の右辺で使用されるなら、それは暗黙のうちにいずれかがチェックするシグナルのセットから除外されるので、シグナルはそれ自身と比較されない。つまり、いずれか >= X のようなテストは意味があり、X >= X のような真であることが自明な比較は行われない。

条件回路の入力と出力の両方で使われた場合、いずれかはマッチしたシグナルのうちの1つを返す。

それぞれ

それぞれ(Each)条件算術回路の入力側の左辺および出力にのみ利用可能。入力もそれぞれのときに限り出力にも指定できる。入出力の両方に指定されると、その回路部品を各入力シグナルについて個別に適用する。入力にのみ指定されると、回路部品の出力は適用結果の総和となる。

それぞれを使った回路は、すべての入力が接続され、すべての出力が並列に接続された回路のスタックのようなものである。例えば、「銅」と「鉄」という信号がある場合、一方の回路は銅の条件を評価し、もう一方の回路は鉄の条件を評価する。そして、異なる出力信号は共有ワイヤ上で合算される。

上記の全ていずれかとは異なり、シグナルがそれぞれの計算の右辺で使用されている場合、それが暗黙的に除外されることはありません。そのため、例えば それぞれ * X の場合、X とそれ自身を掛け合わせたものも出力される。

入力としてのそれぞれは、0でない値を持つ信号に対してのみ処理される。それぞれを入力・出力する条件回路の条件を持っていて、その条件をパスした入力信号に対して1つの値だけを出力したい場合、たとえその条件が0値に対してパスされるものであったとしても、0値を持つ信号に対して1を出力することはない。


チュートリアル

物流ネットワーク

物流ロボットが用いる物流ネットワークは本質的に、赤/緑の有線ネットワークと同列の第三の(ワイヤレスの)ネットワークである。物流ネットワークはロボットステーションのカバー範囲に基づく。

いくつかの装置もまた物流ネットワークに接続可能。装置に回路・物流ネットワーク双方の条件が設定されていれば、両方の条件が真の場合にアクティブとなる。 物流ネットワークに接続可能な装置は以下の通りである。

  • 搬送ベルト
  • インサータ
  • 掘削機
  • 油井
  • 電源スイッチ
  • ランプ
  • 汲み上げポンプ
  • ポンプ

より詳細には物流ネットワーク及びロボットステーションを見よ。


関連項目