如何解决可变大小信号的代数环?

时间:2019-06-27 13:58:12

标签: matlab simulink

我对Matlab和Simulink还是很陌生,并且在最新模型上苦苦挣扎了几天。

应该代表多组分化学反应器(FTS反应器)和产品分离单元(Flash)。

Overview of my diagram

我的目标是使用产品循环(代数循环)计算系统的行为,直到达到稳态为止。

我使用Matlab函数生成可变大小的信号。 (M_dot_'') 而且我无法使循环正常工作。

我已经尝试对回收信号实施以下解决方案:

  • 单位延迟
  • 内存块
  • 转移Fcn

和失败->内存块和传递函数不支持可变大小的信号

Delay block

然后我在已启用的子系统中以单位延迟尝试了该操作,该子系统在启用时会重置其状态,这是Matlab / Simulink的建议(第二张图片),并出现以下错误:

块'... / MATLAB函数'具有大小可变的信号,并且位于代数循环内。可变大小的信号不支持代数循环。考虑消除代数循环。

在以下线程中描述了类似的问题:

Thread to similar problem

我试图通过将脚本保存到m.file并在S函数中调用它来实现2级Matlab

我遇到以下错误:

在“ recycle_FTS / Level-2 MATLAB S-Function”中评估MATLAB S-Function“ msfcn_varsize_delay”的注册方法“ PostPropagationSetup”时出错。以下是产生此错误的MATLAB调用堆栈(文件名和行号):  ['C:\ Users \ ulric \ Desktop \ MA \ Simulink \ FTS \ msfcn_varsize_delay.m'] [67]

原因: 为'recycle_FTS / Level-2 MATLAB S-Function'的Dwork 1指定的尺寸无效。 Dwork必须是向量,并且其宽度必须是正整数

如何消除代数循环并仍然解决我的问题?

这是我第一次使用这种功能,老实说我很迷失。 感谢您的帮助,我们将为您提供任何可能缺少的信息。

亲切的问候 乌里

0 个答案:

没有答案