基于LabVIEW的控制系统仿真本科毕业设计(论文)

更新时间:2023-11-23 00:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于LabVIEW的控制系统仿真

摘 要

在控制理论教学和实验中,存在着设备短缺、教学手段单一等问题,采用虚拟控制系统实验方式可有效地解决这些问题。本文对控制系统仿真的意义与研究现状作了介绍,提出并确定了基于LabVIEW的控制系统仿真的实施方案。应用NI公司的LabVIEW 2009、控制设计工具包作为软件开发工具,实现了控制系统的建模、分析与设计这一系列过程的计算机仿真。经过编写程序和发布应用程序,最终开发出了一种交互式实验教学系统。该系统包含信号发生器、典型环节、质点-弹簧-阻尼器系统和一级倒立摆系统四个子模块,用户可进行控制系统建模、性能分析、PID设计、LQR设计等方面的研究。各个子模块运行良好,整个系统具有操作简单、界面友好和实时交互的特点;对于教学和实验的改革和创新具有一定的指导意义。

文中详细介绍了该实验教学系统的设计思路与设计过程。主体部分是对系统各个子模块的理论分析、相应的算法分析和虚拟仪器程序的编写,此外还涉及程序的动态调用和发布应用程序等内容。

关键词:控制系统;仿真;LabVIEW;倒立摆;实时交互

I

Simulation of Control System Based on LabVIEW

Abstract

In the teaching and experimental process of control theory, there exist problems such as equipment shortages, monotonous teaching methods and etc. We can use Virtual Instrument to solve these problems effectively. This paper introduces the significance and research status of the control system simulation, puts forward and determines the implement scheme of the Control System Simulation Based on LabVIEW. Use NI's products (LabVIEW 2009, Control Design Toolkit) as software development tools to realize computer simulation of the control system modeling, analysis and design process. After writing programs and publishing applications, we can achieve an interactive experimental and teaching system. The system consists of four sub-modules: signal generator, typical elements, the mass-spring-damper system and the single inverted pendulum system. Users can do research in control system modeling, performance analysis, PID design, LQR design and other aspects. Each sub-module of the system runs well, the whole system has the features as follows: simple, friendly interface and real-time interactive. It will provide the teaching and experiment field with reform and innovation.

This paper describes the thinking and design process of the system in details. Theoretical analysis and algorithm analysis for the sub-module and Virtual Instrument programs writing are the main parts. It also discusses the dynamic program invocation and publishing applications and so on.

Keywords: Control System; Simulation; LabVIEW; Inverted Pendulum; Real-Time Interaction

II

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

原创性声明

本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作 者 签 名: 日 期: 指导教师签名: 日 期:

使用授权说明

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

作者签名: 日 期:

I

学位论文原创性声明

本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。

作者签名: 日期: 年 月 日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

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

作者签名: 日期: 年 月 日

导师签名: 日期: 年 月 日

II

目 录

1 绪论 ...................................................................................................................................... III

1.1 课题背景 ............................................................................................................................................ 1 1.2 控制系统仿真的意义......................................................................................................................... 1 1.3 控制系统仿真的研究现状 ................................................................................................................. 2 1.4 本课题研究内容 ................................................................................................................................ 3

2 LabVIEW概述 ....................................................................................................................... 4

2.1 虚拟仪器技术 .................................................................................................................................... 4 2.2 控制设计工具包 ................................................................................................................................ 5

3 系统方案的选定 .................................................................................................................... 7

3.1 系统概述 ............................................................................................................................................ 7 3.2 系统方案的比较与选定..................................................................................................................... 8 3.3 系统子模块的规划............................................................................................................................. 9

4 系统设计 .............................................................................................................................. 10

4.1 信号发生器 ...................................................................................................................................... 10 4.1.1 确定方案 .................................................................................................................................. 10 4.1.2 VI设计 ...................................................................................................................................... 11 4.2 典型环节 .......................................................................................................................................... 13 4.2.1 建模及理论分析 ...................................................................................................................... 13 4.2.2 VI设计 ...................................................................................................................................... 14 4.3 质点-弹簧-阻尼器系统 ............................................................................................................... 19 4.3.1 建模与模型转换及其VI设计 ................................................................................................ 19 4.3.2 模型分析及其VI设计 ............................................................................................................ 23 4.3.3 PID设计及其VI设计.............................................................................................................. 26 4.4 一级倒立摆系统 .............................................................................................................................. 31 4.4.1 建模与分析及其VI设计 ........................................................................................................ 31 4.4.2 LQR设计及其VI设计 ............................................................................................................ 37 4.4.3 实时仿真及其VI设计 ............................................................................................................ 43 4.5 动态调用VI的设计 ........................................................................................................................ 46 4.5.1 VI的动态调用 .......................................................................................................................... 46 4.5.2 VI设计 ...................................................................................................................................... 47

5 发布应用程序 ...................................................................................................................... 49

5.1生成独立可执行应用程序 ................................................................................................................ 49 5.2生成安装程序 ................................................................................................................................... 51

6 总结和展望 .......................................................................................................................... 54

6.1 总结 .................................................................................................................................................. 54 6.2 展望 .................................................................................................................................................. 54

参考文献 .................................................................................................................................. 55 附 录 ........................................................................................................................................ 57 致 谢 ........................................................................................................................................ 72

III

虚拟仪器主要是指后一种方式。图2-1反映了常见的虚拟仪器方案[2]。

图2-1 常见的虚拟仪器方案

由于采用了通用的硬件和计算机,使得系统的成本下降,开发周期缩短,维护的成本降低。与传统仪器相比,虚拟仪器具有以下几个特点:

(1) 开放性:在一定的通用硬件模块和软件环境支持下,用户可以根据实际情况设计出自己的测试方案,以完成不同的测试任务。

(2) 模块化:各种测量数据可以由不同的处理模块进行处理。

(3) 可重复性:传统仪器有使用寿命、使用次数的限制。而用LabVIEW创建的虚拟仪器,可重复使用,完全不受时间、地点、使用次数的制约。

(4) 自定义性:用户能够根据自己的需要定义仪器功能。

(5) 低价位:现代计算机性能价格比的不断提高,使得越来越多的用户认可并接受虚拟仪器系统。应用虚拟仪器系统技术,用户可以用较少的资金、时间、系统开发和维护费用,开发出功能更强、质量更可靠的产品和系统。

(6) 灵活性:它可以很方便地通过选择不同的硬件配置和改变软件来实现各种测控功能,使得硬件资源具备了再用性。

虚拟仪器作为现代仪器仪表发展的方向,己迅速成为一种新的产业,尤其在发达国家中发展更快,其设计、生产和使用己经十分普及。从90年代开始,国内的一些大学也相继开展了虚拟仪器系统的研究与开发工作,虚拟仪器的研究也被列为国家自然基金优先资助领域。今后,虚拟仪器将会逐步取代传统的测试仪器而成为测试仪器的主流。 2.2 控制设计工具包

(1) 组成

LabVIEW控制设计工具包(Control Design Toolkit)共有五部分:PID Control工具包、Control Design and Simulation工具包、 Simulation Interface工具包、System Identification 4.0 系统辨识工具包、SignalExpress v3.0(Windows版)交互式测量软件工具包。本课题主要使用Control Design and Simulation工具包,因此在这里重点对该模块作一些介绍。

在正确安装了LabVIEW控制设计工具包后,函数选板中会出现相应的“控制设计与仿真(Control Design&Simulation)”子选板,其中包含了控制设计与仿真所有的VI库,如图2-2所示:

图2-2 控制设计工具包的VI库

控制设计与仿真工具包中所包含的VI库相当丰富,涵盖了控制系统数学模型的建立、转换,各种时域和频域分析方法,以及经典和现代控制理论中所涉及的其他许多分析和设计方法,使得该工具包完全可以成为控制设计和仿真领域内一个独特和强大的工具平台。

(2) 特点

LabVIEW控制设计工具包(Control Design Toolkit)是一个用于分析、设计和实现控制系统的工具与数学函数集合[3,7]。借助该工具包,可以方便快速地对系统进行建模、转换、分析、求解等各种操作;可将烦琐的计算和绘图过程交给计算机去完成,并快速得到正确的分析结果。作为NI LabVIEW图形化系统设计平台的组成部分,该工具包具有高性能、实时运行及高级Kalman滤波等功能,有助于工程和科研人员快速进行控制系统的设计及最终实现。

新版的LabVIEW控制设计工具包(Version 2.1)进一步增强了LabVIEW的图形化开发环境,为控制设计工程人员提供了更加完整的工具组件。可计算分割I/O

延迟,从而实现更加精确的模型和整体增强的闭环系统性能。该软件还无缝集成了LabVIEW的仿真模块(Simulation Module),可帮助设计人员描述非线性和连续系统,并完整实现其设计过程的验证。可用于实现复杂、实时应用系统的建模、分析和设计,适用于汽车、航空、复杂机械控制及硬件在环(hardware-in-the-loop)等应用,其中高级Kalman滤波功能对于无人车辆的实时导航系统非常有用。

(3) 与MATLAB控制系统工具箱的比较

LabVIEW控制设计工具包与MATLAB控制系统工具箱(Control System Toolbox)实现的功能很相似。它们都对控制系统,尤其是线性时不变(LTI)系统的建模、分析和设计提供了一个完整的解决方案,也避免了繁琐的编程工作,是线性控制系统分析和设计的高效率工具[9]。在二者基础上都可以进行二次开发,开发出实验教学系统或是CAI课件。目前研究比较多的是利用MATLAB控制系统工具箱进行二次开发,主要应用到MATLAB软件中的图形用户界面(GUI)设计技术。与之相比,利用LabVIEW控制设计工具包进行二次开发的优势集中体现为用户界面设计比较方便,开发者可以把精力集中于程序的编写上,这是由LabVIEW软件“所见即所得”的特点所决定的。

3 系统方案的选定

3.1 系统概述

控制系统仿真系统是一种交互式实验教学系统,对于教学实际具有非常现实的意义。本文在对该系统的实施方案进行研究的基础上,在LabVIEW平台上完成了系统的开发设计。

该系统具有以下特色:

? 涵盖面广:涵盖了经典控制理论与现代控制理论的大部分内容,涉及控制系统的建模、分析与设计;

? 界面友好:人机界面友好,使用方便,所见即所得。用户无需了解LabVIEW的相关知识,可直接进行各种虚拟实验操作;

? 实时交互:输入相关参数,即可得出计算机仿真结果,对用户的任何操

作都能立即给出反馈。 3.2 系统方案的比较与选定

常用的基于LabVIEW的控制系统仿真可选用的方案如下:

(1) LabVIEW + 控制设计工具包:以LabVIEW为开发平台完成系统界面的设计,使用LabVIEW控制设计工具包完成控制系统的建模、分析与设计;

(2) LabVIEW + MATLAB:以LabVIEW为开发平台完成系统界面的设计,在LabVIEW中调用MATLAB完成控制系统的建模、分析与设计。

两种方案的差别主要体现在LabVIEW和MATLAB的差别上,下面对两种语言的优缺点加以分析:

LabVIEW建立在图形数据流编程语言——G语言上,易于使用,大大简化了过程控制和测试软件的开发。LabVIEW提供了一个开放型的开发环境,使用图标代替文本代码创建应用程序,拥有大量与其他程序通信的VI库;但是在对各种算法的支持方面,LabVIEW的工具箱有限,这就限制了大型应用程序的快速开发。

MATLAB以其强大的科学计算功能、大量稳定可靠的算法库,已成为数学计算工具方面事实上的标准。MATLAB提供了强大的矩阵运算和图形处理功能,编程效率高,几乎在所有工程计算领域都提供了准确、高效的工具箱。但其界面开发功能较差,并且数据输入、网络通信、硬件控制等方面都比较繁琐[32,33]。

根据以上分析,从理论上讲,把LabVIEW与MATLAB结合,即采用方案(2)会有一定的优势:充分利用了MATLAB提供的大量高效可靠的算法和LabVIEW的图形化编程能力。但该方案在实践过程中存在不少问题,具体体现如下:

(1) 混合编程时,在LabVIEW中调用MATLAB会增加计算机负担 常用的调用方法有两种:①使用MATLAB Script节点;②使用ActiveX函数模板[4]。使用方法①时,须同时运行LabVIEW与MATLAB,通常会干扰LabVIEW前台程序的运行,甚至造成程序崩溃;另外程序执行完后,MATLAB也不能自动关闭。方法②较方法①更为复杂,适用于较大的应用程序开发。虽然避免了方法①的缺陷,但经常会遇到数据类型的转换,此外在LabVIEW的顺序结构中使用时会使整个程序不能及时处理其他操作。

(2) LabVIEW与MATLAB很难实现无缝对接

这一点主要体现在LabVIEW与MATLAB的数据通信方面。因为LabVIEW和MATLAB是两种不同的编程语言,有各自的数据类型定义,所以结合应用时必须注意MATLAB脚本节点内外数据类型的匹配。LabVIEW与MATLAB之间的数据通信仅支持Real、RealVector、RealMatrix、Complex、VectorComplex、Matrix六种格式的数据[3,4],且必须根据具体情况进行选择,否则LabVIEW运行

时将产生错误或错误的信息。

(3) 增加了发布应用程序的困难

当编写好应用程序以后,用户并不希望程序只能在LabVIEW开发环境中运行。这就需要发布应用程序,生成可执行文件或安装包。在LabVIEW中发布应用程序是比较简单的,利用“LabVIEW Application Bulider”这一应用程序生成工具可以很方便地完成。但如果采用LabVIEW与MATLAB混合编程,在发布应用程序时需要加入MATLAB动态链接库等相关文件,这就增加了发布应用程序的复杂度与难度,容易导致发布应用程序失败或运行结果错误。

鉴于以上各点,并且考虑到本课题所做的程序设计并非较大的应用程序,针对方案(1) 作如下分析:

? 可以避免LabVIEW与MATLAB混合编程时引发的各种问题; ? 从功能上讲,针对本设计而言,LabVIEW控制设计工具包完全可以实现MATLAB中控制系统工具箱的相关功能;

? 本方案的不足之处主要体现在两方面上:①编写程序时,如果只采用图形语言,会造成程序庞大复杂、可读性差,尤其是在建立系统模型方面;②程序运行时,在计算效率、稳定可靠性方面较方案(2)稍差。对于这些不足,在设计中可以采用LabVIEW中的MathScript节点加以弥补。MathScript节点也是一种基于文本的编程节点,但其文本描述语言为LabVIEW MathScript,是一种与MATLAB语言语法非常相似的语言。它与MATLAB的区别在于:①MathScript节点只支持MATLAB的一部分函数,可实现MATLAB的部分功能;②MathScript节点是LabVIEW的一部分,不需要再安装第三方软件,也不存在于与LabVIEW的对接问题。因此MathScript节点在一定程度上(针对本设计已足够)可取代MATLAB,既解决了本方案的不足,又避免了调用MATLAB时引发的问题。

通过上面系统方案的提出、分析比较,可以选定方案(1)作为实施方案。该方案既满足设计要求,又具有简单易行的优点。 3.3 系统子模块的规划

本课题所开发的基于LabVIEW的控制系统仿真系统由若干个子模块组成,这些子模块取材于控制理论中的典型实例。通过对控制理论教学与实验中的实例进行筛选,规划系统的子模块如下:

(1) 信号发生器:实现控制系统中典型信号的产生,为控制系统的分析提供前提;

(2) 典型环节:建立比例、积分、微分、惯性、振荡等典型控制环节模型,并给出其时域响应与频域响应,作为控制系统分析的基础;

(3) 质点-弹簧-阻尼器系统:对质点-弹簧-阻尼器系统(简称Mkf系统)

进行建模及模型转换、时域与频域分析、状态空间分析、PID设计,涵盖经典控制理论的大部分内容,涉及现代控制理论的部分内容;

(4) 一级倒立摆系统:对一级倒立摆系统进行状态空间建模与分析、LQR设计、离线仿真、实时仿真,涵盖现代控制理论中线性系统理论的大部分内容,涉及最优控制理论的部分内容。

由以上规划,可得系统结构图如图3-1所示:

图3-1 系统结构图

4 系统设计

4.1 信号发生器 4.1.1 确定方案

凡是产生测试信号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号,可以根据用户对波形的命令来产生信号。

信号发生器有很多种分类方法,因而其实施方案有许多种。考虑到本课题所做研究为控制系统仿真方面,因此该信号发生器须能产生控制理论中常用的输入信号。这里采用的信号发生器的案如图4-1所示:

图4-1 信号发生器方案

该信号发生器将实现基本信号、典型信号、公式设定信号三大类信号的发生。其中基本信号将包含正弦波、三角波、方波和锯齿波,典型信号将包含脉冲信号、阶跃信号、斜坡信号和抛物线信号,公式设定信号将实现由公式描述的任意信号。 4.1.2 VI设计

(1) 程序流程图

信号发生器的程序流程图如图4-2所示。程序开始时,选择所要产生的信号类型,然后设定幅值、频率、相位等信号参数,并设定采样率和采样数的采样参数,之后将生成的波形通过波形图和波形图表输出。如果不按下“停止”按钮,将重复执行上述操作。用户更改信号类型和参数,可立即获得相应信号的波形。

图4-2 信号发生器程序流程图

(2) 子VI的选择

本程序中用到的子VI及其功能如表4-1所示:

表4-1 信号发生器程序中用到的VI

序号 1 2 3

名称 基本函数发生器.vi 公式波形.vi 冲激函数.vi

功能

根据信号类型,创建输出基本函数波形

通过公式字符串指定要使用的时间函数,创建输出波形

生成包含冲激信号的数组

(3) 程序设计

整个程序构成一个循环结构,可采用While循环结构,加入布尔按钮控制程序是否停止。

信号类型的选择可采用两级分支结构,利用下拉列表实现各分支的选择。基本信号通过“基本函数发生器.vi”产生、典型信号中的脉冲信号利用“冲激函数.vi”产生,其他信号则通过“公式波形.vi”产生、公式设定信号也通过“公式波形.vi”产生,其公式可在程序运行时设定。

按照程序流程图和以上要点,可完成信号发生器的VI设计,其前面板及程序框图如图4-3所示:

图4-3 “信号发生器.VI”的前面板和框图

4.2 典型环节 4.2.1 建模及理论分析

典型环节包括比例环节、微分环节、一阶微分环节、二阶微分环节、积分环节、惯性环节、二阶振荡环节和延迟环节,是构成控制系统的基本单元,任何一个复杂的系统总可以看成由一些典型环节组合而成[12,14]。因此掌握典型环节及其特性,可以更方便地分析复杂系统内部各单元间的联系。

各个典型环节及其形式如表4-2所示:

表4-2 典型环节及其形式

名称 比例环节

微分环节 一阶微分环节 二阶微分环节 积分环节 惯性环节 二阶振荡环节 延迟环节

传递函数G( s )

K s

频率特性G( jω)

K jω

j???1

(1??2?2)?j2???

?s?1

?2s2?2??s?1

1 s1 Ts?11 j?1 j?T?11 22Ts?2?Ts?11(1?T?)?j2?T?22

e??s e?j??

建立典型环节数学模型后,可进行时域和频域的相关分析。

时域分析主要获得典型环节的单位阶跃响应、单位脉冲响应、零输入响应以及相应的动态性能指标。由于微分环节、一阶微分环节、二阶微分环节的时域响应发散,所以对这些环节不作时域分析。在其他典型环节中,惯性环节和二阶振荡环节的时域分析最具有意义和价值。

频域分析可获得典型环节的频率特性,反映了正弦信号作用下典型环节系统响应的性能。在控制工程中,频率分析法常常是用图解法进行分析和设计的,常用的频率特性有三种图解表示。对表4-2中频率特性G( jω)可进一步求出对数幅频特性和对数相频特性,在半对数坐标平面中作出曲线,即为Bode图。以频率为参变量,将幅频与相频特性同时表示在复平面上,即得到Nyquist图(极坐标图)。以频率为参变量,将对数幅频特性与相频特性组合成一张图,纵坐标表示对数幅值,横坐标表示相应的相角,即得到Nichols图。 4.2.2 VI设计

(1) 程序流程图

典型环节建模与分析的程序流程图如图4-4所示。程序开始时,选择所要分析的典型环节类型,然后输入相关参数,建立起传递函数模型和零极点增益模型。对典型环节的数学模型加以显示,同时对模型进行时域分析或频域分析并将分析结果显示出来。如果不按下“停止”按钮,将重复执行上述操作。用户重新选择典型环节类型、变更对应的参数,即可获得相应的系统模型及相关分析。

本文来源:https://www.bwwdw.com/article/5tgv.html

Top