Frequently Asked Question

Video 3.2: Problems & Solutions of Real-Time Model [Japanese transcripts]
Last Updated 2 years ago


もし日本語字幕が自動で表示されない場合はブラウザのシークレットモードをお試しください。

キーワードの検索は "Ctrl + F" でブラウザの検索機能をご使用ください

ビデオのタイムスタンプに直接飛べるリンクが必要な場合 このガイドに従ってください

このビデオはお役に立てたでしょうか?HIL Academyの無料のHIL Specialistコースを受講してさらに理解を深めてみませんか?

もしこのビデオをあなたの母国語への翻訳するのに協力してくださる場合、我々までご連絡 ください

TRANSCRIPT

00:00:02

前のレッスンではHILアーキテクチャ モデルマッピングとこれらがモデルの設計方法にどのように影響するかについて説明しました

00:00:10

これまでは 特にモデルの最適化を行わなくてもモデルのコンパイル出来るシンプルな事例を見てきました

00:00:16

このビデオでは ハードウェアの限界を回避する最適化が必要なモデルを紹介します

00:00:20

コンパイルを成功させ シミュレーションを安定させる方法を紹介します

00:00:27

コンパイラコンソールでのオフライントラブルシューティングに加えて

00:00:31

HIL SCADAでのランタイム中のモデルトラブルシューティングも学習します

00:00:34

画面に表示されているように

00:00:36

このコースで開発したモデルを使用してこれらの典型的な状況をデモンストレーションします

00:00:43

まずマトリクスメモリについて説明します

00:00:45

マトリックスメモリの包括的な説明はレッスン3.1コンパイラコンソールでのモデルマッピングで行いました

00:00:53

そこではマトリクスメモリが受動部品の数と理想的なスイッチの数が

00:00:59

標準処理コア(SPC=Standard Processing Core)の最大サイズを定義することを示しました

00:01:06

最大マトリクスメモリを超えた場合に何が起こるかを調べてみましょう

00:01:10

これを実現するためにいくつかの受動要素とスイッチを追加しましょう

00:01:16

DCリンクに2つのコンタクタと1つの可変受動負荷を追加します

00:01:21

この負荷は単純な可変抵抗器として実装されSCADA入力がそのコントローラとして提供される予定です

00:01:27

最後にインバータと残りのDCリンクの間にコンデンサを追加しましょう

00:02:12

これでモデルをコンパイルするとマトリクスメモリの使用率が

00:02:17

100%を超えているというエラーが表示されるので必要な修正を行ってコンパイルを再開する必要があります

00:02:24

この問題を解決するために必要な次の手順は何でしょうか?

00:02:28

方法はいくつかあります

00:02:30

主な方法はモデルをコアに分割することでしょう

00:02:33

現在HIL404を使用しているためConfiguration1では最大3つの標準SPCを使用できることがわかります

00:02:40

それではそれらを利用して回路を2つの別々のコアに分割しましょう

00:02:46

モデルを2つのコアに分割するために Ideal Transformer CouplingつまりITカップリングを使用します

00:02:52

これを行うにはSingle Phase Core Coupling コンポーネントを使用します

00:03:02

これにより2つのコアができました

00:03:08

最初のコアには 電圧源 理想的なスイッチ可変抵抗器 およびコンデンサがあります

00:03:15

2番目のコアにはインバータ 残りの理想的なスイッチおよび誘導機があります

00:03:51

これでモデルをコンパイルするとMessageLogに2つのコアがあることがわかります

00:03:57

回路図上の部品の位置を追跡し

00:03:59

どのサブサーキットが どのコアに属しているかを特定するために使用できるコンポーネントへのリンクがあります

00:04:10

マトリクスメモリ使用率のセクションでは

00:04:13

マトリクスメモリ使用率が大幅に低下し メモリ負荷が2つのコア間で分散されたことがわかります

00:04:19

これでコンパイラはコンパイルを正常に終了しました

00:04:25

コアカップリングについてはレッスン3.3.1「Introduction to model partitioning」でより詳しく説明します

00:04:30

マトリクスメモリが過負荷になったときに

00:04:32

モデルのパーティション分割を実行するためのより詳しい説明に興味がある場合は

00:04:37

資料のセクションにリンクされているドキュメントを確認してください

00:04:42

またこの機会にコンパイラログをさらに詳しく見てみましょう

00:04:46

ご覧のとおり メッセージコンソールには

00:04:49

コンパイラレポートと警告の両方を含む[Output]タブと

00:04:52

警告とエラーのみを含む2番目のタブがあります

00:04:57

2番目のタブに移動しましょう

00:05:00

ここでは2つ目の警告すなわちbad voltage loop(電圧ループの不良)を警告するものだけを取り上げます

00:05:05

よく見るとこの警告の意味は

00:05:09

コンバータスイッチの特定の配置に対してHILが正しいシミュレーション結果を提供しないことを

00:05:13

警告することであることがわかります

00:05:15

このエラーを受け取った場合

00:05:17

外部接続されたコントローラや内部で開発されたコントローラの制御がコンバータをこの状態にしないことを確認する必要があります

00:05:25

これがモデルにとって何を意味するのかを判断しましょう括弧内のブール値が示すように

00:05:30

この警告はすべてのスイッチが閉じており前面のコンタクタが開いているコンバータの状態に対するものです

00:05:38

私たちの制御アルゴリズムはコンバータをこの組み合わせに入れることは決してないので

00:05:41

このエラーについて心配する必要はありません

00:05:44

資料編にリンクされているFAQの記事にはこの警告のより詳しい説明と警告が表示された場合の対処方法が含まれています

00:05:52

ここでマトリクスメモリの使用率に関する説明に戻りましょう

00:05:56

ITカップリングはマトリクスメモリ使用率の問題に対処する良い方法ですが

00:06:01

対処方法として唯一の方法ではありませんモデルをリセットして別の方法を試してみましょう

00:06:07

マトリクスメモリが不足した場合に対処する2番目の方法は

00:06:11

より多くのマトリクスメモリを提供するconfigurationまたはデバイスを選択することです

00:06:15

メニューの[Module]→[Model Setting]からHIL404の可能な構成を確認してみましょう

00:06:24

残念ながらどのconfigurationもマトリクスメモリの容量は同じです

00:06:30

したがってHIL404しか利用できない場合はより多くのマトリクスメモリを搭載した構成を利用することができません

00:06:37

ここではHIL604デバイスも利用できる場合の使用できるConfigurationを見てみましょう

00:06:43

Device Configuration Tableでわかるように

00:06:46

HIL604デバイスのConfiguration4ははるかに多くのマトリクスメモリを提供します

00:06:51

したがってConfiguration4のHIL604を選択して今回のモデルをどのように扱うか見てみましょう

00:07:22

これでコンパイルしようとするとコンパイルは正常に終了します

00:07:26

これはHIL404のConfiguration1では不可能だった1つのコアで実行されることに注意してください

00:07:34

重要なのは実際にHILデバイスに接続しなくても目的のハードウェア構成を設定し

00:07:39

モデルをコンパイルするだけでこれらのコンパイルテストを実行できることです

00:07:45

つまりHILデバイスを購入またはリースする前に 特定のモデルを想定している場合

00:07:50

どのHILデバイスまたはデバイスがニーズに合っているかを判断するためにモデルの構築を開始することができるのです

00:07:56

最後の解決策はモデルの動作・ふるまいに不可欠ではないコンポーネントを削除することによってモデルを縮小することです

00:08:04

ただし モデルの忠実度に影響を与える可能性があるためモデルを縮小することは最後の手段としてのみ検討する必要があります

00:08:12

次にタイムスロットの使用時に発生する可能性のある問題に対処する方法について説明します

00:08:18

レッスン3.1「Model Mapping in Compiler Console」で説明したようにタイムスロットの使用はマトリクス乗算器に関連しています

00:08:27

現在Configuration4のHIL604を使用しているので

00:08:31

シミュレーションのタイムステップを 0.5μsにしてシミュレーションしてみましょう

00:08:36

Model Settingsで変更します

00:08:44

今このモデルをコンパイルしようとするとタイミング制約が満たされていないことが通知されます

00:08:57

core0のタイムスロット使用率とマシンのタイムスロット使用率の2つが制限を超えました

00:09:07

ここではcore0のタイムスロット使用率について説明します

00:09:12

core0のタイムロット使用率を低減させる最も効果的な方法はモデルを2つのコアに分割することです

00:09:46

ただしこれでもマシンのタイムスロット使用率の2番目の問題は解決されません

00:09:53

コアのタイムスロット使用率についてはよりピーク処理能力の高いConfigurationに変更することが考えられます

00:10:00

今HIL604のConfiguration4を使用していますが別のConfigurationに変更することも可能です

00:10:12

Configuration5を使用するとピーク処理能力を高めコアのタイムスロット使用率を下げることができるでしょう

00:10:23

それでもこれはマシンのタイムスロット使用率の問題に対処するには十分ではありません

00:10:31

モデル内の素子数を減らすとタイムスロットの使用率の問題を解決するのに役立ちますが

00:10:36

これも最後の手段としてのみ使用する必要があります

00:10:41

コアとマシンのタイムスロット使用率の両方の問題を解決できるソリューションがいくつかあります

00:10:47

最も簡単な方法はシミュレーションのタイムステップを増やすことです

00:10:51

現在は0.5μsのシミュレーションタイムステップでモデルのシミュレーションを試みています

00:10:56

これを1μsに増やすとタイムスロット使用率の問題が解決されます

00:11:02

しかしアプリケーションがより小さなタイムステップを要求する場合

00:11:06

VBR誘導機を通常の電流源ベースのモデルに置き換えることでモデルの最適化を試みることができます

00:11:12

コンパイルを成功させるためには計算方法をconstrain matrixに変更する必要があります

00:11:18

このようにしてモデル全体を0.5μsで実行できるようにしました

00:11:47

HIL404デバイスを使用していた場合はこれ(タイムスロットの使用率)は問題ではなかったことに注意してください

00:11:52

HIL404デバイスはメモリや最大モデルサイズなどの性能は小さいですが

00:11:57

回路ソルバの性能は非常に高くこのモデルを0.5μsで実行することが可能です

00:12:13

ではHIL404に戻りましょう

00:12:25

モデルをコンパイルしてみましょう

00:12:36

ご覧のとおりこのモデルはHIL404デバイス用に正常にコンパイルされています

00:12:41

このような試みはモデルに最適なHILデバイスを見つけデバイス選定の間違いをなくすのに役立ちます

00:12:50

それではモデルの作成中に生じやすいより一般的な問題をいくつか説明しましょう

00:12:56

より完全なドライブセットアップに似せるために最初にモデルをより詳細なものに変更します

00:13:00

これを行うため

00:13:04

グリッドをモデル化するためにDC電圧源 スイッチ および可変抵抗器を各相をパッシブコンポーネントを備えた

00:13:09

三相電圧源コンポーネントに 置き換えましょうRMS電圧を230Vに設定します

00:13:16

次にDCバスに接続できる三相ダイオード整流器を接続しましょう

00:13:22

最後に単相コアカップリングを接続します

00:13:25

今回はこのドライブセットアップを 複数のコアに分割しコンパイルを完了するために コアカップリングを配置し赤い電流源側をインバータに接続します

00:14:45

SCADAに移動してシミュレーションを開始すると

00:14:48

算術オーバーフローフラグが立てられ シミュレーション結果は正しくありません

00:14:53

これが発生する理由は ITカップリングの方向が正しくないためですITカップリングを反転させることで修正できます

00:15:01

この問題の根本的な原因についてはレッスン3.2.1で詳しく説明します

00:15:07

トポロジの競合とモデルの無視についてはレッスン3.3で詳しく説明します

00:15:14

算術オーバーフローが発生すると考えられる原因はカップリングの配置が正しくないことだけではありません

00:15:18

電動機器はスナバがコンポーネント内で誤って計算された場合にも算術オーバーフローを引き起こす可能性があります

00:15:23

負荷トルクが電気トルクを超えている間に 潜在的な負荷が機械に加えられ機械の速度が計算限界を超えてしまうため

00:15:33

算術オーバーフローが発生する可能性もあります

00:15:39

算術オーバーフローのデバッグ中に役立つコンポーネントはHIL Flags Statusです

00:15:44

Schematic Editorに戻りモデルにドラッグアンドドロップして 追跡する出力をデジタルプローブに接続します

00:15:47

HIL Flags Statusは 発生している算術オーバーフローのタイプおよび

00:15:51

それがコアまたはマシンの算術オーバーフローであるかどうかを参照するバイナリ信号を出力に提供します

00:15:54

算術オーバーフローとその原因について詳しく知りたい場合はビデオの説明に記載されているFAQ記事を確認してください

00:16:03

次に発生する可能性のあるその他の問題について説明します

00:16:07

このコースで信号処理について前に説明したときに信号処理の実行率を定義することを説明しました

00:16:15

たとえば三相インバータを 制御するために作成したこの単純な制御アルゴリズムの実行速度は100μsです

00:16:24

CPUがリアルタイムの計算を保証するには小さすぎる実行レートを設定した場合はどうなるでしょうか?

00:16:29

CPUが指定されたタイムスロットでこのコードを実行できない場合

00:16:33

HIL SCADAで計算間隔のオーバーランまたはCIOフラグによって警告が表示されます

00:16:40

制御アルゴリズムの実行速度を1μsに下げてこれを試してみましょう

00:17:21

ご覧のとおりコンパイルは正常に終了しますが

00:17:24

シミュレーションを実行すると CIOフラグが現れ

00:17:28

1μsの指定されたタイムスロットでは制御アルゴリズムを実行できないことを警告します

00:17:44

経験則としてほとんどのパワーエレクトロニクスモデルの実行速度は10μsを下回ってはならず

00:17:50

ほとんどのマイクログリッドモデルは100μsを下回ってはなりません

00:17:54

ただし第4世代のHIL404およびHIL606はさらに高速な実行速度を実現できます

00:18:01

CIOの問題はリアルタイムシミュレーション中だけに発生するためこのトラブルシューティングプロセスは実際のHILデバイスでのみ再現できます

00:18:08

CIOフラグについて詳しく知りたい場合は

00:18:11

資料セクションにあるタイムスロット使用率のドキュメントへのリンクを確認してください

00:18:18

この知識をコンパイラコンソールのレッスン3.1モデルマッピングで説明した知識と組み合わせることで

00:18:23

2種類の時間検証を識別できます

00:18:26

電気ドメイン時間の検証は静的に実行され

00:18:30

コンパイラは FPGAが必要なシミュレーションステップでソルバを実行できるかどうかを判断します

00:18:35

一方 信号処理時間の検証は今見たように動的に行われます

00:18:40

このためコンパイラは 小さすぎる電気領域シミュレーションステップでシミュレーションを開始することを防ぎますが

00:18:48

シミュレーション中の信号処理時間ステップが不十分であることを通知するだけです

00:18:54

このレッスンではコンパイルおよびシミュレーション中に発生する可能性のある最も一般的な問題について説明しました

00:19:00

回路ソルバの過度な使用を解決するための最も効果的で最も重要なツールである回路分割コンポーネントについて説明しました

00:19:07

このモジュールの後半でそれらに特化する一連の専用レッスンがあります

00:19:12

ただしデバイスコアの数には限りがあるため 合理的に使用する必要があります

00:19:17

これが このレッスンで取り上げた代替ソリューションとモデリングのトリックについて知る必要がある理由です

00:19:22

これらの問題について詳しく知りたい場合は資料に記載されているナレッジベースの記事を参照してください

00:19:30

ありがとうございました

Please Wait!

Please wait... it will take a second!