在程序测试时,经常需要使用CAN口、串口、网口之类通信接口来接收设备发来的数据,如能快速地把这些数据绘制成曲线进行可视化分析,可以大大减轻测试人员的工作量。有些程序员可能会通过编写程序来实现,但这要额外花费程序员的时间,加大工作量,特别是这些并不需要体现在界面上时,就显得浪费了。这里介绍一下如何使用Excel或Wps快速地把接收到的数据绘制成曲线图。
这里以周立功CAN盒收到的一组数据为例,说明具体操作过程。首先把CAN盒接收到的数据保存为csv格式,用Excel或Wps打开(二者操作基本差不多,下文都只写作为Excel)。
这里说明一下,如果接收到的数据帧ID有很多种,需要先使用“排序和筛选”功能,只显示需要分析的帧ID。示例的数据帧ID为0x13532000,每帧的数据长度为7个字节,其中第0个、第1个字节为角度1,第2个、第3个字节为角度2。角度的单位为度,范围为0~360°,比例系数为360/65536。
在用Excel打开收到的文件时,每帧数据的7个字节数据最初都是在同一个单元格中的,需要先选择此单元格所在的整个列,使用Excel的“数据”-“分列”功能,选择“分隔符号”为空格,其余的用默认即可将这7个字节分为7列,每列数据均是16进制形式的数。
处理后如图1所示。
图1
在第一行数据(除表头外)最后一列的右侧,选取一个空白列的单元格,在其中输入公式“=(HEX2DEC(H2) HEX2DEC(I2) 256) 360 / 65536”(不含引号),然后点住该单元格右下角的十字形光标往下拖动到最后一行,把公式复制到该列的所有单元格,有时双击该十字形光标可以快速完成该操作。完成后如图2所示。
图2
选中该列的所有数据(不含表头行),点击“插入”里的“二维曲线图”,即可生成该列角度的曲线图,如图3所示。(注:这里为了便于观看,又多加了一列,把0~360°的角度值转换成了-180°~ 180°)。
如法炮制,即显示另一个角度的曲线值,也可以同时把这两个角度的曲线放到一起来显示,如果有朋友需要的话,以后可以再介绍一下怎么显示多条曲线在同一图形上。
图3
评论 (0)