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

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

【技术领域】
[0001] 本发明涉及工程机械领域,特别涉及一种模糊控制器的嵌入式代码自动生成方法 及系统。

【背景技术】
[0002] 模糊控制具有不依赖控制对象模型且参数设定方便,且具体计算可通过Matlab 工具轻松获取,因此具有广泛的应用。
[0003] 但在实际应用时,模糊控制决策表一般具有100个以上的元素,若将它集成到嵌 入式代码进行实现时,往往需要逐一输入,不仅容易出错,且控制策略稍有调整又需要重新 输入,工作量较大。


【发明内容】

[0004] 有鉴于此,本发明实施例的目的之一在于提出一种模糊控制器的嵌入式代码自动 生成方法,能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。
[0005] 进一步来讲,该模糊控制器的嵌入式代码自动生成方法包括以下步骤:
[0006] 建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表;
[0007] 依据所述模糊控制决策表,生成模糊控制器并导出;
[0008] 建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所 述模糊控制器的输出进行离散化处理;
[0009] 对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实 现模糊控制器的仿真模型与嵌入式模型的自动转换。
[0010] 可选的是,在一些实施例中,所述基于所述离散控制规则表,对所述模糊控制器的 输出进行离散化处理包括:基于所述离散控制规则表,利用可视化仿真工具中自定义的函 数模型,根据实时误差值及误差率量化值,自动选择所述模糊控制器的输出值U。
[0011] 可选的是,在一些实施例中,所述可视化仿真工具中自定义的函数模型为Matlab 的Simulink中的Fen模型。
[0012] 可选的是,在一些实施例中,所述对离散化处理后的模糊控制器进行功能调试与 仿真包括:利用Matlab的Simulink工具对所述Fen模型进行功能调试与仿真。
[0013] 可选的是,在一些实施例中,所述自动生成嵌入式代码包括:利用Matlab的可编 程逻辑控制器代码生成接口,为Simulink的Fen模型自动生成嵌入式模型的代码。
[0014] 可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成方法还包括:调用 所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
[0015] 可选的是,在一些实施例中,所述对嵌入式模型的实际应用进行效果验证和调试 包括:利用嵌入式组态编程平台的文件导入功能,完成Fen自动生成代码的导入与实物验 证调试。
[0016] 本发明实施例的另一目的在于提出一种模糊控制器的嵌入式代码自动生成系统, 能够简化模糊控制,快速实现模糊控制器仿真与实物验证调试。
[0017] 进一步地,该模糊控制器的嵌入式代码自动生成系统包括以下模块:
[0018] 编辑模块,用于建立模糊控制器文件,设置模糊控制器属性;制表模块,用于制定 模糊控制决策表;
[0019] 导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器;
[0020] 离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散 控制规则表,对所述模糊控制器的输出进行离散化处理;
[0021] 仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模 糊控制器的仿真模型;
[0022] 生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换 为嵌入式模型。
[0023] 可选的是,在一些实施例中,模糊控制器的嵌入式代码自动生成系统还包括:调试 模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和 调试。
[0024] 相对于现有技术,本发明实施例具有以下优势:
[0025] 本发明的模糊控制器的嵌入式代码自动生成方法及系统,提出一种模糊控制器的 代码自动生成方式,可通过编辑模糊控制器,建立模糊控制决策表,生成并导出模糊控制 器,建立离散控制规则表,对导出的模糊控制器进行离散化处理,利用嵌入式操作平台的文 件导入功能,实现仿真处理成果到嵌入式可编译代码的自动转换,提高了仿真到实物验证 的效率,从而快速实现模糊控制器仿真与实物验证调试。
[0026] 并且,本发明充分利用相关工具(如Mat lab)的数据处理功能,快速实现模糊控 制决策表到离散化模糊控制器的自动转换处理,为模糊控制算法的修改与验证提供了便 捷。

【专利附图】

【附图说明】
[0027] 构成本发明实施例一部分的附图用来提供对本发明实施例的进一步理解,本发明 的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0028] 图1为本发明实施例提供的模糊控制器的嵌入式代码自动生成方法的流程示意 图;
[0029] 图2为本发明实施例提供的模糊控制器自动生成代码的实物验证示意图。

【具体实施方式】
[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0031] 需要说明的是,在不冲突的情况下,本发明实施例及实施例中的特征可以相互组 合。
[0032] 下面结合附图,对本发明的各优选实施例作进一步说明:
[0033] 方法实施例
[0034] 为简化模糊控制,本实施例提出一种模糊控制器的嵌入式代码自动生成方法,参 照图1所示,该方法包括以下步骤:
[0035] S101 :建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表。
[0036] S102 :依据所述模糊控制决策表,生成模糊控制器并导出。
[0037] S103 :建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表, 对所述模糊控制器的输出进行离散化处理。
[0038] 需要指出的是,通过本步骤,能够实现模糊控制决策表到离散控制规则表的自动 转换。
[0039] S104 :对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代 码。
[0040] 作为一种可选方式,上述实施例的S103中,基于所述离散控制规则表,对所述 模糊控制器的输出进行离散化处理的步骤可进一步包括:基于所述离散控制规则表,利 用可视化仿真工具中自定义的函数模型,根据实时误差值及误差率量化值,自动选择所 述模糊控制器的输出值U。其中,可选的是,可视化仿真工具中自定义的函数模型可为 Matlab (matrix&laboratory,矩阵实验室(数学软件))的Simulink (Matlab中的一种可视 化仿真工具)中的Fen模型。
[0041] 可选的是,上述实施例的S104中,对离散化处理后的模糊控制器进行功能调试与 仿真包括:利用Matlab的Simulink工具对所述Fen模型进行功能调试与仿真。其中,可 选的是,自动生成嵌入式代码可包括:利用Matlab的可编程逻辑控制器代码生成接口,为 Simulink的Fen模型自动生成嵌入式模型的代码。
[0042] 上述各实施例中,作为一种可选的实施方式,模糊控制器的嵌入式代码自动生成 方法还可进一步包括:
[0043] S105:调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验 证和调试。
[0044] 其中,可选的是,对嵌入式模型的实际应用进行效果验证和调试包括:利用嵌入式 组态编程平台(如Multiprog、Codesys等)的文件导入功能(如PLCOpen xml文件格式的 导入功能),完成Fen自动生成代码的导入与实物验证调试。
[0045] 从上述各实施例可以看出,其旨在提供一种模糊控制器的嵌入式代码的自动生成 方法,这里,以Matlab工具为例,对上述模糊控制器的嵌入式代码自动生成方法进行举例 说明,如下:
[0046] 1)利用Matlab工具的Fuzzy命令打开模糊控制编辑工具,根据对应模糊控制规则 建立模糊控制器模型文件,如Fuzzytest. fis。
[0047] 2)利用readfis及evalfis命令,获取离散控制规则表。
[0048] 3)依据离散控制规则表,利用Simulink中的Fen模型编制离散化模糊控制器 (Controller)的仿真模型。
[0049] 4)功能调试与仿真,利用Simulink建立虚拟对象模型,实现对离散化的 Controller的仿真模型的功能验证与仿真。
[0050] 5)利用Matlab的PLC Code Gernaration接口,实现Simulink中的离散化的模糊 控制器的仿真模型Controller到Controller的嵌入式模型的自动转换。
[0051] 6)在嵌入式组态编程平台中,根据用户需求调用Controller嵌入式模型,按照如 下方式实现Controller的嵌入式模型的实际应用效果验证。
[0052] 进一步地,下面将以如表 1 所不的 PID (proportion-integration-differentiati on,比例-积分-微分)调节中的P调节的模糊控制规则表为例,来进一步说明模糊控制器 的嵌入式代码自动生成方法的实现方式。其中,表1的各行各列中,行对应的为误差变化率 EC范围,列对应的为误差E变化范围。
[0053] 表1模糊控制规则表
[0054]

【权利要求】
1. 一种模糊控制器的嵌入式代码自动生成方法,其特征在于,包括: 建立模糊控制器文件,设置模糊控制器属性,并制定模糊控制决策表; 依据所述模糊控制决策表,生成模糊控制器并导出; 建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制规则表,对所述模 糊控制器的输出进行离散化处理; 对离散化处理后的模糊控制器进行功能调试与仿真,并自动生成嵌入式代码,实现模 糊控制器的仿真模型与嵌入式模型的自动转换。
2. 根据权利要求1所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述 基于所述离散控制规则表,对所述模糊控制器的输出进行离散化处理包括: 基于所述离散控制规则表,利用可视化仿真工具中自定义的函数模型,根据实时误差 值及误差率量化值,自动选择所述模糊控制器的输出值U。
3. 根据权利要求2所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述 可视化仿真工具中自定义的函数模型为Matlab的Simulink中的Fen模型。
4. 根据权利要求3所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述 对离散化处理后的模糊控制器进行功能调试与仿真包括: 利用Matlab的Simulink工具对所述Fen模型进行功能调试与仿真。
5. 根据权利要求4所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述 自动生成嵌入式代码包括: 利用Matlab的可编程逻辑控制器代码生成接口,为Simulink的Fen模型自动生成嵌 入式模型的代码。
6. 根据权利要求5所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,还包 括: 调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效果验证和调试。
7. 根据权利要求6所述的模糊控制器的嵌入式代码自动生成方法,其特征在于,所述 对嵌入式模型的实际应用进行效果验证和调试包括: 利用嵌入式组态编程平台的文件导入功能,完成Fen自动生成代码的导入与实物验证 调试。
8. -种模糊控制器的嵌入式代码自动生成系统,其特征在于,包括: 编辑模块,用于建立模糊控制器文件,设置模糊控制器属性; 制表模块,用于制定模糊控制决策表; 导出模块,用于依据所述模糊控制决策表,生成并导出模糊控制器; 离散化模块,用于建立所述模糊控制器对应的离散控制规则表,并基于所述离散控制 规则表,对所述模糊控制器的输出进行离散化处理; 仿真模块,用于对离散化处理后的模糊控制器进行功能调试与仿真,获取所述模糊控 制器的仿真模型; 生成模块,用于自动生成嵌入式代码,并将所述模糊控制器的仿真模型自动转换为嵌 入式模型。
9. 根据权利要求8所述的模糊控制器的嵌入式代码自动生成系统,其特征在于,还包 括: 调试模块,用于调用所述模糊控制器的嵌入式模型,对嵌入式模型的实际应用进行效 果验证和调试。
【文档编号】G05B23/02GK104216295SQ201410469812
【公开日】2014年12月17日 申请日期:2014年9月16日 优先权日:2014年9月16日
【发明者】邓秋连, 陈祖亮, 罗诗风 申请人:湖南三一智能控制设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1