simulink模块参数不能设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了simulink模块参数不能设置相关的知识,希望对你有一定的参考价值。

参考技术A simulink模块参数不能设置:1、首先在电脑中打开Matlab,运行Simulink,如下图所示。2、在打开的Simulink Library Browser中单击“new”图标,... 参考技术B 你好同学,在设计自定义模块的时候,只要Prompt提示和参数的名字对应上就行吧,提示的中英文不会改变参数

Simulink 代码生成:来自 Function Caller 模块的函数存根及其返回值/参数

【中文标题】Simulink 代码生成:来自 Function Caller 模块的函数存根及其返回值/参数【英文标题】:Simulink code generation: function stubs from Function Caller blocks and their return values/arguments 【发布时间】:2021-10-14 03:42:00 【问题描述】:

在我的 Simulink 模型中,我有几个 Function Caller 模块,如下所示: Simple Function Caller block

函数原型就是y = someFunction()。输出参数使用自定义枚举类型,并以someEnum(1) 形式给出。

输出信号被定义为一维的。

当从模型生成代码时,这些函数调用者总是产生一个预期形式的函数存根

extern someEnum someFunction(void);.

然而,在最近发生了很多变化之后,我刚刚注意到代码生成现在突然产生了形式为

的函数存根

extern void someFunction(someEnum *rty_y);

对于一些(不是全部!)Function Caller 块。

我已经比较了有关函数调用程序块的每个参数以及我能找到的相关输出信号,但我找不到受影响的那些与当前版本中按预期工作的那些或以前版本中的相同块之间的任何区别.所有函数和信号都已重命名,但对于那些不受影响的 Function Caller 块也是如此。

代码生成选项也相同。

我试图从帮助文件中了解什么可能导致编码器使用指针参数而不是函数存根的直接返回值,但找不到任何东西。

任何可能导致代码生成器使用指针的提示将不胜感激。

【问题讨论】:

【参考方案1】:

发现问题。一些受影响的块在其“配置 C/C++ 函数接口”对话框中将其 C/C++ 返回参数设置为“void”。

一些受影响的块(不幸的是,我之前检查过的两个块)仍然在这里设置为“y”,我不得不将设置更改为“void”并返回到“y”,然后它才产生想要的结果。

【讨论】:

以上是关于simulink模块参数不能设置的主要内容,如果未能解决你的问题,请参考以下文章

simulink模块里的参数随时间变化

simulink子模块封装如何初始化,为啥输入的数据不能传回到模块中?

simulink逆变器模块参数怎么调

simulink传递函数参数如何设成可调

simulink中怎么对一个没有模块的.mdl文件封装呢?

simulink关于t的函数怎么设置