Simulink生成C语言代码与Unity实现通信的一种方法

需要实现Unity与Simulink的通信,这里采用Simulink生成C语言代码并由VS2019生成DLL让Unity调用DLL的方式实现通信功能

1、Simulink生成C语言代码(MATLAB版本2020a)

Simlink自动生成C语言代码的相关内容网上有很多这里写一下自己的根据网上内容的实现过程并记录一些问题
1.1生成Simulink模型
中间部分是Simulink生成的一个Subsystem(子系统)将里面的东西隐藏起来了Subsystem内容:一个简单的一阶系统1.2Simulink设置
在这里插入图片描述Slover选择Fixed-step固定步
在这里插入图片描述hardware implementation里选择对应的硬件平台这里选择我用的Inter,由于Unity只支持64位,所以选择x86-64(windows64)

在这里插入图片描述在这里插入图片描述
Code Generation选择ert_shrlib.tlc或者ert.tlc;ert.tlc只会生成C语言文件,ert_shrlib.tlc除了自动生成C语言文件外还会生成一个dll和lib文件来给外部调用,但是本人使用中dll的函数无返回值,本人不知道应该如何访问函数内部的东西,因此自己使用VS2019更改一部分自动生成的C语言文件内容后手动生成dll。

在这里插入图片描述如果系统中有连续模块则移动要勾选Continuous time选项否则一定会报错编译失败;以上设置完毕之后点击Apply,OK后退出。

1.3添加自定义变量
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在MODELING里选择BaseWorkSpace,在BaseWorkSpace里点Add,选择AddCustom添加新的变量,并输入变量名Object Class选择mpt,Singnal。

在这里插入图片描述在这里插入图片描述
定义好变量后在模型界面为输入和输出信号赋一个变量,Signal name填之前定义的变量名称,不能填错否则无效,同时

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值