模糊控制器的嵌入式代码自动生成方法及系统.pdf

上传人:e2 文档编号:69780 上传时间:2018-01-22 格式:PDF 页数:11 大小:1.49MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410469812.0

申请日:

2014.09.16

公开号:

CN104216295A

公开日:

2014.12.17

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G05B 17/02申请日:20140916|||公开

IPC分类号:

G05B17/02; G05B13/04; G06F9/455; G05B23/02

主分类号:

G05B17/02

申请人:

湖南三一智能控制设备有限公司

发明人:

邓秋连; 陈祖亮; 罗诗风

地址:

410100 湖南省长沙市经济技术开发区三一工业城

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种模糊控制器的嵌入式代码自动生成方法及系统,其中,该模糊控制器的嵌入式代码自动生成方法包括:建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;依据所述模糊控制决策表,生成模糊控制器并导出;建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。因此,本发明能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。

权利要求书

1.  一种模糊控制器的嵌入式代码自动生成方法,其特征在于,包括:
建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;
依据所述模糊控制决策表,生成模糊控制器并导出;
建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;
对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。

2.
  根据权利要求1所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理包括:
基于所述离散控制规则表,利用可视化仿真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。

3.
  根据权利要求2所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述可视化仿真工具中自定义的函数模型为Matlab的Simulink中的Fcn模型。

4.
  根据权利要求3所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述对离散化处理后的模糊控制器进行功能调试与仿真包括:
利用Matlab的Simulink工具对所述Fcn模型进行功能调试与仿真。

5.
  根据权利要求4所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述自动生成嵌入式代码包括:
利用Matlab的可编程逻辑控制器代码生成接口,为Simulink的Fcn模型自动生成嵌入式模型的代码。

6.
  根据权利要求5所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,还包括:
调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。

7.
  根据权利要求6所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述对嵌入式模型的实际应用进行效果验证和调试包括:
利用嵌入式组态编程平台的文件导入功能,完成Fcn自动生成代码的导入与实物验证调试。

8.
  一种模糊控制器的嵌入式代码自动生成系统,其特征在于,包括:
编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;
制表模块,用于制定模糊控制决策表;
导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;
离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;
仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;
生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌入式模型。

9.
  根据权利要求8所述的模糊控制器的嵌入式代码自动生成系统,其特征在于,还包括:
调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。

说明书

模糊控制器的嵌入式代码自动生成方法及系统
技术领域
本发明涉及工程机械领域,特别涉及一种模糊控制器的嵌入式代码自动生成方法及系统。
背景技术
模糊控制具有不依赖控制对象模型且参数设定方便,且具体计算可通过Matlab工具轻松获取,因此具有广泛的应用。
但在实际应用时,模糊控制决策表一般具有100个以上的元素,若将它集成到嵌入式代码进行实现时,往往需要逐一输入,不仅容易出错,且控制策略稍有调整又需要重新输入,工作量较大。
发明内容
有鉴于此,本发明实施例的目的之一在于提出一种模糊控制器的嵌入式代码自动生成方法,能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。
进一步来讲,该模糊控制器的嵌入式代码自动生成方法包括以下步骤:
建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;
依据所述模糊控制决策表,生成模糊控制器并导出;
建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;
对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。
可选的是,在一些实施例中,所述基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理包括:基于所述离散控制规则表,利用可视化仿 真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。
可选的是,在一些实施例中,所述可视化仿真工具中自定义的函数模型为Matlab的Simulink中的Fcn模型。
可选的是,在一些实施例中,所述对离散化处理后的模糊控制器进行功能调试与仿真包括:利用Matlab的Simulink工具对所述Fcn模型进行功能调试与仿真。
可选的是,在一些实施例中,所述自动生成嵌入式代码包括:利用Matlab的可编程逻辑控制器代码生成接口,为Simulink的Fcn模型自动生成嵌入式模型的代码。
可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成方法还包括:调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
可选的是,在一些实施例中,所述对嵌入式模型的实际应用进行效果验证和调试包括:利用嵌入式组态编程平台的文件导入功能,完成Fcn自动生成代码的导入与实物验证调试。
本发明实施例的另一目的在于提出一种模糊控制器的嵌入式代码自动生成系统,能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。
进一步地,该模糊控制器的嵌入式代码自动生成系统包括以下模块:
编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;制表模块,用于制定模糊控制决策表;
导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;
离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;
仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;
生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自 动转换为嵌入式模型。
可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成系统还包括:调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
相对于现有技术,本发明实施例具有以下优势:
本发明的模糊控制器的嵌入式代码自动生成方法及系统,提出一种模糊控制器的代码自动生成方式,可通过编辑模糊控制器,建立模糊控制决策表,生成并导出模糊控制器,建立离散控制规则表,对导出的模糊控制器进行离散化处理,利用嵌入式操作平台的文件导入功能,实现仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率,从而快速实现模糊控制器仿真与实物验证调试。
并且,本发明充分利用相关工具(如Mat lab)的数据处理功能,快速实现模糊控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷。
附图说明
构成本发明实施例一部分的附图用来提供对本发明实施例的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的模糊控制器的嵌入式代码自动生成方法的流程示意图;
图2为本发明实施例提供的模糊控制器自动生成代码的实物验证示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明实施例及实施例中的特征可以相互组合。
下面结合附图,对本发明的各优选实施例作进一步说明:
方法实施例
为简化模糊控制,本实施例提出一种模糊控制器的嵌入式代码自动生成方法,参照图1所示,该方法包括以下步骤:
S101:建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表。
S102:依据所述模糊控制决策表,生成模糊控制器并导出。
S103:建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理。
需要指出的是,通过本步骤,能够实现模糊控制决策表到离散控制规则表的自动转换。
S104:对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码。
作为一种可选方式,上述实施例的S103中,基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理的步骤可进一步包括:基于所述离散控制规则表,利用可视化仿真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。其中,可选的是,可视化仿真工具中自定义的函数模型可为Matlab(matrix&laboratory,矩阵实验室(数学软件))的Simulink(Matlab中的一种可视化仿真工具)中的Fcn模型。
可选的是,上述实施例的S104中,对离散化处理后的模糊控制器进行功能调试与仿真包括:利用Matlab的Simulink工具对所述Fcn模型进行功能调试与仿真。其中,可选的是,自动生成嵌入式代码可包括:利用Matlab的可编程逻辑控制器代码生成接口,为Simulink的Fcn模型自动生成嵌入式模型的代码。
上述各实施例中,作为一种可选的实施方式,模糊控制器的嵌入式代码自动生成方法还可进一步包括:
S105:调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
其中,可选的是,对嵌入式模型的实际应用进行效果验证和调试包括:利用嵌入式组态编程平台(如Multiprog、Codesys等)的文件导入功能(如PLCOpen xml文件格式的导入功能),完成Fcn自动生成代码的导入与实物验证调试。
从上述各实施例可以看出,其旨在提供一种模糊控制器的嵌入式代码的自动生成方法,这里,以Matlab工具为例,对上述模糊控制器的嵌入式代码自动生成方法进行举例说明,如下:
1)利用Matlab工具的Fuzzy命令打开模糊控制编辑工具,根据对应模糊控制规则建立模糊控制器模型文件,如Fuzzytest.fis。
2)利用readfis及evalfis命令,获取离散控制规则表。
3)依据离散控制规则表,利用Simulink中的Fcn模型编制离散化模糊控制器(Controller)的仿真模型。
4)功能调试与仿真,利用Simulink建立虚拟对象模型,实现对离散化的Controller的仿真模型的功能验证与仿真。
5)利用Matlab的PLC Code Gernaration接口,实现Simulink中的离散化的模糊控制器的仿真模型Controller到Controller的嵌入式模型的自动转换。
6)在嵌入式组态编程平台中,根据用户需求调用Controller嵌入式模型,按照如下方式实现Controller的嵌入式模型的实际应用效果验证。
进一步地,下面将以如表1所示的PID(proportion-integration-differentiation,比例-积分-微分)调节中的P调节的模糊控制规则表为例,来进一步说明模糊控制器的嵌入式代码自动生成方法的实现方式。其中,表1的各行各列中,行对应的为误差变化率EC范围,列对应的为误差E变化范围。
表1模糊控制规则表

S201:打开Matlab,运行fuzzy命令打开如下图所示模糊控制器编辑工具Fis Editor。
S202:利用模糊编辑工具编辑模糊控制器属性,对应输入为EC、E,输出为U,三者量化论域都设为[-6,6],对应模糊论域为7,分别对应为[NB NM NS O PS PM PB],模糊隶属度函数为trimf,对应的模糊控制规则表如表1所示,则可得编辑成功后的模糊控制器。
S203:利用模糊控制器的文件导出功能,将当前模糊控制器导出到fis文件中,如fuzzydemo.fis。
S204:新建.m文件,编写如下所示代码,获取模糊控制器对应的如表2所示的离散控制规则表。
上述步骤中,模糊控制器的编辑和离散化可通过设计一些文件代码来实现,例如:
a=readfis('fuzzydemo.fis');//用于获取利用Fuzzy Editor编辑工具编辑保存的模糊控制器

end//用于将如前所述模糊控制器的模糊控制决策表进行离散化处理,并将离散化结果存储于数组fuzzytable中,其格式可如表2所示:
表2离散控制规则表

S205:利用Simulink中的Fcn模型,根据输入实时误差值及误差率量化值,按如下所示程序自动选择模糊控制器的输出值(输出控制量)Uk
i=int32(E+6.9);//根据当前误差,计算离散化输出值Uk对应离散化控制规则表的行号
j=int32(EC+6.9);//根据当前误差变化率,计算离散化输出值Uk对应离散化控制规则表的列号
FTb=single([-5.4 -5.3 -5.4 -5.3 -5.4 -4.3 -4.0 -3.0 -2.0 -2.0 -2.0 -1.0 0.0;...                   -5.3 -5.3 -5.3 -4.3 -4.3 -4.3 -4.0 -3.0 -2.0 -1.0 -1.0 -1.0 0.0;...                  -5.4 -5.3 -5.4 -4.3 -4.0 -4.0 -4.0 -3.0 -2.0 -1.0 0.0 0.0 0.0;...                  -4.3 -4.3 -4.3 -3.3 -3.0 -3.0 -3.0 -2.0 -1.0 0.0 1.0 1.0 1.0;...                  -4.0 -4.0 -4.0 -3.0 -2.0 -2.0 -2.0 -1.0 0.0 1.0 2.0 2.0 2.0;...                  -4.0 -3.0 -3.0 -3.0 -2.0 -1.0 -1.0 0.0 1.0 1.0 2.0 3.0 3.0;...                  -4.0 -3.0 -2.0 -2.0 -2.0 -1.0 0.0 1.0 2.0 2.0 2.0 3.0 4.0;...                  -3.0 -3.0 -2.0 -1.0 -1.0 0.0 1.0 1.0 2.0 3.0 3.0 3.0 4.0;...                  -2.0 -2.0 -2.0 -1.0 0.0 1.0 2.0 2.0 2.0 3.0 4.0 4.0 4.0;...                  -1.0 -1.0 -1.0 0.0 1.0 2.0 3.0 3.0 3.0 3.3 4.3 4.3 4.3;...                  0.0 0.0 0.0 1.0 2.0 3.0 4.0 4.0 4.0 4.3 5.4 5.3 5.4;...                  0.0 1.0 1.0 1.0 2.0 3.0 4.0 4.3 4.3 4.3 5.3 5.3 5.3;...                  0.0 1.0 2.0 2.0 2.0 3.0 4.0 4.3 5.4 5.3 5.4 5.3 5.4]);//输入表2所述
离散化模糊控制规则表
Uk=FTb(i,j);//输出模糊控制器的输出控制量Uk
其中,E、EC为误差及误差率对应[-6,6]范围内的量化值。
S206:利用Simulink工具对Fcn模型进行功能调试与仿真。
S207:利用如下图所示的PLC Coder Generation/Generate Code for Subsystem为Fcn自动生成PLC(Programmable Logic Controller,可编程逻辑控制器)嵌入式系统代码。
S208:利用Multiprog的xml文件导入功能完成Fcn自动生成代码的导入与实物验证调试。
这里,可采用如图2所示的验证系统进行验证,该验证系统包括上述任一实施例所述的模糊控制器、执行机构、控制对象以及测量装置。根据控制对象的标准值Yset和实际输出值Yk,计算所述控制对象的误差Ek及其误差变化率EC。模糊控制器将所述输出控制量Uk输出给所述执行机构,执行机构根据所述输出控制量Uk对控制对象进行模糊控制,并且测量装置检测所述控制对象,并将检测数据反馈给模糊控制器。
可见,上述模糊控制器的嵌入式代码自动生成方法实施例可通过编辑模糊控制器,建立模糊控制决策表生成并导出模糊控制器,建立离散控制规则表,对导出的模糊控制器进行离散化处理,利用嵌入式操作平台的文件导入功能,实现仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率,从而快速实现模糊控制器仿真与实物验证调试。另外,上述各实施例充分利用相关工具(如Mat lab)的数据处理功能,快速实现模糊控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷,特别是,可基于Multiprog平台的嵌入式编程平台与Simulink的代码快速衔接办法。上述模糊控制器的嵌入式代码自动生成方法是一种非常简化的模糊控制器的代码自动生成流程。
系统实施例
本实施例提出一种模糊控制器的嵌入式代码自动生成系统,以简化模糊控制,快速实现模糊控制器仿真与实物验证调试,为模糊控制算法的修改与验证提供了便捷。
其中,该模糊控制器的嵌入式代码自动生成系统包括:
编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;
制表模块,用于制定模糊控制决策表;
导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;
离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;
仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;
生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌入式模型。
作为一种可选方式,上述嵌入式代码自动生成系统还可包括:
调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
需要指出的是,上述各实施例中,控制器编程平台除Multiprog、Codesys外,还可能是其它支持IEC61131-3标准的平台。
其中,MULTIPROG、Codesys是标准的嵌入式组态编程平台,可用于根据IEC标准设计的PLC以及传统的PLC。它基于IEC 61131-3标准,并且包括了IEC特征的全部范围。IEC 61131是国际电工委员会(IEC)制定的可编程逻辑控制器标准。
从上述各实施例可以看出,本发明实施例具有如下优点:
本发明的模糊控制器的嵌入式代码自动生成系统,利用编辑模块修改模糊控制器属性并自动导出模糊控制器文件,运行离散化模块代码自动生成修改后的离散化模糊控制器,利用仿真模块对修改后的离散化模糊控制器进行功能调 试与仿真,运行生成模块自动生成嵌入式代码,并通过调试模块在嵌入式平台运行自动生成的嵌入式代码,并结合实际对象对所述代码进行实际效果验证,从而实现模糊控制器的代码自动生成、修改、仿真、验证等流程,充分利用了相关工具(如Mat lab)的数据处理功能,快速实现了模糊控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷,例如可基于Multiprog平台的嵌入式编程平台与Simulink的代码快速衔接办法。
并且,上述各实施例还利用了嵌入式操作平台的PLC Open xml文件格式的导入功能,实现了仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率。
显然,本领域的技术人员应该明白,本发明上述实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。所述存储装置为非易失性存储器,如:ROM/RAM、闪存、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

模糊控制器的嵌入式代码自动生成方法及系统.pdf_第1页
第1页 / 共11页
模糊控制器的嵌入式代码自动生成方法及系统.pdf_第2页
第2页 / 共11页
模糊控制器的嵌入式代码自动生成方法及系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《模糊控制器的嵌入式代码自动生成方法及系统.pdf》由会员分享,可在线阅读,更多相关《模糊控制器的嵌入式代码自动生成方法及系统.pdf(11页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104216295A43申请公布日20141217CN104216295A21申请号201410469812022申请日20140916G05B17/02200601G05B13/04200601G06F9/455200601G05B23/0220060171申请人湖南三一智能控制设备有限公司地址410100湖南省长沙市经济技术开发区三一工业城72发明人邓秋连陈祖亮罗诗风54发明名称模糊控制器的嵌入式代码自动生成方法及系统57摘要本发明公开了一种模糊控制器的嵌入式代码自动生成方法及系统,其中,该模糊控制器的嵌入式代码自动生成方法包括建立模糊控制器文件,设置模糊控制器属性,并制。

2、定模糊控制决策表;依据所述模糊控制决策表,生成模糊控制器并导出;建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。因此,本发明能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。51INTCL权利要求书2页说明书7页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书7页附图1页10申请公布号CN104216295ACN104216295A1/2页21一种模糊控制器的嵌入式代码自动生成方法,其特征在。

3、于,包括建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;依据所述模糊控制决策表,生成模糊控制器并导出;建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。2根据权利要求1所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理包括基于所述离散控制规则表,利用可视化仿真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。。

4、3根据权利要求2所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述可视化仿真工具中自定义的函数模型为MATLAB的SIMULINK中的FCN模型。4根据权利要求3所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述对离散化处理后的模糊控制器进行功能调试与仿真包括利用MATLAB的SIMULINK工具对所述FCN模型进行功能调试与仿真。5根据权利要求4所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述自动生成嵌入式代码包括利用MATLAB的可编程逻辑控制器代码生成接口,为SIMULINK的FCN模型自动生成嵌入式模型的代码。6根据权利要求5所述的模糊控制器的嵌入式代码自动生。

5、成方法,其特征在于,还包括调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。7根据权利要求6所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述对嵌入式模型的实际应用进行效果验证和调试包括利用嵌入式组态编程平台的文件导入功能,完成FCN自动生成代码的导入与实物验证调试。8一种模糊控制器的嵌入式代码自动生成系统,其特征在于,包括编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;制表模块,用于制定模糊控制决策表;导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控。

6、制器的输出进行离散化处理;仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌入式模型。9根据权利要求8所述的模糊控制器的嵌入式代码自动生成系统,其特征在于,还包括权利要求书CN104216295A2/2页3调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。权利要求书CN104216295A1/7页4模糊控制器的嵌入式代码自动生成方法及系统技术领域0001本发明涉及工程机械领域,特别涉及一种模糊控制器的嵌入式代码自动生成方法及系统。背景技术000。

7、2模糊控制具有不依赖控制对象模型且参数设定方便,且具体计算可通过MATLAB工具轻松获取,因此具有广泛的应用。0003但在实际应用时,模糊控制决策表一般具有100个以上的元素,若将它集成到嵌入式代码进行实现时,往往需要逐一输入,不仅容易出错,且控制策略稍有调整又需要重新输入,工作量较大。发明内容0004有鉴于此,本发明实施例的目的之一在于提出一种模糊控制器的嵌入式代码自动生成方法,能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。0005进一步来讲,该模糊控制器的嵌入式代码自动生成方法包括以下步骤0006建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;0007依据所述模糊控。

8、制决策表,生成模糊控制器并导出;0008建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;0009对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模糊控制器的仿真模型与嵌入式模型的自动转换。0010可选的是,在一些实施例中,所述基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理包括基于所述离散控制规则表,利用可视化仿真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。0011可选的是,在一些实施例中,所述可视化仿真工具中自定义的函数模型为MATLAB的SIMULINK中。

9、的FCN模型。0012可选的是,在一些实施例中,所述对离散化处理后的模糊控制器进行功能调试与仿真包括利用MATLAB的SIMULINK工具对所述FCN模型进行功能调试与仿真。0013可选的是,在一些实施例中,所述自动生成嵌入式代码包括利用MATLAB的可编程逻辑控制器代码生成接口,为SIMULINK的FCN模型自动生成嵌入式模型的代码。0014可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成方法还包括调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。0015可选的是,在一些实施例中,所述对嵌入式模型的实际应用进行效果验证和调试包括利用嵌入式组态编程平台的文件导入。

10、功能,完成FCN自动生成代码的导入与实物验证调试。0016本发明实施例的另一目的在于提出一种模糊控制器的嵌入式代码自动生成系统,说明书CN104216295A2/7页5能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。0017进一步地,该模糊控制器的嵌入式代码自动生成系统包括以下模块0018编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;制表模块,用于制定模糊控制决策表;0019导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;0020离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;0021仿真模块,。

11、用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;0022生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌入式模型。0023可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成系统还包括调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。0024相对于现有技术,本发明实施例具有以下优势0025本发明的模糊控制器的嵌入式代码自动生成方法及系统,提出一种模糊控制器的代码自动生成方式,可通过编辑模糊控制器,建立模糊控制决策表,生成并导出模糊控制器,建立离散控制规则表,对导出的模糊控制器进行离散化处理,利用。

12、嵌入式操作平台的文件导入功能,实现仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率,从而快速实现模糊控制器仿真与实物验证调试。0026并且,本发明充分利用相关工具如MATLAB的数据处理功能,快速实现模糊控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷。附图说明0027构成本发明实施例一部分的附图用来提供对本发明实施例的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中0028图1为本发明实施例提供的模糊控制器的嵌入式代码自动生成方法的流程示意图;0029图2为本发明实施例提供的模糊控制器自动生成代码。

13、的实物验证示意图。具体实施方式0030下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。0031需要说明的是,在不冲突的情况下,本发明实施例及实施例中的特征可以相互组合。0032下面结合附图,对本发明的各优选实施例作进一步说明说明书CN104216295A3/7页60033方法实施例0034为简化模糊控制,本实施例提出一种模糊控制器的嵌入式代码自动生成方法,参照图1所示,该方法包括以下步。

14、骤0035S101建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表。0036S102依据所述模糊控制决策表,生成模糊控制器并导出。0037S103建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理。0038需要指出的是,通过本步骤,能够实现模糊控制决策表到离散控制规则表的自动转换。0039S104对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码。0040作为一种可选方式,上述实施例的S103中,基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理的步骤可进一步包括基于所述离散控制规则表,利用可视化仿真工具。

15、中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。其中,可选的是,可视化仿真工具中自定义的函数模型可为MATLABMATRIXLABORATORY,矩阵实验室数学软件的SIMULINKMATLAB中的一种可视化仿真工具中的FCN模型。0041可选的是,上述实施例的S104中,对离散化处理后的模糊控制器进行功能调试与仿真包括利用MATLAB的SIMULINK工具对所述FCN模型进行功能调试与仿真。其中,可选的是,自动生成嵌入式代码可包括利用MATLAB的可编程逻辑控制器代码生成接口,为SIMULINK的FCN模型自动生成嵌入式模型的代码。0042上述各实施例中,。

16、作为一种可选的实施方式,模糊控制器的嵌入式代码自动生成方法还可进一步包括0043S105调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。0044其中,可选的是,对嵌入式模型的实际应用进行效果验证和调试包括利用嵌入式组态编程平台如MULTIPROG、CODESYS等的文件导入功能如PLCOPENXML文件格式的导入功能,完成FCN自动生成代码的导入与实物验证调试。0045从上述各实施例可以看出,其旨在提供一种模糊控制器的嵌入式代码的自动生成方法,这里,以MATLAB工具为例,对上述模糊控制器的嵌入式代码自动生成方法进行举例说明,如下00461利用MATLAB工具的FUZ。

17、ZY命令打开模糊控制编辑工具,根据对应模糊控制规则建立模糊控制器模型文件,如FUZZYTESTS。00472利用READS及EVALS命令,获取离散控制规则表。00483依据离散控制规则表,利用SIMULINK中的FCN模型编制离散化模糊控制器CONTROLLER的仿真模型。00494功能调试与仿真,利用SIMULINK建立虚拟对象模型,实现对离散化的CONTROLLER的仿真模型的功能验证与仿真。00505利用MATLAB的PLCCODEGERNARATION接口,实现SIMULINK中的离散化的模糊说明书CN104216295A4/7页7控制器的仿真模型CONTROLLER到CONTROL。

18、LER的嵌入式模型的自动转换。00516在嵌入式组态编程平台中,根据用户需求调用CONTROLLER嵌入式模型,按照如下方式实现CONTROLLER的嵌入式模型的实际应用效果验证。0052进一步地,下面将以如表1所示的PIDPROPORTIONINTEGRATIONDIFFERENTIATION,比例积分微分调节中的P调节的模糊控制规则表为例,来进一步说明模糊控制器的嵌入式代码自动生成方法的实现方式。其中,表1的各行各列中,行对应的为误差变化率EC范围,列对应的为误差E变化范围。0053表1模糊控制规则表00540055S201打开MATLAB,运行FUZZY命令打开如下图所示模糊控制器编辑工。

19、具FISEDITOR。0056S202利用模糊编辑工具编辑模糊控制器属性,对应输入为EC、E,输出为U,三者量化论域都设为6,6,对应模糊论域为7,分别对应为NBNMNSOPSPMPB,模糊隶属度函数为TRIMF,对应的模糊控制规则表如表1所示,则可得编辑成功后的模糊控制器。0057S203利用模糊控制器的文件导出功能,将当前模糊控制器导出到S文件中,如FUZZYDEMOS。0058S204新建M文件,编写如下所示代码,获取模糊控制器对应的如表2所示的离散控制规则表。0059上述步骤中,模糊控制器的编辑和离散化可通过设计一些文件代码来实现,例如0060AREADSFUZZYDEMOS;/用于获。

20、取利用FUZZYEDITOR编辑工具编辑保存的模糊控制器00610062END/用于将如前所述模糊控制器的模糊控制决策表进行离散化处理,并将离散化结果存储于数组FUZZYTABLE中,其格式可如表2所示0063表2离散控制规则表0064说明书CN104216295A5/7页80065S205利用SIMULINK中的FCN模型,根据输入实时误差值及误差率量化值,按如下所示程序自动选择模糊控制器的输出值输出控制量UK0066IINT32E69;/根据当前误差,计算离散化输出值UK对应离散化控制规则表的行号0067JINT32EC69;/根据当前误差变化率,计算离散化输出值UK对应离散化控制规则表的。

21、列号0068FTBSINGLE54535453544340302020201000;53535343434340302010101000;54535443404040302010000000;43434333303030201000101010;40404030202020100010202020;40303030201010001010203030;40302020201000102020203040;30302010100010102030303040;20202010001020202030404040;10101000102030303033434343;000000102030404。

22、04043545354;00101010203040434343535353;00102020203040435453545354;/输入表2所述0069离散化模糊控制规则表0070UKFTBI,J;/输出模糊控制器的输出控制量UK0071其中,E、EC为误差及误差率对应6,6范围内的量化值。0072S206利用SIMULINK工具对FCN模型进行功能调试与仿真。0073S207利用如下图所示的PLCCODERGENERATION/GENERATECODEFORSUBSYSTEM为FCN自动生成PLCPROGRAMMABLELOGICCONTROLLER,可编程逻辑控制器嵌入式系统代码。说明书。

23、CN104216295A6/7页90074S208利用MULTIPROG的XML文件导入功能完成FCN自动生成代码的导入与实物验证调试。0075这里,可采用如图2所示的验证系统进行验证,该验证系统包括上述任一实施例所述的模糊控制器、执行机构、控制对象以及测量装置。根据控制对象的标准值YSET和实际输出值YK,计算所述控制对象的误差EK及其误差变化率EC。模糊控制器将所述输出控制量UK输出给所述执行机构,执行机构根据所述输出控制量UK对控制对象进行模糊控制,并且测量装置检测所述控制对象,并将检测数据反馈给模糊控制器。0076可见,上述模糊控制器的嵌入式代码自动生成方法实施例可通过编辑模糊控制器,。

24、建立模糊控制决策表生成并导出模糊控制器,建立离散控制规则表,对导出的模糊控制器进行离散化处理,利用嵌入式操作平台的文件导入功能,实现仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率,从而快速实现模糊控制器仿真与实物验证调试。另外,上述各实施例充分利用相关工具如MATLAB的数据处理功能,快速实现模糊控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷,特别是,可基于MULTIPROG平台的嵌入式编程平台与SIMULINK的代码快速衔接办法。上述模糊控制器的嵌入式代码自动生成方法是一种非常简化的模糊控制器的代码自动生成流程。0077系统实施例007。

25、8本实施例提出一种模糊控制器的嵌入式代码自动生成系统,以简化模糊控制,快速实现模糊控制器仿真与实物验证调试,为模糊控制算法的修改与验证提供了便捷。0079其中,该模糊控制器的嵌入式代码自动生成系统包括0080编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;0081制表模块,用于制定模糊控制决策表;0082导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;0083离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理;0084仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控制器的仿真模型;0。

26、085生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌入式模型。0086作为一种可选方式,上述嵌入式代码自动生成系统还可包括0087调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。0088需要指出的是,上述各实施例中,控制器编程平台除MULTIPROG、CODESYS外,还可能是其它支持IEC611313标准的平台。0089其中,MULTIPROG、CODESYS是标准的嵌入式组态编程平台,可用于根据IEC标准设计的PLC以及传统的PLC。它基于IEC611313标准,并且包括了IEC特征的全部范围。IEC61131是国际电工委。

27、员会IEC制定的可编程逻辑控制器标准。0090从上述各实施例可以看出,本发明实施例具有如下优点0091本发明的模糊控制器的嵌入式代码自动生成系统,利用编辑模块修改模糊控制器说明书CN104216295A7/7页10属性并自动导出模糊控制器文件,运行离散化模块代码自动生成修改后的离散化模糊控制器,利用仿真模块对修改后的离散化模糊控制器进行功能调试与仿真,运行生成模块自动生成嵌入式代码,并通过调试模块在嵌入式平台运行自动生成的嵌入式代码,并结合实际对象对所述代码进行实际效果验证,从而实现模糊控制器的代码自动生成、修改、仿真、验证等流程,充分利用了相关工具如MATLAB的数据处理功能,快速实现了模糊。

28、控制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便捷,例如可基于MULTIPROG平台的嵌入式编程平台与SIMULINK的代码快速衔接办法。0092并且,上述各实施例还利用了嵌入式操作平台的PLCOPENXML文件格式的导入功能,实现了仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证的效率。0093显然,本领域的技术人员应该明白,本发明上述实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。所述存储装置为非易失性存储器,如ROM/RAM、闪存、磁碟、光盘等。0094以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN104216295A101/1页11图1图2说明书附图CN104216295A11。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 控制;调节


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1