中国石油大学(华东) 信息与控制工程学院 山东, 青岛 266580
中图分类号: TP391.9
文献标识码: A
文章编号: 1006-7167(2017)05-0079-05
收稿日期: 2016-09-15
网络出版日期: 2017-05-20
版权声明: 2017 《实验室研究与探索》编辑部 《实验室研究与探索》编辑部 所有
基金资助:
作者简介:
作者简介:邓晓刚(1981-),男,山东东营人,博士,副教授,主要从事工业过程建模、先进控制与故障诊断等方向的教学与科研工作。Tel.:0532-86983472; E-mail:dengxiaogang@upc.edu.cn
展开
摘要
针对现代控制理论实验资源紧张问题,提出一种基于倒立摆机理模型的开放式虚拟仿真系统开发方法。首先,根据装置机理建立倒立摆系统的状态空间模型;然后应用LabVIEW软件绘制倒立摆装置操作界面,并编制后台程序实现其模型仿真;最后利用OPC技术实现虚拟仿真系统变量数据的共享,以方便学生测试控制算法。该仿真系统不但具有良好的人机交互界面,能够较好地模拟真实实验装置,而且具有很好的开放性,为学生自主编程留下了充足空间,有助于其创新能力培养。
关键词:
Abstract
In order to solve the problem of shortage of modern control theory experiment resource, this paper proposes an open virtual simulation system development method based on the inverted pendulum mechanism model. First, the state space model of the inverted pendulum is constructed based on the device mechanism. Then LabVIEW software is applied to draw the inverted pendulum device operation interface and the background programs are designed to achieve its model simulation. Finally, the OPC technology is used to share the data of virtual simulation system, which helps students to test the control algorithms. The constructed simulation system has not only a good interface to simulate the real experimental device, but also the excellent openness, it also leaves enough space for students to perform independent programming, and contributes to cultivate their innovative ability.
Keywords:
现代控制理论在高校自动化类专业教学中占有重要地位。该课程是自动控制原理的后续课程,同时也是过程控制工程、计算机控制、控制系统仿真等本科专业课的先修课程,更是线性系统理论、最优控制等若干研究生课程的学习基础。现代控制理论主要讨论基于状态空间法的多输入多输出系统分析与设计问题,涉及到状态空间建模、能控能观性分析、状态反馈控制等大量的理论知识,数学推导繁多,概念复杂抽象,学生普遍认为学习难度大。针对此问题,现代控制理论教学中一般都配置一定学时的课程实验,以帮助学生深入理解控制原理和算法,从而提高课程教学效果[1-2]。然而,由于设备资源紧张、场地安排密集、及实验学时有限等因素,学生往往难以在实验装置上开展实验,虚拟仿真实验就成为现代控制理论实验教学中的一个主要形式。如何更有效地开展虚拟仿真实验,已经成为相关教学研究人员日益关注的问题。
虚拟仿真资源建设在近些年来得到国家和各级高校的普遍重视,高校教学研究人员进行了虚拟资源开发与实验模式方面的深入探索 [3-4]。对现代控制理论课程而言,其仿真实验往往采用基于MATLAB软件的理论验证模式[5-7],针对给定数学模型,学生编写相关程序验证所学的控制理论。该实验模式简单易行,能够很好锻炼学生编程能力,在现代控制理论实验教学中发挥了重要作用。但是由于MATLAB界面编程能力弱,无法直观图示实际工程背景,难以进一步提升学生的学习兴趣。近年来,LabVIEW软件逐渐引入并应用于高校教学中,为虚拟仿真实验教学提供了新的手段[8]。该软件具有较好的工艺界面设计能力,能够有效提高虚拟仿真实验的直观性。然而如果直接使用LabVIEW软件开发封装的仿真系统,仅仅让学生改变参数观察结果,又不利于学生编程能力的锻炼。因此,如何将LabVIEW和MATLAB软件结合起来开发直观开放的虚拟仿真系统,补充和提升现有的实验模式,是值得深入研究的问题。
针对上述问题,本文以倒立摆实验装置为例,提出一种面向现代控制理论实验的开放式虚拟仿真系统设计方法。该方法利用LabVIEW软件开发友好的操作界面,直观地反映设备运行过程,提高学生学习兴趣;同时,该方法通过OPC通信技术将将仿真变量发布为共享变量,学生可以在MATLAB软件中自主编程实现对虚拟实验装置的控制,锻炼学生的编程能力。基于策略开发的虚拟仿真系统,有效结合LabVIEW和MATLAB两类软件的优势,有助于实验教学效果提升。
倒立摆装置是一个多变量非线性不稳定系统,其控制方法在机器人、航天、军事等领域有着广泛应用,是现代控制理论的理想研究对象[9-10]。我校自动化专业实验室购置了6套固高GLIP2002型直线倒立摆实验装置,以满足现代控制理论、运动控制、综合实验和毕业设计等相关课程的实验实践教学需要。但是由于实验装置数量有限,难以充分满足学生的使用需求。本文针对真实倒立摆实验装置,开发相应的虚拟仿真系统,为现代控制理论实验提供辅助平台。
实验装置抽象图示如图1。倒立摆质心到转动轴心的距离为L,质量记为m,倒立摆运载小车质量记为M,该小车由电动机拖动,其水平控制力记为F,小车的相对位移记为s,摆杆与垂直向上方向的夹角为θ。如果仅仅施加一个初始作用力,摆杆会倒向一侧,因此该系统是不稳定系统。倒立摆系统反馈控制的目的是不断改变控制力F的变化,使小车达到设定的位置时摆杆仍然保持在垂直位置上。
下面分析倒立摆的运动机理,建立其数学模型。对于小车而言,其运动方程包括位移方程和速度方程,具体公式如下所示:
式中:s 为小车位移;v为小车速度;b为小车摩擦系数;N=m
对于摆杆来说,其角度和角速度运动方程用如下公式描述:
式中:ω为摆杆的角加速度;I为摆杆的转动惯量;P=mg-m
进一步整理以上方程,可以得到倒立摆装置的系统状态方程为:
式中:
本文模拟的倒立摆装置其物理参数数据为:M=1.2 kg,m=0.1 kg,b=0.1 N/(m·s),L=0.5 m,I=0.025 kg·m2,g=9.8 m/s2。
本文使用LabVIEW软件开发倒立摆虚拟仿真系统。LabVIEW软件是美国国家仪器公司研发的一种图形化编程软件,目前已经逐渐在高校科研和工业自动化生产中得到广泛应用。与其他编程软件编写大量源代码不同,该软件采用流程图式的G语言,系统中提供了丰富的封装模块,能够直接完成数据采集、虚拟仪表、数学运算、实时曲线等多种功能,为开发虚拟仿真系统提供了强有力的技术支撑[11-13]。
依托LabVIEW软件,倒立摆实验装置虚拟仿真系统总体框架如图2所示,包括设备操作界面设计和后台仿真程序开发。前台操作界面用于直观的演示控制
系统和交互设置控制参数,后台仿真程序则完成对倒立摆装置机理系统的模拟。同时操作界面和仿真程序中的数据可以通过OPC通信技术进行发布,供外部程序调用。
要实现上述虚拟仿真系统的开发,主要涉及3个步骤:① 前台操作界面开发;② 后台仿真程序编制;③ 系统共享数据发布。本文将对上述步骤依次进行分析。
(1) 首先分析操作界面的开发过程。操作界面为虚拟仿真系统提供直观的图形显示和数据指示,并提供给定值的输入接口,具体包括装置图示、实时曲线、过程参数、仿真设置等模块。装置图示用于演示倒立摆的运动过程,主要使用“二维图片”控件完成。插入“二维图片”空间后,采用修饰性控件或者插入图片的方式绘制倒立摆的本体设备图。实时曲线图用于记录小车位移和角度的变化曲线,采用Waveform Chart控件完成。过程参数包括“装置物理参数”“状态变量”“控制参数”,均基于数值输入和数值显示控件。仿真设置包括“仿真步长”“仿真速度”两个参数,前者决定仿真精度,后者调节仿真系统的运行速度,此外,本系统特别设置了控制模式选择开关,包括“状态反馈控制演示”和“外部程序控制”两种模式。选择前者时,系统启用预先设置的状态反馈控制器,学生可以通过调节参数直接观察控制效果,选择后者时,学生可以通过MATLAB编程自行实现各种复杂控制算法。设计完成后的操作界面如图3所示。
(2) 继续分析后台程序编制过程。LabVIEW采用流程图式的编程语言,形象直观,编程方便。编程过程中,首先添加while循环结构,作为整个系统的运行条件。然后在while循环中增加相应的数学运算、公式节点、图形绘制模块,以实现对倒立摆机理模型的仿真。整个程序的核心是公式节点的编制,公式节点如图4所示。本文采用欧拉算法在“公式节点”模块完成机理仿真,也可采用更为复杂的龙格库塔算法。同时,采用图片函数库中的“绘制点”“绘制线”“绘制矩形”等实现倒立摆摆杆的动画演示。
在上述工作完成后,就形成了一个初步的仿真系统。该系统是封闭的,只具有演示功能,其他软件无法访问仿真装置的数据。为了增强系统的开放性,本文应用LabVIEW共享变量引擎将倒立摆仿真系统部分数据发布到OPC Server中,供外部程序编程访问。
OPC(OLE for Process Control)技术是一种基于微软公司COM/DCOM技术的标准数据通信架构。利用该技术,可以实现Windows系统中不同计算机程序之间的数据交换,无需针对不同设备和不同软件开发特定性程序。如果已经构建好OPC Server,编程人员就可在不同软件平台下使用OPC通信协议来实现对公共数据的读取和修改。
LabVIEW软件的共享变量引擎(shared variable engine,SVE),是将虚拟仿真数据方便的发布到OPC Server的有效方法。共享变量(Shared Variable)是LabVIEW 8.0版本后引入的一种新的变量类型,需要在项目文件中才能创建。使用共享变量时,在项目浏览窗口中右键单击一个项目库,在快捷菜单中选择“新建”、“变量”来打开共享变量属性对话框,按照要求配置各个选项即可。建立所有共享变量后,右键单击项目库并选择“部署”菜单,系统会将共享变量发布到指定的OPC Server:National Instruments.Variable Engine.1中。完成该工作后,可在LabVIEW程序框图引用变量,也可将共享变量与已有的控件进行绑定。
倒立摆虚拟仿真软件系统建立完成后,可以通过MATLAB程序实现对倒立摆的控制,本节分析具体的编程思路和验证结果。
MATLAB软件提供了OPC Toolbox,用户可以用MATLAB命令行方式直接运行所有的OPC Toolbox函数,创建和配置OPC对象,实现对OPC服务器数据读写。本文在此简要分析MATLAB软件M语言编程访问倒立摆虚拟仿真系统的过程,主要涉及的命令包括OPC服务器的创建、链接、配置以及OPC项的读写。
OPC对象的创建命令为opcda,其用法如下:
da = opcda('localhost', 'National Instruments.Variable Engine.1');
在上式中,da为自定义的opc对象名称,创建后可以采用connect命令链接OPC对象。
进一步应用addgroup,additem命令可以配置OPC变量组和OPC变量项,使用read和write命令可以实现对OPC数据的读写,结合timer函数,在MATLAB中可以实现对OPC数据的定时操作:
t = timer(‘TimerFcn’,原位复合UserFunction,‘Period’,Ts,‘ExecutionMode’,‘fixedRate’);
其中,t 为自定义的timer对象名称,可以start和stop命令来启动和停止,Ts为采样周期,UserFunction是需要用户自行编写的程序,用于实现控制算法及实时记录仿真数据。
本文通过状态反馈控制器和状态观测器的实验应用来说明软件的可行性。状态反馈控制器和状态观测器设计是对现代控制系统理论知识的综合运用[14-15],能够很好地反映学生对控制理论的理解程度。在状态反馈控制器实验中,学生根据给定性能要求,自行设计闭环系统极点,然后计算状态反馈控制器参数。本文将闭环系统的主导极点配置在-1.5+1.5j和-1.5-1.5j,然后实时状态反馈控制,其控制效果如图5所示。从图5可以看出,当给定值发生变化时,倒立摆的位移曲线具有良好的动态性能。以全维状态观测器的设计为例,全维状态观测器可以实现对4个系统状态的观测。篇幅限制,本文仅给出位移状态的观测结果。为考察观测器性能,观测系统的位移状态初始值设为0.05,而真实的位移初始值为0。观测结果如图6所示。从图中看出,尽管初始时刻存在0.05的偏差,但是状态观测器能够迅速跟踪上真实的状态,从而说明观测器具有较好的观测性能。
针对现代控制理论仿真实验教学问题,构建了基于倒立摆机理模型的虚拟仿真系统。该系统提出的方法具有直观性和开放性两方面的优点。① 基于真实倒立摆装置的机理模型和物理参数,利用LabVIEW开发系统虚拟仿真系统,具有较高的工艺逼真度和操作可视性,有助于提升学生的学习兴趣;② 本文所设计的系统基于OPC通信技术实现仿真数据的开放性操作,为学生留下充足的自由发挥空间,学生可以通过MATLAB编程实现对仿真数据的访问,自主测试新算法,有利于学生动手能力和创新能力的提高。目前在现代控制理论教学中的初步应用结果表明,上述系统引起学生极大的动手编程兴趣,提高了学生对现代控制理论知识的深入理解。
The authors have declared that no competing interests exist.
[1] |
现代控制理论课程实验的对比教学法 [J].
针对现代控制理论课程实验教学内容复杂、实验方法单一及学生兴趣不浓等问题,以状态观测器设计实验为例,探讨对比教学法的应用。教学实践表明,对比教学法不仅能有效加深学生对理论知识的理解,激发学生的学习兴趣,而且能为学生提供不同的实验方法,同时锻炼了学生实物实验和仿真实验的能力。
|
[2] |
现代控制理论研究型自主性综合实验教学方法 [J].DOI:10.3969/j.issn.1006-7167.2006.06.027 URL [本文引用: 1] 摘要
介绍了开设研究型、自主性、综合性现代控制理论系列实验课的教学方法。选择具有代表性的倒立摆、双容水箱、机械臂作为研究对象开展综合研究,教师只负责介绍实验设备和提供设计与创新思路。学生自主选择实验对象、自主选择控制方案、自主选择编程语言进行研究,独立完成全部设计和实验过程。改变了传统的实验成绩评价方式,建立了鼓励创新机制,发挥学生的积极性,取得良好教学效果。
|
[3] |
开展国家级虚拟仿真实验教学中心建设提高高校实验教学信息化水平 [J]. |
[4] |
过程控制实验装置的机理建模与虚拟仿真软件开发 [J].DOI:10.3969/j.issn.1006-7167.2015.10.026 URL [本文引用: 1] 摘要
提出一种基于机理模型的实验室装置虚拟仿真软件开发方法。以过程控制实验装置A3000水箱系统为仿真对象,首先用机理分析法建立其数学模型,并采用实验测试法辨识模型中的未知参数,然后利用LabVIEW软件开发工艺流程界面、PID控制器界面和相应的后台程序框图,从而建立该实验装置的虚拟仿真软件。该软件能够较好模拟真实实验装置的特性变化,有助于学生熟悉工艺流程和控制方案,有助于学生深入讨论实验过程,为进一步开展创新性实验提供平台支撑。
|
[5] |
MATLAB数字仿真在现代控制理论教学中的应用 [J].DOI:10.3969/j.issn.1674-5884.2014.05.041 URL [本文引用: 1] 摘要
Matlab数字仿真可以方便地完成控制系统建模、分析和设计中各种复杂的数学计算和作图,实现控制系统的仿真运行。在现代控制理论课堂教学中应用Matlab进行控制系统模型建立和鲁棒稳定性分析,一方面帮助学生通过仿真图形直观地理解概念,激发学生学习兴趣,提高学习效率;另一方面实现了控制理论与控制系统案例的紧密联系,大大增加课堂信息量;同时能让学生在课堂教学中掌握Matlab这一实用软件,培养学生的动手能力。
|
[6] |
基于MATLAB的《现代控制理论》课程的实验设计 [J].DOI:10.3969/j.issn.1006-7167.2004.01.009 URL 摘要
根据现代控制理论课程的特点,提出并利用MATLAB设计了现代控制理论课程的实验,给出了设计的每个实验的主要内容及使用到的MATLAB函数,并对其中的一个实验作了详细说明。通过这些实验,将有助于学生理解理论知识,学习利用MATLAB解决现代控制理论问题。
|
[7] |
浅谈“现代控制系统“课程中的MATLAB教学 [J]. |
[8] |
基于LabVIEW的二级倒立摆控制系统三维仿真 [J]. |
[9] |
现代控制理论系列实验的设计与实践 [J].DOI:10.3969/j.issn.1002-4956.2005.03.030 URL [本文引用: 1] 摘要
现代控制理论系列实验是专门为硕士生和博士生开设的高水平控制系列实验,填 补了国内现代控制理论系列实验课的空白。该实验课程具有较高的理论和实践水平,内容涉 及现代控制理论的多个方面。
|
[10] |
一类新的二阶滑模控制方法及其在倒立摆控制中的应用 [J].DOI:10.16383/j.aas.2015.c140263 URL Magsci [本文引用: 1] 摘要
二阶滑模作为高阶滑模的特殊情形,不仅具有传统滑模鲁棒性强、对外界干扰不敏感的特点,而且能够有效地消弱传统一阶滑模中存在的"抖振"现象.本文设计了一种新的二阶滑模控制算法.该算法的优点是假设不确定性是由非负函数限制而不是由常数限定.因此,该算法在实际应用中具有更广的应用范围.此外,算法中的加幂积分技术保证了系统在有限时间内稳定,而不是传统二阶滑模中普遍存在的有限时间收敛,并给出了严格的数学证明.最后,在倒立摆控制中的应用验证了该算法的有效性。
|
[11] |
基于LabVIEW的自动控制仿真系统设计 [J]. |
[12] |
连续搅拌反应釜机理建模与开放式虚拟仿真系统开发 [J].DOI:10.16791/j.cnki.sjg.2016.01.029 URL 摘要
以一类常见的化学反应器——连续搅拌反应釜(CSTR)为虚拟仿真对象,提出一种基于化学反应器装置机理模型的开放式虚拟仿真系统开发方法。首先,使用机理分析法建立数学模型;然后,在LabVIEW软件中构建工艺流程界面,并基于四阶龙格-库塔法编制虚拟仿真程序;进一步,利用共享变量引擎将虚拟装置数据发布到OPC Server中,使虚拟系统具有良好的开放性。以Matlab软件为例,说明了共享数据的调用过程。该虚拟仿真系统不但能够较好地模拟CSTR的工艺特性,而且其数据的开放性有助于学生自行设计控制方案、自主开展创新性实验研究。
|
[13] |
|
[14] |
基于工程项目教学法的控制实验平台建设 [J]. |
[15] |
|
版权所有:《实验室研究与探索》编辑部
主管单位:中华人民共和国教育部 主办单位:上海交通大学 出版单位:上海交通大学学报编辑部 地址:上海市华山路1954号包图1516号 邮编:200030 电话:(86-21)62932952 62932875 |
/
〈 |
|
〉 |