为什么等效的离散控制实现在 XCos 中提供不同的结果

Why does equivalent discrete control implementation provide different results in XCos

我正在为 scilab/xcos 中的直流电机模拟一个简单的闭环速度控制器。

我有一个工作正常的连续 PI 控制器。

然后我将连续控制器离散化,并以两种不同但等效的方式实现它,这两种离散实现似乎提供了不同的结果,尽管它们应该是等价的

两个离散控制器都是通过相同的离散化方法 (Tustin) 获得的,但一个是作为单个 DLR Xcos 传递函数实现的,而另一个是作为 P 和 I 部分的总和单独实现的。

附件模型包含上下文中的所有设置,并说明了连续控制器和两个离散控制器。

"componentwise discrete control" 跟踪连续控制器相当好,而 "transfer function discrete control" 不稳定。

问题已解决,采样时间更短,这让我感到困惑,因为控制两个离散实现的数学完全相同,因此我希望无论采样是什么,两个离散控制器的相对行为都应该相同时间被使用。

对于我做错了什么以及为什么这两个看似相同的实现不同的任何意见或解释,我将不胜感激。

模型附在这里:

https://www.dropbox.com/s/itudk4a1ooh6ncz/dc_motor_control.zcos?dl=0

只需在分量控制器中的(连续!)kp 的路径中添加一个采样保持器 ;-) kp "saves" 你的稳定性是因为它是连续的,尽管积分器是离散的。但是嵌入式分立控制器完全与 Ts 分立工作——这太慢了。如果您通过采样保持将离散行为添加到 kp,您将获得相同的结果。