主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

モデルの信号ログを有効にする

モデルレベルでの信号ログの有効化と無効化

信号をログに記録するには,ログ用に信号をマークします。詳細については,ログ記録用の信号の構成を参照してください。

モデルでのログ用にマークしたすべての信号のログ生成をグローバルに有効または無効にします。既定では,信号ログは有効です。金宝app动态仿真模块®は,[コンフィギュレーションパラメーター][データのインポート/エクスポート](信号のログ]パラメーターがオンの場合に信号をログに記録します。このオプションがオフになっている場合,金宝app仿真软件は個々の信号に関する信号ログ設定を無視します。

信号がログ用にマークされると,既定では信号データはワークスペースとシミュレーションデータインスペクターに記録されます。信号ログは[コンフィギュレーションパラメーター]ダイアログボックスを使用するか,あるいはプログラムによって無効にできます。

  • [コンフィギュレーションパラメーター]ダイアログボックスで,[コンフィギュレーションパラメーター][データのインポート/エクスポート](信号のログ]パラメーターチェックボックスをオフにする。

  • コマンドラインで,SignalLoggingパラメーターを使用する。

    set_param (bdroot“SignalLogging”“关闭”

ログを作成する信号のサブセットを選択

以下を備えたモデルのログを作成する信号のサブセットを選択できます。

  • 信号ログ有効

  • ログ信号

詳細については,信号ログ設定のオーバーライドを参照してください。

データセット信号要素の形式の指定

ログに記録された信号データは数据集形式で保存されます(金宝appSimulink.SimulationData.Datasetオブジェクトとして)。データセット内の個別の信号のデータでMATLAB®timeseriesまたは时间表要素を使用するかを指定するには,[データセットの信号形式)コンフィギュレーションパラメーターを設定します。既定の設定はtimeseriesです。詳細については,データセットの信号形式を参照してください。

レガシModelDataLogsAPIを使用するスクリプトの移行

ログ記録に(ModelDataLogs)形式を使用するR2016aより前のリリースで作成されたモデルをシミュレートするスクリプトでは,数据集形式でログ記録するようにコードを更新します。

信号データを(ModelDataLogs)形式で既にログに記録している場合,関数金宝appSimulink.ModelDataLogs.convertToDatasetを使用して,(ModelDataLogs)信号のログデータを[データセット]形式を使用するように更新できます。たとえば,older_model_dataset(ModelDataLogs)形式から[データセット]形式に更新するには,次の手順に従います。

new_dataset = logsout.convertToDataset (“older_model_data”

ModelDataLogs形式を使用するモデルを数据集形式を使用するモデルに変換する場合,既存モデルや,コールバック,関数,スクリプトまたはテストのコードに変更を加えなければならない場合があります。以下の表は,数据集形式への変換後に発生する可能性がある問題を示し,それぞれへの解決策を提示しています。

予想される数据集形式への変換後の問題 解決法

ModelDataLogsのプログラムインターフェイスによりデータにアクセスしていた既存のコールバック,関数,スクリプトまたはテストのコードが,エラー終了する場合がある。

ModelDataLogs形式のアクセスメソッドを使用するコードがあるかどうかをチェックします。そのコードを,数据集形式のアクセスメソッドを使用するように更新します。

たとえば,既存のコードに以下の行が含まれるとします。

logsout。(“子系统名称”) .X.data

このコードを数据集アクセスメソッドに置き換えます。

logsout.getElement (“x”) .Values.data

Muxブロック信号名が失われる。

数据集形式では,Muxブロック信号をベクトルとして処理します。信号名で信号を特定するには,Muxブロックを总线的创造者ブロックに置き換えます。

信号ログに信号ビューアーを使用できない。

金宝app仿真软件は信号ログデータを信号ビューアーに記録しません。

信号のログ出力変数を使用してログデータを表示します。

解压缩メソッドでエラーが生成される。

解压缩メソッドは,金宝app仿真软件。ModelDataLogsおよび金宝app仿真软件。SubsysDataLogsオブジェクトではサポートされていますが,金宝appSimulink.SimulationData.Datasetオブジェクトではサポートされて”いません”

たとえば,mlogのデータに,xyおよびzの3つのフィールドがあるとします。

ModelDataLogs形式データの場合,mlog.unpackメソッドはベースワークスペースに3つの変数を作成します。

数据集形式データの場合,名前でメソッドにアクセスします。次に例を示します。

x = logsout.getElement . values(“x”)

ModelDataLogs形式と数据集形式で,名前のない信号に対する命名規則が異なる。

必要に応じて,信号名を追加します。

ModelDataLogs形式では,金宝app仿真软件はブロックから出力される名前のない信号に対し,以下の形式の名前を割り当てます。

SL_BlockName + < portIndex >

例:SL_Gain1

数据集形式では,要素に名前は不要であるため,金宝app仿真软件は信号名を空のままにします。

ModelDataLogs形式と数据集形式の両方について,金宝app仿真软件は总线选择器ブロックから出力された名前のない信号に同じ名前を割り当てます。

参照モデル内のテストポイントがログに記録されない。

参照モデル内のテストポイントに対して信号ログの有効化を検討します。

スクリプトは関数または関数を使用します。

代わりに找到の使用を検討してください。

信号ログデータへの名前の指定

モデルの信号ログデータにアクセスするには,モデルレベルの信号ログ名を使用します。信号ログデータの既定の名前はlogsoutです。モデルレベルの信号ログ名を指定すると,ログデータのソースを特定しやすくなります。たとえば,データがモデルの信号ログデータであることがわかるように,car_logsoutという信号名を指定できます。

別のモデルレベルの信号ログ名を指定するには,以下のいずれかの方法を使用します。

  • [コンフィギュレーションパラメーター][データのインポート/エクスポート](信号のログ]パラメーターの隣のエディットボックスに,信号ログ名を入力します。

  • SignalLoggingNameパラメーターを使用して,信号ログ名を指定します。以下に例を示します。

    set_param (bdroot“SignalLoggingName”“heater_model_signals”

関連するトピック