CANslinkal简要介绍

更新时间:2023-07-25 03:43:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

功能强大的数据仿真分析工具

1.西谌CAN分析仿真系统CANslinkal简介

V1.81

1.系统特点

CANslinkal(读音:看斯林卡,“看”重音,“林”重音加长音)是一款高性能多功能的CAN分析仿真工具,由软件与配套硬件两部分组成。具有以下特点:

1) 使用USB与电脑通信和供电,无须额外电源。支持WINXP、WIN7、WIN8、

WIN8.1、WIN10各版本的32位与64位系统。

2) ★DC2500V电气隔离,采用脉冲变压器和高速光耦实现电源和信号的隔

离耦合,保护设备免于电气浪涌的损坏。

3) ★增强的EMC设计加强了设备对电源传导干扰和空间辐射干扰的抵抗能

力。

4)

5) 完全支持CAN2.0A和B两种格式。 4K~1000Kbps波特率自由设置。总线波特率自动探测,特定波特率下参

数自动计算。

6) 通道单独工作每秒7200帧扩展ID的接收与发送能力(1000Kbps波特

率下总线100%极限负荷)。主机传输模式下,双通道同时工作各通道每秒4500帧扩展ID的接收与发送能力(1000Kbps波特率下总线60%以上负荷(※注1),500Kbps或以下波特率下总线100%极限负荷)。纯

功能强大的数据仿真分析工具

模块程序处理模式下,双通道同时工作各通道每秒7200帧扩展ID的接收与发送能力(1000Kbps波特率下总线100%极限负荷)。

7) ★实现了ID信息全览查看方式。在该功能页面中,可以根据数据库自动

解析原始数据,转换成实际的物理数值。并能够自由分组、排序与过滤,方便用户观察。

8) ★实现了CAN数据变化追踪功能。可以实时突出显示变化与不变的数据,

为CAN数据破解提供了强力的辅助。

9) ★实现了图形控件显示功能。用图形(如里程表,指示灯等)以更形象的

方式显示CAN数据物理数值。

10) ★实现了序列数据流显示功能。能够将数据按接收顺序依次显示,并用

不同颜色区分不同的ID。

11) ★实现了示波监测功能。能够以波形方式实时显示CAN数据物理数值,

便于查看数据变化轨迹。

12)

13) 同步在线显示丰富的CAN总线状态与统计信息。 ★完善的CAN数据记录功能。能够自动保存全部数据,也能够手动保存

最近的数据。并可以自定义任意过滤ID(滤通或滤阻)。

14) 完善的离线数据分析功能,可将在线保存的数据按条件提取、重放,做

更详细充分的分析。

15) ★类C语言的脚本支持(西谌YiCscript),提供方便的数据收发交互

功能。并提供代码自动生成向导,不用写代码,就能完成条件发送CAN

功能强大的数据仿真分析工具

数据的功能(如定时触发、按键触发、收到或发送完特定的CAN数据后触发),CAN数据可以一个或多个连续发送或者多个数据分次发送等。 16) ★提供类似Matlab/simulink与LabView的可视化模块建模工具,

只须拖放模块,无须代码编程就可以自由控制CAN数据收发和复杂的逻辑测试。这种方式入门简单,开发速度极快,非常适合现场开发。而传统的CAN分析软件不过是提供给用户动态链接库,须用户自己编写程序,这种方式用户界面非常不友好。它难度大,控制难,开发周期长,不能随心所欲作快速开发。

17) ★模块程序可以内嵌C语言(西谌YiCscript),可在必要的地方提供

代码级的控制能力。

18) ★强大的实时性能。可视化模块程序完全在CANslinkal专用硬件上执

行,满足苛刻的实时控制要求。用户可以真正的建立一个与实际别无二致的仿真环境。而使用其它的CAN分析仪开发的程序,都是运行在电脑上,根本无法保证运行时间的精确性。只能让用户退而求其次,得出的结果可能会与实际大相径庭。

19) ★模块生成的程序,既可以在CANslinkal硬件上实时执行,也可以写

入到CANdirect硬件(需另外购置)中,不用电脑,直接连接外部电源即可实时执行。用此功能,用户可以非常容易的构建各种功能的CAN传输、转换或者网关工具。

功能强大的数据仿真分析工具

20) CANslinkal入门引导 4 / 31 ★高层应用协议。系统提供高层应用协议(j1939、OBD-CAN、ISO15765)

的直接支持,不需要用户编程来实现。但也同时提供用户脚本

(YiCscript)编程功能,以满足用户自定义功能的需求。

21) 提供动态连接库,它能通过USB接口调用硬件功能。用户可以此制作自

己的上位机程序。

22) 除了实际硬件,用户也可以使用虚拟硬件来执行用户控制逻辑。这样可

以在没有实际硬件的情况完成开发测试。使用这种方式,可以避免插接实际硬件,用户可以随时随地轻松开发。

※注1:根据工业要求,任何正常合理的设计,在实性能要求比较高的情况下, CAN总线负荷不应该超过30%;实时性能要求比较低的情况下,CAN总线负荷不应该超过50%。CANslinkal在常用波特率,如500Kbps或者250Kbps下单双通道都能达到100%极限负荷。在最高波特率

1000Kbps、且双通道同时工作模式下,提供的最大负荷虽然达不到100%(单通道工作可以达到100%),但60%的负荷已经能满足实际需要。从系统实现上来说,在1000Kbps做到100%负荷是没有任何问题的(无外乎多开几个USB通道)。但这几乎没有任何意义,因为用户根本用不着,多余的性能只能增加系统运行的负担。这也与我们系统高效简洁的开发宗旨相违背。

2 功能简述

CAN数据接收功能主要用于CAN的在线或离线查看与分析。它有ID信息全

功能强大的数据仿真分析工具

览、图形控件显示、序列数据流与示波监测等四种在线观测方式。使用这四种功能,可以满足任何数据在线查看的要求。而且除了数据之外,也可以查看CAN总线统计信息与状态。这对于分析总线状态很有用处。各功能分别介绍如下。

2.1 ID信息全览

2.1.1 数据自动解析

该页面会显示所有接收或发送的CAN ID。上图所示蓝色文字就是CAN原始的全部信息,包括ID值、ID类型、名称(需要在下述的数据库中登录)、数据长度、所在通道(CANslinkal支持两个通道同时运行)、数据方向(接收或是发送)、数据内容(十六进制显示),各ID的总的实时数量与前后两帧的间隔。

如果CAN ID和其携带的数据的解析方式被登录到数据库(相当于DBC文件,但更直观易懂,有专门的编辑页面),接收到的物理数据就会被直接解析并显示。比如上图所示的ID 0x18F1330A所传输的数据―――速度、重量与坡度等,解析后,显示实际数值与描述,这就免去了手工计算的麻烦。

功能强大的数据仿真分析工具

★如果使用了j1939协议插件,此处不仅能自动解析上述全部信息,还能够显示PDU等各种j1939 CAN ID的组成元素。j1939的复帧(多帧)也能够在此自动解析出来。如下图:

2.1.2 数据变化追踪

该页面还提供了原始数据变化追踪功能。该功能的一大应用就是CAN数据的破解。比如从汽车OBD接口接入CAN数据,如果松踏刹车而导致某个数据发生变化,那么该数据很可能就包含有刹车板的信息,诸如此类。下图是使用该功能后,检测出的数据变化,其中蓝色表示该字节从未发生变化,红色表示该字节正在变化,紫色表示该字节曾经发生了变化,但现在没有发生变化:

功能强大的数据仿真分析工具

点击某个ID,还可以直接查看到字节的具体变化过程,如下图,按接收顺序显示了某个ID数据。“--”表示该字节没有发生变化,如果显示了具体的数值,则表示对应字节发生了变化:

上述功能的组合,可以说是CAN数据破解的利器。

2.1.3 ID排序、分组以及过滤

其它诸如ID排序、分组以及过滤等功能,都为用户观察数据提供了及其便利的辅助,自定义功能极其强大:

功能强大的数据仿真分析工具

2.2 数据流

并不是所有时候都需要解析物理数据的。比如ISO15765的对话式通信,对话数据的因果关系、时间先后才是分析的重点。那么,使用数据流的查看方式是再好不过了。

功能强大的数据仿真分析工具

用户可以自由选择要查看的ID,不让无用的ID干扰视线。还可以自定义ID和数据的颜色,区分对话的双方等等。页面除了显示ID和数据内容,还会显示前后两个数据的接收时间差。这些功能,几乎可以说是为对话式通信贴身定做的。

同时因为这里可以显示前后两帧之间的接收或发送间隔。所以它额外提供了一个便利的功能:可以确认一个ID的发送周期。特别当用户在做控制器开发时,需要按固定周期发送一个ID,这里就可以确认其周期是否正确,其精度可以达到0.001毫秒。

2.3 波形监测

使用波形监测功能,可以将CAN物理数据象示波器一样显示出来,与"ID观测"功能一样,把CAN的ID以及解析方式事先登录到数据库中,然后数据解析就全部由程序自动完成。与"ID观测"不同的地方在于,这里可以看到数据变

功能强大的数据仿真分析工具

化的全部轨迹。

此处波形绘制刷新可以使用两种方式,一种是按固定周期采样绘制,比较适合大量数据的长期监测。一种是在CAN数据收到的时间点绘制,其优点就是不会漏画任何数据点,这对精确观测数据变化很有帮助。

监测的图形数据可以保存为文件,方便后续分析。也可以保存为文本格式,使用Excel可以直接打开和绘制图表。非常容易使用。

★该页面使用了西谌科技通用的波形观察控件,提供了很多便利的功能以方便用户观察数据。同时用户可以将别的地方取得的数据,用csv格式保存起来,在该控件中打开,以查看分析,它比excel所提供的功能便利得多。

★如果使用了j1939协议插件,这里还可以接收解析j1939的单帧与复帧(多帧)数据。

2.4 图形控件显示

功能强大的数据仿真分析工具

CAN图形控件显示为用户提供了更形象的CAN数据观察方式,它同样基于CAN数据库(或者j1939数据库)执行数据的自动转换,然后将转换结果以图形方式显示出来。系统提供了多种显示控件,并且在一直增加新的类型。

其操作也是非常容易,通过ID观测页面或者数据库,简单使用右键快捷菜单就可以把监测项目添加到该页面,然后从图形控件库拖放任意控件到面板中,建立一个新的显示控件,最后拖放界面下部添加到页面的数据项到显示控件中,即可以将数据与控件关联,让控件以不同的形式显示数据。

这里波形监测页面类似,可以有两种显示刷新方式。一种是按一定周期统一刷新,一种是对某些需要特定观察的项目作实时更新,每次数据更新时,显示也就更新,不遗漏任何过程中的数据。这都是可由用户自己选择设置的。

2.5 数据保存

程序提供了数据保存功能,可以将任何接收到的CAN数据保存在电脑硬盘上,然后使用离线工具,可以对数据进行分析。比如,通过数据文件计算CAN总线统计信息,或者将数据转化成物理波形数据,便于分析,等等。记录文件是用csv格式保存的,所以用户可以用任何文本编辑器或excel查看这些数据,做任何分析。

功能强大的数据仿真分析工具

使用上述对话框,可以对保存的数据作更详细设定,它包括:保存文件类型、自定义文件名称、滤通与滤阻设置等等,基本能满足各类需要。

只要开启了数据记录,所有总线上收到的数据通过过滤后,都会自动保存在电脑中,不需要用户中间干预,这就避免了数据遗漏。同时系统也提供了手动保存功能,可以将最近的数据(可以自定义缓冲大小)保存为单个文件,这就增加了数据保存的灵活性。

2.6 离线分析

上面保存的数据,可以通过离线分析工具重现通信过程。比如可以重放数据,像在线查看一样。也可以通过操作画面,选择感兴趣的某段数据分离保存。如下图:

功能强大的数据仿真分析工具

也还可以通过设置条件,让系统自动提取数据,分离保存等。如下图,就是一个自动提取数据的实例页面:

功能强大的数据仿真分析工具

2.7 数据发送

使用数据发送功能,用户只需要设置好要发送的数据信息,双击上图中的红色区域就可以将数据发送出去。

★该功能相对比较简单也缺乏一些灵活性,只适用于最简单的应用。如果需要复杂的交互性,可以使用下述交互脚本功能。

2.8 交互脚本YiCscript

交互脚本YiCscript是为了解决CAN数据不能灵活收发、交换信息的问题。它采用的是C语言语法,采用解释方法执行。该语言解释器完全由西谌科技

功能强大的数据仿真分析工具

自主开发,同时对C语言功能作了部分扩充,方便用户使用。如上图中的OnKeyA函数,使用了属性功能,用户在按下A键时,即可触发该函数执行,这个函数里,调用了系统函数can_send_data发送了一个CAN数据。

系统还提供了自动代码生成功能。对不大精通C语言的用户,只需要使用该向导,就可以完成就能完成条件发送CAN数据的功能,如定时触发、按键触发、收到特定CAN数据或发送完特定CAN数据后触发等。向导界面如下:

如果使用上述向导中设置,生成的代码如下:

功能强大的数据仿真分析工具

使用自动代码生成向导,可以轻易完成市面上其它一些CAN分析仪所完成的CAN数据发送功能。

同样的功能,为什么不增加到前面“2.7数据传输”所述发送功能,而在这里自动生成代码来完成呢?因为在“数据传输”页面来完成的话,确少脚本的支持,能发送的都不过是一些简单固定的数据。与市面上的一CAN分析仪一样,会受制于向导本身提供的功能。而向导本身所能提供的功能是有限的,不可能无限包含用户所有的需求。

而在这里来实现的话,有脚本的强力支持,除了能完成固定数据的发送外,用户还可以简单地修改生成的代码实现更多更灵活的功能。远远超过了向导所能覆盖的功能范围。

功能强大的数据仿真分析工具

★除交互脚本可以做动态数据收发处理外,对于不熟悉或者不喜欢写代码用户,系统还提供了更智能的更简单的模块化编程方式,该功能在后面详述。

2.9 总线状态

系统提供了完备的总线状态信息监测功能,包括离线错误,被动错误、CRC检验错误,位0错误等总线所有错误,并且使用波形方式显示记录,不会漏掉任何稍纵即逝的错误。

功能强大的数据仿真分析工具

2.10 总线统计信息

系统还提供了总线统计信息,包括总线负荷、每秒帧数等等,以方便用户对总线数据信息有个整体的把握。

2.11 系统数据库

CAN系统数据库,它类似DBC文件,是为了在上述"ID观测"、"数据监测

功能强大的数据仿真分析工具

"与“图形控件显示”功能中,提供物理数据的解析依据,用户只需要在这里编辑好数据的相关信息,其它解析工作都由系统自动完成。

其信息同样可为下面所述的模块编程功能所用,对应的CAN相关模块会自动完成数据解析或组装需要。

2.12 模块编程仿真

除去通用的用户函数库调用外,某些”高级”一些的CAN分析仪设计用户程序时一般是使用的是脚本语言的方式(CANslinkal同样也支持)。脚本语言的话,一般来说设计的都比较简单,容易学。但是,再简单它也是一种文本语言,本质上与用户调用函数库写自己的程序并无不同。只是工具一开始就把开发平台准备好了,用户只用关心功能如何实现,而不用在意功能之外---比如选择开发工具、开发语言和搭建开发环境等等方面的事。使用文本语言编程,终归是一个非常细致的工作,需要注意太多的细节,写好不容易,维护修改更不容易。

与其他CAN分析仪不同,CANslinkal提供了一套功能强大的仿真系统,用于动态处理数据,这样,用户就可以不需要书写任何代码,就可以构建任意的逻辑功能(包括CAN数据动态收发处理)。

如果用户使用过Matlab/simulink或者LabView的话,对于这种方式应该不会陌生。程序是用可视化方式进行设计,由基本的功能模块组成。用户使用鼠标通过拖放和连线来完成设计,非常简单容易。比如作一个加法运算100 + 50,并显示结果,设计出的程序将会像下图一样,这不会让用户写一行代码。

功能强大的数据仿真分析工具

无论对于开发人员还是维护人员,这种编程方式都是一种极大的解脱。就算在问题解决的现场,都可以极快的时间设计出测试程序,而不必让客户或上司久等一行一行的文本编码。

2.12.1 一般计算仿真

仿真系统的核心是仿真模块,使用它,我们可以如同搭积木一样,设计任何仿真功能,而不需要用程序语言写代码。从而可以真正模拟现实的系统。比如,发动机通过CAN总线接收外部的转速与油门要求,然后计算出最终喷油量,再交给发动机模拟计算出新的转速与力矩,然后把信息通过CAN数据发送出去等等。仿真模块如下图:

功能强大的数据仿真分析工具

系统提供了大量的功能模块,能够直接完成各种基本的功能,用以组合成强大的模块程序。为了便于操作,系统也提供了内嵌C语言(西谌YiCscript)的功能,这样用户就可以定义自己的功能模块(请不要将该功能与前面的“交互脚本YiCscript”相混淆。它们共同之处在于都是使用YiCscript语法,但“交互脚本YiCscript”处,用的是独立的页面,它的功能与模块编程是同级并行的,本质上与模块编程并无关系。这里的功能是指将脚本嵌入到模块程序中,制作自己的功能模块,在模块程序中使用代码来实现部分功能)。

该功能类似Maltab/slimulink中的S函数,只是CANslinkal提供了更为简易的使用形式。比如,要实现三个变量的加法,仅有如下代码就可以完成:

int sum(int s1,int s2,int s3)

本文来源:https://www.bwwdw.com/article/xolm.html

Top