不装工具箱也能 ASC 转 MAT
MATLAB 的 canSignalImport 读取 ASC 文件需要 Vehicle Network Toolbox。这个转换器写出的是普通结构体和数组,.mat 文件在 MATLAB 里不用任何附加组件就能打开。
这个 ASC 转 MAT 转换器把 CANoe 的 ASC 日志转成 .mat 或 CSV,用你的 DBC 解码,不需要工具箱。
第 1 步,共 4 步 · 上传日志
把 ASC 文件拖到这里
或.asc 文件最大 150 MiB,一次最多 5 个。转换在你的浏览器里完成,文件不会离开你的电脑。
ASC 是文本日志:打开容易,分析很难。用 DBC 把 ASC 转成 MAT 或 CSV,就能在真正做分析的工具里直接用上有名字的信号。
MATLAB 的 canSignalImport 读取 ASC 文件需要 Vehicle Network Toolbox。这个转换器写出的是普通结构体和数组,.mat 文件在 MATLAB 里不用任何附加组件就能打开。
台架每跑一次就生成一个 ASC。一次最多转换 5 个,各自生成 .mat 或 .csv,不用在 CANoe 里反复做 Logging File Conversion。
from scipy.io import loadmat
d = loadmat('drive.mat', squeeze_me=True,
struct_as_record=False)
# fields: time, value, unit
speed = d['ESP_VehicleSpeed']正则脚本遇到十六进制或十进制文件头、CAN FD 行和错误帧就容易出错。转换器能读取这些变体,直接给你解码后的信号。
.csv 和 .mat 在哪里都能打开。把解码后的信号发给同事或附在缺陷单里,不用连原始 ASC 日志一起发出去。
四步都在浏览器标签页里完成。ASC 文件和 DBC 都不会离开你的电脑。
拖入最多五个 .asc 文件。读取时会应用文件头里的十六进制或十进制设置,并列出其中的 CAN 通道,包括 CAN FD。
ASC 的每一行都带通道号,所以每个通道都可以有自己的数据库。给每个通道选一个,或者把 DBC 拖到通道文件夹上。
给 MATLAB 和 SciPy 选 .mat,给 Excel 和 pandas 选 .csv,然后起个文件名。
每个 ASC 用你的 DBC 解码,各自保存成 .mat 或 .csv,可以直接下载。
ASC 转 MAT 只保留解码后的信号,保持完整精度,时间以第一帧解码报文为起点,单位是秒。
信号以名为“报文名_信号名”的结构体保存,各带时间和数值数组、单位、报文和通道。每个信号保留自己的时间数组,不做重采样,info 结构体写明源 ASC 及其通道。
每个采样点一行,列为 time_s、time_us、channel、message、signal、value 和 unit,可以直接在 Excel 或 pandas 里打开。
只写出解码后的 CAN 帧。没有任何已关联 DBC 定义的 ID、没有 DBC 的通道、远程帧、错误帧,以及 LIN 或状态事件这类非 CAN 行都会被跳过;给每个通道关联 DBC,才能把其余的带进来。
一次五个 ASC,每个最大 150 MiB。单个 CSV 最多 2,000,000 行,所以较长的日志更适合写成没有行数限制的 MAT。
添加 .asc,给每个 CAN 通道关联 DBC,选 MAT,点击转换后下载。ASC 的读取、解码和写出都在你的浏览器里完成。
因为它是文本形式的原始报文:每行是时间、通道、ID 和数据字节。只有 DBC 才说明这些字节如何拆成有名字、有系数的信号。
在这里不需要。MATLAB 的 canSignalImport 能读 Vector ASC,但要有 Vehicle Network Toolbox。这个转换器写出的是普通结构体和数组,.mat 用普通 MATLAB 或 SciPy 就能打开。
CANoe 和 CANalyzer 的 Vector ASC,十六进制或十进制取自文件头,支持经典 CAN、CAN FD 和错误帧。其他工具按同样格式写出的 ASC,比如 python-can,通常也能按同样方式读取。
一次最多五个 .asc,每个 150 MiB,每个文件各生成自己的 .mat 或 .csv。这样就不必反复用 CANoe 的 Logging File Conversion,也不用维护脚本。
所有不是已解码 CAN 帧的内容:ID 不在已关联 DBC 里的报文、没有 DBC 的通道、远程帧和错误帧,以及 LIN 或状态事件这类非 CAN 行。
会,数据最长 64 字节,FD 信号不会在第 8 个字节处被截断。
MATLAB 和 SciPy 选 MAT:没有行数限制,每个信号保留自己的时间数组。Excel 和 pandas 选 CSV,上限是 2,000,000 行,较长的日志可能会超出。
做完这一步之后常见的下一步,每个都有独立页面。