远程控制实验系统软件体系的结构

时间:2020-08-01 18:34:50 研究生论文 我要投稿

远程控制实验系统软件体系的结构

  摘 要:针对远程控制实验系统具有多需求、多任务并且实时性要求高的特点,提出一种基于需求特征映射的软件体系结构,并且在此基础上设计与开发了一套基于C/S与B/S的混合体系结构的远程控制系统。该系统不但允许用户进行远程虚拟实验,而且还可以对实验设备进行远程实时控制。实际应用表明,该系统不但保证了不同用户的实验需求,而且还满足了远程控制的实时性要求。

  关键词:软件体系结构;远程控制系统;需求工程

  1、引 言

  目前,国内外已经有许多大学都研制出了自己的远程教育软件系统,这些系统的建成对于提高教学质量和效率起到了极大的推动作用。对于控制系统的远程实验教学平台就其功能而言主要分为虚拟实验室和远程控制实验室。在国外,美国Illinois大学芝加哥分校的VRiChEL实验室研制的Vicher系统¨ 将虚拟现实技术应用在化学工程教育领域,设计了多个虚拟实验。另外,类似的还有澳大利亚RMIT大学设计的虚拟实验用于进行热传递过程的教学 ,可以帮助学生快速地掌握这个抽象的概念。在国内,北京大学开发的基于Internet的虚拟实验室3WNVLAB就是一种支持大计算量和交互式的网上虚拟实验室的通用基本框架,它是一个基于浏览器和Web服务器的虚拟实验室 。可以看出,虚拟实验室主要是用户通过Internet把设计的的实验传送到服务器端。服务器端用来完成客户端要求的实验内容,并将可信的实验结果返回客户端。客户收到实验结果后,可评价自己的实验设计,从而对自己的能力进行判断。

  由于虚拟实验室中实验用到的实验设备都是抽象符号表示,往往无法代表真正的实验环境,在控制实验教学过程中尤其明显,由于用户无法观察到被控对象的动态响应,以及实际实验过程中系统所存在的扰动和不确定性,导致这样的虚拟实验无法达到真正的实验目的。因此,产生了另一类远程实验室:远程控制实验 ,目前,国内主要有中国科技大学物理系研制了一套基于Internet的扫描探针显微镜(SPM)远程控制系统 ;浙江大学研制了依托千兆局域网基础上的基于C/S模式的远程控制系统 。新加坡国立大学的远程实验室 允许用户通过Internet进行远程实验,使用B/S方式实验,可以实现昂贵的实验设备共享。

  远程实验室的服务器端使用LabView虚拟仪器软件实现对实验设备的控制,服务器与实验设备之间通过RS-232接口或IEEE488.2 GPIB总线进行连接。意大利的PolitecnicodiMilano大学也使用类似方案实现了远程实验室。不难看出,这样的系统基本上可以满足普通的本科教学的验证性实验。但是,由于此类系统的控制器设计在本地实验端,远程端仅仅只能允许修改相应的控制器参数,而不能够提供完整的控制器的设计。因此,对于高年级学生的实验要求就很难满足,尤其是网络控制实验(此类系统要求整个控制回路通过网络闭环进行实时控制,所以要求系统提供相应的网络传输参数)更是无能为力。

  综合以上介绍的远程实验系统不难发现,现有系统都在一定程度上满足了特殊用户的需求,在局部范围内起到了较好的教学效果,但是,由于用户需求的多样性,这样的系统很难普及,同时一个统一的远程控制实验系统的软件体系结构尚未形成。因此,本文从远程实验室系统的不同层次用户的需求出发,提出一种基于特征映射的软件体系结构的设计方法,在此基础上开发和设计了相应的远程控制实验室。与现有系统比较本文论述的系统具有以下几个优点:

  ① 满足多用户的需求,不仅提供虚拟的验证性实验,而且提供远程的控制实验。用户可以通过本系统动态观察被控对象的过渡过程,以及系统的不确定性对性能的影响。

  ② 本系统可以为控制专业较高层次的研究性用户提供网络传输的服务质量性能参数,使系统的网络资源调度与管理以及控制过程中的采样周期调度成为可能。

  ③ 系统可以在局域网内通过网络实时闭环控制,为网络控制系统的研究提供实验基础。

  2、现有系统的软件体系结构及其存在的问题

  2.1 虚拟实验室的软件体系结构目前,现有的虚拟实验室普遍采用如图1所示的软件体系结构,利用面向对象分析(OOA)和面向对象设计(OOD)来开发。采用B/S结构的主要功能是:用户提交待实验的Simulink或m文件通过远程调用Matlab的计算引擎,完成仿真计算后服务器将仿真结果送还给远程用户端,客户端的Applet通讯模块把仿真数据解析后,将数据分别以动画和虚拟示波器、数据表格等方式有效的把实验结果呈现给用户,达到仿真实验的效果。由于虚拟实验的引入,可以满足远程教育中自动化专业的低年级学生的仿真实验或简单的验证性实验的需求,但是,由于缺少对真实设备的控制,对于高年级的本科实验教学而言,实验内容的`复杂性和多元化,这样的实验系统就很难满足了,尤其是缺乏对控制过程中实际系统的不确定性以及系统过渡过程的动态性能的直观的描述。

  2.2 远程控制实验室的软件体系结构目前,现有的远程控制实验室的软件体系结构普遍采用如图2所示的软件体系结构,跟虚拟实验室类似采用OOA和OOD来开发设计采用B/S结构。从系统的功能上而言,由于远程控制实验室连接的是真实的实验设备,实验过程中利用多媒体技术,可以让学生实时观测到实际对象的运行情况,并且在远程控制端给实验者提供修改控制器参数的接口,允许用户动态地改变系统的采样周期? 。此类系统有一个共同的特点:实验对象的控制器设置在本地端,并且往往都是事先固定的,如:PID,预测控制策略,使用者仅仅可以通过网络对系统所提供的控制器参数进行设置和修改。相对于虚拟实验室,远程控制实验室更适合本科高年级的教学实验。尤其是其提供的先进控制策略,也适合一般的研究人员进行验证性实验。不难发现,这样的系统就其本质而言其控制回路的设计仍旧是本地控制,而没有通过网络实时闭环控制。因此,就很难满足控制专业研究生的实验教学要求。

  考虑到如图2的结构中系统的控制器设计在服务器端,并且往往都是固定的。为了保证系统的控制回路构建在整个网络上,文献[10]中研制了依托校园网的基于C/S模式的远程控制系统,把控制器设计在远程端,整个控制回路通过传输网络闭环如图3所示。

  这样方便了远程实验用户设计开发相应的控制器。但是其带来的代价就是客户端需要安装庞大的软件或插件,不仅系统可维护性差,而且由于客户端使用平台的不一致性,导致系统的使用范围受到了很大的限制。

  3、基于需求特征映射远程控制系统体系结构综合

  上述分析不难看出,现有系统的软件体系结构设计过程中普遍存在的一个问题就是:从需求到软件体系结构的映射不足。对于控制系统而言,系统的实时性要求很高,如果系统的控制回路通过传输网络实时闭环,则构成的控制系统为典型的网络控制系统。

  近年来,对于这类系统的研究,已经成为控制理论的研究热点和重点但还有很多理论问题有待进一步的完善。因此,在现有基础上采用基于需求特征映射方式的软件体系结构设计方法来设计远程控制实验系统。

  首先,把特征看作需求建模的一阶实体,并把特征建模与传统的需求建模结合起来以更完整地捕获各种需求。进而,在体系结构建模中,以面向需求特征为目标,维持特征模型和体系结构模型间在较高抽象层相对直接和自然的映射。这里要强调的是本文的方法并不是对传统方法的否定而是对传统方法的改善,因而该方法能够与传统方法如面向对象(O0)方法紧密地集成,并且本文的建模概念和表示、遵循UML语言的概念和表示体系。

  3.1 远程控制系统的需求建模文献[11]中把特征分为功能性特征和非功能性特征,两者对软件体系结构构造有着不同的影响。因此,本文首先基于功能特征将待开发的远程控制实验系统初步划分为一些构件,接着考虑系统的非功能特征,对这一初步划分反复、渐进地进行优化和转换。利用特征诱导和特征组织与分析的需求建模方法[11],把系统的需求划分为3个层次上的抽象:任务需求,用户需求和功能需求。

  任务需求的特征描述了实验教学的目标、实验过程、实验组织及约束等。用户需求特征主要描述系统所提供支持最终实验用户任务的服务以及对服务的约束,在此基础上按文献[11]中的组织方式进一步组织特征:

  (1)支持特定任务层特征的用户任务可归为一组,并成为该任务层特征的子特征。

  (2)支持某一用户任务的特征可归为一组并成为该用户任务的子特征。

  (3)如果一个非功能特征是对一个功能特征的约束,则该非功能特征成为对应功能特征的子特征。如果一个用户层特征以某一个任务层特征为目标,则前者称为后者的导出子特征。

  对于特征间的潜在的交互关系,这里采用其相互问的逻辑关系加以描述,包括:“包含”、“一般到特殊”、“导出”、“制约”及“依赖”和“互斥”等,并且严格指定特征本身的属性,然后利用use case技术把特征细化为足够详细的可实现的功能需求。

  远程控制实验系统根据不同的用户可以分为:①专科或低年级的本科生;② 高年级本科生;③ 研究生;④ 教师及其他研究人员。针对这4类不同的用户,需求特征不同,如对于第① 类用户,其实验需求的主要特征是对给定的被控对象模型和控制策略进行验证性实验,或者在此基础上进行适当的参数调整以验证控制参数对系统性能的影响。因此,在需求建模的时候,把其统一抽象成为此类任务需求的必须特征。

  同时,对于这类用户系统的被控对象的特性,回路特性和计算引擎都不是必须的,可以统一的作为可选特征进行需求特征建模,而这些功能对于其他用户而言可能是必须的特征,如第③ 、④类用户要求系统提供回路信息和网络服务质量的相关信息作为系统控制设计的依据,甚至是希望系统能够通过网络实时闭环,因此要求整个系统能够保证很好得到实时性。整个远程控制实验系统的需求特征模型如图4所示。

  3.2 远程控制系统的体系结构建模与系统实现的关键技术根据得到的需求特征模型,考虑到功能特征与非功能特征对软件体系结构的构造有着不同的影响,因此,在系统体系结构建模的时候将它们分开处理,分别进行概念体系结构建模、逻辑体系结构建模和部署体系结构建模。其中,概念体系结构建模是基于问题域和需求的结构来描述系统的抽象视图,而不考虑技术细节;逻辑体系结构建模考虑技术方案,是对概念体系结构进行精化、调整和转换;而部署体系结构建模相比与前两者主要解决模块与模块间的计算节点及计算节点之间的交互问题。

  系统的体系结构建模是待求解的问题域到解决问题域的高层次的抽象,而面向特征的体系结构建模是以“面向特征”为目标,维持特征模型和体系结构模型间在较高抽象层相对直接和自然的映射。而对于本系统而言,其在实现方式上采用C/S和B/S混合结构,对于系统模型中的控制服务,考虑到系统实时性的要求和需求模型中的必须特征的使用用户为研究性实验,对于这类用户由于其已经具有较好的专业知识, 所以采用C/S结构,利用校园网进行实时闭环。对于其他服务,这里采用B/S结构。

  不难看出,系统实现的关键技术在于远程控制中控制器的动态加载,控制策略的动态加载与扩充常用的方法是通过c++的new和delete的内存管理和分配方案来实现数组和数据结构的定义,以及模块间的参数传递。然而,对于远程实验系统运行状态的判断,完全依赖于用户的控制信号,即当用户希望系统运行停止的时候,需要先给模块停止信号,然后再停止系统的运行。这样的做法对于远程控制实验系统显然是不适合的。另外,从整个软件的安全性角度出发,在终止整个系统的运行前,单独停止某一个模块的运行,安全方面会产生隐患。考虑到以上因素,在本系统提出动态接口,其基本思路是另外添加一个DLL,提供公共函数,用于分配和管理内存。在用户自定义的控制策略模块中,调用公共函数即可,需要保留或传递参数,直接传递序列编号。

  SpaceDLL是用于分配和管理内存的公共DLL,接口包括:UserFBDVVector、UserFBDdVect0r和UserFBD.NewdVect。其中,基本的数据类型为双精度,能够满足基本要求。定义双精度的vector:typedef::std::vector(double)DoubleVector;定义DoubleVector的vector:ty.pedef::std::vector(DoubleVector)VVector;其中,VVector是链式的结构,用户可以在这个链上基本上可以认为是无限制的添加和操作DoubleVector的数据类型;对于DoubleVector的管理和传递,通过其序号来实现,从而实现内存数据的安全传递;UserFBDVVector函数返回的是对VVector的引用;UserFBDNewdVect函数返回的是新的DoubleVector的引用,用户可以直接操作使用;UserFBDdVector函数的参数为DoubleVector在整个VVector中的序号,返回指定序号的Dou.bleVector的数据序列的引用。通过以上策略,实现了算法模块接El的扩展,用户可以自行添加数组或动态分配内存,并且保留或传递参数,对内存进行操作。

  3.3 应用实例自行开发了基于校园网的远程控制软件(软件着作权登记号:2005SR15172),网络控制软件运行环境为:win2o0O/winxP、SQLServer 7.0,主要包括菜单、工具栏、状态栏、控制窗13、监控窗口、视频窗13、显示窗口。操作窗口主要负责管理监控平台的各项操作,包括实验管理、实验操作和系统管理,其中,实验操作主要包括:通信设置、流量监控、曲线设置、控制回路配置、被控对象模型配置、控制器参数配置和控制策略的动态加载等。系统管理包括密码设置和用户管理。实验管理主要功能:实验成绩查询、实验报告的生成与递交等功能。监控窗El可以实时显示控制点的信息主要包括:工程信号量、采样周期、控制点编号、采集量的延时等。显示窗El主要配合操作窗口和控制窗口完成各项操作功能的设置及控制点的配置。

  4、结 语

  在现有远程实验系统软件体系结构分析的基础上,针对远程实验系统用户需求的多样性和控制系统本身的实时性强的特点下,提出一种基于需求特征映射的软件体系结构建模的方法。在此基础上,开发与设计了基于C/S和B/S混合结构的远程控制实验系统。实际应用表明,系统在满足实时性要求下,在一定程度上满足了多用户的需求,具有较好的可行性。

【远程控制实验系统软件体系的结构】相关文章:

Oracle认证结构体系10-15

网管面试:Internet体系结构12-03

采购成本控制体系如何建立07-28

J2EE的体系结构10-19

土力学实验教学体系的改革10-29

嵌入式系统体系结构11-05

中药炮制学科结构与体系完善11-03

浅析地下空间结构裂缝的控制11-13

Java EE的Web服务体系结构01-05