UM01010101 V1.00 Date: 2010/01/01
广州致远电子有限公司
修订历史
嵌入式 DeviceNet 通信模块
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
i
广州致远电子有限公司
广州周立功单片机发展有限公司
地址:广州市天河北路 689 号光大银行大厦 12 楼 F4
邮编:510630
电话:(020)38730916 38730917 38730972 38730976 38730977
传真:(020)38730925
网址:www.zlgmcu.com
广州专卖店
地址:广州市天河区新赛格电子城 203-204 室
电话:(020)87578634 87569917
传真:(020)87578842
南京周立功
地址:南京市珠江路 280 号珠江大厦 2006 室
电话:(025)83613221 83613271 83603500
传真:(025)83613271
北京周立功
地址:北京市海淀区知春路 113 号银网中心 A 座
1207-1208 室(中发电子市场斜对面)
电话:(010)62536178 62536179 82628073
传真:(010)82614433
重庆周立功
地址:重庆市石桥铺科园一路二号大西洋国际大厦
(赛格电子市场)1611 室
电话:(023)68796438 68796439
传真:(023)68796439
杭州周立功
地址:杭州市天目山路 217 号江南电子大厦 502 室
电话:(0571)28139611 28139612 28139613
28139615 28139616 28139618
传真:(0571)28139621
成都周立功
地址:成都市一环路南二段 1 号数码同人港 401 室(磨
子桥立交西北角)
电话:(028)85439836 85437446
传真:(028)85437896
深圳周立功
地址:深圳市深南中路 2070 号电子科技大厦 C 座 4
楼 D 室
电话:(0755)83781788(5 线)
传真:(0755)83793285
武汉周立功
地址:武汉市洪山区广埠屯珞瑜路 158 号 12128 室(华
中电脑数码市场)
电话:(027)87168497 87168297 87168397
传真:(027)87163755
上海周立功
地址:上海市北京东路 668 号科技京城东座 7E 室
电话:(021)53083452 53083453 53083496
传真:(021)53083491
西安办事处
地址:西安市长安北路 54 号太平洋大厦 1201 室
电话:(029)87881296 83063000 87881295
传真:(029)87880865
销售与服务网络(一)
嵌入式 DeviceNet 通信模块
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
ii
广州致远电子有限公司
广州致远电子有限公司
地址:广州市天河区车陂路黄洲工业区 3 栋 2 楼
邮编:510660
传真:(020)38601859
网址:www.embedtools.com (嵌入式系统事业部)
www.embedcontrol.com (工控网络事业部)
www.ecardsys.com (楼宇自动化事业部)
CAN-bus :
电话:(020)22644381 22644382 22644253
邮箱:can.support@embedcontrol.com
iCAN 及数据采集:
电话:(020)28872344 22644373
邮箱:ican@embedcontrol.com
MiniARM :
电话:(020)28872684 28267813
邮箱:miniarm.support@embedtools.com
以太网:
电话:(020)22644380 22644385
邮箱:ethernet.support@embedcontrol.com
无线通讯:
电话:(020) 22644386
邮箱:wireless@embedcontrol.com
串行通讯:
电话:(020)28267800 22644385
邮箱:serial@embedcontrol.com
编程器:
电话:(020)22644371
邮箱:programmer@embedtools.com
分析仪器:
电话:(020)22644375 28872624 28872345
邮箱:tools@embedtools.com
ARM 嵌入式系统:
电话:(020)28872347 28872377 22644383 22644384
邮箱:arm.support@zlgmcu.com
楼宇自动化:
电话:(020)22644376 22644389 28267806
邮箱:mjs.support@ecardsys.com
mifare.support@zlgmcu.com
销售:
电话:(020)22644249 22644399 22644372 22644261 28872524
28872342 28872349 28872569 28872573 38601786
销售与服务网络(二)
嵌入式 DeviceNet 通信模块
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
iii
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
目 录
1. 产品结构及性能 ....................................................................................................... 1
1.1 产品简介 ........................................................................................................ 1
1.2 产品特点 ........................................................................................................ 1
2. 协议概述 ................................................................................................................... 2
2.1 DeviceNet 总线拓扑 ........................................................................................ 2
2.2 DeviceNet 的连接 ............................................................................................ 2
2.3 DeviceNet 对象模型 ........................................................................................ 3
3. XGate-DVN10 设备描述 .......................................................................................... 5
3.1 XGate-DVN10 对象模型 .................................................................................. 5
3.2 I/O 数据格式................................................................ ................................... 5
3.3 设备配置 ................................................................ ........................................ 5
3.4 LED 指示器和配置开关 .................................................................................. 6
3.4.1 LED 指示器 ............................................................................................. 6
3.4.2 配置开关 .............................................................................................. 6
4. XGate-DVN10 数据缓冲区 ...................................................................................... 7
5. XGate-DVN10 串口操作 .......................................................................................... 9
5.1 串口通信协议 ................................................................ ................................. 9
5.1.1 异步串口数据帧格式 ............................................................................ 9
5.2 XGate-DVN10 操作命令 ................................................................................ 10
5.2.1 读取设备信息 (命令码: 0x01) ............................................................. 10
5.2.2 写设备信息(命令码: 0x02) .............................................................11
5.2.3 设置读取 I/O 连接缓冲区大小 ............................................................. 13
5.2.4 写 XGate-DVN10 输入缓冲区数据(命令码: 0x10) .......................... 14
5.2.5 读取 XGate-DVN10 输出缓冲区数据(命令码: 0x11) ....................... 15
5.2.6 发送显式报文(命令码: 0x19) ......................................................... 15
5.2.7 读写 XGate-DVN10 的 MAC ID(命令码: 0x12) ............................... 16
5.2.8 读写 XGate-DVN10 的波特率索引值 (命令码: 0x13)............................ 17
5.2.9 读取当前模块状态(命令码: 0x16) .................................................. 18
5.2.10 改变通信串口波特率(命令码: 0x18) .............................................. 19
5.3 XGate-DVN10 串口操作错误响应 .................................................................. 20
6. 附录 ......................................................................................................................... 21
免责声明...................................................................................................................... 22
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
1
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
1. 产品结构及性能
1.1 产品简介
XGate 是广州致远电子有限公司出品的一系列嵌入式协议转换模块。它具有小巧的体积
和灵活的应用方式,可以非常方便的嵌入到用户的设备中,使您的设备具有现场总线通信功
能。
XGate-DVN10 内部集成了 DeviceNet 从站协议代码,用户只需要提供一路 UART 接口
就可以轻松的设计出符合 DeviceNet 协议规范的从站设备,或增加 DeviceNet 从站接口。
模块外观如图 1.1 所示。
图 1.1 XGate-DVN10 外观图
1.2 产品特点
超小体积, 20.4mm × 32mm × 11mm(宽×长×高),DIP24 封装;
支持预定义组 2 连接,包括:Explicit Message、 Bit strobe、Polling、 COS /Cyclic;
支持 UCMM 显式报文服务器、客户端;
支持可配置字节数的 I/O 报文,支持最大 128 字节输入 \输出报文;
支持分段显式报文、 I/O 报文;
支持拨码开关设置 MAC ID 及波特率;
支持非易失性存储器存储网络参数;
支持心跳报文的生产和消费;
支持 OffLine 连接功能;
支持 LED 指示功能;
串口通信能力 (UART, 1200~ 115200bps);
一路 CAN总线,支持 125Kbps、 250Kbps、 500Kbps 的波特率;
单路 5V 供电。
XGate-DVN10 提供一路 CAN 接口,通过该接口可以与 DeviceNet 网络进行连接。另外
XGate-DVN10 提供两路 UART 接口,一路为通信接口(通信波特率为 1200~115200bps),
另一路为调试接口(固定波特率为 115200bps)。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
1
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
2. 协议概述
本章包括了对 DeviceNet 总线拓扑结构及协议相关内容的简短描述,更多相关内容请到
网站 www.odva.org 获取。
2.1 DeviceNet 总线拓扑
DeviceNet 网络是一种基于 CAN 总线技术,符合全球工业标准的开放型通信网络。
DeviceNet 的典型拓扑结构为干线 -分支方式,如图 2.1 所示。
图 2.1 典型 DeviceNet 网络拓扑图
网络中所采用线缆包括:粗缆和细缆。通常粗缆用于主干网络,细缆用于分支网络。协
议规范要求每条干线的末端安装终端电阻,电阻要求为:121Ω 、 1%金属膜电阻、1/4W,终
端电阻不可包含在节点中,同时每条支线最长 6M ,允许一个或者多个节点。
电缆的最大长度要根据传输速率和选用电缆的型号具体而定。
2.2 DeviceNet 的连接
DevieNet 是基于“连接”的网络,即网络上任意两个节点在开始通信之前必须建立起
连接,这里指的连接是逻辑上的关系,而非物理上的连接。DeviceNet 不仅允许预先设置或
取消连接,也允许动态建立或者撤销连接,这使通信具有更大的灵活性。
DeviceNet 通常有两种连接方式,分别为:输入输出连接(I/O Connection )和显式连接
(Explicit Connection)。
输入输出连接( I/O Connection)
I/O 连接主要用于网络中传输实时性高,对时间要求苛刻的输入输出数据。通过这种连
接方式可以进行一对一或一对多的数据传输,但它不要求数据接收对方对所接收到的报文作
出应答。
等。显式连接则是一对一的连接,报文接收方必须做出相应的响应。通常用于设备配置、故
障诊断等等。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
显式连接(Explicit Connection)
显式连接用于发送设备间多用途,对时间要求苛刻的报文,例如组态数据、控制命令等
典型的 DeviceNet 网络设备连接流程如图 2.2 所示。
2
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
图 2.2 典型的 DeviceNet 设备连接流程
DeviceNet 设备在网络间进行信息交换,首先要通过重复的 MAC ID 检测(用于检测网
络上是否有相同 ID 的设备存在),如果通过 MAC ID 检测,设备转为在线状态,否则为离
线状态。随后,主站通过未连接显示报文与丛站建立显式连接。主从站通过显式报文进行各
种配置和信息交换。
最后,建立 I/O 连接并通过该连接进行 I/O 数据传输。
注:不同的主站模块建立 I/O 连接的流程有所差别,我们这里强调的是 DeviceNet 网络是基于连接的
一种网络。
2.3 DeviceNet 对象模型
DeviceNet 通过抽象的对象模型(Object Model)来描述网络中如何建立和管理设备的特
性和通信关系,通常一个 DeviceNet 设备可以定义成为一个对象的集合。
DeviceNet 设备对象模型如图 2.3 所示。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
图 2.3 DeviceNet 对象模型
3
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
这种基于对象的描述提供了一个清晰的设备模型。通常每台 DeviceNet 设备都由两类基
本的对象集(通信类和应用类)组成,它们提供了组织和实现 DeviceNet 产品的组件属性、
服务和行为的模板。一个 DeviceNet 设备可以按照如下对象进行描述:
1. 标识对象( Identity) 标识符: 0x01
DeviceNet 设备有且只有一个标识对象类实例(实例号为 1 )。该实例具有以下属性:
供应商 ID 、设备类型、产品代码、版本产品名称,以及检测脉冲周期等。
2. 报文路由对象( Message Router)标识符: 0x02
DeviceNet 设备有且只有一个信息路由对象类实例(实例号为 2 )。信息路由对象将显
式信息转发到相应的对象,对外部并不可见。
3. DeviceNet 对象( DeviceNet) 标识符: 0x03
DeviceNet 设备有且只有一个 DeviceNet 对象类实例。DeviceNet 对象具有以下属性:节
点 MAC ID、通讯波特率、BOI(离线中断)、分配信息,等等。
4. 组合对象( Assembly) 标识符: 0x04
DeviceNet 设备可能具有一个或者多个组合对象类实例。组合对象类实例的主要作用是
将不同应用对象的属性(数据)组合成为一个单一的属性,从而可以通过一个报文发送。
5. 连接对象( Connection) 标识符: 0x05
DeviceNet 设备至少具有两个连接类实例。每个连接对象表示网络上两个节点之间虚拟
连接的一个端点。连接对象分为显式连接、I/O 连接。显式报文用于属性寻址、属性值以及
特定服务;I/O 报文中数据的处理由连接对象 I/O 连接实例决定。
6. 参数对象( Parameter)
参数对象是可选的,用于具有可配置参数的设备中。每个实例分别代表不同的配置参数。
参数对象为配置工具提供了一个标准的途径,用于访问所有的参数。
7. 应用对象
应用对象泛指描述特定行为和功能的一组对象,例如开关量输入输出对象,模拟量输入
输出对象等。设备网上的节点若需要实现某种特定的功能,至少要建立一个应用对象。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
4
广州致远电子有限公司
配置端口属性 (波特率、
MAC ID、心跳报文时间)
嵌入式 DeviceNet 通信模块
3. XGate-DVN10 设备描述
本节介绍了 XGate-DVN10 协议转换模块的相关信息。
3.1 XGate-DVN10 对象模型
XGate-DVN10 支持的对象类有:标识对象、 DeviceNet 对象、连接对象、组合对象、
ACK 处理对象、报文路由对象、 NV存储对象,如表 3.1 所示。详细对象描述见附录 A。
表 3.1 XGate-DV10 设备对象模型
3.2 I/O 数据格式
XGate-DVN10 支持四个组合对象实例,详情见表:
表 3.2 XGate-DVN10 I/O 组合实例
用户自定义组合对象实例中的数据含义,字节大小也是由用户自行设定。用户在自定义
时,应当遵循一下几个原则:
大于 1Byte 的数据分量,低字节部分列在前面;
小于 1Byte 的数据分量,在一个字节中,右对齐(从位 0 开始);
明确保留位的状态。
3.3 设备配置
详情见 EDS 文件。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
5
广州致远电子有限公司
由于配置丢失,不完全或不正确,设备需要调试。
小故障
设备不在线:
设备未完成重复 MAC ID 检测
设备未上电
通信失败:重复 MAC ID 检测失败、总线 BUS-OFF
设备检测到网络访问错误,并处于通信故障状态,并接收到点对
点识别离线故障请求信息。
嵌入式 DeviceNet 通信模块
3.4 LED 指示器和配置开关
3.4.1 LED 指示器
用户在设计指示器时,要求无须拆卸设备外壳和部件,就能看到指示器,并满足正常光
线下指示器可见的要求。XGate-DVN10 支持两盏双色 LED ,分别为:节点工作状态 LED
(MS ),节点网络状态 LED (NS )。
设备在上电后会进行 LED自检工作,用户可以通过观察 LED 的运行判断设备是否运行。
首先 MS 自检:显示绿色 0.25s-> 显示红色 0.25s-> 显示绿色,然后 NS 自检:显示绿色 0.25s->
显示红色 0.25s-> 熄灭。
如表 3.3 表 3.4 所示,用户可以通过对照 LED 状态判断当前设备状态。
表 3.3 节点工作状态 LED
表 3.4 节点网络状态 LED
3.4.2 配置开关
XGate-DVN10 支持 DIP 开关设置 MAC ID 、波特率,开关为二进制格式。波特率设置,
编码如所示。
表 3.5 DeviceNet 波特率开关编码
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
6
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
4. XGate-DVN10 数据缓冲区
XGate-DVN10 协议转换模块拥有两块可配置的输出输出数据缓冲区。缓冲区大小由用
户自定义,每个连接最大 I/O 报文为 128 字节(协议规定位选通应答最大为 8 字节),所有
数据均采用小端格式。以默认定义 I/O 报文大小为例,XGate-DVN10 模块默认值为:
POLL_REQ _SIZE : 1 Byte
POLL_RESP _SIZE : 8 Byte
COS/CYC_REQ _SIZE : 1 Byte
COS/CYC_RESP _SIZE : 8 Byte
STROBE_REQ_SIZE : 8 Byte
STROBE_RESP_SIZE : 8 Byte
I/O 输出数据缓冲区如图 4.1 所示。 0-7Byte为位选通命令数据存储区,第 8Byte为 POLL
命令缓冲区,第 9Byte 为 COS/CYC 数据缓冲区。用户可以通过 UART 发送相关命令字读取
(0x11 )当前连接主站下发的数据内容。
图 4.1 I/O 数据输出数据缓冲区
I/O 输入数据缓冲区如所示。
0-7Byte 为位选通应答数据存储区, 8-15Byte 为 POLL 应答缓冲区, 16-23Byte 为
COS/CYC 数据缓冲区。用户可以通过 UART 发送相关命令字(0x10),将用户数据写入缓
冲区,设备自动发送到总线上。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
图 4.2 I/O 数据输入数据缓冲区
7
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
注意:本节的“输入”“输出”都是相对与主站而言的。输出:主站输出数据,XGate 模块从总线上
获取数据,用户通过 UART 读取的输出数据缓冲区。输入:用户通过 UART 发送数据到 XGate 模块的输入
缓冲区,模块再把数据发送到 DeviceNet 总线。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
8
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
5. XGate-DVN10 串口操作
5.1 串口通信协议
XGate-DVN10 与用户通信采用异步串口进行通信,通信模式为半双工,通信信号为 TTL
电平,通信协议采用广州致远电子有限公司自定义串行通信协议。
5.1.1 异步串口数据帧格式
每 1 个字节用 10 bits 传送,1 个起始位、8 个数据位、无奇偶校验位、1 个停止位,因
定波特率为 115200 bps。
应答方式:用户设备主动询问(主),XGate-DVN10 被动回答(从)。
主/ 从应答帧结构实现通常的数据通讯,数据的通讯由主机发起,称为命令帧;从机接
收到后进行应答,称为响应帧。
表 5.1 命令帧格式
表 5.2 应答帧格式
下面按各命令排序,详细介绍命令帧、响应帧的规则。
命令帧、应答帧的总长度为:命令/ 响应信息的 CMDinfo/ ACKinfo (数据长度)+ 5Byte,
各字段说明如下:
帧起始字符 SOF,固定为 0x7E,长度为一个字节。
命令 CMD/响应码 ACK,通常 CMD=ACK,长度为一个字节。
命令信息 CMDinfo/响应信息 ACKinfo 指出命令信息 /响应信息的长度 (字节 ),不包
括本身。CMDinfo/ACKinfo = 0 表示没有数据,CMDinfo/ACKinfo = 1 表示本帧含
有 1 个字节数据。
特殊参数 SpeByte 包括 Error 、AllDataSegSize、DataSegNum 信息,具体含义如表
5.3
Error 为特定意义位。在命令信息中,Error 为保留位,通常 Error =0;在响应帧中,Error
为错误标识位,Error =1,表明命令执行出错,DATA 区跟随错误代码,Error =0,表明请求
成功,DATA 区跟随应答数据。
来传送,此时使用分段传输方式,共可以分为 7 段,即 7 帧。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
AllDataSegSize、DataSegNum 指出分段信息,当数据量超过 255 字节时,需要使用多帧
表 5.3 特定参数(SpeByte) 定义
9
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
AllDataSegSize 表示本次信息数据共有几帧;DataSegNum 表示本次发送的是第几帧该
信息数据。当 AllDataSegSize = DataSegNum 时表示该信息数据传输完毕。AllDataSegSiz 和
DataSegNum 最小值为 1 ,不能为 0 。
本协议将不使用分段,AllDataSegSize、DataSegNum 固定为“1”。
命令/响应数据 DATA ,此部分与命令/响应码相结合,描述数据的具体含义。长度
在 CMDinfo/ ACKinfo 中说明,最大为 255 个字节/帧(仅数据区字节数)。
校验和 CRC :命令 /响应数据的校验和,长度为一个字节。校验和为前面所有数据
的异或值。CRC 的计算公式如下:
CRC = 0x7E^ CMD ^ CMDinfo ^ SpeByte ^DATA[0]^DATA[1]^…^DAT A[n-1] 或
CRC = 0x7E^ ACK ^ ACKinfo ^ SpeByte ^DATA[0]^DATA[1]^…^DAT A[n-1]
5.2 XGate-DVN10 操作命令
用户通过 XGate-DVN10 的通信串口对设备进行操作,操作命令如 5.2.1 节所示,本节
所有的操作命令都认为成功执行,并得到正确执行的命。如果出现错误,其错误响应帧和错
误代码将在 5.3 节中介绍。
5.2.1 读取设备信息 (命令码: 0x01)
用户通过获取参数来得知当前设备信息。操作命令及响应帧如表 5.4 和 表 5.5 所示,n
表示该命令帧数据长度。其中命令数据域的第一字节为操作模式,根据该字节判断该命令所
读取的信息类别,以下将详细介绍操作命令。
表 5.4 读取设备信息命令
表 5.5 读取设备信息响应
1. 读取设备类型(操作模式:0x01)
设备类型位于标识对象类实例 1 的属性 2, 返回数据长度为 4 字节,实际有效值为低 2
字节。设备类型由 ODVA 统一管理,用户修改时,请勿随意修改。
例:如下命令读回设备类型为 0x000C ,即当前的的 XGate-DVN10 的设备类型为 0x00
0C 。
命令:0x7E 0x01 0x01 0x11 0x01 0x6E
该值为用户设置信息。返回数据长度为 4 字节,实际有效值为低 2 字节。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
响应:0x7E 0x01 0x05 0x11 0x01 0x0C 0x00 0x00 0x00 0x66
2. 读标识对象当前版本 (操作模式 :0x02)
Identity 对象的当前版本信息位于标识对象类实例 1 的属性 4 ,数据有效长度为 2 字节,
例:如下命令读取回来的版本信息,主要版本为 01,次要版本为 01。
命令:0x7E 0x01 0x01 0x11 0x02 0x6D
响应:0x7E 0x01 0x05 0x11 0x02 0x01 0x01 0x00 0x00 0x69
10
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
3. 读软件版本(操作模式: 0x03)
软件版本信息为当前软件版本,并不位于标识对象中,数据长度 4 字节,该值为用户设
置信息。
例: 如下命令读取回来的软件版本信息为 0x00000100。
命令: 0x7E 0x01 0x01 0x11 0x03 0x6C
响应: 0x7E 0x01 0x05 0x11 0x03 0x00 0x01 0x00 0x00 0x69
4. 读产品代码(操作模式: 0x04)
产品代码位于标识对象类实例 1 的属性 3 ,数据长度 2 字节,返回数据长度为 4 字节,
实际有效值为低 2 字节。该值由供应商为某类产品的统一分类,可有用户设置。
例:如下命令读取回来的产品代码为 0x00000001。
命令:0x7E 0x01 0x01 0x11 0x04 0x6B
响应:0x7E 0x01 0x05 0x11 0x04 0x01 0x00 0x00 0x00 0x6E
5. 读产品修订码(操作模式: 0x05)
产品代码位,数据长度 4 字节,该值为用户设置信息。
例:如下命令读取回来的产品修订码为 0x00000001。
命令:0x7E 0x01 0x01 0x11 0x05 0x6A
响应:0x7E 0x01 0x05 0x11 0x05 0x01 0x00 0x00 0x00 0x6F
6. 读产品序列号(操作模式: 0x06)
产品代码位于标识对象类实例 1 的属性 6 数据长度 4 字节,该值为用户设置信息,每个
设备都有唯一的设备序列号。
例:如下命令读取回来的产品序列号为 0x00000001。
命令:0x7E 0x01 0x01 0x11 0x06 0x69
响应:0x7E 0x01 0x05 0x11 0x06 0x01 0x00 0x00 0x00 0x6C
7. 读产品名称(操作模式: 0x07)
产品代码位于标识对象类实例 1 的属性 7, 据长度 12 字节,该值为用户设置信息。
例:如下命令读取回来的产品名称为“DeviceName”。
命令:0x7E 0x01 0x01 0x11 0x07 0x68
响应:0x7E 0x01 0x0D 0x11 0x07 0x44 0x65 0x76 0x69 0x63 0x65 0x4E 0x61 0x6D
0x65 0x00 0x84 0xFF
5.2.2 写设备信息(命令码: 0x02)
态前就将需要配置的信息配置完成,重启设备这些信息生效。其操作命令及响应帧如表 5.6
和表 5.7 所示,其 n 表示该帧命令数据长度。其中命令数据的第一字节为操作模式,根据该
字节判断该命令所读取的信息类别,下文将详细介绍操作命令。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
写设备信息与读设备信息相对应,这些参数会直接影响设备的运行,因此建议用户在组
注意:通过串口写入的设备信息直接影响到 XGate-DVN10 设备信息。
11
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
表 5.6 写入设备信息命令
表 5.7 写入设备信息响应
注意:为兼容 XGate-COP10 设备(CANOpen ),写设备信息的字节长度有的与 DeviceNet 协议中规定
的属性长度有所差异,因此我们以协议规定属性的有效长度来取值。
1. 写设备类型 (操作模式: 0x01)
设备类型位于标识对象类实例 1 的属性 2, 发送命令为 4 字节,Gate-DVN10 设备类型
为低 2 字节,高 2 字节无效。
例:写入设备类型数值为 0x0011。
命令:0x7E 0x02 0x05 0x11 0x01 0x11 0x00 0x00 0x00 0x7E
响应:0x7E 0x02 0x01 0x11 0x01 0x6D
2. 写标识对象版本 (操作模式 :0x02)
版本信息位于标识对象类实例 1 的属性 4, 发送命令为 4 字节,Gate-DVN10 的标识版
本为低 2 字节,高 2 字节无效。
例:如下命令写入版本信息为 0x22222222。
命令:0x7E 0x02 0x01 0x11 0x02 0x22 0x22 0x22 0x22 0x6A
响应:0x7E 0x02 0x01 0x11 0x02 0x6E
3. 写软件版本(操作模式: 0x03)
软件版本为用户设置信息,非设备对象信息。数据长度 4 字节,低 2 字节有效。
例: 如下命令写入软件版本信息为 0x33333333。
命令: 0x7E 0x02 0x05 0x11 0x03 0x33 0x33 0x33 0x33 0x6B
响应: 0x7E 0x02 0x01 0x11 0x03 0x6F
4. 写产品代码(操作模式: 0x04)
产品代码位于标识对象类实例 1 的属性 3, 数据长度 4 字节,,低 2 字节有效。
例:如下命令写入产品代码为 0x44444444。
命令:0x7E 0x02 0x05 0x11 0x04 0x44 0x44 0x44 0x44 0x6C
响应:0x7E 0x02 0x01 0x11 0x04 0x68
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
5. 写产品修订码(操作模式:0x05 )
产品修订码为用户设置信息,非设备对象信息,数据长度 4 字节,低 2 字节有效。
例:如下命令写入产品修订码为 0x55555555。
命令:0x7E 0x02 0x05 0x11 0x05 0x55 0x55 0x55 0x55 0x6D
响应:0x7E 0x02 0x01 0x11 0x05 0x69
6. 写产品序列号(操作模式: 0x06)
产品代码位于标识对象类实例 1 的属性 6 ,数据长度 4 字节,该值为用户设置信息。
12
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
例:如下命令写入产品序列号为 0x66666666。
命令:0x7E 0x02 0x05 0x11 0x06 0x66 0x66 0x66 0x66 0x6E
响应:0x7E 0x02 0x01 0x11 0x06 0x6A
7. 写产品名称(操作模式: 0x07)
产品代码位于标识对象类实例 1 的属性 7 ,数据长度 12 字节,该值为用户设置信息。
例:如下命令写入产品名称为“XGate-Seri ”。
命令:0x7E 0x02 0x0B 0x11 0x07 0x58 0x47 0x61 0x74 0x65 0x2D 0x53 0x65 0x72
0x69 0x0E
响应: 0x7E 0x02 0x01 0x11 0x07 0x6B
5.2.3 设置读取 I/O连接缓冲区大小
XGate-DVN10 支持位选通(Bit-Strobe)、轮询(Poll )、状态改变( COS )、循环( CYC)
四种类型的 I/O 连接,每个连接的 I/O 生产消费长度可由用户自行定义,修改完成后,重启
设备,参数生效。
注意:用户在修改 I/O 长度时,相应的 EDS 文件也需要更改。位选通报文应答长度最长为 8 字节,请
用户注意。
1. 读取当前各个连接的 I/O 数据长度
表 5.8 获取 I/O 数据大小命令格式
表 5.9 获取 I/O 大小响应报文格式
例:获取当前 I/O 数据长度:
命令:0x7E 0x03 0x01 0x11 0x01 0x6c
响应:0x7E 0x03 0x07 0x11 0x01 0x01 0x08 0x01 0x08 0x08 0x08 0x6A
注意:响应数据为各个连接的 I/O 报文大小,按照低字节到高字节顺序为:
POLL_REQ _SIZE : 1 Byte
POLL_RESP _SIZE : 8 Byte
COS/CYC_REQ _SIZE : 1 Byte
COS/CYC_RESP _SIZE : 8 Byte
STROBE_REQ_SIZE : 8 Byte
STROBE_RESP_SIZE : 8 Byte
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
2. 修改各类型连接 I/O 报文大小
表 5.10 修改 I/O 数据大小命令格式
13
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
表 5.11 设置 I/O 大小响应报文格式
例:修改当前各个 I/O 连接生产消费报文大小
命令:0x7E 0x03 0x07 0x11 0x00 0x01 0x08 0x01 0x08 0x08 0x08 0x6B
响应:0x7E 0x03 0x01 0x11 0x00 0x6D
注意:修改各连接 I/O 报文大小的低字节到高字节顺序与上文所述一致。
5.2.4 写 XGate-DVN10 输入缓冲区数据(命令码: 0x10)
XGate-DVN10 的输入缓冲区分为输入输出数据缓冲区,宽度为 8bit。
XGate-DVN10 输入数据缓冲区只是一个只写区域,最多一次可写用户配置的最大数据
长度。操作命令和响应命令如表 5.12 和表 5.13 所示,在命令数据的第 1 字节表示当前数据
在输入数据区的偏移量,所写的数据长度为 n-1,
表 5.12 写缓冲区数据命令
表 5.13 写缓冲区数据响应
例:如图 5.1 所示,如果当前连接为 POLL 连接,用户向轮询应答区(即偏移量为 8)写
入 8 字节的数据,数据为 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08。响应:08,偏移量。
命令: 0x7E 0x10 0x09 0x11 0x08 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x76
响应: 0x7E 0x10 0x01 0x11 0x08 0x76
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
图 5.1 向轮询应答区写入输出数据
14
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
5.2.5 读取 XGate-DVN10 输出缓冲区数据(命令码:0x11 )
XGate-DVN10 输出数据缓冲区是一个只读区域,用户最多一次可读该连接被设置的最
大 I/O 数据。操作命令和响应命令如表 5.14 和表 5.15 所示,在命令数据帧的第 1 字节表示
当前数据在输出数据区的偏移量,第 2 字节表示需要读出的数据的长度。在响应命令帧数据
的第 1 字节表示在输出缓冲区的偏移量,返回的数据长度为 n-1。 当读取长度超过缓冲区大
小返回实际读取到的数据长度。
表 5.14 读缓冲区数据命令
表 5.15 读缓冲区数据响应
例:如图 5.2 所示,读取输出 POLL 缓冲区的 1 字节数据,地址偏移量为 8 ,长度为 1 。
应答为地址偏移量加实际数据,这里为 02。
图 5.2 默认输出数据缓冲区
命令:0x7E 0x11 0x02 0x11 0x08 0x01 0x75
响应:0x7E 0x11 0x02 0x11 0x08 0x02 0x76
5.2.6 发送显式报文(命令码: 0x19)
XGate-DVN10 支持 UCMM 的服务器和客户端模式。作为客户端模式时,模块可以对
DeviceNet 网络上的任一节点发送显式报文。报文格式如表 5.16:
表 5.16 发送显式报文格式
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
15
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
其中命令数据格式请遵循如表 5.17 数据格式填写:
表 5.17 命令数据格式
用户发送显式报文后,有两个可能的应答,如果发送显式报文格式错误,返回 04 错误
码。如果显式报文格式正确将返回如表 5.18 下报文格式:
表 5.18 响应显式报文格式
例:通过显式报文获取 MAC ID 为 0 的标识对象 1 实例 1 的属性 2 的设备类型,返回
值 0C 00 。
命令:7E 19 09 11 00 0e 01 00 01 00 01 00 02 72
响应:7E 19 02 11 0C 00 78
注意:这里没有返回命令码,全部为数据。
5.2.7 读写 XGate-DVN10的 MAC ID(命令码: 0x12)
在 XGate-DVN10 未使 DIP 开关或其它方式对模块设置 MAC ID 时,用户可以通过串口
设定 XGate-DVN10 的 MAC ID,设置的 MAC ID 被保存在存储器中,模块复位后生效(设
置值必须在 0~63 之间)。
注意:仅在未使用 DIP 开关设定 MAC ID 的情况下,通过串口设置的值才生效。
1. 写 XGate-DVN10 的 MAC ID(操作模式: 0x00)
节点 MAC ID 位于 DeviceNet 对象实例 1 属性 1,表示当前模块设定的 MAC ID 值,设
定后复位或重启模块生效。写模块的 MAC ID 命令格式与应答命令如表 5.19 和表 5.20 所
示,命令数据的第 1 字节表示当前的操作模式,第 2 字节表示将要写入的 MAC ID 值。写
XGate-DVN10 的 MAC ID 如果成功则返回正确应答(n=0x01, 命令字节第 1 字节为操作模
式)。
表 5.19 写节点 MAC ID 命令
命令: 0x7E 0x12 0x02 0x11 0x00 0x20 0x5F
响应: 0x7E 0x12 0x01 0x11 0x00 0x7C
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
表 5.20 写节点 MAC ID 命令响应
例: 设置 XGate-DVN10 模块的 MAC ID 为 0x20 ,其命令与响应如下所示。
16
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
2. 读 XGate-DVN10 的 MAC ID(操作模式: 0x01)
读节点 MAC ID 所读取回来的 MAC ID 是当前节点正使用的 MAC ID 。其命令模式如表
5.21 和 表 5.22 所示。
表 5.21 读节点 MAC ID 命令
表 5.22 读节点 MAC ID 命令响应
注意:读回的 M AC ID 值为当前模块正使用的 MAC ID ,并不一定与写入的MAC ID 相同,模块在写
入 MAC ID 之后需要重新上电或复位才会被启用。
例:读取当前 XGate-DVN10 的 MAC ID,读回的 MAC ID 值为 0x20。
命令:0x7E 0x12 0x01 0x11 0x01 0x7D
响应:0x7E 0x12 0x02 0x11 0x01 0x20 0x5E
5.2.8 读写 XGate-DVN10 的波特率索引值 (命令码: 0x13)
与设置 XGate-DVN10 的 MAC ID 相类似,在未使用 DIP 开关或其它方式设置 CAN 通
信波特率时,用户可以通过串口来设置 XGate-DVN10 的波特率值,用户所设置的波特率索
引值被保存在存储器中,只有 XGate-DVN10 上电或复位后才能生效,该值的范围为 0~2,
其它的值均无效。
1. 写 XGate-DVN10 波特率值 (操作模式: 0x00)
波特率索引值位于 DeviceNet 对象实例 1 属性 2,设定值在 0~2 之间有效,否则返回错
误代码。其命令格式如表 5.23 和表 5.24 所示,当设置命令执行正确时(n=0x01, 命令字节
第 1 字节为操作模式)。波特率值与真实值之间的对应关系为:0(125Kbps )、1(250Kbps )、
2 (500Kbps )。
表 5.23 写节点波特率值命令
表 5.24 写节点波特率值命令响应
令与响应帧如下所示。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
例:设置 XGate-DVN10 模块的波特率值为 0x00,则 CAN 通信波特率为 125Kbps,命
命令:0x7E 0x13 0x02 0x11 0x00 0x00 0x7E
响应:0x7E 0x13 0x01 0x11 0x00 0x7D
2. 读 XGate-DVN10 波特率值 (操作模式: 0x01)
17
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
读取的波特率与读 MAC ID 相类似,读回的波特率值并不一定与写入的值相同,因为
读回的波特率值为当前模块正在使用的值,只有在写入的值被启用后才会相同(模块复位或
重启)。其命令帧格式如表 5.25 和 表 5.26 所示。
表 5.25 读节点波特率值命令
表 5.26 读节点波特率值命令响应
例:假设当前的模块的波特率为 125Kbps,则读回的值为 0x00,其命令与响应如下所
示。
命令:0x7E 0x13 0x01 0x11 0x01 0x7C
响应:0x7E 0x13 0x02 0x11 0x01 0x00 0x7F
5.2.9 读取当前模块状态(命令码: 0x16)
获取模块运行状态
用户通过该命令读取当前模块所处的状态,所读取的值与状态的对应关系如下表 5.27
所示。
表 5.27 模块状态值
其命令格式如表 5.28 和表 5.29 所示。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
表 5.28 获取当前 XGate-DVN10 状态
表 5.29 获取当前 XGate-DVN10 状态响应
18
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
例:假设当前 XGate-DVN10 模块处于在线状态,则读取的状态值为 0x04。
命令:0x7E 0x16 0x01 0x11 0x01 0x79
响应:0x7E 0x16 0x02 0x11 0x01 0x04 0x7E
获取数据更新状态
XGate-DVN10 同时支持几个 I/O 连接,只有一个中断信号难以区分主站下发的哪种类
型的 I/O 数据。如果用户同时建立两个 I/O 连接,为方便用户获取当前是何种类型的 I/O 数
据,提供以下命令。
表 5.30 获取当前 I/O 数据更新类型
表 5.31 获取当前 I/O 数据更新类型
例:假设当前有新的 I/O 数据发生,获取当前 I/O 数据类型,则读取的状态值为 0x00,
标识无数据更新。
命令:0x7E 0x16 0x01 0x11 0x02 0x79
响应:0x7E 0x16 0x02 0x11 0x02 0x00 0x7E
注意:返回数据表示为:0x00 :无新数据,0x01:Poll 或 COS 请求数据 0x02:位选通请求 0x10:
超出缓冲区。
5.2.10 改变通信串口波特率(命令码: 0x18)
通信串口出厂默认波特率为 115200bps, 其设置范围如表 5.32 所示。根据需求更改串
口通信波特率,同时波特率索引值被保存直到再次被更改(设定波特率值时需使用当前的波
特率进行通信,更改完成之后延迟一段时间再使用新设定的波特率进行通信)。禁止在应用
时频繁改变通信波特率,这样可能导致通信不成功或数据丢失。
表 5.32 串口波特率值及索引
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
19
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
其命令格式如表 5.33 和 表 5.34 所示,
表 5.33 波特率修改命令
表 5.34 波特率修改响应
例:设置当前模块的波特率为 115200bps,则索引值为 7,则命令帧和响应帧如下所示。
命令:0x7E 0x18 0x02 0x11 0x00 0x07 0x72
响应:0x7E 0x18 0x01 0x11 0x00 0x76
注意:建议更改完成波特率之后延长 20ms 左右再用新设定的波特率进行通信。
5.3 XGate-DVN10 串口操作错误响应
在所有的串口操作命令中,通信过程中当命令的参数不正确或其它错误发生时,
XGate-DVN10 都会返回错误代码(特定参数的最高位为 1 ,表示当前为错误应答帧),错
误代码帧格式如表 5.35 所示。其中 ACK 与操作的命令码相同,应答操作模式码与当前命
令操作模式码相同。错误代码表示当前的操作所出现错误类别,错误代码表如表 5.36 所示。
表 5.35 XGate-DVN10 命令执行错误响应
表 5.36 错误代码表
值超出范围无效,必然在执行过程中出错,错误代码为 0x06( 数据值超出范围),命令帧与响
应帧如下所示。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
例:假设现在写 XGate-DVN10 的波特率值为 10,因为波特率值的范围为 0~2。所以该
命令:0x7E 0x13 0x02 0x11 0x00 0x10 0x6E
响应:0x7E 0x13 0x02 0x91 0x00 0x06 0xF8
20
广州致远电子有限公司
6. 附录
附录 A :《XGate-DVN10 对象类说明》。
嵌入式 DeviceNet 通信模块
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
21
广州致远电子有限公司
嵌入式 DeviceNet 通信模块
免责声明
本文档提供有关致远电子产品的信息。本文档并未授予任何知识产权的许可,并未以明
示或暗示,或以禁止发言或其它方式授予任何知识产权许可。除致远电子在其产品的销售条
款和条件中声明的责任之外,致远电子概不承担任何其它责任。并且,致远电子对致远电子
产品的销售和/或使用不作任何明示或暗示的担保,包括对产品的特定用途适用性、适销性
或对任何专利权、版权或其它知识产权的侵权责任等,均不作担保。致远电子产品并非设计
用于医疗、救生或维生等用途。致远电子可能随时对产品规格及产品描述做出修改,恕不另
行通知。
该系列产品可能包含某些设计缺陷或错误,一经发现将收入勘误表,并因此可能导致产
品与已出版的规格有所差异。如客户索取,可提供最新的勘误表。
在订购产品之前,请您与当地的致远电子销售处或分销商联系,以获取最新的规格说明。
本文档中提及的含有订购号的文档以及其它致 远电子文献可通过访问广州致远电子有限公
司的万维网站点获得,网址是:
http://www.embedcontrol.com/ 或致电 +86-20-22644249 查询。
Copyright © 2009, ZHIYUAN electronics. 保留所有权利。
产品用户手册 ©2008 Guangzhou ZHIYUAN Electronics CO., LTD.
22