ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

モデルをツール結合 FMU としてエクスポート

Simulink® コンポーネントをサードパーティ ソフトウェアに統合するには、Simulink モデルをツール結合 Functional Mockup Unit (FMU) としてエクスポートします。サードパーティ製ツールは FMU を実行する際に、必要なライセンスをチェックアウトし、Simulink のローカル インストールを開始してモデルを起動します。この関数には、Tool-Coupling Co-Simulation FMU Export for Simulink サポート パッケージが必要です。アドオン エクスプローラーを使用して、サポート パッケージのダウンロードとインストールを実行します。

Simulink プロジェクトを使用して FMU をエクスポートします。モデルを開き、[ファイル]、[Simulink プロジェクト]、[モデルからプロジェクトを作成] を選択してモデルからプロジェクトを作成します。

プロジェクトから FMU を対話的にエクスポートできます。

  1. プロジェクトで、[共有]、[FMU] を選択します。

  2. [Copyright][説明]、および [FMU アイコン] フィールドに入力します。[設定の保存と出力形式] をクリックし、名前を指定します。

生成された FMU には、モデルの実装と、エクスポート中に指定されたメタデータが含まれます。

<?xml version="1.0" encoding="utf-8"?>
<fmiModelDescription author="" copyright="" description="" fmiVersion="2.0"
                     generationDateAndTime="2018-08-16T15:51:48Z"
                     generationTool="Simulink (R2018b)"
                     guid="5bd096be-a08d-020e-fc96-847aa21def5b"
                     license=""
                     modelName="vdpSlave"
                     variableNamingConvention="structured"
                     version="1.8">

次のようにして、プロジェクトを作成し、コマンド ラインから FMU にエクスポートすることもできます。

>> p = slproject.create('vdpProject') 
>> copyfile(which('vdp'), './vdpSlave.slx') 
>> p.addFile('./vdpSlave.slx')
>> Simulink.fmuexport.ExportSimulinkProjectToFMU(p,'vdpSlave.slx','-fmuname','vdpFMU')

コマンド ラインからその他の FMU エクスポート オプションを示すには、以下を入力します。

help Simulink.fmuexport.ExportSimulinkProjectToFMU

モデルは、エクスポートについて以下の条件を満たさなければなりません。

  • モデルはノーマル モードまたはアクセラレータ シミュレーション モードでなければならない。

  • ルートの入力端子と出力端子は数値データ型でなければならない。

エクスポートされたツール結合 FMU の使用

FMU を実行する前に、オペレーティング システム コンソールからサーバーを起動しなければなりません。

  • Windows® では、次のようにします。

    <SupportPackageRoot>\toolbox\shared\fmu_share\script\fmu-matlab-setup.cmd

  • Linux® および Mac OS の場合は、以下のようにします。

    <SupportPackageRoot>/toolbox/shared/fmu_share/script/fmu-matlab-setup

MATLAB®matlabshared.supportpkg.getSupportPackageRoot を実行し、<SupportPackageRoot> を検出します。サーバーが起動し、コマンドを待機します。使用可能なコマンドを確認するには、次のように help と入力します。

> help
Command list:                                                                                                                                                                                 
quit - Close all shared MATLABs and exit.                                                                                                                                                     
list - List shared MATLABs.                                                                                                                                                                   
start NUMBER_OF_MATLABS - Start NUMBER_OF_MATLABS more MATLABs.                                                                                                                               
stop NUMBER_OF_MATLABS - Stop NUMBER_OF_MATLABS MATLABs.                                                                                                                                      
ignore - Stop asking about the hardware core count when launching MATLABs.                                                                                                                    
clean MATLAB_NUMBER - Clean up the MATLAB workspace for MATLAB #MATLAB_NUMBER. Use 0 for all MATLABs.                                                                                         
help - Print the command list.

FMU ごとに 1 つのセッションを起動し、同時に実行します。1 つの FMU がある場合は、以下を入力します。

> start 1

同時に実行している FMU が 3 つある場合は、以下を入力します。

> start 3

1 台のマシンで 1 つの MATLAB 管理ツールのみ実行しなければなりません。

エクスポートされた FMU には、Simulink のローカル インストールの実行が必要です。コシミュレーションに使用される MATLAB バージョンは、FMU がエクスポートされた MATLAB バージョンと同じでなければなりません。Windows で、FMU を実行するアプリケーションは、必要なライセンスを自動的にチェックアウトできます。他のオペレーティング システムの場合は、以下の設定を適用します。

  • Linux では、次のようにします。

    setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:<InstallationFolder>/bin/glnxa64:<InstallationFolder>/extern/bin/glnxa64  (csh/tcsh) 
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<InstallationFolder>/bin/glnxa64:<InstallationFolder>/extern/bin/glnxa64  (bash)

  • Mac OS では、次のようにします。

    setenv DYLD_LIBRARY_PATH ${LD_LIBRARY_PATH}:<InstallationFolder>/bin/glnxa64:<InstallationFolder>/extern/bin/glnxa64  (csh/tcsh) 
    export DYLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<InstallationFolder>/bin/glnxa64:<InstallationFolder>/extern/bin/glnxa64  (bash)

Mac OS の場合、システム整合性保護 (SIP) により、setenv コマンドは、MATLAB などの新しいプロセスを開始するアプリケーションで機能しません。https://www.mathworks.com/matlabcentral/answers/170268-how-do-i-set-environment-variables-on-mac-os-x に従って、DYLD_LIBRARY_PATH<InstallationFolder>/bin/glnxa64:<InstallationFolder>/extern/bin/glnxa64 に設定してください。

これで、サードパーティ製アプリケーションを起動し、ツール結合 FMU をインポートできます。各 FMU インスタンスには、新しい MATLAB セッションが必要です。

関連するトピック