主要内容

用Simulink编码器生成模糊系统代码金宝app

您可以使用Simulink®Coder™为模糊逻辑控制器模块生成代码。金宝app有关生成代码的更多信息,请参见使用Simulink®Coder™生成代金宝app码(金宝app仿真软件编码器)

虽然这个示例为1型Sugeno模糊推理系统生成代码,但工作流也适用于Mamdani和2型模糊系统。

模糊推理系统的生成代码

默认情况下,模糊逻辑控制器块使用双精度数据进行仿真和代码生成。的fuzzyPID模型配置为使用双精度数据。有关为代码生成配置模糊推理系统的更多信息,请参见模糊逻辑控制器

mdl =“fuzzyPID”;open_system (mdl)

在Simulink中验证系统的性能是一个很好的实践。金宝app运行仿真。模型保存输出响应u到MATLAB®工作空间。

sim (mdl)

要为模型生成代码,使用rtwbuild(金宝app仿真软件编码器)函数。对于本例,禁止生成过程的命令窗口输出。

set_param (mdl“RTWVerbose”“关闭”) slbuild (mdl)
# # #开始构建过程:fuzzyPID # # #成功完成构建过程:fuzzyPID模型建立目标:总结构建模型重建行动的理由  ========================================================================================= fuzzyPID代码生成和编译代码生成信息文件不存在。建造时间:0小时0米36.597秒

默认情况下,Simuli金宝appnk Coder为通用的实时目标生成C代码。如果要选择不同的目标文件和语言,请在“配置参数”对话框中修改系统目标文件语言参数,分别。

生成的代码存储在一个新的fuzzyPID_grt_rtw当前工作文件夹中的文件夹。此文件夹的名称取决于所选的目标文件。

在Windows®系统上,默认情况下,一个名为fuzzyPID.exe也添加到当前工作文件夹中。若要生成不经过编译的代码,请在“配置参数”对话框中选择只生成代码参数在生成代码之前。

运行可执行文件。

如果Ispc status = system(mdl);其他的disp (该示例仅在Windows系统上运行可执行文件。);结束
该示例仅在Windows系统上运行可执行文件。

在可执行文件成功完成之后(状态= 0),该软件创建一个fuzzyPID.mat包含模拟结果的数据文件。

您可以比较生成代码的输出响应,rtw_y,利用Simulink仿真的输出,金宝appy,使用以下代码。

负载fuzzyPID.mat情节(吹捧,y,“b -”rt_tout rt_y,“罗”)传说(“金宝app模型”“可执行”“位置”“东南”

生成的代码的结果与Simulink模拟相匹配。金宝app

您还可以为这个模型中的控制器子系统生成代码。为此,在调用时指定子系统slbuild函数。

slbuild ([mdl' /模糊PID '])
# # #开始构建过程:Fuzzy0 # # #成功完成构建过程:Fuzzy0模型建立目标:总结构建模型重建行动的理由  ======================================================================================= Fuzzy0代码生成和编译代码生成信息文件不存在。1个模型建立(0个模型已经更新)建立时间:0小时0米18.575秒

您可以根据应用程序的需要部署生成的代码。例如,您可以配置可执行文件的属性,并创建静态或动态库。有关更多信息,请参见建立实时系统的过程工作流(金宝app仿真软件编码器)

为其他数据类型生成代码

模糊逻辑控制器模块还支持单精度和定点数据,用于仿真和代码生成。金宝app在这两种情况下,与等价的双精度模糊系统相比,所得到的模糊系统的精度降低了。使用:

  • 单精度数据,以减少系统的内存占用。

  • 定点数据如果你的目标平台只支持定点算法。金宝app

要使用这些数据类型之一,请设置数据类型属性,并配置模型中的其他组件以使用相同的数据类型。

fuzzyPID_single模型配置为单精度数据。打开模型。

mdl2 =“fuzzyPID_single”;open_system (mdl2)

在这个模型中数据类型参数设置为.模糊逻辑控制器模块自动将输入信号转换为指定的数据类型。此外,模拟使用参数设置为代码生成.的模拟使用选项不会影响代码生成过程。相反,设置此选项将使用生成的代码所使用的相同代码路径模拟模糊系统。

为这个模型生成代码。

set_param (mdl2“RTWVerbose”“关闭”) slbuild (mdl2)
###成功完成的构建过程:fuzzyPID_single的构建总结顶部模型目标构建:模型重建行动的原因  ================================================================================================ fuzzyPID_single代码生成和编译代码生成信息文件不存在。建造时间:0小时0米24.565秒

设置数据类型参数,确保所有推理步骤使用指定的数据类型。然而,根据模型中其他块的配置,一些生成的代码仍然可以使用双精度数据。

另请参阅

相关的话题