チュートリアル:SL Palette 設定編

サイディームとSimulinkを連携させて協調シミュレーションを行うために必要な手順を降圧型DCDCコンバータをPI制御することを例に挙げて解説します。

SL Paletteのチュートリアルは設定編と解析編の二章構成となります。

SL Paletteのチュートリアルは以下のような構成となっております。

fig

Download

dlサンプルファイルのダウンロード

チュートリアルで動作させるモデルは下図のようなイメージとなっています。

fig1


1 サイディームの設定

SCIDEAMブロックを使うためにサイディーム側で行う設定について記載します。


1.1 サイディームで回路を作る

まずはSimulinkと協調解析を行う回路モデルを作成しましょう。

チュートリアルでは下図のような降圧型DCDCコンバータモデルを作成します。
なお、下記モデルはダウンロードファイルのBuckConverter.scicirとなります。

fig

1.2 SL Paletteのための設定をする

Simulinkと接続するためには、simulinkと同期させる関数、また入出力の設定、実行周期の設定を行うスクリプトを記述した SLCスクリプトを作成し、回路ファイルに登録する必要があります。

SLCスクリプトの作成

メニューバーのファイル新規作成よりSLCスクリプトをクリックしてSLCスクリプトファイルを新規作成します。

fig

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は1から始まる整数。
setparam("sym", "par", value) シンボルsymを持つ素子のparで指定されたパラメーター値をvalueに設定する関数。parには、各素子のパラメーターダイアログボックスに表示されているパラメーターシンボルを指定する。

抵抗値Rには、0以下の値が書き込まれることを防ぐため、ガード条件を記載しております。

スクリプトの記述が完了したら、メニューバーのファイルから上書き保存で保存しましょう。

SLCスクリプトの登録

続いて、作成したSLCスクリプトファイルを作成済みの回路ファイル(BuckConverter.scicir)に登録します。

コンフィグエディタScriptメニューを展開し、Script for SL Paletteをクリックします。
fig

Scriptボタンをクリックしてフォルダブラウザを開き、作成したSLCスクリプトファイルを選択します。今回、周波数はExplicitを選択し50kと設定しましょう。
設定が完了したら、OKボタンをクリックして適用します。
fig

1.3 CVTファイルを書き出す

サイディームの回路モデルをSCIDEAMブロックに読み込むにはCVT形式のファイルで出力する必要があります。

サイディームの回路モデルをCVTファイルとしてエクスポートするにはfigアイコンをクリックして保存場所を選択し、ファイル名を入力して保存をクリックします。

fig

Note

CVTファイルはサイディームの回路ファイル(*.scicir)とは別のファイルとなります。
試験のため回路を変更し、CVTファイルを出力しても、サイディームの回路ファイル自体は変更されませんのでご安心ください。

以上でScideam側の設定は完了です。
次は作成したCVTファイルとSL Paletteのブロックライブラリを使用してSimulink側の設定を行います。


Simulinkでは下図のようなPI制御モデルを作成します。
なお、下記モデルはダウンロードファイルのPI_DCDC.slxとなります。

fig

SCIDEAMブロックやRate Transitionブロック、SCIDEAM_BODEブロックは ライブラリブラウザのScideam SL Palette *から使用することができます。
(*はバージョン名)

fig

SCIDEAMブロックを使うためにSimulink側で行う設定について記載します。


2.2 CVTファイルを指定する

まずは先ほど作成したCVTファイルをSCIDEAMブロックに読み込みます。
ファイルを開くを押すとファイルダイアログが開き、読み込むファイルを指定することができます。

直接、パスを入力することもできます。
パスは絶対パスまたは、MATLABのカレントディレクトリからの相対パスを入力しても読み込むことができます。

CVTファイルのパスが入力できたら、適用ボタンを押してください。
パスが正しければ、CVTファイルが読み込まれ、入力信号次元、出力信号次元が自動で設定されます。

fig


2.3 必要なパラメータを設定する

Simulinkにブロックを配置し、CVTファイルを読み込んだら、シミュレーションを実行するために必要なパラメータ設定を行います。

ソルバーの設定

SCIDEAMブロックは、Simulinkソルバーを固定ステップのみ対応としています。

まずは、モデルのコンフィギュレーションパラメーターを設定します。 メニューバーの【シミュレーション(S)】→【モデル コンフィギュレーション パラメーター (F)】から「コンフィギュレーション パラメーター」ウィンドウを表示し、 次のように設定してください。

分類 名称
シミュレーション時間 終了時間 0.02
ソルバーオプション タイプ 固定ステップ
ソルバーオプション ソルバー 離散(連続状態無し)
ソルバーオプション 固定ステップサイズ(基本サンプル時間) 2e-5

fig2

SCIDEAMブロックが対応するソルバータイプは固定ステップのみです

シミュレーションの終了時間とソルバー(離散、ODE1など)は任意ですが、本チュートリアルでは離散(連続状態無し)に設定しています。


Rate Transitionの設定

Rate Transitionブロックの値を、下図のように設定して下さい。
Rate Transitionブロックは本来異なるサンプル時間で動作するブロック同士を接続する場合に用いますが、
SCIDEAMブロックの場合、サイディームとデータを送受信する周期を確定的に明示するためにこのブロックを直前に接続する必要があります。 詳しくはブロックの配置を参照してください。

また、Rate Transitionブロックも、サイディーム、そしてsimulinkの実行周期と同じものを設定する必要がありますのでご注意ください。

fig


ここまでで、シミュレーションを行う準備ができました。
続きはSL Palette 解析編をご覧下さい。