如何打破闭环既没有延迟或内存块?

9次浏览(过去30天)
亲爱的先生/女士,
我在SimScape电源系统建模中遇到了一个问题,当我试图控制输出电压时,我需要反馈电压输出,但我遇到了一个问题,因为它是一个闭环,但如果我在延迟块之间设置,甚至是内存块,我失去了对系统运行中变量的控制,没有任何错误,但我无法控制电压输出。
最好的祝愿
2的评论
托尼·卡斯蒂略
托尼·卡斯蒂略 2019年3月1日
===模拟(耗时:18秒)===
警告:框图“k3_3”包含1个代数循环。要查看关于循环的更多详细信息,请使用命令Simulink. blockdiagram . getalge金宝appbraicloops ('k3_3')或在MATLAB命令窗口中输入sldebug('k3_3')来命令行Simulink调试器。要消除此消息,将代数循环设置为“none”。
发现的代数循环包含:
k3_3/PID控制器(2DOF)/并行P增益/内部参数/比例增益
k3_3/PID控制器(2DOF)/D增益/内部参数/导数增益
k3_3/PID控制器(2DOF)/滤波器/控制。过滤器/ SumD
k3_3/PID控制器(2DOF)/N增益/内部参数/滤波系数
k3_3/PID Controller (2DOF)/Sum/Sum_PID/Sum
k3_3 /饱和度(不连续)
k3_3/24 V控制/模型/饱和(不连续)
k3_3/24 V控制/型号/产品t1
k3_3/ 24v控制/模型/MATLAB函数4
k3_3 / powergui1 / EquivalentModel1 /状态(不连续)
k3_3/V2/不删除此增益
k3_3/PID控制器(2DOF)/Sum3(代数变量)
k3_3/PID控制器(2DOF)/Sum1(代数变量)
当在这个代数循环中的一些或所有原子和启用的子系统上选择了“最小化代数循环发生”的子系统选项时,这个代数循环可能会被解决
警告:在代数循环中检测到不连续,可能难以求解
警告:将子系统“k3_3/<< Synthesized_Atomic_Subsystem_For_Alg_Loop_1 >>”的“可重用函数”设置转换为“不可重用函数”,因为子系统要么已显式标记为不可重用,要么在必须不可重用的配置中使用。请在代码生成过程中生成HTML报告,更多信息请参见“子系统”部分
模型:'k3_3'的构建过程由于错误而中止。
错误:无法在快速加速模式下构建独立可执行文件来模拟模型“k3_3”。
引起的:
生成的代码中不支持代数循环。金宝app使用Simulink调试器中的' show'命令查看代数循环金宝app

登录评论。

接受的答案

Arvind Sathyanarayanan
Arvind Sathyanarayanan 2019年3月1日
所以从模型的截图来看,它看起来像你在使用不支持代数循环的快速加速器。金宝app您可以通过切换到加速模式或普通模式来运行模型。
消除代数循环的唯一方法是使用延迟/内存块,我猜需要插入后 风投 从标签。如果这会导致系统不稳定,那么你就必须重新调整控制器,因为在现实生活中反馈信号中总是有延迟。

更多答案(0)

下载188bet金宝搏


释放

R2018b

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!