上位机.docx
- 文档编号:30689664
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:13
- 大小:210.48KB
上位机.docx
《上位机.docx》由会员分享,可在线阅读,更多相关《上位机.docx(13页珍藏版)》请在冰豆网上搜索。
上位机
LabVIEW
百科名片
LabVIEW程序
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:
其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
目录
简介
1.虚拟仪器(VI)的概念
2.LabVIEW的概念
特点
版本信息
1.参考书籍
简介
1.虚拟仪器(VI)的概念
2.LabVIEW的概念
特点
版本信息
1.参考书籍
展开
编辑本段简介
虚拟仪器(VI)的概念
虚拟仪器[1](virtualinstrument)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
上面的框图反映了常见的虚拟仪器方案。
虚拟仪器[1]实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器[1]的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW[2]。
虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW[2]长期、系统、有效的研究开发使得该公司成为业界公认的权威。
目前LabVIEW的最新版本为LabVIEW2009,LabVIEW2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。
使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器[1]或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。
LabVIEW的概念
与C和BASIC一样,LabVIEW[2]也是通用的编程系统,有一个完成任何编程任务的庞大函数库。
LabVIEW[2]的函数库包括数据采集、GPIB、串口控制、数据分析、数据
LabVIEW标志
显示及数据存储,等等。
LabVIEW[2]也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。
LabVIEW[2](LaboratoryVirtualInstrumentEngineeringWorkbench)是一种用图标代替文本行创建应用程序的图形化编程语言。
传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW[2]则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
VI指虚拟仪器,是LabVIEW[2]的程序模块。
LabVIEW[2]提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW[2]中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW[2]的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图代码。
编辑本段特点
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
未来
虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或GPIB协议。
未来的仪器也应当是网络化的。
[2]
LabVIEW[2](LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW[2]集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW[2]是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW[2],可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。
像许多重要的软件一样,LabVIEW[2]提供了Windows、UNIX、Linux、Macintosh的多种版本。
它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!
现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索CPUVIEW会有更详细信息;)。
编辑本段版本信息
简单回顾一下LabVIEW最近的发展历史(也仅限于我能够收集到的版本),从这里也可以间接的体会到LabVIEW的发展速度有多快。
从LabVIEW的软件版本来看(我能收集到的),应该有LabVIEW5系列、LabVIEW6系列、LabVIEW7系列和LabVIEW8系列。
发布年份可能有误,以NI为准。
LabVIEW5.0发布于:
1998年
LabVIEW5.1.1发布于:
2000年3月
LabVIEW6.02发布于:
2001年2月
LabVIEW6.1发布于:
2002年1月
LabVIEW7.0发布于:
2003年5月
LabVIEW7.1发布于:
2004年4月
LabVIEW7.1.1发布于:
2004年11月
LabVIEW8.0发布于:
2005年10月
LabVIEW8.0.1发布于:
2006年2月
LabVIEW8.20发布于:
2006年8月
LabVIEW8.2.1发布于:
2007年3月
LabVIEW8.2.1f4发布于:
2007年9月
LabVIEW8.5发布于:
2007年8月
LabVIEW8.5.1发布于:
2008年4月
LabVIEW8.6发布于:
2008年8月
LabVIEW8.6.1发布于:
2009年2月
LabVIEW2010发布于:
2010年8月
从NI的LabVIEW版本号,可以看出:
1、系列号:
5、6、7、8表示新的系列,软件结构或功能可能有重大改进(付费升级)
2、版本号:
5.x、6.x、7.x、8.x表示软件有新的内容或比较大的改进(付费升级)
3、版本号:
5.x.x、6.x.x、7.x.x、8.x.x表示软件较上个版本进行了修补(免费升级)
参考书籍
基于LabVIEW的单片机温度测控系统设计
作者:
肖金壮 张伟 王洪瑞 魏会然 来源:
微计算机信息 录入:
better 字体:
SingleChipMicrocomputerTemperatureMeasurementandControlSystemBasedonLabVIEW
Abstract:
ByusingLabVIEWdevelopmentenvironment,aPC-basedsupervisoryinterfaceisdesigned.ThePCcommunicateswiththe89C51SingleChipMicrocomputerviaserialcommunication,thentheprocessparametercanbeacquiredandcontrolledbythePC.Thismeasurementandcontrolsystemissimpletodesign;itsimplifiesthehardwarearchitectureandisconvenienttobemodified,italsohasgoodextensibility.
Keywords:
SerialCommunication; TemperatureMeasurementandControlSystem;SingleChipMicrocomputer
摘要:
利用LabVIEW开发环境设计PC上位机的监控界面,上位机通过串行口与89C51单片机通信,从而实现对过程参数的测量和控制。
该测控系统设计简单,简化了系统硬件结构,并且易于修改,具有很好的可扩展性。
关键词:
串行通信;温度测控系统;单片机
1 引言
虚拟仪器技术已经在测试测量以及工业控制领域得到广泛的应用。
通过利用NI(NationalInstruments)公司提供的LabVIEW软件和相关硬件,可以方便快捷的设计出所需的测控系统,但其提供的硬件大都比较昂贵。
这里设计的系统组成框图如图1所示。
上位机PC通过自带的串行口,和单片机进行通信。
在此基础上,使用LabVIEW8.0设计上位机监控界面,实现对被控温度的测量和控制,从而降低了系统的硬件成本。
下位机采用89C51单片机,单片机外围电路将采集到的温度信息传给单片机,单片机再将其传到上位机。
上位机根据从单片机得到的数据,完成被控量的显示和控制。
为了实现PC机和单片机的串行通信,还需设计一个电平转换电路,这里使用的核心芯片是MAX232CPE。
图1系统组成框图
2 上位机软件设计
上位机采用LabVIEW编程,LabVIEW是专业的测控软件。
通过使用LabVIEW可以缩短测控系统的设计时间,而且设计出的系统界面美观,便于修改,易于扩展。
2.1LabVIEW串行通信功能模块介绍
在LabVIEW功能面板的InstrumentSerial目录下,包含串行通信所需的集成模块。
利用这些模块,可以非常方便的设计出基于串行通信的测控系统。
需要注意的是,在使用这些模块之前,需安装光盘上的VISA驱动程序;也可从NI的网站免费下载最新VISA驱动程序。
下面介绍一下最常用的串行通信模块:
I/O
1)VISAConfigureSerialPort。
用于初始化所选择的串行口。
其中VISAresourcename用于选择所用到的串行口,PC机中常用到的串口号分别用COM1和COM2表示。
Flowcontrol用于设置握手方式,buffersize用于设置缓冲区的大小。
Baudrate,databits,stopbits,parity分别用于设置串行通信的波特率,数据位长度,停止位长度,校验方式。
2)VISAWrite。
用于将writebuffer中的字符写到VISAresourcename指定的串行接口中。
3)VISARead。
从VISAresourcename指定的串行接口中读取规定字节数的数据,并将这些数据传递给readbuffer。
Bytecount用于设置要读取的字节数。
4)VISAClose。
用于关闭VISAresourcename指定的串行口,让出串行口的使用权。
2.2LabVIEW程序设计
系统主监控界面如图2所示。
用到的控件包括:
控件面板上I/O子面板中的VISAResource控件;Array,Matrix&Cluster子面板的Array控件;Numeric子面板下的NumericControl控件;Boolean子面板下的RoundLED控件;Graph子面板下的WaveformChart控件。
图2上位机监控界面
其中端口选择用于设置用到的串行口,温度设定用来设置期望的温度值。
波形图控件用于显示采集到的温度值。
这里系统所能达到的最高温度为230℃左右,因此图中波形图控件的最大量程设置为250℃。
图3上位机程序框图1
图4上位机程序框图2
系统的程序框图如图3和图4所示。
其中串行通信的主要参数设置如下:
波特率为1250,数据位8位,停止位1位,不采用握手信号。
程序开始首先利用VISAConfigureSerialPort模块对串行口进行初始化。
然后判断开始/暂停采集按钮是否按下,如果处于按下状态,则执行Case语句的True分支程序;否则执行Case语句的False分支程序。
在True分支程序里,首先利用VISAWrite模块将温度设定值传给单片机,然后用VISARead模块接受单片机传递过来的温度信息,并将其显示在波形图控件上。
在False分支程序中,则不进行任何操作。
图5单片机程序框图
因串行通信中传递的是字符串类型的数据,因此需要将以数字量形式存在的温度设定值转化为字符串格式,才能写入VISAWrite;这里采用ByteArrayToString功能模块实现这一功能。
同样的,需要将从VISARead读取的字符串信息转换成数字量,然后才能在波形图控件上显示;可采用StringToByteArray功能模块实现这一转换。
框图中的WaitUntilNextmsMultiple模块用于设置系统串行通信的控制周期,其输入端子millisecondmultiple用于给定需要等待的毫秒数。
这里给出的设定值为1000,即等待1秒的时间。
3 单片机程序设计
这里选用的是89C51单片机,采用C语言编程。
51系列单片机自身具有全双工的异步通信接口,可方便的实现串行通信。
通过软件编程,它可以做通用异步接收和发送器UART(UniversalAsynchronousReceiver/Transmitter)用,也可作为同步移位寄存器用。
其帧格式可有8位、10位和11位,并能设置各种波特率,在实用上灵活方便。
主程序框图如图5所示。
其中temp中保存的是采集到的实际温度,set_temp中保存的是上位机传给单片机的温度设定值。
系统初始化阶段,令单片机的定时器T1工作于定时方式2,用于产生串行通信所需的波特率。
串行口工作在方式1,为10位异步通信方式,即每帧数据由1个起始位,8个数据位,1个停止位构成。
令51单片机的定时器T0工作于定时器模式,用于产生指定的控制周期。
在T0的中断程序里,首先将采集到的温度信息保存到全局变量temp中,然后再根据上位机给出的期望温度值set_temp,计算出温度的偏差E。
在此基础上,可选用PID等控制算法给出控制量C,进而对温度进行实时控制。
单片机与上位机串行通信的中断程序如下:
serial()interrupt4
{
if(RI==1)
{
RI=0;
set_temp=SBUF;
SBUF=temp;
while(TI==0);
TI=0;
}
}
4 结论
本文利用LabVIEW设计了一个温度测控系统,可以在上位机PC上完成被控温度的显示与控制。
比较详细的介绍了上位机和单片机程序的编写过程。
借助于LabVIEW还可以通过简单的设置,将采集到的温度数据保存到指定的文件中。
LabVIEW具有强大的网络通信功能,可以方便的实现远程控制。
相信LabVIEW将在测控领域得到更广泛的应用。
本文作者创新点:
使用LabVIEW软件设计上位机监控界面,与VisualC++等开发软件相比,使用LabVIEW软件可更加方便的设计出美观的监控界面,并缩短系统的开发周期。
在本文设计的系统中,上位机PC通过串行口与单片机进行通信,不但实现了对工业现场温度信息的采集,而且实现了对现场温度的实时、远程控制。
参考文献:
[1]李群芳,黄建.单片微型计算机与接口技术.北京:
电子工业出版社,2001
[2]刘金颂,严洁,郑庆红.基于LabVIEW和单片机的空调温度场测量系统的研究[J].测控技术,2005,216:
78-80
[3]魏晨阳,朱健强.基于LabVIEW和声卡的数据采集系统[J].微计算机信息,2005,1:
45-46
[4]逯颖.基于LabVIEW的串行通信接口设计与实现[J].现代电子技术,2006,17:
123-124.
[5]刘君华等.虚拟仪器图形化编程语言LabVIEW教程.西安电子科技大学出版社,2001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上位