バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/
はじめに
今回こそXCPで計測をする。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
XCPで計測設定してみる
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」08アップ.png)
よし、とりあえず変数定義は終わったぞ!
![CANape、ASAP2 Studio、ナビゲーション、変数、メッセージ、プロパティ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/02_ASAP2Studio変数定義-1024x743.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
お疲れさん。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
じゃ、とりあえず計測してみよっか。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
どうすればよい?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
メニューの表示→新規Windowから
パラメータとトレースってWindowを作っておこう。
![CANape、表示、シンボルエクスプローラー、グラフィック、新規Window、パラメーター、トレース](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/03_新規Window-1024x425.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
パラメータの方は変数を選ぶ画面になったよ。
![CANape、データベース選択](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/04_パラメータ変数選択-1024x995.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そこは適当な変数を選んでおいて。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
とりえあえず、ControlFlgって変数を選んでおいたよ。
![CANape、パラメータ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/05_パラメータWindow.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
じゃ、次はメニューの開始→測定設定→シグナル
![CANape、開始、測定設定、シグナル、パラメータ、測定設定の[測定シグナル]ダイアログを開きます](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/06_測定設定.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
なんか大量の変数情報が出てきた。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そのなかControlFlgのところをCyclicで1ms周期に設定しておく。
![CANape、測定設定、測定シグナル、測定モード、cyclic、レート](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/07_Cyclic設定.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
これはどういう意味があるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
計測はデフォルトだとpolling計測って状態になってるんで、
Cyclic指定しないとDAQにならないんだよ。
pollingでも一応計測できるけど、DAQの方が効率が良いんで
DAQに切り替えたってイメージ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
ん?pollingだとどういう方法で計測することになるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
CMDのUPLOADかSHORT_UPLOADを使うことになる。
ちなみにUPLOADの場合はSET_MTAも入るんで、
1つの変数の値を読み出すのに2つCMDが発行されることになる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あー、そういえばあったね。
まぁDAQの方が効率が良いならDAQにしておこう。
XCPで計測
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
よし、この状態で計測を開始して、
トレースしてみる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
あ、なんか通信してそう。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
パラメータWindowのControlFlgの値を変えてみて。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
お、なんか値が変ったような感じだ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
じゃ、一旦計測を止めて、トレースWindowをちょっとさかのぼって・・・。
うん。ここらへんだな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
ん?DAQ計測してるみたいだけど、
DAQ以外の通信が一瞬入ったのかな?
![CANape、トレースWindows、DAQ(DTO)で計測。CTOよりも効率的、Download/Upload(CTO)でCalibration、STIM(DTO)に対応していれば、ここも効率的なパケットで更新できる。](https://www.simulationroom999.com/blog/wp-content/uploads/2020/07/08_XCP計測-1024x543.png)
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
太郎くんがパラメータWindowで値へ変更したタイミングで
SHORT_DOWNLOADとSHORT_UPLOADは発行されたって状態。
ちなみに今回のプロトタイプECUはSTIMには対応してないみたいだから
SHORT_DOWNLOADかDOWNLOADによる書き込みになる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
といことは、
プロトタイプECUに対してのRAM読み書きができたってこと?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
これでXCP関連の設定は完璧って状態だ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者04.png)
やっと終わった。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/ばってんフクロウ.png)
いや、
目的のBypassとしてはやっとスタート地点に立った状態だね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」11アップ.png)
まじか!
これだけやってまだスタートすらしていなかったのかYO!!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まぁ、全体の作業としては一応終盤に入ってはいるからもう一息だよ。
がんばって!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
(これってホントに終わるのか?)
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- A2Lで変数定義ができれば、CANape上の計測対象設定は比較的簡単。
- DAQ計測をする場合は計測設定でCyclicを指定しておく必要がある。
- パラメータWindowに登録した変数は書き換えが可能。
- STIMに対応していればSTIMで、対応してなければDOWNLOAD、SHORT_DOWNLOADで書き換えとなる。
バックナンバーはこちら