
前回、Xcos上でModelicaブロックを動かせるようになり。そこでModelicaブロック使用デモを端から動かして、Modelicaブロックどもを浚っていく予定。今回は電気系、その中でも「論理NORゲート」です。「論理」といってもデジタルではなく、アナログ回路扱いです。回路シミュレーションできるみたい。
※「ブロックを積みながら」投稿順 index はこちら
※動作確認にはWindows 11の パソコン(64bit)上にインストールしたScilabの以下バージョンを使用しています。
Scilab 2024.0.0
ModelicaブロックとScilabブロックの接続
ううむ、Scilab/Xcos上のModelicaブロックの入出力端子について、お惚け老人にも分かるキッパリした説明が見当たらないので、以下はお惚け老人の勝手な見解です。
まず、ModelicaブロックにはImplicitなポートとExplicitなポートがあり、各ブロックのどのポートがImplicitなのか、ExplicitなのかはHelpにも書かれてます。Implicitなポートは四角、Explicitなポートは三角で表されるみたいデス。
そしてModelicaブロックは「原則」左入力、右出力のスタイルになっているらしいです。しかし、Implicitな「ポート」というのは想像するに「ノード変数の共有」関係的なものらしく、入力ポートに見えても実は値を設定することも可能みたい。よって、
-
- 四角のポートどうしを接続する。白四角出力を黒四角入力に接続するのが穏当に思えるが、黒四角どおしの接続(形式的に入力ばかりで出力なし)、などでも問題ない。
- 三角のポートは「単方向」の値の流れ(Xcosのデフォ。)このポートをXcosネイティブなブロックと接続する。
今回練習してみるデモ
今回のデモはデモウインドウから以下で選択できる「回路シミュレーション」です。「論理NORゲート」とな。デジタルなゲートの筈ですが、実体はMOSトランジスタレベルの「アナログ」なシミュレーションです。
中央付近に「NOR gate」と題するスーパーブロックあり、その左側のModelicaブロックでこれに与える信号を生成し、右側にならんだ「ポテンショメータ」ブロックで各ノードの電圧を取りだしてScilabのCSCOPEで観察するという段取りです。
プリミティブなブロックとしては、トランジスタレベルでのモデリングです。Pチャン、Nチャン、各2トランジスタにより、2入力のNORゲートを構成しています。
Nch MOS Transistorの設定パラメータが以下に。
回路的にはCMOSですが、上記の回路パラメータを拝見するかぎり、約半世紀前くらいの古色蒼然としたMOSデバイスに見えます。しかし、トランジスタはトランジスタ。
フローの中の電源みてみると以下のように10V設定でした。ブロックの表面の10mVという表示はデフォルト値みたいです。値を設定しても表示は変えてくれないみたい。
入力波形は正弦波でした。以下の丸っこいブロックで波形を生成してます。
シミュレーション結果
下の赤波形と緑波形が入力信号です。電源電圧10Vの半分の5V付近に回路的なスレッショルドがきているようで、赤緑の双方がそこを下回ると出力はハイへと遷移しているみたい。それ以外ではロウ出力ね。ちゃんとNORゲートとして動作しておる感じデス。
回路シミュレータとしてはLTspiceがあるので、Scilab/XcosのModelicaブロックを使うかはビミョー。でもシミュレーションは可能。