有什么方法可以在simulink中为输出分配重新排序执行顺序?

时间:2019-06-21 14:49:15

标签: c matlab simulink

我试图从simulink模型生成C代码。我正在尝试在“代码中间”添加一些信号,以重定向该数据以在代码生成过程中访问该数据。但是生成的代码的执行顺序不是我所需要的。

请参见此图片作为示例: https://www.dropbox.com/s/44zgpxdlwjvvbzo/Current.PNG?dl=0)

这将生成以下代码:

...
real_T rtb_Add1;
real_T rtb_Add;
rtb_Add = Test1_U.In1 + Test1_U.In2;
rtb_Add1 = rtb_Add + Test1_U.In2;
Test1_Y.Out1 = rtb_Add1;
Test1_Y.Out2 = Test1_U.In1;
Test1_Y.Out3 = rtb_Add;
Test1_Y.Out4 = rtb_Add1;
...

但是我需要达到的是这样的执行顺序: https://www.dropbox.com/s/jf8p6hk58z691so/Required.png?dl=0

使生成的代码如下所示:

...
real_T rtb_Add1;
real_T rtb_Add;
Test1_Y.Out2 = Test1_U.In1;
rtb_Add = Test1_U.In1 + Test1_U.In2;
Test1_Y.Out3 = rtb_Add;
rtb_Add1 = rtb_Add + Test1_U.In2;
Test1_Y.Out4 = rtb_Add1;
Test1_Y.Out1 = rtb_Add1;
...

我已经尝试调整块的优先级,但是似乎没有选择为原子子系统设置一些优先级的选择。 您是否知道是否有可能操纵模型的执行顺序以实现所需的代码?

预先感谢

0 个答案:

没有答案