SimulinkあるいはSimscape固有のブロックの作成

<< 目次を表示 >>

ページ位置:  シミュレーション > 数学的なシミュレーション > SysPhS シミュレーション > 独自のSysPhSコンポーネントの作成 >

SimulinkあるいはSimscape固有のブロックの作成

SimulinkやSimuScapeではさまざまなコンポーネントが利用できるため、SysPhSのコンポーネントパターンで提供されている基本的なブロックには含まれないSimulinkやSimuScape固有のコンポーネントや部品をシミュレーション対象のモデルに含める必要がある場合があります。このような場合には、Enterprise Architectで作成するブロック要素に対して、Simulinkコンポーネントを参照するように設定します。

 

 

ブロックのSimulink情報の設定

 

Enterprise ArchitectのSysPhSコンポーネントでSimulinkコンポーネントを参照する手順は以下の通りです。

 

次の図は、 Simulink内のJK Flip-Flop要素に対して上記の情報を参照している例です。

 

 

上の例では、名前欄に設定すべき内容は以下の通りです。

 

次の図は、Enterprise Architectのプロパティサブウィンドウで取得した情報を設定した例です。

 

Simulinkのクラスパスに関する情報はMathWorksのヘルプをご覧ください。

 

 

ブロックのSimscape情報の設定

Enterprise ArchitectのSysPhSコンポーネントでSimscapeコンポーネントを参照する手順は以下の通りです。

 

次の図は、 Simscape内のJOp-Amp要素に対して上記の情報を参照している例です。

 

 

上の例では、名前欄に設定すべき内容は以下の通りです。

 

 

SysPhSポートの追加

ブロックのポートには、型付けされていないポートと、定義済みのポート型があります。

 

型付けされていないポートは、ツールボックスからSimulinkポート要素をダイアグラム内のブロックにドラッグ&ドロップして作成します。

 

SysPhSの定義済みポートタイプ(ブール信号入力ポートやアナログ信号出力ポートなど)を参照するには、以下の手順になります。

 

例えば、次の図では、フリップフロップに「j」と「k」のポートが作成され、「j」のポートが設定され、「k」のポートがポートとして定義されている途中です。

 

 

 

Simulinkのポートの順序

SimulinkのPortsは、Modelicaの名前参照とは異なり、配列を使用して定義されるため、ポートの作成順序が重要になります。INポートの順序とOUTポートの順序は別々に定義されます。ポートの順序はSimulinkで確認でき、最初のポートがブロックの一番上に表示されます。

 

フリップフロップのポートを例にとると、INポートのSimulinkでの順序は次のようになります。

 

j, clk, k (このトピック内の画像の「J-K Flip Flop」要素を参照)

 

したがって、これらのポートは、Enterprise Architect内でもこの順序で作成する必要があります。ブロック定義図では、ポートは作成順ではなく、アルファベット順に表示されていることに注意してください。

 

順番が正しく適用されていない場合には、SysMLのダイアグラムではOUTポートが正しく表示されているが、Simulinkでのシミュレーション時にはINポートに誤って接続されるということが起きえます。このような場合には、ポートの作成順序が正しく適用されていることを確認してください。

 

 

参照: