半个月了,终于解决GT-SUITE模型生成s-function的问题了,本来准备要放弃了
官方教程里前面没有提到所需编译器版本,我以为vs2019和MATLAB2022就行,结果一片飘红。网上也找不到解决方法,走了好多弯路。昨天又去看了看教程的后面几章,偶然发现生成fmu和生成s-function步骤好像都差不多,只是换了个模块,并且教生成fmu的章节里指明了编译器版本(vs2010),既如此,索性又照着前面说的下载了个2015b的MATLAB,试上一试。
昨天就下载好了vs2010和MATLAB,但是今天晚上才终于生成s-function,这过程说多了都是泪。具体步骤如下:
- 下载安装2015bMATLAB(装的学校正版)
- 下载安装microsoft visual 2010->按这个来的
opnet14.5+win10+vs2010下载安装详细教程_opnet下载-CSDN博客 - 配置环境变量,增加了一个系统变量,如下图。打开MATLAB,通过mex -setup看看能不能识别到。
- 重启电脑!!!(我就是没有重启电脑才摸索了整整两天,不重启电脑会导致直接打开MATLAB通过mex -setup指令可以配置编译器,但是一联仿,通过gt-suite生成s-function时会提示找不到编译器。我当时还以为是因为我vs装的盘跟MATLAB装的盘不一样导致的,卸了重装了一回,vs2010卸载巨慢,并且那个进度条一直是0,整整一个半小时,我还以为它卡了)
- 用高版本MATLAB(我用的2022b)打开
C:\Program Files (x86)\GTI\v2016\simulink\gtlink2016.mdl,导出为2015b版本下的slx文件 - 在2015bMATLAB中保存路径:C:\Program Files (x86)\GTI\v2016\simulink
- 接下来就是gt-suite官方教程里的s-function创建了,教程位于C:\Program Files (x86)\GTI\v2016\documents\CoSimulation_And_UserCode\ControlsCouplingAndRealTime.pdf
我用的demo路径:
C:\ProgramFiles(x86)\GTI\v2016\tutorials\CoSimulation_And_UserCode\SimulinkCoupling\01-Simulink
放个最终结果图