CANoe学习笔记

现在使用的CANoe是十几年前的了,软件版本为V5.1,好在一些功能还是具有的。下面记录一下一些注意事项等问题。

5.1版本的软件在xp下能运行,在win7下就难了,笔记本和台式机都是win7 32,系统也是同一个包,但只能在笔记本运行(重复打开软件3次以上才能运行)。CANoe常用的几个模块有CANdb Editor,CAPL Browser,Panel Editor。其中,

CANdb Editor:主要用来编辑dbc库的。

Panel Editor:用来做界面,可以拖一些LED,指针,灯等,比较方便,相比之下,用mfc实现起来就有些麻烦了。

CAPL Browser:主要用来配合Panel Editor,同时又需要CANdb Editor来做连接。CAPL使用C语言编程,操作也比较简单,基本上都是右键->new就可以新建了。

打开软件第一步:菜单栏File->New Configuration,这里可以建一个空模板,或波特率500K的模板,或j1939格式的模板。

下面写一下常用的操作:

Variables:用来存放一些变量的定义,如msTimer Timer_100ms;定义一个100ms的定时器变量。timer Timer_1s;定义一个1s的定时器变量。message EEC1 EEC1_Msg;定义报文,而pg EEC1 EEC1_Msg;则是定义j1939格式的报文。

Systme->Start:用来定义初始化的一些东西,如定时器初始化settimer(Timer_100ms,100);settimer(Timer_1s,1);

CAN Messages:用来处理一些接收过来的报文,通过右键->new就可以新建报文,如

on message CCVS1
{
	putvalue(Parking_brake_lamp,this.ParkingBrakeSwitch);
}

其中CCVS1对应的是dbc库里的Message里报文的名字,后面this后面的名字为该报文下的信号。

Timer:定义定时器,如下图所示

on timer Timer_100ms
{
	settimer(Timer_100ms,100);
	output(EEC1_Msg);//发动机转速
}

Environment:处理环境变量变化时所需要的操作,比如在panel中定义了一个滑块,当滑块滑动时需要改变报文里的值

on envVar EngSpeed_slider
{
	EEC1_Msg.EngSpeed=getvalue(this);
	putvalue(EngSpeed_LED,getvalue(this)/8);
}

有时候在dbc里添加了新的环境变量,如果没有保存就到CAPL里编译,往往会报错,这时需要在dbc里先保存好再回到CAPL里编译。

让panel显示出来的方法:菜单栏Panel->Configure Panels,在里面添加自己建的Panel,点击Display就可以了,以后在Panel Editor里保存一下就会同步到这里显示的界面了。

设置波特率的方法,可以通过菜单Configure->Hardware Configuration->J1939 Setup,设置为250k的波特率。

在Simulation Setup窗口里右键CAN线,选择Insert network node,然后点击新加入的节点上的铅笔符号就可以进入到CAPL界面里了。同样是这个窗口,右侧有个分支目录,在database上右键添加新的dbc库。

其它常用的应该就是编译和Start了。5.1版本的软件比较简单。



你可能感兴趣的:(CAN总线)