没有合适的资源?快使用搜索试试~ 我知道了~
2013年8月28日至30日,国际自动控制联合会第10届IFAC研讨会控制教育进展。英国谢菲尔德使用Easy Java Simulations元素J. Chac 'onJ. 你好。 Visioli,意大利多尔米多河西班牙马德里国立远程教育大学(电子邮件:jchacon@bec.uned.es,jsanchez@dia.uned.es,sdormido@dia.uned.es)意大利布雷西亚大学(电子邮件:avisioli@ing.unibs.it)翻译后摘要:这项工作提出了一个库的Java类和简单的Java仿真(EJS)的元素,开发提供一个框架,允许一个简单的建设范围广泛的过程控制相关的模拟。该框架的潜力说明了一个应用程序的例子,通过结合几个元素的库:模拟的控制回路组成的SISO过程和PID控制器与发送增量采样。该框架被设计成有点类似于框图编辑器,用户可以简单地通过添加建设性元素并根据需要将它们互连来创建控制循环。因此,模型创建更加直观和健壮,主要是因为根据仿真的复杂性,如果根本没有减少所需的代码的话。该库为用户提供了最常用的控制元件的实现关键词:过程控制,仿真,PID控制,交互式工具,混合系统1. 介绍由于控制工程是一门应用科学,因此拥有实验环境以帮助学生吸收所研究的概念变得非常重要。理想情况下,这一需要通过使用实验室来满足。然 而 , 并 不 总 是 能 够 拥 有 必 要 的 基 础 设 施(Candelas等人(2004年)),主要是因为这些基础 设 施 费 用 昂 贵 , 许 多 大 学 负 担 不 如 文 献(Dormido(2004); Dormido et al.(2005)),在这方面,互动学习软件工具提供了宝贵的帮助,以补充学习过程。与物理实验室相反,这种方法通常不需要高投资,因此不仅适用于大型大学,也适用于其他资源较少的大学。根据(Dormido(2004)),从学生的角度来看,实验环境可以通过访问资源的方式(本地或远程)和要操作的物理系统的性质(真实或模拟)进行分类在文学作品中可以找到许多交互式工具的例子。例如,有用于教导系统识别的工具(Guzman et al.(2012 ) ) 、 PID 控 制 学 习 ( J.L.Guzm'an 等 人(2008))或死区时间补偿器设计(Normey-Rico等人(2009))。在(Johansson et al.(1998))中,作者将控制学习环境实现为小模块的集合,其中每个模块显示一个 specif ic概念。在(Krasnansky和Koz'akov'a(2012))中,开发了一种用于状态空间控制设计的交互式工具,并且(Ruz等人(2009))提供了一种用于教导具有一阶时间延迟模型和PI控制器的基本控制概念的工具。关于远程实验室,这些已在工程教育中得到充分利用。在(Fabregas et al.(2011)),并且以球和环系统的示例来说明其他示例是(Dominguez等人(2005)),其中一组远程实验室可用于控制工程科目,(Casini等人(2011)),其中用Matlab控 制 LEGO 机 器 人 , 以 及 ( Neamtu等 人( 2011 ) ) , 其 中 使 用 Matlab 和 Easy JavaSimulations ( EJS ) 远 程 控 制 Surveyor SRV-1 机 器人。EJS(Christian and Esquembre(2007); EJS(2012))是一种建模和创作工具,旨在简化交互式动态模拟的开发。使用此工具提供的功能,无需专业程序员即可创建仿真。例如,EJS实现了几个求解器(集成微分方程的代码)和一个ODE编辑器,可以直接引入模型方程。最近,EJS中引入了一种简化模拟开发的机制:子面板元素。元素是实现功能的即用型组件。例如,一个文件浏览器,它显示一个对话框,用于选择要在模拟中加载的文件。© IFAC 138 10.3182/20130828-3-UK-2039.00020第十届IFAC ACE2013年8月28日至30日。英国谢菲139使用这种机制,Java类和EJS元素库已被开发,以提高生产力时,模拟交互式动态控制系统与EJS。有了这个框架,大范围的动态过程控制仿真可以很容易地建立。该 库 的 设 计 灵 感 来 自 于 其 他 著 名 的 仿 真 工 具SIMULINK提供的框图编辑器。使用这些工具,用户可以创建一个连接不同块的模型。这种方法有几个优点,因为它是直观的,并有利于一个强大的和模块化的设计。该库为用户提供实现最常用的系统,如由状态空间表达式描述的系统、PID控制器或非线性系统。为高级用户提供了一种扩展内置库块功能的机制如果需要使用库中未实现的特定组件,这可能很有用。该库的使用说明了一个应用程序的例子,通过结合几个可用的元素在图书馆:模拟的控制回路组成的SISO过程和PID控制器与发送增量采样。本文的其余部分组织如下。部分2 介绍了过程控制库,描述了它的体系结构和组件。第3节解释了如何使用库来构建模拟。在第4节中,将逐步构建一个应用程序示例,说明该库的使用最后,结论和未来的工作路线在第5节中给出。2. 过程控制要素过程控制库由两个概念不同的部分组成。一方面,该库的核心是一个框架,其中包含Java类和接口,以及定义控制循环所需的组件的实际实现。这是通过互连不同种类的块来完成的,这些块实现最常用的组件,例如状态空间模型或PID控制器,以及定义用户特定块的机制。另一方面,库的第二部分是EJS元素的实现,它提供了一种将库合并到EJS中的简单方法,并帮助开发人员配置和使用块。描述了库核心的架构(即提供功能的类),并在以下段落中介绍了允许从EJS使用它们的元素。2.1 核心架构目的是保持架构尽可能简单,以便用户不必花费更多的精力。库中考虑的系统类型分为四种类型的块,即,连续系统,其动态由差分方程描述,差分方程由求解器数值积分以获得演化。Fig. 1.该图显示了过程控制库的不同接口及其关系。离散系统,不具有连续流,但它们以恒定的采样周期改变其状态。基于事件的系统,它没有连续的流,但只有在某些条件发生变化时才会改变其状态。混合系统,作为连续系统具有连续流,但当某些条件改变时也可以改变其状态和/或动态。框架提供了Java接口(参见图1),这些接口定义了类必须满足的契约,才能被视为上述类型的块之一。主要组件是接口Block,如清单1所述,它提供了与求解器正确交互和/或与其他块互连所需的方法。尽管库中的所有类都通过它的一个子接口实现这个接口,但只有一个类直接实现它,AbstractBlock这个类不能直接实例化,但是可以扩展它来定义新的块。公共接口块 {1}公共intreturn();公共intreturn();公共intreturn();公共双[ ]getInputs();public intfindDuplicate(int[]nums);public int findDuplicate(int [ ]nums);public int findDuplicate(int[]nums);}清单1:接口块ContinuousBlocks Continuous Blocks表示具有连续动态的块,必须实现Continuous接口,如清单2所示。公共接口连续延伸块{1}publicvoid i n公共双[ ]return();}清单2:接口连续这个接口定义了两个方法,一个是linkStates,它允许将 块 的 状 态 链 接 到 EJS 状 态 向 量 , 另 一 个 是getRates,它计算并返回状态的导数。·····第十届IFAC ACE2013年8月28日至30日。英国谢菲140目前,在库中有三个块实现了Continuous接口。这些是:StateSpaceModel,线性状态空间模型。SisoPlant,前一个元素的特殊化,将其限制在SISO系统的特定情况下。PidController , 一 个完 整的PID控 制器 的实现,具有抗饱和机制和微分滤波器。离散块离散表示具有离散动态的块,必须实现接口离散,如清单3所述。公共接口迪斯·C热特延伸区块{公共 虚空 update(double[ ]x);}清单3:接口离散这个接口定义了一个方法update,它更新块的离散状态。目前在库中实现的离散块如下,Source,没有输入的块,其输出是EJS变量的值。Sum,一个具有可配置数量的输入和一个输出(输入之和)的模块。DiscretePidController,实现离散时间PID控制器。公共接口基于事件延伸区块{公共双evaluate(double[ ]x);公共 虚空 update(double[ ]x);}清单4:基于事件的接口基于事件的块基于事件的块必须实现EventBased接口,如清单4所示。该接口提供的方法可以与EJS事件检测器结合使用,EJS事件检测器是EJS提供的用于检测函数过零的机制。当且仅当必须更新块的状态时,由方法evaluate计算的值才应该为负。使用事件求解器,可以检测到事件发生的瞬间,从而正确更新状态。在撰写本文档时,只有一个块实现了此接口,SodSampler是一个SISO块,其输出是输入的send-on-deltasampling(Chac'onetal.(2012))。2.2 EJS元素上一节中讨论的库块实现了库的所有功能,因此它们可以通过Java代码直接合并到EJS中。然而,为了简化使用,每个库块已被封装成一个元素。目前制定的要素是,图 二 . 类 图 说 明 了 扩 展 机 制 . AbstractBlock 由StateSpaceModel 类 扩 展 , 该 类 也 由 PIDController和SisoPlant专用。这个元素创建一个线性状态空间模型.SisoPlantElement这个元素是前一个元素的特殊化,将其约束到SISO系统的特定情况。PidControllerElement该元素创建一个完整的PID控制器实现块,该PID控制器具有抗饱和机制和微分滤波器。DiscretePidControllerElement该元素创建一个完整实现离散时间PID控制器的块,该控制器具有抗饱和机制和导数滤波器。SaturationElement该元素创建一个SISO块,如果其值在有效范围内,则其输出等于输入,反之则等于饱和值。SourceElement 此 元 素 创 建 一 个没 有 输 入 的块,其输出是EJS变量的值。SumElement这个元素创建一个块,其输出是其输入的总和。输入的数量及其相关符号是可配置的。SodSamplerElement此元素创建一个SISO块,其输出为增量发送采样of the input输入.扩展名. 虽然库包含基本元素,但根据用户需求,可能需要扩展内置类的功能。要定义新块,它必须实现Block接口(或它的一个子接口,如Discrete或Continuous)。这可以通过两种方式完成,即通过编写实现接口的新类或通过继承一个不存在的类(参见图2)。该库提供的AbstractBlock类实现了接口Block和其他实用程序方法。 因此,建议在定义新块时将其作为第一选项3. 利用图书馆假设已经定义了控制回路,并且可以使用库内置块来构建控制回路,则使用库创建仿真所需的步骤如下:(1) 转到位于EJS模型的Elements页面中的流程控制库。···············第十届IFAC ACE2013年8月28日至30日。英国谢菲141(2) 通过拖放将所需的块添加到当前模拟中,并为每个元素指定名称。该名称允许程序员从代码中访问(3) 通过元素的配置页面或编写适当的代码来配置块。(4) 定义块之间的互连(5) 将代码添加到ODE、Evolution和/或Event页面以与求解程序集成。(6) 在用户界面中显示所需的输出。这些步骤在所有情况下本质上是相同的,与模型的复杂性无关。4. 应用实例:基于事件的PID控制回路本节介绍了一个使用过程控制元素库构建的交互式仿真。这个例子是一个模拟建立,以说明一种基于事件的系统的行为:一个PID控制器与发送增量采样器,可以设置为两种可能的配置,一个与采样器影响的控制变量,和其他一个与采样器影响的过程变量。这些配置代表了在实际系统中可能出现的两种情况,即传感器、执行器和控制器在物理上不在同一位置。这在无线系统中经常发生。在这种情况下,第一配置对应于传感器和控制器在同一节点中但致动器分离的情况,而第二配置对应于传感器和控制器在同一节点中但致动器分离的情况。当控制器和执行器在一起,但传感器位于其他地方的情况。4.1 控制回路示例应用程序提供了两个控制回路,如图3所示,它 们 是 基 于 事 件 的 方 案 , 类 似 于 ( Chac'onetal.(2012))。 这些方案由状态空间形式描述的LTI过程、连续PID控制器和增量发送采样器组成。send-on-delta采样器是一个在以下情况下对输入进行新采样的模块:被采样的信号穿过具有由阈值δ定义的宽度的特定电平,相对于原点具有偏移α此块可以放在两个位置:对控制变量进行采样或对过程变量进行采样。对于每个循环,图形界面允许用户轻松地选择四个预定义的过程之一,即积分器,双积分器过程,一阶和二阶。这些是涵盖广泛应用的常见工业过程从模拟中预期的特征可以总结为以下几点:(1) 模拟两个描述的控制回路的可能性,并以图形方式显示回路中涉及的变量(2) 互动,即为用户提供了控制模拟执行的可能性,而且还可以改变系统的配置和/或参数,并立即反映这些改变。(一)(b)第(1)款图三.两个控制回路具有不同位置的增量发送采样器,(a)对控制器输入处的误差信号进行采样,以及(b)对控制器输出进行采样。在下一段中,将逐步描述构建过程。4.2 步骤1:添加元素一旦控制回路设计完成,最终实现的第一步是将元素添加到仿真中(图4)。必须这样做才能使它们可用于模型。每个元素可以被实例化一次或多次,但每个实例必须有一个唯一的标识符(Java有效标识符),因为它对应于一个Java对象。带有配置选项的元素可以在此步骤中通过使用元素的配置页面进行配置(通常这是首选方式),或者在初始化代码中手动配置。与每个实例相关联的名称是(顺序与图3.a相同),source,sum,controller,sampler,process。见图4。EJS模型的元素页面。右边是过程控制库的元素。左侧是添加到模拟中的图元的实例4.3 步骤2:互连块在第二步中,在添加所有需要的块之后,有必要将它们互连,以便使每个块能够获得其输入。从高级的角度来看,每个块都是一个黑盒,其输入都有索引第十届IFAC ACE2013年8月28日至30日。英国谢菲142从0到ni,输出从0到no。由于所有线路都被假定为相同类型(double),因此任何输出都可以连接到任何输入。在接口Block中定义的方法setInput可以用来设置块的输入。该方法有三个变体,如清单5//链路src −输出0//todst−input 0dst . int n(s);//链路src −输出产出指数//todst−input 0dst . set Input(src,index);//链接src −输出产出指数//todst−input input索引dst . set Input(input Index,src,index);清单5:setInput定义图3中的两个控制循环所需的代码如清单6所示。. . .//对采样求和进行计数。setInput(0,var); sum . setInput(1,proc es s); c o n t r ol l e r.int sum();取样器。set Input(c o n t r o l l e r);proc e s.setInput(sampler);. . .//过程采样和。 set Input(0,var); sum .set Input(1,proc e s s);sampler . int sum();c o n t r o l l e r.设置输入(采样器);处理。int n = nums(nums);清单6:代码定义的控制循环此代码在EJS模拟的中间页中执行,因为必须在第一个模拟步骤之前定义互连。如果不是,则块不知道如何获得它们的输入。4.4 第三步:进化代码在这一步,两个控制回路已经完全定义,因此完成仿真的最后一步是添加集成模型所需的代码。这可以通过几种方式来完成,这取决于块的类型。对于具有连续流的每个块,可以将动态添加到ODE页面(参见图5)。如果块是离散的或基于事件的,则可以在Evolution页面或事件求解器中引入更新。循环中有两个具有连续动态的块:控制器和过程。要将这些元素的状态与EJS求解器集成,必须将导数添加到ODE页面,这可以通过dx/dt = process.getRates()和dxc/dt = controller.getRates()完成(参见图5)。请注意,具有连续状态的块必须将其状态向量链接到EJS变量,以便求解器图五. EJS中模型的定义。具有连续动态的块需要具有关联状态。状态的导数是通过调用ODE页中块的getRates()方法获得的图第六章图形用户界面的仿真实例.该界面由几个窗口组成:在左侧,主窗口显示与过程和控制器的基于事件的采样对应的图。在右侧,其他窗口允许用户配置两个控制回路的不同模块:过程、控制器和采样器。可以正确地访问它们这是通过以下方法完成的linkStates(double[] x),定义在Continuous接口中。4.5 步骤4:创建GUI这一步与其他EJS模拟的构建是相同的,并且不依赖于库,所以这里不讨论。然而,设计界面时需要考虑的几个方面如下:第十届IFAC ACE2013年8月28日至30日。英国谢菲143(1) 简单性,界面的设计必须尽量保持简单和易于使用。(2) 多窗口,界面遵循多窗口范式,这意味着概念上不同的操作在单独的窗口中完成。因此是一个显示绘图的窗口,另一个用于配置过程的窗口,等等。用户界面如图6所示。主窗口包含两个显示过程和控制器输出的图。根据配置,采样器输出与过程输出(当对过程变量进行采样时)或控制器输出(如果对控制变量进行采样)一起绘制。从该窗口可以控制模拟的执行。此外,还有三个窗口,一个用于配置PID控制器,另一个用于配置采样器,第三个用于配置过程。5. 结论作为这项工作的结果,一个Java类库和Easy JavaSimulation(EJS)元素现已推出建立与过程控制相关的模拟。过程控制库旨在促进这类仿真的开发,其灵感来自于SIMULINK等广泛使用的工具,并捕获最常见类型系统的行为。为了构建一个新的模拟,它不需要从头开始,而是通过选择和互连块,大大减少了应用程序开发工作。还介绍了利用该库开发的交互式仿真工具,说明了主要组件的使用和开发的简单性。然而,必须指出的是,这个模拟的例子实际上是一个功能齐全的交互式工具,允许一类基于事件的系统进行实验。虽然库的使用已经在仿真环境中呈现,但是也可以将其包括在硬件在环应用中,通过使用用于EJS的LabVIEW连接器元件或者结合EJS的实时支持和已经可用于访问开放硬件平台(例如Arduino或Phidget)的元件。目前,该库正在进行测试,以确保在实时和真实工厂中使用时的鲁棒性和性能。作为进一步的工作,虽然库的架构和最常见的块已经定义,但可以向其中添加更复杂的系统,以覆盖更广泛的系统。此外,虽然通过将模型划分为可分离的块简化了设计,但仍然需要通过代码来完成艰苦的工作。这将是伟大的有一个图形工具来设计框图。确认这项工作得到了西班牙科学和创新部国家计划项目DPI 2011 -27818-C 02 -02和FEDER基金的资助。引用Candelas,F.,Torres,F.,Gil,P.,Ortiz,F.,Puente,S.,Pomares,J.(2004). 虚拟远程实验室及其学术影响评价。Latinamerican Journalon Automation andIndustrial Informatics,1(2),49-57. Casini,M.,Garulli,A.,Giannitrapani,A.,还有维奇诺A.(2011年)。一个乐高Mindstorms多机器人设置在自动控制Telelab。第18届IFAC世界大会Chac'on , J. ,S'anchez , J. , Visioli , A. ,和Dormido,S. (2012年)。 增量采样下IPD过程PI控制中的极限环分析。在控制应用(CCA)中,2012IEEE国际会议,1609 - 1614。Christian,W.和Esquembre,F.(2007年)。 用Java模拟物理。物理教师,45(8),475多明格斯,M.,Reguera,P.,Fuertes,J.(2005).实验室清 唱 剧 雷 姆 奥 托 为 laEnsenMusanzadelaAutom'aticaenlaUni versidaddeLe'on.Revistai be roamericanadeAutom'ati caeInform'ati caIndustria l,2,36-45.Dormido,S.,Dormido-Canto,S.,多尔米多河,Sanchez,J.,和Duro,N.(2005年)。互动在控制学习中的作用。国际工程教育杂志,21(6),1122-1133。多尔米多湾(2004年)。 控制学习:现在和未来。InAnnual Reviews in Control,Volume 28,115EJS(ed.)(2012年)。 http://fem.um.es/Ejs。Fabregas , E. , Farias , G. ,Dormido-Canto , S. ,Dormido,S.,和Esquembre,F.(2011年)。开发工程教育远程实验室。计算机教育,57,1686-1697。Guzman,J.L.,Rivera,D. E.,Dormido,S.,和贝伦托,M.(2012年)。系统辨识教学的互动式软体工具。Advances in Engineering Software,45(1),115-123.J.L.Guzm'an , K.Astréom , S. Dormido , T.Hagglund,Y. Piguet和M. Berenovich(2008)。用于PID控制的交互式学习模块 IEEE控制系统杂志,28(5),118-134。Johansson,M.,Gafvert,M.,Astrom,K.(1998年)。自动控制教学的交互式工具。控制系统,IEEE,18(3),33- 40。doi:10.1109/37.687617。克拉斯南斯克河 和Koz′a kov′a,A. (2012年)。状态空间控制设计:一个交互式控制教育工具.第九届国际会计师联合会研讨会控制教育进展,第9卷。俄罗斯Neamtu,D.V.,Fabregas,E.,Wyns,B.,De Keyser,R.,Dormido,S.,和Ionescu,C.(2011年)。移动机器人应用的远程实验室。第18届国际会计师联合会世界大会预印本,7280Normey-Rico , J.L.Guzm'an , S. 多 尔 米 多 湾Berengland和E.F. Camacho(2009年)。使用交互式工具进行DTC设计的统一方法。控制工程实践,17,1234-1244。Ruz,M.,Morilla,F., 和V'azquez,F. (2009年)。采用一阶纯滞后模型和PI控制器进行寻优控制。国际会计师联合会第八届研讨会控制教育进展,第8卷。日本
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功