LTspice-コマンドプロンプトを利用した自動シミュレーション
当記事では、LTspice XVIIにおいて、コマンドプロンプトを利用した自動シミュレーションについて詳しく説明します。
部品のパラメータを変更するだけでしたら、パラメトリック解析で十分ですが、自動で「トランジェント解析⇒AC解析」などと異なる複数の解析をシミュレーションすることは不可能です。
コマンドプロンプトを利用すれば、PCのバッググラウンドでこうした異なる複数の解析を人のいない夜間のオフィスなどでも自動シミュレーションできるので、作業の効率を向上させることが可能です。
LTspice XVIIの起動確認
まずはコマンドプロンプトで問題なくLTspice XVIIの起動できるのか確認してみます。
スタートメニューの「Windowsシステムツール」から、コマンドプロンプトを起動させます。
コマンドプロンプトでLTspice XVIIがインストールされているファイル(ディレクトリ)に移動します。
「cd C:\Program Files\LTC\LTspiceXVII」と入力して、「Enter」を押すと実行されます。
cd C:\Program Files\LTC\LTspiceXVII
コマンドプロンプトからのLTspice XVII起動確認用に適当なシミュレーションが実行可能な回路図ファイルを用意します。
今回は「C:\Users\ユーザー名\Documents\LTspiceXVII」にフォルダ「test」を作成し、以下の記事で作成した「01_sample-tran-lt1028.asc」(トランジェント解析のシミュレーションが実行可能)を保存しました。
回路図ファイルを起動・シミュレーションするコマンド「XVIIx64.exe -run "ファイルのパス"」を実行します。
今回の場合、「XVIIx64.exe -run "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.asc"」と入力して、「Enter」を押します。
XVIIx64.exe -run "ファイルのパス"
XVIIx64.exe -run "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.asc"
自動的にLTspice XVIIが起動し、「01_sample-tran-lt1028.asc」のシミュレーションが実行されます。
問題なく回路の波形が表示できるのか確認するため、「Vin」と「OUTPUT」を電圧プローブでクリックしてみます。
上記のように「Vin」と「OUTPUT」を電圧波形が表示されました。問題なくコマンドプロンプトからLTspice XVIIを操作できることがわかりました。
バックグラウンドでのシミュレーション
問題なくコマンドプロンプトからLTspice XVIIを操作できることがわかったので、次はコマンドプロンプトからPCのバックグラウンドでシミュレーションを実行してみます。
コマンドプロンプトからPCのバックグラウンドでシミュレーションを実行する前に、LTspice XVIIの「Control Panel」-「Operation」-「Automatically delete.raw files[*]」でチェックを入れている場合は、チェックを外して無効にしておきます。これで、シミュレーションを実行した際に波形データファイルが保存されるようになります。
以下の記事で説明した通り、手動でのシミュレーションをする時は、波形データファイルを自動削除した方がHDD(ハードディスクドライブ)を圧迫しないのでチェックを入れておいた方が良いです。
しかし、自動シミュレーションをする時は波形データファイルを自動削除してしまうと、シミュレーション終了後に波形データファイルを確認することができなくなってしまうのでご注意ください。
設定が終わったら一旦、LTspice XVIIを閉じて、フォルダ「test」内にある「01_sample-tran-lt1028.asc」以外のファイルを削除しておきます。
コマンドプロンプトに戻り、回路図ファイルからネットリストファイルを出力するコマンド「XVIIx64.exe -netlist “ファイルのパス”」を実行します。
今回の場合、「XVIIx64.exe -netlist “C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.asc”」と入力して、「Enter」を押します。
XVIIx64.exe -netlist "ファイルのパス"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.asc"
上記のように「01_sample-tran-lt1028.net」(ネットリストファイル)が生成されます。
コマンドプロンプトに戻り、ネットリストファイルから波形データファイルを出力するコマンド「XVIIx64.exe -netlist “ファイルのパス”」を実行します。
今回の場合、「XVIIx64.exe -b “C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.net”」と入力して、「Enter」を押します。
XVIIx64.exe -b "ファイルのパス"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.net"
PCのバックグラウンドでシミュレーションが実行され、上記のように「01_sample-tran-lt1028.raw」(波形データファイル)が生成されます。
波形データファイルが正しく波形を表示できるのか確認するため、LTspice XVIIを手動で起動させて、「File」-「Open」をクリックし、「01_sample-tran-lt1028.raw」を開きます。
ツールバーの「Pick Visible Traces」をクリックします。
「V(output)」と「V(vin)」を選択します。
「Pick Visible Traces」など波形ビューワ(Waveform Viewer)の詳しい使い方については以下の記事をご覧ください。
上記のように正しく波形が表示することができました。
バッチファイルでの自動シミュレーション
コマンドプロンプトを使ってPCのバックグラウンドでシミュレーションできることが分かりましたが、一つずつコマンドを入力するのは面倒です。
そこで、バッチファイル(コマンドプロンプトに行わせたい命令列をテキストファイルに記述したファイル)を作り、自動でシミュレーションしてみます。
以下の記事に紹介している9種類の解析の自動シミュレーションをバッチファイルで連続で行います。
フォルダ「test」に回路図ファイルを保存しておきます。
上記のように9種類の回路図ファイルからネットリストファイル⇒波形データファイルを出力するようにコマンドをメモ帳に記入します。
cd C:\Program Files\LTC\LTspiceXVII
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\02_sample-ac-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\03_sample-dc-sweep-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\04_sample-noise-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\05_sample-dc-transfer-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\06_sample-dc-op-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\07_sample-tran-param-lt1028.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\08_sample-ac-temp-op113.asc"
XVIIx64.exe -netlist "C:\Users\ユーザー名\Documents\LTspiceXVII\test\09_sample-tran-mc-lt1028.asc"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\01_sample-tran-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\02_sample-ac-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\03_sample-dc-sweep-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\04_sample-noise-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\05_sample-dc-transfer-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\06_sample-dc-op-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\07_sample-tran-param-lt1028.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\08_sample-ac-temp-op113.net"
XVIIx64.exe -b "C:\Users\ユーザー名\Documents\LTspiceXVII\test\09_sample-tran-mc-lt1028.net"
拡張子を「.bat」で適当な場所に保存します。
今回は「test.bat」でフォルダ「test」に保存しました。
後は「test.bat」をダブルクリックすると、コマンドプロンプトが立ち上がり自動的にシミュレーションを行います。
シミュレーション終了後、フォルダ「test」を見ると、波形データファイルが生成されているのが確認できます。