学生用 小坂研

xPC Target
付録版
目次
第 1 章 インストール
1.1 MATLAB・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

1.2 C コンパイラ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

1.3 Target PC ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

 1.3.1  PCI AD/DA/PIO ボードの実装 ・・・・・・・・・・・・・・・・・・・・・

 1.3.2 サポートされた LAN カードの挿入・・・・・・・・・・・・・・・・・・・・

1.4 ホストと Target PC の接続・・・・・・・・・・・・・・・・・・・・・・・・・

第 2 章 初期設定
2.1 IP アドレス・サブネットマスクのセット・・・・・・・・・・・・・・・・・・・

2.2
Simulink・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・5
2.3

xPC

Target

Explorer・・・・・・・・・・・・・・・・・・・・・・・・・・・・5
2.4 Host-Target 接続 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

第 3 章 実験
 

3.1

Target



PC







・・・・・・・・・・・・・・・・・・・・・・・・・・・・8
3.2 簡単な Simulink モデルの作成 ・・・・・・・・・・・・・・・・・・・・・・・

3.3

 

Simulink











加・・・・・・・・・・・・・・・・・・10

0 



















3.4 アウトポートブロックへのパラメータの入力・・・・・・・・・・・・・・・・・
10
 

3.5

xPC

target



Scope











加・・・・・・・・・・・・・・・・・・・・・・12
3.6

 

xPC

Target



Scope















力・・・・・・・・・・・・・・・・・・・・13
 3.6.1 Type Target の xPC Target へのパラメータ入力・・・・・・・・・・・・・・
13
 

3.6.2

Type

Host



xPC



Target















力・・・・・・・・・・・・・・・15
3.6.3 Type File の xPC Target へのパラメータ入力・・・・・・・・・・・・・・・
17
3.7 Simulink を用いたモデルのシミュレーション・・・・・・・・・・・・・・・・・
19
3.8 MATLAB を用いたモデルのシミュレーション ・・・・・・・・・・・・・・・・
19
 

3.9

target



PC





・・・・・・・・・・・・・・・・・・・・・・・・・・・・・19
3.10

 

Real-Time



Workshop













力・・・・・・・・・・・・・・・・・・・20
3.11

 

































み・・・・・・・・・・・・・・・・・・・・21
 

3.12



Time-Out





加・・・・・・・・・・・・・・・・・・・・・・・・・・・・22
3.13

 

xPC

Target



Explorer









御・・・・・・・・・・・・・・・・・・・・・22
3.14 target PC 上でのアプリケーションの読み込みと実行・・・・・・・・・・・・・
24
3.15 アプリケーションプロパティの処理 ・・・・・・・・・・・・・・・・・・・・
25
3.16 MATLAB コマンドでの制御・・・・・・・・・・・・・・・・・・・・・・・・
26
3.17

 

Simulink

External

Mode











御・・・・・・・・・・・・・・・・・・・27
3.18

 

xPC

Target



Explorer

察・・・・・・・・・・・・・・・・・・28

1 















3.19 MATLAB インターフェースを用いた信号の観測・・・・・・・・・・・・・・・
29
 

3.20

Stateflow



states



測・・・・・・・・・・・・・・・・・・・・・・・・・・30
3.21

 

xPC

Target

Explorer









Stateflow

States





測・・・・・・・・・・・・31
3.22 MATLAB インターフェースを用いた Stateflow States の観測・・・・・・・・・
32
3.23

 

xPC

Target



Explorer















跡・・・・・・・・・・・・・・・・・・32
3.23.1



Scope





・・・・・・・・・・・・・・・・・・・・・・・・・・・・・32
3.23.2

 



Scope











加・・・・・・・・・・・・・・・・・・・・・・・・・34
 

3.23.3



Scope



止・・・・・・・・・・・・・・・・・・・・・・・・・・・・・35
 

3.23.4

Triggering

Scopes

・・・・・・・・・・・・・・・・・・・・・・・・・・35
3.23.5 ホスト PC へのファイルのコピー・・・・・・・・・・・・・・・・・・・・
35
3.23.6 タイプファイルの Scope から MATLAB ワークスペースへのデータ転送・・・
36
3.23.7 xPC Target アプリケーションセッションの保存とリロード ・・・・・・・・
37
3.24 MATLAB インターフェースを用いた信号の追跡・・・・・・・・・・・・・・・
37
3.24.1 MATLAB インターフェースと Type Target の Scope を用いた信号の追跡・・
37
3.24.2 MATLAB インターフェースと Type File の Scope を用いた信号の追跡・・・
40
3.25   xPC

Target

Scope

ブ ロ ッ ク を 用 い た 信 号 の 追 跡

・・・・・・・・・・・・・・・44
 3.25.1 参照したモデルからの xPC Target Scope ブロックの使用・・・・・・・・・
44
3.25.2

 

Type

Host

Scope・・・・・・・・・・・・・・・・・・・・・・・・・・44

2 



 

3.25.3

Type



Target







プ・・・・・・・・・・・・・・・・・・・・・・・・44
 

3.25.4

Type



File

Scope

・・・・・・・・・・・・・・・・・・・・・・・・・・45
3.26

 

Simulink

External



Mode















跡・・・・・・・・・・・・・・・・45
 

3.26.1



限・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・45
 

3.26.2









に・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・46
3.27

 

External

Mode

Example







































跡・・・・・・・・・・・・・・・・46
3.28

 



Web









・・・・・・・・・・・・・・・・・・・・・47
3.29

 

xPC

Target



Explorer









録・・・・・・・・・・・・・・・・・・48
3.30 MATLAB Interface での信号の記録 ・・・・・・・・・・・・・・・・・・・・
48
3.31

 



Web



























調

・・・・・・・・・・・・・・・・・・・・・50
3.32

 

xPC

Target

Explorer

















整・・・・・・・・・・・・・・・・50
3.33 MATLAB インターフェースを用いたパラメータ調整・・・・・・・・・・・・・
51
3.34 アプリケーションパラメータのリセット ・・・・・・・・・・・・・・・・・・
53
3.35

 

Simulink

External

Mode



















調





調



整・・・・・・・・・・・・・・53
3.36

 

Web























・・・・・・・・・・・・・・・・・・・55
3.37 MATLAB インターフェースを用いたアプリケーションパラメータの保存とリロード
・・・・・・・・・・・・・・・・・・
55
3.38 dat ファイルから mat ファイルへの変換 ・・・・・・・・・・・・・・・・・・
55

3 

第 4 章 補足
 

4.1











・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・56
4.2 MATLAB の使用例 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・
56
 

 

4.2.1



mat











・・・・・・・・・・・・・・・・・・・・・・・・・・・56
 

 

4.2.2



plot



・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・56
 

4.3





・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・56

1.インストール
1.1 MATLLAB

4 



matlab のインストール CD を使用してインストールする。
1.2 C コンパイラ
1.2.1 Open Watcom バージョン 1.3 をダウンロード
  

1.2.2 インストール時、「Program files」のようにスペースを用いたディレクトリ
名は避ける。
1.3 Target PC
1.3.1 PCI AD/DA/PIO ボードの実装
1.ボードを実装する前にシステムをシャットダウンし、コンセントからパソコ
ンの電源ケーブルを抜く。
2.パソコンのカバーを外し、ボードを実装できるようにする。
3.拡張スロットにボードを実装する。
4.ボードのプラケットをパソコンにネジで固定する。
5.パソコンのカバーを取り付け、元の状態にする。

 実装できるPCIバススロット
  パソコンに搭載されているPCIバススロットには、5V用PCIバスボードと3.3V用

5 

PCIバスボードの誤挿入を防止するためのキーがある。このボードは、5V用PCIバ
ススロット及び3.3V用PCIバススロットの両方に実装できる。

1.3.2 サポートされた LAN カードの挿入
  xPC がサポートしている LAN カードを差し込む。

6 

7 

1.4 ホストと target PC の接続
  

LAN ケーブルを接続する。クロスの LAN ケーブルがない場合は、下記のようにス
トレートの LAN ケーブルをクロスにする。白黄1⇔白緑3、黄2⇔緑6

8 

2.初期設定
  2.1 ホスト側の PC の IP アドレス、サブネットマスクをセットする。
  2.2 Simulink モデル “Simulation”タブ → 設定パラメータ
2.2.1 “Fixed Step”への”Solver”に”Type”を設定する。
    2.2.2 “xpctarget.tlc”への”real time workshop”に”system target file”を
設定する。
  2.3 MATLAB のコマンドウィンドウに”xpcexplr”と入力する
     

2.3.1

Host PC Root → Compiler Configulation → Select C

compiler:”Watcom”
       Compiler pass を”c:\watcom”のようにセットする。

   2.3.2 Target PC1
2.3.2.1 Configulation → Target boot type:”Boot Floppy”
もしネットに接続していない状態なら、”StandAlone”を選択する。
      2.3.2.2 Communication → Communication Protocol:”TCP/IP”
        

IP アドレスとサブネットマスクをセットし、ネットに接続していない
状態なら”RS232C”を選択する。

9 

2.4 Host-Target 接続
     xPC Target はホスト PC と target PC の間の 2 つの接続と通信プロトコルをサ
ポートする。
シリアル接続 ・・・ ホストと target PC は RS-232 ポートを使用して直接シ
リアルケーブルで接続される。このケーブルは長さが最大 5
m、転送レートが 1200~115200[baud]ならば、ヌルモデ
ムリンクとして配線される。

10 

    ネットワーク接続 ・・・ ホストと target PC はネットワークを通して接続さ
れる。 ネットワークは、クロスオーバーイーサネットケ
ーブ  ルを使用している直接接続、または LAN、インタ
ーネットがある。ホストと target PC の両方が TCP/IP プ
ロトコルを使用しているイーサネットアダプタカードで
コミュニケーションに状態でネットワークに接続される。
                ネットワーク接続を使用するとき、target PC は、xPC
Target 製品が提供しているイーサネットアダプタカード
かサポートしているカードを使用できる。データ転送速
度は 10Mbps、1Gbps、10Gbps であれば使用できる。

11 

3.実験
3.1 Target PC との接続
 1.モデルで使用する定数をセットするため、MATLAB のコマンドウィンドウ
に”C_TS=0.1”のようにサンプリング時間を入力する。
2.モデルの上の“help”タブから“External”をクリックする。
3.モデル上の”External”の近くの”Incrimental build”ボタンをクリックする。
4.モデル上の”External”の近くの”Connect target”ボタンをクリックする。
5.“Connect target”ボタンの隣の”Run”ボタンをクリックし、制御を開始する。
6.もし定数を変更する場合は、要素をダブルクリックして変更する。変更箇所が多
い時は、再び”Incrimental build”を行う。
7.スコープによって定義された名前がついたデータが MATLAB のコマンドウィン
ドウにストックされる。
8.大きなデータはモデル内のファイルの Scope に作られることで、target PC 内
のドライブにストックされる。それを開くには xpcexplr → “Connect target”
ボタンをクリック→ File System → local disk →”data??.dat”を右クリック
し、”send to host”を選択。コマンドウィンドウに以下のように入力する。
1    h=fopen(‘data??.dat);
2    data=fread(h);
3    fclose(h);
4    data=uint8(data’);
5    data=readxpcfile(data);

12 

3.2 簡単な Simulink モデルの作成
目的の対象を作成する前に、Simulink モデルを作成する必要がある。xPC Target は、対
象を作成するのに Simulink モデル、Real-Time Workshop 環境、および第三者コンパイラ
を使用する。以下に、xPC Target の処理に必要とするタスクについて説明するために簡単
な Simulink モデルを使用する。モデルは伝達関数と信号発生器ブロックを使用する。モデ
ルをシミュレートしている間、信号を視覚化する場合、標準の Simulink Scope ブロックを
加える必要がある。
1.MATLAB コマンドウィンドウに、simulink と入力する。
2.ファイルメニューからは、New を選択。次に、Model をクリックする。
空白の Simulink モデルウィンドウが開く。
3.左の枠では、Simulink をダブルクリックし、次に Continuous をクリ
ックする。
右の枠の Simulink ライブラリはブロックのリストを示している。
4.Simulink モデルウィンドウに Transfer Fcn ブロックをドラッグ&ドロップする。
5.Numerator と Denominator 値を調整して、反映させる。
6.Simulink ライブラリブラウザのウィンドウでは、以下のブロックをドラッグ&ドロ
ップする。
Sources をクリック、Signal Generator ブロックを加える。
Sinks をクリック、Scope ブロックを加える。
Signal ルート設定をクリック、Mux ブロックを加える。
7.Signal Generator ブロックをダブルクリックすると Block Parameters ダイアロ
グボックスが開く。 Wave フォームリストからは square を選択する。
8.Amplitude テキストボックスに 1 を入力する。
9.Frequency テキストボックスに 20 を入力。
10.Units リストから rad/秒を選択する。
11.Transfer Fcn ブロックをダブルクリックする。
12.Numerator と Denominator パラメータを編集する。
13.Transfer Fcn ブロックに Signal Generator ブロックをつなげると、入力信号と出
力信号は Mux ブロックを使用することによって Scope ブロックにつながる。
14.File メニューから Save As をクリック、ファイル名(例:xpc_osc)を入力してか
ら OK をクリックする。
xPC Target における信号のリアルタイムでの視覚化に、Simulink Scope ブロック
か xPC Target Scope ブロックのどちらかを使用できる。Simulink External Mode
と目標アプリケーション信号を視覚化するのに、どのように Simulink Scope ブロ
ックを使用するか関しては信号の追跡を参照すること。

13 

3.3 Simulink へのアウトポートブロックの追加
解析のために信号データを MATLAB ワークスペースに記録して、後でそのデータをディ
スクに保存する場合は Simulink Outport ブロックを加えて、Configuration Parameters
ダイアログボックスから記録を起動する必要がある。
以下の手順では例として Simulink モデル xpc_osc.mdl を使用する。このモデルを作成
するには簡単な Simulink モデルの作成を参照のこと。
1. MATLAB のウィンドウに xpc_osc と入力すると xpc_osc が Simulink ブロック図
で開かれる。
2. Simulink のウィンドウで、view メニューから、ライブラリブラウザをクリックする。
Simulink ライブラリブラウザのウィンドウが開く。
3. 左の枠から Simulink を開き、Sinks を選択する。
4. Out1 ブロックをモデルにドラッグ&ドロップし、Mux ブロックに繋げる。
5. File メニューから Save as をクリックし、ファイル名を入力(例:xpc_osc1)して
ok をクリックする。
3.4 アウトポートブロックへのパラメータの入力
シミュレーションの間、Simulink は Outport ブロックを使用することで MATLAB 変数
に信号データを保存する。 デフォルトでの MATLAB 変数は Tout、Xout、Yout である。 リ
アルタイムアプリケーションを実行している間、xPC Target インターフェースはオブジェ
クトパラメータのために、信号データを通過するのに同じ変数を使用する。目標オブジェク
トは xPC Target が目標アプリケーションとの相互作用に使用する MATLAB ワークスペー
スの構造である。デフォルト目標オブジェクトは tg であり、デフォルトでのパラメータは
時間、tg ステータス、tg 出力である。
Simulink モデルに Outport ブロックを追加した後、パラメータを入力できる。 この手順は
例として Outport ブロックがあるモデルである xpc_osc1.mdl を使用する。 Outport ブ
ロックを加えるには、Simulink へのアウトポートブロックの追加を参照のこと。
1.MATLAB のウィンドウで xpc_osc1 と入力すると Simulink ウィンドウで
xpc_osc1 が開かれる。
2.Simulink のウィンドウより、Simulation メニューから Configuration
Parameters をクリックする。
3.モデルに Configuration Parameters ダイアログボックスを表示するため、Solver
ノードをクリックする。

14 

4.Simulink は Solver 枠を表示する。この枠の Simulation 部は目標アプリケーション
の初期停止とサンプル時間を定義する。
Solver オプションでスタート時間を 0 秒と入力する。停止時間に初期の停止時間を
入力する(例:20 秒)。目標アプリケーションをビルドした後に変更するには
MATLAB コマンドラインインタフェースを使用することで目標オブジェクトのプロ
パティの tg.Stoptime を変更する。停止時間を無限に指定するには inf と入力すれ
ばよい。
5.Type リストから Fixed-step を選択すると、Real-Time Workshop は可変ステップ
Solver をサポートせず、Solver 枠のダイアログが変化する。
6.Solver リストから Solver を選択する(例: Solver ode4(Runge-Kutta)など)。
7.Fixed step size に目標アプリケーションのサンプル時間を入力する(例:
0.00025 秒)。目標アプリケーションをビルドした後でもこの値の変更は可能であ
る。CPU への負荷が大きい場合は 0.002 秒など、より大きい値で試みる。
モデルが離散的な状態なら、離散的な状態のサンプル時間は Fixed step size の倍数
であるだけかもしれない。モデルがどんな連続した状態も含まなければ auto と入力
する。そうすれば、サンプル時間はモデルから返される。
 8.Data Import/Export ノードをクリックする。
Data Import/Export が開く。この枠はモデルのシミュレーションの間、もしくは目
標アプリケーションが実行している間に記録されたモデルの信号を定める。
この枠のワークスペースセクションでの Save では、Time、States、および Output
チェックボックスにチェックを入れる。

15 

3.5 xPC target Scope ブロックの追加
Simulink モデルに xPC Target Scope ブロックを追加すると時間を節約させることが
できる。アプリケーションを作る際、モデルは追加した xPC Target Scope ブロックを含ん
でおり、アプリケーションをダウンロードした後に、xPC Target Scope ブロックは PC モ
ニタ上に自動的に表示される。xPC Target Scope ブロックをモデルに追加することなく、
リビルドせずに目標アプリケーションの信号をモニタしたい場合は、xPC Target の Scope
を追加し、定義してから信号を選択する必要がある。信号情報はモデルと共に保存される。
Simulink モデルを作成した後に xPC Target Scope ブロックを加えることができる。
以下の手順は、どのようにモデルに xPC Target Scope ブロックをつなげるかを示してお
り、例として Simulink モデル xpc_osc1.mdl を使用する。
1. MATLAB ウィンドウに xpc_osc1 と入力する。xpc_osc1 が Simulink ブロック図で
開かれる。
2. Simulink のウィンドウでは view メニューからライブラリブラウザを選択し、ウィ
ンドウが開く。
3. 左の枠から xPC Target をダブルクリックすると、入出力のリストが開く。
4. Misc をクリックし、グループブロックのリストを開く。
5. Scope(xPC)を Simulink ブロック図にドラッグ&ドロップする。Simulink 上にモデ
ルに新しい Scope ブロック(Id:1)を追加する。

6. Simulink Scope ブロックに xPC Target Scope ブロックを繋げる。
7. File メニューからは Save As をクリック、ファイル名を入力する(例:
xpc_osc2)。次に、OK をクリックする。

16 

3.6 xPC Target Scope へのパラメータ入力
 xPC Target Scope ブロックのパラメータは、Scope とトリガモードでたどる信号を定
義する。アプリケーションを target PC に読み込む時、xPC Target のカーネルは自動的に
Scope を作成する。Scope が初期のままでよい場合は追加定義の必要はない。
 Simulink モデルに xPC Target Scope ブロックを追加した後に、ブロックパラメータを
入力できる。xPC Target Scope ブロックを追加するため、Adding から xPC Target
Scope ブロックを追加する。パラメータに入るには、xPC Target Scope ブロックが
target PC のファイルに信号データを書き込むには Type file の xPC Target へのパラメー
タ入力を参照のこと。
xPC Target Scope へのパラメータ入力には 3 つの Scope のタイプ
(Target、Host、File)がある。 xPC Target Scope ブロックのダイアログはどのタイプで
構成しているかによって変わる。
3.6.1 Type Target の xPC Target へのパラメータ入力
この手順は例としてモデル xpc_osc2.mdl を使用する。
1. MATLAB のウィンドウに xpc_osc2 と打ち込み、xpc_osc2.mdl が Simulink ブロ
ック図によって開かれる。
2. Scope(xPC)ブロックをダブルクリックし、ブロックパラメータ:Scope(xPC)ダイ
アログボックスを開く。

3.Scope 数のボックスでは、Scope を特定する独自の番号を表示している。新しい
xPC Target Scope ブロックを加えるたびにこの数は増加する。
この数はホスト PC か target PC で xPC Target Scope ブロックと Scope スクリ
ーンを確認する。

17 

  4.選択されていない場合、Scope Type のリストから Target を選択すると、更新さ
れたダイアログボックスが表示される。

5.目標アプリケーションがダウンロードされて開始するとき、観測を開始するため
にチェックボックスを開始したら StartScope を選択する。
6.Scope モードのリストから Numerical もしくは Graphical redraw あるいは
Graphical rolling を選択する。Target の観察タイプと Numerical の観察モード
があれば、Scope ブロックのダイアログは Numerical をダイアログに追加する。
さらにデータの表示形式を決める。Numerical を完成しない場合は、xPC Target
は%15.6f の初期設定の書式を使用することで信号を表示する。15.6f は浮動小数
点の形式である。
7.Numerical ボックスには、ラベルと、関連値の表示する信号の書式タイプを入力す
る。初期設定では入力形式は浮動小数点であり%15.6f である。 Numerical ボッ
クスは以下の形式の入力を取る。
'[LabelN] [%width.precision][type] [LabelX]'
  8.Grid チェックボックスを選択して、Scope 上に格子線を表示する。Type Target
の Scope と type Graphical redraw の観測モード、Graphical sliding または
Graphical rolling の Scope のみ、このパラメータが適切であることに注意する。
  9.Y 軸限界に行ベクトルを入力する。ボックスの 2 つの要素が最初の要素が Y 軸の下
限であり、2 番目の要素が上限である。スケーリングを自動に設定する場合は両方
の要素に 0 を入力する。Type Target の Scope と type Graphical redraw の観
測モード、Graphical sliding または Graphical rolling の Scope のみ、このパラ
メータが適切であることに注意する。

18 

  10.サンプル数にデータパッケージで得られた数値を入力する。Graphical redraw
の Scope モードを選択する場合は、このパラメータはグラフが描き直される前に
得られた数値を指定する。
FreeRun 以外のトリガモードを選択するなら、このパラメータは次のトリガ実行
の前に取得したサンプル数を指定できる。
  11.pre/post サンプル数には、保存もしくはスキップするサンプルの数を入力する。
トリガ実行の前にこのサンプル数を保存するために 0 以上の値を指定する。
  12.Decimation にはデータが各サンプル時(1)もしくは毎サンプル時(2以上)に集
められるよう数値を入力する。
  13.Trigger モードリストから FreeRun を選択する。
FreeRun か Software Triggering を選択する場合、トリガ実行は自動であり、外
部のトリガ仕様は全く必要ない。
Signal Triggering を選択する場合は、トリガ信号に信号のインデックスを入力す
る。トリガレベルには、トリガ前の信号が通る値を入力する。トリガスロープリス
トからは、上昇または下降のどちらかを選択する。Scope のトリガを指定する必要
はない。
Scope Triggering を選択する場合は、トリガ Scope 数に、1 つの Scope ブロック
の Scope 番号を入力する。また、このトリガモードを使用する際は 2 番目の
Scope ブロックを Simulink モデルに追加しなければならない。その際、信号のト
リガを指定する必要はない。Scope Triggering を選択して、もう片方の Scope の
特定のサンプル上にトリガをする Scope が必要なら、Sample to trigger on に
数値を入力する。初期状態では値は 0 であり、トリガとなる Scope とトリガされ
た(現在の)Scope が同時に始動することを表している。
  14.OK をクリックする。
  15.File メニューから Save as を選択し、xpc_osc2.mdl.として保存する。
3.6.2 Type Host の xPC Target へのパラメータ入力
  この手順では例としてモデル xpc_osc2.mdl を使用する。
  1.MATLAB ウィンドウに xpc_osc2 と打ち込み、xpc_osc2 を Simulink ブロック図
で開く。
  2.Scope(xPC)ブロックをダブルクリックすると、ブロックパラメータ:
Scope(xPC)ダイアログボックスが開く。
初期設定では type target の Scope が表示される。

19 

  3.Scope 番号では Scope を特定する独自の番号を表示する。新しい xPC Target
Scope を追加するたびにこの値は増加する。通常、この値は編集しない。
この値はホスト PC か target PC 上で xPC Target Scope ブロックと Scope スク
リーンを確認する。
  4.Scope type のリストから Host を選択する。更新されたダイアログボックスが表
示される。
  5.目標アプリケーションがダウンロードされてから開始する時、観測を開始するた
めにチェックボックスを開始したら StartScope を選択する。Type target の
Scope で、Scope のウィンドウは自動的に開く。Type host の Scope で xPC
Target Explorer からホスト Scope ビューアーのウィンドウを開くことができる。
  6.サンプル数に値を入力し、データパッケージから取得した数値を入力する。
7.pre/post サンプル数は保存もしくはスキップするサンプル数を入力する。トリガ実
行の前にこのサンプル数を保存するために 0 未満の値を指定する。トリガ実行の
後のデータ取得が始まる前に、このサンプル数をスキップするために 0 以上の値
を指定する。
  8.Decimation にはデータが各サンプル時(1)もしくは毎サンプル時(2以上)に集め
られるよう数値を入力する。
  9.Trigger モードリストから FreeRun を選択する。
FreeRun か Software Triggering を選択する場合、トリガ実行は自動であり、外
部のトリガ仕様は全く必要ない。
Signal Triggering を選択する場合は、トリガ信号に信号のインデックスを入力す
る。トリガレベルには、トリガ前の信号が通る値を入力する。トリガスロープリス
トからは、上昇または下降のどちらかを選択する。Scope のトリガを指定する必要
はない。
Scope Triggering を選択する場合は、トリガ Scope 数に、1 つの Scope ブロック
の Scope 番号を入力する。また、このトリガモードを使用する際は 2 番目の
Scope ブロックを Simulink モデルに追加しなければならない。その際、信号のト
リガを指定する必要はない。Scope Triggering を選択して、もう片方の Scope の
特定のサンプル上にトリガをする Scope が必要なら、Sample to trigger on に
数値を入力する。初期状態では値は 0 であり、トリガとなる Scope とトリガされ
た(現在の)Scope が同時に始動することを表している。
  10.OK をクリックする。
  11.File メニューから Save as を選択し、xpc_osc2.mdl.として保存する。

20 

3.6.3 Type File の xPC Target へのパラメータ入力
Type host の Scope を通って信号データを記録することに加え、xPC Target に信号デ
ータを target PC の C:\ハードドライブもしくは 3.5 インチディスクドライブに保存さ
せることができる。Simulink モデルに xPC Target Scope ブロックを追加した後 、
target PC 上にファイルを保存するためにこのブロックを構成できる。ネットに接続し
ていない xPC Target システムとして target PC を使用しているとき、信号データをフ
ァイルに保存するのは最も役に立つ。 Type ファイルの xPC Target Scope が作成する
信号データファイルのコンテンツにアクセスするには、ホスト PC の MATLAB のウィン
ドウより xPC Target ファイルシステム(xpctarget.fs)を使用する。信号データを見た
り調べたりするために、プロット機能に関連した readxpcfile ユーティリティを使用で
きる。
  1.MATLAB ウィンドウに xpc_osc2 と入力すると、xpc_osc2.mdl が Simulink ブ
ロック図で開かれる。
  2.Scope(xPC)ブロックをダブルクリックする。ブロックパラメータ : Scope(xPC)
ダイアログボックスが開く。初期設定では、Type Target ダイアログの Scope を
表示する。
  3.Scope 番号では Scope を特定する独自の番号を表示する。新しい xPC Target
Scope を追加するたびにこの値は増加する。通常、この値は編集しない。
この値はホスト PC か target PC 上で xPC Target Scope ブロックと Scope スク
リーンを確認する。
  4.Scope type のリストから File を選択する。更新されたダイアログボックスが表示
される。
  5.目標アプリケーションが読み込まれてから開始する時、観測を開始するためにチ
ェックボックスを開始したら StartScope を選択する。Type target の Scope で 、
Scope のウィンドウは自動的に開く。
  6.サンプル数にデータパッケージから取得した数値を入力する。このパラメータは
AutoRestart チェックボックスに関連して動作する。AutoRestart が選択されて
いれば、Type file の Scope はデータをサンプル数まで集め、バッファを上書きし
ながら繰り返される。AutoRestart が選択されていなければ Type file の Scope
はデータをサンプル数まで集め、停止する。
  7.pre/post サンプル数は保存もしくはスキップするサンプル数を入力する。トリガ
実行の前にこのサンプル数を保存するために 0 未満の値を指定する。トリガ実行
の後のデータ取得が始まる前に、このサンプル数をスキップするために 0 以上の
値を指定する。
  8.Decimation にはデータが各サンプル時(1)もしくは毎サンプル時(2以上)に集め
られるよう数値を入力する。

21 

  9.Trigger モードリストから FreeRun を選択する。
FreeRun か Software Triggering を選択する場合、トリガ実行は自動であり、外
部のトリガ仕様は全く必要ない。
Signal Triggering を選択する場合は、トリガ信号に信号のインデックスを入力す
る。トリガレベルには、トリガ前の信号が通る値を入力する。トリガスロープリス
トからは、上昇または下降のどちらかを選択する。Scope のトリガを指定する必要
はない。
Scope Triggering を選択する場合は、トリガ Scope 数に、1 つの Scope ブロック
の Scope 番号を入力する。また、このトリガモードを使用する際は 2 番目の
Scope ブロックを Simulink モデルに追加しなければならない。その際、信号のト
リガを指定する必要はない。Scope Triggering を選択して、もう片方の Scope の
特定のサンプル上にトリガをする Scope が必要なら、Sample to trigger on に
数値を入力する。初期状態では値は 0 であり、トリガとなる Scope とトリガされ
た(現在の)Scope が同時に始動することを表している。
  10.Filename に信号データを含むファイルの名前を入力する。初期状態では target
PC は C:\data.dat というファイル名で信号データを書き込む。
  11.Mode リストから Lazy か Commit のどちらかを選択する。両方のモードはファ
イルを開いて、ファイルに信号データを書き込み、次に、セッションの終わりにそ
のファイルを閉じる。Commit モードでは各ファイルは操作を書き込み、同時にフ
ァイルへの FAT 入力を更新する。このモードは遅いが、ファイルシステムは常に実
際のファイルのサイズを把握している。Lazy モードではファイルが閉じられた場
合のみ FAT 入力が更新され、各ファイルが操作を書き込む際には更新されない。こ
のモードは速いが、ファイルが閉じられる前にシステムがクラッシュすれば、ファ
イルシステムが実際のファイルサイズを把握していないかもしれない(ファイルコ
ンテンツは損なわれないだろう)。
  12.WriteSize に多量のデータのブロックのサイズを入力する。このパラメータはサ
ンプル長のメモリバッファが多量の WriteSize のファイルにデータを書き込むの
を指定する。初期設定では、このパラメータは 512 バイトとなっている(典型的な
ディスクセクターのサイズ)。 ディスクセクターのサイズと同じブロックサイズを
使用することによって最適性能で使用できる。
  13.サンプル数にデータパッケージから取得した数値を入力する。
  14.AutoRestart を選択して、Type file の Scope がデータをサンプル数まで集めら
れるようにする。そして信号データファイルの終わりに新しいデータを追加して
繰 り 返 す 。 Type file の Scope を サ ン プ ル 数 ま で 集 め 、 停 止 す る よ う に
AutoRestart チェックボックスをクリアする。名前が付けられた信号データファ

22 

イルが既に存在している場合、xPC Target は古いデータに新しい信号データを上
書きする。
3.7 Simulink を用いたモデルのシミュレーション
リアルタイムでないモデルの動作を観測するために、通常モードで Simulink を使用する。
この手順は、例として Simulink モデル xpc_osc2.mdl を使用して既にそのモデルを読み込
んだと仮定する。
1.MATLAB ウィンドウに xpc_osc と打ち込み、Simulink ブロック図でモデルを表示
する。
2.Simulink ウィンドウで Scope ブロックをダブルクリックし、Scope ウィンドウを
開く。
3.Simulation メニューから Normal を選択し、Start をクリックする。Scope 1のウ
ィンドウに信号データの図が表示される。
4.シミュレーションを停止時間まで実行、または手動でシミュレーションを止めるこ
ともできる。手動でシミュレーションを止めるには、 Simulation メニューから 、
Stop をクリックする。
3.8 MATLAB を用いたモデルのシミュレーション
 リアルタイムでないモデルの動作を観測するために、Simulink モデルのシミュレーシ
ョンを実行する。Simulink モデルを MATLAB ワークスペースに読み込んでシミュレー
ションができる。この手順は、例として Simulink モデル xpc_osc2.mdl を使用し、既に
そのモデルを読み込んだと仮定する。
 1.MATLAB のウィンドウに sim(’xpc_osc2’)と入力する。Simulink は完了まで通常
モードでシミュレーションを実行し、手動でシミュレーションを停止することは
できない。
 2.Simulink でのシミュレーションが終了してから plot(tout,yout)と入力する 。
Configuration Parameters ダイアログボックスで MATLAB 変数 tout と yout
を Data I/O 枠に入力したことになる。信号は Outport ブロックを通ってメモリに
登録される。MATLAB の plot ウィンドウが開き、出力応答が表示される。
3.9 target PC の起動
target PC を起動し、xPC Target カーネルを target PC に読み込んで開始する。xPC
Target ソフトウェアはホスト PC から目標アプリケーションの読み込みが可能となる。
xPC Target Explorer とセットアップのための target boot ディスクを使用すること
で xPC Target 製品を構成した後、target PC を起動できる。ビルドプロセスが自動的に
アプリケーションを target PC に読み込むため、アプリケーションを作成する前に
target PC を起動する必要がある。

23 

1.target PC ディスクドライブに target boot ディスクを挿入する。
2.target PC の電源を入れるか、Reset ボタンを押す。

3.10 Real-Time Workshop パラメータの入力
 Configuration Parameters ダイアログボックスの中にシミュレーションとリアルタイ
ムの実行パラメータを入力する。これらのパラメータはどう目標アプリケーションをビル
ドするかに関して Simulink モデルから Real-Time Workshop へ情報を送っている。
 Simulink モデルを読み込んで target PC を起動後、シミュレーションパラメータを入力
できる。 この手順では、例として Simulink モデル xpc_osc2.mdl を使用し、既にそのモデ
ルを読み込んだと仮定する。
 1.MATAB ウィンドウに xpc_osc2 と打ち込んで Simulink ブロック図でモデルを開く。
 2.Simulink のウィンドウで Simulation メニューから Configuration Parameters を
クリックすると、モデルが Configuration Parameters ダイアログボックスに表示
される。
3.Real-Time Workshop ノードをクリックし、Real-Time Workshop を開く。
4.基本的なアプリケーションを作成するには、Target 選択で System target ファイル
リストから Browse ボタンをクリックする。 xpctarget.tlc を選択し、OK をクリッ
クする。
system target フ ァ イ ル (xpctarget.tlc) 、 template make フ ァ イ ル

24 

(xpc_default_tmf)、make コマンド(make_rtw)は自動的にページに入力される 。
xPC Target オプションノードが左に表示される。
5.左の枠では xPC Target オプションノードを選択する。
6.Execution モードリストから、Real-Time か Freerun のどちらかを選択する。オプ
ションの Freerun はシミュレーションと同様だが、生成されたコードを用いる。また、
可能な限りアプリケーションを実行するが、シミュレーションとは違い、xPC Target
の Freerun モードは変数ステップ解決に対応していない。
7.Real-Time 割込ソースリストから、ソースを1つ選択する。デフォルト値は Timer
となっている。
8.目標オブジェクトのプロパティの tg.TETlog にタスク実行時間を記録するため、Log
Task Execution Time チェックボックスを選択する。
タスク実行時間はモデル誤差のための計算を完了するまでの時間と、各サンプル間
隔 の 間 の 出 力 後 の 時 間 ( 秒 ) で あ る 。 選 択 し な い 場 合 、 平 均 TET 値 は Not a
Number(NaN)として表示される。
 9.Signal 記録バッファサイズには、例えば 100000 のようにラッピング前に保存する
ためのサンプル点の最大値を入力する。
 10.ビルドプロセスによってビルドされた xPC Target オブジェクトの Name に、オブ
ジェクトの名前を入力する。初期設定ではオブジェクト名は tg となっている。
 11.OK をクリックする
12.File メニューから Save をクリックし、ファイル名を入力(例:xpc_osc3)したら
Save をクリックする。
3.11 アプリケーションのビルドと読み込み
 C コードやコンパイル、リンクの生成、アプリケーションの読み込みに xPC Target を使
用する。Configuration Parameters ダイアログに変更を入力後、アプリケーションをビル
ドできる。この手順では例として Simulink モデル xpc_osc3.mdl を使用する。
 初期設定では、ビルドの手順は xPC Target Explorer のように target PC にアプリケー
ションを読み込む。
 1. MATLAB ウィンドウに xpc_osc3 と打ち込み、Simulink ブロック図でモデルを開
く。
 2.Simulink ウィンドウの Tools メニューから、Real-Time Workshop を選択し、RealTime Workshop サブメニューからは、Build Model を選択する。
コンパイル、リンク、および読み込みが終わってから、目標オブジェクトが MATLAB
ワークスペースにビルドされる。目標オブジェクトの初期設定での名前は tg となっ
ている。
ビルドが成功すると MATLAB のディスプレイに以下のように表示される。

25 

### Starting Real-Time Workshop build procedure for model:
xpc_osc3
...
### Successful completion of xPC Target build procedure for
model: xpc_osc3
  3.MATLAB ウィンドウに tg と入力すると、目標オブジェクトのプロパティリストが
MATLAB に表示される。
3.12 Time-Out 値の増加
初期状態で、もし target PC がアプリケーションを読み込んで約5秒待機しても target
PC から反応しない場合、タイムアウトとなる。これに対し、target PC は読み込みとアプリ
ケーションの初期化後にのみしか反応しなくなる。
通常5秒あればアプリケーションは読み込めるが、十分でないケースもいくつかある。
アプリケーションを読み込む時間はほぼ I/O ハードウェアに依存する。例えば熱電対ハード
では初期化に時間がかかる。この場合、target PC に問題がなくても誤ったタイムアウトが
報告される。タイムアウト値を増やすには以下の手順を用いる。
1.MATLAB 作業ディレクトリに xpcdltimeout.dat というファイルを作成する。この
ファイルでは整数を入力する(例:20 秒)。
2.この場合、target PC はタイムアウトが起こったと判断するまでに約 20 秒間待機す
る。それは読み込むごとに 20 秒ではないことに注意する。target PC が毎秒1回、応
答があれば成功と判断する。実際に読み込みに失敗していても、20 秒待機する。
xpcdltimeout.dat が存在していれば、あらゆる読み込み前に一度読み込まれる。タイム
アウト値を変えるには、このファイルの値を変更する。初期値は5秒に設定されている。 ま
た、単にファイルを移動する場合、タイムアウトは初期値に変更されないことに注意する
MATLAB を再開するまで xPC Target は最後に入力された値を使用する。
3.13 xPC Target Explorer を用いた制御
この手順では、xPC Target 起動ディスクを作成して target PC を起動したと仮定する 。
xPC Target Explorer はアプリケーションの作成、読み込みのためのアクセスを与えるが、
この手順では既にアプリケーションを target PC に読み込んだ状態で始める。
1. MATLAB のウィンドウに xpcexplr と打ち込み、xPC Target Explorer を開く。
2. target PC に接続するには、読み込まれたアプリケーションと Connect を選択した
target PC アイコンを右クリックする。読み込んだアプリケーションのモデルの階層
を見るためには以下のうち1つ当てはまっていなければならない。
・アプリケーションを作成したのと同じディレクトリを選択していなければ、 xPC
Target Explorer はエラーを表示する。

26 

   ・アプリケーションを作成した時、xPC Target Options のアプリケーションチェッ
クの Include モデル階層を選択した。

もし適切なディレクトリを選択していれば、アプリケーションのノードが target PC ノ
ード下の xPC Target 階層を表示し、以前に読み込まれたアプリケーションの情報を表示す
る。
以前に作成した target PC に読み込ませるアプリケーションが現在のディレクトリにあれ
Show more