使用SimulinkFunction与FunctionCaller生成AutoSar代码

在使用Simulink Function 与Function Caller进行服务建模时,对于输入参数是bus类型的Simulink Function,在生成AutoSar代码的时候,经常会出错,提示“Provide Input argument specifications and Output argument specifications for the Function Caller block 'Function Caller' because the corresponding Simulink function could not be resolved to within this hierarchy, model, or any referenced model.”

 下面通过一个实例,解决输入端口数据类型为Bus类型的Simulink Function生成AutoSar代码的问题。

1、新建一个数据字典,命名为“exsl_funcaller_struct_atsr_data”

2、添加一个bus对象,添加3个元素a,b,c 

3、在Code Generation页的Header file填入“Rte_Type.h”

 

4、创建一个Simulink Parameter,命名为“myBus_Param”,Data Type为“myBus”

 

5、在‘Value’框输入“struct(‘a’,0,’b’,0,’c’,0)”

 

6、新建一个服务器模型,添加Simulink function模块

 

7、输入参数u的数据类型设为Bus:myBus

 

8、函数可见性设为global

 

9、新建一个客户端模型,顶层输入端口的数据类型设为Bus:myBus,勾选“output as nonvirtual bus”

 

10、添加function caller

 

11、function caller的Input argument输入已定义的bus对象参数myBus_Param

 

11、至此,2个模型可单独生成Autosar代码

 

 

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值