《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.9 案例研究

简介:

本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.9节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.9 案例研究

CPS本质上是异构的。因此,CPS模型的特点是能够与计算模型结合。本节将通过一个实例来展示多个计算模型的使用。这是一个高度简化的实例,但只需要一点点想象力,就能很容易地看出一个模型如何发展成一个准确和完整的大型复杂系统模型。关于大型复杂系统,我们很容易想到的一个例子是加载在智能电网或运载工具(如飞机和高级汽车)上的电力系统。这种系统具有多种电力来源(如风力发电机、太阳能电池板、涡轮机、备用发电机等),应当协调地为多样性的负载提供能源。该系统包括控制器和监督控制器,其中控制器用来使发电机的电压与频率保持在近似的常数,监督控制器则用来提供负载和发电机的连接与断开服务,并提供故障处理服务以保护设备。该系统还包括网络,该网络的动态变化能够对整个系统产生影响。
下例所示为一个高度简化版本的系统,用来展示如何使各种车辆运行管理系统发挥作用。
例1.4 一个燃气发电机的简化模型,如图1-8所示,它能够连接和断开负载。这是一个连续时间模型,由相应的连续时间域指示器(Continuous Director)表示,详见第9章。该模型有两个输入,一个驱动(drive)信号和一个负载导纳(loadAdmittance)。输出是一个电压(voltage)信号。此外,该模型有3个参数,一个时间常量T,一个输出阻抗Z和一个驱动极限L。当发电机获得或多或少的燃气(由drive输入表示)且负载变化(由loadAdmittance输入表示)时,模型将随时间给出一个变化的发电机电压输出。


1e4a4d2f7b0afc93364dc36cc1d5be2822fcd60d

图1-8 燃气动力发电机简化模型
该模型展示了简化的线性和非线性的动力系统。非线性动力由限制驱动(drive)输入的Limiter角色实现(见2.2节补充阅读:Math库)。特别是,如果drive输入变成负数,它将设置驱动为零(不可能将燃气从发电机里抽出来)。当在参数L所给的上界时,它使驱动(drive)输入达到饱和。其中L的默认值为无穷(Infinity),这意味着不设饱和值(发电机能够承受任意大的驱动(drive)输入)。
本模型中,线性动力部分是由一个小的反馈回路提供的,其中包括一个AddSubtract角色、一个Scale角色,以及一个Integrator角色。如果Limiter角色的输出是D,那么该回路提供一个值V,并满足如下微分方程:

e23252a70bfdb74d647973562da439a4a96fd854

其中D和V都是时间的函数(关于模型如何产生上式方程详见第9章)。
对于该方程的理解不是此处重点,因为模型的这个部分通常由机械工程师来构建,他们是该方面的专家。但是读者可以做一些直观的观察。第一,如果D=V,那么导数为零,所以发电机是稳定的并产生一个恒定的输出。第二,当D≠V时,反馈回路将调整V的值,使其接近D。如果D>V,那么方程使V的导数为正,那么V会增加。如果D模型的最后一部分是对负载产生的影响进行建模。这种影响可由Expression 角色来进行建模(见13.2.4节),利用欧姆定律计算输出电压的函数值V,该函数体现发电机的效率、输出阻抗Z和负载导纳A。电气工程师会认为该计算实现了一个简单的分压器。
在文本中,注意以下这点就足够了:如果A=0(无负载)或者Z=0(该发电机是理想电源),那么输出电压等于V。然而,真实的发电机并没有非零阻抗。当负载导纳从零开始增加时,输出电压会下降。
上面的模型是一个最简单有趣的连续动态模型。为了把该模型与数字控制器集成在一起,可以将模型封装成另一个定义了离散接口的模型,如下所述。
例1.5 将图1-8所示的发电机模型进行封装,以提供一个离散接口,如图1-9所示。这里,驱动(drive)和页载导纳(loadAdmittance)输入进入ZeroOrderHold角色的实例。这样,输入信号就可以以离散事件的形式提供,而不是以连续时间信号的形式。ZeroOrderHold角色在事件到达的间隙里将保持值不变,通过这样的方式将离散事件转换为连续时间信号(见9.2节)。

bf47bdcb786d5482d926ee4ec05102a3666442f7

图1-9 图1-8中发生器模型的封装,提供一个离散接口
输出电压经过可以产生离散事件的周期采样(PeriodicSampler)角色(见9.2节)。这里Periodic Sampler角色产生的离散事件是输出电压的采样值,采样周期为参数P。
该模型反提供了时间常数T和输出阻抗Z,但是隐藏了驱动极限L。当然,模型设计者可以选择要提供的参数。
一个连续时间模型可以嵌入于离散事件模型中(见第7章),如下所述。
例1.6 图1-9中的离散发电机模型嵌入于图1-10中的离散事件模型中。该模型有两个参数,负载导纳A和过压阈值OVT。DiscreteGenerator角色的时间常数T设置为5.0。该模型还包括其他两个组件,这两个组件:一个监视器(Suppervisor),用来提供过载电压保护;另一个是控制器(Controller),它基于输出电压的测量值来调节DiscreteGenerator的drive输入。

21125f4266e41135bd0dd488c62ef24229f6412b

图1-10 包含发电机、控制器、过压控制器的离散事件模型
此外,该模型还包括一个简单的测试场景,在该场景中,SingleEvent角色(见7.1节补充阅读)在时间为15.0时请求一个负载连接,通过TimedPlotter角色(见第17章)进行模型运行结果的展示,如图1-11所示。

41381a919091a015cbd8bff0252a1c25a1b21b07

图1-11 由图1-10中模型所生成的图
在测试场景中,与输出阻抗(1.0)相比,虽然负载导纳也相当高(1.0),但其会产生很大的影响,因此,在时间为15秒接入负载时,电压突然下降为其目标值(110V)的一半。控制器(Controller)通过大幅增加驱动(drive)来为它补偿,但是这将导致电压超过目标值,在时间为24秒时,电压会超过OVT阈值。监视器(Supervisor)会通过断开负载对这种过压情况做出反应,因为现在发电机有了较大的drive输入。同时这导致电压上升得很高,控制器(Controller)通过调节驱动(drive)输入最终会使电压恢复到目标水平。
更进一步地注意到,当负载断开连接时,控制器使驱动(drive)信号为负。如果这是一个燃气发电机,控制器(Controller)将试图让发电机进行后向的燃汽流动。幸运的是,发电机模型包含了个Limiter角色,它用来阻止模型真的提供负向的气体流。
图1-10中的模型包括了两种完全不同的控制器,一个监督用的控制器称为监视器(Supervisor)一个底层控制用的称为控制器(Controller)。这两个控制器被指定使用两个附加的计算模型(MoC),如下所述。
例1.7:如图1-12所示,图1-10中的监视器(Supervisor)是一个有限状态机模型。虽然这里的符号将在第6章解释,但我们依然可以理解其一般行为。

6a78f85f9f9dfd931c3faea1fd75f4848bd70c83

图1-12 图1-10中的监视器(Supervisor)
这个有限状态机有两个输入:一个开关信号输入“onOff”(是一个请求连接或断开负载的布尔值),一个故障信号输入“fault”(是一个表示过压情况是否发生的布尔值)。有一个输出loadAdmittance,它是提供给发电机的实际负载导纳。
有限状态机的初始状态是off。当onOff输入为真,则有限状态机将从off状态转移到on状态,并输出一个loadAdmittance,其值由参数A给出。它连接着负载。
当有限状态机的状态是on时,如果fault事件输入为真,则它将转移到最终状态fault并设置负载导纳(loadAdmittance)为0.0,断开负载。如果onOff事件为假,那么它将转移到off状态,并且也会断开负载。这两种转移的不同在于一旦有限状态机进入fault状态,若没有系统重置(将有限状态机回复到初始状态)它将无法重连负载。
例1.8 图1-11中的控制器(Controller)模型是图1-13所示的数据流模型。该模型使用SDF指示器(见第3章),它很适合进行采样数据信号处理。在这种情况下,控制器比较输入电压(voltage)和目标电压(110V),并将产生的误差信号输入PID控制器。PID控制器是一种常用的线性时不变系统。控制工程师知道如何设定这种控制器的参数,但在该情况下,我们只需简单地选择一些实验性的参数来产生一个有趣的测试用例。
注意图1-10中模型有部分是明显异构的,它涉及多个工程学科和计算机科学。一般来说,这种类型的模型都是工程师团队共同努力得出的结果,并且如果有一个框架可以使这些团队将他们的模型组合起来,那么将是极具价值的。

799ab876e607db0de59039e28df18aabefa282d6

图1-13 图1-10的控制器(Controller)
关于该模型更多细节和扩展很容易想到,例如:
发电机可以定义成面向角色的类(actor-oriented class),以便它可以被重复应用,可以在一个集中的定义下开发和维护(详见2.6节)。
使用第9章所讨论的技术,可以更精细地建立发电机模型,以反映更复杂的线性和非线性动态系统。
可以更精细地建立发电机模型,以考虑频率和相位的影响,例如通过使用相量的复数来表示阻抗和导纳。
大小可变的模型(比如,n个发电机和m个负载,n和m是参数)可以通过2.7节中所述的高阶组件来创建。
网络定时(network timing)、时钟同步(clock synchronization)和共享资源竞争的影响可以用第10章中的技术来建模。
信号处理技术,如机器学习和频谱分析(见第3章),可以被集成到控制算法中。
单位系统(units system)模型可以包含在模型中,以使得模型对于时间、频率等测量单位的描述更加精确。
本体(ontology)可以加入模型中,使模型精确表示哪个信号和参数表示电压、导纳和阻抗等,或者使模型可以区分特定领域的概念,如发电机的内部电压和受输出阻抗和负载影响的输出端电压的区别。
相关文章
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.5 层次结构模型
本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.5节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.5层次结构模型 复杂系统的模型通常很复杂。
1885 0
|
开发者
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——导读
本书是为需要对各种系统建模的工程师和科学家,以及想了解如何为复杂、异构系统建模的人而编写的。这些系统包括机械系统、电气系统、控制系统、生物系统等,更有趣的是,还包括结合了这些领域或者其他领域元素的异构系统。本书假设读者熟悉仿真和建模工具及其技术,但不要求对这些内容有深厚的背景知识。
2503 0
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——导读
|
容器
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——3.3 小结
数据流是一个简单和通用的计算模型,其中角色的执行由输入数据的可用性来驱动。它对流(expressing streaming)应用的表示特别有用,其中长数据值序列通过计算选择路径,如常见的信号处理和多媒体应用。
2567 0
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.4 角色模型
本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.4节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看 角色模型 Ptolemy II基于一类面向角色的模型(actor-oriented model),或简单称为角色模型(actor model)。
1499 0
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.7 时间模型
本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.7节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.7时间模型 有些计算模型有时间(time)概念。
1571 0
|
Java C语言
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.3 模型在设计中的作用
本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.3节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.3模型在设计中的作用 本书为在Ptolemy II中理解和建立模型提供了一个框架,更广泛地说,这是理解建模中的关键问题并对复杂异构系统进行仿真的一个框架。
1897 0
|
uml C++
《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》——1.6 异构建模的方法
本节书摘来自华章出版社《信息物理融合系统(CPS)设计、建模与仿真——基于 Ptolemy II 平台》一书中的第1章,第1.6节,作者:[美]爱德华·阿什福德·李(Edward Ashford Lee),更多章节内容可以访问云栖社区“华章计算机”公众号查看 1.6异构建模的方法 异构建模有很多种方法(Book et al.,2008)。
2705 0