埃德•马尔克斯MathWorks
发现使用Stateflow的基本知识®通过一个例子。您将学习如何模型、模拟和测试监督控制器确定建筑物使用能源存储在电池或能源的电网。您还将看到如何从头构建一个状态图,连接状态和条件转换,添加流程图决策逻辑,然后运行模拟和动画,以确保模型是否正常工作。
经过这个例子中,您将了解如何Stateflow只是一个基于模型设计的一部分的建模、模拟、测试和实现真实世界的系统。
Stateflow是一个图形环境,允许您为主管设计和模拟决策逻辑控制、任务调度、故障管理应用程序。这个视频将告诉你基本的Stateflow并让你知道如何使用它来决策逻辑模型。最后,我们会带你去哪里了解更多关于Stateflow旁边,今天开始使用它。所以让我们开始吧。
MathWorks屋顶安装太阳能电池板在我们的总部在纳蒂克,马萨诸塞州。这些太阳能电池板可以帮助减少我们的电力成本和对化石燃料的依赖。事实上,他们提供MathWorks约8%的能源需求。
配对的太阳能板电池让我们收集太阳能,然后使用它当我们想要的。这些太阳能板产生的能量变化在每一天。这使得很难找到最佳的方式来使用收集的能量。
假设我们的建筑使用200千瓦,太阳能电池板会收取3兆瓦小时电池。这作为缓冲力量建设的时候没有阳光。现在我们需要决定何时使用网格和何时使用电池我们可以减少电费。我们需要代表所有这些操作模式以及它们之间决定何时过渡。
幸运的是,我们有Stateflow,可以做所有这一切。电力定价不同。能拯救我们的电池最多的钱如果我们可以使用它来避免价格最高。
基于现在是什么时间,我们要在这两个操作模式之一。我们可以表示这是两个不同的国家使用有限状态机。我们将使用网格或电池如果它有足够的充电。如果电池耗尽,我们会回到使用网格。只有一个操作模式将活跃在任何时间。
我们将我们的有限状态机模型流程图。硬件已经在仿真软件建模,所以我们可以加载模型并添加到它。金宝app模型的输入数据是瓦特的电力来自太阳能板每15分钟采样一次。我们有一年的数据。这是我们的模拟将多久。
我们将使用这些数据来确定如果天气晴朗的话,我们的天气探测器。我们还需要知道一天的时间。我们将做决定基于电池的水平。电池,所以我们有一个计划模型和我们监控存储的能量范围。
最后,我们将解算器设置为一个固定的步骤解决匹配我们的太阳能数据的采样率。您可以使用Stateflow连续系统。但对于这样的决策逻辑,它通常会被离散时间。
好的,这涵盖了已经建立。但是我们需要决定何时使用电池和何时使用网格。我们该怎么做?我们可以通过添加一个Stateflow图表来表示我们的决策逻辑。
我们会通过拖动图块Stateflow图书馆为我们的模型。现在让我们连接信号里面的图表我们可以使用它们。因为我们的信号已经名字,我们可以将它们拖到图块。和端口名称将被设置为信号名称。
我们将另外两个信号拖到图,两个端口将被添加。开始变得有些拥挤,所以我们将调整图块。最后,我们将重命名此图块建造经理。现在,我们可以构建我们的决策逻辑。里面我们可以使用所有的信号连接。
能源系统在我们的建筑可以使用网格和电池之间切换。我们将代表这两个操作模式使用两种状态,即使用网格和使用电池。我们还需要告诉Stateflow哪个国家开始进入我们的模拟通过添加一个默认的过渡。
我们首先从电网电力。所以默认传输将进入使用网格的状态。之后,我们收集了一些太阳能电池,我们应该考虑切换到使用电池状态。所以我们将允许使用网格之间的传输和使用电池状态通过连接它们。
在Stateflow我们可以使用方括号来指定一个条件和花括号指定一个行动。每15分钟,我们需要决定是否使用网格或电池在接下来的15分钟。降低能源总成本,我们先尝试使用电池。
达到200千瓦的电力需求15分钟,存储的能量必须大于50千瓦小时。我们将使用这个条件卫队从使用电网状态过渡到使用电池状态。如果我们使用电池及其储存能量低于50千瓦小时,我们将再次使用网格。
接下来,让我们来指定状态的行为。Stateflow,国家可以有不同的操作类型,包括入口、期间和退出操作。条目执行行为如果发生在进入一个国家。在剩余的状态时执行的操作。和退出操作上执行的状态。
当进入使用电池状态,我们将使用一个条目行动设置电池使用率为200千瓦。让使用电池的状态时,我们将使用一个退出动作设置使用率为0。之后,我们将使使用率输出信号和使用它的值来调整电池仿真软件的收费水平。金宝app
没有成本使用电池,因为它的能量来自太阳。另一方面,当使用电网,能源价格是0.20美元/千瓦时,这意味着能源成本将会上涨10美元每15分钟。所以我们应该增加能源成本在进入或剩余在使用网格状态条目和行动。同时,我们不要忘记指定0成本的初始值。
好了,完成我们的第一个状态转换图。我们开局很好,但好像缺了点什么。0.20美元/千瓦时的能源价格只适用于非高峰时段。高峰时间,价格是0.30美元/千瓦时的能量。
所以我们如何能适应时变价格吗?嗯,能够跟踪一次,我们需要的是另一个状态转换图。我们已经知道如何构建一个在Stateflow。,我们可以很容易地知道能源价格将会根据使用的时间。
现在我们有两个独立的任务,跟踪是否非高峰时间和峰值时间和管理能源。组织,我们将介绍两个超级大国叫经理的时间和精力。使用状态层次结构有助于我们更好地组织、结构和管理我们在Stateflow决策逻辑。
默认情况下,只能激活一个州在任何给定水平,这意味着国家流程图独家分解。这就是为什么Stateflow警告我们,我们没有一个默认的过渡。但实际上,我们不需要一个在这个级别。
我们想同时跟踪时间和管理能源。让我们转换图表并行分解。我们称这些平行状态。但在现实中,事情必须发生在一个特定的顺序。Stateflow让我们指定执行顺序为每个平行状态,这有助于我们避免模棱两可的决策逻辑。
接下来,让我们来检查执行顺序的这两个平行的状态。能够计算能量消耗,我们首先需要知道当前时间。已经执行顺序是正确的。
现在我们追踪时间的使用,我们可以简单地按照流程图来确定当前的能源成本。这是目前在高峰时段吗?如果是的,那么能源成本将是15美元。如果没有,那么能源成本将是10美元。
好了,回到我们的流程图。让我们重做能源成本计算的基础上,通过添加流程图每天的时间。这次的缺省转换带我们结,从那里,我们将拓展。我们可以使用算子检测的时候使用。
如果是高峰时段,我们将第一个分支,增量成本的行动是15。否则,我们将第二个分支和增量成本除以10。就像平行的状态,重要的是要有正确的执行顺序为每个过渡。例如,如果执行顺序向后,右分支永远不会被检查。
接下来,我们可以使用符号窗格来定义符号被使用在我们的图表。请注意,我们已经有三个输入符号,这对应于三个输入端口,我们从顶层创建模型。让我们点击解决未定义的符号。这将自动确认我们使用的符号和定义他们的数据范围基于它们是如何被使用的。特别是,每个输入和输出数据的符号将成为图块的一个港口。
由于能源成本对我们是很重要的,让我们做一个输出信号通过改变其输出数据的数据范围。回到顶层模型,现在我们国家流程图输出端口输出数据。现在让我们添加一个显示块捕获能源总成本,使所有连接。Stateflow之内,我们可以轻松地监视post-simulation的活动状态数据分析。
因为我们感兴趣的是监控能源使用在一天的不同时刻,让我们记录孩子活动这两个超级大国。我们已经准备好运行模拟点击run按钮。图表是完全在模拟动画,我们可以看到在运行时状态和转换。
但是我们如何确保我们的决策逻辑是正常工作吗?让我们暂停动画仿真和减缓速度。这个时候我们使用网格的一步。我们可以看到,在非高峰状态。到目前为止我们的成本是4855美元。
现在我们一步一步,看看我们宣传的非高峰价格10美元。下一步,我们转换到巅峰状态,然后我们宣传的峰值价格15.01美元。最后一个步骤中,我们使用的电池状态转换。如我们所料,我们的成本没有改变。
好吧,看来我们的决策逻辑是正常工作。让我们关掉动画运行剩下的步骤并单击Continue。一旦模拟运行结束之后,我们可以看到显示的能源总成本。
让我们打开空间看看储存能量随时间变化。我们可以观察到不同的阳光的强烈振荡在储存能量条件。使用电池作为缓冲单元,我们设法获得更稳定的能源来自太阳能电池板。
接下来,让我们打开仿真数据检查员。Stateflow挽救了整个活动状态的历史数据。最上面显示显示当前的小时。峰或非高峰吗?底部显示告诉我们所使用的能源,电网或电池。
在仔细看看这些国家活动,我们注意到一个问题决策逻辑。让我们关注这个特殊的一天。我们可以从这一事实告诉来回切换,电池不能积累能量,所以它一定是多云的一天。因此,我们不得不退到使用网格中间的高峰时间在一个非常陡峭的价格。
在这一点上,我们很遗憾使用电池时,能源价格很低。为了解决这个问题,我们可以添加一些附加条件。让我们等到我们在巅峰状态使用电池。或者如果我们在非高峰状态,我们可以使用电池只有在外面阳光明媚。
这样就可以更有效地利用有限的太阳能,我们收集了一整天。这是多么容易在Stateflow修改我们的决策逻辑。在实践中,我们可以根据需要多次迭代整个设计过程,直到我们有一个优化设计。
现在让我们重新运行模拟。有了这个聪明的决策逻辑,能源总成本下降了2%。再一次,这是因为现在我们更保守的电池在恶劣的天气。
与此同时,更为保守的使用模式可以导致更高的高峰值在电池的储存能量。在现实中,我们应该努力找到之间的平衡使用电池太,太保守。在这两种情况下,Stateflow可以帮助我们评估我们的决策逻辑,识别潜在的陷阱。
我们使用Stateflow模型和模拟决策逻辑取决于我们的系统的当前状态。你可以。现在您已经处理Stateflow是什么样的感觉,它的时间去学习它。
Stateflow学习的最好方法是使用它。所以启动Stateflow斜坡弯道,教你最基本的。它是免费的,它只需要几个小时。欢迎来到Stateflow。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。