怎样进行添加代码、运行测试
玫瑰柒
|
2019.12.31
|
0
+关注

在我们前面建立的仿真工程Communication中,如果我们给Switch和Indicator两个节点添加相应的通信代码,我们就可以完成两个节点的通信仿真,并最终进行运行测试了。现在我们来进行这一最后任务。

1. 添加代码

(1)添加Switch代码

双击Switch节点,打开CAPL Browser浏览框,拖曳Value Objiects→On sysvar<sysvar>到代码行,并写出如下代码:

on sysvar sysvar::namespace::sv_Switch{

//声明一个CAN报文变量,用于报文发送

Message Msg1 msg;

//读取当前系统变量sv_Switch的值,并赋值给报文的信号bsSwitch

Msg.bsSwitch=SysGetVariableInt(sysvar::namespace::sv_ 55Switch);

//将报文输出到总线上

output (msg);

代码添加如图1所示。

图1 Switch网络节点添加代码完成图

这段代码使得节点Switch根据系统变量sv_Switch的变化,修改bsSwitch信号值,并将更新的报文发送到总线上。单击Compile(F9),完成编译,并退出CAPL Browser。

(2)添加Indicator代码

双击Indicator节点,打开对应的CAPL程序文件Indicator.can。在CAPL Browser浏览框,拖曳CAN→On message<new Message >到代码行,并写出如下图的代码,并按F9进行编译,操作结果如图2所示。

图2 Indicator节点网络节点添加代码及编译结果

这段代码将在Indicator节点中处理收到的CAN报文Msg1,根据报文中信号bsSwitch修改系统变量sv_Indicator的值,从而实现LCD显示中数值的变化。

2. 工程运行测试

首先打开创建的两个仿真面板Switch.xvp和Indicator.xvp,分别按下添加按钮,将面板添加到工程。调出Write窗口,在主界面上按Start按钮,可以在Write窗口看到程序执行时的系统信息输出,如图3所示。

图3 Communication 仿真工程系统信息

用鼠标左右交替点击Switch面板上的开关,开关状态反复变换,而Indicator面板上的LCD数字显示则0、1跟随变化。说明程序实现了报文的通信。如图4所示。

图4 Communication 仿真工程结果指示

在操作Switch开关的同时,可以看到总线上报文信号的变化,如图5所示。也可以通过其他窗口查看其他信息和事件。

以上介绍了如何添加程序代码和如何运行仿真工程,并通过仿真结果检查程序的正确性,也能根据结果看看是否达到了仿真的目的。麻雀虽小,五脏俱全,通过这一个简单的仿真工程,一窥全部,你就可以建立属于自己的更为强大的仿真工程。

精选留言
延伸阅读
2020.11.20
2916阅读
更多报告干货
写留言
2954
阅读
收藏
回到顶部