このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
プログラムによる診断メッセージのレポート
関数 sldiagviewer
を使用して、診断ビューアーで診断メッセージを生成、表示および記録できます。
次の関数を使用して診断メッセージをプログラムでレポートできます。
段階を作成する関数:
sldiagviewer.createStage
診断メッセージをレポートする関数:
sldiagviewer.reportError
sldiagviewer.reportWarning
sldiagviewer.reportInfo
診断を記録する関数:
sldiagviewer.diary
診断の各段階の作成
診断ビューアーでは、エラー、警告および情報メッセージがモデルの読み込み、シミュレーション、ビルドなどの操作に基づいてグループごとに表示されます。これらのグループは段階と呼ばれます。関数 sldiagviewer.createStage
を使用して段階を作成できます。段階オブジェクトに対して子段階を作成することもできます。子段階を作成するには親段階オブジェクトがアクティブでなければなりません。段階オブジェクトを作成すると、Simulink® は段階を初期化します。段階オブジェクトを閉じると、Simulink は段階を終了します。親段階オブジェクトを削除すると、診断ビューアーで対応する親およびその子段階が閉じます。段階を作成する構文は次のとおりです。
stageObject = sldiagviewer.createStage(StageName,'ModelName',ModelNameValue)
この構文では、
StageName
は段階の名前を指定する必須の引数です (たとえば'Analysis'
)。'ModelName'
とModelNameValue
のペアを使用して段階のモデル名を指定します (たとえば、'ModelName'
、'vdp'
)。子段階はすべて親からモデル名を継承します。
段階の作成の例
my_stage = sldiagviewer.createStage('Analysis','ModelName','vdp');
診断メッセージのレポート
関数 sldiagviewer
を使用して、診断ビューアーでエラー、警告または情報メッセージをレポートできます。診断メッセージをレポートするための構文は次のとおりです。
sldiagviewer.reportError(Message)
:エラー メッセージをレポートします。sldiagviewer.reportWarning(Message)
:警告をレポートします。sldiagviewer.reportInfo(Message)
:情報メッセージをレポートします。
Message
は、エラー、警告またはビルド情報を表す必須の引数です。Message
には次の形式の値を指定できます。
文字列
MSLException
またはMException
オブジェクト
必要に応じて、構文で 'Component'
引数とその対応する値を使用して、メッセージを生成するコンポーネントまたは製品を指定できます (たとえば、'Simulink'
および 'Stateflow'
)。
診断のレポートの例
% Create a Stage to display all the messages my_stage = sldiagviewer.createStage('Analysis', 'ModelName', 'vdp'); % Catch the error introduced in vdp as an exception. try sim('vdp'); catch error % Report the caught exception as warning sldiagviewer.reportWarning(error); end % Report a custom info message to Diagnostic Viewer sldiagviewer.reportInfo('My Info message');
診断メッセージの記録
関数 sldiagviewer.diary
を使用して、シミュレーションの警告、エラーおよびビルド情報をファイルに記録できます。ログ ファイルを生成するための構文は次のとおりです。
sldiagviewer.diary
:診断ビューアーに送信されたビルド情報、警告およびエラーを取得し、現在のディレクトリ内のテキスト ファイルdiary.txt
に記録します。sldiagviewer.diary(filename)
:filename
によって指定されるテキスト ファイルのログ状態を切り替えます。sldiagviewer.diary(toggle)
:ログ機能を切り替えます。有効な値は'on'
および'off'
です。ログ ファイル名を指定しない場合、切り替え設定はログ用に最後に指定したファイル名またはdiary.txt
ファイルに適用されます。sldiagviewer.diary(filename,'UTF-8')
:ログ ファイルの文字エンコードを指定します。
この構文では、
filename
はデータの記録先のファイルを指定します。toggle
では、ログの状態を'on'
または'off'
に指定します。
診断メッセージの記録
% Start logging build information and simulation warnings and errors to diary.txt sldiagviewer.diary open_system('vdp') set_param('vdp/Mu','Gain', 'xyz') set_param('vdp', 'SimulationCommand', 'Start') % This introduces an error and do UI simulation which you can see in the diary log % Open diary.txt to view logs. %### Starting build procedure for model: vdp %### Build procedure for model: 'vdp' aborted due to an error. %... % Set up logging to a specific file % Make sure you have write permission for this location sldiagviewer.diary('C:\MyLogs\log1.txt') % Switch the logging state of a file sldiagviewer.diary('C:\MyLogs\log2.txt') % Switch on logging and specify a log file. open_system('vdp') set_param('vdp/Mu', 'Gain', 'xyz') set_param('vdp', 'SimulationCommand', 'Start') sldiagviewer.diary('off') % Switch off logging. openExample('simulink_automotive/ModelingAFaultTolerantFuelControlSystemExample',... 'supportingfile','sldemo_fuelsys'); % Any operation you do after the previous command will not be logged sim('sldemo_fuelsys') sldiagviewer.diary('on') % Resume logging in the previously specified log file. % Specify the filename to log to and character encoding to be used sldiagviewer.diary('C:\MyLogs\log3.txt','UTF-8')