您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟仪器技术课程设计
虚拟仪器技术课程设计题目:基于LabVIEW的自动化控制和编程设计院(系、部):电控学院班级:测控06-2班姓名:徐宁学号:0605070218指导教师:刘宏志辽宁工程技术大学课程设计成绩评定表学期2008-2009(2)姓名徐宁专业测控技术与仪器班级测控06-2课程名称虚拟仪器课程设计论文题目基于LabVIEW的自动化控制和编程设计评定指标评定指标分值得分知识创新性20理论正确性20内容难易性15结合实际性10知识掌握程度15书写规范性10工作量10总成绩100评语:任课教师王雨虹时间2009年6月14日备注课程设计任务书一、设计题目虚拟仪器课程设计二、设计任务第一天:查资料,熟悉题目;第二天:方案分析、比较;第三天:编程设计;第四天:整理设计材料第五天:整理设计说明书。三、设计计划第1天:选题查资料;第2天:方案确定;第3天:绘制流程图、调试程序;第4天:设计说明书编辑;第5天:设计说明书编辑并输出。四、设计要求1、针对实际问题,设计解决方法2、以软件为主,可以进行相关硬件内容的设计3、详细说明设计思路4、形成设计报告指导教师:刘宏志教研室主任:刘宏志时间:2009年6月15日摘要随着人类社会的进步与科学技术的发展,计算机技术在民用和工业控制领域的作用愈显示出其魅力。特别是串行通信技术,已成为实现生产自动化,提高生产力,减轻劳动强度的有效手段。串口通信是一种在计算机与计算机之间或计算机与外围设备之间传送数据的常用方法。串行通信使用计算机内建的串口,用户无需再购买任何特殊硬件,只要一根串口线就可以达到发送或接收数据的目的,而且不失测试的准确性。但传统的串口调试采用高级语言,程序代码冗长,不便,进行功能拓展。如果对串口数据进行分析,则需推翻原有程序结构,重新编制代码。图形化编程语言LabVIEW的出现为串口调试与数据分析带来了极大方便。本文开发了基于LabVIEW的串口调试软件,并给出了在该软件基础上扩展串口数据分析模块。系统以ATM51系列单片机为核心,主要由CCD摄像头、信号调理电路(包括低通滤波电路和电荷放大电路、RS-232通信电路等几部分组成。在本系统中,利用单片机内部的ADC把经过放大调理后模拟量转换为数字量,利用串口传送到上位机。在上位机可以方便的对采样数据进行分析记录。上位机采用软件LABVIEW图形化的语言编写,具有友好的人机界面。利用Labview软件进行双机串行通信系统可分为以下3个模块:(1)端口配置模块:负责串口的开关、端口的选择、波特率、数据位、停止位、校验位的选择等。(2)数据发送模块:负责实现发送数据的处理与数据的多种发送方式,具有选择手动发送或自动发送、选择发送数据的类型、设置自动发送时间间隔、读取要发送的文本、清空发送区域等功能。(3)接收显示模块:负责实现接收数据的处理与数据的多种显示方式,具有自动接收和结束接收的功能,能够保存接收的数据和清空显示区域。串口通信方式简单、可靠、稳定,具有很好的可移植性、实时性,且具有使用线路少、成本低,特别在远程传输时,能够避免多条线路特性的不一致而被广泛采用。LabVIEW作为一个具有良好开放性的虚拟仪器开发平台,为面向仪器的编程提供了强有力的支持,在LabVIEW环境下能够开发出各种功能强大、开放性好的虚拟仪器软件,构造出实用的计算机辅助测试、分析与控制系统。事实表明,与传统方法相比,基于LABVIEW的串口调试与数据分析效率高、功能全、操作简单、功能强大,具有良好的可移植性和可扩展性,能够很好地满足用户要求。关键字:串口通信单片机CCD摄像头文献综述在基于PC机的测控领域中,虚拟仪器技术的应用越来越广泛,由于大多数PC机都有1~2个RS2232串行通信接口,因此,串行通信非常流行。串行通信是一种古老但目前仍常用的数据传输方法,它用于PC机与其他仪器(例如MCS251单片机、变频器等可编程仪器)或者与另外一台计算机之间的通信。通信最终目的是将发送端发送的数据正确无误地传到接收端,由于种种因素的影响,接收端可能会收到错误的数据,甚至数据根本就没有收到。在进行异步通信时,为了避免这种差错,目前大多采用检错重发的方法加以改正。随着高性能处理器的出现,在实际应用中已越来越多地运用软件方式对传输的数据进行检错。其中较常用的方法有异或和、校验和、循环冗余码校验(CRC)等方法。对于一般的测控系统采用较多是前两种方法,本文着重讨论基于LabVIEW的串口通信数据校验和的实现方法。在弹体硬目标侵彻试验中,对高冲击信号的提取最常用的是压电加速度传感器,由于压电加速度传感器产生的电荷量很小,为了记录弹体高速侵彻硬目标过程中的加速度—时间曲线,很重要的一步就是实时采集数据并对其进行显示、存储和总结测试结果。在传统的测试系统中,通常只能对静态参数或极缓慢变化的参量进行测量,对动态参量,特别是快速过程或单次猝发过程只能借助于图形记录分析仪。与传统仪器相比,虚拟仪器提高了仪器资源的可再用性、系统可靠性、测量精度和测量可重复性。LabVIEW是美国国家仪器公司(NationalInstrument)开发的一种虚拟仪器平台,它提供了丰富的数据采集、分析和存储库函数以及包括DAQ、GPIB、PXI、VXI、RS-232/485在内的各种仪器通信总线标准的所有功能函数。本文正是利用基于LabVIEW的虚拟仪器技术对传感器的信号进行采集。过程较为复杂,编程工作量较大,周期长,效率低。如果将单片机为核心的小系统作为前端的数据。LabVIEW程序由三部分构成,即前面板、程序框图和接口板。前面板实现的是程序的输入输出功能,它包括旋钮、按钮、图形和其他控制元件与显示元件以完成用鼠标、键盘向程序输入数据或从计算机显示器上观测数据,图4是条码扫描器控制的主程序界面。程序框图是图形化编程,是VI图形化的源代码,对前面板上的各种控件对象进行控制,是VI测试功能软件的图形化表示。接口板为函数模板,它包括编程所涉及到的VI程序和函数,VI程序使用接口板来替代文本编程的函数参数表,每个输入和输出的参数都有自己的连接端口。LabVIEW串口子VI是通过RS-232串口总线与PC实现数据通信。LabVIEW串口子VI共有6个串行通信节点,主要完成对串口的设置和读写操作等功能。(1)串口参数设置节点(VISAConfigureSerialPort.vi):用于对串口进行参数设置,包括串口号、波特率、数据位、停止位、奇偶校验、数据流量控制等。(2)串口写节点(VISAWrite):向发送缓冲器写入数据或命令。(3)串口读节点(VISARead):从串口缓存中读出所传送的数据。(4)读串口缓存节点(VISABytesatSerialPort):读串口所有排队等待的数据。(5)串口中断节点(VISABreak.vi):向串口延时发送数据,延时时间可以设置。(6)串口关闭(VISAClose):将打开的串口关闭。在LabVIEW中,进行串口通讯的基本步骤分为3步:第一:串口初始化,利用VISAConfigureSerialPort.vi节点设定串口的端口号、波特率、停止位、校验位、数据位,需要注意的是在LabVIEW中串口号是从0开始编号的。第二:读写串口,利用VISARead节点和VISAWrite节点对串口进行读写。第三:关闭串口,停止所有读写操作。本系统以单片机和CCD摄像头传感器为主的前端采集系统来代替数据采集卡,单片机具有体积小、功耗低、性价比高等特点。但开发据采集系统,将采集到的数据利用串口传送到PC主系统,在LabVIEW环境下对数据进行显示、处理与分析,既充分利用了LabVIEW的强大功能,又降低了系统的开发成本,提高了效率。摄像头的主要工作原理具体而言,摄像头连续地扫描图像上的一行,则输出就是一段连续的电压视频信号,该电压信号的高低起伏正反映了该行图像的灰度变化情况。当扫描完一行,视频信号端就输出低于最低视频信号电压的电平(如0.3V),并保持一段时间。这样相当于,紧接着每行图像对应的电压信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后(因为摄像头是隔行扫描的方式),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着就会出现一段场消隐区。此区中有若干个复合消隐脉冲,其中有个脉冲远宽于(即持续时间长于)其他的消隐脉冲,该消隐脉冲又称为场同步脉冲,它是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾部分和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。摄像头每秒扫描25幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50场图像。奇场时只扫描图像中的奇数行,偶场时则只扫描偶数行。1Labview部分设计1.1visa简介Labview提供了强大的VISA库。VISA——虚拟仪器软件规范,是用于仪器编程的标准I/O函数库及其相关规范的总称。VISA库驻留于计算机系统中,完成计算机与仪器之间的连接,用以实现对仪器的程序控制,其实质是用于虚拟仪器系统的标准的API。VISA本身不具备编程能力,他是一个高层API,通过调用底层驱动程序来实现对仪器的编程,如图1,VISA是采用VPP标准的I/O接口软件,其软件结构包含三部分,如图2。图1visa结构图图2实际接口图与其它现存的I/O接口软件相比,VISA的I/O控制功能具有如下几个特点:适用于各种仪器类型(如VXI仪器,GPIB仪器,RS-232串行仪器,消息基器件,寄存器器件,存储器器件等仪器);适用于各种硬件接口类型;适用于单、双处理器结构或分布式网络结应用软件开发环境应用软件仪器驱动程序I/O接口软件VISASerialVXIGPIP构;适用于多种网络机制。VISA的I/O软件库的源程序是唯一的,其与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。1.2发送端程序设计1.2.1设置顺序框架启动LabVIEW,在其框图程序中加入顺序框架(sequencestructure),在顺序框架的右键快捷菜单中选择AddFrameAfter,再添加两个顺序框架。这样就形成了0、1、2逐步执行的三个顺序框架,它们分别对应串口的参数设置、发送数据、接收数据。1.2.2设置串口参数LabVIEW共有5个串行通信节点,分别实现串口设置、写串口、读串口、检测串口缓存、中断等功能,这些节点位于功能模板→InstrumentI/O子模板→Serial子模板中。在0号顺序框架中,按图3所示设置串口,其中在此顺序框架中引入了本地结果变量,利用此变量将端口号传递给后面的顺序框架。图3设置串口参数图1.2.3校验和的计算并发送数据在1号顺序框架中,通过For循环将5组十六进制字符转换为二进制数并相加(丢弃进位),然后取反加1。将此结果再转换为十六进制字符,与原5组十六进制字符利用BuildArray节点组成发送数据块数组,通过写串口节点分6次发送至串口。1.2.4接收返回信息接收端收到数据后经过检错,若无误就接收数据而不返回任何信息;若有错就发送“数据有误,请重新发送!”信息。发送端在接收到此信息后,必须再次发送。因此,在2号顺序框架中,通过读串口节点,来接收返回信息,其框图程序略去。从发送端前面板图中可以看到该返回信息,如图4所示。图4接收返回信息图至此发送端程序设计完毕,保存此程序,取名为“发送数据.vi”。1.3接收端程序设计接收端的设置顺序框架和设置串口参数设计同发送端一样。1.3.1接收数据检错如图4所示在1号顺序框架中,先通过读串口节点,将缓冲区中的数据全部一次性读出,并显示结果。通过For循环将读出的整个字符串每两字节分别转换为数字后相加求和(丢弃进位)。求和结果通过前面板的“检错结果”显示,若显示为“0”,表明数据传送无误,否则即错。此外,在该顺序框架中再次引入了一个本地结果变量,利用此变量将求和结果传递给后面的顺序框架,以便判断正误并反馈信息如图5所示在0号顺序框架中,通过选择结构来判断收到数据的正误,求和结果通过本地结果变量输入,若求和
本文标题:虚拟仪器技术课程设计
链接地址:https://www.777doc.com/doc-30483 .html