【第9回】部品を一つにまとめるSubcircuitとは?

次回の記事

準備中です……

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp

複雑な回路を一つにまとめてシミュレーションすることが出来れば、回路図の見通しが良くなります。今回は、そんなことが出来るSubcircuitという部品について解説します。

Subcircuitとは?

Subcircuitの画像

Subcircuit(サブサーキット)とは、いくつかの部品をまとめて一つの部品にしてしまう機能のことです。 例えば、次のような全波整流回路があったとします。(公式Subcircuitマニュアルより引用)

公式の全波整流回路

Subcircuitの機能を使えば、次の図のように複数の部品を一つの部品にまとめてシミュレートさせることが出来ます。(公式Subcircuitマニュアルより引用)

公式の使用例

Subcircuitの作り方

元となる回路を作る

例として、次のような回路を用意しました。

CMOS多数決回路

これは第6回に作成した多数決回路を、MOSFETで改めて作り直したものです。 左側にあるA1,A2,A3が入力、右側にあるのが多数決回路の出力となっています。

MOSFETは、Active Components-Add MOSFET(P-Channel)、もしくはAdd MOSFET(N-Channel)から追加出来ます。
自分でこの回路を作っても構いません。ですが、今回は部品の量が多いため、下のリンクから多数決回路MOSFET版.txtをダウンロードして、回路を読み込むことをおすすめします。

多数決回路MOSFET版

Subcircuitを作成するには、外に出す端子を置く必要があります。 端子(ラベル付きノード)は、Outputs and Labels-Add Labeled Nodeから追加出来ます。

端子イメージ図

端子Edit画面

追加した端子のEdit画面を開くとラベルの名前を入力する欄があります。ここで、入力したラベルの名前は外に出す端子の名前になります。

今回は、入力と出力、電源を外に出す端子として設定します。

設定した回路

設定した回路のデータは、下のリンクからダウンロードできます。

端子設定済み回路データ

Column:Internal Node

端子のEdit画面には、もう一つInternal Node(内部端子)という項目があります。
この項目にチェックを付けると、端子を置いても外部の端子として表示されなくなります。先ほど作成した回路の端子A1のInternal Nodeにチェックを付けると、端子A1は外部の端子として表示されなくなります。

なぜ、こんな項目が用意されているのでしょうか。実は、この部品にはもう一つ機能があり、同じ名前の端子同士は、配線でつながっているものとして、シミュレータ上で扱われるのです。これを使うと、電源の配線や共通の出力などの配線を省くことが出来ます。
ですが、普通に端子を置いてしまうと外部の端子としてみなされてしまい、端子をこの用途で使うことが出来ません。そこで、Internal Nodeという項目が用意されているのです。

Subcircuitを作成する

Subcircuitを作成します。作成した回路をSubcircuitにするには、画面上のFileメニューから、Create Subcircuitをクリックします。

Create Subcircuitの場所

Create Subcircuitの画面

モデルの名前を入力する画面が表示されます。ここでは、MajorCircuitを入力しておきます。OKボタンを押すと、Subcircuitが作成されます。

Subcircuitを使ってみる

作成したSubcircuitを回路に追加するには、Subcircuit Instanceを選択します。Subcircuit Instanceは、Active Building Blocks-Add Subcircuit Instanceから追加できます。

追加したSubcircuit

Subcircuit Instanceの、Edit画面を開きます。

Edit画面を開く

Model Nameの下にある、プルダウンメニューをクリックすると、先ほど作成した、MajorCircuitが表示されるはずです。MajorCircuitをクリックすると、作成したSubcircuitが表示されます。

Subcircuitが表示される

これを使って、改めて多数決回路を作成すると、MOSFETだけで多数決回路を作成したときと、同じように動作していることがわかります。

作成した多数決回路

この回路は、下のリンクからダウンロード出来ます。

Subcircuit使用例

Column:Subcircuitをどうやって保存する?

2020年11月28日現在、CircuitSimulatorAppletでは、Subcircuitだけを保存する機能は存在しません。そのため、通常の回路保存機能を使ってSubcircuitを保存しておく必要があります。
注意が必要なのは、Subcircuitを作っただけでは保存する回路ファイルデータに反映されない、ということです。せっかく、多数決回路、全波整流回路などのSubcircuitを作成して、ファイルに保存しても、Subcircuit Instanceを使って、回路に多数決回路、全波整流回路のSubcircuitを実際に配置しない限り、ファイルに反映されません。

次回予告

今まで、部品はいちいちクリックしたり、メニューを選択したりして追加してきました。ですが、ショートカットキーを使えばそんなことをしなくても、一瞬で部品を追加することが出来ます。次回は、ショートカットキーや、CircuitSimulatorAppletのオプションについて解説していく予定です。

次回で最終回になります。

う-ん、よく分からん!

この記事を読んで、疑問に思うことがあったときは、気軽にコメント欄や私のTwitterから質問してください。

参考文献

CircuitSimulatorApplet 全電子部品対訳表

CircuitSimulatorApplet上に表示される電子部品の名前は、全て英語です。
英語で書かれた電子部品の名前を見て、すぐに実際の電子部品が思い浮かぶ人はいいかもしれませんが、そうでない人が大半でしょう。

下の記事では、CircuitSimulatorAppletにある全ての部品の日本語訳を載せてあります。
「日本語では○○っていう部品なんだけど、英語では何ていうんだろう?」「この部品、CircuitSimulatorAppletのどこにあるんだ?」という時にお使いください。

terapotan.hatenablog.jp

Subcircuit公式マニュアル

http://www.falstad.com/circuit/subcircuits.htmlwww.falstad.com

次回の記事

準備中です……

前回の記事

terapotan.hatenablog.jp

連載記事一覧

  terapotan.hatenablog.jp