Main Content

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

複数のシステムを並行してチェックするための関数の作成

複数のシステムを並行してチェックすると、モデル アドバイザーが複数のシステムをチェックするための処理時間を短縮できます。Parallel Computing Toolbox™ ライセンスがある場合は、マルチコア ホスト マシンで複数のシステムを並行してチェックできます。

Parallel Computing Toolbox は 32 ビットの Windows® マシンをサポートしません。

それぞれの並列処理は、一度に 1 つのモデルのチェックを処理します。並列モードで、モデル ワークスペースまたはデータ ディクショナリからモデル データを読み込みます。並列モードのモデル アドバイザーは、ベース ワークスペース内のモデル データをサポートしません。

現在のディレクトリへのモデルと構成ファイルのコピー

書き込み可能なディレクトリに、カスタムのモデル アドバイザー構成ファイル demoConfiguration.json をコピーします。

  1. MATLAB で、現在のフォルダーを書き込み可能なディレクトリに設定します。

  2. MATLAB コマンド プロンプトに以下のコマンドを入力します。MATLAB により、ファイルが書き込み可能なディレクトリにコピーされます。

    copyfile(fullfile(matlabroot,'examples','slcheck','main','prepare_cust_chk_code.m'),...'prepare_cust_chk_code.m','f');
    run('prepare_cust_chk_code.m');
  3. サンプル ファイル内で、demoConfiguration.json に注目します。このファイルは、解析中に実行されるモデル アドバイザー チェックを定義します。カスタムの構成ファイル作成の詳細については、モデル アドバイザーの設定エディターを使用したカスタム モデル アドバイザー設定の作成を参照してください。

プログラムによってチェックを実行する関数の定義

  1. MATLAB® ウィンドウで、[新規作成][関数] を選択します。

  2. ファイルを run_fast_configuration.m として保存します。

  3. 関数内で、untitled を右クリックして [関数名をファイル名に置き換えてください。] を選択します。関数名が run_fast_configuration に更新されます。

    function [outputArg1, outputArg2] = run_fast_configuration(inputArg1,inputArg2)
  4. 出力引数と入力引数を定義します。出力引数について、それぞれの値を入力した後 Shift-Enter キーを押して、関数内のすべてのインスタンスを自動的に更新します。

    • output_Arg1fail

    • output_Arg2warn

    • inputArg1, inputArg2SysList

    function [fail, warn] = run_fast_configuration(SysList)
    fail = inputArg1;
    warn = inputArg2;
    

  5. 関数内で、モデル アドバイザー構成ファイルと、解析の実行対象となるシステムを指定します。

    SysList={SysList={'AdvisorCustomizationExample/Amplifier',...
        'sldemo_auto_climatecontrol/Heater Control','rtwdemo_iec61508'};
    fileName = 'demoConfiguration.json';
    

  6. 関数 ModelAdvisor.run を呼び出して 'ParallelMode''On' に設定します。

    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');

  7. 警告と失敗を返すチェックの数を特定します。

    fail = 0;
    warn = 0;
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    

    この関数は以下のようになるはずです。

    function [fail, warn] = run_fast_configuration(SysList)
    
    %RUN_FAST_CONFIGURATION Check systems in parallel with Model Advisor
    %   Return number of warnings and failures.
    
    SysList={'AdvisorCustomizationExample/Amplifier',...
        'sldemo_auto_climatecontrol/Heater Control','rtwdemo_iec61508'};
    fileName = 'demoConfiguration.json';
    
    % Run the Model Advisor.
    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');
    fail = 0;
    warn = 0;
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    end
    
    
    
    

  8. 関数を保存します。

  9. 関数をテストします。MATLAB コマンド ウィンドウで、run_fast_configuration を実行します。

  10. 結果を確認します。「概要レポート」リンクをクリックして、モデル アドバイザー コマンド ライン概要レポートを開きます。

参考

|

関連するトピック