電子回路シミュレータ Msim は、回路図データをテキストで入力するタイプのシミュレータです。Msim の特徴を以下に紹介します。
回路図データの書式は、書式ダイアログボックスで確認しながら記述することができます。回路をシミュレーションする際に、回路素子の接続点を表す接点番号を付けて方程式を生成します。接点番号は GND を 0 にして、1 から付けます。回路図データの書き方を理解する為にサンプルデータを添付しています。
制限事項 : プログラムは回路図データ max 30行まで実行可能です。
プログラムは、ウインドウズの機能をクラス化して提供する MFC とメニューおよびダイアログのリソースと電子回路シミュレーションを実行する計算プログラムから構成されています。MFC はプログラムの実行結果をウインドウ上に表示する環境を提供します。計算プログラムは実行開始により呼び出され、3つの子ウインドウへ実行結果を出力します。
ウインドウズでプログラムを実行させるには、プログラムをスレッドと呼ばれる形式で実行します。下記はプログラムを呼び出している関数です。
AfxBeginThread (MsimFunc, pThreadParms);
MsimFunc() が計算プログラムです。プログラムを呼び出す際にはウインドウへのポインタ、プログラムの実行終了を示すフラグへのポインタなどをTHREADPARM構造体に指定します。こうすることでプログラムは実行結果をポインタで指定されるウインドウに出力することができます。
MFC を使用したプログラムはドキュメント/ビューアーキテクチャにより構成され、ウインドウはビューと呼ばれ、データはドキュメントになります。ビューへの出力、データの読み出し、書き込みは MFC が提供するクラスにより実行されています。MFC を使用する為には、MFC プログラミングの解説書を読むことが必須です。この部分を記述しているコードは極わずかです。コードを見ただけでは何をしているのか全く分かりませんが、理解してしまえばウインドウズプログラミングが簡単に実現できてしまいます。下記は参考にした書籍です。