(控制科学与工程专业论文)profibus总线的通信分析工具.pdf_第1页
(控制科学与工程专业论文)profibus总线的通信分析工具.pdf_第2页
(控制科学与工程专业论文)profibus总线的通信分析工具.pdf_第3页
(控制科学与工程专业论文)profibus总线的通信分析工具.pdf_第4页
(控制科学与工程专业论文)profibus总线的通信分析工具.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(控制科学与工程专业论文)profibus总线的通信分析工具.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 p r o fib u s 总线的通信分析工具 摘要 随着p r o f i b u s 的应用越来越广泛,p r o f i b u s 控制系统的安装、调试和 查错就变得越来越重要了。因此设计了基于p c 的p r o f i b u s 总线通信监测 仪,它对p r o f i b u s 系统的维护、监视、发现并维修故障具有重要意义,是 一个不可或缺的重要工具。它能对接入到p r o f i b u s 总线的各种设备进行在 线监测、实时分析和处理。 通过分析p r o f i b u s 通信监测仪实际应用中的功能要求,及研究 p r o f i b u s 通信协议,本文详细阐述了研发p r o f i b u s 监测仪的关键技术,包 括报文识别技术、报文数据解析技术、站点扫描技术以及从站测试技术; 根据监测仪应用中的需求,附加实现了报文数据储存及搜索功能、条件触 发启动功能、报文过滤显示功能等;监测仪的硬件电路上采用 a r 9 l s a m 7 s 6 4a r m 7 芯片+ a d m 2 4 8 6 芯片的方法实现了将r s 4 8 5 上的总 线数据转换为u s b 格式的数据;文中详细介绍了软件m o n i t o r 的设计方 法和实现流程,并在总线系统的使用中进行了验证。 课题的主要创新点有:( 1 ) 在报文识别方法上,采用依据总线各类报 文不同特征的方式识别报文,解决了产品不能1 5 滥1 m j 足总线高速传输的问题; ( 2 ) 在报文解析过程中,对报文具体数据部分进行了逐个二进制位的解 析,有利于获得系统各类具体信息;( 3 ) 实现了用p c 机代替主站对从站 进行澳蜥功能+ ,一苁而能够方便解决从站开发过程串的测试问题。 北京化工大学硕士学位论文 关键词:现场总线,p r o f i b u s ,通信监测仪,报文数据,活动站点 n a b s t r a c t d e s i g na n di m p l e m e n t a t i o no fp r o f i b u s c o m m u n i c a t i o nm o n i t o r a b s t r a c t a p p l y w i t ht h em o r ea n dm o r ee x t e n s i v e a p p l i c a t i o n o fp r o f i b u s , i n s t a l l a t i o n ,d e b u g g i n ga n dt r o u b l e s h o o t i n go f p r o f i b u s c o n t r o ls y s t e m b e c o m e sm o r ea n dm o r ei m p o r t a n t t h e r e f o r e ,p r o f i b u sc o m m u n i c a t i o n m o n i t o rb a s e do np ci sd e s i g n e d i th a sg r e a ts i g n i f i c a n c ef o rm a i n t e n a n c e , m o n i t o r i n g ,d e t e c ta n dr e p a i r f a u l t so fp r o f i b u s s y s t e m s o i ti sa n i n d i s p e n s a b l ea n di m p o r t a n tt 0 0 1 i t c a np r o v i d et h eo n - l i n em o n i t o r i n g f u n c t i o n ,t h er e a l t i m ea n a l y s i sf u n c t i o na n dt h er e a l t i m ep r o c e s s i n gf u n c t i o n f o rav a r i e t yo fd e v i c e sw h i c ha r ea c c e s s e dt op r o f i b u ss y s t e m t h r o u g ha n a l y z i n g t h ef u n c t i o n a l r e q u i r e m e n t s f o rp r o f i b u s c o m m u n i c a t i o n sm o n i t o ri nt h ep r a c t i c a la p p l i c a t i o n ,a n dr e s e a r c hp r o f i b u s c o m m u n i c a t i o np r o t o c o l ,t h i s p a p e rd e s c r i b e st h ek e yt e c h n o l o g i e s i nt h e d e v e l o p m e n t o fp r o f i b u s m o n i t o r , i n c l u d i n gt e l e g r a m i d e n t i f i c a t i o n t e c h n o l o g y , t e l e g r a md a t aa n a l y s i st e c h n i q u e s ,s t a t i o ns c a n n i n gt e c h n o l o g y , a n dt e s t i n gt e c h n i q u e sf o rs l a v es t a t i o n ;a c c o r d i n gt ot h en e e d si nt h e a p p l i c a t i o no fm o n i t o r , i ta d d i t i o n a la c h i e v e dt e l e g r a md a t as t o r a g ea n ds e a r c h f u n e t i o n ;c - o r i d i t i o nt r i g g e r i n gf u i a - e t i o n ;t e l e g r a mf i l t e f i r i gd i s p l a 3 7 f u n c t i o n ,e t c ; l 北京化工大学硕士学位论文 t h eh a r d w a r ec i r c u i tu s e da t 91s a m 7s 6 4a r m 7c h i p + a d m 2 4 86c h i pt o r e a l i z et h ec o n v e r s i o nf r o mr s 4 8 5b u sd a t at ou s bd a t a ;t h ep a p e rd e s c r i b e s t h ed e s i g no ft h es o f t w a r ea n dt h ei m p l e m e n t a t i o no fe a c hp r o c e s si nd e t a i l , a n dt h em o n i t o rh a sb e e nv e r i f i e di nt h eu s eo fp r o f i b u ss y s t e m t h e r ew e r et h r e ep o i n t so fi n n o v a t i o n :( 1 ) i nt h et e l e g r a mi d e n t i f i c a t i o n p r o c e s s ,u s i n gt h em e t h o dt h a td i f f e r e n tt y p et e l e g r a mh a sd i f f e r e n tf e a t u r e st o i d e n t i f i c a t et e l e g r a m ,t h i sm e t h o ds o l v e st h ep r o b l e mt h a tt h ep r e v i o u s p r o d u c t s c a nn o tm e e tt h eh i g h s p e e dt r a n s m i s s i o ni nt h eb u s ;( 2 ) i nt h e t e l e g r a ma n a l y s i sp r o c e s s ,p r o v i d et h ea n a l yb yb i t sf o rt e l e g r a ms p e c i f i cd a t a , t h i sc a ng e tt h es p e c i f i ci n f o r m a t i o na b o u tt h es y s t e me a s i l y ;( 3 ) i m p l e m e n t a t e t h et e s tf u n c t i o nf o rs l a v et h r o u g hu s i n gp ci n s t e a do fm a s t e r , s ot h i sf u n c t i o n c a ns l o v et h es l a v et e s tp r o b l e mi nt h ed e v e l o p m e n tp r o c e s se a s i l y k e yw o r d s :f i e l db u s ,p r o f i b u s ,c o m m u n i c a t i o nm o n i t o r , t e l e g r a m d a t a ,a c t i v es t a t i o n 北京化工大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不含任何其他个人或集体己经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 作者签名:趣兰日期:兰竺堡垒堇目兰旦 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北 京化工大学。学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编 学位论文。 保密论文注释:本学位论文属于保密范围,在土年解密后适用 本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授 权书。 作者签名j 一= 叁兰一:= 且期二 导师签名:日期: 第一章绪论 1 1 现场总线概述 第一章绪论 现场总线是过程控制技术、仪表技术以及计算机网络技术等紧密结合的产物,它 解决了数字信号的兼容性问题,因此一出现便显示出了强大的生命力和发展潜能。 i e c 6 1 1 5 8 中给现场总线下的定义是:安装在制造或过程区域的现场装置与控制室内的 自动控制装置之间的数字式的、双向、多点通信的数据总线称为现场总线uj 。上述定 义中,第一指出了它的主要使用场合,即制造业自动化、批量流程控制、过程控制、 楼宇自动化等领域;第二指出了总线系统中的主要角色是现场的自动装置、控制室内 的自动控制装置,当然现场设备或装置是智能化的;第三指出了它是一种数据总线技 术,即一种通信协议。 在现场总线技术出现以后,将基于现场总线的全数字式的控制系统称为现场总线 控制系统( f c s ,f i e l d b u s c o n t r o ls y s t e m ) 。f c s 是指工业自动控制领域中的一种计算 机局域网,以具有高度智能化的现场仪表和设备为基础,在现场使用中实现彻底的分 散,并将现场中分散的测量点、控制设备点作为网络节点,以总线的形式把这些点连 接起来,形成现场总线网络【2 l 。简单来说,f c s 包括控制部分( 主站) 、测量部分( 从 站) 、软件( 组态、管理等) 、网络的连接及集成设备。现场总线的结构特点主要有: 基础性、灵活性、分散性;技术特点有:开放性、交互性、自治性p j 。 1 2p r o f i b u s 技术发展现状 p r o f i b u s 是一种国际性的开放式的现场总线标准,它实际上是一组协议与应用 规约的集合,其核心是指数据链路层上使用统一的通信协议一基于t o k e np a s s i n g 的 主从轮询协议,而在其下的物理层和其上的应用层则使用不同的应用规约。p r o f i b u s 支持主从方式、纯主方式、多主多从三种通信方式,可方便地构成集中式、集散式和 分布式控制系统【4 】。在p r o f i b u s 系统中,主站对总线具有控制权,主站间通过传递令 牌来传递对总线的控制权,令牌传递程序保证每个主站在一个确切规定的时间内得到 总线控制权。主站与从站之间采用主从方式,从站只能被动接收报文,获得当前处于 总线控制状态的主站发送的信息【5 j 。 1 2 1p r o fib u s 的分类 根据e n 5 0 1 7 0 标准,p r o f i b u s 有几种改进型,分别用于不同的领域。 北京化工大学硕士学位论文 ( 1 ) p r o f i b u s d p 用于数据链路层的高速数据传送。主站周期地读取从站的输 入信息并周期地向从站发送输出信息。除周期性用户数据传输外,p r o f i b u s d p 还 提供了智能化设备所需的非周期性通信功能,即组态、诊断和报警处理等。 p r o f i b u s d p 是在目前在全球应用最为广泛的总线系统。p r o f i b u s d p 是一种由 主站、从站( m a s t e r s l a v e ) 构成的总线系统,主站功能由控制系统中的主控制器来实现。 主站在完成自身功能的同时,通过循环的以及非循环的报文与控制系统中的各个从站 进行通讯。它的实时性远高于其它类型局域网,因此非常适用于工业现场,一般所说 的p r o f i b u s 泛指p r o f i b u s d p 。d p 内部通信中可分为循环通信v 0 、非循环通信 v 1 、运动控制相关v 2 通信扩展三个部分。与主要应用范围在运动精密控制的v 2 通 信相比,v o v i 相关产品在当前市场上要广泛的多 6 1 。 ( 2 ) p r o f i b u s p a 是专为过程自动化设计的,它通过段耦合器或链接器接入d p 网络,p a 、d p 的区别在:物理层使用了不同的数据传输速率和编码方式,而f d l 层 的协议是一样的【7 j 。也就是说,p a 是d p 的一种演变,它的出现使得p r o f i b u s 总 线也可用于本安领域,同时又与d p 总线系统保持着通用性。 ( 3 ) p r o f i b u s f m s 用于车间级监控网络,提供大量的通信服务,完成中等速度 的循环和非循环通讯任务,采用令牌结构、实时多主类型的网络【8 l 。由于已经和市场 需求逐渐脱离,这种通信协议基本上已经处于无人问津的状态。 近年来,在市场需求的推动下,p r o f i b u s 总线技术的应用得到了迅速的推广。 p r o f i b u s 总线在全球有1 3 0 多万个应用实例,安装节点超过了l3 0 0 万个,这充分 表明了p r o f i b u s 技术的成熟性、实用性和可靠性。 1 2 2p r o f i b u s 的协议结构 p r o f i b u s 利用了现有国际标准,它的协议结构以国际标准o s i 系统互连模型为 基础,如图1 2 所示,因此符合了开放性和标准化的要求【8 1 。 2 第一章绪论 0 s i 模型 图1 1p r o f i b u s 的协议结构 f i g 1 - 1 t h ep r o t o c o ls t r u c t u r eo fp r o f i b u s 从图中可以看出,p r o f i b u s 遵循了o s i 通信栈完整地由顶至底的功能,但 p r o f i b u s 的通信栈中并没有出现o s i 的3 - 6 层,而是将这些中间层的必要功能简化 后,放到了p r o f i b u s 的数据链路层和应用层中,因此p r o f i b u s 只使用了i s o o s i 协议结构中的第一层、第二层、第七层,另外再加上一个用户层( p r o f i l e ,即行规) 。 这样做的优点是大大简化了协议结构,提高了数据传输效率,符合工业领域中高实时 性、小数据量的特点要求。 f m s 、d p 、p a 的数据链路层是完全一样的。它们的数据通信基本协议相同,因 此可以存在于同一网络中;所不同的是,d p 、f m s 的物理层均使用的是r s 4 8 5 ,它 们可使用同一根电缆进行相互间的通信,但是p a 的物理层使用的是m b p ( m a n c h e s t e r c o d eb u sp o w e r e d ) 传输技术,因此当d p 和p a 通信时需加接网关p j 。 1 3 课题来源 本课题来自中国现场总线p r o f i b u s 技术资格中,c , ( c p c c ) 与北京鼎实创新科技 有限公司。该公司多年来一直从事现场总线产品的研究与生产工作,在p r o f i b u s 总线 领域的研究水平一直处于国内领先地位,除了自主开发出大量p r o f i b u s 总线产品,还 致力于p r o f i b u s 技术在国内的推广。在开发、应用以及现场调试p r o f i b u s 总线产品的 过程中,深切体会到了总线监听工具的巨大作用,鉴于目前这一领域的市场均由外商 控制,作为中国p r o f i b u s 总线领域的领头企业,没有自己的监听工具是不现实不经济 的。因此公司决定自主研发p r o f i b u s 总线监测仪,以满足国内巨大的市场需求,同时 也能推动p r o f i b u s 技术在中国的应用。 一就冒内现今p r o f t b u s 的应用情况而言,p r o f i b u s 产品已经在工业领域占领了很 大的份额,并且已经有不少国内企业可以自行生产p r o 舫u s 产品。因此,p r o f i b u s 总 侣 0 佑佑q 0 q n 层 层 层层层层层层 户 用 示话输络路理 用 应 表会传网键物 据 一 数 一 l 北京化工大学硕士学位论文 线监听工具的开发便是迫在眉睫的事了。对于监测仪这方面的技术,国内尚处于起步 阶段,没有多少资料可供参考,从而给此次课题带来了较大的开发难度。 1 4 课题主要任务 课题的主要任务是研发p r o f i b u s 通信监测仪。包括: 一、分析研究并掌握p r o f i b u s 通信协议以及报文具体格式; 二、确定监测仪的硬件解决方案,采用芯片a t m e l a t 9 1 s a m 7 s 6 4 内核,其内置u s b 控制器,芯片内部集成了u s b 2 0 设备端口,以及丰富的片内外设资源,解决了总线 上r s 4 8 5 接口与p c 上u s b 接口之间的转换问题; 三、在v c 6 0 开发环境下,编写监测仪的软件程序,软件上实现u s b 通讯、报文识 别、报文解析、站点轮询以及从站测试等主功能,并根据使用需求实现报文触发、过 滤、保存、搜索等附加功能; 四、构建小型p r o f i b u s 设备测试系统,测试监测仪的各项功能,验证开发的成功: 五、进一步探索p r o f i b u s 监测仪的可改进性,增强监测仪的实用性和可靠性。 1 5 课题实现的意义 随着p r o f i b u s 的应用越来越广泛,p r o f i b u s 系统的调试、监测、维护等在工业系 统中也变得越来越重要。基于这样的市场需求,本次课题选择开发p r o f i b u s 监测仪。 p r o f i b u s 监测仪实际上是一个网络协议分析器,同产品开发工具一样,它是一种重要 的维护、试车、发现故障的工具。可以说,只要在工业系统中使用了p r o f i b u s 总线, 那这一工具就必不可少。 在这一领域,一直都是由国外厂商把持着市场,国内厂家一方面缺少核心的技术, 另一方面也缺少自己研发产品的实力,因此在使用p m f i b u s 总线时,为了保障生产效 率和安全,常常耗费大量资金去购买国外的监听工具,并需花费大量人力、财力去培 训员工,使得厂家自己的产品成本大大增加。这不但会使许多中小厂商在竞争中失去 优势,同时也大大阻碍了p r o f i b u s 总线技术的推广应用。 本次设计的p r o f i b u s 监测仪在实现了监听工具的基本功能后,从方便使用者的角 度增添了许多实用的附加功能,设计目标是让一个基本不懂p r o f i b u s 协议的使用者也 能够准确了解总线上的工作情况。p r o f i b u s 总线监测仪的研发,是我国对国际先进技 术的研究与消化,可以大大推进p r o f i b u s 总线在我国工业领域的应用,提高工业领域 的控制水平。一 4 第一章绪论 1 6 小结 本章概括介绍了p r o f i b u s 现场总线的基本知识。阐述了课题的来源、行业发展、 具体任务、研究意义等。 第二章p r o f i b u s 通信协议介绍 第二章p r o f ib u s 通信协议介绍 2 1 数据链路层协议 由o s i 参考模型的功能划分可知,一个网络互联系统的第二层数据链路层的 任务是建立、维持、拆除链路的连接,实现无差错传输。它应该在点到点、点到 多点的链路上保证报文的可靠传递,同时负责差错控制,把可能出现错误的实际 传输链路变成一个让上层觉得无差错的链路。数据链路层的功能是评价一个网络 通信系统性能的重要方面f l2 1 。 对p r o f i b u s 总线来说,只使用了物理层、数据链路层和应用层,因此数据链路 层的性能变得尤为重要。数据链路层在总线中被称为f d l ( f i e l dd a t al i n k ) ,包 括了介质访问控制m a c 子层和现场总线链路控制子层f l c 。两者共同完成承接上 层应用层任务,下达给物理层;承接下层物理层的数据,上传给应用层。 p r o f i b u s 的m a c 子层控制了物理传输层,其协议控制效率的高低,直接决定 了p r o f i b u s 系统的实时性能,这是评价一个工业系统性能的决定性指标,下文中将 详细介绍p r o f i b u s 的m a c 层协议。 2 1 1t o k e n p a s s in g 原理 p r o f i b u s 的m a c 层使用的是基于t o k e np a s s i n g 的主从轮询协议。 p r o f i b u s 中令牌类总线协议的最大特点是总线上的各站站点地位不等,分为主、 从站点( m a s t e r - s l a v e ) 两种。主站统一管理着各个从站分时接入总线的权利,而 从站不能自由接入总线中,通过这种方式可使总线上传输冲突得以避免。这是不 同于普通以太网的地方,在以太网中各站点接入总线的权利是平等、自治的,属 于p e e r - t o p e e r 的方式,即系统中没有一个协调者或管理者来分配、管理各站的接 入权利【1 3 】。 基于t o k e n 的主从轮询协议保证每个从站都可以在一个事先规定的最_passing 大时间间隔内获得接入总线进行通信的权利,这一特征对于工业控制中的通信系 统至关重要。 在总线网络中的各设备,其物理地位相等,都被赋予了统一的逻辑地址( f d l 地址) ,但它们按照功能、本身智能化程度的特征可分为主站( m a s t e r ) 、从站( s l a v e ) 两种类型。 - ( 1 ) m a s t e r :由p c 、p l c 担任,负责网络的管理和数据的收集处理、反馈,以 及与上层进行数据联系等。d p 中定义了两类主站:一类主站负责与从站间的用户 7 北京化工大学硕士学位论文 数据交换任务;二类主站负责对系统的管理、监控、初始化参数等,也可在短时 间内承担控制从站的任务。在早期的p r o f i b u s 系统中,两类主站位于不同的机器上, 而今年已将两者合在一个机器上,有不同的软件完成两者的任务。 ( 2 ) s l a v 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 方式。这种传输方式包括了两个环节:主站间的令牌传递和主 站与所属从站间的分时轮询传输。这样可保证总线上不会有多于两个点同时使用 总线,可避免冲突的发生。相对于以太网的c s m a 协议各点可随机占有总线,这 种时间上的预先确定性对工业控制网络非常重型1 4 】。 这种协议的缺点是逻辑环的管理比较复杂,如对令牌丢失、某一主站进入或退 出等情况都需要进行处理,会消耗一定的资源。同时在网络负载较低时,因等待 令牌而产生的附加延迟,会降低通信效率。 但总体来说,这种复合机制综合考虑了系统负载、响应时间、可靠性等几方面 的综合要求,还是非常适合工业自动化设备网络和现场总线通信系统的要求。因 此,p r o f i b u s 的m a c 层协议在主站间使用t o k e n p a s s i n g 机制,主从站间使用 c l i e n t s e r v e r 方式的轮询进制【l 副。 2 1 2p r o f ib u s 的主站 由上述介绍可知,总线上主站在系统运行中担任着两个角色:数据的交换中心 和网络的运行管理两方面的工作。 p r o f i b u s 的主站能主动送出输出数据,即输出数据给从站且由从站得到输 入系统的数据,这种主从站间的数据交换通信占据了网络流量的绝大部分,其中 又可分为周期性轮询和非周期性数据交换。 在p r o f i b u s d p 中定义了两类主站:c l a s s l 和c l a s s 2 。c l a s s l 主站负责与从 站间的用户数据交换任务。c l a s s 2 主站负责对系统的管理、监控、初始化总线参数 等,也可在短时间内承担控制从站的任务。在早期的p r o f i b u s 系统中,两类主 站位于不同的机器上,而近年的发展趋势是两者位于同一机器上,由软件完成两 者的任务l l 训。 第二章p r o f i b u s 通信协议介绍 两类主站间除了令牌的通信外,还有一些控制信息的交换。如首先将存在 c l a s s l 主站上的初始化数据送给c l a s s 2 主站,或将主站l 上系统运行状态数据送 给主站2 ,从而由在主站2 上运行的监控软件将其实时地显示出来。主站c l a s s l 、 c l a s s 2 间的数据通信都是由主站2 发起请求,其服务节点s a p 固定为0 x 3 6 ,且数 据前要求加上功能编号和标识符。 2 1 3 报文帧的格式和定义 数据链路层上传输的常见报文帧结构只有四种类型,s d l 、s d 2 、s d 3 ( 基本 已不再使用) 、s d 4 、s c ,分别如下所述: s d l :无数据域,报文长度为6 个字节,主站查询在线从站时使用。 s d ld as af cf c s e d o x l 0x xx xx xx x0 x 1 6 s d 2 :数据长度可变,参数域的配置多且功能强大,是p r o f i b u s 应用最多的一 种帧结构,也是结构最复杂的。 s d 2l el e rs dd as a f cd uf c se d 0 x 6 8x xx x0 x 6 8x xx x x xxx x0 x 1 6 s d 4 :t o k e n 令牌帧,报文长度为3 个字节。 s d 4 d as a 0 x d c x xx x s c :仅用于对请求服务的简短回复。如从站在数据没有准备好时,告知请求 方自己无数据上传。 以上帧结构中的各个域中负号定义如表2 1 所示: 表2 1 报文帧结构中的符号定义 符号 定义 s d起始符。 l e 包括d a 、s a 、f c 、d s a p 、s s a p 、d u 在内的所有数据的长度。 l e r l e 的重复。 d a目的地址,报文帧的接受方地址。 s a 源地址,报文帧的发起者地址。 f c 功能码,用于标识本报文帧的类型。 d u数据域,用于放置传输的用户数据。 f c s对帧中各域数据的代数和,由a s i c 自动计算给出。 e d 结束符,标志着本报文帧的结束。固定为0 x 1 6 。 9 北京化工大学硕士学位论文 下面分别对各数据域的具体定义逐一介绍。 1 l e ( l e r ) l e 仅出现在s d 2 报文帧中,标示d a 、s a 、f c 及d u 四个数据域的长度, 代表着一个变长帧中数据信息的长度。因为p r o f i b u s 规定了最长报文帧的长度是 2 5 5 b ,所以l e 的最大值应为最长报文帧长度减去六个控制域的长度,即 2 5 5 b 6 b = 2 4 9 b ,最小为l b 。因此4 0 ) f r e a d s t a t = r e a d f i l e ( r e a d h a n d l e ,i p b u f f e r ,d w l e n g t h ,& d w b y t e s r e a d ,& r e a do s ( n p t t y l n f o ) ) ; 读数据: i f ( ! f r e a d s t a t ) i f ( o e t l a s t e r r o r 0 一e r r o r i op e n d i n g ) w h i l e ( ! g e t o v e r l a p p e d r e s u l t ( h c o m ,& r e a d _ o s ( n p t t y l n f o ) ,d w b y t e s r e a d ,t r u e ) ) d w e r r o r = g e t l a s t e r r o r 0 ; i f ( d w e r r o r = = e r r o ri o _ i n c o m p l e t e ) c o n t i n u e ;缓冲区数据没有读完,继续; :p o s t m e s s a g c ( ( h w n d ) h s e n d w n d ,w m _ n o t i f y p r o c e s s ,0 ,0 ) ;通知主线程,串1 2 1 收到数据; ) 使用异步通信时,需要在调用函数c r e a r e f i l e ( ) 时选择参数 f i l e f l a g o v e r l a p p e d ,在调用函数r e a d f i l e ( ) 时也必须使用 l p o v e r l a p p e d 结构。否则,函数会不正确地报告读操作是否已完成【4 2 1 。 读入的数据储存在接收缓冲区,定时取出后进行数据处理,取出数据的同时 清空缓冲区,为后续进入的数据提供存储空间。 u s b 设备读取数据部分的程序流程图如图4 2 所示: 图4 - 2u s b 读取数据流程图 f i g 4 - 1h o wo f r e a dd a t au s i n gu s b 3 7 北京化工大学硕士学位论文 4 3 报文识别 将总线上的数据读取到p c 机后,需要对收到的数据进行分帧,也就是说需对 收到的大量报文数据进行报文识别,此前的报文识别方法是根据总线的时序关系 来切分数据识别报文。为了保证报文在总线上的正确传输,p r o f i b u s 对报文帧的时 序关系做了严格的规定,定义了1 2 个参数以限定及保证帧间隔时间、延迟时间、 可允许的最大等待时间等。总线上在发出每一个报文帧前,须有一个同步期t s y n , 即在发送完一条完整的报文后会间隔一段时间再发送下一条报文,其长度固定为 3 3 t b i t 时间( t b i t 表示传输一个b i t 所用时间,当系统的传输率为1 5 m b p s 时, l t b i t = 1 1 5 m b p s = 0 6 6 7 m s ) 3 4 1 。此前的报文识别方法一般是通过计时器计时找出 这个3 3 t b i t 的时间间隔,从而将数据切分为一条条的报文。这一做法的缺点在于 一旦总线上的数据传输速度加快,每两条报文间的时间间隔会变得很小,而v c 中 的定时器根本无法精确测算这段时间,因此这一方法只能适用于总线传输速度较 低的情况。对于现在总线的高速传输速度,这一报文识别方法并不适用。 此次设计的报文识别方法可解决这一问题,它是根据总线不同报文的不同特征 对读取的数据进行切分,进而形成一条条的报文。在第二章中曾介绍过目前 p r o f i b u s 总线上传输的报文帧结构仅有四种类型,即s d l 报文、s d 2 报文、s d 4 报文、s c 报文,而这四种报文都有着固定的首字节和末字节,因此可以通过对收 到的报文数据依次进行首字节、末字节以及中间特定字节确认,从而将一条条报 文切分出来。 具体做法为:从u s b 口读出的数据取第一字节,判断是否为s d l ( 或s d 2 、 s d 4 、s c ) 报文的报头部分,如果是则继续判断后续字节是否符合这一类型报文 特征,完全符合时即为一条完整报文,否则继续取下一字节重复上一过程。 举例来说,如取出一字节为1 0 h ,对照四种报文类型的报头部分,应是s d l 类报文的报头,根据这类报文的特征,应判断在此字节后的第5 个字节数据( 即 报尾) 是否为1 6 h ,如果是则可初步判断这是一条s d l 类报文:接下来开始判断 此条报文的内部结构数据是否符合p r o f i b u s 协议,具体来说,即报头后的第一个字 节( d a ) 、第二个字节( s a ) 数据是否都小于8 0 h ,第四个字节( f c s ) 是否等 于d a + s a + f c ( 报头后的第三个字节) ,如果这两点都符合,则这条报文就是一条 完整正确的s d l 报文。s d 2 、s d 4 、s c 类型报文的识别过程类似,识别报文的软 第四章p r o f i b u s 通信监测仪的软件设计 件流程图如下图4 - 3 所示: 图4 3 报文识别的程序流程图 f i g 4 - 3f l o wo ft e l e g r a mi d e n t i f i c a t i o np r o g r a m 四种主要报文类型的特征如下: s d ld as af cf c se d s d 2l el e rs d 2d as a f cd uf c se d s d 4d as a s c ( e 5 h ) 其中:s d i = i o h ,s d 2 = 6 8 h ,s d 3 = a 2 h ,s d 4 = d c h ,e d = 1 6 h ,d a 目标地址, s a 源地址,f c 功能码,f c s 校验码,f c s = d a + s a + f c ,l e = l e r = ( d a + s a + f c + d u ) 的字段长度。 3 9 北京化工大学硕士学位论文 识别结果如图4 4 所示: 縻 匿 6 8 3 3 3 3 6 8 0 0 6 8 3 3 3 3 6 8 01 6 8 0 5 0 5 6 8 8 3 d c 0 1 0 1 1 0 0 2 0 1 4 9 4 c 6 8 3 3 3 3 6 8 0 0 6 8 3 3 3 3 6 8 01 6 8 0 s 0 5 6 8 8 3 d c 0 1 0 1 1 0 0 3 0 1 4 9 4 d 6 8 3 3 3 3 6 8 0 0 6 8 3 3 3 3 6 8 0l 6 8 0 5 0 5 6 8 8 3 4 4 报文解析 015 d 0 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论