文章
CANreal Overview
CANreal is a software tool for Testing and Monitoring CAN Networks.

主要功能
- Capture and monitor CAN networks.
- Save log file.
- Send CAN messages, and config send list.
- Record CAN bus statistics
- Config start trigger and end trigger.
安装
CANreal can be installed from esd CAN/LIN-SDK with CAN Tools for Windows package, can only be used in Windows XP or later.
功能介绍
-
Add/Delete ID Area 1.1 收到的CAN消息如果ID不在此enabled CAN ID范围内,将不会被CANreal工具并显示。 1.2 输入的ID数字都应为16进制数字,但无需输入0x前缀。 1.3 设定11-bit的CAN ID最大范围是000-7ff。 1.4 设定29-bit的CAN ID时,必须勾选"29-Bit"的checkbox。最大范围是00000000-1fffffff(7个f)。 1.5 如果希望收到特定ID范围内的CAN消息,可以进行配置。以demo system为例子,CANopen消息使用的CAN ID的范围比较广,比如ID为01的NMT Start消息,有ID为601,581的SDO消息,有ID为181的PDO消息,所以此处设定11-bit ID的最大范围000-7ff。 1.6 在NTCAN的介绍中会演示收发ID 为29-bit的CAN消息,所以此处设定29-bit ID的最大范围00000000-1fffffff。
-
set Net No. 2.1 可以参考COBview功能介绍中的1.set CAN net number。 2.2 以demo system为例,在"Net:"栏位,从下拉选单中选择"0 - CAN_USB2"。
-
set Baud rate 3.1 可以参考COBview功能介绍中的2.set Baud rate。 3.2 以demo system为例,在"Baud:"栏位,从下拉选单中选择"1000"。
-
monitor CAN bus, capture CAN messages. 4.1 设定好接收的ID范围,Net No.和Baud rate后,点击Start按钮,可以开始抓取CAN消息。 4.2 使用COBview读取任意Object的值,在CANreal的Display Window for received Messages中会有相应的CAN消息出现。 4.3 Display Window for received Messages中的Rel Time是相对时间的意思,值的得到是用此CAN消息的Absolute Time减去上一个CAN消息的Absolute Time。 4.4 Display Window for received Messages中的Id栏位除了可以显示普通CAN消息的ID,也可以显示NTCAN Event消息的ID。 4.5 L栏位代表Length,范围0-8 4.6 d1-d8栏位代表CAN消息中8个字节的数据。
-
send CAN message 5.1 在CANreal底部区域,用户可以使用CANreal发送CAN消息。 5.2 如果发送29-Bit ID的消息,需要勾选"29-Bit"。 5.3 如果发送RTR消息的话,需要勾选"RTR",因为RTR消息不含数据,所以Len栏位会自动修改为0。
-
send list 6.1 在send list中添加记录。一种可以直接在send list中输入,另一种可以在Input Bar for Send Messages中输入后,点击Send按钮边上的小按钮存入send list中。 6.2 发送send list中CAN消息的方法 6.2.1 单发送send list中的一个消息,点击每条记录边上的send按钮即可。 6.2.2 单次发送send list中的所有消息,也就将send list中的所有消息发送一次的方法为,点击Single按钮即可。 6.2.3 循环发送send list中选定的消息,首先点击消息边上的off按钮使其变为on(cyclic栏位),然后在Cycle栏位中输入需要多少个cycle后发送一次,比如输入1000个cycle大致为1秒中发送一次。然后点击"Send list:" bar上的Send 按钮,就会每个1秒钟发送一次这条CAN消息。
-
save and open logfile 7.1 点击File->Save frames...,将抓取的所有CAN消息存入文件,文件后缀名为.csplog。CANreal也能打开csplog文件浏览抓取的CAN消息。 7.2 将csplog文件转化为txt文件,使得没有安装CANreal也能读取抓取的CAN消息。 7.2.1 菜单File->Convert logfiles to text...。 7.2.2 菜单CAN->Logging,输入log to file的文件名后,勾选"On-the-fly ASCII convert(*.txt)",点击"Start->"按钮后,可以直接将抓取的logfile存为txt文件。
-
config start trigger and end trigger. 8.1 CAN->Trigger & Logging...打开配置触发启动Start Trigger和触发结束End Trigger界面。 8.2 收到特定CAN消息后触发抓取。 8.2.1 例如配置收到CAN消息ID为0x10,数据为01后,触发启动抓取logfile。参见下面图二输入数据。 8.2.2 同时配置抓取20条CAN消息后,触发结束抓取logfile。参见下面图三输入数据。点击"Start->"按钮后,CANreal底部出现"TRIG:WAITING"的字样。 8.2.3 在demo system的Linux PC上使用cantest工具发送一条CAN ID为0x10,数据为01的CAN消息(cantest 0 3 0x10 0x10 1 10 100 100 5000 0 1 0x10)。当CANreal收到此消息后,会触发启动抓取Logfile,请参见下面图四,Trg栏位中有面小红旗icon边上有字母S,代表此条CAN消息为触发启动的CAN消息,并且底部CANreal status栏位出现"TRIG:TRIGGERED"字样。 8.2.4 在demo system的Linux PC上使用cantest工具发送CAN ID为0x10,数据为01的CAN消息超过20条以后(cantest 0 3 0x10 0x10 1 10 100 100 5000 0 30 0x10),请参见下面图四,Trg栏位中在第21条记录处有个字母N的字样代表Number Of Messages触发了停止抓取logfile。并且底部CANreal status栏位有"TRIG:ENDED"字样。
-
CANreal plugins 9.1 File->Advanced Settings, click Plugins panel. 9.1 Internal Plugins,CANreal内带plugin支持解析CAN-DBC(Data Base CAN)+CANopen和CAN-FD。 9.2 External Plugins,J1939和Plugins for particular protocols (e.g. in the aeroplane),如有需求可以发送request给esd获得。 9.3 用户可以开发特定需求的CANreal plugin。
-
CAN FD 10.1 File->Advanced Settings, click Plugins panel, select "CAN FD (esd electronics gmbh)". 参加下图五。 10.2 In "Bitrate", select CAN FD bit rate, like "FD 1000-5000", which means the nominal bitrate is 1 MBit/s and the data bitrate is 5 MBit/s. And then click "Start". 10.3 Click the "Add to Send List" button beside "Send" button, click the field of "FD Data[Editable]". 10.4 编辑需要发送的CAN FD Data,最大可以编辑64 byte的数据,点击此list边上的"Send"按钮发送。参见下图六。 10.5 收到CAN FD数据,请参见下图七。
截图
图一 CAN ID symbols

图二 Config start trigger

图三 Config end trigger

图四 record trigger

图五 CAN FD plugin selection

图六 Edit CAN FD data
图七 Receive CAN FD data