一种基于css平台的软件模块化方法

文档序号:6526285阅读:374来源:国知局
一种基于css平台的软件模块化方法
【专利摘要】本发明公开了一种基于CSS平台的软件模块化方法,包括以下步骤:(1)在CSS平台建立生成Lib库文件的软件项目;(2)建立Lib库文件对应的API函数代码的头文件及源文件,并设置相应的编译模式和路径,编译生成Lib库文件;(3)在控制软件中添加相应的Lib库文件和头文件,并对涉及的函数进行声明,以调用Lib库文件对应的API函数。本发明不仅实现了基于CCS软件平台的DSP控制程序的模块化、高效化、便捷化,而且可以提高核心控制算法源代码的机密性。
【专利说明】一种基于CSS平台的软件模块化方法
【技术领域】
[0001]本发明涉及一种基于CCS软件平台的软件模块化方法,尤其是涉及一种基于德州仪器公司的CCS软件平台实现DSP控制算法代码模块化的方法,属于信号处理【技术领域】。
【背景技术】
[0002]随着新能源产业的蓬勃发展,风电变流器、光伏逆变器、APF、储能逆变器、SVG等大功率电力电子设备所占在电力设备行业中所占的比重越来越大,同时也使得电力电子技术获得高速发展的机会。电力电子技术大多数都使用了交直流变换技术,其控制算法根据控制对象的不同而呈现差异化,但是对于系统设计的底层和基础性德控制核心算法则都是完全相同的,例如SVPWM算法、PARK变换算法模块、CLARK变换算法模块、PI调节器算法模块、采样计算算法模块、数字滤波器算法模块等等。同时,控制策略的差异化会严重影响被控系统的稳定性、高效性和安全性。因此,系统控制策略和算法代码在产品中成为举足轻重的核心,他人可以很轻易窃取运行产品软件代码,了解系统的核心控制策略,该产品则容易被复制。

【发明内容】

[0003]本发明所要解决的技术问题是提供一种后续调用方便,保密性好的基于CCS软件平台的软件模块化方法。
[0004]为解决上述技术问题,本发明提供一种基于CSS平台的软件模块化方法,包括以下步骤:(I)在CSS平台建立生成Lib库文件的软件项目;(2)建立Lib库文件对应的API函数代码的头文件及源文件,并设置相应的编译模式和路径,编译生成Lib库文件;(3)在控制软件中添加相应的Lib库文件和头文件,并对涉及的函数进行声明,以调用Lib库文件对应的API函数。
[0005]优选的,在建立源文件时,在所述源文件中建立主函数和与所述的API函数对应的控制算法。
[0006]优选的,在建立头文件时,在头文件中建立结构体和联合体。
[0007]优选的,对于需要众多变量的控制算法,将输入、中间和输出变量分别以结构体、联合体的方式进行赋值、计算。
通过本发明的软件模块化方法,每一个子模块都被设计为标准的API函数接口,并且都是以静态的Lib库文件存在,从而实现了软件编程的高效性。同时,未经软件设计者授权,软件操作者不能打开或者修改相关的控制算法保证源代码的安全性。
【专利附图】

【附图说明】
[0008]图1是本发明的基于CCS软件平台的软件模块化方法的总体流程图。
[0009]图2是本发明的API函数Lib库文件生成流程图。
[0010]图3是本发明的API函数Lib库文件调用流程图。【具体实施方式】
[0011]本发明的具体实施例提供一种基于德州仪器公司的CCS软件平台实现DSP(2812、28335等芯片)控制算法代码模块化方法,属于信号处理【技术领域】。该方法可将与DSP控制相关的硬件底层算法、电力电子技术控制算法封装成以Lib库文件形式存在的API函数。
[0012]本发明针对控制平台软件结构采用基础平台部分的软件架构(简称“基础架构”),将底层硬件相关代码做成标准格式,设计API函数接口,将API函数控制算法封装成Lib库文件。常用的电力电子算法模块如下=SVPWM算法模块、PARK变换算法模块、CLARK变换算法模块、PI调节器算法模块、采样计算算法模块、数字滤波器算法模块等等。通过针对这些电力电子算法模块设计对应的API函数接口,并进行封装成Iib文件形式,软件人员可以根据需要调用相应模块进行软件编写。
[0013]本实施例中,需预先建立生成Lib库文件的软件项目,设计相应的源文件和头文件,定义合适的编译模式和路径,编译生成Lib库文件;并且,利用结构体、联合体的数据结构方式对头文件中的输入、中间和输出变量以及相关参数进行设置方法。在使用时,控制软件中只需直接对所需的API函数的库文件进行调用,添加相应的Lib库文件和头文件参数,并对所涉及到的函数进行声明。
[0014]图1为基于CCS软件平台的软件模块化方法的总体流程图,根据其流程可以得出该方法的总体设计思路。首先,进行软件源代码设计,将可以实现不同功能的API函数封装而生成Lib库文件,并在新的系统控制算法中调用所需要的API函数,从而达到了软件功能实现。通过这样的方法,新的系统控制算法软件得到输入变量后就可以生成输出变量。
[0015]图2表明程序算法源代码的设计以及编译成Lib库文件的步骤,即基于CCS软件平台下建立API函数以及对应的Lib库文件的步骤。具体的,首先,在CCS软件平台预先建立新的project,也就是生成Lib库文件的软件项目,定义该Project的输出类型为Library (.lib)文件;随后,建立对应的API函数代码的源文件(.c)以及头文件(.h),并设置相应的编译模式和路径,编译生成Lib库文件。建立源文件时,在API函数源文件中建立主函数,根据该API函数所要实现的功能去设计控制算法,主函数可以根据所需要的输出变量的数据类型去定义该函数的返回类型。在建立头文件时,在API函数头文件中定义变量、若主函数中输出变量中含有多个不同数据类型的变量,建立结构体、联合体数据类型可以囊括多个不同数据类型的变量,即对于需要众多变量的控制算法,将输入、中间和输出变量分别以结构体、联合体的方式进行赋值、计算,函数返回的输出变量可以满足其它API函数的调用。
[0016]将API函数头文件和源文件设计完毕之后,在build option栏目下进行complier和archiver的设置,编译完成后在根目录的Debug文件加下找到.1ib文件,该文件包括了 API函数的功能,并可以在后面的程序中实现调用。
[0017]附图3表明调用所需API函数的Lib库文件的步骤,即基于CCS软件平台下调用API函数的Lib库文件。若现用控制算法的程序中涉及API函数的功能,则在控制软件中添加相应的Lib库文件和头文件,并对涉及的函数进行声明,以调用Lib库文件对应的API函数。具体的,将该API函数的.1ib文件手动放在现用项目的Iib文件夹内,并在CCS软件平台上的projct/Libraries中添加对应的API函数Lib库文件,并在头文件header中定义该API函数中所涉及的变量和声明该API函数类型。
[0018]通过这样一种基于CCS软件平台的软件模块化方法,本发明将DSP的控制软件的相关代码做成标准格式,设计API函数接口,并进行封装成Lib库文件形式。这种新型的方法可以减少软件设计者的工作量,同时也提高了软件机密性。因此,通过建立Lib库文件完成相关API函数的实现,软件设计者可以根据不同的控制策略要求选择合适的API函数,如需要利用某个API函数时可以直接调用函数相关的Lib库文件,大大节省软件设计者的工作量;软件设计者不需提供源代码只需提供API函数接口给软件使用者,这样可以实现对软件代码尤其是核心算法部分进行加密,使得非授权者看不到源代码,保证了代码的安全性。每一个子模块都被设计为标准的API函数接口,并且都是以静态的Lib库文件存在,当,实现了软件编程的高效性。同时,未经软件设计者授权,软件操作者不能打开或者修改相关的控制算法保证源代码的安全性。
[0019]本发明按照优选实施例进行了说明,应当理解上述实施例不以任何形式限定本发明,凡采用等同替换或等效变换的形式所获得的技术方案,均落在本发明的保护范围之内。
【权利要求】
1.一种基于CSS平台的软件模块化方法,其特征在于,包括以下步骤: (1)在CSS平台建立生成Lib库文件的软件项目; (2)建立Lib库文件对应的API函数代码的头文件及源文件,并设置相应的编译模式和路径,编译生成Lib库文件; (3)在控制软件中添加相应的Lib库文件和头文件,并对涉及的函数进行声明,以调用Lib库文件对应的API函数。
2.根据权利要求1所述的基于CSS平台的软件模块化方法,其特征在于: 在建立源文件时,在所述源文件中建立主函数和与所述的API函数对应的控制算法。
3.根据权利要求2所述的基于CSS平台的软件模块化方法,其特征在于: 在建立头文件时,在头文件中建立结构体和联合体。
4.根据权利要求3所述的基于CSS平台的软件模块化方法,其特征在于,对于需要众多变量的控制算法,将输入、中间和输出变量分别以结构体或联合体的方式进行赋值、计算。
【文档编号】G06F9/44GK103729181SQ201310740375
【公开日】2014年4月16日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】庄俊, 骆皓, 曹阳, 武建国, 李俊飞, 肖遥, 郭巍, 姚广秀, 袁野, 王磊 申请人:国电南京自动化股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1