人在仿真软件金宝app

金宝appSimulink &基于模型的设计

关于s功能的常见问题

今天,我们欢迎迈克尔•卡他会回答我们收到的最常见的问题S-Functions

你能用S-Functions做什么?

S-Functions允许您创建自定义块。它们可以用来做以下事情:

  • 将遗留代码引入模型
  • 创建自定义用户界面
  • 与第三方工具接口

我必须用C来写s函数吗?

不。s函数可以写成C, c++MATLAB,FORTRAN

如果你的代码是用其他语言编写的,可以从MATLAB或C/ c++调用,你可以创建一个S-Function包装器,将其包含在Simulink模型中。金宝app

s -函数与MATLAB函数、MATLAB系统模块和其他创建用户定义函数的模块相比如何?

我强烈建议阅读我们的文档页面自定义块功能的比较.根据您的需要,下面的流程图可以帮助您确定哪个选项最适合您。

块类型流程图

当我更新到新的Simulink版本时,S-Function是否需要重金宝app写或重新编译?

不需要重写s函数。s -函数的源代码是向后兼容的。在旧版本中编写的C-MEX S-Function在新版本中重新编译后,保留了旧版本的功能和行为。

在大多数情况下,不需要重新编译S-Function。如果平台和相关库保持不变或保持向后兼容性,那么在旧版本中编译的S-Function MEX文件可以在新版本中工作。为了获得最好的结果,我们建议您在当前版本的MATLAB中重新编译S-Function源代码。

从32位迁移到64位,或者从一个操作系统迁移到另一个操作系统会怎么样呢?

当从32位移动到64位以及从一个操作系统移动到另一个操作系统时,需要重新编译s -函数。

我必须从头开始创建s函数吗?

有两种工具可以帮助您创建S-Functions遗留代码的工具s函数生成器

这两种工具的原理是相似的。从实现算法的C代码开始。您可以指定此代码的属性,例如输入、输出的数量、它们的维度和数据类型,以及代码所依赖的外部依赖项。这些工具然后自动生成包装器S-Function并编译它,以便您可以在Simulink中使用它。金宝app

这两种工具之间的主要区别在于,S-Function Builder是一个图形界面,您可以在其中交互地指定代码的属性。

s函数生成器

遗留代码工具是一个允许您以编程方式指定代码属性的函数。

遗留代码的工具

现在轮到你了

如果你对如何、何时以及为什么使用S-Functions有好的指导和建议,请在下面留言告诉我们这里的评论

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。