新闻中心

News

CANoe隐藏属性——Multi CANoe


CANoe的简单功能估计大家都用到滚瓜烂熟了,那就趁机认识一下Multi CANoe吧!


Multi CANoe是CANoe的一种特殊操作模式。它允许多个CANoe实例在不同的计算机上同时运行,所有CANoe实例可以通过Vector硬件同步功能来达到时间同步,每个CANoe实例都有自己的用户操作界面,参考如下示意图:


图片1.png

Multi CANoe系统示意图    图片源于Vector


该功能主要通过扩展CANoe的性能以满足一些超大型系统的测试需求。例如,上层车辆所有网络的所有ECU的交互仿真,需要同一信号在多台设备上同时运行;又或者一个测试工程需要分布在多台设备上协调运行,这时就是Multi CANoe应用的高光时刻。



对于Multi CANoe的功能实现,首先需要了解以下几个重要配置:


时间同步配置


几乎所有Vector VN接口都可以通过同步线来实现时间同步(只需硬件具备同步接口)。其中一个接口在这条线上发出一个脉冲后,同时被其他所有连接的接口检测到。但是,连接的硬件接口数量越多,会导致发送时间就相对越长,因此当需要多个CANoe实例集成的接口设备时,建议使用Vector SYNCbox同步盒补偿延时,同步盒的使用如下图所示:


图片2.png

使用Multi SYNCbox的VN接口同步   图片源于Vector


  • 同步运行机制

要保证在所有计算机上同时启动CANoe,需要简单了解下内部的同步运行机制:

① 在任何CANoe实例上点击“开始运行”时,都会首先发送启动请求给主机(发送同步脉冲的设备);

② 主机向所有CANoe实例发送启动命令;

③ 每一个CANoe实例就会开始其当前配置,并将此状态报告给主机,在此阶段,所有驱动程序开始运行,但CANoe尚未处理任何事件;

④ 当主机检测到所有CANoe实例均已达到此状态,它通过硬件接口发送同步脉冲;该脉冲就是所有实例的时间戳 0时刻。此时所有的CANoe实例开始处理驱动程序事件。


上面介绍了同步运行方式,那么数据交互又是如何实现的呢?别走开,精彩继续!



数据交互配置


原则上,在CANoe实例上运行的配置是完全彼此独立的。但是,时间同步功能可以使主CANoe产生同步脉冲并分配给其他CANoe实例,那么也同样有方法可以使多CANoe实例之间实现信息交互,为此,可以将CANoe配置为在Multi CANoe模式下的隐藏FDX连接(以太网)。


具体就是Multi CANoe使用Windows IP堆栈进行数据交换,但要确保所有计算机在同一个IPv4子网中,设置如下:

 

图片4.png

Windows网络适配器的IPv4设置


版本和Licensing配置


对于Multi CANoe操作,所有计算机上安装的CANoe版本必须相同,特别是主版本,SP修补程序版本必须相同。


Multi CANoe要求是CANoe pro或run的license,所以SUT所需的每个总线类型Option也都需要同样的CANoe pro或run license。每增加一台计算机为slave,都需要一个相同版本的CANoe license(RT Rack除外,它具备独有的Slave license)。

例:SUT具有CAN,LIN和以太网总线的3个子系统,则需要三台计算机分别满足不同的总线需求,这将需要如下的license配置:

 

图片5.png

软件版本及license


操作实践


如果搞清了上述配置,话不多说,利用手边现有设备操练起来。


我们先用两台计算机模拟该Multi CANoe的操作模式。

  • STEP1:硬件连接

准备两台电脑安装有相同版本的CANoe软件(SP包也要相同),两个内部集成license为pro的相同版本的接口卡;CAN通信端口分别连接对应被测设备(或者通道互联,进行报文交互),两个接口卡的同步口可直接用同步线连接。

 

图片7.png

硬件接口卡配置


  • STEP2:总线接口配置

在每台Multi CANoe计算机上分别配置Vector网络接口,对于硬件同步的物理连接,需要在CANoe的硬件配置对话框中,确定Multi CANoe主计算机的哪个接口将发出脉冲(即VN设备接口上的硬件通道发送脉冲)。

 

图片8.png

CANoe的硬件同步口发送脉冲设置


在此示例中,CANoe的"CAN1"通道用于同步源。在控制面板/CANoe硬件配置中,可以看到该通道映射到哪个硬件接口。

 

图片9.png

Vector硬件配置中的通道分配


STEP3:网络配置

两台电脑分别打开网络设置,确认IP地址信息,确保二者在IPv4相同子网段中,此IP地址可以更改,并保存;

 

图片10.png

Windows网络适配器设置


正确配置Windows网络适配器后使用网线连接,然后分别打开对应的软件工程,可以在CANoe的Option配置选项内,点击Multi CANoe配置对话框,选择激活“Enable Multi CANoe”,如果输入的IP地址在当前Windows IP配置中不可用,那么就会出现图标标示处的红色×表示CANoe实例无法访问,如下图所示

 

图片11.png

IP配置不可用信息显示

 

图片12.png

 “ CANoe Option” IP配置可用信息显示及导入导出功能


重要说明:在所有运行的计算机上,Multi CANoe实例的IP地址列表必须相同。因此,此处设有导入和导出功能,如上图所示,将配置文件共享用于其他实例导入。每个CANoe都要相互了解所有实例。且此处不支持动态IP地址。


STEP4:信息交互设置

Multi CANoe的最大优势在于它可以无限制地扩展。所有的计算是在各自独立的计算机上完成的,如果需要更多的计算能力或更多的通道,只需添加计算机个数。


Multi CANoe实例,CANoe之间的信息共享很重要。例如,模拟点火状态可能需要在几个总线实例中同时运行,并且分别由不同的计算机处理;或者一个测试可能分布在多个CANoe实例上,他们需要协调下一步应该执行哪个测试步骤。为此,可以设计将系统变量应用在其中,我们所需要做的,就是简单配置系统变量的“Multi CANoe Write Access”属性:

 

图片13.png

系统变量的多CANoe设置


将这样的系统变量定义保存到文件中,并使其他所有的Multi CANoe实例皆引用该文件。那么,具有“master”权限的实例在更改该变量后,数值的变化会立即被其他CANoe实例看到;但也莫要将大量总线信号映射到此类系统变量,可能会导致负载率的增加。


STEP5:数据分析显示

完成了上述的操作,最后我们来展示下使用Multi CANoe功能的优越性。


首先,对两台计算机上的实例工程demo1和demo2,按照以上STEP1- STEP3配置,运行程序,可以观察到以下报文信息:

 

图片14.png

Master主机Trace窗口报文信息

 

图片15.png

Slave 节点Trace窗口报文信息


在两个Trace窗口中, Master 和Slave可以按照自定义的周期进行交互通信,且两个工程的同步时间,只存在us级别的延时,使其达到了多台设备报文交互同步的目的。


其次,对两台计算机上现有的实例工程demo3和demo4(二者具备相同的系统变量),按照以上STEP1- STEP4配置并运行,可以观察到以下报文信息:

对相同系统变量进行属性配置“Multi CANoe Write Access”后,两个工程实例不仅能同步运行,还可以同步控制系统变量关联的panel面板控件更改数值,实现同步仿真;

 

图片16.png

多系统变量的配置显示

 

图片17.png

Master主机的panel面板控制

 

图片18.png

对比Slave 节点的panel面板被控操作


上述两图对比可以看到,当Master主机操作面板控件后,Slave节点会同步显示控件的变化,并且控件关联的系统变量的数值也会同步显示在各自的分析窗口中,如此,系统变量的简单应用,就可以使多台设备同步共享同一参数状态,来满足各个子系统的不同需求。


以上demo的功能应用较为简单,但是大家完全可以按照相同设置去模拟操作功能更为完善的大型整车系统,实现整车多ECU的同步交互仿真的需求。


那么今天就Multi CANoe的简单应用,给各位学霸们介绍到这里,希望能够帮助大家更好的认识和使用CANoe,挖掘出更多的CANoe隐藏功能,简化大家的工作流程,提高工作效率。最后也欢迎各位在评论下方与怿星积极的交流沟通,一起探讨Vector工具的福利功能。