之前发过一个简单的版本,大致已经能够实现代码生成的配置功能。最近打算稍微深入学习一下基于模型的开发技术,学习的过程中了解到了两个参数值得纳入到这个配置脚本。一个是代数环的检测;一个是通用函数生的文件分离。同时,为了方便我自己的文件管理,这次添加了一个版本号,之前的版本定为V0.1.0,这次的版本定为V0.2.0。等我的学习计划告一段落之后,我想我能够完成一个更为完善的脚本配置方案,到时候会提供V1.0.0。
脚本内容如下(两行星号之间):
******************************************************************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%--------------------------------------------------------------------------
% V0.2.0
% Grey 2016.11..16
% 1. Check the Algebraic Loop when code generation starts.
% 2. Utility Functions will be generated as a single file in the shared
% location.
%--------------------------------------------------------------------------
% V0.1.0
% Grey 2015.12.01 @BeiJing
% Configurations for simulink code generation with Embeded Coder.
%
disableimplicitsignalresolution(bdroot);
set_param(bdroot,'Solver','ode3');
set_param(bdroot,'SystemTargetFile','ert.tlc');
set_param(bdroot,'GenerateMakefile','off');
set_param(bdroot,'GenerateComments','on');
set_param(bdroot,'GenerateTraceInfo','on');
set_param(bdroot,'GenerateReport','on');
set_param(bdroot,'LaunchReport','on');
set_param(bdroot,'GenerateASAP2','on');
set_param(bdroot,'GenerateSampleERTMain','off');
set_param(bdroot,'IncludeMdlTerminateFcn','off');
set_param(bdroot,'AlgebraicLoopMsg','error');
set_param(bdroot,'UtilityFuncGeneration','Shared location');
******************************************************************************
找一个简单的查表函数模型,运行脚本配置模型后进行代码生成测试成功,报告如下:
模型能够正常生成代码,通用函数也都实现了分离。