基于CAN总线的测控网络数据采集与监视控制(SCADA)系统_第1页
基于CAN总线的测控网络数据采集与监视控制(SCADA)系统_第2页
基于CAN总线的测控网络数据采集与监视控制(SCADA)系统_第3页
基于CAN总线的测控网络数据采集与监视控制(SCADA)系统_第4页
基于CAN总线的测控网络数据采集与监视控制(SCADA)系统_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)基于CAN的工业监控通讯THESUPERVISE-CONTROLANDCOMMUNICATIONBASEDONCAN毕业设计(论文)任务书班级2005级机械1班学生姓名某某某学号发题日期:2009年2月23日完成日期:6月12日题目基于CAN的工业监控通讯 1、本论文的目的、意义:数据采集与监视控制(SCADA)系统,是以计算机为基础的生产过程监控与调度自动化系统。SCADA系统的监控中心和远动终端(RTU)需要进行数据传输和信息交换,CAN总线作为国际标准现场总线之一,也越来越多地应用在工业控制领域。利用CAN接口可以向CAN总线接收/发送数据,实现对CAN智能节点的监测与控制。2、学生应完成的任务:(1)了解CAN总线的工作原理和相关的技术和协议。自行查阅有关资料,查阅的参考文献不少于30篇,其中外文期刊资料不少于5篇。(2)熟悉并运用iCAN实验教学开发平台,实现单节点数据自发自收和双方数据收发等相关通讯实验。(3)基于CAN总线技术,选用合适的iCAN功能模块,构建CAN现场总线系统。(4)用VC++程序设计语言编制上位机程序,连接CAN总线并实现控制功能;调试、测试程序,以验证其功能。(5)撰写毕业设计说明书(论文)不少于二万八千字。毕业论文要介绍CAN技术规范及协议、构成iCAN网络各部件、上位机软件的开发、原理及流程图、开发技巧和难点的解决等。3、论文各部分内容及时间分配:(共15周)第一部分 查询参考文献,资料,翻译外文资料。(2周)第二部分 毕业实习、调研。(1周)第三部分 根据iCAN实验,了解和熟悉iCAN通信机理。(3周)第四部分 编写程序源代码,完成通信方案的详细设计。(5周)第五部分 调试、测试程序,整理文档资料,对关键程序行的注释。(2周)第六部分 撰写毕业论文(设计说明书)。(1周)评阅及答辩 (1周)备注指导教师: 年月日审批人: 年月日摘要数据采集与监视控制(SCADA)系统,是以计算机为基础的生产过程监控与调度自动化系统。SCADA系统的监控中心和远动终端(RTU)需要进行数据传输和信息交换,CAN总线作为国际标准现场总线之一,并且逐渐占据总线领导地位,由于具有可靠性高、成本低、容易实现、协议完全透明、可扩展性强、组建系统非常灵活等优点,在现场总线的实际工程应用中占据了较大的份额,并且CAN总线已经广泛应用于汽车电子、工业控制、小区智能监控等领域。利用CAN接口可以向CAN总线接收/发送数据,实现对CAN智能节点的监测与控制。iCAN系列功能模块具有CAN-bus通信接口,符合CAN2.0B协议规范。iCAN功能模块用在基于CAN总线的DCS/SCADA中,采集工业现场的信号并传送到主机或者控制远端设备,实现对数据的发送和接收。本文通过iCAN实验教学平台,对CAN现场总线网络的构成和通信协议进行分析研究,根据CAN总线的技术规范和相关协议,并结合设计系统的要求制定了基于CAN2.0B协议的面向应用层的CAN总线网络通信协议,该通信协议采用标准帧格式;基于iCAN实验教学平台,研究了单节点数据自发自收和双方数据收发的通信实验,并实现其通讯的功能;为了使CAN系统更好地为客户和技术人员所用,增强其可用性,本文将计算机PC作为主节点,选用数字量与模拟量输入输出模块,开发了基于VC++上位机节点界面控制程序,该界面人机交互能力强,方便用户对底层运行设备的监测与控制。总之,本文提出的iCAN现场总线控制网络功能完备,可以根据实际的控制功能需要选用相应的执行器件来进行扩展,同时兼容性强、实时性好、抗干扰能力强以及通信灵活。利用该网络实现的基于CAN总线的测控网络既适用于数据采集,又适用于控制场合,可方便的构成现场总线多主从分散型测控网络系统。关键词:CAN总线远程监测与控制MFC主节点程序通信协议iCAN模块AbstractSupervisoryControlAndDataAcquisition(SCADA)systemisacomputer-basedproductionprocessmonitoringandautomaticdispatchingsystem.ThesupervisorycenterandRemoteTerminalUnit(RTU)ofSCADAsystemneedfordatatransferandinformationexchange.CAN-busisrecognizedtobeoneofthemostdevelopmentalFieldbusintheworldandisbecomingtheleaderPattern.Withthefeaturesofhighreliability,lowcost,easyrealization,thoroughtransparencyprotocol,strongexpansibilityandflexibilityofsystemsettingup,ithasoccupiedtheleadingpositioninthemarketandiswidelyusedinautomotiveelectronindustrycontrol,andintellectualizedcommunityandsoon.CANinterfacecanbeusedtotheCANbustoreceive/senddatatomonitorandcontroltheCANintelligentnode.iCANseriesofmodulesaccordingwithCAN2.0BprotocolnormpossessCAN-buscommunicationinterface.iCANfunctionmoduleisusedintheDCS/SCADAbasedonCANbus,collectingthesignalofindustrialsceneandsendingittothehostorremotecontrolequipmenttoachievethefunctionofsendingandreceivingdata.ThroughtheiCANexperimentalteachingplatform,thepaperanalysesthestructureoftheCAN-busnetworkofsceneandthecommunicationprotocol.Thenaccordingtotherequiringofthesystemdesign,theauthorconstitutedthecommunicationprotocolofCANbuswhichisbasedonCAN2.0B-orientedapplicationlayer─astandardframeformat;BasingontheiCANexperimentalteachingplatform,thepaperanalysesthedatacommunicationexperimentthatthedataofsinglenodetosendandreceivebyitselfandthetwosidestosendandreceive,andachievedtheircommunicationfunctions;InordertomakeCANsystembetterusedforthecustomersandthetechnicalstaffandenhanceitsavailability,theauthorchoosesdigitalandanaloginputandoutputmoduleandseesthePCasthemainnode,andthenempoldersthecontrolproceduresbasedonVC++whichisbetterinhuman-computerinteractioncapability,moreconveniencetomonitorandcontrolthebottomequipments.Inshort,theiCANField-busnetworkinthispaperownsafullyfunctionalcontrolnetwork,strongexpansion(accordingtotheactuallyfunctionneedtochoosethecorrespondingimplementationofdevicestocarryoutexpansion),strongcompatibility,highreal-time,stronganti-interferencecapabilityandflexiblecommunications.Thenetworkissuitableforbothdataacquisitionandcontrolsituation,asaresult,thedistributedcontrolnetworkwithmulti-mastenodesandmulti-slavenodescanbeeasilyrealized.keywords:CANbusRemotesuperviseandcontrolPCnodeproceduresCommunicationprotocoliCANmodule目录第1章绪论 11.1课题背景 11.2现场总线控制系统的特点 21.2.1现场总线技术特点 21.2.2现场总线的几种类型 21.3CAN总线历史的发展及国内外的现状 41.4本文研究的主要内容和意义 6第2章CAN局域网技术及其规范 82.1CAN总线的特点及与其它总线的比较 82.2CAN技术规范 92.2.1CAN的基本概念 92.2.2CAN的报文传送与通信帧结构 102.2.3位定时与同步 132.2.4CAN报文滤波技术 152.2.5CAN通信错误及处理 152.3通信协议的编制 172.3.1CAN2.0B协议 172.3.2应用层通信协议 182.3.3自定义应用层协议 19第3章基于CAN监控系统的整体设计 213.1监控网络的结构 213.1.1远程监控系统的层次结构 213.1.2远程监控系统的监控模式 213.2远程监控中的器件介绍 223.2.1USBCAN-II/I智能CAN接口卡 223.2.2CAN-bus总线 243.2.3模拟量输出模块iCAN4400 253.2.4数字量输入输出模块 253.2.5执行器件的介绍 283.2.6以太网的介绍 293.3CAN协议控制器和收发器的研究 303.3.1SJA1000基本结构和原理 303.3.2CAN收发器:PHILIPSPCA82C251 303.3.3CAN网络抗干扰性设计 313.4搭建远程监视控制网络 313.3.1如何搭建iCAN网络 313.3.2网络拓扑的结构 31第4章上位机程序的编制 344.1PC机与CAN总线适配卡DS89C420的通信编程 344.1.1通信方式 344.1.2PCICAN卡接口库函数 344.2编制基于MFC上位机控制程序 354.2.1界面框架设计 364.2.2界面程序设计 374.2.3模块对话框的界面设计 434.3模块对话框的调用问题 464.3.1模态对话框和非模态对话框的区别 464.3.2非模态模块对话框的调用 474.4MFC编程总结 48结论 51致谢 53参考文献 54附录 56第1章绪论本课题是基于计算机网络技术的普及和人们对控制(精度和规模)要求的不断提高的背景下,提出利用国际标准的CAN现场总线来实现数据和信息的发送/接收。CAN现场总线以其可靠性高、实时性好、同时又具有价格低、容易实现的优点,逐渐被广泛用于工业控制等方面。在本章中介绍了课题研究的背景,以及CAN局域网控制器的发展历史及其状况,最后阐述课题研究的目的和意义。1.1课题背景随着计算机网络技术和芯片技术的发展,控制芯片的性能大幅度地提高,成本不断地降低,网络几乎深入到我们生活的每一个角落,以现场总线为代表的控制网络也在工业以及其他的控制领域中发挥着越来越重要的作用。同时随着工业规模的扩大,人们对控制系统的信息要求不断提高,工业控制系统的信息集成程度也越来越高。在人工控制阶段,谈不上信息的集成;模拟控制阶段,虽然出现了集中控制室,模拟量信号的“先天”不足决定了系统的信息集成无法满足信息量、速度和精度等方面的要求;集中式数字控制阶段,信息的集成程度进一步提高,不但能把一组仪表的信息集成到一起,对于有些小系统甚至能把整个系统的测控信息集中到一起,为信息的综合、改变控制方案、实现最优控制提供了有效的途径,不过,这时的信息还只能是测控信息,与管理有关的信息很少;集散式控制系统实现了测控、管理信息的集成,但集成的程度仍然有限,没能实现通信的全数字化,影响了信息的交换;基于网络的现场总线控制系统为信息的进一步集成提供了有效的技术保证。现场总线是应用在制造或过程区域现场装置与控制室内自动控制装置之间的数字式、串行、多点通信的数据总线。它也被称为开放式、数字化、多点通信的底层控制网络。以现场总线为核心的工业控制系统,称为现场总线控制系统FCS(FieldbusControlSystem)。在工业控制系统中,以现场总线作为纽带,将挂接在总线上的网络节点组成自动化系统,各种现场智能设备分别作为一个网络节点,通过现场总线实现节点之间、现场节点与过程控制管理层之间的信息传递与沟通,并实现各种复杂的综合自动化功能。21世纪,现场总线控制系统将成为控制领域的主流,CAN总线由于具有高可靠性,成本低,容易实现等优点在现场总线的工程应用中占了很大的比重。CAN广泛应用于汽车电子,工业监控,楼宇智能控制等方面,且极有发展的前景。1.2现场总线控制系统的特点现场总线系统打破了传统控制系统的结构形式,在传统模拟控制系统中采用一对一的设备连线,按控制回路分别进行连接,位于现场的测量变送器与位于控制室的控制器之间,控制器与位于现场的执行器、开关、马达之间均一对一的物理连接;而在FCS中,由于通信能力的提高,现场总线系统可以将它们简单地串行连接在一起。现场总线控制系统的全分布特点为系统的大量信息集成提供了基础,全数字、全开放、互操作性使用户可按自己的需要和考虑将不同品牌的产品组成大小随意的系统。1.2.1现场总线技术特点(1)系统的开放性开放系统是指通信协议公开,各不同厂家的设备之间可进行互连并实现信息交换,现场总线开发者就是要致力于建立统一的工厂底层网络的开放系统。一个开放系统,它可以与任何遵守相同标准的其他设备或系统相连。(2)互可操作性与互用性互可操作性是指实现互连设备间、系统间的信息传达与沟通,可实行点对点,一点对多点的数字通信。互用性则是意味着不同生产厂家的性能类似的设备可进行互换而实现互用。(3)现场设备的智能化和功能自治性它将传感测量、补偿计算、工程量处理与控制等功能分散到现场设备中完成,仅靠现场设备即可完成自动控制的基本功能,并可随时诊断设备的运行状态。(4)系统结构的高度分散性由于现场设备本身己经可以完成自动控制的基本功能,使得现场总线己构成一种新的全分布式控制的体系结构。这从根本上改变了现有DCS集中与分散相结合的集散控制体系,简化了系统结构,提高了可靠性。(5)对现场环境的适应性工作在现场设备前端,作为工厂网络底层的现场总线,是专为在现场环境工作而设计的,它可支持双绞线、同轴电缆、光缆,射频、红外线、电力线等。具有较强的抗干扰能力,能采用两线制实现送电与通信,并可满足安全防爆要求等。1.2.2现场总线的几种类型现场总线技术起源于欧洲,目前以欧美地区最为发达。据统计,世界上出现过近200种总线。经过十余年的发展、竞争和完善,目前有生命力的总线有十多种,下面是几种典型的现场总线:(1)基金会现场总线(FF)FF是在过程自动化领域得到广泛支持和具有良好发展前景的技术。FF是符合IEC现场总线国际标准。它以ISO\OSI开放系统互联模型为基础,取其物理层、数据链路层、应用层为FF通信模型的相应层次,并在应用层增加了用户层。FF开发的现场总线产品在品种与性能上都满足过程控制的要求,而且使用方便,Hl(低速现场总线技术,Hl=31.25Kbps)已经完成,HZ(高速现场总线技术,HZ=IMbPs~2.5MbPs)正在开发之中。其物理媒介的传输信号采用曼彻斯特编码。(2)Lonworks由美国Echelon公司和摩托罗拉,东芝公司创建。采用ISO\OSI模型的七层通讯协议,采用了面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置,通信速率从300bps到1.5Mbps不等。直接通信距离可达2700米;支持双绞线、同轴电缆、光纤、射频、红外线,电力线等多种通信介质,并开发了相应的本质安全防爆产品,被誉为通用控制网络。它适用各种不同的应用领域,据称到1996年己有2600家用户和厂家,遍及56个国家和地区,广泛应用于航空、航天、楼宇自动化、能源管理、工厂自动化、农业控制、家庭自动化等领域,在其销售额中,40%用于工业控制,30%用于楼宇自动化,30%用于其它自控领域。(3)PROFIBUSPROFIBUS是德国国家标准DIN19254及欧洲标准EN50170,由PROFIBUS-DP,PROFIBUS-FMS,PROFIBUS-PA组成。DP用于分散外设间的高速数据传输,适合于加工自动化领域的应用。FMS意为现场信息规范,适用于纺织、楼宇自动化等。PA适用于过程自动化的总线类型。后来,PROFIBUS与以太网相结合,提出了ProfiNet解决方案,并逐渐取代了PROFIBUS-FMS位置。PROFIBUS采用了OSI模型的物理层、数据链路层,FMS还采用了应用层,传输速率为9.6bps~12Mbps,传输介质是双绞线或光缆。最多可挂接127个节点。(4)CAN(ControlAreaNetwork)是控制器局域网的简称。由德国Bosoh公司推出,用于汽车内部测量与执行部件之间的数据通信,它广泛用于离散控制领域。CAN协议也是建立在ISO\OSI模型基础上。模型结构只有两层,即只取OSI底层的物理层和数据链路层。传输介质为双绞线。通信速率可达1Mbps/40m。可挂接110个设备。CAN总线采用短帧结构,抗干扰能力强,支持多主通信和优先级通信,并采用非破坏性总线仲裁技术。(5)DeviceNet即设备网。DeviceNet总线技术是在CAN技术上发展起来的,是一种低成本的设备网络技术。DeviceNet在CAN的物理层和数据链路层的基础上又定义了应用层,收发器和传输介质使得在通信方面更完善,并为上层的应用提供了更完善的接口。1.3CAN总线历史的发展及国内外的现状1.CAN的历史发展1983年初,UweKiencke开始研究一种新的串行总线。芯总线的主要方向是增加新的功能,减少电器连接线。使其能用于产品而非驱动技术。来自德国的Mercedes-Benz的工程师较早制定了总线的状态说明。Intel也准备作为半导体生产的主要产商。当时来自德国的一名大学教授WolfhardLawrenz博士,他给出了新网络方案的名字──“ControllerAreaNetwork”,简称CAN。1986年2月,RobertBosch公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线──CAN,都是CAN诞生的时刻。今天,在欧洲几乎每一辆新型轿车均装配有CAN总线。同样,CAN现场总线也应用到别的交通工具,从火车到轮船,从车间工业监控到大型楼宇的智能控制。CAN已经成为全球范围内最重要的总线之一,甚至领导着串行总线。在1999年,接近6000万个CAN控制器投入应用。2000年,CAN器件的市场销售额超过1亿个。这种多主网络方案基于非破坏性的仲裁机制,能够确保高优先级报文的无延迟传输,并且,不需要在总线上设置主控制器。此外,Bosch公司已经实现数种在CAN中的的错误检测机制。该错误检测也包括自动断开故障节点功能,以确保能继续进行剩余节点之间的通信。传输的报文并非根据报文发送器/接收器的节点地址识别(几乎其他的总线都是如此),而是根据报文的内容识别。同时,用于识别报文的标识符也规定了该报文在系统中的优先级。1987年中期,Intel比计划提前两个月交付了首枚CAN控制器82526,这是CAN方案首次通过硬件实现。不久之后,Philips半导体公司推出了82C200.这两枚最先的CAN控制器在验收滤波和报文控制方面有许多不同。一方面,由Intel主推的FULLCAN比由Philips主推的BasicCAN占用较少的CPU载荷;另一方面,FullCAN器件所能接收的报文数目相对受到限制,BasicCAN控制器仅需较少的硅晶体。在今天的CAN控制器中,同一模块中验收滤波和报文控制方面仍有相当的不同,制造出BasicCAN和FullCAN两大阵营。起先研究CAN是应用于客车系统的。但它的第一市场却应用到别的领域。比如荷兰的电梯厂商使用了CAN总线,瑞士将CAN应用到纺织机械当中并提供了通信协议。到了1989年,他们已经研究出了通信的原理,并在1990年建立“CANKingdom”开发环境。荷兰的Philips医疗系统决定使用CAN构成X光机的内部网络。1990年,开始建立一个用户组织,将不同的解决方案标准化。1992年,讨论建立一个促进CAN技术发展的中心平台,同时针对串行总线市场进行分析。1992年五月,CiA(CANinAutomation)用户集团正式成立。并推荐使用循环ISO11898的CAN收发器。CiA的首批任务是规定CAN的应用层。在制定CAN的应用规范时,CiA用于专家和学习者之间的交流。2.CAN应用领域及前景展望由于其性能稳定、抗干扰性强、成本低等特点,其主要应用领域包括大型仪器设备,传感器技术,数据采集系统和工业现场监控系统等。目前,支持CAN协议的有INTEL、PHILIPS、SIEMENS、NEC等百家国际知名大公司。CAN总线的研究还在不断的深化和扩大,它的前景十分广阔。在工业控制系统中,CAN总线在完成现场的智能仪器仪表、控制器、执行器等底层设备间的数据通信方面正发挥着巨大的作用;CAN总线已经成功应用到数控机床、温室控制系统、储粮水分控制系统、中央空调控制系统,以及温度、压力等非电量的测量,检测系统等广阔领域。CAN网络上任一节点均可作为主节点和其他节点交换数据。给用户的系统化设计和实现智能控制提供了极大的方便,可以大大提高系统的灵活性。CAN网络节点的信息真可以分出优先级,这为实时用户提供了方便。大型仪器设备是一种按照一定的步骤对多种信息进行采集、处理、控制、输出等操作的复杂系统。CAN总线可以很好的实现。以医疗器械为例,在CT中各种复杂的功能单元,如X光发生器、X光接收器、扫描控制单元、旋转控制单元、水平垂直运动控制单元、操作台、显示器和中央计算机等,它们之间需要进行大量数据的交换,为保证可靠的工作,对数据通信有一定的要求。比如功能模块之间随意进行数据的交换,通信能以广播的形式进行,简单经济的硬件接口,强的抗干扰性,可靠性高,能自动进行故障的识别和恢复等。CAN技术的出现才提供了一个好的解决方案。CAN协议已有20多年的历史,但仍处于不断改进之中,2000年时有数家公司联合定义一种时间触发的CAN报文传输协议(TTCAN)。因为CAN协议并未改变,所以在同一物理层上,既可以实现传输时间触发的报文,也可以实现传输时间触发的报文。近几年来,美国和远东的汽车厂商将会在他们所生产的汽车串行部件上使用CAN总线技术。同时,不仅应用于汽车,还应用于家庭的消费,结合高层协议的保安系统对CAN的需求也在不断的增加。以微处理器芯片为基础的智能仪表,为现场总线的数字化以及实现复杂的应用提供条件。但是由于通信标准的不统一,严重束缚工厂底层网络的发展。所以不管用户还是制造商都希望统一标准,组成开放的互联网络,把不同厂商生产的自动化设备互连为系统。基于CAN总线的数据通信具有突出的可靠性、实时性和灵活性。CAN和其它总线相比,具有较高的可靠性和性价比。其总线规范已经成为国际标准,被公认为现场总线中最具有希望的总线技术之一。目前,CAN接口芯片的生产厂家众多,协议开放,价格低廉,使用简单,正因为有如此多的优势,可以预见,CAN总线将成为今后众多领域的发展方向。为进一步满足应用的需要,完善组网设计和功能管理,CAN还有很多理论和技术方面的问题有待解决。随着通信行业的发展,CAN这种有线的通信网络也将和无线技术结合,开拓其新的应用天地。CDMA\GPRS\蓝牙技术的发展以将它们联系在一起。CDMA\GPRS\蓝牙技术是一种无线技术规范,设计的宗旨是以无线方式传播数据,使其不需电缆便可以可别的设备进行通讯,随着无线技术的发展和应用到CAN中深度的加强,CAN将无处不在。1.4本文研究的主要内容和意义数据采集与监视控制(SCADA)系统,是以计算机为基础的生产过程监控与调度自动化系统。SCADA系统的监控中心和远动终端(RTU)需要进行数据传输和信息交换,CAN总线作为国际标准现场总线之一,由于具有可靠性高、成本低、容易实现、协议完全透明、可扩展性强、组建系统非常灵活等优点,在现场总线的实际工程应用中占据了较大的份额。CAN总线已经广泛应用于汽车电子、工业控制、小区智能监控等领域。利用CAN接口可以向CAN总线接收/发送数据,实现对CAN智能节点的监测与控制。本文研究的主要对象是iCAN实验教学平台,利用上面的器件进行数据的发送和接收,可以实现单节点数据自发自收和双方数据收发的通信实验;同时介绍了CAN局域网控制器的技术与规范,使得读者对CAN局域网控制器的深层内在机理有一定的了解,也为深入地了解和运用CAN打下基础,并在此基础上制定了应用层的通信协议,采用标准帧格式;然后对CAN局域网控制器的核心部件SJA1000和收发器进行研究。CAN多在现场使用,数据传递到现场PC机,将该CAN网络通过CAN适配卡接入以太网,再通过网络向控制中心发送数据,来实现远程的监视与控制。最后利用基于对话框的VC++编制上位机软件程序,实现对远程执行机构的各种监测与控制。由于CAN总线的其性能稳定、抗干扰性强、实时性强、成本低和线路连接简单等,很适合于底层现场的控制环节。在各种智能控制方面有非常广阔的应用前景。本论文设计中就是搭建这种控制网络来实现对各种执行器件的控制功能。为方便读者阅读,将本论文的写作思路展示如图1.1所示。论题提出与研究需求网络普及,芯片低成本论题提出与研究需求网络普及,芯片低成本控制要求的不断提高CAN总线CAN规范帧结构仲裁位定时位同步应用层协议搭建控制网络上位机编程总结与展望图1.1论文写作思路第2章CAN局域网技术及其规范CAN(ControllerAreaNetwork)总线最早由德国BOSCH公司提出,主要用于汽车内部测量与控制中心之间的数据通信。CAN以其高可靠性、实时性、灵活性、低成本和便于组建网络等良好的性能,在世界范围内广泛应用于其他领域当中,如工业自动化、汽车电子、楼宇建筑、电梯网络、电力通讯和安防消防等诸多领域,并取逐渐成为这些行业的主要通讯手段。并且已经形成了国际标准,是被认为最有发展前景的总线之一。CAN总线是一种有效支持分布式控制或实时控制的通信网络,可以用点对点,一点对多点和全局广播等几种方式传输数据。CAN总线直接传输距离最远可达10Km(传输速率为5Kb/s),传输速率最高可达1Mb/s(对应的传输距离为40m)。理论上CAN总线上节点的数量是不受限制的,但实际中最多可以挂靠110各节点。CAN总线的突出特点:通信方式灵活;CAN网络上的节点信息分为不同的优先级,可满足不同的实时性要求;CAN采用非破坏性仲裁技术;滤波技术;CAN通信采用短帧格式;CAN总线在错误严重的情况下可以自动关闭输出。2.1CAN总线的特点及与其它总线的比较1.现场总线CAN-bus的特点:(1)国际标准的工业级现场总线,传输可靠,实时性高;(2)传输距离远(最远10Km),传输速率快(最高1Mbps);(3)单条总线最多可接110个节点,并可方便的扩充节点数;(4)总线上各节点的地位平等,不分主从,突发数据可实时传输;(5)非破坏总线仲裁技术,可多节点同时向总线发数据,总线利用率高;(6)出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯;(7)报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低;(8)对未成功发送的报文,硬件有自动发功能,传输可靠性很高;(9)具有硬件地址滤波功能,可简化软件的协议编制;(10)通讯介质可用普通的双绞线、同轴电缆或光纤等,同时CAN-bus总线系统结构简单,性价比极高。2.CAN总线和其它总线的比较(1)与Lonworks总线的比较Lonworks总线成本比较昂贵,虽然兼容TCP/IP协议,但是并不能取代上层局域网直接挂接到Internet上。另外,它的仲裁方式决定了它会因数据的无限重发而导致网络的瘫痪,这使得Lonworks总线与CAN相比,优势并不明显。(2)与PROFIBUS总线的比较PROFIBUS总线的缺点主要有两个方面。首先,由于传送令牌时需占用一定的带宽,因此带宽的利用率较低;其次,PROFIBUS总线的参数不容易设定,在网络启动和增加删除节点时需要进行逻辑环重构。本系统之所以选择CAN总线的原因:①CAN总线具有许多优良的传输特性和仲裁机制,支持多主站方式,数据传输的可靠性高,成本低廉。②现场总线的多样性,为总线设备的用户提供了更多产品选择的同时,也为总线用户带来了总线设备间兼容性的问题。现在许多设备带有PROFIBUS总线接口,但是有些设备,特别是自主开发的设备没有PROFIBUS接口,为了实现所有设备的优势互补,所以本系统采用CAN现场总线。2.2CAN技术规范随着CAN应用领域的扩大,在应用中对通信格式的标准化提出了要求。原先的地址范围由11个标识符定义,如果将地址范围扩大,则这些应用就可以更好地由CAN实现。1991年Philips半导体公司制定并发布了CAN技术规范(2.0版本),该技术规范包括A和B两种格式。1993年ISO正式颁布了道路交通工具—数据信息交换—高速通讯控制器局域网(CAN)的国际标准ISO11898,为控制器局域网的标准化和规范化铺平了道路。由于引入扩展格式的规范,其定义的地址范围更宽,由29位组成定义,系统设计者将从考虑定义良好的结构命名方案中得到解放。为区分标准格式和扩展格式,使用了CAN报文格式的第一个保留位。CAN1.2定义的信息格式相当于标准格式,是有效的。此外,由于定义了扩展格式,网络中会共存标准格式和扩展格式的报文。同时,只要没有用到扩展格式,那么,根据A部分或CAN旧版本设计的仪器就可以与根据B部分设计的仪器相互间进行通信。2.2.1CAN的基本概念(1)报文总线上的信息以不同的固定报文格式发送,但长度受限。当总线空闲时,任何连接的单元都可以开始发送新的报文。(2)信息路由①系统灵活性:不用改变各节点的应用层及相关的软硬件,就可以在CAN网络中添加新的节点。②报文路由:报文的内容由标识符命名。网络中的节点通过报文滤波来确定是否对该数据做出反应。③多播:由于引入了报文滤波的概念,任何数目的节点都可以接收报文,并同时对该报文做出反应。④数据连贯性:在CAN网络中,可以确保报文同时被所有的节点接收(或同时不被接收)。(3)位速率不同的系统中,CAN的速度不同。在给定的系统中,位速率是唯一和固定的。(4)优先权在总线访问期间,标识符定义了报文发送的优先权。(5)远程数据请求通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和远程帧有相应的标识符命名(ID)。(6)多主机总线空闲时,任何单元可以开始发送报文。具有较高优先权报文的单元可以优先获得总线的访问权。(7)仲裁只要总线空闲,任何单元都可以开始发送报文。如果两个及以上的单元同时开始传送报文,就会发生总线的访问冲突。通过对识别符进行逐位仲裁可以解决该问题。仲裁机制确保信息和时间均不会损失。当具有相同标识符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较,如果电平相同,则继续发送和接收。如果发送的是“隐性”电平,而总线上检测到的是“显性”,那么该单元失去了仲裁,必须退出发送状态。(8)安全性为获得最安全的数据发送,CAN的每一个节点均采用了强有力的措施来进行错误检测、错误标定和错误自检。2.2.2CAN的报文传送与通信帧结构在数据传输中,发出报文的节点称为该报文的发送器,节点在报文进入空闲状态前或丢失仲裁前恒为发送器。如果一个节点不是报文发送器,并且总线不处于空闲状态,则该节点为接收器。CAN协议中使用两种逻辑位表达方式,当总线上的CAN控制器发送的都是隐性位时,此时总线状态是隐性位(逻辑1),如果总线上有显性位出现,隐性位总是让位于强位,即总线上是显性位(逻辑0)。报文传输有4个不同类型的帧数据帧,远程帧,错误帧,过载帧。数据帧和远程帧可以使用标准帧及扩展帧2种格式。(1)数据帧帧间空间数据帧帧间空间数据帧帧间空间或超载帧仲裁域场帧起始控制域数据域CRC域ACK场帧尾图2.1CAN2.0A数据帧结构数据帧从发送节点传送数据到一个或多个接收节点。它由七种不同的位域组成:帧的起始域,仲裁域,控制域,数据域(长度可为0~8个字节),CRC域,应答域,帧的结束域。CAN2.0A数据帧的组成如图2.1所示。仲裁域控制域仲裁域控制域数据域SOF11标识符RTRIDEr0DLC图2.2CAN2.0B标准帧数据结构SOF仲裁域SOF仲裁域控制域数据域11位标识符SRRIDE18位标识符RTRr1r0DLC图2.3CAN2.0B扩展帧数据结构在CAN2.0B中存在两种不同的帧格式,其主要区别在于标识符的长度,具有11位标识符的帧称为标准帧,而包括29位标识符的帧称为扩展帧。CAN2.0B的报文滤波以整个标识符为基准。标准帧格式和扩展帧格式的数据帧结构如图2.2所示。数据帧的主要结构有:①帧起始:标注数据帧的起始位,它由单个“显性”位构成,在总线空闲时发送,在总线上会产生同步作用。②仲裁场:标准格式帧与扩展格式帧的仲裁域格式不同对于CAN2.0A标准,标识符的长度为11位,这些位以从高位到低位顺序传送。对于CAN2.0B,在标准格式里,由11位标识符(ID28~ID18)和远程发送请求位(RTR)组成,RTR位为显性位表示数据帧,隐性位表示远程帧。标识符由高至低次序发送,且前7位(ID28~D22)不能全为隐性位。在标准帧里,标识符其后是RTR位。在扩展帧格式里,仲裁域包括29位标识符、SRR位、IDE位、RTR位。其标识符由ID28~ID10组成。在扩展帧里,基本ID首先发送,随后是IDE位和SRR位,扩展ID的发送位于SRR位之后。标识符用于提供关于传送报文和总线访问的优先权信息,其数值越小,表示优先权越高,发生冲突时优先发送。SRR位是一隐性位,它是在扩展帧中标准帧的RTR位的位置被发送,因而替代标准帧的RTR位。当标准帧与扩展帧发生冲突,而扩展帧的基本ID同标准帧的标识符一样时,标准帧优先于扩展帧。③控制场:标准帧格式的控制域结构和扩展帧格式的不同,在标准帧里有6位构成,前2位为保留位,为显性,后4位为数据长度码(DLC),表示数据场中数据的字节数,必须在0~8范围内变化。④数据场:由被发送数据组成,数目为控制场中决定的0~8个字节,首先发送最高有效位MSB。⑤CRC场:包括CRC(循环冗余码校验)序列(15位)和CRC界定符(1个隐性位),用于帧校验。⑥ACK场:由应答间隙和应答界定符组成,共两位。⑦帧结束:有7位隐性位组成,此期间无位填充。(2)远程帧作为某数据接收器的站,通过发送远程帧可以启动其资源节点传送他们各自的数据。远程帧也有标准帧和扩展帧格式。其RTR位是隐性的。(3)错误帧错误帧有错误标志表和错误界定符组成。接收站在发现总线上的报文出错时,将自动发出“活动错误标志”,它为6个连续的主控位。由于各个接收站发现错误的时间可能不同,总线上的实际错误标志可能由6~12位主控位所组成。在错误标志后为8个隐性位组成的错误分隔符。每个站发送错误标志后,开始发送隐性电平,并监视总线,在检测到出错条件时,将发送“认可错误标志”,它为6个连续的隐性位。2.2.3位定时与同步CAN总线中,位定时有一点小错误将使总线的性能严重下降,所以位定时和位同步的作用不可小觑。(1)位定时与同步的概念CAN总线的数据传输速率最高可达1Mbit/s,通常用石英晶振作为时钟发生器,可以独立进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样仍可获得相同的位速率。但网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但只要将其稳定在振荡器容差范围之内,总线上的节点会通过重同步进行弥补。CAN总线的一个位时间可以分成四个部分:同步段,传播段,相位段缓冲段1和相位缓冲段2,每段的时间份额的数目都是可以编程控制的,而时间份额的大小tq由系统时钟tsys和波特率预分频值BRP决定:tq=BRP/tsys。位时间的组成部分如图2.4所示。同步段相位缓冲段1相位缓冲段2位时间传播时间段同步段相位缓冲段1相位缓冲段2位时间传播时间段①同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现。如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。②传播时间段用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。因此,要实现与位流发送节点的同步,接收节点必须移相。CAN总线非破坏性仲裁规定,发送位流的总线节点必须能够收到同步于位流的CAN总线节点发送的显性位。③相位缓冲段和同步跳转宽度规定了重同步发生时采样点在相位缓冲段内移动的距离。相位缓冲段和同步跳转宽度用来补偿振荡器容差,发生重同步时相位缓冲段会被加长或缩短。当总线发生从隐性到显性跳变时,会产生同步,其作用是控制沿与采样点之间的距离。总线节点在每个时间份额都会采样总线,并与前一次采样值进行比较,如果前一次采样值是隐性而当前的采样值是显性,那么总线节点就会发生一次同步。如果跳变沿出现在同步段的前面,沿相位错误就是负的,反之就是正的。位时间各组成部分比较如表2-1所示。表2-1位时间各组成部分比较参数范围说明分频值[1,2,……,32]规定时间份额的长度同步段1tq固定长度,同步总线节点传播时间段[1,2,……8]tq补偿总线物理延迟时间相位缓冲段1[1,2,……8]tq重同步时可以暂时延长相位缓冲段2[1,2,……8]tq重同步时可以暂时缩短同步跳转宽度[1,2,……4]tq长度小于相位缓冲段在帧起始时,总线会进行一次硬同步。硬同步后,位时间由每个位定时逻辑单元在同步段之后重新启动,强迫引起硬同步的边沿处于重新启动位时间的同步段内。当引起重同步的沿相位错误幅值小于或等于同步跳转宽度的数值时,重同步导致位时间的延长或缩短,使采样点处于适当的位置。当沿相位误差幅值大于重同步跳转宽度时,如果相位误差为正,相位缓冲段1延长数值等于同步跳转宽度;如果相位误差为负,相位缓冲段2缩短数值等于同步跳转宽度。通过同步,总线可以有效地滤除长度小于传播段与相位缓冲段1长度之和的噪声。但在一个位时间里只允许一种同步发生。除了噪声以外,绝大多数的同步都是由仲裁引起的,总线上的所有节点都要同步于最先开始发送的节点,但是由于总线延迟,节点的同步不可能达到理想的要求。如果最先发送的节点没有赢得总线仲裁,那么所有的接收节点都要重新同步于获得总线仲裁的节点。应答场的情况也是如此,总线上的接收节点都要同步于最先发送显性位的节点。但是当发送节点与接收节点的时钟周期不同并经过多次同步累加起来,振荡器容差会导致同步在仲裁场之后出现。沿相位误差分为为正负两种情况,相位缓冲段可以弥补沿相位误差。如果同步段末端出现了一个隐性到显性的跳变沿,那么相位缓冲段1将加长,使得跳变沿到采样点之间的长度与没有跳变沿出现时同步段到采样点之间的长度相等。由于沿相位误差小于同步跳转宽度,因此重同步补偿了沿相位误差,在下一个正常位时间到来时,显性到隐性的跳变沿就出现在同步段。如果一个隐性到显性的跳变沿出现在相位缓冲段2,因此相位缓冲段2会缩短,并且同步段会被省略,这是因为当节点同步于边沿时,节点无法确定处于相位缓冲段2的同步段的起始位置。由于沿相位误差的幅值小于同步跳转宽度,所以重同步取得的效果与第一种假设情况是一样的。需要注意的是,相位缓冲段只是暂时的被加长或者缩短,在下一个位时间,缓冲段又会恢复预设值。同步可以消除显性噪声的干扰。噪声都是在传播段的末尾开始,长度为传播时间段与相位缓冲段1的和。在第一种假设里,同步跳转宽度大于或者等于噪声跳变沿的相位误差,因此采样点适当移动,采样值为隐性位,消除了噪声。在第二种假设中,同步跳转宽度小于沿相位误差,采样点移动的长度不够,显性值被当作总线的真实值采样。(2)位定时和位同步的作用在CAN总线中,位定时有一点小错误就会导致总线性能严重下降。虽然在许多情况下,位同步会修补由于位定时设置不当而产生的错误,但不能完全避免出错情况,并且在遇到两个或多个CAN节点同时发送的情况时,错误的采样点会使节点启动错误认可标志,使节点不能赢得总线上的任何活动。同步跳转宽度规定了重同步发生时采样点在相位缓冲段内移动的距离。相位缓冲段和同步跳转宽度用来补偿振荡器容差,发生重同步时相位缓冲段被加长或是缩短。如果总线发生从隐性到显性的转换时,会发生同步,它的作用是控制沿和采样点之间的距离。总线节点在每个时间份额都会采样总线,并与前一次采样值进行比较,如果采样值由隐性转换为显性,则总线节点发生同步。假如跳变沿发生在同步段的前面,沿相位误差就是负的,否则为正。在帧起始时,总线进行一次硬同步。位时间由每个位定时逻辑单元在同步段之后重新启动。当引起重同步的沿相位错误幅值小于或等于同步跳转宽度时,重同步导致位时间的改变,使采样点处于适当的位置。当引起重同步的沿相位错误幅值大于同步跳转宽度时,若相位误差为正,相位缓冲段1延长的数值等于同步跳转宽度。若相位误差为负,相位缓冲段2缩短的数值等于同步跳转宽度。同步后可以使得总线有效地滤除长度小于传播时间段与相位缓冲段1长度之和的噪声。在一个位时间里只允许一种同步发生。除了噪声,大多数的同步都是由仲裁引起的。总线上的所有节点都要同步于最先开始发送的节点,但是由于总线的延迟,节点的同步不可能达到理想的要求。若最先发送的节点没有赢得总线仲裁,则所有的接收节点都要重新同步于赢得总线仲裁的节点。但是当发送节点与接收节点的时钟周期不同并经过多次同步同步累加,振荡器的容差会导致同步在仲裁场之后出现。2.2.4CAN报文滤波技术CAN总线中,有很多种的数据发送和接收方式,如点对点、一点对多点及全局广播等几种方式。以上几种方式的选择和转换就是通过CAN总线中的报文滤波技术实现得以的。有两种不同的过滤模式可在模式寄存器中选择:(1)单滤波器模式。(2)双滤波器模式。2.2.5CAN通信错误及处理(1)CAN总线通信错误的原因CAN总线有五种错误类型,以下是错误类型的区别以及产生的原因。①位错误:某个节点在向总线发送一位数据的同时也在监视总线。当监视到总线位数值与送出的位数值不同时,则在该位时刻检测到一个错误。但也有例外的情况:在仲裁场的填充位流期间或应答间隙某节点送出隐性位而检测到显性位时,不视为位错误。送出认可错误标注的发送器,在检测到显位时,不视为位错误。②填充错误:在应使用位填充方法进行编码的报文中,出现了第六个连续相同的位电平时,将检出一个位填充错误。③CRC错误:CRC序列是由发送器CRC计算的结果组成的。接收器以与发送器相同的方法计算CRC。如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。④形式错误:当固定形式的位场中出现一个或多个非法位时,则检出一个形式错误。⑤应答错误:在应答间隙,发送器未检测到显位时,则由它检出一个应答错误。(2)错误的检测与处理如果其中一个站检测到出错条件后,它将发送错误标识进行标定。任何站检出位错误、填充错误、形式错误和应答错误时,由其下一位开始发送出错标识。CAN总线中有三种故障状态:错误激活状态、错误认可状态和总线关闭状态。①主动错误模式(错误激活状态)当一个错误主动节点检测到某个错误时,它将发送一个错误主动帧,该帧由6个连续的显性位组成,这一发送将覆盖其他任何同时生成的发送,并导致其他所有节点都检测到一个填充错误,并依次放弃当前帧。当处于错误主动状态的节点检测到一个发送问题时,它将发出一个活动错误帧,以避免所有其他节点接收信息包。无论检测到错误的节点是否要接收这个数据,它都要执行这个过程。②被动错误模式(错误认可状态)当一个错误被动节点检测到上述的某一个错误时,它将发出一个错误被动帧,该帧由6个连续的隐性位组成,这个帧可能会被同时出现的其他发送所覆盖。如果其它站点没有检测到这一错误,将不会引起丢弃当前帧。③离线模式(总线关闭状态)处于离线状态下的节点不允许对总线有任何影响。处于离线状态下的节点在逻辑上与网络断开。检测到出错条件的站通过发送出错误标识进行标定。对于错误激活节点,该标识为活动错误标识;对于错误认可节点,该标识为认可错误标识。错误激活单元可以照常参与总线的通信,当检测出错误时,送出一个活动错误标识。错误认可节点可以参与总线通信,但是不允许它送出活动错误标识,只能送出认可错误标识。并且发送后仍为错误认可状态,直到下一次发送初始化。总线关闭状态不允许单元节点对总线有任何影响。为了界定故障,在每个总线单元中都设有两种计数,发送出错计数和接收错误计数。每监测到一个接收错误其错误计数加1。每监测到一个发送错误其错误计数加8,发送错误更容易被察觉到。(3)常见总线故障原因常见总线故障原因主要是硬件故障和软件故障两个方面:硬件故障的原因是波特率不一致,终端电阻失配;软件故障的原因是CAN错误中断。2.3通信协议的编制2.3.1CAN2.0B协议(1)CAN2.0B标准帧数据格式CAN标准帧信息分为两部分:信息和数据部分。前3个字节为信息部分。第1个字节是帧信息,FF为帧格式;RTR位为远程发送请求,0—发送数据帧,1—发送远程帧;X位为无关位;最后4位DLC是数据长度,即所发数据的实际长度,单位:字节。第2,3个字节的前n位为CAN_ID标识符(2个字节),其余八个字节是数据部分,存有实际发送的数据,详见下表2.2所示。表2-2标准帧数据格式76543210字节1FFRTRXXDLC(数据长度)字节2(地址标识符)ID.28-ID.21字节3ID.20-ID.18XXXXX字节4数据1字节5数据2字节6数据3字节7数据4字节8数据5字节9数据6字节10数据7字节11数据8(2)CAN2.0B扩展帧数据格式CAN2.0B扩展帧信息分为两部分,信息和数据部分。前5个字节为信息部分。第一个字节是帧信息,FF为帧格式;RTR位为远程发送请求,发送数据帧为0,发送远程帧时为1;X位为无关位;最后4位DLC是数据长度,即所发数据的实际长度,单位:字节。第2、3、4、5字节的前29位为标识符(4个字节)。其余八个字节是数据部分,存有实际要发的数据。详见表2-3所示.表2-3扩展帧数据格式76543210字节1FFRTRXXDLC(数据长度)字节2(地址标识符)ID.28~ID.21字节3ID.20~ID.13字节4ID.12~ID.5字节5ID.4~ID.0XXX字节6数据1字节7数据2字节8数据3字节9数据4字节10数据5字节11数据6字节12数据7字节13数据82.3.2应用层通信协议在CAN的技术规范中,规定了CAN分为链路层和物理层两层,用户在设计通信软件时,必须先根据需求设计合适的CAN总线通信协议,才能完成数据准确可靠的传送,这对于CAN的开发和应用至关重要。在本课题中我们基于CAN2.0B协议充分考虑了整个系统的设计需求,设计出了适合自己应用的通信协议,进而有效利用了系统的资源,应用时非常方便和灵活。在设计系统的应用层通信协议时,需要考虑以下两个方面:(1)结合系统的设计要求,分析通信中所有信息对象,确定需要支持的通信传输模式。(2)确定标识符的分配方案,定义帧格式。标识符是CAN总线实现仲裁的依据,也是协议的关键。其分配方案要满足各节点及信息对优先级的要求。要注意标识符的格式要为信息过滤提供方便。利用验收滤波器,采用合适的滤波方式,若总线节点以及消息种类不多的情况下,应尽量使用标准帧格式。因此,针对网络系统的要求,定义如下:①因为SJA1000系列CAN控制器完全支持CAN2.0B协议,而且Pelican模式检错能力特别强,考虑到网络的兼容性及扩展性,采用了Pelican模式。②考虑到自定义协议所针对的网络,总线上节点及消息种类不多,采用标准帧格式,每帧字节少,可加快通讯速率。③采用总线仲裁技术:只要总线空闲,任何单元都可以开始发送报文。如果两个或两个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用了标识符的逐位仲裁可以解决这个冲突。CAN网络上任意节点均可在任意时刻主动的向网络上其它节点发送信息,而不分主从,当多个节点同时向总线上发送信息时,非破坏性总线仲裁技术使优先级低的节点会主动地退出发送,而最高优先级的节点可不受影响地继续传输数据,这样网络上的节点可以根据信息的不同分成不同的优先级,可满足不同的实时要求,如果需要有一个更高优先级紧急信号,我们在标识符中设了一个紧急优先位,其设为0,则优先级别相对于其它传送的地址为最高,这样可以在网络上传送一些紧急的信号,例如报警信息等。④假定网络上有两个节点同时向一个目标节点传送信息时,如果标识符主要比较接收方地址,则不能更方便的区别优先级,如果针对发送方地址,则可以根据CAN总线仲裁技术,小地址优先发送,所以本协议优先级针对的是发送节点地址。⑤CAN网络上的节点在通信时,每一个被接收的报文都有一个身份标识,通过局部接收屏蔽寄存器的设定标识码是否参与滤波,以此来设定网络上每一个节点的地址。2.3.3自定义应用层协议本系统采用CAN2.0B的技术规范及格式,设计了适合自己应用的通信协议,即命令+参数的形式。表2-4用户通信协议帧格式76543210PRI源地址(0~109)(发送方地址)帧类型0每帧字节数目标地址(接收方地址)Comd1Comd2物理变量序号Data0Data1Data2Data3Data4(1)PRI为保留位,作为优先级位,l为低优先级,0为高优先级,在此基础上再由源地址决定其他优先级,低地址优先级高。本位可有效支持紧急信号传送,如报警等。(2)帧类型:100为单帧广播,000为单帧点对点,110为多帧广播,011为多帧点对点。(3)Comdl,Comd2为命令,功能定义很多,见表2-5。(4)物理变量序号范围:0~255。(5)data0~data3为一个物理变量数据,四字节长整数,原码表示。表2-5Comdl与Comd2功能定义Comd1Comd2功能定义‘A’‘i’初始化站点‘A’‘R’模拟量请求‘A’‘I’采集模拟量数据输入‘A’‘O’控制输出模拟量数据输出‘D’‘R’开关量请求‘D’‘I’采集开关量输入‘D’‘O’控制开关量输出‘S’‘R’状态参数请求‘S’‘Q’状态参数请求‘S’‘I’状态参数输入‘P’‘O’控制参数输出‘A’‘R’报警状态请求‘R’‘S’响应依据协议,系统的工作过程是主节点向从节点发送控制命令,从节点识别这些控制命令,并执行相应操作,并根据需要主动向主节点发送本节点的信息,即监测点信息,主节点可将节点发送的信息储存下来,采取相应的措施。例如:网络上主节点要求从节点地址为3的节点上传第三通道的模拟量数据,则按照协议,主节点发送信息到从节点3:00h,0Bh,03h,41h,52h,03h,00h,00h,00h,00h,00h。从节点接到该帧信息后,根据协议分析接收到的信息,发送第三通道的模拟量数据给主节点:03h,0Bh,00h,41h,49h,03h,ADdata(6)h,ADdata(7)h,00h,00h。其中ADdata(6)为第三通道中的模拟量数据的低2位,ADdata(7)为第三通道中的模拟量数据的高八位。主节点接收到该模拟量数据后储存下来,并根据需要处理接收到的数据。值得注意的是Comdl与Comd2功能定义中的功能码(字母)在帧中指的是该字母对应的ASCⅡ码的值(十六进制形式表示)。比如上例中的模拟量请求,则Comdl与Comd2的功能码对应为‘A’和‘R’(查表2-5),查ASCⅡ码表可知‘A’的十进制值为65,对应的十六进制为41。‘R’的十进制值为82,对应的十六进制为52。所以对应的Comdl与Comd2的功能码41h,52h。第3章基于CAN监控系统的整体设计本课题结合CAN总线技术与以太网技术,设计了一个基于CAN总线的远程监控系统,实现对选用的执行部件的远程监控。在该远程监控系统中,现场数据通过CAN总线进行收发。基于CAN总线技术,选用合适的iCAN功能模块,构建CAN现场总线系统,并通过CAN-EtherNet服务器(CAN到EtherNet的转换器)接口连接至以太网,实现远程监控的数据传输。3.1监控网络的结构3.1.1远程监控系统的层次结构工业的监控系统由下往上可以分为三个层次结构:底层控制网络、企业内部网和互联网。底层现场控制网络可以采用现场总线构成,上面两层常采用以太网。底层控制网络与上层网络通常有两种连接方式:(1)网关。网关称为网间协议转换器,专门用于连接采用不同通信协议和介质的两个或多个网络,实现网络间的数据传输。当一个报文要求从一个网段传输到另一个网段时,网关需要完成对报文的接收、翻译和转发工作。底层控制网络和上层控制网络采用不同的通信协议和介质,要实现这两种网络之间的通信,可以使用网关来实现两种通信协议的转化。(2)Web服务器。Web技术是Internet的核心技术之一,以HTTP技术为基础,具有简单、高效、跨平台的特点。借助Web服务器和浏览工具可以实现底层控制网络和上层网络间的数据信息的交换。控制网络中的状态信息通过Web服务器以网页的形式发布出去,远程用户通过Web浏览器查看这些信息,还可以通过表单的形式向Web服务器发出请求,实现对控制网络的远程控制。在本设计中,底层网络与上位机网络的连接是通过集成的CANET-E以太网-CAN转换器接口卡实现的。3.1.2远程监控系统的监控模式(1)C/S远程监控模式传统的远程监控系统采用C/S模式,C/S又称客户、服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQLServer。客户端需要安装专用的客户端软件。①C/S优点能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以客户端的响应速度快。②C/S的缺点客户端需要安装专用的客户端软件,不同的系统需要不同的客户端应用程序,可移植性差;难以维护和升级,系统更新所需要的工作量大。系统软件升级时,每一台客户机需要重新安装,其维护和升级的成本非常高。(2)B/S远程监控模式随着Internet技术的兴起,B/S模式得到迅速的发展。B/S是Brower/Server的缩写,是指在TCP/IP的支持下,以HTTP为传输协议,客户端通过Brower访问Web服务器以及与之相连的后台数据库的技术和体系结构。它由浏览器、Web服务器、应用服务器和数据库服务器,并将获得的结果以HTML的形式返回客户端浏览器。在这种结构下,用户工作界面是通过IE浏览器来实现的。①B/S模式的优点:运行和维护比较方便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN、WAN、Internet/Intranet等)访问和操作共同的数据。②B/S模式的缺点:对企业外网的环境依赖性太强,由于各种原因引起企业外网的中断都会造成系统瘫痪。(3)选择B/S模式的原因由于网络技术的不断发展,传统的C/S监控模式的缺点不断暴露出来,促使B/S监控模式的产生和发展。B/S模式监控系统由浏览器、应用服务器和数据库服务器组成,也称为“瘦客户”模式。采用B/S监控模式,无需开发各种各样的客户端应用程序,使客户端操作界面得到统一,简洁美观;客户端不需要维护,系统的维护工作都集中在服务器上,有利于系统的维护和升级。因此,本论文中也采用了B/S模式来实现。3.2远程监控中的器件介绍3.2.1USBCAN-II/I智能CAN接口卡一般来说计算机本身不带CAN接口,所以直接使用计算机和CAN网络是不能互联的。但是很多商用或者工业应用计算机控制系统都离不开CAN-bus,因此必须使用计算机现有的通讯接口(如PCI,USB等)适配、转换为CAN-bus接口,那么CAN接口卡的作用就是给计算机增加CAN-bus现场总线接口功能。器件图片如图3.1所示。USBCAN-I/II智能CAN接口卡是与USB1.1总线兼容的,带有1路/2路CAN接口的智能型CAN数据接口卡。采用USBCAN-I/II智能CAN接口卡,PC可以通过USB总线连接至CAN网络,构成实验室、工业控制、智能小区等CAN网络领域中数据处理、数据采集。图3.1USBCAN-I/II智能CAN接口卡USBCAN-I/II智能CAN接口卡是CAN产品开发、CAN数据分析的强大工具;同时,具有体积小、即插即用等特点,也是便携式系统用户的最佳选择。表3.1CAN-bus接口卡型号PC接口型号通道数Windowsdirvers其他系统PCIPCI-5110单路智能CAN接口卡1Win98,Me,2000,XPLinuxVxworksPCI-5121双路智能CAN接口卡2Win98,Me,2000,XPLinuxVxworksPCI-9810单路非智能CAN接口卡1Win98,Me,2000,XP—PCI-9820双路非智能CAN接口卡2Win98,Me,2000,XPLinuxPCI-9840四路非智能CAN接口卡4Win98,Me,2000,XP—PCI-2140高速CAN接口卡2Win98,Me,2000,XP—USBUSBCAN-Ⅰ单路智能CAN接口卡1Win98,Me,2000,XPLinuxUSBCAN-Ⅱ双路智能CAN接口卡2Win98,Me,2000,XPLinuxISAISA-9620双路非智能CAN接口卡2DOS,Win98,Me,2000—USBCAN-I/II接口卡上自带光电隔离模块,使USBCAN-I/II接口卡避免由于地环流的损坏,增强系统在恶劣环境中使用的可靠性。器件规格:CAN通讯接口:DB9针型插座,符合DeviceNet和CANopen标准;工作温度:0℃~+70℃;存储温度:-20℃~+80℃;物理尺寸:标准PCI短卡(130mm*90mm)。器件特点:PC接口:便携式USB1.1接口;通道数量:USBCAN-II,2路独立CAN通道;USBCAN-I,1路独立CAN通道。CAN协议:按CAN2.0B规范,兼容CAN2.0A;CAN波特率:可编程任意设置,范围在5Kbps~1Mbps之间;最高帧流量:每通道5000帧/秒;CAN总线隔离:2500VDC;CAN控制器:NXPSJA1000T;CAN收发器:NXPPCA82C250;板载缓存:接收缓存100,000帧,发送缓存16帧。3.2.2CAN-bus总线生产控制室自动化装置生产控制室自动化装置节点1节点N 物理层接口CAN控制器微控制模块应用接口图3.2CAN总线系统组成双绞线具有以下特点:技术上容易实现,连接方便,造价低,可以降低控制网络的成本,适于底层控制网络的应用;理论上节点数无限制,对环境的电磁辐射有一定抑制能力;随着频率的增长,双绞线线对的衰减迅速提高;双绞线有所谓的近端串扰。目前,采用双绞线的CAN总线分布式系统已经得到广泛应用,如汽车电子、电梯控制、电力系统、远程传输等。图3.2为CAN总线系统组成。3.2.3模拟量输出模块iCAN4400iCAN-4400AO功能模块提供电流或者电压输出信号。iCAN-4400模块具有4路模拟量输出通道,可输出1~5V电压或者4~20mA电流信号。模块在工作时,网络中的主控设备通过CAN总线将输出的数据传送给模块,模块通过光电隔离送到DA模块中输出。输出信号类型可以通过跳线器选择电压输出或者电流输出。基本参数:电源具有极性反接保护功能;模块电源:单电源供电,供电电压为+10V~+30VDC;CAN控制器

温馨提示

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

评论

0/150

提交评论