DeviceNet从节点开发简介
图片:图片:
图片:
图片:
Abstract:
DeviceNet appeared in a short time, but it made great success in industrial control field with its high advantages. DeviceNet not only shared considerate amounts in occident market, but also developed and applied at great speed in China with the foundation of ODVA China. This article introduce the relevant technique of DeviceNet summarily, it also describe the development process and method of ordinary node equipment in order to do some help to beginners and developers.
* DeviceNet简介
DeviceNet是一种低成本的通信链接,它的直接互连性不仅改善了设备间的通信,而且同时提供了相当重要的设备级诊断功能,并在提供多供货商同类部件互换性的同时,减少了配线和安装工业自动化设备的成本和时间。作为一个开放式的网络标准,DeviceNet的规范和协议都是开放的,厂商将设备连接到系统时,无需购买硬件,软件或许可权。任何人都可以从ODVA(Open DeviceNet Vendor Association)购得DeviceNet协议规范,制造商们也可以加入ODVA,并参与对DeviceNet规范的增补工作。
* DeviceNet和CAN
CAN简介
CAN最初的开发需求来自BMW与Mercedes公司,应用于汽车内部的通讯系统,用以减少配线,衔接各个分布式控制器。CAN最初的协议由Bosch公司所开发,具有快速响应和高可靠性,能满足ABS装置和安全气囊控制要求,所以得到了迅速的推广及应用,这成为降低CAN芯片价格和提高其性能的最大动力。因此,DeviceNet所使用的CAN芯片通常是其它网络所使用芯片价格的五分之一到十分之一。
DeviceNet与CAN的关系
DeviceNet构架于CAN的基础之上,使用CAN作为其底层的协议,而扩展了上层协议,增加了应用层。DeviceNet、CAN对应于OSI七层模型有如图所示的关系.
由图可以看出,DeviceNet在CAN在基础上扩展了应用层的协议,这样使得开发商可以根据自己产品的需要和特征来开发不同的产品,却能完美的接入到DeviceNet网络中。
* DeviceNet对象模型(Object Model)
DeviceNet使用抽象的对象模型这个词来表示了如何确立及管理设备的特性和通信的关系。如图所示.
协议引入面向对象的方法,将每个功能块作为一个对象(Object),在此基础上定义其实例(Instance)和属性(Attribute)。图中白色部分为一个节点设备所必需具备的对象。一般的节点设备都可以分为两部分:应用(Application)和通讯(Communication)。虚线上方的部分组成了应用对象集合,下方的部分则全部归为通讯对象。
* 连接与消息协议(Connection & Message Protocol)
DeviceNet使用CAN的11位确认区来把消息分为四组,如图所示.
DeviceNet使用更为有效的生产者—消费者模式,对信息进行打包,使其具有数据标识区,网络还利用标识区进行优先级仲载,以便更高效传送I/O数据。
DeviceNet有三种通信模式:UCMM,Group 2 Server,Group 2 Only Server。Group 2 Only Server模式是最简单也是从节点中用得较多的一种通信模式。
* Group 2 only server节点开发
Predefined Master/Slave Connection Set中预定义的消息如图所示
DeviceNet定义了两种不同类型的消息:I/O消息和显式消息(Explicit Message)。显式消息用于两个设备间点对点消息传递,是典型的请求—响应方式,常用于节点的配置、问题诊断等。显式消息有两大部分,一是标识区,用于信息路由,另一部分是数据区,包括要执行的服务和相关对象的属性和地址等。而I/O消息中除分段消息外,所有的8字节全部用来传送数据,与协议无关,如果是分段消息,则加上分段标识符。I/O消息适用于实时性要求较高和面向控制的数据。在I/O消息利用连接标识符发送这前,消息的发送和接受设备都必须先进行配置。
开发Group 2 Only Server的DeviceNet网络节点,其关键在于建立起与Master之间的连接,参考Predefined Master/Slave Connection Set中的消息格式,支持Group 2 Only Server的节点设备都能响应Group 2 only unconnected explicit request message来与Master进行连接。连接建立完成后,Master将发起I/O扫描,有三种I/O方式:轮询(Poll)、位选通(Bit-Strobe)和状态改变/循环(Change of State/Cyclic)。如果采用轮询方式进行I/O数据传送,则从节点每次必须在规定时间内回复Master’s I/O Poll Message。连接使用完毕,可以发送相应的服务码进行关闭。
* 设备组态(Device Configuration)
DeviceNet提供多种组态方式,但最常用最省事的还是使用EDS(Electronic Data Sheets)文件来进行组态。一般的参数对象包括21个属性值,为了节约存储空间,也可以使用简化的参数对象,这样只取参数对象的前6个属性值进行存储即可。
* 一致性测试(Conformance Test)
强调同类部件间的互换性是DeviceNet的一大特点,要实现部件间互换,一致性测试显得非常必要。当前存在三个认证实验室:亚太区的ASTEM(日本京都)、北美密歇根大学(密歇根州)和欧洲Warwick大学(英国)。是否接受一致性测试是厂家可以选择的,但用户对此非常重视,尤其是北美的汽车和半导体制造行业。
一致性测试的主要内容是检测节点设备对网络发出的命令的应答,测试用的软体可以从ODVA处获得,认证实验室的测试软体以DeviceNet2.0版本为准。厂家在接受测试前必须提交正确的STC文件,以指定在执行一致性测试时让测试软体读取此设备内的协议。如果测试合格的话结果会公布在ODVA网页上,以及在产品目录手册中登录合格结果,以提高产品市场竞争的优势。
DeviceNet appeared in a short time, but it made great success in industrial control field with its high advantages. DeviceNet not only shared considerate amounts in occident market, but also developed and applied at great speed in China with the foundation of ODVA China. This article introduce the relevant technique of DeviceNet summarily, it also describe the development process and method of ordinary node equipment in order to do some help to beginners and developers.
* DeviceNet简介
DeviceNet是一种低成本的通信链接,它的直接互连性不仅改善了设备间的通信,而且同时提供了相当重要的设备级诊断功能,并在提供多供货商同类部件互换性的同时,减少了配线和安装工业自动化设备的成本和时间。作为一个开放式的网络标准,DeviceNet的规范和协议都是开放的,厂商将设备连接到系统时,无需购买硬件,软件或许可权。任何人都可以从ODVA(Open DeviceNet Vendor Association)购得DeviceNet协议规范,制造商们也可以加入ODVA,并参与对DeviceNet规范的增补工作。
* DeviceNet和CAN
CAN简介
CAN最初的开发需求来自BMW与Mercedes公司,应用于汽车内部的通讯系统,用以减少配线,衔接各个分布式控制器。CAN最初的协议由Bosch公司所开发,具有快速响应和高可靠性,能满足ABS装置和安全气囊控制要求,所以得到了迅速的推广及应用,这成为降低CAN芯片价格和提高其性能的最大动力。因此,DeviceNet所使用的CAN芯片通常是其它网络所使用芯片价格的五分之一到十分之一。
DeviceNet与CAN的关系
DeviceNet构架于CAN的基础之上,使用CAN作为其底层的协议,而扩展了上层协议,增加了应用层。DeviceNet、CAN对应于OSI七层模型有如图所示的关系.
由图可以看出,DeviceNet在CAN在基础上扩展了应用层的协议,这样使得开发商可以根据自己产品的需要和特征来开发不同的产品,却能完美的接入到DeviceNet网络中。
* DeviceNet对象模型(Object Model)
DeviceNet使用抽象的对象模型这个词来表示了如何确立及管理设备的特性和通信的关系。如图所示.
协议引入面向对象的方法,将每个功能块作为一个对象(Object),在此基础上定义其实例(Instance)和属性(Attribute)。图中白色部分为一个节点设备所必需具备的对象。一般的节点设备都可以分为两部分:应用(Application)和通讯(Communication)。虚线上方的部分组成了应用对象集合,下方的部分则全部归为通讯对象。
* 连接与消息协议(Connection & Message Protocol)
DeviceNet使用CAN的11位确认区来把消息分为四组,如图所示.
DeviceNet使用更为有效的生产者—消费者模式,对信息进行打包,使其具有数据标识区,网络还利用标识区进行优先级仲载,以便更高效传送I/O数据。
DeviceNet有三种通信模式:UCMM,Group 2 Server,Group 2 Only Server。Group 2 Only Server模式是最简单也是从节点中用得较多的一种通信模式。
* Group 2 only server节点开发
Predefined Master/Slave Connection Set中预定义的消息如图所示
DeviceNet定义了两种不同类型的消息:I/O消息和显式消息(Explicit Message)。显式消息用于两个设备间点对点消息传递,是典型的请求—响应方式,常用于节点的配置、问题诊断等。显式消息有两大部分,一是标识区,用于信息路由,另一部分是数据区,包括要执行的服务和相关对象的属性和地址等。而I/O消息中除分段消息外,所有的8字节全部用来传送数据,与协议无关,如果是分段消息,则加上分段标识符。I/O消息适用于实时性要求较高和面向控制的数据。在I/O消息利用连接标识符发送这前,消息的发送和接受设备都必须先进行配置。
开发Group 2 Only Server的DeviceNet网络节点,其关键在于建立起与Master之间的连接,参考Predefined Master/Slave Connection Set中的消息格式,支持Group 2 Only Server的节点设备都能响应Group 2 only unconnected explicit request message来与Master进行连接。连接建立完成后,Master将发起I/O扫描,有三种I/O方式:轮询(Poll)、位选通(Bit-Strobe)和状态改变/循环(Change of State/Cyclic)。如果采用轮询方式进行I/O数据传送,则从节点每次必须在规定时间内回复Master’s I/O Poll Message。连接使用完毕,可以发送相应的服务码进行关闭。
* 设备组态(Device Configuration)
DeviceNet提供多种组态方式,但最常用最省事的还是使用EDS(Electronic Data Sheets)文件来进行组态。一般的参数对象包括21个属性值,为了节约存储空间,也可以使用简化的参数对象,这样只取参数对象的前6个属性值进行存储即可。
* 一致性测试(Conformance Test)
强调同类部件间的互换性是DeviceNet的一大特点,要实现部件间互换,一致性测试显得非常必要。当前存在三个认证实验室:亚太区的ASTEM(日本京都)、北美密歇根大学(密歇根州)和欧洲Warwick大学(英国)。是否接受一致性测试是厂家可以选择的,但用户对此非常重视,尤其是北美的汽车和半导体制造行业。
一致性测试的主要内容是检测节点设备对网络发出的命令的应答,测试用的软体可以从ODVA处获得,认证实验室的测试软体以DeviceNet2.0版本为准。厂家在接受测试前必须提交正确的STC文件,以指定在执行一致性测试时让测试软体读取此设备内的协议。如果测试合格的话结果会公布在ODVA网页上,以及在产品目录手册中登录合格结果,以提高产品市场竞争的优势。