チュートリアル:SL Palette 設定編
サイディームとSimulinkを連携させて協調シミュレーションを行うために必要な手順を降圧型DCDCコンバータをPI制御することを例に挙げて解説します。
SL Paletteのチュートリアルは設定編と解析編の二章構成となります。
SL Paletteのチュートリアルは以下のような構成となっております。
Download
チュートリアルで動作させるモデルは下図のようなイメージとなっています。
1 サイディームの設定
SCIDEAM
ブロックを使うためにサイディーム側で行う設定について記載します。
1.1 サイディームで回路を作る
まずはSimulinkと協調解析を行う回路モデルを作成しましょう。
チュートリアルでは下図のような降圧型DCDCコンバータモデルを作成します。
なお、下記モデルはダウンロードファイルのBuckConverter.scicir
となります。
1.2 SL Paletteのための設定をする
Simulinkと接続するためには、simulinkと同期させる関数、また入出力の設定、実行周期の設定を行うスクリプトを記述した
SLCスクリプト
を作成し、回路ファイルに登録する必要があります。
SLCスクリプトの作成
メニューバーのファイル
の新規作成
よりSLCスクリプト
をクリックしてSLCスクリプトファイルを新規作成します。
SLCスクリプトファイルには次のスクリプトを記述してください。
// サイディームの回路モデル内のL1の電流とR1の電圧、そして入力電圧を取得
IL1 = output("L1", "I", "AVE");
Vin = output("VDC","V","AVE");
Vout = output("OUT1", "V", "AVE");
// simulink上のSCIDEAMブロックの出力にサイディームのシミュレーション結果をセット
SLexport(1, IL1);
SLexport(2, Vin);
SLexport(3, Vout);
// Simulinkと同期を開始
SLsync();
// Simulinkのインポートから値を受け取る
D = SLimport(1);
R = SLimport(2);
// 受け取った値をサイディームの回路モデルに反映
if(R<=0)R = 1u;
setparam("Q1", "T0", D);
setparam("R1", "Value", R);
関数 | 内容 |
---|---|
output("sym","type", "mode") |
シンボルsym 、タイプtype 、モードmode で指定された出力変数の現在値を返す関数。シンボルは"sym"のように二重引用符で挟む。以下同様とする。 |
SLexport(n, value) |
SCIDEAM ブロックのn 番目の出力ポートに対し、value を設定する関数。nは1から始まる整数、 value は任意の変数。
|
SLsync() |
SCIDEAM ブロックとの同期をとる関数。SLexport(),SLsync(),SLimportの順番で配置する。 |
SLimport(n) |
SCIDEAM ブロックのn 番目の入力ポート値を返す関数。n は1から始まる整数。 |
setparam("sym", "par", value) |
シンボルsym を持つ素子のpar で指定されたパラメーター値をvalue に設定する関数。par には、各素子のパラメーターダイアログボックスに表示されているパラメーターシンボルを指定する。
|
抵抗値Rには、0以下の値が書き込まれることを防ぐため、ガード条件を記載しております。
スクリプトの記述が完了したら、メニューバーのファイル
から上書き保存
で保存しましょう。
SLCスクリプトの登録
続いて、作成したSLCスクリプトファイルを作成済みの回路ファイル(BuckConverter.scicir)に登録します。
コンフィグエディタ
のScript
メニューを展開し、Script for SL Palette
をクリックします。
Script
の…
ボタンをクリックしてフォルダブラウザを開き、作成したSLCスクリプト
ファイルを選択します。今回、周波数はExplicit
を選択し50k
と設定しましょう。
設定が完了したら、OK
ボタンをクリックして適用します。
1.3 CVTファイルを書き出す
サイディームの回路モデルをSCIDEAM
ブロックに読み込むにはCVT形式のファイルで出力する必要があります。
サイディームの回路モデルをCVTファイルとしてエクスポートするにはアイコンをクリックして保存場所を選択し、ファイル名を入力して保存をクリックします。
Note
CVTファイルはサイディームの回路ファイル(*.scicir)とは別のファイルとなります。
試験のため回路を変更し、CVTファイルを出力しても、サイディームの回路ファイル自体は変更されませんのでご安心ください。
以上でScideam側の設定は完了です。
次は作成したCVTファイルとSL Palette
のブロックライブラリを使用してSimulink側の設定を行います。
2 Simulinkでの設定
2.1 Simulinkでブロックを置く
Simulinkでは下図のようなPI制御モデルを作成します。
なお、下記モデルはダウンロードファイルのPI_DCDC.slx
となります。
SCIDEAM
ブロックやRate Transition
ブロック、SCIDEAM_BODE
ブロックは
ライブラリブラウザのScideam SL Palette *
から使用することができます。
(*はバージョン名)
SCIDEAM
ブロックを使うためにSimulink側で行う設定について記載します。
2.2 CVTファイルを指定する
まずは先ほど作成したCVTファイルをSCIDEAMブロックに読み込みます。
ファイルを開く
を押すとファイルダイアログが開き、読み込むファイルを指定することができます。
直接、パスを入力することもできます。
パスは絶対パスまたは、MATLABのカレントディレクトリからの相対パスを入力しても読み込むことができます。
CVTファイルのパスが入力できたら、適用ボタンを押してください。
パスが正しければ、CVTファイルが読み込まれ、入力信号次元、出力信号次元が自動で設定されます。
2.3 必要なパラメータを設定する
Simulinkにブロックを配置し、CVTファイルを読み込んだら、シミュレーションを実行するために必要なパラメータ設定を行います。
ソルバーの設定
SCIDEAM
ブロックは、Simulinkソルバーを固定ステップのみ対応としています。
まずは、モデルのコンフィギュレーションパラメーターを設定します。 メニューバーの【シミュレーション(S)】→【モデル コンフィギュレーション パラメーター (F)】から「コンフィギュレーション パラメーター」ウィンドウを表示し、 次のように設定してください。
分類 | 名称 | 値 |
---|---|---|
シミュレーション時間 | 終了時間 | 0.02 |
ソルバーオプション | タイプ | 固定ステップ |
ソルバーオプション | ソルバー | 離散(連続状態無し) |
ソルバーオプション | 固定ステップサイズ(基本サンプル時間) | 2e-5 |
SCIDEAM
ブロックが対応するソルバータイプは固定ステップのみです。
シミュレーションの終了時間とソルバー(離散、ODE1など)は任意ですが、本チュートリアルでは離散(連続状態無し)に設定しています。
Rate Transitionの設定
Rate Transition
ブロックの値を、下図のように設定して下さい。
Rate Transition
ブロックは本来異なるサンプル時間で動作するブロック同士を接続する場合に用いますが、
SCIDEAM
ブロックの場合、サイディームとデータを送受信する周期を確定的に明示するためにこのブロックを直前に接続する必要があります。
詳しくはブロックの配置を参照してください。
また、Rate Transition
ブロックも、サイディーム、そしてsimulinkの実行周期と同じものを設定する必要がありますのでご注意ください。
ここまでで、シミュレーションを行う準備ができました。
続きはSL Palette 解析編をご覧下さい。