嵌入式软件生动生成流程算法经验证可行可靠, 广州登高车出租
新闻分类:公司新闻 作者:admin 发布于:2017-10-184 文字:【
大】【
中】【
小】
摘要:
嵌入式软件生动生成流程算法经验证可行可靠, 广州登高车出租, 广州登高车租赁, 广州登高车公司 代码生成的关键配置, MATLAB/Simink工具箱提供的所有的模挟并非都能生成DSP环境下可执行嵌入式代码,例如连续模块,这是由谋入式的采样与运算的离散性所决定的,这也在娱入式软件自动生成需首先考虑的问题。因此,仿真模型一般不能用于生成嵌入式代,由仿真模型到嵌入式代码生成模型中在在一个转换过程,除非在建模时就把系统模型离散性考虑在内。经研究,由仿真模型的连续系统到离散的入式代码生成模型中在以下可行方法:1)考虑用离散模块取代系统中的连续模块,并设置离散模块的采样率与实际在游入式软件中运行的工作周期相一致。例如把连续积分模块用离散积分模块取代,设置采样周期为O.OOls。
2)针对函数功能的CMEXS-ftinction及M-nction模块,该模块的存在通过MEX功能生成fUnctionname.mex以32或function_name.m以64,能够加快仿真速度,且该类型模挟对于熟悉编程的开发者而言是一个很好的工具,能够实现非常复杂的仿真模型编写。但该模块并不支持直接代生成,在作为为函数功能用时,通过按S-fiinction及M-ftinction确定的执行步骤,将S-fiinction及M-nction的子过程手动顺序改写为m函数的形式,涉及到工作空间变量即可当作全局变量处理。
3)针对硬件驱动的CMEXS-nction,该类型的模块不能通过以上改写成m函数的形式,因为CMEXS-fimction能够比m函数调用更多的MATLAB库函数及系统底层的API接口,有些驱动是m函数所无法完成的;此外,m语言是一种高级语言,在执行时还需再次解释然后执行,占用更多的系统资源,降低驱动程序的运行速度,这是在驱动及通信中所不允许在在的。针对该模块的自动代码生成过程是编写该模块对应的樸块级TLC文件,TLC语言是一种解释性语言,能够读取模型编译过程中的rt以中间文件中的模型信息,对生成.C和.h文件进行控制,并可指定码的生成段及空间位置。该种方式生成的驱动有较高的.执行效率,但实现过程较复杂。
4)对生成软件代的接口、质量、模型中间文件、编码风格等需要进行配置,在下节实现过程进行详述。其中,值得提及的控制策略生成入式软件时关键配置包括:1)必须选择固定步长型离散状态求解器,因为对于娘入式系统只能运行固定步长的计算模型。2)采样时间值,应与实际控制系统调用控制策略的周期相一致,在满足系统资源要求前提下越短越。3)系统目标义件需选择ert.tlc,生成语言选择C语言,这是生成入式软件的需要配置。
疾入式软件生成实现, 将比例方向阀控气缸的控制器算法实现模块ARC取出,进行以下配置:1)定义软件接口:以InputPort和OutputPort替代与模型相连的信号线,右击信号线定又属化名称,并在CodeGeneration属性配置Storageclass为ExportedGlobal,表示以信号线名称的方式生成全局变量。 2)定义算法生成文件:右击子系统,选择BlockParameters,选中Treatasatomicunit选项,使之成为原子予系统,封装算法模块,实现多轴控制器算法复用,优化程序,并定义文件名称,该操作使得所生成的算法文件位于一个文件中。配置实现后,实现后如图4.10所示。点击"BId"按钮,按给定的参数配置启动Simulink插入式代码自动生成,选项配置生成针对TexasstrumentsC2000型的嵌入式DSP软件,即实现了算法功能。提取实现的部分文件,淚入式软件结构文件及含义作用。 控制器算法参数、模型参数、调度配置文件ARC_Controller.c配置成原子子系统生成的控制器算法源文件ARC_Controller.h与头文件rt以types.h数据粪型重定义,方便算法聘平色移植, 关于数学函数库的淳点运算相关文件, 算法模块自定义数据结构申明上述嵌入式软件文件结构关系较复杂,但一旦生成实现后需按软件接口调用即可,不需关注实现细节,在手动创建的嵌入式软件工程中添加上述文件后,调用函数:;实现控制器参数初始化,该函数只需在控制器算法运行前调用一次,即可完成整个控制器参数的初始化工作。调用函数;实现控制器算法运算,需要在每个控制器调用一次,且调用周期应与固定离敌求解器的仿真步长相一致;调用该算法时应该更新传入控制器的输入量,包括所有的Inport端口输入参数,得到的Output端口输出量即为控制量。此外,还可以对生成上述控制器算法文件进行归档分类,编译生成比例方向阀控制软件库,在新建的DSP控制器工程中调用即可。
软件在环测试验证.软件在环测试是在主机上对仿真中生成的函数或手写代码进行非实时性联合仿真评估。软件在环测试是是生成代在嵌入式平台上运行的早期验证环节,完成模型生成代码的正确性、与模型实现功能一致性进行验证的重要方法。打开仿真模型,删除仿真模型中与控制算法无关的部分,只留下ARC控制算法部分进行软件在环测试验证,打开SimulinkConfigurationParameters进行SIL配置,并使之能够创建SILblock,其意义是先生成算法的嵌入式软件代码,然后将代码再整合形成一个S正block;用生成的SILbkx:k替代对在环SIL模型进行再次仿真,在同样的仿真条件下得到的仿真结果,对比可知,SIL仿真结果与模型的仿真在控制效果几乎一致,说明生成的嵌入式软件实现的功能与仿真模型实现了相同的功能,自动代码生成的嵌入式软件操作成功。4.6联入式控制器软件设计与实现4.6.1功能需求分析根据DSP控制器的耍求,嵌入式软件采用模块式开发方法实现以下功能:1)周期调用自适应鲁棒控制算法:毎隔1ms调用一次控制算法,并在1ms内完成控制率的计算,并输出给控制系统,以及CAN总线数据通信。硬件驱动程序:DSP处理器的eCAN硬件控制器、外扩AD模拟量采集器、DA输出器、开关量输出和LED指不信号灯驱动。通信协议:离散控制系统DSP控制器接收上位机PC轨迹数据,包括期望位移、速度和加速度,以及在线设置控制器参数,实现在上位机上实时修改目标;反馈控制算法运行状态,作为参数调试用。4)参数存储:实现掉电存储控制器配置参数,把参数按需写入保存在FLASH总片中,并在需要时读取。57第匹章基于摸型的算法移植及入式软件设计5)轨迹数据较验:把接收到的轨迹数据进行位置、速度、加速度值合理性校验,防止错误数据干扰破坏系统的正常运行。6)系统安全保护:通过软件对硬件输出进行监视,及时发现处理电路模块故障;运行暂停或停止后再次启动瞬间冲击保护,防止冲击过大损坏机械及电器部件。
广州登高车出租, 广州登高车租赁, 广州登高车公司