基于LabVIEW的控制系统仿真

基于LabVIEW的控制系统仿真
基于LabVIEW的控制系统仿真

基于LabVIEW的控制系统仿真

摘要

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

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

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

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

目录

1 绪论......................................................................................................................................... I

1.1 课题背景 ....................................................................................................................................... - 1 -

1.2 控制系统仿真的意义.................................................................................................................... - 1 -

1.3 控制系统仿真的研究现状............................................................................................................ - 2 -

1.4 本课题研究内容 ........................................................................................................................... - 2 -

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

2.1 虚拟仪器技术 ............................................................................................................................... - 4 -

2.2 控制设计工具包 ........................................................................................................................... - 5 -

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

3.1 系统概述 ....................................................................................................................................... - 7 -

3.2 系统方案的比较与选定................................................................................................................ - 7 -

3.3 系统子模块的规划........................................................................................................................ - 9 -

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

4.1 信号发生器 ................................................................................................................................. - 10 -

4.1.1 确定方案 ............................................................................................................................. - 10 -

4.1.2 VI设计................................................................................................................................. - 10 -

4.2 典型环节 ..................................................................................................................................... - 13 -

4.2.1 建模及理论分析 ................................................................................................................. - 13 -

4.2.2 VI设计................................................................................................................................. - 14 -

4.3 质点-弹簧-阻尼器系统.......................................................................................................... - 18 -

4.3.1 建模与模型转换及其VI设计........................................................................................... - 18 -

4.3.2 模型分析及其VI设计....................................................................................................... - 21 -

4.3.3 PID设计及其VI设计......................................................................................................... - 25 -

4.4 一级倒立摆系统 ......................................................................................................................... - 29 -

4.4.1 建模与分析及其VI设计................................................................................................... - 30 -

4.4.2 LQR设计及其VI设计....................................................................................................... - 36 -

4.4.3 实时仿真及其VI设计....................................................................................................... - 41 -

4.5 动态调用VI的设计 ................................................................................................................... - 44 -

4.5.1 VI的动态调用..................................................................................................................... - 44 -

4.5.2 VI设计................................................................................................................................. - 45 -

5 发布应用程序................................................................................................................. - 47 -

5.1生成独立可执行应用程序........................................................................................................... - 47 -

5.2生成安装程序 .............................................................................................................................. - 49 -

6 总结和展望..................................................................................................................... - 52 -

6.1 总结 ............................................................................................................................................. - 52 -

6.2 展望 ............................................................................................................................................. - 52 - 参考文献............................................................................................................................. - 53 -附录................................................................................................................................... - 55 -致谢................................................................................................................................... - 70 -

1 绪论

1 绪论

1.1 课题背景

控制理论是众多工科专业普遍开设的一门专业基础课,由于控制理论较抽象、课堂教学手段单一,学生接受起来较为困难。而随着高等教育规模的不断扩大,原有教学仪器设备资源相对短缺,也无法满足实验教学的需要。旧的实验教学模式越来越不适应时代发展的要求,教学和实验的体制和模式的改革势在必行。

在控制理论教学中,实验能够使学生加深对所学知识的理解,提高将理论应用于实践的能力,是教学活动中不可缺少的环节,对于培养学生的综合素质和实践技能都至关重要。采用虚拟实验的方式,一方面能够给学生提供更充分的时间和更多的机会来接触和研究所做的实验,打破了传统的实验模式,给学生更多思考和分析时间,培养学生理论联系实际的思维方式;另一方面由于虚拟实验可以为硬件(实验设备)和软件(数据分析)的结合,这样可以激发学生的兴趣来自己设计和改进虚拟实验的程序,给他们更多的自主性,调动创新意识,培养创新能力。

本课题是基于虚拟仪器技术,开发一种交互式实验教学模块,实现常见的典型控制系统的仿真。输入相关参数,即可得出仿真结果;将抽象的、静态的理论知识转化为具体的、动态的演示模型。根据教学需要,将控制理论中常见的、典型的实例利用相关软件工具(如LabVIEW、MATLAB等)实现建模、分析、设计过程的仿真,一方面有利于理论教学工作的开展;另一方面对于实验教学会起到一定的指导作用;此外控制系统的综合设计也将有利于学生综合掌握控制理论,而不是将控制理论看作章节割裂的理论。以上几点对于教学实际具有非常现实的意义。

1.2 控制系统仿真的意义

随着计算机仿真理论与技术的发展,目前各个科学与工程领域均已开展了仿真技术的研究。系统仿真是通过对系统模型的实验,研究一个存在或设计中的系统。系统仿真技术已经被公认为是一种新的实验手段,在科学与工程领域发挥着越来越重要的作用。

早期的控制系统设计可以由纸笔等工具容易地计算出来。但随着控制理论的迅速发展,只利用纸笔以及计算器等简单的运算工具难以达到预期的效果,加之计算机领域取得了迅速的发展,于是很自然地出现了控制系统的计算机辅助设计方法。控制系统的计算机辅助设计技术的发展目前已达到了相当高的水平,并一直受到控制界的普遍重视。

“控制系统仿真”就是利用计算机研究控制系统性能的一门学问,它依赖于现行《自动控制原理》课程的基础知识,但侧重点不同[9]。控制系统仿真更侧重于控制理论问题的计算机求解,可以解决以往控制原理不能解决的问题,使学生或科研工作者将主要精力集中在控制系统理论和方法上,而不是花费在没有太大价值的底层重复性机械劳动上。这样可以对控制系统建模、分析、设计过程有较好的整体了解,避免“只见树木,

基于LabVIEW 的控制系统仿真

不见森林”的认识偏差,提高控制器设计的效率和可靠性。

1.3 控制系统仿真的研究现状

控制系统仿真的研究与计算机仿真理论与技术的发展是密不可分的,国际上控制系统计算机辅助设计软件的发展大致分为几个阶段:软件包阶段、交互式语言阶段及当前的面向对象的程序环境阶段。其中影响较大、具有代表性的软件有:

● 瑞典Lund 工学院m o str A Karl ..

教授主持开发的一套交互式CACSD 软件

INTRAC ;

● 日本的古田胜久 (Katsuhisa Furuta) 教授主持开发的DPACS-F 软件

● 英国Manchester 理工大学的控制系统计算机辅助设计软件包

● 英国剑桥大学推出的线性系统分析与设计软件CLADP

● NASA Langley 研究中心的Armstrong 开发的LQ 控制器设计的ORACLS

● 美国Mitchell 与Gauthier Associate 公司推出的仿真语言ACSL

● 美国IBM 公司开发的仿真语言CSMP

● 美国学者 Cleve Moler 等人推出的交互式MATLAB 语言

● The MathWorks 公司推出的图形化的基于框图的Simulink 仿真环境

我国较有影响的控制系统仿真与计算机辅助设计成果有:中科院系统科学研究所韩京清研究员等主持的国家自然科学基金重大项目开发的CADCSC 软件;清华大学孙增圻、袁曾任教授的著作和程序;北京化工学院吴重光、沈成林教授的著作和程序,以及中科院沈阳自动化研究所马纪虎研究员主持开发的CSMP-C 仿真语言等[8]。

在上述软件中,MATLAB 语言能反映当今系统仿真领域的最高水平,同时也是最实用的软件。当然,这并不意味着我们在控制系统仿真方面仅仅满足于使用MATLAB 语言而不考虑新的可行方案。例如,LabVIEW 控制与仿真工具包既可实现控制系统仿真又弥补了MATLAB 人机界面设计不方便、无法进行端口操作、不能实现实时监控等不足之处,在一定程度上可以替代MATLAB 成为控制系统仿真的有力工具。

1.4 本课题研究内容

本课题结合控制理论教学与实验的实际需要,选取控制理论中常见的、典型的实例。应用NI 公司的LabVIEW 2009、LabVIEW 控制设计工具包为软件开发工具,实现控制系统的建模、分析、设计过程的仿真,最终将开发出一种交互式实验教学模块。主要研究内容有以下几个方面:

(1) 控制系统仿真方案的选定

提出“基于LabVIEW 的控制系统仿真”的可行性方案并对其进行分析、论证,确定最终的实施方案。

(2) 控制理论中典型实例选择与理论分析

1 绪论

选取控制理论教学和实验中常见的、典型的实例,完成其理论方面的建模、分析、设计。

(3)控制模型相应的仿真VI设计

在(2)的基础上,基于LabVIEW 2009平台,使用必要的工具包完成建模、分析、设计的相应的VI设计,完成控制系统仿真的主要程序设计。

(4)程序的动态调用

对(3)中设计的VI进行动态程序控制,实现在程序运行时VI的调用,从而达到将各个子模块集成在一起,形成一个综合的实验教学系统。

(5)应用程序发布

优化人机界面,发布应用程序,生成独立可执行应用程序和安装程序。

基于LabVIEW的控制系统仿真

2 LabVIEW概述

2.1 虚拟仪器技术

虚拟仪器技术是近年来诞生并迅速发展的一种新型网络测控技术,它主要应用于由传感器或其他数据采集设备得到的数据的远程传输与通信,与一般的信息网络技术不同。虚拟仪器技术的出现彻底打破了传统仪器由厂家定义的模式,用户可以自己定义仪器,灵活地设计仪器系统。它使测量仪器与计算机之间的界线消失,开始了测量仪器的新时代。随着微电子技术、计算机技术、软件技术和网络技术的高度发展和远程虚拟仪器技术的普及,系统的测量、分析、输出、测控等部分可以实现空间上的分离。

1986年,美国国家仪器公司(National Instruments Corp,NI)首先提出了虚拟仪器(Virtual Instrument,VI)的概念。虚拟仪器就是在通用计算机上加上软件和硬件,使得用户在操作这台计算机时,就像是在操作一台专用的传统电子仪器。

虚拟仪器是传统仪器功能与外形的模块化和软件化,通常由计算机、仪器模块和软件三部分组成,也可分为硬件平台和软件平台。构成虚拟仪器的硬件平台有两大部分:⑴计算机:一般为一台PC机或者工作站,它是硬件平台的核心。⑵I/O接口设备:主要完成被测信号的采集、放大、模/数转换。构成虚拟仪器的软件平台包括应用软件和I/O驱动软件:⑴应用软件。包含两个方面的程序:①实现虚拟面板功能的前面板软件程序。②定义测试功能的流程图软件程序。⑵接口仪器驱动程序。这类程序用来完成特定外部硬件设备的扩展、驱动和通信[1,4]。

在虚拟仪器系统中,硬件仅仅是为了解决信号的输入输出,软件才是整个仪器系统的关键,任何一个使用者都可以通过修改软件的方法,很方便地改变、增减仪器系统的功能与规模。计算机和仪器的密切结合是目前仪器发展的一个重要方向,粗略地说这种结合有两种方式:一种是将计算机装入仪器,其典型的例子就是所谓的智能化仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指后一种方式。图2-1反映了常见的虚拟仪器方案[2]。

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

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

(1)开放性:在一定的通用硬件模块和软件环境支持下,用户可以根据实际情况设

2 LabVIEW概述

计出自己的测试方案,以完成不同的测试任务。

(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库

基于LabVIEW的控制系统仿真

控制设计与仿真工具包中所包含的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 系统方案的选定

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的控制系统仿真

使用方法①时,须同时运行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.3 系统子模块的规划

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

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

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

(3)质点-弹簧-阻尼器系统:对质点-弹簧-阻尼器系统(简称Mkf系统)进行建模及模型转换、时域与频域分析、状态空间分析、PID设计,涵盖经典控制理论的大部分内容,涉及现代控制理论的部分内容;

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

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

图3-1 系统结构图

基于LabVIEW的控制系统仿真

4 系统设计

4.1 信号发生器

4.1.1 确定方案

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

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

图4-1 信号发生器方案

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

4.1.2 VI设计

(1)程序流程图

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

4 系统设计

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

(2)子VI的选择

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

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

序号名称功能

1 基本函数发生器.vi 根据信号类型,创建输出基本函数波形

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

3 冲激函数.vi 生成包含冲激信号的数组

(3)程序设计

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

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

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

基于LabVIEW的控制系统仿真

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

4 系统设计

4.2 典型环节

4.2.1 建模及理论分析

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

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

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

名称

传递函数G( s ) 频率特性G( jω) 比例环节

K K 微分环节

s jω 一阶微分环节

1+s τ 1+ωτj 二阶微分环节

1222++s s ?ττ ?τωωτ2)1(22j +- 积分环节

s 1 ωj 1 惯性环节

11+Ts 11+T j ω 二阶振荡环节

12122++Ts s T ? ω?ωT j T 2)1(122+- 延迟环节 s e τ- ωτj e -

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

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

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

基于LabVIEW的控制系统仿真

4.2.2 VI设计

(1)程序流程图

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

图4-4 典型环节建模与分析程序流程图

(2)子VI的选择

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

表4-3 典型环节建模与分析程序中用到的VI

序号名称功能

1 CD Construct Transfer Function Model.vi 建立传递函数模型

2 CD Draw Transfer Function Equation.vi 绘出传递函数模型

3 CD Draw Zero-Pole-Gain Model.vi 绘出零极点增益模型

4 CD Step Response.vi 计算系统的阶跃响应

5 CD Impulse Response.vi 计算系统的脉冲响应

6 CD Initial Response.vi 计算系统的零输入响应

4 系统设计

续表4-3

序号名称功能

7 CD Parametric Time Response.vi 计算系统在指定激励(阶跃、脉冲或零输入)下的响应信号及其动态参数

8 CD Bode.vi 绘制系统的Bode图

9 CD Nyquist.vi 绘制系统的Nyquist图

10 CD Nichols.vi 绘制系统的Nichols图

(3)程序设计

典型环节的数学模型较为简单,采用控制设计工具包“Model Construction”子VI库下的“CD Construct Transfer Function Model.vi”就可以很方便的建立起传递函数模型。为方便程序设计,可考虑将典型环节的时间常数T、τ均以T代替,这样将减少一个变量,程序中只需引入K、T、ζ三个变量。采用分支结构实现对典型环节的选择,并利用属性节点控制这三个变量所对应的输入控件的显示,使得选择某一个典型环节之后,只显示出与之对应的参数,方便用户的输入。建立传递函数模型后,将其连接到“CD Draw Transfer Function Equation.vi”和“CD Draw Zero-Pole-Ga in Model.vi”,就可以以图片的形式显示出典型环节的传递函数模型和零极点增益模型。这里给出二阶振荡环节建模的子分支程序,如图4-5所示,其他典型环节建模的子分支程序与之类似。

图4-5 二阶振荡环节建模的程序框图

对典型环节的分析涉及到时域分析和频域分析,如果在一个VI里面实现,前面板将显得过于庞大,因此设计两个VI分别实现时域分析和频域分析。

时域分析由于涉及脉冲响应、阶跃响应和零输入响应,可采用分支结构实现,采用下拉列表实现三个分支的选择。将系统模型直接连接到“CD Step Response.vi”、“CD Impulse Response.vi”和“CD Initial Response.vi”,三个子VI的输出端“Step Response Graph”、“Impulse Response Graph”和“Initial Response Graph”均连接到“XY图”控件,用于显示系统的时域响应曲线,采用2个“XY图”控件,分别以单曲线形式和多曲线形式显示。考虑到还需要获得相应的响应指标,可将系统模型和时域响应数据连接至“CD

基于LabVIEW的控制系统仿真

Parametric Time Response.vi”,该VI将计算出系统时域响应的动态参数。由此设计出的时域分析子程序如图4-6所示:

图4-6 时域分析子程序框图

这段时域响应程序在后面的程序设计中还会多次用到,因此将其用顺序结构做成一个模块,用到的时候稍作修改即可使用。

将可进行时域分析的典型环节的模型连接到该模块,即可完成典型环节时域分析的VI设计,其前面板及程序框图如图4-7所示:

(a)

相关主题
相关文档
最新文档