Canoe仿真工程创建及测试

一、十六进制(逢16进一)

0  1  2  3  4  5  6  7  8  9   A   B   C   D   E   F

                               10  11  12  13  14  15

CBA=10*1+11*16+12*16*16

281=1*1+8*16+2*16*16

  • Canoe创建仿真工程
  1. 配置通道Hardware--NetworkHardware
  2. 在本地创建一个工程文件夹demo
  3. 新建一个仿真工程File-new-can500kBaud 1ch,保存.cfg文件到工程文件夹
  4. 新建CAN数据库Tool--Candb++Editor-File-Create Database-Vector_IL_Basic Template:
    1. 创建节点Network nodes-new、添加消息Messages-new(是标准模式还是扩展模式、id、信号发送方式(cycle)、信号长度)、添加信号Signals-new(数据类型(unsigned还是signed)、排列方式(motorola还是intel)、发送方式(cycle)、系数、偏移量、物理最小值、物理最大值)
    2. Signal绑定Messages
    3. Messages绑定nodes(创建Tx:MSG—transmitters(发送节点)--Add,创建Rx:接收节点-Receivers--Add),写一下信号值描述
    4. 保存dbc文件
  5. 将DBC文件导入到工程simulation setup,右击databases—import Wizards
  6. 定义系统变量environment—system variables
  7. 创建仿真面板Home—Panel—New panel
  8. 添加capl程序(第一段,把开关的信号给到开关的消息;第二段,把消息给到灯)
  9. 工程运行仿真
  • 测试的三种方式
    1. 实车测试(报文发送到电脑上)
      1. obd线一头链接车机,另一头链接电脑,直接把开发给的软件包推到车机上(准备好环境)
      2. 链接猪尾巴,一头链接副驾,一头链接can盒,can盒一般连三个口(BodyCan、InfoCan)
      3. 配通道,选波特率500,配置log的路径
    2. Panel面板(需要定义环境变量、控件关联变量、写capl代码)
    3. CanIg(模拟信号发送)
  • 测试用例执行
  1. 配置环境:转换成onLine状态,开启日志录制开关,配置日志文件保存路径(编辑case名字作为日志文件名称)
  2. 启动仿真工程
  3. 打开Analysis里的Trace或者Graphics
  4. 根据用例操作
  5. 关闭仿真工程(测完一条关一条)
  6. 日志生成
  • Canoe工具做UDS诊断
    1. 创建工程
    2. 选择诊断
    3. 配置传输层、诊断层
    4. 诊断协议
  • signal属性
  1. Intel格式与Motorola格式的区别
    1. 当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola两种格式的编码结果没有不同。
    2. 当一个信号的数据长度超过 1 个字节(即大于8 位)时

Intel格式信号的起始位就是低字节的低位Intel低字节在前,高字节在后

Motorola格式信号的起始位就是高字节的低位Motorola高字节在前,低字节在后。

  1. signed和unsigned的区别:
    1. signed:声明有符号的整数类型,包含正负值
    2. unsigned:声明无符号的整数类型,只能表示零和正整数。
    3. 同类型的signed能够存储的数要少于unsigned:

eg.   signed  int: -128~127

       车载测unsigned int: 0~255

  1. 权重/系数、偏移量: 数和偏移定义了线性转换规则,可以从原始值(比如车速km/h)转换为物理值(报文中填充的数值),反之亦然
    1. 权重/系数/精度(factor):factor是用于将物理量转换为CAN信号值的系数,它通常是一个小数
    2. 偏移量(offset):用于将物理量信号所代表的物理值如车速转换为CAN信号值CAN 报文发到总线上的十六进制数据)。
    3. 物理量=can信号值*factor+offset。例如:车速=100*0.4258+10

你可能感兴趣的:(汽车)