Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

外部ドキュメントから Simulink オブジェクトへの移動

RMI には、外部ドキュメントでナビゲーション インターフェイスの作成を簡略化するための機能があります。ドキュメントを表示する外部アプリケーションは、MATLAB® ソフトウェアと通信するためのアプリケーション プログラミング インターフェイス (API) をサポートしていなければなりません。

一意のオブジェクト識別子の設定

RMI では、Simulink® または Stateflow® オブジェクトの要件リンクを作成する際に、そのオブジェクトに対するグローバルで一意の識別子を使用します。この識別子によりオブジェクトが識別されます。この識別子は、オブジェクトの名前の変更や移動、要件リンクの追加や削除を実行しても変更されません。RMI では、この一意の識別子はモデル内でオブジェクトを関連付ける目的でのみ使用されます。

関数 rmiobjnavigate の使用

関数 rmiobjnavigate によって Simulink または Stateflow オブジェクトが識別され、そのオブジェクトが強調表示された状態で、エディター ウィンドウが手前に表示されます。外部アプリケーションから Simulink モデルに移動する場合に、この関数を呼び出します。

特定のモデルの項目に最初に移動するときに、通信 API と内部データ構造が初期化されるため、処理が若干遅れる場合があります。それ以降の移動で大幅な遅れが発生することはありません。

ナビゲーション コマンドの特定

Simulink または Stateflow オブジェクトの要件リンクを作成するには、MATLAB プロンプトで次のコマンドを入力し、ナビゲーション コマンドを検索します (obj はオブジェクトのハンドルまたは一意に解決される名前です)。

[ navCmd, objPath ] = rmi('navCmd', obj);

navCmd メソッドの戻り値は次のとおりです。

  • navCmd — この文字ベクトルが MATLAB ソフトウェアにより評価されると、オブジェクトに移動します。

  • objPath — モデル オブジェクトを識別する文字ベクトルです。

外部アプリケーションから Simulink モデルのオブジェクト obj に移動する際に、navCmd を MATLAB ソフトウェアに送ります。objPath は、要件ドキュメントでターゲット オブジェクトを明確に特定するために使用します。

ActiveX ナビゲーション コントロールの使用

RMI では、特殊な Microsoft® ActiveX® コントロールが組み込まれたソフトウェアを使用して、Microsoft Word および Excel® ドキュメントから Simulink オブジェクトへの移動を実現します。このコントロールは、ドキュメント内で ActiveX をサポートしているどのアプリケーションでも使用できます。

このコントロールはプッシュ ボタンから派生したもので、Simulink アイコンで表されます。コントロールの動作は 2 つのインスタンス プロパティで決定されます。tooltipstring プロパティは、コントロールのツールヒントに表示されます。MLEvalCmd プロパティは、コントロールのクリック時に評価のために MATLAB ソフトウェアに渡される文字ベクトルです。

ナビゲーション コントロールを作成するための一般的なコード シーケンス

外部ツールへのインターフェイスを作成する場合、リンク作成を自動化することができます。これにより、ダイアログ ボックスのフィールドを手作業で更新する必要がなくなります。この種の自動化は、Microsoft Word および Excel ドキュメントなどの特定の組み込み型ドキュメントに対する選択ベースのリンク作成の一環として実行されます。

リンク作成を自動化するには、次の手順に従います。

  1. Simulink または Stateflow オブジェクトと、外部ドキュメント内の項目を選択します。

  2. Simulink メニューまたはコマンドを使用するか、外部アプリケーションの同様の機能を使用して、リンク作成処理を実行します。

  3. 外部ツールのスクリプト機能で、ドキュメントと現在の項目を特定します。この情報を MATLAB ソフトウェアに渡します。次の手順で、RMI API を使用して、選択したオブジェクトで要件リンクを作成します。

    1. 次のコマンドを使用して、空のリンク構造を作成します。

      rmi('createempty')
    2. 要件ドキュメント内のリンク先の場所に基づいて、リンク構造フィールドに入力します。

    3. 次のコマンドを使用して、オブジェクトへのリンクを付加します。

      rmi('cat')
  4. navCmd メソッドを使用して、外部ツールに組み込まなければならない MATLAB ナビゲーション コマンドを特定します。

    [ navCmd, objPath ] = rmi('navCmd',obj)

  5. 外部ツールのスクリプト機能を使用して、外部ドキュメントにナビゲーション項目を作成します。プロパティに MATLAB ナビゲーション コマンドを設定します。

    外部ツールで作成された ActiveX ナビゲーション オブジェクトを使用する場合、MLEvalCmd プロパティを navCmd に、tooltipstring プロパティを objPath にそれぞれ設定します。

この手順の MATLAB コード実装を、関数 SelectionLinkFcn としてリンク タイプ定義ファイルで定義します。matlabroot\toolbox\slrequirements\linktype_examples にある次のファイルには、この機能の実装例があります。

linktype_rmi_doors.m
linktype_rmi_excel.m
linktype_rmi_html.m
linktype_rmi_text.m