Vspy常用操作(Vspy系列其一)

摘要

        Vspy是一款集合了网络监控、数据获取/记录、节点仿真、诊断、自动测试等功能的工具,支持所有英特佩斯的硬件产品(如下图是neoVI Fire版硬件盒子);有着友好的视图交互界面,每个视图可单独悬浮停靠、叠加,这对于使用非常方便(例如同时打开报文发送视图和报文监控视图等);此外,Vspy提供了外部编程API接口,方便用户的二次开发,完成更为复杂的任务;相较Canoe工具其价格优势也让其被广泛应用于汽车电子行业中。
在这里插入图片描述
        接下来,我们针对以下的几点对Vspy常用到的一些功能进行介绍:
        1、通过Message界面查看报文信息
        2、日志文件的保存
        3、导入dbc数据库文件
        4、导入cdd文件
        5、报文导入或自定义
        6、通过Tx Panel界面发送报文
        7、Application Signals的使用
        8、Function Blocks的使用

1、通过Message界面查看报文信息

        1.1、报文查看:连接好Vspy硬件,通过左上角的按钮 运行Vspy工程(注意是”Online”的状态下);选择”Spy Networks”下的”Message”。此时界面如下,当前在CAN网络上进行交互的报文信息会在该界面显示。

在这里插入图片描述
        1.2、Message界面常用操作:在进行报文的查看时,有些辅助的功能是我们经常用到的。如上图,从左到右红框的操作。
        (1)、通过”Scroll”选择是否把同一ID的报文收起还是逐条显示;
        (2)、通过”ArbId/Header”过滤出特定ID的报文;
        (3)、通过”Pause”暂停Message接收界面的更新;
        (4)、通过”Erase”擦除Message接收界面当前的信息。

2、日志文件的保存

        (1)、保存操作:点击Message界面下标题栏的”Save”,选择要保存的格式,即可将发送的报文信息保存下来,以便后续分析工作,保存界面如下图所示:

在这里插入图片描述
        (2)、查看保存下来的Logging日志文件:如下图,点击右上角的”Data”,将打开文件保存的位置;此时,可以将保存下来的文件重新丢回Message界面进行查看;也可以用Notepad++等第三方软件进行查看。

在这里插入图片描述

Ps:保存数据量的设置:如上图,点击”Setup”(需在停止Vspy工程状态下)进行设置;此时的界面如下图所示。可在这里进行日志文件保存的报文数量进行设置。

在这里插入图片描述

3、导入dbc数据库文件

        dbc数据库文件是用来描述CAN网络节点间数据通讯的一种文件,包含了CAN总线协议中协议数据及其所代表的具体意义。简单的讲,dbc文件描述了在CAN网络上有哪些报文信息;这些报文上又携带了哪些信号信息;该报文是从哪个节点发出,哪个节点进行接收的等信息。当我们已经有了dbc数据库文件后,可以将其直接导入到我们的Vspy工程中进行使用操作。其导入过程如下:
        (1)、建立平台:需先建立一个用于加载dbc文件的数据库平台。在Vspy工程Stop的状态下,点击工具栏”Setup”下的” Setup Platforms“,此时界面如下,通过”Add”新建一个平台;

在这里插入图片描述
        (2)、在新建的平台上导入dbc文件:点击工具栏”Setup”下的” Network Databases“,此时界面如下,选择”Network”后点击”Add”添加dbc文件(也可以直接导入其他Vspy工程中的报文信号),点击”Save Platform Changes”进行保存。即完成dbc文件的导入工作了。

在这里插入图片描述

        (3)、dbc文件的使用:经过前面的步骤我们完成了dbc文件的导入工作,此时在”Message Editor”界面下的”Database”里,就可以看到我们加载进来的dbc文件中的报文了(注意”Network”的选择);右键要使用的报文选择拷贝到“Transmit”、“Receive”下,即可进行直接使用这些报文了。

在这里插入图片描述

        Ps:关于dbc文件,可以查看“dbc文件的创建”和“dbc文件的格式解析”这两篇文章的介绍。

4、导入cdd文件

        cdd是诊断数据库文件描述了诊断应用的范围和数据格式,用于优化整个诊断开发过程。可通过”CANdelaStudio”这个诊断协议开发软件来进行编辑。在Vspy中,导入cdd文件的操作如下:
        (1)、文件导入:在Vspy工程Stop的状态下,点击工具栏”Setup”下的” ECU Diagnostic Databases“,此时界面如下;选择用来加载dbc的数据库平台,若当前工程没有平台,则需新建一个;步骤可参考上一小节加载dbc文件时的介绍。
在这里插入图片描述
        点击上图中的”Import”,选择“ISO 14229”下的“ODX/PDX”,选择想要导入的cdd/odx文件。这样便完成cdd文件的导入了,完成导入后的界面如下(注意要输入诊断ID):

在这里插入图片描述

        (2)cdd文件的使用:点击”Spy Networks”下的”Diagnostics”,此时界面如下,可在该界面下直接进行诊断报文的发送操作,或者将其拷贝到”Message Editor”界面下进行操作等。

在这里插入图片描述

5、报文导入或自定义

        5.1、从dbc文件中将报文导入到当前工程

        (1)、点击工具栏”Spy Networks”下的”Message Editor”,此时界面如下图,选择我们刚刚导入dbc的CAN网络,并选到”Database”这一列,此时则会显示出导入的dbc中包含的报文及其信号信息(下图通过ID过滤掉了其他报文信息)

在这里插入图片描述
        (2)、选择要导入的报文(可一次性导入多条报文),右键,选择”Copy To”,此时可以选择导入到”Transmit”(发送报文列表)处,或者”Receive” (接收报文列表)处。此时再到”Receive”或者”Transmit”界面下进行查看,可以看到我们刚刚从dbc导入的报文已经在列表下了。

        5.2、自定义报文
        点击工具栏”Spy Networks”下的”Message Editor”,在”Receive”界面下编辑接收报文;在”Transmit”界面下编辑发送报文;点击鼠标右键,选择”Add”进行报文的新增工作,此时界面如下:

在这里插入图片描述
        定义的报文需设置的项如下所示:
在这里插入图片描述
        (1)、在”Description”下输入新建的报文名字
        (2)、在”Type”下选择报文的类型,是11位的标准帧还是29位扩展帧(默认是11位的标准帧格式);
        (3)、在”ArbID”下输入该报文的ID(16进制)
        (4)、在”Multi”下选择多帧情况下遵循的协议,可以选择”None”,此时不能发送多帧;选择”ISO15765-2”、“J1939”,则在信息大于一帧的情况下,分别遵循其网络层协议将信息分成多帧进行发送;
        (5)、在”DLC”项输入该报文的长度
        (6)、在”B1—B7”项中,输入报文中携带的固定的数据信息;如下图ID为0x123这一条报文,其前面三个字节固定是以”01 02 03”发送的;若发送数据是变化的,我们可以通过在报文下面新建信号来实现。
        (7)、在该报文下面的”Signals in message”界面增减该报文的信号输入信号名字、选择信号值类型、定义信号长度及起始位等信息。如下:

在这里插入图片描述             

6、通过“Tx Panel”界面发送报文

        通过前面的小节,我们完成了在vspy工程下报文的创建(或导入)工作。在”Message Editor”下的”Receive”的报文即为定义的接收报文;在”Transmit”下的为发送报文。而关于报文的发送操作,可以在”Tx panel”界面下完成。操作如下:
        (1)、点击工具栏”Spy Networks”下的”Tx panel”,此时界面如下(我们在”Transmit”界面下的创建的发送报文都会在”Tx panel”界面下出现

在这里插入图片描述
        (2)、选择要进行发送的报文,在"Auto Tx"这一列设置好发送方式
        ”Periodic On”方式下:可以通过点击前面的按钮进行开启/关闭该报文的周期发送;
        “Periodic”方式下:也是周期发送;只不过该方式是一运行工程就自动进行周期发送,在关闭工程时才停止发送;
        “At Start”方式下:每点击前面的发送按钮才会对该报文进行一次发送操作。

        (3)、在右侧设置该报文的信号变量值,点击前面的发送按钮;即将此条报文信息发送出去了。可以在”Message”界面下查看发送出去的报文。

7、“Application Signals”的使用

        在“Application Signals”下定义的应用信号可以作为我们Vspy工程中,”Graphical Panels”下创建的界面控件与vs工程(或Function Block)的连接纽带。即当我们在Vspy下点击某个控件时,此时是改变其关联的应用信号的值;vs工程(或Function Block)中再判断该信号值的改变,进而执行相应的程序。应用信号的定义操作如下:
        (1)” Application Signals”的创建:点击工具栏”Scripting and Automation”下的” Application Signals”,点击左侧的”+”进行应用信号的添加,此时界面如下,对应完成信号名、信号类型、初始值等的设置工作。

在这里插入图片描述                                                    创建数值类型的应用信号

在这里插入图片描述                                                    创建文本类型的应用信号

        (2)、与”Graphical Panels”下的控件按钮进行关联:点击工具栏”Measurement”下的” Graphical Panels”,以放置一个开关按钮控件为例,此时界面如下:

在这里插入图片描述

        双击”Signal”进入到选择关联信号的界面,如下,在左侧点击到”App Signals”这一项,双击选择我们要关联到的应用信号。

在这里插入图片描述
        Ps:这里由于Application Signals的使用介绍,提到了” Graphical Panels”面板界面的使用;但这里不做过多描述,关于” Graphical Panels”下常用的控件介绍,放在下一篇文章中进行介绍。

8、“Function Blocks”的使用

        当我们需要在Vspy工程中进行多个功能指令的操作时,则可以在”Function Blocks”界面下进行操作;步骤如下:

        8.1、” Function Blocks”的创建
        点击工具栏”Scripting and Automation”下的” Function Blocks”,点击左上角的”+”进行功能块的添加,此时界面如下:

在这里插入图片描述

        8.2、” Function Blocks”常用指令介绍
        设置新建功能块的名字,触发方式(点击上图绿色框起来的”Start”进行设置,有立即触发、手动触发等方式;还可以设置触发按键;设置界面如下图所示)、及其执行的指令集等。
如上图的例子中,我们新增了一个名为”MyFunctionBlock1”的功能块;其触发方式是”Manual”,即手动点击开始按键触发。然后最主要的重点是其触发后执行的指令块,这些信息是在下面进行设置的。

在这里插入图片描述
        接下来我们介绍下”Function Blocks”中常用到的一些指令集,如下:
        (1)、Set Value:设置信号的值;
        (2)、Transmit:发送指定的报文;
        (3)、If、Else、Else If、End If:条件判断指令(使用了If指令,需配套End If指令表示结束);
        (4)、Wait For/Wait Until:等待时间(相当于延时)/在某个条件满足前等待(该指令下也可设置超时时间);
        (5)、Pause/Stop:暂停/停止(若该Function Block结尾处没有加Stop指令;则该block会不断循环);
        (6)、Start Loop/End Loop:相当于C语言中的For循环;用于定义”Start Loop”到”End Loop”之间指令块的循环次数;
        (7)、Jump To/Jump If:指令跳转,用于指定跳转到第几行指令(类似于C语言中的goto);Jump If则是Jump To与If指令的组合,即条件满足再进行跳转;
        (8)、Clear History:清除”Message”界面的报文信息;
        (9)、Function Block Action:对其他”Function Block”的操作(比如可以在当前Block调用/停止其他Block);可进行的操作如下:

在这里插入图片描述
        Ps:这里只是简短介绍了下常用到的几个指令集的用途;至于其他指令,大家可以在帮助文档(”F1”神键进入)中”Function Block”的章节进行查阅。

总结

        Vspy是一款集合了网络监控、数据获取/记录、节点仿真、诊断、自动测试等功能的工具;友好的操作界面及相对较低的价格成本让其广泛应用于汽车电子行业。Vspy工具的核心功能,说到底也是在硬件基础上通过上位机工具实现与ECU间的信息交互包括进行报文发送及网络上报文数据的监测等
        其中,报文的发送是在Tx Panel视图下完成的(第6小节);而关于发送出去的报文,需要我们自己进行定义(第5小节)、或者从dbc/cdd(发送的为诊断报文时)中进行导入(第3、4小节)。关于对网络上报文数据的监测及保存则是在Message视图下完成的(第1、2小节)。以上就是Vspy最基本的功能操作。在Vspy与用户的交互上,我们一般会通过"Graphical Panels"下的控件来制作交互用的面板,方便用户的操作使用;此时就需要第7、8小节的知识点。

  • 40
    点赞
  • 229
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值