【问题标题】:MATLAB C S-function cannot be compiled in simulink real timeMATLAB C S-Function不能在simulink实时编译
【发布时间】:2021-02-27 00:56:16
【问题描述】:

我在 Simulink 中实时使用了 C S-Function。编译模型时出现以下错误, “mxCreateDoubleScalar”未定义; “mexPutVariable”未定义; [在此处输入图片说明][1]

我知道Simulink real time好像不支持“mxCreateDoubleScalar”、“mexPutVariable”,但是不知道怎么替换,可以帮帮我吗? [1]:https://i.stack.imgur.com/xtiyo.png

【问题讨论】:

    标签: simulink matlab-compiler


    【解决方案1】:

    我建议您使用可执行文件。首先你必须安装一个 C/C++ 编译器。我推荐你安装 minGW(你可以在 Matlab 的 AddOn 上得到它)。 然后,您必须初始化您在 s-function 上使用的所有变量。 最后,当你想用你的模型和 s-function 做一个“mex”时,检查命令行来混合所有文件。 2 年前我遇到了同样的问题,我能够创建一个实时应用程序并运行它。

    这里你有如何使用mex函数mex function

    这里有关于 C/C++ 编译器的信息C/C++ compiler

    这里有关于如何配置 .mdl 或 .slx Simulink Real-Time的信息

    我建议你在 Matlab 的论坛上发布这个问题,也许他们可以更好地帮助你。

    BR。

    PD:如果您的 .c 文件链接了 .h 文件,请确保在 mex 命令行中链接了所有这些文件。

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 1970-01-01
      相关资源
      最近更新 更多