<< 目次を表示 >> ページ位置: シミュレーション > 数学的なシミュレーション > SysPhS シミュレーション > シミュレーションの設定と実行 > SysPhSシミュレーションのサンプル > OpAmp回路のシミュレーション |
このページでは、簡単な電子回路(OpAmp・オペアンプ)のSysPhSモデルを作成し、シミュレーションを使用してその回路の動作を予測し、グラフ化する方法を説明します。
前提条件
このシミュレーションを実行するには、以下のいずれかが必要です。
回路図
今回モデル化する電子回路は、標準的な電子回路表記を用いると以下の図のように示される内容を対象とします。
この回路には、正弦波の信号ソース・グランド・2つの抵抗、およびオペアンプ集積回路が含まれます。次の図は、SysPhSを使用したSysMLダイアグラムから自動生成した内容を、外部アプリケーション(ここではModelica)で表示したものです。
SysMLモデルの作成
次の表は、回路を表現する完全なSysMLモデルを構築する方法を示しています。最低限の内容からモデルを構築します。
構成要素 |
説明 |
ブロック |
SysPhSを用いたSysMLでは、回路とコンポーネントのそれぞれの構成要素ををブロックとして表現します。
ブロック定義図に、回路コンポーネントを示すブロックを作成します。この回路には、オペアンプ・信号源ソース・信号-電圧変換器・グランド・抵抗の5つの部品があります。これらの部品は、それぞれ異なる種類であり、異なる動作をします。
オペアンプ・グランド・抵抗などの主要なブロックは、SysPhSのコンポーネントパターンを使って、定義済のブロックを簡単に作成し配置できます。しかし、このサンプルでは一から作成していきます。
部品の種類ごとにSysPhSブロックを作成します。回路の内部ブロック図に配置する部品は、電気ピンを表すポートを介して接続されます。これらのポートはブロック定義図で定義されています。抵抗器には、プラスとマイナスのピンがあります。グランドには、プラスのピンが1つだけあります。電気(電荷)はピンを通して伝達されます。2つのポートは「p」(正)と「n」(負)という名前で、ChargeFlowElementという型を割り当てています。
次の図はブロック定義図です。ブロックは使用するコンポーネントの種類を定義しています。信号ソースの正弦波・信号の電圧変換器・グランド・抵抗・オペアンプが含まれています。
これらのブロックには、SysPhSツールボックスからModelicaブロックまたはSimulinkブロックを割り当てます。両方のツールに対応させることもできます。詳細については、「ブロックをModelicaとSimulinkの両方で利用」のヘルプトピックを参照してください。 |
Phsポート |
ポートに使用されるバリュー型は、SysPhSシミュレーションライブラリで事前に定義されています。ChargeFlowElementとRealSignalInElementの2つの値型を主に使用します。
次の図は、ブロック定義図のOpAmpブロックを示しており、OpAmpブロックのポートがChargeFlowElement型に設定されています。
Common Types Packageのインポートの接続は、このライブラリ内で定義されている要素を利用することを示しています。パッケージのインポート(丸で囲んだ部分)の詳細については、「SysPhSライブラリへの参照の設定」のヘルプトピックを参照してください。 |
Phs定数 |
抵抗と正弦波ブロックの両方とも、MATLABとModelicaのそれぞれのコンポーネントで利用するプロパティを定義する必要があります。
抵抗器を例に説明します。このコンポーネントでは、それぞれのツールで、抵抗の値をオームで設定する必要があります。ほとんどの回路では、この抵抗ブロックから派生した複数の抵抗部品があり、内部ブロック図やパラメトリック図ではパートプロパティ要素として利用します。したがって、実際の抵抗値(オーム)は、内部ブロック図やパラメトリック図で設定します。シミュレーション実行時にデータセットで設定できます。
抵抗を定義するプロパティを設定するに、Phs変数要素「r」を作成する必要があります。初期値は設定していません。
注意: SysPhSパターンから抵抗のブロック要素を作成できます。この場合にはPhs定数要素を保持した形で作成されます。
個々のコンポーネント(パートプロパティ要素)に抵抗値を設定するには、プロパティサブウィンドウの「初期値」で設定します。
|
内部構造 |
全体の関係と内部構造を表現するために、子ダイアグラムとして内部ブロック図をもつブロック要素InvertOpAmpを作成します。
子ダイアグラムの追加 | 内部ブロック図
この設定の結果、ポート名のみを表示するようになります。
内部ブロック図で、パートプロパティ要素を作成し接続します。
注意: 貼り付け時に、「付属要素」のドロップダウンリストで「すべて」を選択して、関係するポートなども作成するようにしてください。
|
結びつけ |
配置したプロパティ要素のポート間を結びつけます。
これは元の回路図と同じ構造ですが、各コンポーネントを示す要素は、ブロック要素そのものではなく、定義したブロックに型付けされたプロパティ要素であることに注意してください。 |
初期値 |
抵抗が2つありますが、入力抵抗(RIn)と帰還抵抗(Rf)は、それぞれ異なる抵抗値を持ちます。内部ブロック図の2つの異なるプロパティ要素として配置されています。抵抗値は、プロパティサブウィンドウの「プロパティ」タブの「初期値」欄に設定します。
InputControllingSignalでは、amplitude と frequency に関する初期値の設定も必要です。
これらの設定後、ブロック定義図に戻ると、ブロックの区画に配置した要素が表示されます。 |
シミュレーション動作の設定
以下の手順で、SysMLSimの設定を行います。
手順 |
説明 |
SysMLSimConfiguration 要素を作成する |
SysMLシミュレーションの設定要素をダイアグラムに配置した例です。 |
パッケージを指定する |
|
対象のシミュレーションツールを指定する |
ツールバーのドロップダウンリストから、シミュレーションで利用するツールを選択します。
|
シミュレーション対象のブロックを指定する |
|
グラフとして出力する値を指定する |
グラフとして出力する値を指定します。
|
シミュレーションの実行
SysMLシミュレーションの設定タブの「解析」ボタンを押します。下の例は、Modelicaで生成された結果を示しています。
凡例には、プロットされたLM741.out.vと'Signal.vが表示されており、「プロットするプロパティ」で選択した2つのプロパティと一致しています。
生成されたモデルをModelicaやSimulinkで表示する
生成されたモデルを外部アプリケーションであるModelicaまたはSimulinkで表示するには、「生成した内容の参照」と「シミュレーションが実行できない場合の確認事項」のヘルプトピックをご覧ください。
参照: