




已阅读5页,还剩60页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于嵌入式系统的canopen协议分析研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 l i i l l l l 1 1 1 1 1 1 1 l l l l l l l l l l l ll l l l ll l l u l y 17 5 0 6 3 5 t h e s i ss u b m i t t e dt ot i a n ji nu n i v e r s i t yo ft e c h n o l o g yf o r t h em a s t e r sd e g r e e a n a l y s i sa n ds t u d y o fc a n o p e n p r o t o c o lb a s e do ne m b e d d e ds y s t e m b y w a n gf e n g s u p e r v i s o r p r o f c h e nz a i p i n g j a n u a r y , 2 0 1 0 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取 得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得墨盗墨墨太堂或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研 究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:五叁 签字日期:沙年 月,日 学位论文版权使用授权书 本学位论文作者完全了解 墨盗堡兰盘望有关保留、使用学位论文 的规定。特授权叁盗堡三太至 可以将学位论文的全部或部分内容编入 有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编, 以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复本和电子 文件。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:二占毒 导师 签字日期: p 年月 f 日 签字日期:为f a 年) 月 1 日 摘要 c a n o p e n 作为一种开放的、标准化的c a n 总线应用层协议,在国内外的应用已经 深入到了各个领域,并且还在进一步发展。但是,相对于广阔的应用范围,c a n o p e n 协议的研究和开发在我国还没有得到足够的重视。目前基于该协议规范的通信接口关键 技术仍然被国外若干公司所垄断,国内有关c a n o p e n 协议的分析与研究仍然处于起步 阶段,具有非常大的发展空间。 从这一实际情况出发,本文首先分析了c a n o p e n 总线在国内外的研究现状,介绍 了本文的研究内容与意义。其次对c a n o p e n 的协议规范进行了阐述,分析了c a n o p e n 的协议结构、对象字典和通信对象,并详细说明了本文使用的开源协议栈c a n f e s t i v a l 。 再次,本文对嵌入式实时操作系统p c o s i i 的原理和特点进行了阐述。在此基础上,本 文搭建了协议研究的目标平台,并详细介绍了基于嵌入式系统的c a n o p e n 通信接口在 此硬件平台上的实现方法。之后,论文提出了一个有效的实验方案,并按照此方案对本 文开发的c a n o p e n 通信接口进行了实验,以证明研究的有效性。最后对论文研究的内 容进行了总结和展望。 本文通过借鉴国外的先进经验,利用开源代码在目标平台上对c a n o p e n 协议栈进 行了研究,并提出了c a n o p e n 协议规范的通信接口开发和实验的有效方案,从而为今 后c a n o p e n 协议从节点的开发研究奠定了坚实的基础。这一方案对于缩短开发周期, 降低开发难度,节约开发成本,加速c a n o p e n 在国内的应用与推广具有重要的现实意 义。 关键词:c a n o p e ni t c o s i i 嵌入式系统现场总线协议栈单片机 a b s t r a c t a sa l lo p e n , s t a n d a r d i z e da p p l i c a t i o nl a y e rp r o t o c o lo fc a n b u s ,c a n o p e ni sw i d e l y a p p l i e di n t ot h ev a r i o u sf i e l d sa th o m ea n da b r o a d ,a n di ss t i l li nt h ef u r t h e rd e v e l o p m e n t b u t c o m p a r ew i t ht h er a n g eo fa p p l i c a t i o n ,t h ea n a l y s i sa n dr e s e a r c ho ft h ec a n o p e np r o t o c o l p r o d u c th a v en o ty e tb e e ng i v e ns u f f i c i e n ta t t e n t i o ni nc h i n a , t h em o s ti m p o r t a n tt e c h n o l o g y o ft h ep r o t o c o li n t e r f a c ei ss t i l lm o n o p o l i z e db yf o r e i g nc o m p a n i e sa n dd o m e s t i co n c a n o p e np r o t o c o la n a l y s i sa n dr e s e a r c hi ss t i l li ni t si n f a n c y , s ot h e r ei sag r e a ts p a c ef o rt h e d e v e l o p m e n to fc a n o p e np r o d u c t t h i sp a p e rf i r s t l ya n a l y z e st h er e s e a r c hs t a t u so fc a n o p e na th o m ea n da b r o a d ,a n d i n t r o d u c e st h ec o n t e n ta n dm e a n i n go ft h i s p a p e r s e c o n d l y , t h ec a n o p e np r o t o c o l s p e c i f i c a t i o n sa r ed e s c r i b e d ,a n a l y z e dt h ec a n o p e np r o t o c o ls t r u c t u r e ,o b j e c td i c t i o n a r ya n d c o m m u n i c a t i o no b j e c t sa r ea l s oi n t r o d u c e di nd e t a i l ,a n dt h ec a n f e s t i v a l ,w h i c hi sa n o p e n - s o u r c ec a n o p e np r o c o t o l s t a c kw a sr e c o m m e n dp a r t i c u l a r l y i nt h et h i r d p l a c e , 1 t c o s - i i ,ak i n do fe m b e d d e do p e r a t i n gs y s t e m i s a n a l y s e d o n t h i sb a s i s ,t h i sp a p e r p r e s e n t e dt h et a r g e tp l a t f o r m ,a n dr e a l i z e do ft h ec a n o p e nc o m m u n i c a t i o ni n t e r f a c eb a s e do n l x c o s 1 1w i t ht h ec e r t a i nh a r d w a r e t h e nt h ep a p e rp r e s e n t e dt h em e t h o do ft e s t i n g ,a n d t e s t e dt h ec o m m u n i c a t i o ni n t e r f a c ew i t ht h i sm e t h o d ,i no r d e rt oi m p r o v et h ee f f e c to fd e s i g n a tl a s t ,t h e r ea r es u m m a r ya n dp r o s p e c ta b o u tt h er e s e a r c ho fc o n t e n to ft h ep a p e r t h ep a p e rr e a l i z e sc a n o p e np r o t o c o lb yt r a n s p l a n t saf o r e i 印o p e n s o u r c ep r o t o c o l s t a c k ,a n dm a k ei tr u n sa sat a s ko fe m b e d d e do p e r a t i n gs y s t e m t h i sp a p e rp r e s e n t s a l l e f f e c t i v ep r o g r a mo fd e v e l o p i n gt h ec o m m u n i c a t i o ni n t e r f a c eo fc a n o p e n ,a n dl a i e st h e f o u n d a t i o nf o rt h ed e v e l o p m e n to fs l a v en o d e t h i sp r o g r a mh a v ev e r yi m p o r t a n tp r a c t i c a l s i g n i f i c a n c ef o rs h o r t e n i n gt h ed e v e l o p m e n tc y c l e ,r e d u c i n gt h ed e v e l o p m e n td i f f i c u l t y , s a v i n gt h ed e v e l o p m e n tc o s t sa n ds p e e d i n gu pt h ec a n o p e na p p l i c a t i o ni nc h i n a k e yw o r d s :c a n o p e n ,p c o s i i ,e m b e d d e ds y s t e m ,f i e l d b u s ,p r o t o c o ls t a c k ,m c u 目录 a b s t r a c t v 第一章绪论1 1 1c a n o p e n 简介1 1 2 国内外研究现状分析2 1 3 课题研究目的与意义2 1 4 课题研究内容3 1 5 本章小结。3 第二章c a n o p e n 协议分析4 2 1c a n o p e n 协议简介。4 2 1 1 网络参考模型4 2 1 2 设备模型5 2 2c a n o p e n 对象字典。5 2 3c a n o p e n 通信对象6 2 3 1s d o 。6 2 3 2p d o “7 2 3 3n m t 8 2 3 4 特殊功能对象1 0 2 4 典型开源c a n o p e n 协议栈1 l 2 4 1c a n f e s t i v a l ”11 2 4 2m i c r o c a n o p e n 1 2 2 4 3c a n o p e n n o d e 。1 2 2 ,5 开源协议栈c a n f e s t i v a l 1 2 2 5 1c a n f e s t i v a l 的特点1 2 2 5 2c a n f e s t i v a l 的结构1 3 2 5 3c a n f e s t i v a l 的移植方法1 4 2 6 本章小结1 5 第三章嵌入式操作系统t t c o s i i 1 6 3 1 嵌入式操作系统1 6 3 1 1 嵌入式操作系统的定义及特点1 6 3 1 2 常用的开源嵌入式操作系统1 6 3 2i t c o s i i 概述。1 8 3 2 1i 上c o s i i 的特点l8 3 2 2j t c o s i i 文件结构19 3 3i 上c o s i i 的任务1 9 3 3 1 任务的存储结构1 9 3 3 2 任务的优先级2 0 3 3 3 任务的状态2 l 3 4 本章小结2 2 第四章协议研究的目标平台设计2 3 4 1 引言2 3 4 2 相关元件介绍2 3 4 2 1 主控芯片a t 9 0 c a n l 2 8 “2 3 4 2 2 隔离c a n 收发器c t m l 0 5 0 2 4 4 3 硬件电路设计2 5 4 4 本章小结2 9 第五章基于嵌入式系统的协议软件设计3 0 5 1 可行性分析3 0 5 2 开发工具简介3 0 5 3i l l c o s i i 在目标平台上的移植3l 5 3 1 需进行的工作3 l 5 3 2o sc p u h 的修改3 l 5 3 3o sc p uc c 的修改3 2 5 3 4o sc p ua s 的修改3 3 5 4c a n f e s t i v a l 在目标平台上的移植3 6 5 4 1 需进行的工作3 6 5 4 2 目标处理器相关头文件的编写3 6 5 4 3 目标控制器驱动文件的编写3 8 5 4 4 协议功能应用程序的编写4 0 5 4 5 对象字典的编写4 1 5 5c a n f e s t i v a l 在“c o s i i 上的封装4 2 5 6m a k e f i l e 文件的编写4 3 5 7 本章小结4 5 第六章通信接口有效性实验4 6 6 1 有效性实验方案4 6 6 2 实验过程与结果4 6 6 3 本章小结5 2 第七章总结与展望5 3 参考文献5 4 发表论文和科研情况说明5 7 致 射。5 8 第一章绪论 1 1c a n o p e n 简介 第一章绪论 c a n ( c o n t r o l l e r a r e a n e t w o r k ,控制器局域网) 总线是一种由德国b o s c h 公司推 出,用于汽车控制系统数据通信的现场总线。由于其具有成本低、可靠性高、抗干扰能 力好和实时性强等显著特点,c a n 总线的应用范围迅速扩大,在各个行业都得到了广 泛的应用。为了应对c a n 总线使用范围快速扩大而带来的对于标准化的进一步要求, p h i l i p ss e m i c o n d u c t o r s 于1 9 9 1 年发布了c a n 技术规范( 第二版) 。该技术规范 包括c a n2 0 a 和c a n2 0 b 两部分,前者给出了曾在c a n 技术规范版本1 2 中定义的 c a n 报文格式,后者则给出了标准及扩展两种报文格式【。 由于c a n 总线只定义了i s o o s i 模型中物理层和数据链路层的协议规范,而没有 规定应用层规范,所以很多应用场合都需要使用基于c a n 总线的高层协议,来规定c a n 报文中的标识符和数据的使用。目前,已经有多个组织开发出了基于c a n 总线的高层 协议,使得c a n 总线的功能和应用范围都得到了极大的延伸【2 】。目前,比较常用的高 层协议标准有c a l 、c a n o p e n 、d e v i c e n e t 、c a nk i n g d o m 等。在这些常用的高层协议 中,c a n o p e n 和d e v i c e n e t 具有相对较广的应用范围。 c a n o p e n 是一种由c i a ( c a n i n a u t o m a t i o n ,自动化c a n 用户和制造商协会) 定 义的c a n 应用层协议。它采用面向对象的思想,具有非常理想的模块性和适应性。 c a n o p e n 协议主要包括通讯子协议和设备子协议两部分内容: 1 1 通讯子协议( c o m m u n i c a t i o np r o f i l e ) 通讯子协议( c i ad s 3 0 1 ) 定义了基本的数据通信方式及其特性,并规定 了对象字典的主要形式及其通讯对象、通讯参数。 2 ) 设备子协议( d e v i c ep r o f i l e ) 设备子协议( c i ad s p 4 0 1 d s p x x x ) 定义了若干类特定设备的行为规范。 对于某类设备中对象字典的每个对象,都有对应于该类设备的设备子协议来描 述其功能、名称、索引、子索引、数据类型等各项参数。 相对于其他常用的现场总线,c a n o p e n 具有以下优点p j : 1 ) c a n o p e n 没有版权限制,其全部协议文件都可以在c i a 官方网站免费获得,是 一个真正开放的协议,并非由某家大公司垄断。 2 ) c a n o p e n 的物理层全部采用c a n 总线标准,因此其硬件成本极低,购买十分 方便。 3 ) c a n o p e n 协议非常精练,容易理解,便于开发驱动程序。 第一章绪论 1 2 国内外研究现状分析 c a n o p e n 协议在国外的应用范围非常广泛。目前,已经有很多公司开发出了形形 色色的c a n o p e n 产品,具有代表性的有:n o r t h a m p t o n 公司出品的c a n o p e n 开发工具; d o w n e r sg r o v e 公司开发的c a n o p e n 模块;w o o d h e a d 公司研发的支持c a n o p e n 的 b r a d c o m m u n i c a t i o n s 系列板卡;p e a k 公司生产的p c a n o p e nm a g i cp r o 开发套件; p h i l i p s 公司出品的c a n o p e n l ad e v e l o p e r sl ( i t 组态软件等【4 】。 此外,国外的一些组织也开发出了成熟的开源c a n o p e n 协议栈,如c a n f e s t i v a l , c a n o p e n n o d e 和m i c r o c a n o p e n 等。 在我国,c a n o p e n 应用产品的开发尚处于初级阶段,因此,相关方面的研究具有 非常大的发展空间。在近期,我国学者得到的主要研究成果有: 宋晓梅、贾佳开发了基于p i c l 8 f 2 5 8 微控制器的伺服电机c a n o p e n 控制模块【5 1 ; 宋晓梅、陈锦妮基于a r m 处理器l p c 2 2 9 2 ,完成了在l x c o s i i 操作系统中c a n o p e n 与t c p i p 之间的协议转换【6 j ; 张晶、汪滨琦、崔大海设计开发了针对仿真转台控制系统的c a n o p e n 通信模块【7 】; 蒋智康、宋春宁、宋绍剑在3 台p i c l 8 单片机上开发了使用c a n o p e n 进行通信的 温度测控系统j ; 邓遵义、宁讳基于a t 8 9 c 5 1 c c 0 3 微处理器实现了应用于伺服电机上的c a n o p e n 控制模块【9 】; 徐拮、张卓、闫士珍利用国外开源c a n o p e n 代码在m c 9 s 1 2 x d p 5 1 2 平台上实现了 c a n o p e n 从节剧1 0 j : 龚树强、潘旭东、王广林通过移植和修改开源c a n o p e n 协议栈,实现了基于l p c 2 1 2 9 的伺服阀性能的自动测试【l u ; 、 孙汉旭、曹志杰、贾庆轩分析了c a n o p e n 协议在双轮移动倒立摆机构控制系统应 用中的快速性与稳定性问题【1 2 】; 马艳歌、贾凯、徐方采用c a n o p e n 协议实现了d s p 系统与上位机之间的通猁1 3 j ; 涂智杰、何永义、李一青、周其洪使用t m s 3 2 0 f 2 8 1 2 实现了c a n o p e n 与m o d b u s 之间的协议转换【1 4 】。 1 3 课题研究目的与意义 本课题的研究目的是基于国内外已有的资料,选定目标平台,并在该平台上进行基 于嵌入式实时操作系统的c a n o p e n 协议分析与研究。在所有的c a n 总线高层协议中,只 有c a n o p e n 年l d e v i c e n e t 的应用较为广泛,本课题之所以选择c a n o p e n 进行分析研究, 是因为c a n o p e n 与d e v i c e n e t 相比有以下优势【i 5 j : 1 ) c a n o p e n 网络中的节点数最多可达1 2 7 个,而d e v i c e n e t 网络中的节点数最多只 有6 4 个。 2 ) c a n o p e n 协议可以通过软件设置,将系统根据用户的需求最大限度地专用化和 第一章绪论 最优化,而无须改变硬件设置。而d e v i c e n e t 没有此项功能。 3 1c a n o p e n 物理层全部采用c a n 总线通用设备,可以在c a n 总线之上直接建立 c a n o p e n 高层协议。而d e v i c e n e t 具有严格的物理层协议标准。 4 ) c a n o p e n 协议完全开放,无版权限制,任何人都可以在c i a 的网站上轻易获得。 而d e v i c e n e t 并非对所有人公开协议。 c a n o p e n 作为一个具有代表性的c a n 总线高层协议,早已得到了各个领域的广泛承 认。尤其是在其发源地欧洲,c a n o p e n 早已在基于c a n 总线的高层协议标准中居于领导 地位【l6 1 。但是,c a n 总线在我国的应用层次一直偏低,多数情况下都处于传输互不兼容 的简单应用层协议的层面上,并没有大范围地使用c a n o p e n 协议。同时,国内自主开发 的c a n o p e n 相关产品尚不成熟,开发周期较长,成本较高,扩展性较差,难以顺应使用 环境的变化而扩展新的功能,因此仍不能摆脱对国外公司产品的依赖。总体来说,相对 于应用,c a n o p e n 的协议研究和产品开发在我国没有得到足够的重视,具有非常大的发 展空间。 综上所述,进行c a n o p e n 协议的分析研究具有重要的现实意义。 1 4 课题研究内容 本课题主要分析与研究c a n o p e n 的网络通信协议,通过移植国外开源代码 c a n f e s t i v a l 协议栈来实现c a n o p e n 协议规范,并将该协议栈作为嵌入式操作系统 l x c o s i i 的一个任务运行,达到缩短开发周期,降低开发难度,节约开发成本的目的。 简单来说,本课题的研究内容包括如下六个部分: 1 ) 分析c a n 高层协议c a n o p e n ; 2 ) 研究开源c a n o p e n 协议c a n f e s t i v a l 和嵌入式操作系统“c o s 。i i ; 3 ) 根据系统需要进行方案分析和器件选型,设计协议研究的目标平台; 4 ) 将嵌入式实时操作系统j ,t c o s i i 移植到目标平台; 5 ) 移植应用层协议栈c a n f e s t i v a l ,并将其作为一个任务封装到“c o s i i 中; 6 ) 开展通信接口的有效性实验。 1 5 本章小结 本章简要介绍了c a n 网络高层协议c a n o p e n ,重点介绍t c a n o p e n 协议在国内外的 研究进展,并说明了该技术在我国发展的情况。接着结合以上内容阐述了课题研究的目 标与意义,最后给出了本课题的主要研究内容。 第二章c a n o p e n 协议分析 第二章c a n o p e n 协议分析 c a n o p e n 架构于c a n 总线之上,是一种常用的c a n 总线高层协议。为了保证不同 厂商生产的产品间的兼容性,c i a 不仅为c a n o p e n 定义了通讯子协议,还为许多重要 的设备类型定义了设备子协议。通过遵循这些设备子协议,不同厂商开发出的同类型设 备能轻易实现互操作【l7 1 。 其中,通讯子协议c i ad s 3 0 1 中定义了基本的通信对象s d o 、p d o 、n m t 及特殊 功能对象,并规定了它们的特性;设备子协议定义了各种设备类型的标准及行为规范, 如i o 模块子协议c i ad s p 4 0 1 、伺服驱动设备子协议c i ad s p 4 0 2 、人机界面子协议 c i ad s p 4 0 3 等。此外,编码器、控制器和可编程控制器等设备类型都在相应的子协议 中得到了定义。 2 1c a n o p e n 协议简介 2 1 1 网络参考模型 由于c a n 网络的局限性,它只定义了i s o o s i 模型中的网络物理层和数据链路层 【1 8 】,而没有定义c a n2 0 a b 报文中的11 2 9 位标识符及8 字节数据【1 们。c a n o p e n 作为 基于c a n 网络的应用层协议,使用了c a n 网络的通讯和服务子集,并提供了标准的系 统通讯模式,很好地弥补了这一缺陷【2 0 】。 c a n o p e n 协议与c a n 网络之间的关系如图2 一l 所示: 设备规范设备规范i设备规范: c i ad s p 一4 0 lc i ad s p 4 0 4 :c i ad s p - x x x : m 州层l 通信规范c i ad s 3 0 l i i 数据链路层 c a n 控制器 - li l 物理层 i s ol l8 9 8 1 c a n 图2 - 1c a n o p e n 与c a n 的关系 第二章c a n o p e n 协议分析 2 1 2 设备模型 c a n o p e n 的设备模型如图2 2 所示。它分为通信接口、对象字典、应用程序三个部 分【2 l 】。通信接口提供了现场总线上通信对象的发送和接收服务;对象字典描述了所在设 备上的数据种类、通信对象和应用对象,为应用程序提供了接口;应用程序提供了内部 控制功能,并为硬件提供了接口。 :a n ,、 刖 通信接u对象字典 应用程序 订 服务数据对象 1卜、数据类型刀卜、 应用程序 刖 过程数据对象 通讯对象 设备描述 翔 网络管理对象 应用对象 7 特殊功能对象 v - -v 2 2c a n o p e n 对象字典 图2 - 2c a n o p e n 设备模型 对象字典( o b j e c td i c t i o n a r y ) 是c a n o p e n 协议的核心,连接了c a n o p e n 设备的通 信接口和应用程序。c a n o p e n 网络中的每个节点都需要有一个对象字典,其中包含了 描述该设备网络行为的所有参数。通过访问节点的对象字典,系统可以得到节点状态, 确定通信模式,进行网络管理。同时,通过定义对象字典中的参数,也可以在设备中扩 展新的功能【2 2 。 对象字典是一个预定义的,可以在网络中访问的,有序的对象组,通过e d s ( e l e c t r o m cd a t as h e a ,电子数据文档) 进行描述,对象字典中每个对象的元素都可以 使用一个1 6 位的索引和一个8 位的子索引进行寻址。对象字典的通用结构参照表3 1 , 其中索引值低于0 x 0 f f f 的对象是数据类型定义,0 x 1 0 0 0 到0 x 9 f f f 之间是节点功能定 义。 在对象字典中,索引0 x 0 0 0 1 到0 x 0 0 1 f 定义了静态数据类型,包含标准数据类型, 如布尔型,整数,浮点数,字符串等。这些数据类型的定义仅供参考,不能被数据读取 或写入。索引0 x 0 0 2 0 到0 x 0 0 3 f 定义了复杂数据类型,这种类型是预定义的由简单数据 类型所组合成的标准结构,如p d o c o m m p a r ,s d o p a r a m e t e r 。0 x 0 0 4 0 到0 x 0 0 5 f 是设备 制造商在c a n o p e n 协议中提供的复杂数据类型之外,为特定设备自定义的复杂数据类 型。 此外,设备子协议中也可以定义数据类型。其中,静念数据类型可以在0 x 0 0 6 0 到 0 x 0 0 7 f 索引区l 日j 定义,复杂数据类型可以在索引0 x 0 0 8 0 到0 x 0 0 9 f 之间定义。索引 0 x 1 0 0 0 到0 x l f f f 之间为通讯子协议定义区i 、日j ,这区间包含了c a n 网络的通信参数, 如设备类型、错误寄存器、支持的p d o 数量等,适用于所有设备。0 x 2 0 0 0 到0 x 5 f f f 第二章c a n o p e n 协议分析 是设备制造商特定子协议区域,制造商可以在此区间为设备自定义子协议。在标准化的 设备上,索引o x 6 0 0 0 到o x 9 f f f 包含了标准的设备子协议。设备中所有可通过网络读写 的数据对象都在此定义,描述了设备的参数和功能。在这一区间内,最多可描述8 个不 同的模块,也就是说,通过对这一区域的定义,可以实现最多由8 个模块所组成的多功 能设备。 索引对象 0 0 0 0 朱使用 0 0 0 1 0 0 1 f 静态数据类型 0 0 2 0 0 0 3 f 复杂数据类型 0 0 4 0 0 0 5 f 制造商规定的复杂数据类型 0 0 6 0 0 0 7 f 设备子协议规定的静态数据类型 0 0 8 0 0 0 9 f 设备子协议规定的复杂数据类型 0 0 a 0 0 f f f保留 1 0 0 0 一l f f f 通讯子协议 2 0 0 0 5 f f f 制造商特定子协议 6 0 0 0 9 f f f 标准的设备子协议 a 0 0 0 f f f f 保留 2 3c a n o p e n 通信对象 c a n o p e n 协议规定了4 类通信对象:s d o ( s e r v i c ed a t ao b j e c t ,服务数据对象) 、 p d o ( p r o c e s sd a t ao b j e c t ,过程数据对象) 、n m t ( n e t w o r km a n a g e m e n t ,网络管理对 象) 以及特殊功能对象【2 3 1 。这一节将对c a n o p e n 协议规定的通信对象进行个简要的 介绍。 2 3 1s d o s d o 用于传送较大的低优先级数据,通常用来传送组念数据或配置设备。它的传输 采用客户机服务器通讯方式,通过两个c a n o p e n 设备之间的点对点通信来实现可靠的 数据传输。其中,s d o 客户机是指要求访问某设备的对象字典的设备,s d o 服务器是 指j 爿j 有要被访问的对象字典的设备。在使用s d o 进行通信时,客户机通过使用索引和 子索引来定义服务器对象字典中的对象,并通过s d o 进行访问。同时,由于s d o 是确 认服务类型,所以一个s d o 通信需要两个带有不同标识符的c a n 报文,其中一个报文 由s d o 服务器使用,另一个报文由s d o 客户机使用【2 4 | ,如图2 3 所示。 第二章c a n o p e n 协议分析 图2 - 3s d o 的通信 s d o 可以传送任何长度的数据。当传送的数据长度小于4 字节时,采用加速传送 ( e x p e d i t e dt r a n s f e r ) 方式进行传送;而当传送的数据长度大于4 字节时,数据将被分 拆成几个c a n 报文,采用分段传送( s e g m e n t e dt r a n s f e r ) 方式进行传送。由于在分段 传送时一个数据将会被分拆成几段,因此在发送s d o 的第一个报文后,其后的每段中 都可以包含7 个字节的数据,而最后一段可以包含一个终止符。两种传送方式中s d o 的基本结构如图2 4 和2 5 所示。 服务器剑客户机客户机到服务器 字节0字节1 2字节3字节4 7 s d o 命令字对象索引对象子索引最大4 字节数据 图2 4 s d o 的加速传送方式 服务器到客户机客户机到服务器 字节0字节i 7 s d o 命令字最大7 字节数据 图2 5s d o 的分段传送方式 在s d o 基本结构中,命令字可包含如下信息:下载上传( d o w n l o a d u p l o a d ) 、请 求应答( r e q u e s t r e s p o n s e ) 、分段力日速传送( s e g m e n t e d e x p e d i t e dt r a n s f e r ) 、c a n 帧数据字节长度、触发位( t o g g l eb i t ) 。其中触发位在分段传送的每个分段中会交替进 行清零和置位。 2 3 2p d o p d o 采用生产者消费者方式进行传输,用于从个作为生产者的发送方对一个作 为消费者的接受方传输实时控制参数、变量,或从一个作为生产者的发送方对多个接收 方以广播形式进行传输,如图2 - 6 所示。p d o 的优先级高于s d o ,但一个p d o 最大 只能传输8 个字节的数据。 第二章c a n o p e n 协议分析 图2 - 6p d o 的通信 p d o 通讯既没有协议规定,也不需进行确认。它的数据内容只由它的c o b i d 定义, 仅能对应于设备对象字典中的条目,为应用程序提供预先确定的访问接口。也就是说, p d o 的生产者和消费者都必须了解p d o 报文中所含信息的意义。这就要求p d o 报文中 的数据类型和应用对象都是由设备对象字典中相应索引和子索引所对应的参数一一映 射的。因此,在设备对象字典中对象的索引和子索引发生变化之后,就必须使用s d o 报文来重新配置p d o 映射参数。 在对象字典中,每个p d o 都由通讯参数和映射参数两个部分构成。通讯参数包括 该p d o 使用的c o b i d 、传输类型、禁止时间和定时器周期【2 6 】。映射参数包括对象字 典中对象的索引和子索引,p d o 的生产者和消费者必须知道映射参数,以解释p d o 报 文中信息的含义。此外,如果设备支持可变p d o 映射,那么就能够使用s d o 报文来配 置p d o 映射参数。 2 3 3n m t n m t 用于对网络设备进行管理、控制,并报告设备故障。n m t 采用主从结构,一 个网络中只有一个n m t 主节点,其余的为从节点,如图2 - 7 所示。 n m t 主节点 ,一1 ;n m t - i d 0 tt , n m t 从节点 n m t 从节点n m t 从节点 图2 7n m t 的通信 每个c a n o p e n 从节点都有初始化( i n i t i a l i z a t i o n ) 、预操作( p r e o p e r a t i o n a l ) 、操作 ( o p e r a t i o n a l ) 和停止( s t o p p e d ) 4 个状态。n m t 报文能在任何时候使所有节点,或是 部分节点转换到相应的工作状态,主节点可以使用n m t 来控制从节点在各个状态之间 的转换,如图2 - 8 。n m t 主节点可以对从节点提供状态管理、节点保护等服务,还可以 监控从节点的状态,以检查某个不发送p d o 的从节点是否已经脱离c a n o p e n 总线,同 第二章c a n o p e n 协议分析 时检测设备是否出现网络接口错误。 上电 图2 8 节点状态转换 在c a n o p e n 从节点上电后,会自动进行初始化,并进入预操作状态。节点处于预 操作状态时不能进行p d o 通信,但可以通过配置工具通过s d o 配置节点。 n m t 主节点可以将某一个从节点切换到操作状态,也可以同时将所有从节点均切 换到操作状态。当节点处于操作状态时,可以进行所有的通信操作,并且可以通过s d o 对从节点的对象字典进行修改操作。 通过将设备切换到停止状态,可以中断所有s d o 和p d o 的通信。在停止状念下, 节点除n m t 对象外不允许任何通信。此外,停止状态可以被用来实现某些程序中的功 能,这种行为的定义属于设备配置文件的范畴。 初始化状态又分成三个子状态1 27 | 。在r e s e ta p p l i c a t i o n 子状态中,制造商特定子协 议和标准化设备子协议两个区域中的参数均被设置成缺省值;在r e s e tc o m m u n i c a t i o n 子状态中,通讯子协议区域的参数被设定为它们的通电值,也就是上一次存储的参数; 第三个子状态是初始化状态,节点在上电后或复位后会自动地进入此状态。 n m t 的报文由c a n 报文的报头和两字节数据组成,如图2 - 9 。其中,第一个字节 是n m t 命令字,表示节点所请求的服务类型,第二个字节是需要寻址的节点i d 。当节 点i d 为0 时,n m t 主节点会寻址所有从节点。 n m t 主节点到n m t 从节点 c o b i d 字节0字节1 0 x 0 0 n m t 服务类型节点i d 图2 - 9 n m t 报文格式 第二章c a n o p e n 协议分析 2 3 4 特殊功能对象 c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025财务审计业务合同书范本
- 2025标准企业办公室租赁合同样本下载
- 个人餐饮员工劳动合同标准文本
- 书法雕刻劳务合同标准文本
- 航空运输合同示范文本二零二五年
- 二零二五版珠海二手房买卖合同
- 证券资产抵押担保合同二零二五年
- 聘用人才劳动合同
- 二零二五版员工食堂劳务承包合同
- 建设工程施工合同的定义及特征二零二五年
- 消防更换设备方案范本
- 合伙开办教育培训机构合同范本
- 嵌入式机器视觉流水线分拣系统设计
- 《电力建设工程施工安全管理导则》(nbt10096-2018)
- 江苏省盐城市东台市第一教育联盟2024-2025学年七年级下学期3月月考英语试题(原卷版+解析版)
- 湖南省2025届高三九校联盟第二次联考历史试卷(含答案解析)
- 2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“电子商务”赛项规程
- 2025年中考数学复习:翻折问题(含解析)
- (统编版2025新教材)语文七下全册知识点
- 家具全屋定制的成本核算示例-成本实操
- 第二单元第1课《精彩瞬间》第2课时 课件-七年级美术下册(人教版2024)
评论
0/150
提交评论