PLECS ( Piecewise Linear Electrical Circuit Simulation ) は、 Pleximによって開発された電気回路のシステムレベルシミュレーション用のソフトウェアツールです。[ 1 ]特にパワーエレクトロニクス向けに設計されていますが、あらゆる電気ネットワークに使用できます。PLECS には、電気システムに加えて、制御やさまざまな物理領域 (熱[ 2 ] 、磁気[ 3 ] [ 4 ]、機械[ 5 ] )をモデル化する機能が含まれています。
ほとんどの回路シミュレーションプログラムでは、スイッチは高度に非線形な要素としてモデル化されます。電圧と電流の過渡応答が急峻なため、スイッチの切り替え時にシミュレーションが遅くなります。最も単純なアプリケーションでは、スイッチは非常に小さい抵抗値と非常に大きい抵抗値を交互に示す可変抵抗器としてモデル化されます。その他の場合、スイッチは高度な半導体モデルで表現されます。
しかし、複雑なパワーエレクトロニクスシステムをシミュレーションする場合、スイッチング中のプロセスはあまり重要ではありません。このような状況では、閉回路と開回路を瞬時に切り替えることができる理想的なスイッチを使用する方が適切です。PLECS に実装されているこのアプローチには、2 つの大きな利点があります。まず、スイッチングの瞬間に区分的に線形なシステムが得られるため、スイッチングの瞬間に等価回路で発生する非線形不連続性をシミュレーションするという、そうでなければ困難な問題を解決できます。次に、スイッチングの瞬間の不連続性を処理するには、2 つの積分ステップ (瞬間の前と後で 1 つ) だけで済みます。これらの利点により、精度を犠牲にすることなく、シミュレーションが大幅に高速化されます。したがって、このソフトウェアは、たとえば複雑な駆動システム[ 6 ]やモジュラーマルチレベルコンバータ[ 7 ]のモデリングとシミュレーションに最適です。
近年、PLECSは自動コード生成によるモデルベースの制御開発もサポートするように拡張されました。PLECS製品ファミリーには、ソフトウェアに加えて、ハードウェア・イン・ザ・ループ(HIL)テストと迅速な制御プロトタイピングの両方に対応するリアルタイムシミュレーションハードウェアが含まれています。[ 8 ]
PLECSソフトウェアには、MATLAB®/Simulink®との統合を目的としたPLECS Blocksetと、完全に独立した製品であるPLECS Standaloneの2つのエディションがあります。
PLECS Blocksetを使用する場合、制御ループは通常Simulinkで作成され、電気回路はPLECSでモデル化されます。一方、PLECS Standaloneは他のソフトウェアとは独立して動作し、単一の環境で電気回路と制御をモデル化するためのオールインワンソリューションを提供します。両エディションは相互運用可能です。
両バージョンの主な違いは、PLECS Standaloneは最適化されたエンジンのおかげでPLECS Blocksetよりも高速に動作する点です。
コードジェネレータは通常、ソースコードの中間表現をマシンコードに変換します。PLECS CoderはPLECS BlocksetおよびPLECS Standaloneのアドオンです。PLECSモデルからANSI-Cコードを生成し、シミュレーションホストまたは別のターゲット上でコンパイルして実行できます。ターゲットは、組み込み制御プラットフォームまたはリアルタイムデジタルシミュレータです。PLECS Coderは、特定のハードウェアターゲット向けの組み込みコードも生成できます。
制御ループのモデルベース設計において、プロセッサ・イン・ザ・ループ(PIL)シミュレーションは開発プロセスを加速させることができます。これにより、エンジニアは仮想回路シミュレータ内で実際のハードウェア上で制御アルゴリズムをテストすることが可能になります。PLECS BlocksetおよびPLECS Standaloneのアドオンとして、PLECS PILはこのソリューションを提供します。
PLECS SpiceはPLECS Standaloneのアドオンで、SPICEベースの半導体デバイスモデルをPLECS環境に統合できます。[ 9 ] PLECS Spiceでは、さまざまなSPICE方言のSPICEネットリストをインポートできます。

PLECS RT Boxは、パワーエレクトロニクス用途向けに特別に設計されたリアルタイムシミュレータです。[ 10 ]これは、リアルタイムのハードウェア・イン・ザ・ループ(HIL)テストと迅速な制御プロトタイピングの両方に対応する処理ユニットです。PLECS RT BoxはPLECSからプログラムおよび操作できます。そのため、ハードウェアを操作するには、PLECS(BlocksetまたはStandalone)のソフトウェアライセンスとPLECS Coderライセンスが必要です。