版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于模型设计在机电系统开发中的应用 王海滨+闫鹏程+武涛+欧栋杰摘 要 随着现代控制技术的发展,控制算法越来越复杂,控制算法的自动验证和代码自动生成已经成为趋势。传统的电机控制算法开发是系统仿真,编写代码,最后测试。采用传统手工编程的方式去编写复杂的控制算法,对于初学者来说难度非常大。对于算法设计人员来说,需要一种方法能够解决以上问题。Key 基于模型的设计;Embedded Coder;磁场定向算法;永磁同步电机;PIL:TP309 :A :1671-7597(2014)05-0053-01Matlab提供的基于模型设计平台(Model Based Design,MBD),可以实现从需求分
2、析到代码验证的整个开发过程,用户可以建立系统级模型的仿真验证,优化系统参数,自动生成高效的目标器件专用代码。利用Matlab提供的开发环境,用户可以开发和验证控制算法,成功的完成从算法的设计验证到自动生成代码过程。1 电机控制系统开发流程在开发中,首先是通过文本需求建立可执行文档,在这一部分中,主要是建模,通过建模可以避免传统文本的弊端,通过可视化和可执行化的模型避免文本需求的歧义和冗余。建模之后,为生成符合相关安全标准的代码,需要对模型进行建模规范检查,使用Simulink V&V工具集可自动完成这一流程。为验证算法的正确性,模型检查通过后,Matlab提供的System Test(系统测试
3、)与Simulink DesignVerifier(设计验证器)工具可以完成对控制系统的测试。模型测试后,使用Embedded coder工具生成嵌入式代码,通过编译连接生成目标代码,下载到处理器中做代码的等效性测试,如处理器在环测试(PIL)等。通过这完整的流程,从文本需求到系统测试提供了一个统一的平台,方便开发人员交流,极大的提高了开发的效率。2 建模规范检查与测试模型出来并且可以编译之后,首先要做建模标准检查,这个过程使用工具Simulink Verification&Validation工具集提供的model advisor自动化的完成。Model Advisor可以理解模型的静态检查
4、,用来验证模型是否正确的搭建出来。这是建模检查的第一步,对建立的模型进Model Advisor检查,这在设计初期非常重要,用户通过检查,能够找出模型中与建模标准或者安全标准不相符合的部分,对模型中隐含的问题给予警告,并且指导用户修改,是代码生成前重要的工作。Model Advisor提供了常见的建模标准和安全标准供用户选择,同时通过API接口,用户可以建立自己公司的建模标准。3 处理器在环测试图1 PIL工作流程图处理器在环测试是在Simulink中搭建被控对象的模型,而将控制器算法代码下载到目标处理器中去执行,通过串口或者网络接口通信,对处理器和Simulink进行实时数据交换,这种硬件在
5、环实时仿真技术可以反映控制器的实际工作情况,得到算法的执行时间,便于及早的发现错误。其工作原理如图1所示。PIL环节是基于模型设计中非常重要的环节,因为系统控制系统模型的仿真只能验证算法的正确性,但是由于算法对处理器性能要求很高,算法的执行时间直接关系到整个控制系统是否稳定。在电机控制系统中,如果FOC算法的执行算法的时间大于PWM的周期,则会导致整个系统无法工作。对于处理器在环测试设置比较复杂,所以为能够完成自动化的测试,本文建立自动化的测试程序如下:set_param(model,ProdHWDeviceType,TexasInstruments-C2000,TemplateMakefil
6、e, ec_target.tmf, GenCodeOnly, off,.SimulationMode,processor-in-the-loop (pil)set_param(model,CodeExecutionProfiling, on,.CodeExecutionProfileVariable,executionProfile,.CodeProfilingSaveOptions,AllData);save_system(sensorless_foc.slx)if exist(slprj,dir), rmdir(slprj,s); endsim(model)其中model为系统仿真的模型,
7、通过上述程序既可以自动进行PIL测试。用户运行profile(IDE_Obj,execution,report)即可以生成代码实时运行的结果如图2所示。图2 PIL仿真结果图4 总结基于模型的设计优势在于算法的早期验证,使得开发者可以将主要精力放在算法开发上,代码则由Matlab自动生成,很好的提高工作效率。在实际的开发中,将算法生成为函数进行调用,一般底层驱动和控制流程使用汇编语言或者C手工编写。如果通过Matlab对底层驱动建模则十分复杂,得不偿失,控制流程开发也没有C语言灵活。Reference1刘杰.基于模型的设计及其嵌入式实现M.北京:北京航空航天大学出版社,2010.2The Ma
8、thWorks,Inc.Embedded coder6 Geting Started Guide,April 2011.3The MathWorks,Inc.Embedded coder 6 Users Guide,April 2011.4The MathWorks,Inc.Stateflow 7 Geting Started Guide,April 2011.作者简介王海滨(1988-),安徽蚌埠人,安徽理工大学在读硕士研究生,研究方向:电力电子与电力拖动。endprint摘 要 随着现代控制技术的发展,控制算法越来越复杂,控制算法的自动验证和代码自动生成已经成为趋势。传统的电机控制算法开发
9、是系统仿真,编写代码,最后测试。采用传统手工编程的方式去编写复杂的控制算法,对于初学者来说难度非常大。对于算法设计人员来说,需要一种方法能够解决以上问题。Key 基于模型的设计;Embedded Coder;磁场定向算法;永磁同步电机;PIL:TP309 :A :1671-7597(2014)05-0053-01Matlab提供的基于模型设计平台(Model Based Design,MBD),可以实现从需求分析到代码验证的整个开发过程,用户可以建立系统级模型的仿真验证,优化系统参数,自动生成高效的目标器件专用代码。利用Matlab提供的开发环境,用户可以开发和验证控制算法,成功的完成从算法的
10、设计验证到自动生成代码过程。1 电机控制系统开发流程在开发中,首先是通过文本需求建立可执行文档,在这一部分中,主要是建模,通过建模可以避免传统文本的弊端,通过可视化和可执行化的模型避免文本需求的歧义和冗余。建模之后,为生成符合相关安全标准的代码,需要对模型进行建模规范检查,使用Simulink V&V工具集可自动完成这一流程。为验证算法的正确性,模型检查通过后,Matlab提供的System Test(系统测试)与Simulink DesignVerifier(设计验证器)工具可以完成对控制系统的测试。模型测试后,使用Embedded coder工具生成嵌入式代码,通过编译连接生成目标代码,下
11、载到处理器中做代码的等效性测试,如处理器在环测试(PIL)等。通过这完整的流程,从文本需求到系统测试提供了一个统一的平台,方便开发人员交流,极大的提高了开发的效率。2 建模规范检查与测试模型出来并且可以编译之后,首先要做建模标准检查,这个过程使用工具Simulink Verification&Validation工具集提供的model advisor自动化的完成。Model Advisor可以理解模型的静态检查,用来验证模型是否正确的搭建出来。这是建模检查的第一步,对建立的模型进Model Advisor检查,这在设计初期非常重要,用户通过检查,能够找出模型中与建模标准或者安全标准不相符合的部
12、分,对模型中隐含的问题给予警告,并且指导用户修改,是代码生成前重要的工作。Model Advisor提供了常见的建模标准和安全标准供用户选择,同时通过API接口,用户可以建立自己公司的建模标准。3 处理器在环测试图1 PIL工作流程图处理器在环测试是在Simulink中搭建被控对象的模型,而将控制器算法代码下载到目标处理器中去执行,通过串口或者网络接口通信,对处理器和Simulink进行实时数据交换,这种硬件在环实时仿真技术可以反映控制器的实际工作情况,得到算法的执行时间,便于及早的发现错误。其工作原理如图1所示。PIL环节是基于模型设计中非常重要的环节,因为系统控制系统模型的仿真只能验证算法
13、的正确性,但是由于算法对处理器性能要求很高,算法的执行时间直接关系到整个控制系统是否稳定。在电机控制系统中,如果FOC算法的执行算法的时间大于PWM的周期,则会导致整个系统无法工作。对于处理器在环测试设置比较复杂,所以为能够完成自动化的测试,本文建立自动化的测试程序如下:set_param(model,ProdHWDeviceType,TexasInstruments-C2000,TemplateMakefile, ec_target.tmf, GenCodeOnly, off,.SimulationMode,processor-in-the-loop (pil)set_param(model
14、,CodeExecutionProfiling, on,.CodeExecutionProfileVariable,executionProfile,.CodeProfilingSaveOptions,AllData);save_system(sensorless_foc.slx)if exist(slprj,dir), rmdir(slprj,s); endsim(model)其中model为系统仿真的模型,通过上述程序既可以自动进行PIL测试。用户运行profile(IDE_Obj,execution,report)即可以生成代码实时运行的结果如图2所示。图2 PIL仿真结果图4 总结基于
15、模型的设计优势在于算法的早期验证,使得开发者可以将主要精力放在算法开发上,代码则由Matlab自动生成,很好的提高工作效率。在实际的开发中,将算法生成为函数进行调用,一般底层驱动和控制流程使用汇编语言或者C手工编写。如果通过Matlab对底层驱动建模则十分复杂,得不偿失,控制流程开发也没有C语言灵活。Reference1刘杰.基于模型的设计及其嵌入式实现M.北京:北京航空航天大学出版社,2010.2The MathWorks,Inc.Embedded coder6 Geting Started Guide,April 2011.3The MathWorks,Inc.Embedded coder
16、 6 Users Guide,April 2011.4The MathWorks,Inc.Stateflow 7 Geting Started Guide,April 2011.作者简介王海滨(1988-),安徽蚌埠人,安徽理工大学在读硕士研究生,研究方向:电力电子与电力拖动。endprint摘 要 随着现代控制技术的发展,控制算法越来越复杂,控制算法的自动验证和代码自动生成已经成为趋势。传统的电机控制算法开发是系统仿真,编写代码,最后测试。采用传统手工编程的方式去编写复杂的控制算法,对于初学者来说难度非常大。对于算法设计人员来说,需要一种方法能够解决以上问题。Key 基于模型的设计;Embe
17、dded Coder;磁场定向算法;永磁同步电机;PIL:TP309 :A :1671-7597(2014)05-0053-01Matlab提供的基于模型设计平台(Model Based Design,MBD),可以实现从需求分析到代码验证的整个开发过程,用户可以建立系统级模型的仿真验证,优化系统参数,自动生成高效的目标器件专用代码。利用Matlab提供的开发环境,用户可以开发和验证控制算法,成功的完成从算法的设计验证到自动生成代码过程。1 电机控制系统开发流程在开发中,首先是通过文本需求建立可执行文档,在这一部分中,主要是建模,通过建模可以避免传统文本的弊端,通过可视化和可执行化的模型避免文
18、本需求的歧义和冗余。建模之后,为生成符合相关安全标准的代码,需要对模型进行建模规范检查,使用Simulink V&V工具集可自动完成这一流程。为验证算法的正确性,模型检查通过后,Matlab提供的System Test(系统测试)与Simulink DesignVerifier(设计验证器)工具可以完成对控制系统的测试。模型测试后,使用Embedded coder工具生成嵌入式代码,通过编译连接生成目标代码,下载到处理器中做代码的等效性测试,如处理器在环测试(PIL)等。通过这完整的流程,从文本需求到系统测试提供了一个统一的平台,方便开发人员交流,极大的提高了开发的效率。2 建模规范检查与测试
19、模型出来并且可以编译之后,首先要做建模标准检查,这个过程使用工具Simulink Verification&Validation工具集提供的model advisor自动化的完成。Model Advisor可以理解模型的静态检查,用来验证模型是否正确的搭建出来。这是建模检查的第一步,对建立的模型进Model Advisor检查,这在设计初期非常重要,用户通过检查,能够找出模型中与建模标准或者安全标准不相符合的部分,对模型中隐含的问题给予警告,并且指导用户修改,是代码生成前重要的工作。Model Advisor提供了常见的建模标准和安全标准供用户选择,同时通过API接口,用户可以建立自己公司的建
20、模标准。3 处理器在环测试图1 PIL工作流程图处理器在环测试是在Simulink中搭建被控对象的模型,而将控制器算法代码下载到目标处理器中去执行,通过串口或者网络接口通信,对处理器和Simulink进行实时数据交换,这种硬件在环实时仿真技术可以反映控制器的实际工作情况,得到算法的执行时间,便于及早的发现错误。其工作原理如图1所示。PIL环节是基于模型设计中非常重要的环节,因为系统控制系统模型的仿真只能验证算法的正确性,但是由于算法对处理器性能要求很高,算法的执行时间直接关系到整个控制系统是否稳定。在电机控制系统中,如果FOC算法的执行算法的时间大于PWM的周期,则会导致整个系统无法工作。对于处理器在环测试设置比较复杂,所以为能够完成自动化的测试,本文建立自动化的测试程序如下:set_param(model,ProdHWDeviceType,TexasInstruments-C2000,TemplateMakefile, ec_target.tmf, GenCodeOnly, off,.SimulationMode,processor-in-the-loop (pil)set_param(model,CodeExecutionProfiling, on,.CodeExecutionProfileVariable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论