【XCP】最小構成のMBD事例 第2章 その175【XCP Basic㉙】

【XCP】最小構成のMBD事例 第2章 その175【XCP Basic㉙】事例
【XCP】最小構成のMBD事例 第2章 その175【XCP Basic㉙】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

スポンサーリンク

はじめに

前回でXCP BasicのDAQによる計測が確認がとれたところとなる。
これにてXCP Basicの有用性は証明されたと言えるが、
若干PCシミュレーションである故の問題を抱えてる様子。

その問題点を確認していく。

スポンサーリンク

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

スポンサーリンク

XCP Basic PCシミュレーションの問題点

太郎くん
太郎くん

前回、なんか
「XCP BasicのPCシミュレーションであるが故の問題がある」
とかで含むのある言い方で終わったんだけど、
結局何が問題なの?

フクさん
フクさん

簡単に言うと時間精度だな。

太郎くん
太郎くん

時間精度?
タイムスタンプとか?

フクさん
フクさん

タイムスタンプの精度は問題無くて、
実際のDAQの送信周期だな。

太郎くん
太郎くん

送信周期?
それっぽく出ていたとは思ったけど・・・。

スポンサーリンク

DAQパケットの送信周期を確認

フクさん
フクさん

前回のCAN回線ログを再度確認してみよう。

Begin Triggerblock
 0.000000 Start of measurement
 0.222134 1  1               Rx   d 2 DD 01
 0.223715 1  2               Rx   d 1 FF
 0.234209 1  2               Rx   d 7 00 AA 7D 00 00 00 00
 0.241058 1  1               Rx   d 8 F6 00 00 FF 04 00 00 00
 0.243057 1  2               Rx   d 1 FF
 0.244597 1  1               Rx   d 6 F0 04 00 00 00 00
 0.248226 1  2               Rx   d 1 FF
 0.249676 1  2               Rx   d 7 00 45 7E 00 00 00 00
 0.264683 1  2               Rx   d 7 00 DB 7E 00 00 00 00
 0.267698 1  1               Rx   d 8 F6 00 00 FF 04 00 00 00
 0.269812 1  2               Rx   d 1 FF
 0.271139 1  1               Rx   d 6 F0 04 11 22 33 44
 0.271909 1  2               Rx   d 1 FF
 0.280355 1  2               Rx   d 7 00 77 7F 11 22 33 44
 0.296624 1  2               Rx   d 7 00 19 80 11 22 33 44
 0.298410 1  1               Rx   d 8 F6 00 00 FF 04 00 00 00
 0.301728 1  2               Rx   d 1 FF
 0.302358 1  1               Rx   d 6 F0 04 22 44 66 88
 0.303038 1  2               Rx   d 1 FF
 0.311255 1  2               Rx   d 7 00 AC 80 22 44 66 88
 0.326680 1  2               Rx   d 7 00 47 81 22 44 66 88
 0.331718 1  1               Rx   d 8 F6 00 00 FF 04 00 00 00
 0.332628 1  2               Rx   d 1 FF
 0.333177 1  1               Rx   d 6 F0 04 33 66 99 CC
 0.333980 1  2               Rx   d 1 FF
 0.341598 1  2               Rx   d 7 00 DC 81 33 66 99 CC
 0.356319 1  2               Rx   d 7 00 6F 82 33 66 99 CC
 0.371556 1  2               Rx   d 7 00 07 83 33 66 99 CC
End TriggerBlock
フクさん
フクさん

この中でDAQパケットに相当するのは
CANID 2、データフィールドの1byte目が00h
になっているものだ。

太郎くん
太郎くん

いい感じで送信されてる・・・よね?

フクさん
フクさん

パッと見はOKそうだよね。

フクさん
フクさん

そこでDAQパケットのCANログを抜き出す。

 0.234209 1  2               Rx   d 7 00 AA 7D 00 00 00 00
 0.249676 1  2               Rx   d 7 00 45 7E 00 00 00 00
 0.264683 1  2               Rx   d 7 00 DB 7E 00 00 00 00
 0.280355 1  2               Rx   d 7 00 77 7F 11 22 33 44
 0.296624 1  2               Rx   d 7 00 19 80 11 22 33 44
 0.311255 1  2               Rx   d 7 00 AC 80 22 44 66 88
 0.326680 1  2               Rx   d 7 00 47 81 22 44 66 88
 0.341598 1  2               Rx   d 7 00 DC 81 33 66 99 CC
 0.356319 1  2               Rx   d 7 00 6F 82 33 66 99 CC
 0.371556 1  2               Rx   d 7 00 07 83 33 66 99 CC
フクさん
フクさん

そして、CANログのタイムスタンプ(一番左の数値)でDAQパケットの送信時間の差を算出してみよう。

0.249676-0.234209=0.015467
0.264683-0.249676=0.015007
0.280355-0.264683=0.015672
0.296624-0.280355=0.016269
0.311255-0.296624=0.014631
0.326680-0.311255=0.015425
0.341598-0.326680=0.014918
0.356319-0.341598=0.014721
0.371556-0.356319=0.015237

スポンサーリンク

ただしDAQ送信周期は

太郎くん
太郎くん

えーっと、この結果からすると、DAQパケットは15[ms]周期で送信されてる?

フクさん
フクさん

そうだね。

太郎くん
太郎くん

そもそもDAQパケットの送信周期って何が正しいんだっけ?

フクさん
フクさん

今回は10[ms]周期のイベントチャンネルに紐づけて分周が1なので
10[ms]周期でDAQパケットが送出されるべき
ってことになる。

太郎くん
太郎くん

ダメじゃん!

フクさん
フクさん

これが問題点ってところだな。
まぁ一応原因もわかってるんで次回説明しよう。

スポンサーリンク

まとめ

フクさん
フクさん

まとめだよ。

  • XCP Basic PCシミュレーションの問題点は送信周期。
  • 前回のCAN回線ログのDAQパケットだけを抽出し、それのタイムスタンプと元に現状の送信周期を算出。
    • 10[ms]周期で送信されるべきところが15[ms]になっていた。
      • 一応、原因は分かってはいるので、そこらへんを次回確認予定。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました