SIMULINK模型的C/C++包装器

C/C++ Wrapper for SIMULINK models

本文关键字:C++ 包装 模型 SIMULINK      更新时间:2023-10-16

我在Visual Studio和Eclipse中有一个非常大的C/C++软件项目。有一些SIMULINK模型形式的第三方软件。目前是否可以:

1) 为SIMULINK模型编写C/C++包装函数?2) 从外部环境(如VS或Eclipse C/C++项目)调用函数来执行集成和进一步的任务?

我知道你可以使用MEX(MATLAB Exec.)函数,这些函数是C/C++或FORTRAN封装的,用于MATLAB。但这对我来说并不理想。

用例

我的用例是基于建模和模拟的,但我的子系统在数据格式方面相当多样化。50%在C/C++中,35%在SIMULINK模型中,其余在二进制可执行文件、目标代码、符号数据等中。我正在做一些复杂的系统建模;很抱歉,但由于保护原因,无法进一步告诉您。

从我得到的答案来看,人们似乎热衷于使用Mathworks提供的东西。我的意图是得到一个更像是非的答案,但到目前为止,我也得到了很好的解释。

更新

我将不得不评估SIMULINK的嵌入式编码器,看看在抛光生成的代码方面需要付出多少额外的努力。我读到嵌入式编码器中有生产级代码生成功能;应该很有趣。

有两种选择,具体取决于您的需求:

  • 使用Simulink编码器将Simulink模型转换为C。这可以有效地让您脱离Simulink环境,因此将模型功能集成到现有环境中与集成任何其他C代码完全相同。当然,您需要访问Simulink编码器才能做到这一点。

  • 调用MATLAB引擎。请注意,不能只调用Simulink。您可以调用MATLAB并发出各种MATLAB命令来加载、执行和查询Simulink模型。