文章
COBview (CANopen Object View) Overview
COBview is a CANopen tool for analyzing and diagnosing CANopen nodes.

主要功能
- detecting and displaying CANopen devices in networks
- basic CANopen NMT(Network Management) functionality
- the support of read and write accesses to individual objects via SDO
安装
COBview can be installed from esd CAN SDK package, can only be used in Windows 10/8/7
功能介绍
-
set CAN net number -- open device manager to check the installed CAN device, confirm its CAN port number. 1.1 在demo system中我们看到,笔记本电脑连接了CAN-USB/2设备,此设备带有一个CAN口,并且在Windows的装置管理员中看到其Base Net设为0,所以CAN口的端口号为0。
Base Net的含义是指第一个CAN口的端口号,如果CAN设备带有4个CAN口,那么CAN口号会依次为0,1,2,3。你看也可以修改Base Net,假设修改为5,则4个CAN端口的编号会改为5,6,7,81.2 在COBview的Net栏位输入0。 -
set Baud rate -- check CAN-CBX-DIO8 coding switch (编码拨盘) 2.1 在demo system中我们看到CAN-CBX-DIO8的coding switch,也就三个编码拨盘中的Baud拨盘,目前指向0。其含义是CAN-CBX-DIO8的Baud rate设定为1000 kBit/s, 2.2 在COBview的Baud栏位选择1000 kBit/s。
-
find CANopen modules (nodes) 3.1 点击"Find Modules..."按钮,CAN-CBX-DIO8会被找到并显示在以下(图一)中。 3.2 In Stopped status the module cannot be listed under Find Modules...
-
set Node No. (Node-ID) 4.1 在demo system中我们看到CAN-CBX-DIO8的coding switch拨盘中,设定为Low 1 High 0,对应的Node No.(Node-ID)是1。 4.2 在Node No.中输入1,则后续的CANopen identifier都会合并此Node-ID 1。
假设Node No.中输入8,点击Start按钮,CANreal中会抓取到COBview发送了01 08的消息,表示让08这个Node切换到NMT operational状态。在 Index(Hex): 中选择1000, 然后点击Read按钮,在CANreal中会抓取到COBview发送了identifier为608(600+8)的消息,表示为发送SDO给Node-ID为8的装置。4.3 若勾选 All(NMT),则点击下面 Network Management(NMT) Start按钮发送01 00,Preop按钮发送80 00,Stop按钮发送02 00,Reset按钮发送81 00,Comm按钮发送82 00。这些消息中第二个数据都为00,表示对CAN网络中所有的节点都进行操作。 -
change NMT state 5.1 Start: CANopen status Operational. 5.2 Preop: CANopen status Pre-Operational. 5.3 Reset: CANopen initialization status Reset Application. Then the module automatically gets into Pre-Operational status via Reset Communication. 5.4 Comm: CANopen initialization status Reset_Communication. Then the module automatically gets into Pre-Operational status. 5.5 Stop: CANopen status Stopped. 5.6 详见下面图二。
-
read value from object 6.1 选择 "1018 Identity Object",此Object的格式如下图四。 6.2 读取此Object的Value,内容如图五。 6.2.1 sub 0为sub-index 0,value是4,说明有4条记录,分别为sub-index 1~4。 6.2.2 sub-index 1 vendor_id value 0x00000017,是指esd 公司在CiA组织中的Vendor ID号为0x17。 6.2.3 sub-index 2 product_code value 0x23010002,是CAN-CBX-DIO8产品在esd公司内部的订货号。 6.2.4 sub-index 3 revision_number value 3,是CAN-CBX-DIO8软件版本号。 6.2.5 sub-index 4 serial_number value 0xC7C60533,是此CAN-CBX-DIO8序列号。
-
write value to object 7.1 针对CAN-CBX-DIO8的Object Index 6200 (Write Output 8-Bit)和Object Index 2250 (I/O Direction Mask 8-Bit)的读写来举例说明此功能。 7.2 Index 2250 sub 1 的值定义了DIO8中的8个口哪几个用来做Output,哪几个用来做Input。它是一个Unsigned 8格式数据,8位中每一位都对应一个IO口。置1用作output,置0用作Input。 7.3 使用COBview来把2250的值改为0xFF,也就是把所有8个IO口都用作Output。在"Index(Hex):"栏位中输入2250,点击"Read"按钮,读取上来数据后,双击sub 1,在"Value"栏位输入0xFF,然后点击"Write"按钮写入数据。参见下面图七。 7.4 Index 6200 sub 1 的值定义了DIO8中的8个口是否有开启Output 24V,如果开启了Output的话,对应口的指示灯会亮起来。它是一个Unsigned 8格式数据,8位中每一位都对应一个IO口。置1用作开启output,置0用作关闭Output。参见下面图八。 7.5 使用COBview来读取6200的值。在"Index(Hex):"栏位中输入6200,点击"Read"按钮,读取上来数据后,双击sub 1,在"Value"栏位输入7(意思是打开第一,第二,第三口的output),点击"Write"按钮。参加下面图九。 7.6 写入成功后,可以查看CAN-CBX-DIO8装置,参见下面图十,1,2,3上的指示灯都亮起了。
-
scan multiple objects 8.1 scan所有Objects Index from 6000 to 6FFF。 8.2 在"Index(Hex):"栏位中输入6000,点击"Read"按钮。 8.3 点击长条下拉菜单,选择"Index Scan (current index:) 6000...6FFF",
-
控制CAN总线上多个CANopen装置 9.1 若CAN总线上连接了多个CANopen装置,也可以通过COBview来选择其中一个CANopen装置来控制,或者同时控制所有的CANopen装置。 9.2 若同时接入3个CAN-CBX-DIO8,将它们的Node ID依次设为1,2,3。将它们的bit rate设置为相同的速率,如都设为1000 kbit/s。 9.3 若单独让Node 1的装置进入Operational状态,在Module No.栏位输入1,并且去除勾选All(NMT),然后点击Start即可。 9.4 若想让所有装置都进入PreOP状态,可以先勾选All(NMT),然后点击Preop按钮即可。 9.4 若要读取Node 2的Index 1800,在Module No.栏位输入2,在Index(Hex)栏位输入1800,然后点击Read按钮,就可以读取Node 2的Index了。
截图
图一 Find Modules...

图二 CANopen Status Change

图三 esd Vendor ID in CiA

图四 CAN-CBX-DIO8 Object Index 1018

图五 Value of Object Index 1018 of CAN-CBX-DIO8 read by COBview

图六 CAN-CBX-DIO8 Object Index 2250 (I/O Direction Mask 8-Bit)

图七 Modify the value of Index 2250 (I/O Direction Mask 8-Bit)

图八 CAN-CBX-DIO8 Object Index 6200 (Write Output 8-Bit)

图九 Value of Object Index 6200 of CAN-CBX-DIO8 read by COBview

图十 Value 7 write to Object Index 6200 of CAN-CBX-DIO8 by COBview

图十一 Scan Object Index from 6000 to 6FFF by COBview
