查看: 132|回复: 3|关注: 0

[已解决] Simulink代码生成自定义主函数参数传递形式

[复制链接]

新手

5 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
发表于 2018-11-6 17:04:15 | 显示全部楼层 |阅读模式
大家好,
我最近尝试使用2018b,但是遇到一个问题。
在2015b的时候,可以使用`code generation->interface->configure module functions`配置生成的函数名、参数名等等。
但是在2018b下,始终没有找到,且网络上也少有相关资料,故只能在这里发帖向大家请教。

如下一个模型,使用C Caller实现两个double相加的功能。在默认配置下,生成的代码相关部分如下:

  1. /* External inputs (root inport signals with default storage) */
  2. ExtU rtU;

  3. /* External outputs (root outports fed by signals with default storage) */
  4. ExtY rtY;

  5. /* Model step function */
  6. void Yirami_add_step(void)
  7. {
  8.   /* Outport: '<Root>/add_out' incorporates:
  9.    *  CCaller: '<S1>/C Caller'
  10.    *  Inport: '<Root>/add_one'
  11.    *  Inport: '<Root>/add_two'
  12.    */
  13.   rtY.add_out = my_add(rtU.add_one, rtU.add_two);
  14. }
复制代码
可以看出,该代码step函数形式是“void xxx(void)”,其参数通过`ExtU`和`ExtY`两个全局结构体变量传入,我现在想要自定义成类似“void xxx(type in_para1, type in_para2, ..., type out_para, ...)”这样的形式,请问2018b可以实现吗?该怎么操作?
config.PNG
module.PNG

新手

5 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 2018-11-6 20:55:22 | 显示全部楼层
跪求大佬翻牌

新手

5 麦片

财富积分


050


1

主题

5

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
我已经找到了,可以参考Matlab官方文档(由于没有权限,故不放链接,自己搜索“Customize Function Interfaces for Nonvirtual Subsystems”):
摘要如下:
RTW.configSubsystemBuild('rtwdemo_counter/Amplifier');

论坛优秀回答者

54

主题

3076

帖子

348

最佳答案
QQ
  • 关注者: 90
发表于 7 天前 | 显示全部楼层
本帖最后由 MATLAB学徒 于 2018-11-7 13:54 编辑
自己动手解决就最好了。
stateflow视频教程:https://ke.qq.com/course/279070#tuin=272b49c4,欢迎大家学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表