文件交换
53下载
更新02年5月20日
查看版本历史记录
C功能块
用R2019A验证
修复了“MATLAB功能”模型以开箱即用。
- 用R2018B验证- 添加了对Mi金宝appngW的支持- 添加了C调用者块的描述
将所有型号更新为R2017A;改变措辞并增加澄清;金宝app支持代码生成。
用Matlab R2017A验证
用Matlab R2016B验证
验证16a.
更新到R2015A,化妆品变化。
这个工具箱复选框一直突然出现
添加有关嵌入式编码器的信息
这不是一个工具箱。默认情况下勾选此复选框非常智能..
添加MATLAB函数,MATLAB系统,eventflow的示例
添加更多澄清和链接,更改措辞,更多INDO中的项目。
查看许可证
编辑注意:此文件被选为Matlab Central挑选本周
本文介绍了从Simulink模型调用共享库的各种方法。金宝app考虑显式(加载时间)和隐式(运行时)链接。
Mikhail(2021)。调用Simulink的共享库金宝app(//www.tatmou.com/matlabcentral/fileexchange/44197-calling-shared-libraries-from-金宝appsimulink),matlab中央文件交换。检索到2021年6月17日。
2021年6月10日
感谢Mikhail您的回复。你的意思是因为延伸了它?你能解释一下他为什么不会以及如何从图书馆调用外部例程?
2021年6月9日
4月9日9月9日
您如何假设您的Windows DLL将在DSPACE板上工作?它不会。
嗨,我的函数在Simulink上完美地使用DLL编译为MEX文件。金宝app但是,一旦,我希望用RCP和HIL在DSPACE板上的S功能构建模型有一些链接问题==>它找不到DLL(或MEX)中定义的函数。你有解决方案吗?
10月10日
我认为可以安全地说所有所描述的方法都支持进出指针。金宝app选择您的首选方法,并进入文档以获取更多详细信息。例如,这里是LCT://www.tatmou.com/help/金宝appsimulink/slref/inputs-passed-by-value-or-address-to-legacy-functions.html.
4月9日
您是否对S-Function使用基于指针的.LIB有任何想法?我想在Simulink中使用指针金宝app
2019年12月5日
2019年10月10日
2019年3月14日
谢谢,它现在运作
2019年3月11日
@stephane您应该使用显式链接(而不是隐式链接与导入* .lib文件)。手动编写的S函数(可能与遗留代码工具组合生成初始S函数)是最好的方法。这篇文章解释了这一切。
2019年3月8日
您的工作流引用lib文件而不是dll文件:如何在simulink中调用dll文件(我有一个标题文件,而不是lib文件)?金宝app我试图使用legacy_code,但是如果我从exlib.lib替换为exlib.dll的字段主机,但是当我运行lefacy_code时('generate_for_sim',specs);, matlab说mex不知道dll
2019年2月19日
容易理解。真的很好。
2018年12月5日
@alexandru,您可以更改下的Simulink首选项(首金宝app选项 - > Simulink - > Model文件 - >取消选中“不加载使用较新版本的Simulink”),您将在2017B中打开这一点。
2018年12月4日
@Alexandru我将使用当前版本的MATLAB释放模型。如果您使用的是较旧的释放,则易于重现模型 - 它们是微不足道的(3个块)和屏幕截图。
2018年11月29日
你好,2017B的任何机会也有提交吗?
谢谢
2018年10月17日
@jonathan你可能正在使用mingw编译器。这应该在此提交的最新版本中解决。
Legacy_Code方法还将用于无参数的void-void函数。
2018年10月10日
我正在遇到复制“手动2级”方法的问题。获取DLLHandle,LoadLibrary是Freelibrary函数的错误是未删除/未解决的当MEX尝试链接时未解决。这些在哪里定义在示例代码中?此外,我假设的legacy_code方法如果核心函数使用参数(即要定义至少一个输入和一个输出端口)在S-Func中使用时,则只能正常工作?
2017年5月31日
完美的!
2017年4月3日
2016年12月5日
我想知道是否有可能使用MATLAB可执行文件从Simulink块创建的。金宝app似乎人类不能这样做,因为SIM命令不能编译到MATLAB可执行文件中。本教程中的所有示例似乎都需要Simulink许可证来运行。金宝app
2016年5月27日
要使S函数与快速加速器模式合作,您需要在线使其内联。这是超越本文的方式 - 读取文档或联系MathWorks技术支持/咨询以获取这些问题。金宝app
直到我们在Accelerator模式测试之前,一切都很好。这意味着所有MEX都适用于这些示例。但是,虽然我们在快速加速器模式中构建或运行,但它们中的所有情况都报告了链接器错误。似乎有一些路径问题或makefile问题。如果您可以提供相同的修复,因此非常感谢您的帮助。很多人报告了使用U1077,U1073的Simulink的链接器错误。金宝app
提前致谢。
2016年5月9日
2015年1月1日
伟大的教程,它真的帮助了我,谢谢。
2014年12月11日
如何打开这些附件?simlib_test_dyn.slx.simlib_test_mlf.slx.simlib_test.slx.simlib_test_sf.slx.simlib_test_ert.slx.simlib_test_callert.slx.simlib_test_mls.slx.
2014年10月14日
一个良好的教程。在Simulink / Matlab中使用C共享库的六(或七个)不同方式的覆盖范围很好。金宝app
找到Matlab Central中的宝藏,并发现社区如何帮助您!
在单个可执行文件中使用代码,输出和格式化文本创建脚本。
了解实时编辑
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室
感谢Mikhail您的回复。你的意思是因为延伸了它?你能解释一下他为什么不会以及如何从图书馆调用外部例程?
您如何假设您的Windows DLL将在DSPACE板上工作?它不会。
嗨,我的函数在Simulink上完美地使用DLL编译为MEX文件。金宝app但是,一旦,我希望用RCP和HIL在DSPACE板上的S功能构建模型有一些链接问题==>它找不到DLL(或MEX)中定义的函数。你有解决方案吗?
我认为可以安全地说所有所描述的方法都支持进出指针。金宝app选择您的首选方法,并进入文档以获取更多详细信息。例如,这里是LCT://www.tatmou.com/help/金宝appsimulink/slref/inputs-passed-by-value-or-address-to-legacy-functions.html.
您是否对S-Function使用基于指针的.LIB有任何想法?我想在Simulink中使用指针金宝app
谢谢,它现在运作
@stephane您应该使用显式链接(而不是隐式链接与导入* .lib文件)。手动编写的S函数(可能与遗留代码工具组合生成初始S函数)是最好的方法。这篇文章解释了这一切。
您的工作流引用lib文件而不是dll文件:如何在simulink中调用dll文件(我有一个标题文件,而不是lib文件)?金宝app
我试图使用legacy_code,但是如果我从exlib.lib替换为exlib.dll的字段主机,但是当我运行lefacy_code时('generate_for_sim',specs);, matlab说mex不知道dll
容易理解。真的很好。
@alexandru,您可以更改下的Simulink首选项(首金宝app选项 - > Simulink - > Model文件 - >取消选中“不加载使用较新版本的Simulink”),您将在2017B中打开这一点。
@Alexandru我将使用当前版本的MATLAB释放模型。如果您使用的是较旧的释放,则易于重现模型 - 它们是微不足道的(3个块)和屏幕截图。
你好,
2017B的任何机会也有提交吗?
谢谢
@jonathan你可能正在使用mingw编译器。这应该在此提交的最新版本中解决。
Legacy_Code方法还将用于无参数的void-void函数。
我正在遇到复制“手动2级”方法的问题。获取DLLHandle,LoadLibrary是Freelibrary函数的错误是未删除/未解决的当MEX尝试链接时未解决。这些在哪里定义在示例代码中?
此外,我假设的legacy_code方法如果核心函数使用参数(即要定义至少一个输入和一个输出端口)在S-Func中使用时,则只能正常工作?
完美的!
我想知道是否有可能使用MATLAB可执行文件从Simulink块创建的。金宝app似乎人类不能这样做,因为SIM命令不能编译到MATLAB可执行文件中。本教程中的所有示例似乎都需要Simulink许可证来运行。金宝app
要使S函数与快速加速器模式合作,您需要在线使其内联。
这是超越本文的方式 - 读取文档或联系MathWorks技术支持/咨询以获取这些问题。金宝app
直到我们在Accelerator模式测试之前,一切都很好。这意味着所有MEX都适用于这些示例。但是,虽然我们在快速加速器模式中构建或运行,但它们中的所有情况都报告了链接器错误。似乎有一些路径问题或makefile问题。如果您可以提供相同的修复,因此非常感谢您的帮助。很多人报告了使用U1077,U1073的Simulink的链接器错误。金宝app
提前致谢。
伟大的教程,它真的帮助了我,谢谢。
如何打开这些附件?
simlib_test_dyn.slx.
simlib_test_mlf.slx.
simlib_test.slx.
simlib_test_sf.slx.
simlib_test_ert.slx.
simlib_test_callert.slx.
simlib_test_mls.slx.
一个良好的教程。在Simulink / Matlab中使用C共享库的六(或七个)不同方式的覆盖范围很好。金宝app