基于VC++的串口数据采集系统设计.doc
《基于VC++的串口数据采集系统设计.doc》由会员分享,可在线阅读,更多相关《基于VC++的串口数据采集系统设计.doc(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题 目:基于VC+的串口数据采集系统设计基于VC+的串口数据采集系统设计摘 要随着现代信息技术的发展以及计算机网络的广泛使用,计算机通信技术已经日渐成熟,但串行通信作为一种灵活方便可靠的通信方式,仍不失为有效的通信手段,被广泛应用于工业控制中。,对波特率、数据位、停止位、奇偶校验位等串口参数进行设置,完成串口对数据的接收和发送。通过RS-232C串行接口接收外部设备传递的实时的结晶器振动信号数据,对采集到的振动信号进行分析和研究,并绘制结晶器振动实时曲线,采用PID算法进行参数整定,利用MODBUS编写串口通信协议来控制结晶器的振动,完成对结晶器振动的实时监测。关键词:VC+;串口通信;MSC
2、OMM;PID算法The serial data acquisition system based on the VC+AbstractWith the development of modern information technology, as well as the extensive use of computer networks, the computer communication technology have become more mature, but serial communication as a convenient and reliable means of
3、communication, is still an effective means of communication, and is widely used in industrial control.This article with the vibration signals of mold collected as the background, in the Windows platform ,using ,with baud rate, data bits, stop bits, parity bit, such as serial port parameters to set t
4、o complete the serial port to receive and send data. Through the RS-232C serial interface to external equipment to receive real-time transmission of mold vibration signal data, the vibration signals collected for analysis and research, and real-time rendering mold vibration curve, tuning the use of
5、PID algorithm parameter, using MODBUS serial communication protocol to control the mold vibration, to complete the mold of the real-time monitoring of vibration.Key words: VC+;Serial Communication;MSCOMM;PID Algorithm目 录摘 要IAbstractII第一章 绪论1 研究背景1 研究现状2 研究意义2第二章数据采集系统总体方案设计4系统的设计要求4系统的功能实现4第三章系统软件设计
6、5 开发软件选择53.2 串行通信系统6.1 串行通信概念63.2.2 串行通信的种类73.2.3 串行通信的传输方向93.2.4 串行通信接口9 MSComm串行通讯设计11添加MSComm控件11在SDI中使用MSComm控件12串口的初始化及打开串口133.3.4 MSComm接收数据处理153.4 通信协议设计173.4.1 Modbus协议17 Modbus协议的两种传输方式18两种协议的检验方式203.4.4 ModBus的功能码23数据图形显示25坐标轴的绘制25定时器的设置26第四章人机交互界面设计284.1 登陆界面设计28创建登陆界面28界面字体设计29界面背景色设计304
7、.1.4用户权限设置314.2 控制界面设计324.2.1 PID控制系统324.2.2 PID控制原理和特点344.2.3 PID参数整定方法354.2.4 PID算法的实现36设计总结38参考文献39附录 源程序40致谢54第一章 绪论1.1 研究背景随着计算机系统的应用和微机网络的发展,通信功能越来越显得重要。计算机与外界的信息交换称为通信。因此,通信既包括计算机与计算机之间,也包括计算机和外部设备之间、计算机与单片机之间的信息交换。基本的通信方式有并行通信和串行通信两种。人们为了更好地认识世界,尽可能多地获取自然界的各种信息,单纯依靠人类的感官已远远不能满足人们的愿望。由微处理器和各种
8、性能优良的器件构成的数据采集系统的应用日益广泛为人类获取各种信息提供了必要的手段,数据采集系统是模拟系统和数字系统之间的接口。为了能够采集快速变化的信号,例如,发动机的点火过程、机械的冲击振动等等,总是希望数据采集速率越快越好,所以,一个数据采集系统的优良与否直接关系到一个控制系统性能的好坏。应用上位机实现现场的采集与控制越来越被大家所重视,上位机提供良好的人机界面,使现场监控更直接、简洁可靠和稳定。在现代钢铁企业中,结晶器是连续铸钢中的铸坯成型设备,也是连铸机心脏设备和关键技术。最初的连铸机结晶器是静止的,在拉坯过程中极易与结晶器壁发生粘结,从而导致拉不动和拉漏事故。因此静止不振动的结晶器限
9、制了连铸生产的工业化。结晶器振动是使结晶器按给定的振动幅度、振动频率和波形偏斜特性沿连铸机外弧线运动。其目的是便于“脱模”,能有效地防止连铸坯在凝固过程中与结晶器铜壁发生粘结而出现粘挂拉裂和拉漏事故,提高连铸坯的表面质量。考虑到结晶器振动状况选择的不同对连铸坯表面质量好坏产生的重要影响,我们希望选择最佳的振动状况,保证炼出钢的质量最好,从而决定结晶器振动状况的参数包括结晶器的振动幅度和振动频率等,因此,对结晶器振动状况的控制其实就是来调整这些振动参数。1.2 研究现状在现存的工业通信中,串行通信技术依然有很大的生存空间。目前以太网基本上实现的是计算机设备与设备之间的互联,而在接入终端,很多设备
10、与计算机的连接是通过串行通信接口来实现的。在计算机刚刚出现的时候,设备连接问题就出现了。比如说银行最早的IBM大型机需要和终端连接,这个连接就是用串行通信技术来实现的。直到现在,串行通信技术被广泛地应用到IT和工业通信领域。随着互联网络技术的兴起,串行通信技术也得到新的发展空间。计算机常常通过串口连接Modem或其他可在PSTN公用 网上使用的通信设备(网络控制器等),采用拨号或租用专线的方式入网,与远程的终端服务器、POS机、ATM取款机等在广域网或城域网范围内通信。局域网LAN中也可采用串行通信技术,计算机将串口直接连接到终端服务器上。在网络中的以太网交换机、路由器设备等主要的数据传输设备
11、中,人们除了可以见到以太网接口、光纤接口以外,还可以见到一个控制口,即Console口,这个接口使用的也是串行通信技术。在连铸炼钢过程中,提高连铸机的生产率是国内外冶金界共同努力的方向。而加快浇铸速度是增加连铸机生产率的最有效途径。但浇铸速度的提高又会带来连铸机工作稳定性和铸坯表面质量下降的问题。最令人担心的是铸速提高会使结晶器内凝固壳厚度减薄,坯壳与结晶器之间摩擦力增大而引起的漏钢事故增加,严重影响连铸坯的表面质量。1.3 研究意义由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的 网进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人机交换
12、设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,上位机与下位机之间的通信,采用串行方式交换数据也很普遍。在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。串行通信广泛应用于Internet、电信、金融、工业控制、服务业、终端连线及其他应用领域,在不同的应用领域,串行通信可以与其他通信方式相结合、与Access或Mssql数据库相结合、与WinSock通信相结合,方便的与SMS模块、Modem、Rabbit 2000潜入式系统、PLC通信程序、MATLAB环境等进行通信,所以研究串口通信软件设计具
13、有很强应用价值。第二章 数据采集系统总体方案设计系统的设计要求在工业生产中,为了减少摩擦力,结晶器会按一定的振动模式相对铸坯做振动。而不同的振动对连铸坯表面质量好坏产生的重要影响。因此为了冶炼出钢的质量最好,就要对结晶器的振动情况进行监测和控制。对此提出以下设计要求:利用VC+编写的串口通信程序能够接收到单片机数据采集系统传递的结晶器振动数据并发送数据,通过PID控制算法和Modbus通信协议来控制结晶器的振动,使结晶器的振动达到工艺要求。系统的功能实现设计的主要思想是利用串行通信技术完成对结晶器振动的实时数据采集。则系统软件各部分的功能如下:1、为了对控制系统进行一定的安全防范,创建一个登陆
14、界面来进行用户权限控制。2、使用MSComm控件来进行串口通信设置,与下位机进行串口数据采集。3、使用软件定时器的方法来实现动态曲线的显示。4、采用PID控制算法来完成对结晶器振动参数控制。第三章 系统软件设计 开发软件选择VC+是微软公司开发的一个IDE(集成开发环境),就是使用C+的一个开发平台。VC主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。MFC实际上是微软提供的,用于在C+环境下编写应用程序的一个框架和引擎。VC+应用程序的开发主要有两种模式,一种是WIN API方式,另一
15、种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势。Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。VB作为开发工具而言它使用Basic这种面向过程的语言来进行工作,把一个项目或者说一套解决方案分成若干个模块每个过程完成相应的工作。而C+是一种面向对象的编程语言,它的思想更接近于人的思维,它认为万物皆对象,而每个对象既是独立存在具有主动思维的个体,又可以是互相作用相互制约的联系!VC编程的更注重效率,编译后得
16、到的程序可直接运行,VC是面向对象的,而VB则是基于对象的。因为VB只有封装的特性,却不支持继承和多态。开发一个使用在Windows下的软件,C+可以说是一个规范,现在的C+编译器或多或少都对它进行了扩充,集成了更多东西。其主要应用方面如下: VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。 VC主要用在驱动程序开发。VC执行效率高,当对系统性能要求很高的时候,可用VC开发。 VC主要适用于游戏开发。VC多用于单片机,工业控制等软件开发。 VC可以开发优秀的基于通信的程序。 VC可以开发高效灵活的文件操作程序。 VC可以开发灵活
17、高效的数据库操作程序。 VC是编CAD软件的唯一选择!包括AUTOCAD的二次开发。 VC在多线程、网络通信、分布应用方面,VC+有不可比拟的优势。3.2 串行通信系统 串行通信概念CPU与外设之间信息交换的过程称为通信。根据CPU与外设之间连线结构和数据发送方式的不同,可将通信分为并行通信和串行通信两种基本方式3。在并行通信方式中,数据各位同时传送,如图所示,并行通信的优点是速度快,多用与同一设备内不同器件或模块之间的数据传输;缺点是需要传输线多,干扰大、可靠性差,线路架设困难,且成本高不适合进行长距离数据传输。 图并行通信 图 3.2 串行通信在串行通信方式中,数据位逐一传送,如图所示。串
18、行通信的优点是所需传输线少,适合远距离传输。假设并行传送8位二进制所需时间为T,在发送速率相同的情况下,串行传送至少需要8T。而在实用的串行通信系统中,还需要在数据位前、后分别插入起始位和停止位,以保证数据可靠接收,因此实际传输时间大于8T。 串行通信的种类根据数据传输方式的不同,可将串行通信分为同步通信和异步通信。同步通信是一种数据连续传输的串行通信方式。通信时,发送方把需要发送的多个字符节的数据和校验信息连接起来,形成数据块。发送时,发送方只需在数据块前面插入12个特殊的同步字符,然后按特定速率逐位输出数据块内的每一个数据位。显然,在这种通信方式中,数据块内各个字节数据之间没有间隙,传输效
19、率高,但发送、接收双方必须保持同步,且数据块的长度越大,对同步的要求就越高。因此,同步通信设备结构复杂(发送方要能自动插入同步字符,接收方要能自动检测出同步字符,且发送、接收时钟相同,即除了数据线和地线外,还需要时钟信号线)所示:表 3.1 同步通信数据帧同步字符1同步字符2n个字节的连续数据校验信息1校验信息2异步通信的特点是每次只传送一个字,每个字由起始位、数据位、奇偶校验位和停止位组成,典型的异步通信数据帧格式如图所示, 异步通信数据帧字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。起始位:位于字符帧开头,只占一位,为逻辑0低电平,用于向接收设备表示发送端开始发送一帧
20、信息。数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位在前高位在后。奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户决定。停止位:位于字符帧最后,为逻辑1高电平。通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。波特率是异步通信的另一个重要指标。波特率是每秒钟传送二进制数码的位数,也叫比特数,单位为bit/s,即位/秒。波特率用于表征数据传输的速度,波特率越高,数据传输速度越快。但波特率和字符的实际传输速率不同,字符
21、的实际传输速率是每秒内所传字符帧的帧数,和字符帧格式有关。可见,异步通信与同步通信并没有本质的区别,只是在异步通信中数据块长度短(一般为一个字节),收发双方容易实现同步,但各数据块之间不连续(即插入了起、止位)。异步通信的过程可概述为:对于发送方来说,发送时,先输出底电平的起始位,然后按特定速率发送数据位,当最后一位数据发送完毕后,发送一个高电平的停止位,这样就完成了一帧数据的发送过程。如果不再需要发送新的数据或数据尚未准备就绪时,就将数据传输线置为高电平状态。对于接收方来说,要不断检测传输线路上的电平状态。当发现传输线由高电平变为低电平时,即认为有数据传入,进入接收准备状态,然后以相同速率检
22、测传输线的电平状态,接收随后送来的数据位、奇偶校验位和停止位。也就是说,在异步通信方式中,发送方通过控制数据线的电平状态来完成数据的发送,接收方通过检测数据线的电平状态确认是否有数据传入以及接收的数据位是0还是1,只要发送速率和接收检测速率相同,就能准确接收,发送、接收设备可以使用各自的时钟源完成数据的发送和接收,无需要使用同一时钟信号。可见,异步串行通信所需要传输线最少,一根数据线和一根地线就能实现数据的发送及其接收。 串行通信的传输方向根据串行通信数据的传输方向,如图所示,可将串行通信系统分为单工方式、半双工方式、和全双工方式3。如果两串行通信设备之间只有一根数据线,一方发送,另一方接收,
23、就构成了“单工”方式,如图(a)。如果两串行通信设备之间将依靠一根数据线分时收、发数据,就构成了,“半双工”通信方式,如图(b)。在这种方式中,在同一传输线上要完成数据的双向传输,因此通信双方不可能同时发送和接收,任何时候只能是一方发送,另一方在接收。如果在两通信设备之间能同时接受和发送,就构成了,“全双工” 通信方式,如图(c)。由于允许同时发送和接收,就需要两根数据线:A设备的发送端接B设备的接收端;B设备的发送端接A设备的接收端。图 通信方式 串行通信接口串行接口简称串口,也称串行通信接口(通常指COM接口),是采用串行通信方式的扩展接口。一条信息的各位数据被逐位按顺序传送的通讯方式称为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 串口 数据 采集 系统 设计
限制150内