Hyowinner的MBD技术论坛

 找回密码
 立即注册
搜索
查看: 1153|回复: 12

Simulink生成C代码怎么控制二维查表索引值和函数名

[复制链接]

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
发表于 2025-12-12 13:44:43 | 显示全部楼层 |阅读模式
校长您好,对于二维查在进行Simulink生成C代码时他会生成一个索引值,这个索引值可以指定名称吗?,对于二维查表的函数名好像都是look2_ifif_binclm,这个名称可以修改并指定文件位置吗?
回复

使用道具 举报

108

主题

281

帖子

4507

积分

管理员

校长

Rank: 9Rank: 9Rank: 9

积分
4507
QQ
发表于 2025-12-12 14:32:39 | 显示全部楼层
1-D Lookup Table和2-D Lookup Table模块生成代码是比较特殊的Utilities Function,不能在模型中设置生成代码的函数名称或内部局部变量的名称。

但是可以通过下图设置这个函数生成的位置:



如果希望做其它细节的定制,有一个办法是自己定义一个支持代码生成的二维查表模块来实现自己想要的代码生成风格。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
持续学习 未来有你
基于场景 解决问题
项目合作联系微信:Hyowinners
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-15 11:29:36 | 显示全部楼层
hyowinner 发表于 2025-12-12 14:32
1-D Lookup Table和2-D Lookup Table模块生成代码是比较特殊的Utilities Function,不能在模型中设置生成代 ...

好的校长,十分感谢,对于查表生成的.c和.h文件名称可以修改吗?
回复

使用道具 举报

79

主题

158

帖子

2554

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2554
发表于 2025-12-15 12:06:39 | 显示全部楼层
look 发表于 2025-12-15 11:29
好的校长,十分感谢,对于查表生成的.c和.h文件名称可以修改吗?

可以尝试用子系统封装起来查表模块,然后对封装之后的子系统生成文件名称进行修改。
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-15 13:39:38 | 显示全部楼层
admin 发表于 2025-12-15 12:06
可以尝试用子系统封装起来查表模块,然后对封装之后的子系统生成文件名称进行修改。 ...

这样我试过,他每次封装会生成一个函数里面再次包含查表函数,而且它指定的是查表函数名的位置的放置。
回复

使用道具 举报

108

主题

281

帖子

4507

积分

管理员

校长

Rank: 9Rank: 9Rank: 9

积分
4507
QQ
发表于 2025-12-15 15:20:50 | 显示全部楼层
look 发表于 2025-12-15 13:39
这样我试过,他每次封装会生成一个函数里面再次包含查表函数,而且它指定的是查表函数名的位置的放置。 ...

设置共享代码放置,自带查表函数生成函数名和文件名是都是根据模块所设置的查表函数方法、数据类型等拼接出来的动态生成的代码。

不设置共享代码放置设置自动时,自动生成查表函数到model.c里。

只是依靠Simulink原生功能确实不能实现修改任意文件名以及任意函数名,但是可以做二次开发工具来实现。
持续学习 未来有你
基于场景 解决问题
项目合作联系微信:Hyowinners
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-15 16:50:33 | 显示全部楼层
hyowinner 发表于 2025-12-15 15:20
设置共享代码放置,自带查表函数生成函数名和文件名是都是根据模块所设置的查表函数方法、数据类型等拼接 ...

好的好的感谢校长,那这种二次开发一般要怎么做啊
回复

使用道具 举报

79

主题

158

帖子

2554

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2554
发表于 2025-12-16 15:00:30 | 显示全部楼层
look 发表于 2025-12-15 16:50
好的好的感谢校长,那这种二次开发一般要怎么做啊

简单的说就是自定义后处理脚本。

先用Simulink的规则生成代码,生成代码结束后调用你二次开发的脚本识别查表模块生成的文件,并对其进行名称的改写。
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-16 18:54:31 | 显示全部楼层
admin 发表于 2025-12-16 15:00
简单的说就是自定义后处理脚本。

先用Simulink的规则生成代码,生成代码结束后调用你二次开发的脚本识别 ...

oo好的好的感谢
回复

使用道具 举报

3

主题

12

帖子

50

积分

MBD初级工程师

Rank: 2

积分
50
 楼主| 发表于 2025-12-16 18:57:42 | 显示全部楼层
look 发表于 2025-12-16 18:54
oo好的好的感谢

很多都是这样做的吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|MBD全栈技术学校|苏ICP备2025212294号-1|Hyowinner校长B站首页|手机版|小黑屋|Hyowinner的MBD技术论坛

GMT+8, 2026-6-25 04:11 , Processed in 0.125699 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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