Frequently Asked Question
もし日本語字幕が自動で表示されない場合はブラウザのシークレットモードをお試しください。
キーワードの検索は "Ctrl + F" でブラウザの検索機能をご使用ください
ビデオのタイムスタンプに直接飛べるリンクが必要な場合 このガイドに従ってください
このビデオはお役に立てたでしょうか?HIL Academyの無料のHIL Specialistコースを受講してさらに理解を深めてみませんか?
もしこのビデオをあなたの母国語への翻訳するのに協力してくださる場合、我々までご連絡 ください
TRANSCRIPT
このビデオではモデルマッピングについて説明します
これは基本的なワークフローモジュール全体で使用しているモデルで実践的に説明します
特にHILデバイスを最適に使用するために必要なモデルコンパイルのさまざまな側面に焦点を当てます
実践的なデモンストレーションに加えより複雑なケースに適用するために必要な理論的な側面も説明します
まずHILシステムの基本的なシステム構成について説明します
リアルタイムでシミュレーションを行うには計算を高速に実行できるようなHILシステムを設計する必要がありました
このためモデルシミュレーションの特定の部分は
3つの別々のユニットのいずれかで実行されるようにあらかじめ設定されています
これらのユニットはユニット 間でリアルタイムにデータを交換します
スライドの右側にこれらのユニットが表示されています
Typhoon HILシミュレータはヘテロジニアス・マルチプロセッサ・アーキテクチャをベースにしています
HILデバイスはTyphoon FPGAソルバ SystemCPUおよびUserCPUの3つの要素で構成されています
HILアーキテクチャをより包括的に理解したい場合は
ビデオの説明に記載されているSystem architecture basicsのドキュメントページを見てください
Typhoon FPGAソルバはモデルの電気的ドメイン部分をリアルタイムでシミュレーションするために最適化されたマルチコアプロセッサです
つまりあらゆる電気回路と それを構成する受動素子 コンバータ電動機などのコンポーネントが
この回路ソルバによってシミュレーションされるのです
また汎用プロセッサとしてUser CPUとSystem CPUの2つがあります
HILデバイスに応じてそれらはシングルコアプロセッサまたはマルチコアプロセッサにすることができます
SystemCPUは通常特定の電気ドメインコンポーネントの低ダイナミクス現象をシミュレートするため
もしくは通信プロトコルスタックを処理するために使用されます
SystemCPUを利用するコンポーネントの例としては
電圧実効値 単相定電力負荷単極MPサーキットブレーカーなどがあります
ほとんどの場合SystemCPUのデフォルトパラメータを変更する必要はありません
対照的にUserCPUは直接ユーザの制御下にあります
ゲイン αβからdpへの変換 合計などの信号処理コンポーネントで構成されるサブモデルを実行します
それではこれが実際のモデルにとって何を意味するのかを見てみましょう
現在画面に表示されているモデルについても同じように区切ることができます
モデルの電気部分はFPGA回路ソルバによってシミュレートされます
この場合FPGA回路ソルバには 電圧源 三相インバータ コンタクタおよび電動機が含まれます
正弦波信号 定数 およびαβからabcコンポーネントで構成されるインバータの制御は
UserCPUでシミュレートされます
フェーズAのRMS電流測定はSystemCPUでシミュレートされます
なぜモデルがHILデバイス上にどのようにマッピングされているかを知っておく必要があるのでしょうか?
まずHILデバイスがモデルによって課せられるリアルタイム要件を満たしているかどうかを知る必要があります
実際には これは選択したHILデバイスに対してモデルを正常にコンパイルする必要があることを意味します
これを行うにはコンパイラエラーを効率的にトラブルシューティングするための
システムアーキテクチャの基本的な知識が必要です
またモデルの処理リソースを管理することでハードウェアリソースを経済的に活用し
HILデバイスの性能を最大限に引き出すことができます
これが明確になったのでTyphoon FPGAソルバのアーキテクチャとそれが直面する制約について さらに説明しましょう
TyphoonのFPGA回路ソルバは2.3.1コースのサブモジュールに示されているように
モデル設定で設定できるあらかじめ定義されたタイムステップで電気回路をシミュレートし ます
シミュレーションがリアルタイムで実行されるためいくつかの制約があります
1つ目はシミュレーションのタイムステップが離散的で固定されていることです
このシミュレーションのタイムステップは調整することができないので
より良いシミュレーション結果を得るために計算を繰り返そうとしてもすることができません
2つ目は計算時間が厳しく制限されていることです
これは次のシミュレーションステップを開始する前にすべての計算を終了する必要があることを意味します
このスライドにシステムアーキテクチャを示します
まずStandard Processing Core(以下、SPCまたは単にコアと呼ぶこともある)を分析します
これは回路ソルバーの基本的な構成要素であり
線形受動素子 コンバータ およびコンタクタで構成される電気回路のシミュレーションを担当します
モデルにSPCがいくつありそれらが何で構成されているかを確認しましょう
このモデルでは 抵抗 三相インバータ およびコンタクタで構成されるSPCが1つだけあります
これはモデルをコンパイルするときにメッセージログをチェックしてすべてのSPCのリストを見ることで確認できます
コンパイルしてみましょう
今SPCに対応するいくつかの要素を見ることができます
このリストは 後のモジュールで取り上げるモデルのパーティショニングを実行するときに役立ちます
デバイスの構成に応じてモデルにさまざまな数のSPCを含めることができます
現在configuration1(構成1)のHIL 404のモデルをコンパイルしているので
SPCがいくつ入るか確認してみましょう
ご覧のとおりこのconfigurtation(構成)では 最大3つのSPCがあります
モデル設定にあるデバイステーブルで 他のconfiguration(構成)で何台のSPCをサポートできるかを確認することができます
参考までにあるモデルのデバイステーブルはSchematic EditorのModelメニューにある
Model Settingsダイアログボックスで確認することができます
複数のコンバータをシミュレートするなどより多くのSPCが必要な場合は
4つのSPCに対応しているconfiguration(構成) 2に変更する必要があることがわかります
configuration(構成)3はSPCの数は少ないですが
電動機のシミュレーションに有用な他の利点があります
つまりデバイスの構成を変更して容量を増やすことで
FPGAソルバーのリソースをより有効に活用できるようになります
次にSPCの内部リソースについて説明します
スライドの左側にはSPCの内部リソースの概要が
右側にはHIL404のデバイス構成テーブルが表示されています
色の違いは デバイステーブルのパラメータと特定のSPC内部リソースの関係を示しています
コンバータソルバを詳しく見る前にコンバータモデリングに対するTyphoonのアプローチについて
簡単に説明しましょう
コンバータは理想的なスイッチを使用してモデル化されています
より多くのスイッチを備えたコンバータはソルバーの計算負荷を増加させます
この計算負荷の大きさを表すために各コンバータにあらかじめ決められた重みを与えています
モデルの三相インバータなどのより複雑なコンバータの重みは3ですが
IGBTレグなどの単純なコンバータの重みはわずか1です
HIL for Power Electronicsサブモジュールではコンバータのモデリングについてより包括的に見ていきます
各スイッチの状態の順列について回路モデルは線形かつ時不変であると見なされます
これらの順列を 回路のモードと呼びます
回路の各モードについて 離散化され状態空間行列によって表される線形の時不変モデルを指定しました
コンバータの重みはコンバータソルバのコンテキストで重要な役割を果たします
コンバータ内のすべてのスイッチの組み合わせが回路モード変更のトリガーとなるため
次の回路モードを決定するためのユニットが必要ですこのユニットがコンバータソルバです
ただしコンバータの重みが増えると回路モードの数も増えコンバータソルバの負荷が増加します
したがって各構成にはSPCあたりのコンバータの重みの総数に制限があります
これが私たちのモデルにとって何を意味するのかを見てみましょう
まず三相インバータのプロパティを確認しましょう
コンポーネントの説明では その重みが3であることがわかります
Message Logを確認するとパワーエレクトロニクスコンバータの使用率の行で
この構成で可能な最大の重みに達していることがわかります
次にコンタクタソルバに移動しましょう
コンタクタの状態はコンタクタソルバによって決定されます
これらはターンオン ターンオフの遅延 ゼロ電流ターンオフおよびフィードバック信号の生成にも使用されます
同様にコアごとに特定の重みを使用できるようにするためにコアごとに特定の数のコンタクタも使用できます
この情報はデバイステーブルにもあります
ではこのモデルに何個のコンタクタを搭載できるかを見てみましょう
ご覧のとおりこのモデルには単相コンタクタが1つしかありません
Message Logを見ると このSPCには最大6つのコンタクタを配置できることがわかります
コンタクタの 3つのスイッチはすべて同期して動作するため
三相コンタクタは1つのコンタクタとしてカウントされることに注意してください
それでは非理想的なスイッチソルバに移りましょう
非理想的なコンタクタは 導通しているときは小さなインダクタンスとしてモデル化され
開いているときは小さなキャパシタンスとしてモデル化されます
これらを含めることの最大の利点は
特定の構成で理想的なコンタクタよりも多くの非理想的なコンタクタを取り付けることができることですが
モデル化の方法によってタイムスロットの使用率に余分な負荷がかかるため慎重に使用する必要があります
現在モデルに非理想的なコンタクタはありません
Message Logを見ると現在の構成では利用可能な非理想的なスイッチの使用がないことがわかります
このため非理想的なスイッチを追加する必要がある場合は別の構成に切り替える必要があります
次に時間で変化するエレメンツソルバについて説明します
可変インダクタ キャパシタ 抵抗など 値をリアルタイムで変更できる時間変化要素をシミュレートする場合は
時間で変化するエレメンツソルバを使用する必要があります
モデルからわかるように時間変数要素は含まれていません
Message Logでは最大16の時間変数要素を収めることができることがわかります
次に残りのSPC使用率パラメータを見てみましょう
現在使用していませんが 信号処理制御ソースの総数はコアあたり16に制限されています
遅延制御されたソースは スーパーキャパシタなどの一部のコンポーネントの埋め込み部分として表示される場合があります
この特定の構成では 遅延制御ソースを使用する最大12のコンポーネントを使用できます
あとはSPCの性能を表すパラメータとして
マトリクス乗算器とマトリクスメモリの2つが残されています
マトリクス乗算器の処理能力は与えられたモデルの最小シミュレーションステップを定義します
マトリクスのメモリサイズは 受動部品と理想的なスイッチ の数から見てSPCの最大サイズを定義し ます
受動部品の数を増やすとマトリクスサイズが大きくなり理想的なスイッチの数を増やすとマトリクスが追加されます
これでこの2つのパフォーマンスパラメータがモデルにどのように適用されるかを分析できます
回路に必要なメモリはコンパイル中に推定されます
各コアには特定の数のメモリが割り当てられています
ご覧のとおりコアは指定されたメモリの約3分の1しか使用しません
マトリクスメモリの使用率は
デバイス構成テーブルの2つのパラメータ SPC Matrix MemoryとSPC Output Memory Sizeに直接関連しています
コアのメモリ使用量が多すぎる場合は これらのパラメータを比較的大きな値に設定する必要があります
次にマトリックス乗算器の処理能力について説明します
マトリクス乗算器の処理能力パラメータの値は
1つのタイムステップ内ですべての計算を終了するSPCの能力を直接反映しています
Message Logにあるようにこのモデルは1μsのシミュレーションステップがあらかじめ定義されています
このタイムステップで行列を離散化した後タイミング制約の解析を開始します
この部分ではすべてのSPCと他の機能ユニットが
この時間ステップで実行できるかどうかをコンパイラが分析しタイムスロットの使用率を相対的な単位で表します
Message Logのタイミング制約分析の部分でわかるように
どの機能ユニットも 可能な最大タイムスロットである100%を超えていません
これはタイミングの 制約が満たされていること
およびこのモデルがHIL404またはVertual HILの両方で正常に実行されることを意味します
これで標準処理コアを構成するすべてのリソースを分析しました
次にTyphoonFPGAソルバを構成する他のリソースを分析してみましょう
FPGA内の次の機能ユニットは信号発生器です
このユニットは 電圧源 電流源 定電力負荷などの独立したソースをシミュレートするために使用されます
シグナル・ジェネレータはテーブルベースで実装されているため任意の波形をサポートします
これらの波形はSCADA内または波形ジェネレータツールで作成された高調波が豊富な波形である可能性があります
これがモデルにどのように実装されているか見てみましょう
現在電圧源は1つだけです Message Logを見ると
この構成では12台のシグナル・ジェネレータのうち1台だけを使用していることがわかります
この使用は三相または単相コンポーネント内にあるかどうかに関係なく
すべての信号源をカウントすることに注意して ください
たとえば三相電圧源は単一のコンポーネントであってもシグナル・ジェネレータ内で3ユニットを使用します
ここではさまざまな種類のソースを区別する必要があります
信号処理ソースの使用をコアリソースとして前述しましたが
これらのソースの名前にはSignal Controlledという接頭語がついておりSPCリソースを利用しています
特別な接頭語がない電圧源や電流源などの基本的な信号源はFPGAリソースです
電圧または電流制御のソースには他のコンポーネントの測定によって制御されるソース
またはHILアナログ入力から制御される外部制御のソースの2種類があります
これらのソースはマトリクスメモリのみを使用します
ルックアップテーブルはFPGAリソースのもう1つのタイプです
これらは非線形特性を持つ電気回路内の素子をシミュレートするために使用します
ルックアップテーブルが含まれている要素には非線形インダクタ PVパネル バッテリーなどがあります
すべての構成にはサポートできる特定の数のルックアップテーブルがあります
モデルではルックアップテーブルを含む要素を使用していないので
MessageLogではこれらの要素に使用できる8つのうちひとつも使用していないことがわかります
ルックアップテーブルの容量はルックアップテーブルを必要とするコンポーネントの任意の組み合わせで利用できます
たとえば最大8つのルックアップテーブルがあるため
3つのバッテリーと 5つの非線形インダクタを追加できます
次にマシンソルバについて説明します
このFPGAリソースはd-qまたはα-βドメインの電磁気方程式と機械方程式を解くプロセッサの専用部分です
さらにマシンソルバには
インクリメンタルエンコーダやレゾルバなどの速度および位置測定デバイスのサポートが内蔵されています
現在このモデルではかご形誘導電動機を 1台使用していることがわかります
マシンソルバの 使用率を見るとマシンソルバのリソースが完全に占有されていることがわかります
PWM変調器はPWM信号を生成するために使用されるFPGAリソースです
モデルで 行ったように内部制御アルゴリズムを使用してモデルを制御する場合は
PWM変調器を利用すると非常に便利です
PWM変調器については パワーエレクトロニクスモジュールでより包括的に説明します
ここではそれらが占めるリソースについて説明します
ご覧のとおり PWM変調器に3つの変調信号を提供することによりこの三相インバータを制御します
また可能な12個のうち3個のPWMチャネルを使用しています
これは三相インバータがあり各レグがPWMチャネルの1つを使用しているためです
コンパイルの最後のステップはタイミングの検証です
タイミングの検証は FPGAソルバが必要なシミュレーションステップでモデルを実行できるかどうかをチェックします
コンパイルのこの部分が正常に終了した場合はタイミング検証が通過したことが確認できます
この検証ではモデルに定義したデバイス設定を使用して制約を定義し
それを物理デバイスと仮想デバイスの両方に適用します
これはモデルの電気部分のコンパイルが正常に完了しそれを仮想HILで非リアルタイムで実行すると
同じモデルが選択したHILデバイスでリアルタイムに実行されることを意味します
したがってモデルに物理的にアクセスしなくてもモデルが実際のHILデバイスで動作することを検証できます
これでモデルの電気部分のコンパイルは完了です
FPGAソルバの詳細については
ビデオの説明に記載されているFPGAソルバの基本的なドキュメントページをご覧ください
コンパイルプロセスの次の部分は信号処理のコンパイルです
これはコンパイラがUserCPUとSystemCPUの両方のコードを生成することを意味します
CPUは使用可能な最大メモリと
デジタルおよびアナログプローブ 可変素子 SCADA入出力などの特定の信号処理要素の最大数という
2つの境界を信号処理に課しています
前に述べたようにモデルのSystemCPUで実行されるコンポーネントがあります
フェーズAのRMS電流メータですRMSメータの内部には1つのプローブ要素があり
Message Logで確認できるようになりますそれはプローブ使用ラインでカウントされます
信号処理のコンパイル の2番目の部分ではメモリ使用率がかなり低いことがわかります
次にUserCPUのコンパイルを検査できます
Message Logのこの段落はCPUがどのように使用されているかを示しています
2つのSCADA入力があり これはラインIO変数の使用率に反映されますまたプローブの使用率に反映される2つのプローブがあります
プローブの1つはストリーミングです
これは ラインストリーミング帯域幅に反映され最大容量に送信される1秒あたりのkサンプル数を比較します
最後にコンパイルされたモデルコードのメモリ使用率が表示されます
これで信号処理のコンパイルとコンパイルプロセス全体が終了します
これはコンパイルされたモデルをSCADAにロードしシミュレーションを開始する準備ができたことを意味します
これでモデルコンパイルが成功した背景を詳しく理解できたはずです
信号処理モデリングの原理に興味がある場合は
ビデオの説明の中にリストされている信号処理モデリングの ドキュメントページをご覧ください
次のビデオでは新しいユーザがコンパイルプロセス中に遭遇するいくつかの一般的な問題と
それらを解決する方法について説明します