(农业机械化工程专业论文)控制系统仿真软件的设计与开发.pdf_第1页
(农业机械化工程专业论文)控制系统仿真软件的设计与开发.pdf_第2页
(农业机械化工程专业论文)控制系统仿真软件的设计与开发.pdf_第3页
(农业机械化工程专业论文)控制系统仿真软件的设计与开发.pdf_第4页
(农业机械化工程专业论文)控制系统仿真软件的设计与开发.pdf_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

摘要 自动化科学作为一门学科起源于2 0 世纪初,自动化科学与技术的基础理论来自 于物理学等自然科学和数学、系统科学、社会科学等及相互科学。近十年来,随着 m a t l a b 语言和s i m u l i n k 仿真环境在控制系统研究与教学中日益广泛的应用,在系 统仿真、自动控制等领域,国外很多高校在教学与研究中都将m a t l a b 语言作为首 选的计算机工具。m a t l a b 语言是一种十分有效的工具,能容易地解决在系统仿真 及控制系统计算机辅助设计领域的教学与研究中遇到的问题,它可以将使用者从繁琐 的底层编程中解放出来,把有限的宝贵时间更多地花在解决科学问题上。 虽然m a t l a b 的运算、绘图能力能大大提高编程效率,但它作为一个完整的程 序开发和数据处理平台也存在一些不足。比如m a t l a b 的现有界面对用户而言不直 接、不方便。m a t l a b 语言虽然可用极少的代码实现极为复杂的运算,但是,在这种解 释性的编程环境下,它却是边解释边执行的,即,它是解释一句执行一句。这样所带来 的结果是运行效率的低下。v c 作为一种可视化的编程工具,其编程简单、界面友好, 但它的计算能力相对较弱。因此将m a t l a b 与v c 的优势结合起来,让它们取长补 短,进行无缝链接,可编程更专业、更灵活的应用程序。 本文在探讨m a t l a b 语言与外部程序的接口方法的基础上,首次解决m i c r o s o f t v i s u a lc + + 语言最新的n e t 版本与m a t l a b 混合编程方法。并以控制系统基础理论 和m a t l a b 控制系统工具箱为基础,实现了用于控制系统计算机辅助分析与设计的 软件。本软件在继续完善的基础上能够用于本科自动控制原理课程的教学实验和一般 的科学研究。 关键词:控制系统;v c + + n e t ;m a t l a b ;计算机辅助设计 t h e d e s i g n o fc o n t r o ls y s t e m s i m u l a t i o ns o f t w a r e x i n gy a - z h o u a g r i c u l t u r a lm e c h a n i z a t i o ne n g i n e e r i n g d i r e c t e db yp r o f e s s o rj i a n gw e n - k e a b s t r a c t a u t o m a t i cs c i e n c eo r i g i n a t e df r o mad i s c i p l i n e 砒t h eb e g i n n i n go ft h e2 0 t hc e n t u r y , a u t o m a t i cs c i e n c ea n db a s i ct h e o r yo f t e c h n o l o g yc o m ef r o mn a t u r a ls c i e n c e ,m a t h e m a t i c s , s y s t e m a t i cs c i e n c e ,s o c i a ls c i e n c e ,p h y s i c sa n dm u t u a ls c i e n c ee t c i nt h ep a s tt e ny e a r s , w i t hm a t l a bl a n g u a g ee x t e n s i v ea p p l y i n gi nt h er e s e a r c ha n dt e a c h i n go fc o n t r o l s y s t e m ,i ns u c hf i e l d sa st h ee m u l a t i o no f t h es y s t e m ,a u t o m a t i c a l l yc o n t r o l ,e t c al o to f f o r e i g nu n i v e r s i t i e sr e g a r dm a t l a bl a n g u a g ea st h ef i r s t s e l e c t e dc o m p u t e rt o o l i nt h e t e a c h i n ga n dr e s e a r c h m a t l a bl a n g u a g ei s ak i n do f v e r ye f f e c t i v et o o l ,c a l ls o l v e p r o b l e m t h a tr u ni n t oa m o n gs y s t e me m u l a t i o na n dc o n t r o ls y s t e mt e a c h i n ga n dr e s e a r c h c a d e a s i l y , i tc a n l i b e r a t et h eu s e rf r o mt e d i o u s g r o u n d f l o o rp r o g r a m m i n g ,s p e n d sl i m i t e d v a l u a b l et i m eo n s o l v i n gs c i e n t i f i c a l l y m o r e t h o u g hd r a w i n ga n do p e r a t i o na b i l i t y o fm a t l a bc a r l i m p r o v ep r o g r a m m i n g e f f i c i e n c yg r e a t l y , i te x i s ts o m es h o r t a g ea sp r o g r a m m i n g a n dd a t ap r o c e s s i n g p l a t f o r m t o o f o re x a m p l et h ei n t e r f a c eo fm a t l a bi si n d i r e c ta n di n c o n v e n i a n tt o u s e r t h o u g h m a t l a b l a n g u a g ec a n r e a l i z ee x t r e m e l yc o m p l i c a t e do p e r a t i o nw i t ht h ef e wc o d e ,a n d e r s u c hi n d i c a t i v ep r o g r a m m i n ge n v i r o n m e n t ,b u ti tc a r r i e so u tb ye x p l a i n i n g n a m e l y , i t e x p l a i n so n es e n t e n c eb y o n es e n t e n c e i ti ss l o wt h a tt h er e s u l tt h a ts ob r i n g si so p e r a t i o n a l e f f i c i e n c y v c a so n ev i s u a l p r o g r a m m i n gt o o l ,i t sp r o g r a m m i n gi ss i m p l e ,i n t e r f a c e f r i e n d s h i p ,b u ti t sc o m p u t i n gc a p a b i l i t yi sr e l a t i v e l yw e a k s oc a nc o m b i n et h ea d v a n t a g e o fm a t l a ba n dv c t o g e t h e r , l e tt h e ml e a r nf r o mo t h e r ss t r o n gp o i n t st o o f f s e to n e s w e a k n e s s e s ,c a np r o g r a mp r o f e s s i o n a l ,f l e x i b l ea p p l i c a t i o np r o g r a mt oh a v et og oo n t h i st e x ti so nt h eb a s i so f p r o b i n gi n t om a t l a bl a n g u a g ea n di n t e r a c t i v em e t h o d w i t ht h eo u t s i d ep r o g r a m ,s o l v em i c r o s o f tv i s u a lc + + l a n g u a g ef o rt h ef i r s tt i m e n e t e d i t i o na n dm a t l a bm i xt h ep r o g r a m m i n gm e t h o d b a s e do nt h eb a s i ct h e o r yo ft h e c o n t r o ls y s t e ma n dm a t l a bc o n t r o l s y s t e mt o o l b o x ,h a v er e a l i z e db e i n gu s e di nt h e c o m p u t e r - a s s i s t e da n a l y s i so f c o n t r o ls y s t e ma n ds o f t w a r ed e s i g n e d s o f t w a r et h i sc a nu s e d i n u n d e r g r a d u a t e c o u r s e a u t o m a t i c a l l y c o n t r o l l e d p r i n c i p l et e a c h i n ge x p e r i m e n ta n d g e n e r a ls c i e n t i f i cr e s e a r c ho f c o u r s eo nt h eb a s i so f c o n t i n u i n gp e r f e c t l y k e y w o r d :c o n t r o ls y s t e m ;v c + + n e t ;m a t l a b ;c o m p u t e r - a i d e d d e s i g n : 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研 究成果。据我所知,除了文中特另t l d n 以标注和致谢的地方外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得逦j e 壅些盘堂或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 学位论文作者签名: 砰孕锰阀 签字日期:工s 年6 月功 关于论文使用授权的说明 本学位论文作者完全了解通j 壅些盘堂有关保留及使用学位论文的规定,有权保 留并向国家有关部门( 机构) 送交论文的复印件和磁盘,允许论文被查( 借) 阅。 本人授权塑j e 盛些太堂可以将论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或扫描等方法加以保存或编成学位论文。 ( 保密的学位论文在解密后应遵守此协议) 学位论文作者签名:鄢狎至囤 签字日期:二胂岁年月力堋 导师虢舷五纠 签字日期:似年( 月毋日 控制系统仿真软件的设计与开发 1 引言 控制系统科研与教学领域,计算机辅助分析与设计在今天已经受到日益重视和 厂泛应用。而面向控制工程应用一直是m a t l a b 的主要功能之一,早期的版本就 提供了控制系统工具箱( c o n t r o ls y s t e mt o o l b o x ) 。本文以控制系统计算机辅助分析 与设计为目标,结合m a t l a b 控制系统工具箱和v c + + n e t 、i n d o w s 编程技术优 势,开发符合本科自动控制原理教学实验要求的控制系统仿真软件。 论文选题背景和意义 自动控制原理是自动控制专业和自动化专业的主要课程之一,是研究自动控制 技术的基础理论课,是必修的专业基础课程。本课程的任务是使学生掌握自动控制 系统的基本理论、基本概念、分析和设计方法,为更深入地学习现代控制策略和研 究各种自动控制系统打下理论基础。 在自动控制领域里的科学研究和工程应用中有大量繁琐的计算与仿真曲线绘制 任务,给控制系统的分析和设计带来了巨大的工作量,为了解决海量计算的问题, 各种控制系统设计与仿真的软件层出不穷,技术人员凭借这些产品强大的计算和绘 图功能,使系统分析和设计的效率得以大大提高【1 , 2 1 。然而在众多控制系统设计与仿 真软件中,m a t l a b 以其强大的计算功能、丰富方便的图形功能、模块化的计算方 法,以及动态系统仿真工具s i m u l i n k ,脱颖而出成为控制系统设计和仿真领域中的 佼佼者,同时也成为了当今最流行的科学工程语言【3 8 】。 然而m a t l a b 自身所存在的某些缺点限制了它的应用范围 9 - 1 5 1 。( d m a t l a b 以解释方式执行效率很低,这在处理图像是特别明显;( 室) m a t l a b 程序不能脱离其环 境运行,因此它不能被用于开发商用软件;( 蔓) m a t l a b 的程序是后缀为m 的脚本文件 它对用户完全透明,因此用户可任意进行修改,但有时为维护代码的完整性和安全性, 并不希望用户了解或更改核心程序;其界面编写功能也过于简单,以致不能满足用 户的高级需求。 v i s u a lc + + 已成为w i n d o w s 系统平台上最强大的应用程序开发系统,因为v i s u a l c + + 开发的程序文件小、执行速度快、实时性好,已成为操作系统、设备驱动程序和 系统级平台类软件的最佳开发工具。m a t l a b 由于其绘图功能强大,较之v c 其语言 更为简洁明了,并且生成的图形可轻松实现多种功能,诸如图形添加文字说明、缩放、 旋转、坐标轴标注、曲线说明等等,这些若由v c 来实现将极为复杂。 因此把m a t l a b 的程序加入到自己的v i s u a lc + + 程序中,将大大减少编程的工 河北农业大学硕士学位论文 作量、保证程序的准确性,并且继承这些可视化编程工具良好的用户界面。对于很多 的 :程项目特别是在数值化计算程度高的应用程序开发中,通过二者的混合编程,即 采用v c + + 完成框架定制和界面丌发,利用m a t l a b 强大的矩阵计算和操纵以及数 值分析功能,完成核心数值计算和算法设计,实现应用程序的快速开发,而且v i s u a l c + + 可以实现更多的功能,来实现用户越来越高的要求 1 6 - 2 2 】。 1 2 计算机辅助分析与设计在控制系统仿真中的发展现状 控制理论是- - n 发展极为迅速的学科。在近一个世纪的发展过程中,其“经典 控制理论”与“现代控制理论”的体系已基本完善,近三十年来的“先进控制理论”, 如“大系统理论”、各类“智能控制”等,亦取得了蓬勃的发展和可喜的进展。今天 的控制理论及其应用技术已不再仅是自动化学科的重要基础,而已成为机电工程、 航空航天等现代工程技术中不可缺少的一部分,并在经济学、生物学、医学等领域 中获得越来越广泛的应用。伴随着控制理论向深度和广度发展的是大量控制方法和 设计算法的产生,而现代计算机及计算技术的发展则使得这些设计过程可通过 c a d 程序来实现。这样一种发展不仅使设计者解脱了繁琐的甚至是人工无法实现 的手工计算困境,而且使般设计人员( 特别使非控制类专业人员) 不必精通某些 细小定理的复杂数学证明,或对一些实际中不易发生的特殊情况进行详尽的考察而 应用各种控制理论进行控制系统的设计,从而极大地增加了控制理论的实用价值和 实际应用,同时也促进了控制理论的发展。 早在1 9 7 3 年,美国学者m e l s a 教授和j o n e s 博士出版了一本专著,书中给出了 一套控制系统计算机辅助分析与设计的程序,包括求系统的根轨迹、频域响应、时 间响应、以及各种控制系统设计的子程序 3 1 。这一时期出观的软件还有瑞典l t m d 工学院c a c s d 软件i n t r a c 、目本的古田胜久教授主持开发的d p a c s f 软件、英 国m a n c h e s t e r 理工大学的控制系统计算机辅助设计软件包、英国剑桥大学推出的线 性系统分析与设计软件c l a d p 等等 2 1 。此外,在控制系统的计算机辅助分析与设 计研究进展中还出现了一些专门的仿真语言,如比较流行的仿真语言有a c s l , c s m p ,t s i m ,e s l 等。这种仿真语言要求用户依照它所提供的语句和大量的模型 模块编写一个描述系统的程序,然后才可以对控制系统进行仿真。 我国较有影响的控制系统仿真与c a d 成果是中科院系统科学研究所主持的国 家自然科学基金重大科研项目开发的c a d c s c 软件和清华大学孙增圻、袁曾任教授 的著作和程序等。1 9 8 8 年中科院沈阳自动化所马纪虎研究员主持开发的c s m p c 仿 真语占,是国内有代表意义的仿真语言i ”。 近十年来,随着m a t l a b 语言和s i m u l i n k 仿真环境在控制系统研究与教学中 日益广泛的应用,在系统仿真、自动控制等领域,国外很多高校在教学与研究中都 2 控制系统仿真软件的设计与开发 将m a t l a b s i m u l i n k 语言作为首选的计算机工具。我国的科学工作者和教育工作 者也逐渐认识到m a t l a b 语言的重要性,并且在很多高校的本科自动控制原理实 验教学中得到应用 2 3 - 2 7 】。 m a t l a b 是m a t h w o r k s 公司于1 9 8 2 年推出的套高性能的数值计算和可视化软 件。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便、界 面友好的用户环境。它还包括了t o o l b o x ( t 具箱) 的各类问题的求解工具,可用来求 解特定学科的问题。m a t l a b 所具备的强有力的计算功能和图形表现,以及各种 工具箱提供的丰富的专用函数,为设计研究人员避免重复繁琐的计算和编程,更快、 更好、更准确地进行控制系统分析和设计提供了极大的帮助。 m a t h w o r k s 公司于2 0 0 4 年7 月发布了m a t l a b 的最新版本m a t l a b7 。 新版本针对编程环境、代码效率、数据可视化、数学计算、文件i o 等方面进行了 升级,同时包含了功能强大的控制产品集以支持控制系统设计过程的每个环节, 借助于使用m a t l a b 中与控制相关的工具箱能够实现许多前沿的控制设计方法; 此外,与m a t l a b7 同时发布的s i m u l i n k 6 0 可以辅助技术人员更方便地建立控制 系统模型,并通过仿真不断优化设计。 1 3 本文主要内容 本文主要研究及工作是试图通过利用v c + + n e t 与m a t l a b 两种语言的各自 优势,为本科自动控制理论教学的课程实验提供个控制系统分析与设计的仿真软 件。因此,首先本论文将根据自动控制原理的本科教学要求对控制系统基础理论和 m a t l a b 软件作以介绍;其次,v c + + n e t 与m a t l a b 混合编程技术是这个仿真 软件的开发基础,在本论文也将给以详细讨论;最后将举例介绍这个控制系统仿真 软件的设计与实现过程。 3 塑j ! 奎些查堂堡兰垡笙苎 一一一一 - _ _ - _ - _ _ _ _ _ - _ - _ _ _ - _ - _ _ _ - _ _ _ _ _ _ _ _ _ _ _ - _ _ 一一 2 控制系统理论基础与m a t l a b 语言 2 1 控制系统理论基础 控制系统理论的基础知识自动控制原理,是自动化学科的重要理论基础, 是专门研究有关自动控制系统中基本概念、基本原理和基本方法的- - 1 7 课程,是高 等学校自动化类专业的- - 1 7 核心基础理论课程。学好自动控制理论对掌握自动化技 术有惹重要的作用。自动控制原理是自动控制技术的基础理论,主要分“古典控 制理论”和“现代控制理论”两大部分。古典控制理论以传递函数为基础研究单输入一 单输出一类定常控制系统的分析与设计问题,现代控制理论是六十年代在古典控制 理论基础上随着科学技术发展和工程实践需要而迅速发展起来的,它以状态空间法 为基础,研究多输入一多输出、时变、非线性、高精度、高效能等控制系统的分析 与设计问题。 2 1 1 控制系统的古典理论与现代理论 2 0 世纪5 0 年代,经典控制理论形成体系。经典控制理论的数学基础是拉普拉 斯变换,系统的基本数学模型是传递函数,主要的分柝和综合方法有b o d e 图法、 根轨迹法、劳斯( r o u t l a ) 判据、奈魁斯特( n q u i s t ) 稳定判据、p i d 控制等2 8 2 - 9 1 。 经典控制系统理论虽然至今仍广泛应用在许多工程技术领域中,但也存在着明显的 局限性,主要表现在:主要用于单输入单输出线性时不变系统而难以有效地处理多 输入多输出系统;只采用外部描述方法讨论控制系统的输入输出关系,而难以揭示 系统内部的特性;控制系统设计方法基本上是一种试凑法而不能提供最优控制的方 法和手段等等。 在2 0 世纪5 0 年代核反应堆控制研究、尤其是航天控制研究的推动下,控制 理论在1 9 6 0 年前后开始了从经典阶段到现代阶段的过渡【3 0 1 ,其中的重要标志是卡 尔曼( r e k a l m a n ) 系统地把状态空间法引入到系统与控制理论中。现代控制理论 以状态空间模型为基础,研究系统内部的结构,提出可控性、可观测性概念及分析 方法,也提出了一系列设计方法,如l q r ( l i n e a r q u a d r a t i cr e g u l a t o r ) 和l q g ( l i n e a r q u a d r a t i eg a u s s i a n ) 最优控制方法、k a l m a n 滤波器方法、极点配置方法、 基于状态观测器的反馈控制方法等。现代控制理论克服了经典控制的许多局限性, 它能够解决某些非线性和时变系统的控制问题,适用于多输入多输出反馈控制系统, 可以实现最优控制规律。此外,现代控制理论不仅能够研究确定性的系统,而且可 4 鳖型墨笙堕塞茎丝盟丝盐兰墅垄一 以研究随机的过程,即包含了随机控制系统的分析和设计方法。 2 1 2 控制系统理论的基本内容 本课程研究控制系统分析与设计的基础知识,包括控制系统的稳定性、稳态特 性和动态特性,以及控制系统的校正与计算机辅助分析。主要内容:控制系统的数 学模型、控制系统的时域分析、根轨迹分析、频域分析、控制系统的校正、非线性 系统的近似分析、现代控制理论基础:采样控制系统的分析与设计、控制系统的计 算机辅助分析与设计等l 驯。 2 2m a t l a b 语言与控制系统工具箱 m a t l a b 是由m a t h w o r k s 公司于1 9 8 4 年推出的一套数值计算软件,自推出 之后,该公司不断接收和吸取各学科领域权威人士为之编写的函数和程序,并将它 们转换为m a t l a b 的工具箱。这样,使m a t l a b 得到不断的发展和扩充,可以 实现数值分析、优化、统计、偏微分方程数值解、自动控制、信号处理、图像处理 等若干个领域的计算和图形显示功能。它将不同数学分支的算法以函数的形式分类 成库,使用时直接调用这些函数并赋予实际参数就可以解决问题,快速而且准确。 2 ,2 1m a t l a b 软件介绍 m a t l a b 的名字出m a t r i x 和l a b o r a t o r y 两词的前三个字母组合丽成【3 ”,始 创者是时任美国新墨西哥大学计算机科学系主任的c l e v em o l e r 教授。于1 9 8 4 年 由m a t h wo r k s 公司推出( d o s 版) 。1 9 9 3 年推出m a t l a b4 0 ( w i n d o w s 版) 。 1 9 9 7 年m a t l a b5 0 版阀世。1 9 9 9 年春已到了5 3 版。今天m a t l a b 已成为 国际上最优秀的科技应用软件之一,其强大的科学计算与可视化功能、简单易用的 ,1 :放式可推展环境以及多达三十余个面向不同领域而扩展的工具箱( t 0 0 1 b o x ) 的 支持,使得m a t l a b 在许多学科领域成为科学计算、计算机辅助设计与分析的基 本工具和首选平台。 m a t l a b 主要由m a t l a b 主程序、s i m u l i n k 动态系统仿真和m a t l a b 工 具箱三大部分组成。其中m a t l a b 主程序包括m a t l a b 语言、工作环境、句柄图 形、数学函数库和应用程序接口五个部分;s i m u l l n k 是用于动态系统仿真的交互 式系统,允许用户在屏幕上绘制框图来模拟一个系统,并能动态地控制该系统,目 前的s i m u l i n k 可以处理线性、非线性、连续、离散、多变量及多系统;工具箱实 际就是用m a t l a b 的基本语句编写的各种子程序集和函数库,用于解决某一方面 的特定问题或实现某一类的新算法,它是开放性的,可以应用也可以根据自己的需 要进行扩展。m a t l a b 工具箱大体可分为功能性的工具箱和学科性的工具箱两类。 河北农业大学硕士学位论文 功能性的工具箱主要用于扩展m a t l a b 的符号计算功能、图形建模功能、文字处 理功能和与硬件的实时交互过程,如符号计算工具箱等:学科性的工具箱则有较强的 专业性,用于解决特定的问题,如信号处理工具箱和通信工具箱。 m a t l a b 主程序是一种以数组和矩阵为元素的工程计算语言,主要包括以下凡 部分: 1 】m a t l a b 语言 m a t l a b 编程语言是一种面向科学与工程计算的高级语言允许按照数学习 惯的方式编写程序由于它符合人们思维方式的编写模式使得该语言比b a s i c 、 f o r t r a n 、c 、p a s c a l 等高级语言更容易学习和应用m a t l a b 语言以矢量和矩阵为 基本的数据单元包含流程控制语句顺序选择循环条件转移和暂停等大量的运 算符丰富的函数多种数据结构输入输出以及面向对象编程这些既可以满足简单 问题的求解也适合于开发复杂的大型程序m a t l a b 不仅仅是一套打好包的函数 库同时也是一种高级的面向对象的编程语言使用m a t l a b 能够卓有成效地开 发自己的程序m a t l a b 自身的许多函数实际上也包括所有的工具箱函数都是 用m 文件实现的 2 ) m a t l a b6 ,5 工作环境 m a t l a b 工作环境包括变量查看器、当前路径选择菜单、命令历史记录窗口、 当前工作空间窗口、命令控制窗口、图形处理窗口、程序编辑器、模型编辑器、g u i 编辑器和m a t l a b 附带的大量m 文件。 3 ) m a t l a b 绘图功能 m a t l a b 句柄图形控制系统是m a t l a b 数据可视化的核心部分。它既包含对 二维和三维数据的可视化、图形处理、动画制作等高层次的绘图命令,也包含可以 修改图形局部及编制完整图形界面的低层次绘图命令。这些功能可使用户创建富有 表现力的彩色图形,可视化工具包括曲面宣染、线框图、伪彩图、光源、三维等位 线图、图像显示、动画、体积可视化等同时m a t l a b 还提供了句柄图形机制,使 用该机制可对图形进行灵活的控制。使用g u i d e 工具可以方便地使用旬柄图形创 建自己的g u i 界面。 4 ) m a t l a b 数学函数库 m a t l a b 拥有5 0 0 多种数学、统计及工程函数,可使用户立刻实现所需的强大 的数学计算功能。这些函数是由各领域的专家学者开发的数值计算程序,使用了安 全、成熟、可靠的算法,从而保证了最大的运算速度和可靠的结果。m a t l a b 内置 的强大数学函数库既包含了最基本的数学运算函数,如求和正弦、余弦等函数,也 包含了丰富的复杂函数,如矩阵特征值矩阵求逆傅里叶变换等函数。 5 ) m a t l a b 应用程序接口 6 控制系统仿真软件的设计与开发 m a t l a b 应用程序接l 是通过m a t l a b 的a p i 库完成的,m a t l a b 通过对 a p i 库函数的调用可以与其他应用程序交换数据。同样,用户也可在其他语言中通 过该接口函数库调用m a t l a b 的程序。m a t l a b 应用程序接口中的内容包括实时 动念连接外部c 或f o r t r a n 应用函数,独立c 或f o r t r a n 程序中调用m a t l a b 函数 输入输出各种m a t l a b 及其他标准格式的数据文件,创建图文并貌的技术文档, 包括m a t l a b 图形、命令,并可通过w o r d 输出。 22 ,2 控制系统工具箱介绍 面向控制工程应用一直是m a t l a b 的主要功能之一,早期的版本就提供了控 制系统设计工具箱( c o n t r o l t o o l b o x ) 1 3 2 。2 0 世纪9 0 年代初的3 5 版推出 r o b u s t t o o l b o x ,4 0 版推出基于模块图的控制系统仿真软件s i m u l i n k 。到目前为止, m a t l a b 中包含的控制工程类工具箱已超过十个。m a t l a b 所具备的强有力的计 算功能和图形表现,以及各种工具箱提供的丰富的专用函数,为设计研究人员避免 重复籍琐的计算和编程,更快、更好、更准确地进行控制系统分析和设计提供了极 大的帮助。 控制系统工具箱主要函数: 1 ) 线性定常系统( u i ) 数学模型生成函数 t f ( ) :创建传递函数模型; s s ( ) :创建状态方程模型; z p k ( ) :创建零极点模型; d s s ( ) :刨建离散状态方程模型: g e t ( ) :获取模型参数信息; s e t ( ) :设置模型参数。 2 ) 数学模型转换函数 c 2 d ( ) :连续系统转换成离散系统 d 2 c ( ) :离散系统转换成连续系统; d 2 d ( ) :离散系统重新采样。 3 ) 时间响应函数 i m p u l s e ( ) :计算并绘制冲击响应: s t e p ( ) :计算并绘制阶跃响应。 4 ) 频率响应函数 b o d ( ) :计算并绘制波特响应; n i c h o l s ( ) :计算尼科尔斯图: n y q u i s t ( ) :计算乃奎斯特图; 7 8 河北农业火学硕士学位论文 5 ) 控制系统分析与设计图形用户接口( g u i ) 工具 l t i v i e w :打开定常线性系统( l t i ) 响应分析窗口; s i s o t o o h 打开单输入单输出系统( s i s o ) 设计图形用户接口。 鳖型墨鎏堕基墼丛盟坠盐芝堑叁 一 3v c + + n e t 与m a t l a b 混合编程技术 m a t l a b 是m a t h w o r k s 公司于1 9 8 2 年推出的一套高性能的数值计算和可视化软 件。它集数值分析、矩阵运算、信号处理和图形显示于体,构成了一个方便、界 面友好的用户环境。它还包括了t o o l b o x ( i 具箱) 的各类问题的求解工具,可用来求 解特定学科的问题。其特点是: f 1 ) 可扩展性:m a t l a b 最重要的特点是易于扩展,它允许用户自行建立指定功能的 m 文件。对于一个从事特定领域的工程师来说,不仅可利用m a t l a b 所提供的函 数及基本工具箱函数,还可方便地构造出专用的函数,从而大大扩展了其应用范 围。当前支持m a n a b 的商用t o o l b o x ( t 具箱) 有数百种之多。而由个人开发的 t o o l b o x 则不可计数。 ( 2 】易学易用性:m a t l a b 不需要用户有高深的数学知识和程序设计能力,不需要用 户深刻了解算法及编程技巧。 ( 3 ) 高效性:m a t l a b 语句功能十分强大,一条语句可完成十分复杂的任务。如m 语 句可完成对指定数据的快速傅立叶变换,这相当于上百条c 语言语句的功能。 它大大加快了工程技术人员从事软件开发的效率。据m a t h w o r k s 公司声称, m a t l a b 软件中所包含的m a u a b 源代码相当于7 0 万行c 代码。 由于m a t l a b 具有如此之多的特点,在欧美高等院校,m a t l a b 己成为应用于线性 代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等 高级课程的基本教学工具;在研究单位、工业部门,m a t l a b 也被广泛用于研究和解 决各种工程问题。当前在全世界有超过4 0 万工程师和科学家使用它来分析和解决问 题。然面m a t l a b 自身所存在的某些缺点限制了它的应用范围。m a t l a b 是一种解释性 语言,因此它的实时效率是相当差的。m a t l a b 程序不能脱离其环境运行,因此它不 能被用于开发商用软件。m a t l a b 源程序可以被直接看到。 2 0 0 2 年2 月,微软发布了v i s u a ls t u d i o n e t ( 简称v s n e t ) 的最终版本,这是微 软极力推荐的创建n e t 应用程序的软件开发工具集。作为微软的下一代_ 了_ l 二发工具, 它和n e t 开发框架紧密结合,遵循n e tf r a m e w o r k ,利用通用语言运行环境和公用 层次类库提供加速开发过程的高效工具。v s ,n e t 主要用于开发企业规模的w 曲应 用程序以及高性能的桌面应用程序。 3 1m a t l a b 语言与外部程序接口 m a t l a b 的外部接1 7 ( m a t l a b e x t e r n a li n t e r f a c e ) 是m a t l a b 产品的一个重 9 河北农业大学硕士学位论文 要功能,通过外部接口的编程,用户可以非常方便地利用m a t l a b 同其它的开发 语吉或者软件进行交互,充分发挥各自的优势,提高工作的效率。 m a t l a b 的外部接口应用主要包括 3 3 - 3 5 1 : 在m a t l a b 中调用已有的c 或者f o r t r a n 语言代码; 一在c 或者f o r t r a n 语言应用程序中调用m a t l a b 的算法函数; - 在c 或者f o r t r a n 语言应用程序中读写m a t l a b 的数据文件: 通过j a v a 语言在m a t l a b 实现高级应用; 一在m a t l a b 中调用动态链接库文件: 通过c o m 标准与其它的软件建立客户端服务器应用。 3 2v c + + n e t 与m a t l a b 的混合编程方法 m a t l a b 为用户提供了丰富的w i n d o w s 图形界面设计方法,使用户能够在利用其 强大数值计算功能的同时设计出友好的图形界面。在编程效率、可读性、可移植性 和可扩充性上,m a l l a b 远远优于其它高级编程语言。m a t l a b 能够设计出功能强大、 界面优美、性能稳定的高质量程序,它受到了越来越多用户的欢迎。然而作为种 以解释方式运行的高级计算机语言,m a t l a b 程序的执行效率较低。 为了解决这一问题,m a t h w o r k s 公司提供了m a t l a b 和c 的接口。m a t h w o r k s 公司提供的m a t l a b 和c 的接口方式共有三种 3 6 - 3 9 l : 1 ) 在c c + + 程序中利用m a t l a be n g i n e 调用m a t l a b 函数: 2 ) 将c ,c + + 文件编译成m e x 文件供m a t l a b 程序调用: 3 ) 在c c + + 程序中利用m a t l a bcm a t hl i b r a r y 或m a t l a bc + 十m a t hl i b r a r y 调用 m a t l a b 函数。 其中通过前两种方式生成的程序只有在安装了m a u a b 系统上才能正常运行,而 由最后一种方式生成的程序则没有这样的要求,它能够以独立执行程序的形式运行, 即使客户没有安装m a t l a b 系统。 3 2 1 在v c + + n e t 中调用m a t l a b 引擎 m a t l a b 引擎是一组函数,通过这组函数用户可以在自己的应用程序中实现对 m a t l a b 的控制。m a t l a b 引擎采用客户和服务器计算方式,在运用中,v c 的c 语言或c + + 语言的程序作为前端客户机,它向m a t l a b 引擎传递命令和数据信息, 并从m a t l a b 引擎接收数据信息m a t l a b 的计算引擎应用实际上就是利用 m a t l a b 提供的一组接口函数( a p i ) ,在用户开发的c 语言或者f o r t r a n 语言应用 程序中,通过某种通信机制后台调用m a t l a b 应用程序以完成复杂的系统任务。 计算引擎应用程序是在m a t l a b 环境之外的可执行应用程序,在它们运行的过程 控制系统仿真软件的设计与开发 中需要利用某种通信机制和另外一个m a t l a b 进程交互数据。本系统根据设计需 要选择了这种混合编程方法,下面就是在v c n e t 环境下与m a t l a b 语言混合编 程的方法介绍。 ( 1 ) 引擎库函数介绍: e n g o p e n ( ) 函数:启动m a t l a b 引擎; e n g c l o s e ( ) 函数;关闭m a t l a b 引擎; e n g e v a l s t r i n g ( ) 函数:向m a t l a b 发送命令; e n g o u t p u t b u f f e r ( ) 函数:获取m a t l a b 命令窗口的文字输出; e n g g e t v a r i a b l e ( ) 函数:从m a t l a b 引擎工作空间复制一个变量; e n g p u t v a r i a b l e ( ) 函数:把变量写入到m a t l a b 引擎的工作空间; e n g s e t v i s i b l e ( ) 函数:显示或隐藏m a t l a b 窗口: ( 2 ) v i s u a lc + + n e t 编译环境设置基本步骤: 建立新的d l l 工程; 选用静态链接的m f c 类库; 设定输出函数; 环境设置;选择菜单工具一选项一在属性页中选择项目一下拉框中选择包 含文件,在其最后加入: d :l m a t l a b 6 p 5 e x t e r n d i c l u d e c p p d :u 汀l a b 6 p 5 k e x t e r n d t c l u d e 其中e :l m a t l a b 6 p 5 为m a t l a b 的安装路径,如图3 - 1 所示: 图3 - 1 添加可执行文件且晕路径 河北农业大学硕士学位论文 1 2 再在下拉框中选择可执行文件,在最后加入: e :l m a t l a b 6 p 5 k e x t e r n i ,i b w i n 3 2 m i c r o s o f l 、m s v c 6 0 e :m a t l a b 6 p 5 e x t e r n l i b w i n 3 2 如图3 - 2 所示: 圈3 - 2 添加可执行文件目录路径 工程设置 选择菜单“项目一属性一配置属性一连接器一下拉列表中选择命令行”,在附加 选项文本框中加入l i b m m f i l e 1 i bl i b m a t l b 1 i bl i b m x 1 i bl i b m a t 1 i b l i b m a t p m 1 i b s 或1 i bl i b m w s g l m 1 i bl i b m w s c r v i c e s 1 i b 圈3 3 添加所需的链接库文件 控制系统仿真软件的设计与开发 最后添加用户代码,编译并调试: 在所有调用引擎函数的c + + 源文件添加包含文件引用语句“# i n c l u d e ”e n g i n e h ”,然后添加程序代码。例如: e n g i n e $ e p ; 定义公共对象e p e p = e n g o p e n ( n u l l ) ;程序初始化时,调用打开引擎函

温馨提示

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

评论

0/150

提交评论