簡単な説明
CANdbcを読み込んで、CANデータ(.asc, .blf)をcsv化するアプリとmat化するアプリを統合しました。今後はこちらのアプリをアップデートしていく予定です。
CANdbcに登録されているメッセージIDとCANデータ内に含まれるIDを照合して、同一のメッセージのみmat形式もしくはcsv形式に変換します。メッセージ内のシグナルは全部展開されます。CANdbcに登録されていないIDは変換されません。
現状はCANデータ内に一つのCANbus情報が含まれているデータを対象としています。
pythonベースで作成しており、windows11, 64bit環境で実行ファイルを作成していますので、インストール不要でお使い頂けます。
このアプリがお役に立てば幸いです。
ダウンロード
アプリのダウンロードリンクです。

使い方
ダウンロードしたzipファイルを解凍し、フォルダ内のCANdata2matcsv_ver1.01.exeを実行してください。インストール不要でお使い頂けます。

実行すると以下のウィンドウが開きます。入力ファイルは下記の二つです。
1. CANデータベースファイル (.dbc): VectorのCANデータベース形式です。
2. CANログファイル(.asc, .blf): CANalyzer取得データを前提にしています。
使い方は下の図の通りです。

変換中は下記のように左下の「Converting…」表示とプログレスバーが表示されます。取得データが長いと時間がかかります。またCANdbcの設定シグナルをすべてチェックしに行くので、CANdbcのサイズによっても時間が変わります。CANdbcの内容を必要なものだけに削って頂くと、変換が速いかと思います。

変換されたファイルはOriginalを選んだ場合「Logファイル名.csv(.mat)」という名前となり、Resamplingを選んだ場合は「Logファイル名_Resampling_XXXs.csv(.mat)」という名前になります。ファイルはLogファイルの場所に保存されます。
csv形式で保存した場合の出力ファイル
csv形式の場合、出力ファイルは下記のようになります。各列の一番上に「ID_シグナル名」の形でラベルが振られます。Originalを選んだ場合はIDごとに時間軸が、Resamplingを選んだ場合は共通の時間軸が生成されます。


mat形式で保存した際の出力ファイル
mat形式の場合、出力ファイルはIDごとの構造体となります。IDやシグナル名はCANデータべースで定義されたものになります。Originalを選んだ場合でもResamplingを選んだ場合でも各IDが個別の時間要素を持っています。
下の表に出力されるmatファイルの中身の例を示します。
構造体名 | 要素名 |
(例)ID_0x100 | time |
(例) signal1 | |
(例) signal2 | |
(例)ID_0x320 | time |
(例) function_active_request |
matファイルの構造体の要素名に使える文字列の最大値が31である為、31文字以上のシグナル名は後ろの部分が削られて変換されます。
構造体形式なので、グラフ化の際など便利です。例えば下記のようにMATLABで記述します。
load 'Logファイル名.mat'
figure(1);
plot(ID_0x100.time, ID_0x100.Signal1, ID_0x100.time, ID_0x100.signal2);
ダウンロード時、実行時の注意
個人で実行ファイルを作成すると、どうしても危険なファイル扱いされてしまいます。
ダウンロード時、ファイルを破棄されそうになります。
ブラウザがChromeの場合、下矢印を押して、継続ボタンを押す必要があります。

ブラウザがEdgeの場合はもっとダウンロードまでのクリック回数が多くなります。

実行時、Windowsが保護してくれます。「詳細情報」-> 「実行」を押す必要があります。

AvastとAVGではマルウエアと誤検出されてしまいます。

https://www.virustotal.com/gui/home/upload
バージョン情報
バージョン | 更新内容 |
2.00 | 処理を高速化 |
1.00 | CANdata2mat ver1.03とCANdata2csv ver1.05を統合して新規作成 |
謝辞
今回の内容は以上です。ありがとうございました。このアプリがお役に立てば幸いです。
また、アプリ作成に当たり、インターネット上の先人の知識を数多く使わせていただきました。ありがとうございました。
免責事項
このアプリを使用したことによるいかなる損害に対しても作成者は責任を負いかねます。
また、アプリの不具合がありましたらコメント欄に投稿頂ければできる限り対応するつもりです。
本ページをご覧頂きありがとうございました。