内容梗概

实际的工程开发中,有需要将vMeasure exp测量结果发送到CAN总线的情况,这篇应用笔记提供使用vMeasure exp把CSM数采测量得到的信号值发送到物理CAN总线上的方法。此外,本文中描述的方法也支持在虚拟CAN总线上的vMeasure exp与CANoe之间的数据交互。

本文通过举例的形式来描述了使用vMeasure exp测量并周期性地发送以下信号到CAN总线:

1. CSM THMM数采测量得到的两路温度信号

2. CSM ECAT_ADMM+LEMsensor测量得到的一路电流信号

发送频率为100Hz,最后CANoe进行接收报文,并使用创建的DBC文件解析成信号。

vMeasure exp工程配置步骤

步骤一,使用CANdb++创建数据库文件,文件中包含需要发送的信号和报文,可以看到这里定义了三条报文,每条报文都包含了一个数据类型为float的信号。保存文件名为CAN-DB_HSF.dbc

100414q4m42um9uhg9umnm.png

步骤二,vMeasure中添加要测量的CSM数采设备,两个数采分别是基于CAN的THMM和基于ECAT的ADMM:


100208fujujemjsvmxdiem.png


步骤三,vMeasure中根据所创建的DBC文件,添加一个CAN monitor device,这个设备用来发送CAN报文,报文中包含我们要周期性发送的三个信号。

100208milxxyjvx2o7u7x5.png

添加DBC文件:

100208aejcrnvrbeybdc3m.png

选择发送CAN报文使用的通道,可以选择使用虚拟CAN总线或者物理CAN总线,本文选择的是接口卡VN1610的CAN1通道;接口卡VN1610 CAN1与VN1610 CAN2使用Cable 2Y和120Ω的终端电阻连接在了一起,CANoe会使用VN1610 CAN2 来接收发送来的信号;

100208in5jen2zd7p12z1j.png

100208rwaxtgora2wotn85.png

接口卡两个CAN通道连接方式,使用CABLE 2Y和120Ω终端电阻连接:

100209u4zk7u9o7z1dosod.jpeg


步骤四,在vMeasure exp中创建发送函数,需要关联CSM数采采集的信号与DBC中的信号:


100209llhm2hxaplxixmxa.png

发送函数:


100209dutpv1jzvzx91c1t.png

步骤五,把创建的函数拖拽到Graphic window,在Start-Measurement configuration-Measurement signals中找到SendingFunc信号,在这里设置信号的测量模式为cyclic,也就是周期性发送,发送周期设置成10ms;


100209pmf0vzvj8eijjfnn.png

CANoe中工程文件配置

步骤六:到此为止vMeasure exp中已经设置好了,接下来设置CANoe中的接收CAN报文工程。


在CANoe中新建工程文件

100209a4t800vw3v9n49fl.png

在Hardware-Channel Mapping中配置CAN通道,使用VN1610的Channel2,

100209m995c1h4991i8aa1.jpeg

在Hardware-Newwork hardware中配置通道的波特率,在vMeasure中和CANoe中设置VN1610的CAN 1和CAN2的波特率为1000kBaud,CAN 1和CAN2的波特率必须相等,不然无法通讯。


100209sqmm69u9uw6q1w1u.jpeg


通讯结果展示

步骤七,在Simulation setup中配置DBC文件之后,先CANoe中点击开始测量,然后在vMeasure中点击开始测量,可以看到vMeasure与CANoe之间的通讯数据流


100209v0z1lx244nx0ene2.jpeg

100209kynqj7gr74sd270c.png