




已阅读5页,还剩72页未读, 继续免费阅读
(轮机工程专业论文)基于canopen的多协议转换与传输机制研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作 及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得武汉理工大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文使用授权书 矽c f 多 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即学校有权保留并向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位 论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或 其他复制手段保存或汇编本学位论文。同时授权经武汉理工大学认 可的国家有关机构或论文数据库使用或收录本学位论文,并向社会 公众提供信息服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :a 龟彳 导师( 签名) :壹。年日期:沙c f y 随着计算机和系统集成电路技术的不断发展,分布式控制系统正逐步普遍 应用于船舶工业当中。但是由于分布式控制系统设备种类繁多,协议不尽相同, 所以给数据的传输和集中管理带来了不小的困难。现场总线作为底层的一种拓 扑性网络,可以创建一个双向通信、全数字化的控制系统。它可以使现场的多 个设备之间以及现场设备与远程监控计算机进行连接,实现数据传输和信息交 换。所以我们需要一个规范化的系统,它可以将底层设备的数据采集系统融合 在一起,具有良好的传输性能,并可以实现实时监测和事务调度功能。 本文在探讨总线技术的基础上,应用c a n 总线技术对船舶中的多协议转换 及传输机制进行了研究。第一部分介绍了论文的研究目的和意义以及本文的内 容和结构框架。第二部分在c a n 总线的基础上分析了其应用层c a n o p e n 协议 的技术规范,对c a n o p o n 协议各通信对象的实现进行了初步的探讨,为以后的 实现奠定了基础。第三部分首先利用双冗余网络结构设计对c a n 总线的实时 性、可靠性以及经济性做了优化,然后是r s 2 3 2 4 8 5 到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 主站中的各种 通信对象( n m t 、p d o 、s o d 、s y n c ) 的传输实现。在系统的研究设计中, 软硬件设计都采用了模块化的思想,在保证系统可靠性和稳定性的前提下,尽 可能地减少硬件的设计成本。系统软件设计均采用的是c + + 语言编写,通信模 块以c + + 通用类的方式提供给应用类去调用,应用中只需要在包含通信类文件 的基础上简单地创建实例即可实现基本的c a n o p e n 通信功能。利用面向对象设 计的方法大大提高了系统软件的可扩展性和可移植性。 关键词:c a n o p e n ;c a n ;协议转换;面向对象设计 m o r e o v e r , i ts h o u l da c h i e v et h ef u n c t i o no fr e a l t i m em o n i t o t i n ga n dt r a n s a c t i o n s c h e d u l i n g t h i sa r t i c l ec a r r i e so nt h er e s e a r c ho ft h em u l t i - p r o t o c o lc o n v e r s i o na n d t r a n s p o r tm e c h a n i s mi ns h i p ,b a s e d o nt h ep r o b eo fc a n - b u s t h ef i r s t p a r t d e s c r i b e st h ep u r p o s ea n ds i g n i f i c a n c eo ft h er e s e a r c hp a p e r s ,勰w e l la st h ec o n t e n t a n ds t r u c t l | r eo ft h i sf r a m e w o r k t h es e c o n dp a r ta n a l y z e st h et e c h n i c a l s p e c i f i c a t i o n s o ft h ea p p l i c a t i o nl a y e ro fc a n - b u s ( c a n o p e n ) b a s e do nt h e c a n - b u s ,c a t t yo u tt h ep r e l i m i n a r ys t u d yo ft h e r e a l i z a t i o no fc o m m u n i c a t i o n o b j e c t si nt h ec a n o p e nf o rt h ef u t u r ei m p l e m e n t a t i o n t h et h i r dp a r tf i r s to p t i m i z e t h er e a lt i m e ,r e l i a b i l i t ya n de c o n o m yo fc a n - b u s ,u s i n gt h ed o u b l er e d u n d a n c y d e s i g n ,a n dt h e nd e s i g nt h ec o n v e r s i o nb e t w e e nc a nb u sp r o t o c o la n dr s 2 3 2 4 8 5 t h ef o u r t hs e c t i o nd e s c r i b e sd e s i g no ft h em a s t e rs t a t i o n ,i n c l u d i n gt h et r a n s m i s s i o n m e c h a n i s ma n dr e c e i v i n gt r e a t m e n to fc a n o p e np r o t o c o l ,t h er e a l i z a t i o no f t r a n s a c t i o ns c h e d u l i n ga l g o r i t h m sa n dh i g hm u l t i - u s eo fr e s o l u t i o nt i m e ri nb u s t h e f i f t hp a r to ft h ep a p e ri st h ec o n c l u s i o na n do u t l o o k i nt h ec o b r s eo ft h es t u d y ,f i r s t ,i ts o l v e dt h ep o i n to ft h eu n d e r l y i n gp r o t o c o l c o n v e r s i o n ,a n dt h e na n a l y s i st h en e t w o r kt o p o l o g ya n dt r a n s m i s s i o nm e c h a n i s m s b a s e do nc a n o p e n ,f i n a l l y , t h er e a l i z a t i o no fc o m m u n i c a t i o no b j e c t s ( n m t ,p d o , s o d ,s y n c ) i ne m b e d d e ds y s t e mo fs l a v ea n dm a s t e r t h em o d u l a rp l a nw a sb e i n g i l i i i 第2 章c a n o p e n 协议技术规范7 2 1 现场总线7 2 2c a n o p e n 协议概述8 2 3c a n o p e n 协议的通讯模型l o 2 3 1 主从关系模型1 0 2 3 2 客户端服务器模型1 1 2 3 3 生产者消费者模型1 l 2 4c a n o p e n 协议的通信对象1 2 2 4 1 网络管理对象1 3 2 4 2 服务数据对象1 4 2 4 3 过程数据对象1 4 2 4 4 特殊功能对象1 5 2 4 5 两种通讯模式的比较1 5 2 4 6 对象字典1 6 2 5c a n 报文帧格式:1 7 2 6 信息帧的优先级1 8 2 7 本章小结1 9 第3 章总线网络设计及协议转换2 0 3 1c a n 总线的通信参考模型2 0 3 1 1 数据链路层2 0 3 1 2 物理层2 1 3 2 双冗余网络设计2 2 3 3c a n 总线的实时性设计2 3 3 3 1 实时性分析2 3 i v 1 1 2 4 5 2 4 2 5 2 9 3 4 1r s 2 3 2 :9 3 4 2r s 4 8 5 :1 9 3 5 协议转换硬件设计3 0 3 5 1c a n 协议控制器s j a l 0 0 0 3 0 3 5 2c a n 协议收发器p c a 8 2 c 2 5 0 3 1 3 5 3r s 2 3 2 接口电路设计3 2 3 5 4r s 4 8 5 接口电路设计3 2 3 5 5 总系统结构设计3 3 3 6 协议转换软件设计3 4 3 6 1r s 2 3 2 - c a n 协议转换流程3 4 3 6 2r s 4 8 5 一c a n 协议转换流程3 5 3 7 本章小结3 6 第4 章c a n o p e n 主站的设计与实现3 7 4 1 硬件选型设计3 8 4 2 软件平台选择3 9 4 3 软件流程设计规范4 0 4 4 软件实现关键技术4 l 4 4 1 定时机制和调度策略j 4 1 4 4 2w i n c e 内的多线程4 2 4 4 3 内存映射文件4 5 4 5 c a n o p e n 在嵌入式模块中的软件设计4 8 4 5 1 软件接口设计4 8 4 5 2 数据帧的接收5 0 4 5 3 数据帧的发送5 l 4 6c a n o p e n 主站的设计实现5 3 4 6 1 对象字典文件接口实现5 4 4 6 2 网络管理模块5 5 4 6 3s d o 模块设计5 6 4 6 4p d o 模块设计5 7 v v i 5 8 6 0 6 1 6 1 6 2 6 3 6 4 6 5 6 6 6 9 7 0 化、网络化、数字化为表现形式的知识经济,在许许多多的层面上对事物进行 了深刻的改革,船舶行业也无一例外。现代船舶信息也正在朝着自动化和人性 化的方向发展,以期提高效率和准确性,从而达到消费者的需求。 船舶自动化系统随着信息技术的发展,正在向信息集成化方向发展。以前 船舶系统中的底层设备很难互相联系而构成一个整体,也就是系统中有信息孤 岛。这就造成船舶平台信息集成系统无法对船舶内部的各子系统进行统一的管 理,各种传感器或设备信息、船舶运行中产生的各类信息无法集成在一起,造 船成本很高,而且大大降低了效率。为了解决这些问题,伴随着“知识经济”时 代的发展,船舶开始向自动化、数字化、网络化方向发展。以信息为重点,以 计算机为工具,以网络为基础,以控制为核心,达到了对船舶信息的采集、处 理、传输、存储和备份等要求。 船舶自动化技术是适应海运贸易和航运发展的需要,随着计算机等新技术 的不断发展而得到了广泛的应用。船舶自动化技术应该集机舱动力系统及辅助 系统自动控制、监测、报警、显示、存储于一体,是船舶科技战略发展的应用 研究的重要技术之一。它涉及计算机技术、现代控制技术、数字化通信技术、 传感器技术、通讯技术等多种学科和技术,而且还要向着标准化、模块化、集 成化等高技术层次阶段发展【l 】。 目前国内外的船舶信息集成系统在很多方面都达到了先进水平,包括分布 式控制系统、网络安全性、电子控制系统等等方面。船舶的监控系统越来越多 的采用了现场总线技术。对船舶信息进行整合和处理,可以使以前对船舶定期 性的安全检测转化为现在的实时检测船舶的运行状况,也可提供船舶运行时的 所有信息、记录船舶航行时的报警状况,这样系统的安全性大大提高,降低了 武汉理工大学硕士学位论文 事故的发生概率,为人民的生命财产提供了保障。 “十五”以来,我国的船舶工业发展迅速,产业规模也迅速扩大,也在向着 数字化的方向大阔步地迈进。从以前的智能仪器仪表到现在的集成计算机智能 监控系统,我国的造船技术得到了明显的进步,但是相对于国外来说,还是有 不小的差距。在主机遥控系统、船舶机舱的自动化监控以及自动电站系统方面, 我国大部分都是采用的国外设备,所以学习国外先进技术,努力研制新型技术 产品,对我国的造船事业的发展有着深远的意义 2 1 。 1 2 分布式系统概述 p c 型自动化系统运行可靠、可操作性强、集成度高,因而经常应用于工业 控制当中【3 】。p c 型自动化系统可保证船舶动力设备的安全可靠运行,减少由于 人为原因造成的错误判断。通过系统对船舶的监控,可以实时显示各种设备的 运行状态,如果某一设备产生了故障,就会显示报警,这样操作人员就可以更 改造成故障的设备参数,以便让它回到正常的运行状态。系统还可以接受传感 器和各种采集设备产生的数据,并把它们存储到计算机中。这样就可以让操作 人员查看某一指定时间的设备运行状态,并对它们以后的运行状态或需要更换 设备等操作做出预测。自动化技术代替了大量的繁重的人工操作,把船员从条 件恶劣的环境里解放出来,可减少人为因素的错误判断并减轻了船员的身体疲 劳,由此提高了船舶的安全性和可靠性。 随着计算机技术在船上的应用,船舶自动化监控技术从原来的单一计算机 监控逐步演化为分布式控制系统。单一计算机监控可以实现数据的采集,管理 和控制都得到了很大的改善,但是有一个致命的缺点就是如果发生故障,整个 系统就会瘫痪,这样船舶安全性就无法得到保证。分布式控制系统可以解决这 个问题,但是分布式系统各子设备之间无法进行通信,数据无法得到共享,每 个分散独立的设备无法进行统一的管理,这就造成了主监控系统只能各自采集 每个子设备传上来的信息或报警信号,也无法达到预期的目的。所以,船舶内 的网络技术应运而生,完美地解决了各子设备之间以及子设备与主设备之间的 通信联系,网络监控模式集成了单一计算机和分布式系统的优点,已经成为船 舶信息自动化采集、船舶智能监控发展的方向。 分布式控制系统的特点有:自主性、协调性、适应性、灵活性和可扩性, 2 武汉理工大学硕士学位论文 除此之外其界面友好,具有丰富的组态功能,网络性和可靠性也十分强大。控 制相对分散,但其标准化、系列化和网络化的特点又能将其作为一个整体,形 成了可灵活配置、组态方便的多级计算机网络系统结构。 上世纪9 0 年代,现场总线技术的诞生为船舶自动化控制指明了方向,它引 起了自动化控制工业的一次重大的变革。现代船舶越来越多的应用了现场总线 技术。c a n 总线由于其容易实现、可靠性强等优点,在很多控制系统项目中得 到了广泛的应用。作为生产最底层的一种总线型拓扑的网络,c a n 总线可以将 各种控制信息在网络中进行传输,并由各计算机采集、处理、存储及显示。通 过现场总线可以将现场仪表、智能i 0 和计算机联系到一起,降低了成本,提 高了传输的可靠性,并且其布线成本低,易扩展,还可以远程调试、自诊断, 方便用户对其进行维护和移植。 严格来说,船舶自动化采集系统的主要组成为采集、处理、存储、传输、 管理等五大部分。各部分各司其职,组成了自动控制系统,简图如图1 1 。 r 一一一一一一一一一一一1 人机界面 应用 上位组态系统 层面 系统设置层面 士 总线编码调试 带c a n 总线的 系统 人机界面系统 i 一 器器1 器2器n 自动系统简图 是简要显示了自动控制系统中的重要部分。下面介绍其各部分的功能 n 控制器:c a n 控制器分为主站和从站。主站可以对整个网络中各3 武汉理工大学硕士学位论文 从站的的运行状态进行监测。作为c a n 控制器的主站,也要对整个现场总线进 行编码调试。在工作过程中,可以实时调度各从节点的网络通讯,对总线中需 要用到的网络参数进行配置。从站则负责现场设备的信息采集和控制任务,响 应主站发送的管理和配置信息,进行实时数据的传输。 2 ) 总线编码调试系统:作为c a n 总线的主站,可以是上层的监控计算机 ( p c ) ,也可以是嵌入式模块。工业现场中越来越多地应用到了嵌入式模块, 它可以方便快捷地实现监控和自动控制,由于其操作系统一般是实时性的,对 数据的采集和处理能力很高。嵌入式模块作为主站,其程序操作简便,界面也 一般简洁明了,方便船员对船舶运行时产生的报警进行处理。它还可以对整个 总线进行一个调配,完成信息流的动态定义和自动流转、信息的自动控制等任 务。 3 ) 人机界面:p c 机也可以作为现场总线的总站。在p c 机上可实现报警 显示、数据分析处理、历史数据存储等功能。p c 机有海量的内存,快速的处理 速度以及开发的网络连接,它能够集成大量数据,并能传向高级计算机。在p c 机上开发软件也是十分方便的,现在操作系统支持的软件开发工具有很多,给 工业控制带来了极大的便利,并且,人们对于p c 机是十分熟悉的。所以无论 从界面还是操作来说,都可以使控制系统简单化,结构化,方便了学习和控制执行。 1 3 国内外研究现状 我国的造船技术处于世界领先地位,但目前广泛采用的基于现场总线的监 控网络组成的监控平台,没有继承性,各自之间缺乏联系,对数据共享能力有 限,与国外的同类产品相比有很大的差距。虽然船舶信息集成技术也在各类船 舶上均有成熟应用的综合导航、报警系统、轮机监控、视频监视等专业系统。 但是,每个系统网络都是独立开发的,特别是有些产品,如组合导航系统、g m d s s 系统这些都是在原有的基础上进行改革、提高效率,并没有真正的达到自主研 发的目的。所以我们需要对船舶的控制策略和系统集成优化,要尽可能地采用 不同的技术路线,研制出适合民船、军用船舶的各种自控制系统;要加大自主 创新,对船舶中的多功能一体化的网络结构进行拓扑及扩展,提出一种架构的 方法,为同类产品提出一种实用化的应用。 在国外研究方面,船舶数字信息系统的研究都在实船上得到了广泛的应用, 4 武汉理工大学硕士学位论文 取得了良好的经济效益。其各项性能指标符合当前的安全航行规范,切实提高 了船舶的安全性和可靠性,给人们的生命财产安全给予了很大的保障。l y n g s g 公司的船舶控制系统包括航海、轮机系统的多方位监控和管理,设计了面向过 程监视和控制以及用于高层管理的服务器两个单元,它们两个各司其职,共同 实现了对船舶的综合控制。船舶监控中大量地使用到了传感器,现场总线,以 太网等技术,将对船舶的监控和管理信息结合在一起,实现了船舶监控和一体 化管理。在这方面,前面提到的丹麦的l y n g s a 公司、意大利的c s 公司和美国的 s p e r r y 公司,都做出了一些新的产品,并在实船上得到了应用【删。 1 4 论文内容及章节 我国目前不少设备带有自动化系统,但是可靠性较低,没有形成模块化和 通用化,无法实现灵活组态。在分布式系统系统概述一节中我们谈到了分布式 系统的简单构成,以及各部分的作用。作为底层设备的下位机来说,主要是通 过串口进行数据交换,所以如何将串口数据协议转为c a n 总线协议,以及数据 在c a n 总线的高层协议c a n o p e n 上的传输是本文的研究重点。 论文主要介绍了基于现场总线的信息协议的智能化处理和传输技术,以及 上位机监控软件的实现模型。 1 ) 在底层设备的现场总线架构中,利用了c a n o p e n 协议进行数据的传输 与其他现场总线比较,c a n o p e n 协议具有通信效率高、容易实现、有突出的可 靠性及灵活性等优点,并且可以很好地适应恶劣的工作环境,可以完成各种周 期性和非周期性信号的数据传输任务,因此在所有的现场总线里有着很强的竞 争力,在汽车工业、航空工业、工业控制、安全防护等领域得到了广泛的应用。 2 ) 实现协议转换的软件设计采用了c 语言,利用中断对其进行重新封装, 使其变为总线协议或串口协议。在监控软件的设计上,使用的是面向对象编程 技术,其中数据采集应用到了多线程、内存映射文件等相关技术。在数据的采 集以及系统的优化上,采用了事务调度算法,对线程的优先级和c a n o p e n 总线 中报文的i d 做出了一个可行性建议。 3 ) 在主站硬件的选型上,采用了基于a r m 的嵌入式模块。嵌入式系统是 以应用为中心,以计算机技术为基础的,能满足人们对系统的功能、成本、体 积、功耗等各方面要求的专用计算机系统。软硬件一体化是嵌入式系统的显著 5 范,描述了c a n o p e n 协议的通讯模型、通信对象以及报文帧的格式、优先级, 为后面的实现打下基础。 第3 章对总线网络设计进行了研究,提出了双冗余网络结构设计。然后是 c a n 总线的实时性设计及r s 2 3 2 4 8 5 到c a n 总线的协议转换。 第4 章主要是对应用程序进行c a n o p c n 的主站设计。主要包括硬件的选型以 及软件平台的选择、程序的设计流程、事务调度算法的实现,实现了网络内信 息的有效传输。 第5 章是结论与展望,对论文所做工作进行了总结,概述了此项研究的发展 方向。 6 现场总线是应用在生产最底层的一种总线型拓扑的网络【7 1 ,是用于现场仪 表与控制室系统之间的一种开放、双向通信、全数字化的通讯系统。这种总线 是用作现场控制系统的、直接与所有受控设备节点串行相连的通信网络。工业 现场总线发展迅速,目前已开发的已经达到4 0 余种,正处于百家争鸣,百花齐 放的阶段。然而多种总线并存,各个国家之间的总线标准都不尽相同,造成了 标准难以统一的问题。不过我们应该相信竞争中协调并存的情况不会成为总线 发展中的障碍,或者从某种角度来说,这恰恰是对其发展有利的必经阶段。 现场总线目的是为了满足自动控制技术的要求,同时实现整个底层网络和 上位机的综合自动化。传统的控制系统很难实现设备之间以及系统与外界的信 息交换,而现场总线的出现解决了这一难题。它采用一定的介质,按照公开、 规范、标准的协议,在现场的多个设备之间以及现场设备与远程监控计算机进 行连接,实现数据传输和信息交换,形成可适应实际需要的自动化控制系统。 现场总线的实时性要求很高,需要实现响应时间短、传输速度快、巡回时 间短等性能。这些都是自动控制系统所必需的特点。只有确保以上几个性能, 才能安全、经济、实时地传递消息。现场总线要考虑现场装置的供电问题、传 输介质的经济性和可靠性,要防止磁干扰、气候环境、现场环境等等状况。及 时传递信息要求现场总线不要将信息过多地往返传递,应该及时处理消息,当 然这主要是针对高层次现场总线和智能仪表的。不过这确切地代表了现场总线 应有的发展趋势一信息处理现场化。实现这一目的需要现场总线将专用的微处 理器装置到传统的控制仪表里,让他们各自有数字计算能力和数字通信能力。 现场总线自7 0 年代发展至今,已经广泛推广。几种比较成熟的现场总线有 基金会现场总线f f ( f o u n d a t i o nf i e l d b u s ) 、l o n w o r k s 、c a n 、p r o f i b u s 、h a r t 等等。由于现场总线沟通了生产现场设备之间及其与更高控制管理层网络之间 的联系,并且可以减少电缆的使用量,简化系统安装,方便维护和管理,有效 地降低了系统投资和运行成本,导致了自动控制的一场革命。 7 武汉理工大学硕士学位论文 2 2c a n o p e n 协议概述 c a n 总线的全称为c o n t r o l l e r a r e an e t w o r k ,即控制器局域网。它是国际上 应用最广泛的现场总线之一。现场总线是2 0 世纪8 0 年代中期在国际上发展起 来的。c a n - b u s 是德国b o s c h 公司于1 9 8 3 年为汽车应用而开发的一种能有效支 持分布式控制的串口通信网络。最初,c a n 被设计作为汽车环境中的微控制器 通讯。因为当时消费者对汽车功能的要求越来越多,使得电子装置直接要连接 更多的信号线,于是他们设计了一种总线,可将由单片机为核心的电子控制单 元方便地构成一个微型控制系统。1 9 9 3 年,c a n 总线第一个成为国际现场总线 标准,故往后的c a n 总线协议都遵循i s o o s i 标准模型【8 】o c a n 总线的特性主要有:低成本、极高的总线利用率、通信速率可达 1 m b p s 、传输距离很远( 可达i o k m ) 、可靠的错误处理和检错机制、可智能重发 数据、产生错误时自动退出等等。c a n 协议废除了传统的站地址编码,而是对 通信数据块进行编码。这样就可以令网络内的节点个数不受理论上的限制。这 种方法还可以使节点可同时收到相同的数据,这恰恰是分布式控制系统里面需 要用到的功能。 与其他现场总线比较,c a n 总线具有通信效率高、容易实现、有突出的可 靠性及灵活性等优点,并且可以很好地适应恶劣的工作环境,可以完成各种周 期性和非周期性信号的数据传输任务,在实际运用中c a n 总线已经广泛应用于 各种检测和执行机构之间的数据通讯。c a n 总线相对于其他总线的优点决定了 其在分布式运动控制系统中也具有一定的适应性,因此在所有的现场总线里有 着很强的竞争力,并且在汽车工业、航空工业、工业控制、安全防护等领域得 到了广泛的应用。 c a n 总线的基本协议只提供了物理层和数据链路层,没有规定应用层,本 身并不完整,不能直接满足工业控制网络的组态和产品互连需求。而在实际应 用中,物理层和数据链路层都是由硬件实现。为了能使其构成完整的工业控制 现场总线系统,需要一个高层协议来定义c a n 报文中的1 1 2 9 位标识符和8 字 节数据的使用。为了实现这个目的,1 9 9 2 年,德国成立了“自动化c a n 用户和 制造商协会”( c i a ,c a ni n a u t o m a t i o n ) ,1 9 9 5 年c 认发布了完整的c a n o p e n 协议。c a n o p e n 原本是为运动控制设备网络而设计的。如今被欧洲很多车辆、 医疗设备、船载电子和公共交通等行业使用。 8 武汉理工大学硕士学位论文 可以看出,现实中当执行一些基于c a n 总线的分布式系统时,基本的第二 层服务有时无法满足用户的需求,如发送长于8 字节的数据块响应或确定数据 传送标识符,分配网络启动或监控节点。c a n o p e n 协议就是将c a n 网络中通 讯数据的组建和传输进行标准化,规范了通讯协议,给予用户很大的自由度, 允许用户随时添加自己需要的新功制9 】。见表2 1 。 表2 1c a n 总线高层协议 制定组织主要高层协议 c i ac a l 协议 c i a c a n o p e n 协议 d d 溺d e v e i c e n e t 协议 h o n e y w e l l s d s 协议 k v a s e r c a n k i n g d o m 协议 c a n o p e n 是一个基于c a n 串行总线的网络传输系统的应用层协议,定义 了o s i 模型中的数据链路层和部分物理层。c a n o p e n 假设控制器节点的硬件有 i s 0 1 1 8 9 8 规定的一个c a n 收发器和一个c a n 控制器。它是c i a 定义和维护 的。一个c a n o p e n 设备通常由以下三个部分构成:通讯接口和协议软件、对象 字典、应用。设备模型描述见图2 1 t l o 】: 图2 1c a n o p e n 总线设备模型 9 武汉理工大学硕士学位论文 通讯接口和协议软件提供通过总线传输和接收通讯对象( c a n 消息) 的服 务,它规定了统一格式的特定数据,自底层网络进行传输。对象字典作为通讯 对象和应用对象的接口,描述了通讯对象和设备所要用到的应用对象以及参数 等一系列数据集合。应用对象区与外界的实际环境紧密相关,定义的是一组设 备需要的控制机制、参变量等。 使用一种基于对象的方法来定义标准设备:每一个设备都表现为一组对象 的集合,能够被网络所访问,对设备的每一个操作都可以映射成一个或者多个 对象。因此,通过c a n 网络改变特定对象的属性值就可以很方便的改变设备的 配置和状态。 2 3c a n o p e n 协议的通讯模型 2 3 1 主从关系模型( m a s t e r s l a v e ) 网络中只有一个主节点,其他节点为从节点。根据协议提供数据报文的应 答和无应答两种类型的服务。主节点和从节点之间的关系是控制与被控制之间 的关系,如图2 2 。各个从节点之间不能进行通讯,只能通过主站或主节点进行 中转,实现间接通讯。在c a n o p e n 协议中,n m t ( 网络管理) 和l s s ( 层设 置) 是主从关系的。它只允许由主机发动的通讯,从机总是必须等待主机的通 讯请求【刀。 1 0 c a t i o n ( s ) o v 、o 1 n c l l c a 。 lll rrr e a nr e m o t ef r a m e 。i r m a t i o nr c s p o n 一 l 0 8 b y t e l 一 1 , wn 。霄 图2 2 主从关系模型 2 3 2 客户, 端b e 务器模型( c l i e n t s e r v e r ) 客户端朋艮务器模型( c l i e n t s e r v e r ) ,即客户端请求发送数据,服务器收到 消息后发送回复数据进行响应,如图2 3 。它被用来传递长度超过8 字节的数据, 要传输的原始数据需要被分段,并使用相同的标识符一段一段地发送。整个报 文的每个或一组段都由接收者确认,即点对点的通讯。在客户端f i e 务器传输上 的服务包括上传、下载和终止传输。 s e r v e rc 1 ;e n t j 0 s b y t e l o 、i 1 1 1 c a nd a t af r a m e1 o s p o r l s e c o n f i r m a l l 0 - - 8 b y t e | - l c a nd a t af r a m e2 图2 3 客户端r j e 务器模型 2 3 3 生产者 b 费者模型( p r o d u c e r c o n s u m e r ) 武汉理工大学硕士学位论文 生产者消费者模型完美地描述了c a n o p e n 的广播通讯能力。生产者消费 者模型允许的服务:发送报文( 推模式) 或请求报文( 拉模式) 。生产者将数据 “推”给消费者,而不用去管消费者的情况,如图2 4 。网络中的各节点都侦听发 送站点的报文,作为消费者,只是接收或拒绝接收报文,不会向生产者回复任 何消息。 r 图2 4 生产者消费者模型 2 4c a n o p e n 协议的通信对象 c a n o p e n 协议中有四种通信对象,分别为: 1 ) n m t 对象:网络管理,用于网络中主节点对从节点的监控和管理; 2 ) s d o - 服务数据对象,用于传输节点参数和访问节点的对象字典; 3 ) p d o :用于传输正常网络操作中实时数据; 4 ) 特殊功能对象:包括s y n c ,e m c y ,t i m e ,分别为同步、应急指示 和时间标记。 c a n o p e n 协议精炼、透明、便于理解,降低了驱动程序的开发难度。根据 1 2 武汉理工大学硕士学位论文 设备类型分类,c a n o p e n 由表2 2 的子协议模块组成。 表2 2 c a n o p e n 的子协议模块 d $ 4 0 1数字输入输出设备 d s 4 0 2伺服驱动设备 d $ 4 0 3操作和显示设备 d s 4 0 4传感器和调节器 d s 4 0 5可编程控制器 d $ 4 0 6位置编码器 d s 保留 2 4 1 网络管理对象( n m t ) 网络管理对象负责层管理,网络管理和i d 分配。网络管理对象包括启动 ( b o o t - u p ) 、节点保护( n o d eg u a r d ) 、寿命保护( l i f eg u a r d ) 和心跳报文 ( h e a r t b e a t ) 。服务和协议都是根据c a l 的l m t , n m t 和d b t 服务元素。这些 服务均基于主从模式。图2 5 为启动节点状态转换图【1 2 4 3 。 通 讯 初 始 化 图2 5c a n o p e n 启动节点状态转换图 n m t 报文格式和命令字在表2 3 和表2 4 : 表2 3n m t 报文格式 c o b i d b y t e ob y t e l 0 x 0 0 0 c s n o d e i d 1 3 武汉理工大学硕士学位论文 表2 4c s ( 命令字定义) 命令字含义 l启动节点 2停止节点 1 2 8进入预操作状态 1 2 9复位节点 1 3 0复位通讯 心跳报文可以周期性地将从节点的状态发送到主节点,从而使主节点可以 了解从节点的运行情况,对出现的异常情况可以做出反应,达到错误控制的目 的。节点保护是主节点周期性地发送请求对象到从节点,从节点收到这个对象 后发送自己的标识符和节点状态再发送一个回应对象,如果主节点在规定时间 内无法收到此回应对象,则认为通讯出错。 设备初始化结束,将自动进入预操作状态,发送启动消息。在节点检测中, n m t 主站可以检测从站个体的状态,主站通过发送远程帧的方式来实现此功 能。设备进入准备状态后,除了n m t 服务和节点保护服务外,将停止通讯。 2 4 2 服务数据对象( s d o ) 服务数据对象用于对对象字典中的项进行访问,此类报文可以在预操作状 态和正常运行状态下工作。服务数据对象通过索引和子索引,使设备能够访问 设备对象字典中的项,对其进行读写。 s d o 是确认服务类型,需要两个c o b 1 d 。即s d o 包含有请求发送,下 载上传,分段力口速传送,帧的数据字节长度,用于后续段的触发位五类内容。 表2 5s d o 对象数据字节的使用 i 字节0字节1 - 2字节3字节4 7i l s d o 命令字对象索引对象子索引数据值i 2 4 3 过程数据对象( p d o ) 过程数据对象用来传输实时数据,在正常工作状态下可以传送8 个数据字 节,即6 4 个状态位。过程数据对象将数据从一个生产者发送至一个或几个接受 者( 生产者消费者通信模式) 。p d o 的接收不需要消费者的确认。由生产者发 1 4 武汉理工大学硕士学位论文 送的p d o 为t p d o ,消费者接收的p d o 称为r p d o 。 p d o 通讯具有三种模式:同步通讯模式、事件触发模式以及查询模式。 p d o 有通讯参数和映射参数两种。它们分别保存在对象字典1 4 0 0 h 1 b f f h 之间,对象字典中每个节点可实现5 1 2 个生产者发送和消费者接收的数据字节。 通讯参数包括通讯模式、标识符、禁止时间以及优先级。映射参数用来定义p d o 中数据的映射关系,确定数据帧内容和通讯方式。映射参数的结构见表2 6 : 表2 6 映射参数结构 子索引记录中的域数据类型 o hp d o 中映射的对象数量u n s i g n 8 l h第一个映射的对象u n s i g n 3 2 2 h第二个映射的对象 u n s i g n 3 2 4 0 h第六十四个映射的对象u n s i g n 3 2 2 4 4 特殊功能对象 同步对象( s y n c ) ,用于在网络范围内进行任务同步。该对象提供基本的 网络时钟。 时间标记对象( t m e ) ,用于向网络设备提供通用参考时间,作为储存事 件类型的c m s 对象执行。 紧急对象( e m c y ) ,在设备发生内部错误的情况下发生,由生产者发送到 设备上,具备最高优先级。 ; 2 4 5 两种通讯模式的比较 在c a n o p e n 总线中,主要有两种通讯模式,p d o ( p r o c e s sd a t ao b j e c t ) 和 s d o ( s e r v i c ed a t ao b j e c t ) ,两者的比较如表2 7 【1 5 l : 表2 7 两种通讯模式的比较 p d o 通讯s d o 通讯 传输实时数据以索引或子索引的方式设置对象字典 传送的信息优先级高传送的信息优先级低 有同步和非同步传送模式仅有非同步传送模式 1 5 武汉理工大学硕士学位论文 续表2 7 两种通讯模式的比较 有周期和非周期传送模式仅有非周期传送模式 数据内容可由s d o 设置数据内容由c m s 协议决定 可在总线内任两个节点进行仅能在主节点和从节点之间进行 一次可传送0 - 8 个字节一次可传送任意多个字节 2 4 6 对象字典 对象字典( o b j e c td i r o z t o r y ) c a n o p e n 总线中的核心内容。对象字典是一 组有序的对象,包含了c a n o p e n 设备中的所有信息,每个对象通过1 6 位的索 引来寻址。通过对象字典可以对各种对象进行规范化和方便管理。c a n o p e n 网 络通过s d o 通讯对对象字典进行访问,这是通过s d o 的索引和子索引来完成 的。根据参数划分为只读、只写、读写三种不同的访问方式。通过访问对象字 典可以知道各节点的状态,也可以对网络中的通信模式进行定义,存储具体的 输入输出数据并与输入输出端口相接。所以每个节点的对象字典都包含了此设 备的状态参数和网络行为。对象字典结构见表2 8 : 表2 8 c a n o p e n 的对象字典结构 索引( 十六进制)对象 0 0 0 0 h 保留 0 0 0 1h 0 0 1 f h静态数据类型 0 0 2 0 h 0 0 3 f h复合数据类型 0 0 4 0 h 一0 0 5 f h制造厂商自定义数据类型 0 0 6 0 h 0 0 7 f h设备规范静态数据类型 0 0 8 0 h 0 0 9 f h设备规范复合数据类型 0 0 a o h o f f f h 保留 1 0 0 0 h 1 f f f h通讯规范区域 2 0 0 0 h 5 f f f h制造厂商自定义规范区域 6 0 0 0 h 9 f f f h标准化设备规范区域 a 0 0 0 h b f f f h标准化接口规范区域 c 0 0 0 h f f f f h保留 由表中可以看出,基本的数据类型存放在0 0 0 1 h 0 0 1 f h 的索引区域内,这 1 6 武汉理工大学硕士学位论文 些对象都是作为参考,不能读写。类型为标准的布尔型、整型、浮点数等。 1 0 0 0 h 1 f f f h 为通讯规范区域,它主要描述了对象字典的一般形式,通讯对象 以及通讯参数,这个协议适用于所有的c a n o p e n 设备【1 6 1 。其中必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肺炎病人用药护理
- 鸡腺病毒培训课件
- 宠物急救技能培训课件
- 港口电气安全培训
- Excel初级入门培训
- 政法大学 法律硕士
- 公司行政司机培训课件
- 财务人员防诈骗宣传
- 论文投稿发表
- 机床知识培训课件模板
- 辽宁大学《材料力学》2021-2022学年第一学期期末试卷
- 工业5G专网构筑新质生产力发展新优势
- 电线电缆生产常见质量问题改善与提升
- 《沥青基钾离子电池碳负极材料的构筑及性能研究》
- 新安全生产法图文培训
- “学生中心”下的化学高效教学策略
- 供水公司合同协议样本
- 商飞在线测评内容题
- 2024年食品安全抽检监测技能大比武理论考试题库(含答案)
- 069.糖尿病酮症酸中毒诊断和处理
- 杆杠各类题型复习-2024-2025学年浙教版九年级上册科学
评论
0/150
提交评论