如何为Modelica/Dymola中建模的MIMO热工液压系统设计控制器

如何为Modelica/Dymola中建模的MIMO热工液压系统设计控制器,modelica,Modelica,我目前正在使用Francesco Casella教授的热电库,在Modelica/Dymola环境中开发大型复杂的热工液压系统。目前,我已经完成了系统模型的构建(包括几个闭环液压回路),并专注于为开发的模型设计控制器。考虑到系统的复杂性,我有大约25个PI控制器控制各种阀门开度、泵、冷凝器和锅炉。在这个阶段,我使用一些明智的试错方法来调整控制器增益。我试图查阅文献,看看是否有任何正式的设计方法或经验法则来设计这种多输入多输出(MIMO)热工液压系统的控制器。因此,我想问是否有人可以提供一些关于此

我目前正在使用Francesco Casella教授的热电库,在Modelica/Dymola环境中开发大型复杂的热工液压系统。目前,我已经完成了系统模型的构建(包括几个闭环液压回路),并专注于为开发的模型设计控制器。考虑到系统的复杂性,我有大约25个PI控制器控制各种阀门开度、泵、冷凝器和锅炉。在这个阶段,我使用一些明智的试错方法来调整控制器增益。我试图查阅文献,看看是否有任何正式的设计方法或经验法则来设计这种多输入多输出(MIMO)热工液压系统的控制器。因此,我想问是否有人可以提供一些关于此类系统控制器设计的指南或文献/论文。因为我在控制器设计(滑模、线性控制、根轨迹等)方面的知识对我没有帮助,因为这些方法大多基于可用的模型方程


此外,对于这样一个大型热工液压系统,如何设置系统的初始条件?是否需要提供一些合理的猜测值,并期望Dymola处理其余部分?

好吧,我必须通过指出我不是控制工程师来限定我的回答,所以对我所说的一切持保留态度

在某种程度上,这实际上取决于您使用的工具,因为不同的工具专门用于不同的分析功能,并提供不同的功能。例如,如果使用Dymola,则可以使用“线性化”功能对系统进行线性化。这将使您了解熟悉的正式控制器设计方法。当然,问题是,您的系统可能是高度非线性的,因此您必须制定策略,确定需要控制的状态空间范围,然后制定相应的策略来调整收益

另一方面,如果您使用SystemModeler(来自Wolfram)或MapleSim(来自Maplesoft)之类的工具,我很确定您可以选择将Modelica模型细化为一个符号方程系统。因此,您可以再次访问需要模型方程可用的经典技术。由于这些都不是线性化的,所以您将以符号形式完全了解非线性,并且可以采取任何可能的措施来解决它们


这有帮助吗?

我会在您的情况下尝试模型预测控制(只要您的系统仅在近似线性区域内活动,或者可以使其近似线性)

以下是一些信息:

但我建议你买一本好的控制工程师的书,详细描述这一点

几年前我就做了一个这样的例子,所以这个建议现在可能已经过时了


请注意,在Modelica/Dymola中实现此功能时,必须使用固定时间步长解算器模拟模型。

谢谢,Michael。这是有关System Modeler和MapleSim的一些有趣的事实,如果他们可以选择将Modelica模型细化为一个符号方程组的话。有人在这里有更多的信息吗?