基于LabVIEW的上位机监控程序设计.doc_第1页
基于LabVIEW的上位机监控程序设计.doc_第2页
基于LabVIEW的上位机监控程序设计.doc_第3页
基于LabVIEW的上位机监控程序设计.doc_第4页
基于LabVIEW的上位机监控程序设计.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

基于 LabVIEW 的上位机监控程序设计毛江(中国矿业大学信电学院,江苏 徐州 221008)5摘要:随着工业自动化的蓬勃发展,远程上位机监控已经变得越来越普遍,在市场上存在着 众多的上位机软件平台。然而大部分的此类软件都是用 VB 语言编写的后台程序,相对于不 太专业的程序开发人员来说有一定的困难,大大增加了项目开发的难度。本文选择了 NI(National Instruments)公司的 LabVIEW 软件平台,在介绍了 LabVIEW 编程环境的基础上, 提出了一种基于 LabVIEW 的上位机监控方案,并详细介绍了 LabVIEW 串口通信程序以及10数据处理、图形界面等的的设计方法,并给出了相应的监控界面和串口通信程序,可以作为 相关行业从业人员的参考。关键词:LabVIEW; 上位机; 串口通信中图分类号:TP31115Program design of PC monitor based on the LabVIEWMAO Jiang(China University of Mining and Technology, Jiangsu Xuzhou 221008)Abstract: With the vigorous development of industrial automation, remote PC monitor has become more and more popular, there are a lot of PC software platform in the world market. But most of20backend application is written by VB in those platform, which is not so easy for those program developers who are not professional, because that the difficulty of the project is greatly increased. We chooses the NI (National Instruments) companys LabVIEW software platform in this article, and the LabVIEW programming environment is introduced, on the basis of that we proposed the PC monitoring scheme based on the LabVIEW platform, and introduce the LabVIEW serial25communication procedures ,data processing, design method of graphical interface and so on, the corresponding interface for monitoring and serial interface communication program are designed too, this paper can be used as reference for personnel related industry.Key words: LabVIEW; PC; Serial communication300引言近年来,工业自动化技术发展的如火如荼,在市场上存在着众多的上位机软件平台。然 而大部分的此类软件都是用 VB 语言编写后台程序,相对于不太专业的程序开发人员来说有 一定的困难。NI(National Instruments)公司的 LabVIEW 软件平台,是个功能强大且灵活 的软件,具有开发周期短、兼容性好、运行稳定等优点,更重要的是它不需要任何代码,其35后台程序完全利用图形界面编程,利用很多现成的模块,你可以很方便地开发上位机程序, 大大减少了开发的难度。1LabVIEW 编程环境介绍使用 LabVIEW 开发平台编制的程序称为虚拟仪器,简称 VI。VI 由以下三部分组成。前面板。用户界面。40前面板是 VI 的用户界面。创建 VI 时,通常应先设计前面板,然后根据设计程序框图在前 面板上创建输入/输出任务。前面板上有用户输入控制和输出控制两类对象,用于模拟显示作者简介:毛江(1988-),男,硕士,电力电子与电力传动. E-mail: 仪器的前面板。控制和显示对象以各种各样的图形出现在前面板上,具体为按钮、图形、指 示灯、示波器等1。程序框图。包含用于定义 VI 功能的图形化源代码。45前面板创建完毕后,便可在程序框图中添加源代码来控制前面板上的对象。程序框图 是图形化源代码的集合,图形化源代码又称 G 代码或程序框图代码。程序框图对象包括节 点、端子和连线。节点是程序执行元素,类似于传统文本编辑语言程序中的语句、操作符、函数或者 子程序。节点的种类包括 6 种:函数节点、子 VI 节点、结构节点、代码接口节点、公式节50点和属性节点。其中函数是内置于 G 的基本节点,它们执行诸如数字相加、按位取反等操作。函数不具有前面板和框图;结构是 LabVIEW 实现程序结构控制命令的图形表示,如循 环控制、条件分支控制等。编程人员可以使用它们控制 VI 程序的执行方式。结构实现的功 能和 C 语言中的 for、while、if 等语句类似,如 while loop 实现的功能与 C 语言的 while 语 句相仿2。55端子是程序框图和前面板之间或者在程序框图的节点之间进行数据传输的接口。一 般来说,端子是指在框图程序中可以连线的任一点。VI 前面板上的一个对象在程序框图上 都有端子与之对应。连线是输入和输出端子间的数据通道,代表程序执行过程中的数据流,它们类似于 C语言中的变量。在框图中数据时单向流动的,从源端口向一个或多个目的端口流动。不同的60线型代表不同的数据类型。每种数据类型以不同的颜色予以表示。图标和连接板。用以识别 VI 的接口,以便在创建 VI 时调用另一个 VI。当一个 VI应用在其他 VI 中,称为子 VI。子 VI 相当于文本编程语言中的子程序。2前面板设计前面板设计如图 1所示。前面板上的元素分为控制量与显示量。65控制量。包括串行调整、停止位、波特率、数据位、读取数据位数和存储路径 6 个 参量。其各个参数的设置如图所示。在运行程序之前,编程人员需要对这 6 个参量进行设置。显示量。包括右下角的示波器以及起始位、校验位、采集数值等 4 个参数。当程序 运行时,软件会将下位机发来的起始位、校验位、采集数值以及波形值通过以上的显示量显 示出来。703程序框图设计图 1 前面板示意图这部分 VI 的程序框图包括串行通信和数据处理两个部分。当上位机接收到下位机传输 来的数据后,分别通过校验和检验与软件滤波,最终将采集数据显示在示波器上,并可以对75采集数据和时间数据进行数据备份。3.1串行通信模块串行通信部分流程如错误!未找到引用源。所示。图 2串口通信流程图80软件先将 PC 进行波特率、串行口资源、数据位个数和停止位参数的初始化,然后再设置读取位参数。当 PC 机没有接到下位机发送来的数据时,关闭串行口资源;如果接收到数 据,软件则将接收到的数据以字符串格式从 SBUF 中读取出来,并将其转换成数组格式输出, 最后关闭串行口3。这就是串行通信部分的程序工作流程。85串行通信程序框图如错误!未找到引用源。所示,此部分程序主要用于接收下位机发 送来的数据,并将其转换成数组格式。然后将转换后的数据输送到数据处理程序部分进行下 一步处理。9095100105110图 3串行通信程序框图图 图4 VISA 配置串口节点展开图由错误!未找到引用源。可知,程序先通过 VISA 配置串口节点对串行口进行初始化,用来定义串行通信参数。论文中用到的初始化参数为串口调整(VISA 资源名称)、波特率、 数据位(数据比特)和停止位。串口调整赋值对应于 PC 的 COM 口4。完成以上配置之后,程序将串行口参数输送至下一节点 VISA 读取。该节点用来读取 SBUF 传送来的数据,并以字符串形式传输。如果节点没能在 SBUF 中读取到数据,则会从 错误输出端口输出错误指令。读取数据位数参数用来设置软件所要读的字符数。图 5读串口节点 图 6字符串转数组节点 图 7串口关闭节点从 SBUF 中读取完数据后,因读取的数据是字符串格式的,不方便后续的处理,所以 VISA 读取节点读取完 3 字节数据后,程序调用了字符串转数组节点。该节点将从 SBUF 读 取的数据全部转换为数组格式,输出到数据处理程序以供下一步操作。当 VISA 读取节点读取数据的过程结束后,软件调用 VISA 关闭节点关闭串行口。该节 点实现的是关闭串行口功能,只要将 VISA 资源名称和错误输入两个端口和前级相连即可。3.2数据处理模块数据处理模块流程图如图 8所示,此部分程序接收到上一级发送来的数据后,先分离 出起始位、数据位、校验位。接着程序判断接收到的数据是否符合处理条件。此判断分为三 步:开始软件先判断起始位是否为 AA;然后将起始位与数据位相加,判断累加和是否与校 验和相等;最后程序将此时采集的值与上一时刻比较,判定两者之差是否小于设定值5。当 以上三者全部满足条件后,程序将接收到的数据位通过示波器实时显示出来,并根据需要对 采集数据和时间进行存储。图 8 数据处理具体流程图115数据处理部分的程序框图如图 9所示。此部分程序接收到串行通信程序发送来的数组数据后,在分别进行起始位判断、校验和检验与软件滤波后,将数据通过前面板的示波器显 示,最后将数据备份到指定的 TXT 文档中。图 9 数据处理部分程序框图120125由图 9可知,该部分程序先调用数组索引函数将数组数据中各个数据分离出来。该节点如图 10所示,左边为数组输入端和数组索引号端口,数组的默认编号是从 0 开始,即当 索引值为 1 时,相应的输出为数组中的第二个数据,右边为元素输出端,索引与输出的个数 可以通过向下拖动增加。每个元素的输出端都与相应的索引一一对应。图 10 分离数组由通信协议知,节点中的索引 0 应赋值为 0,起始位将从右端的第一个端口输出;索引 1 应赋值为 1,数据位将从右端的第二个端口输出;索引 2 应赋值为 2,校验和位将从右 端的第三个端口输出。当数组分离完成后,程序将这三个数据输送到后级分别处理。130135图 11 起始位判断程序分离出各个数据之后,需要通过三组判断来确认下位机传来的数据是否有效。首 先通过相等判断节点(如图 11)判断起始位和 AA 是否相等。如果值相等,则输出“是” 信号;否则输出“非”信号。图 12 校验和判断140145同时,程序利用加法节点(如图 12)将起始位和数据位数值累加后,判断值与校验和 是否相等。如果值相等,则输出“是”信号;否则输出“非”信号。程序将数据位与移位寄存器里的值做差,并对差取绝对值。然后软件将此值与设置的 滤波值相比较(如图 13)。如果差值小于滤波值,则输出“是”信号;否则输出“非”信 号。最后软件将接收到的数据位保存到移位寄存器中6。图 13 滤波判断尖刺干扰150155160通过以上判断过程后,程序将 3 个判断的结果相与。当它们全部满足规定的条件时,即 3 个判断结果全为“是”,则输出“是”信号,运行条件判断语句中的“真”部分,在前 面板上分别显示接收到的起始位,数据位和校验位(如图 14所示),最后输出存储数据。 如果判断后得到“否”信号,则执行条件判断语句中的“假”部分空操作,程序将所接收到 的所有数值抛弃。图 14 数据输出当完成前面的流程后,软件将最终需要存储的数据输送到文件存储节点,通过前面板 上的确认按钮选择是否存储数据(如图 15)。这里的存储路径在前面板上设定。以上便是 数据处理部分的全部流程。图 15 文件存储上位机软件的完整程序框图如图 16所示。软件由串行接收程序和数据处理程序两部分 组成。上位机通过串行接收程序接收完数据之后,运行数据处理程序将所接收到的数据在 LabVIEW 的前面板上显示。串行接收程序负责下位机数据的接收,数据处理部分主要用来 校验和存储数据。1654结论图 16 总体程序框图170175180NI(National Instruments)公司的 LabVIEW 软件平台,是个功能强大且灵活的软件, 具有开发周期短、兼容性好、运行稳定等优点,其后台程序完全利用图形界面编程,利用很 多现成的模块,你可以很方便地开发上位机程序,大大减少了开发的难度。本文介绍了 LabVIEW 的编程环境,提出了一种基于 LabVIEW 的上位机监控方案,并给出了相应的监控 界面和串口通信程序,可以作为相关行业从业人员的参考。参考文献 (References)1 刘君华. 虚拟仪器图形化编程语言 LabVIEW 教程M. 西安:

温馨提示

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

评论

0/150

提交评论