基于vc的can卡数据采集系统设计学位论文.docx

上传人:b****2 文档编号:18043626 上传时间:2023-04-24 格式:DOCX 页数:48 大小:188.40KB
下载 相关 举报
基于vc的can卡数据采集系统设计学位论文.docx_第1页
第1页 / 共48页
基于vc的can卡数据采集系统设计学位论文.docx_第2页
第2页 / 共48页
基于vc的can卡数据采集系统设计学位论文.docx_第3页
第3页 / 共48页
基于vc的can卡数据采集系统设计学位论文.docx_第4页
第4页 / 共48页
基于vc的can卡数据采集系统设计学位论文.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

基于vc的can卡数据采集系统设计学位论文.docx

《基于vc的can卡数据采集系统设计学位论文.docx》由会员分享,可在线阅读,更多相关《基于vc的can卡数据采集系统设计学位论文.docx(48页珍藏版)》请在冰豆网上搜索。

基于vc的can卡数据采集系统设计学位论文.docx

基于vc的can卡数据采集系统设计学位论文

 

题目:

基于VC++的CAN卡数据采集系统设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

基于VC++的CAN卡数据采集系统设计

摘要

长期以来,在复杂的工业控制现场领域中,一直是低速率和点对点的通信,无能力支持更高层次的现代化控制系统,为了解决这一难题,于是产生了现场总线控制系统。

在现场总线控制系统中,以CAN总线控制系统应用最为广泛。

本设计是基VC++CAN通讯的数据采集,所采用的硬件设备是USBCAN-II智能CAN接口卡,PC可以通过USB总线连接至CAN网络,构成实验室、工业控制、等CAN网络领域中数据采集。

在本设计中,通过对CAN参数初始化,设备的启动、复位、连接等功能的实现,CAN协议的编写,结晶器数据采集系统的设计(其中数据采集系统设计又包含了给定数据曲线和实时数据采集曲线的设计),PID算法,相关按钮的功能设置等来实现控制。

关键词:

CAN总线;VC++;数据采集;CAN协议;PID

 

TheCANCarddataacquisitionsystembasedonVC++

Abstract

Alongtime,inthecomplexfieldofindustrialcontrol,communicationshasbeenalowrateandpoint-to-point,withouttheabilityitsupportedthemodernizationofhigherlevelcontrolsystem,inordertosolvethisproblem,sofieldbuscontrolsystemhadappeared.Amongthefieldbuscontrolsystem,CANbuscontrolsystemwasusedmorewidely.

ThedesignisCANcommunicationdataacquisitionsystembasedonVC++,thehardwareisUSBCAN-IIIntelligentCANcard,PCcanbeconnectedtotheCANnetwork,constitutethelaboratory,industrialcontrolthroughtheUSBbus,itmakesuplaboratoryandindustrialControl’dataacquisitionintheCANfield.

Inthedesign,thesystemwascontrolthroughCANparametersinitialization,start-up,reset,connection’srealization,writingCANprotocol,designingdataacquisitionsystem(DataAcquisitionSystemcontainsagivencurvedataonreal-timedataacquisitioncurve),PIDalgorithm,settingbutton’functionandsoon.

Keywords:

CANbus;controlsystem;dataacquisition;CANprotocol;PID

 

第一章引言

一.1研究背景

随着现代信息技术的飞速发展和传统工业改造的逐步实现,由计算机构成的数据采集与处理系统呈现出分散化、网络化、智能化的发展特征,同时系统的规模和复杂性也随之迅速增加。

当需要监测的系统规模比较大、监测目标比较分散、检测点比较多时,使用单一总线结构系统往往不能适应这些复杂情况的变化。

同时,传统的多点数据采集与处理系统技术复杂性和成本相对较高,施工难度大,并且系统的可靠性和工作效率也是迫切需要解决的问题,因此,基于485总线的通讯模式,由于其通讯波特率低、可靠性差已不能适应工控领域的要求。

所以需要建立一种结构简洁、造价低廉、检测点多、检测范围大、抗干扰能力强、智能判别和学习能力高的混合系统。

处于信息时代的自动控制系统技术发展日新月异。

智能化、数字化、信息化、网络化、微型化、分散化代表着当今工业控制系统发展的主流方向。

为了使得测控单元之间的高速、可靠数据通讯是分布的,可以采用现场总线。

现场总线是代表工业控制系统顺应这一发展方向的新型技术,标志着计算机技术、信息技术在自动化领域应用的新阶段,为整个工业系统全数字化运行奠定了基础。

它是一种在微机化测量控制设备间实现双向串行多节点的数字通信系统,又称为开放式、数字化、多点通信的底层控制网络。

它综合了数字通信技术、计算机技术、自动控制技术、网络技术等多种技术手段,从根本上突破了传统的“点对点”式的模拟信号或数字—模拟信号控制的局限性,把各个分散的测量控制设备转换为网络节点,以现场总线为纽带,把它们连接成为可以互相通信、沟通信息、共同完成控制任务的网络化控制系统。

现场总线的数据通信具有较高的可靠性、实时性和灵活性。

在现场总线控制网络中,系统的各种设备通过多个节点连接到一根公共总线上,使得各个节点之间可以实现点对点的对等通讯和系统中信息资源的共享,同时大大减少了系统中的连接线。

因此,现场总线为实现大规模智能分布和测控系统提供了理想的解决方案。

现场总线技术的开发始于上个世纪80年代,由于微处理器和计算机性能的不断增强和价格的急剧下降,计算机与计算机网络系统得到飞速的发展,信息沟通联络的范围不断扩大。

现场总线技术的出现和日益完善给分布式控制系统带来了一场革命,对分布式控制系统的测控单元而言,其意义不亚于网络之于PC机,工控界诸多权威人士预言,工控领域控制在二十一世纪将是现场总线的世界。

一.2研究的意义

现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络,它的关键标志是能支持双向、多节点、总线式的全数字通讯。

目前使用的现场总线有:

AnyBus,CAN,Profibus,Fieldbus,WorldFIP,P-NET,LonWorks,INTERBUS,DNET,CNET,LIGHTBUS,MODBUS,CC-LINK。

工业企业网是企业网中的一个重要分支,是指应用于工业领域的企业网,是工业企业的管理和信息基础设施。

它是一种综合的集成技术,涉及到计算机技术、通信技术、多媒体技术、控制技术和现场总线技术等。

在功能上,工业企业网的结构可分为信息网和控制网上下两层,信息网位于工业企业网的上层,是企业数据共享和传输的载体;控制网位于工业企业网的下层,与信息网紧密地集成在一起,服从信息网的操作,同时又具有独立性和完整性。

在实现上,信息网作为计算机网络,可以由流行的网络技术,如以太网、FDDI、ATM以及相应的广域网技术构建;控制网主要基于现场总线构建。

由于现场总线控制系统适应了工业控制系统向分散化、网络化、智能化发展的方向,给自动化系统的最终用户带来更大的实惠和更多的方便,并促使自动化仪表、集散控制系统(DCS)、可编程控制器PLC产品面临体系结构和功能等方面的重大变革,导致工业自动化产品的又一次更新换代,因而现场总线在世界范围内已经成为自控技术的热点,被誉为跨世纪的自控新技术。

第二章现场总线的可行性选择

二.1现场总线的分类

现场总线作为自动化领域的通信技术对其开放性可互操作性的要求是显而易见的。

制定统一标准是应用的迫切需求,也是发展现场总线这一技术的初衷。

但是,由于现场总线已成为自控领域的热点,其开发工作收到了许多国家和企业集团的极大重视,据称现在开发出了一百多种现场总线,主要的种类有:

PROFIBUS、LonWorks、HART、CAN、FF—现场基金会总线等等,现场总线的标准多种样,长期以来一直没有得到统一。

其实,最主要的原因是现场总线的标准的制定涉及国家、企业集团经济利益,这种斗争是非常激烈的。

所以,现场总线国际标准中出现的多元化趋势至少在短期内难以到改观。

二.1.1基金会现场总线FF

基金会现场总线即FoundationFieldbus(简称FF),是一种全数字、串行、双向通信协议,用于现场设备如变送器、控制器、执行器等的互连。

它是存在于过程控制仪表间的一个局域网(LAN),以实现网内过程控制的分散化。

与其他形式的总线相比,基金会现场总线是专门为适应自动化系统,特别是过程自动化系统在功能、环境、技术上的需要而专门设计的。

在满足苛刻的使用环境、本质安全、危险场合、多变过程以及总线供电等方面,它都有完善的措施。

另外,由于采用了标准功能块以及DDL设备描述技术,它能确保不同厂家的产品有很好的可互操作性和互换性。

基金会现场总线是由现场总线基金会提供的一种全新概念通信标准,自从1995年推出后便在过程自动化领域得到广泛支持。

这是一种适用于精密复杂智能仪表功能性强的现场总线。

现场总线基金会是非盈利的国际组织,它的技术目标不仅仅是信号的传送,而是新一代控制系统的结构,其宗旨是促进产生一个单一的国际现场总线标准。

目前已有成员120多个世界上主要的自动化设备供应商,例如:

AB、ABB、Bailey、Foxboro、Fisher-Rose-mount、FujiElectricGroupSchneider、Honeywell、SiemensAG、Yamatake、Yokogawa等都是基金会的董事会成员。

许厂家都先后生产出符合FF技术标准的产品(Hl总线),其中有Fisher-Rose-mount、Smar、HoneywellIntellution、National、In-strument、Yamatake-Honeywell、Yokogawa和北京华控公司等。

二.1.2Loworks总线

Lonworks总线是由美国Echelon公司于20世纪90年代初推出的现场总线,它采用ISO/OSI模型的全部7层通讯协议,这是在现场总线中唯一提供全部服务的现场总线,在工业控制系统中可同时应用在SensorBus、DeviceBus、FieldBus等任何一层总线中。

它除了具有上面说提到的现场总线的公共的特点外,另外,在一个Lonworks控制网络中,智能控制设备(节点)使用同一个通信协议与网络中的其它节点通信。

每个节点都包含内置的智能来完成协议的监控功能。

一个Lonworks控制网络可以有3个到30000个或更多的节点:

传感器功能(温度、压力等)、执行器功能(开关、调节阀、变频驱动等)、操作接口(显示、人机界面等)、控制功能(新风机组、VAV等)。

由于不需要像传统控制系统中的中央控制器,Lonworks分布式控制技术显示出很高的系统可靠性和系统响应,并且降低了系统的成本和运行费用。

神经元芯片完成节点的事件处理,并通过多种介质把处理结果传递给网络上的其它节点。

同时还采用面向对象的设计方法,通过网络变量把网络通信设计简化为参数设置。

支持双绞线、同轴电缆、光缆和红外线等多种通信介质和多种拓扑结构,并开发了本质安全防爆产品,被誉为通用控制网络。

Lonworks的核心是神经元芯片(NeuronChip),使用CMOSCLSI技术的神经元芯片使实现低成本的控制网络成为可能。

神经元芯片是高度集成的内部含有3个8位的CPU:

第一个CPU为介质访问控制处理器,处理LonTalk协议的第一层和第二层;Neuron芯片的编程语言为NeuronC,它是从ANSIC中派生出来的,并对ANSIC进行了删减和增补。

Neuron芯片可以通过5个通信管脚与网络上的其它节点交换信息,也可以通过11个应用管脚与现场的传感器和执行器交换信息。

11个应用管脚具有34种应用操作模式,可以在不同的配置下为外部提供灵活的接口和芯片内部的计时器应用。

第二个CPU为网络处理器,它实现LonTalk协议的第三层至第六层;第三个CPU为应用处理器,实现LonTalk协议的第七层,执行用户编写的代码及用户代码所调用的操作系统服务。

神经元芯片实现了完整的Lonworks的LonTalk通信协议。

二.1.3HART

HART是HighwayAddressableRemoteTransdueer(可寻址远程传感器高速公路)的缩写。

1986年由美国ROSEMOUNT公司开发的一套过渡性临时通讯协议。

但目前受到了广泛承认,已成为事实上的国际标准。

1993年成立了HART通信基金会(HCF),世界上有70多个国家参加。

1990年成立了用户集团(HUG),到1993年,己有70多个公司100多种系列产品(包括变送器、接口、安全栅、控制器和许多其他产品)投入市场。

HART协议以国际标准化组织(ISO)开放性系统互连模型(ISO)为参照,使用ISO的1、2、7三层,即物理层、数据链路层、应用层。

物理层采用基于Bell2O2通信标准的FSK技术,所以可以通过租用电话线进行通信。

HART协议使用FSK技术在4-2mA过程测量模拟信号上叠加一个频率信号。

逻辑1为1200Hz,逻辑0为2200Hz,波特率为1200bps。

它成功地使模拟和数字双向信号能同时进行而且互不干扰。

因此在与智能化仪表通信时,还可使用模拟仪表、记录仪及模拟控制。

在不对现场仪表进行改造的情况下,逐步实现数字性能(包括数字过程变量),是一种理想的方案。

这是一个由模拟系统向数字系统过渡的协议。

在应用层规定了3类使命,第一类是通用命令,这是所有设备都能理解、执行的命令;第二类是一般行为命令,它所提供的功能可以在许多现场设备中实现;第三类为特殊设备命令,以便在某些设备中实现特殊功能,这类命令可以允许开发此类设备的公司所独有。

此外它还为用户提供统一的设备描述语言

DDL。

HART支持点对点、主从应答方式和多点广播方式。

直接通信距离:

有屏蔽双绞线单台设备3000m,而多台设备互相距离1500m。

只使用一个电源时,能连结15个智能化设备。

LONWORKS的通信协议LONTALK协议遵循ISO/OSI参考模型,提供了OSI所定义的全部7层服务。

是在现场总线中唯一提供全部服务的现场总线。

LONWORKS的核心是Neuron(神经元)芯片,内含3个8位的CPU:

第一个CPU为介CAN是由德国公司在80年代初为了解决现代汽Bosch车中众多的传感器和执行装置之间的数据通信而开发的一种串行通信协议。

二.1.4CAN总线(ControllerAreaNetwork)

CAN最初出现在80年代末的汽车工业中,由德国Bosch公司最先提出。

当时由于消费者对于汽车功能的要求越来越多,而这些功能的实现大多是基于电子操作的,这就使得电子装置之间的通讯越来越复杂。

同时意味着需妥更多的连接信号线。

提出以N总线的最初动机就是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。

于是他们设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。

1993年CAN己成为国际标准ISO21898(高速应用)和ISO21519。

低速应用CAN是一种多主站方式的串行通讯。

总线基本设计规范要求有高的位速率高抗电磁干扰性,而且能够检测产生的任何错误。

当信号传输距离达到10Km时CAN仍可提供高达50Kbit/S的数据传输速率。

由于CAN总线具有很高的实时性能,因此CAN己经在汽车工业、航空工业、工业控制安全防护等领域中得到了广泛应用。

二.2CAN总线的可行性

CAN(Controller AreaNetwork)总线是现场总线的一种,它采用双线串行通信方式工作,检错能力强,可在高噪声干扰环境中使用最大通信速率1Mbps(最远通信距离<40m)。

最远通信距离可达10km(最大通信速率<5Kbps)。

CAN具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN2bus上,形成多主机局部网络。

由于采用了许多新技术及独特的设计,CAN总线与一般的通讯总线相比,它的数据通讯具有突出的可靠性、实时性和灵活性。

其特点可概括如下:

第一CAN为多主方式工作,网络上任一节点均可在任一时刻主动向网络上其他节点发送信息,而不分主从。

第二,在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时需要,优先级高的数据最多可在134μs内得到传输。

第三,CAN采用非破坏总线仲裁技术。

当多个节点同时向总线发送信息发生冲突时,优先级较低的节点会主动的退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大节省了总线冲突仲裁时间。

尤其是在网络负载很重的情况下,也不会出现网络瘫痪的情况(以太网则可能)。

第四,CAN节点只需要通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据。

第五,CAN的直接通信距离最远可达10km(速率5kbps以下);通信速率最高可达1Mbps(此时通信距离最长为40m)。

第六,CAN上的节点数取决于总线驱动电路,目前可达110个。

在标准帧报文标识符有11位,而在扩展帧的报文标识符(29位)的个数几乎不受限制。

报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低。

第七,CAN的每帧信息都有CRC校验及其他检错措施,具有极好的检错效果。

第八,CAN通信介质可为双绞线、同轴电缆或光纤,选择灵活。

第九,CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,有自动退出总线的功能。

所以其可靠性和实时性远高于普通的通信技术。

如RS2485,BITBUS等。

CAN及控制器局域网络,CAN是到目前为止唯一有国际标准的现场总线CAN,具有十分优越的特点,低成本、高性能、高可靠性及独特的设计,CAN越来越受到人们的重视,因此,探讨一种实用的CAN网络应用软件设计是一个有意义的研究课题。

 

第三章控制系统人机界面设计

人机界面是指人和机在信息交换和功能上接触或互相影响的领域或称界面所说人机结合面,信息交换,功能接触或互相影响,指人和机器的硬接触和软接触,此结合面不仅包括点线面的直接接触,还包括远距离的信息传递与控制的作用空间。

人机结合面是人机系统中的中心环节,主要由安全工程学的分支学科安全人机工程学去研究和提出解决的依据,并过安全工程设备工程学,安全管理工程学以及安全系统工程学去研究具体的解决方法手段措施。

在本设计中,人机界面是在VC环境下利用Buttong按钮和Edit编辑框设计而成,如图3.1所示。

图3.1人机控制界面

三.1频率和振幅的设置

当控制器接收到监控计算机发送的波形参数设定信息后,发送响应命令,并准备接收控制器参数设定信息,见表3.1。

表3.1数据信息:

2个字节的波形的参数

字节顺序

位顺序

内容

说明

第1字节

幅值参数

参数带1位小数,则放大10倍发送

第2字节

频率参数

参数带1位小数,则放大10倍发送

频率,振幅的设计分为两部分,一是对给定曲线的频率、振幅进行调节;二是对数据实时采集曲线的频率、振幅的显示。

三.2CAN参数按钮的设置

CAN参数按钮设置是对CAN的参数的隐藏和展开,目的是为了设计一个典型用户控制界面。

代码如下:

voidCBiYeSheJiDlg:

:

OnOnkuozhan()

{

CStringstr;

if(GetDlgItemText(IDC_kuozhan,str),str=="隐藏参数设置<<")

{SetDlgItemText(IDC_kuozhan,"参数设置>>");

}

else

{SetDlgItemText(IDC_kuozhan,"隐藏参数设置<<");

}

staticCRectrectLarge;

staticCRectrectSmall;

if(rectLarge.IsRectNull())

{

CRectrectSeparator;

GetWindowRect(&rectLarge);

GetDlgItem(IDC_SEPARATOR)->GetWindowRect(&rectSeparator);

rectSmall.top=rectLarge.top;

rectSmall.bottom=rectLarge.bottom;

rectSmall.left=rectLarge.left;

rectSmall.r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1