モデルの信号ログを有効にする
モデル レベルでの信号ログの有効化と無効化
信号をログに記録するには、ログ用に信号をマークします。詳細については、ログ記録用の信号の構成を参照してください。
モデルでのログ用にマークしたすべての信号のログ生成をグローバルに有効または無効にします。既定では、信号ログは有効です。Simulink® は、[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [信号のログ] パラメーターがオンの場合に信号をログに記録します。このオプションがオフになっている場合、Simulink は個々の信号に関する信号ログ設定を無視します。
信号がログ用にマークされると、既定では信号データはワークスペースとシミュレーション データ インスペクターに記録されます。信号ログは、[コンフィギュレーション パラメーター] ダイアログ ボックスを使用するか、あるいはプログラムによって無効にできます。
[コンフィギュレーション パラメーター] ダイアログ ボックスで、[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [信号のログ] パラメーター チェック ボックスをオフにする。
コマンド ラインで、
SignalLogging
パラメーターを使用する。set_param(bdroot,'SignalLogging','off')
ログを作成する信号のサブセットを選択
以下を備えたモデルのログを作成する信号のサブセットを選択できます。
信号ログ有効
ログ信号
詳細については、信号ログ設定のオーバーライドを参照してください。
データセット信号要素の形式の指定
ログに記録された信号データは Dataset
形式で保存されます (Simulink.SimulationData.Dataset
オブジェクトとして)。データセット内の個別の信号のデータで MATLAB® timeseries
または timetable
要素を使用するかを指定するには、[データセットの信号形式] コンフィギュレーション パラメーターを設定します。既定の設定は timeseries
です。詳細については、データセットの信号形式を参照してください。
レガシ ModelDataLogs
API を使用するスクリプトの移行
ログ記録に [ModelDataLogs]
形式を使用する R2016a より前のリリースで作成されたモデルをシミュレートするスクリプトでは、Dataset
形式でログ記録するようにコードを更新します。
信号データを [ModelDataLogs]
形式で既にログに記録している場合、関数 convertToDataset
を使用して、[ModelDataLogs]
信号のログ データを [データセット]
形式を使用するように更新できます。たとえば、older_model_dataset
を [ModelDataLogs]
形式から [データセット]
形式に更新するには、次の手順に従います。
new_dataset = logsout.convertToDataset('older_model_data')
ModelDataLogs
形式を使用するモデルを Dataset
形式を使用するモデルに変換する場合、既存モデルや、コールバック、関数、スクリプトまたはテストのコードに変更を加えなければならない場合があります。以下の表は、Dataset
形式への変換後に発生する可能性がある問題を示し、それぞれへの解決策を提示しています。
予想される Dataset 形式への変換後の問題 | 解決法 |
---|---|
|
たとえば、既存のコードに以下の行が含まれるとします。 logsout.('Subsystem Name').X.data このコードを logsout.getElement('x').Values.data |
Mux ブロック信号名が失われる。 |
|
信号ログに信号ビューアーを使用できない。 | Simulink は信号ログ データを信号ビューアーに記録しません。 信号のログ出力変数を使用してログ データを表示します。 |
|
たとえば、
|
| 必要に応じて、信号名を追加します。
例:
|
参照モデル内のテスト ポイントがログに記録されない。 | 参照モデル内のテスト ポイントに対して信号ログの有効化を検討します。 |
スクリプトは関数 | 代わりに |
信号ログ データへの名前の指定
モデルの信号ログ データにアクセスするには、モデル レベルの信号ログ名を使用します。信号ログ データの既定の名前は logsout
です。モデル レベルの信号ログ名を指定すると、ログ データのソースを特定しやすくなります。たとえば、データが car
モデルの信号ログ データであることがわかるように、car_logsout
という信号名を指定できます。
別のモデル レベルの信号ログ名を指定するには、以下のいずれかの方法を使用します。
[コンフィギュレーション パラメーター] 、 [データのインポート/エクスポート] 、 [信号のログ] パラメーターの隣のエディット ボックスに、信号ログ名を入力します。
SignalLoggingName
パラメーターを使用して、信号ログ名を指定します。以下に例を示します。set_param(bdroot, 'SignalLoggingName', 'heater_model_signals')