System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及程序开发,具体而言,涉及一种基于labview的fpga程序开发方法与系统。
技术介绍
1、labview开发平台是一种程序开发环境,其使用的是图形化编辑语言g编写程序,产生的程序是框图的形式,是一种用图标代替文本行创建应用程序的图形化编程语言。labview开发平台采用数据流编程方式,程序框图中节点之间的数据流向决定了vi(虚拟仪器,是labview开发平台的程序模块)及函数的执行顺序。labview开发平台提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。使用图标和连线,可以通过编程对前面板上的对象进行控制。labview开发平台具有执行效率高,数据接收可靠,扩展性和可维护性都比较强。
2、随着电力电子技术的成熟,电力电子设备的应用范围越来越广,变换器的功率范围也越来越广,一般可以从几瓦到兆瓦,它们的复杂程度和控制方法也大不相同。
3、目前,数字信号处理技术与电力电子变换器控制系统在实时性要求、安全性、可靠性等方面的发展日趋一致,因此电力电子变换器的控制方法已经从之前的模拟控制向数字控制转变。目前电力电子变换器系统使用的大多数控制器可分为以单片机、dsp(digitalsignal processing,数字信号处理技术)或fpga(field programmable gate array,现场可编程逻辑门阵列)为主控芯片的控制器。
4、对于fpga为主控芯片的控制器而言,传统的fpga应用程序开发流程存在开发效率较低的问题。因此,如何基于labv
技术实现思路
1、本申请的目的在于提供一种基于labview的fpga程序开发方法,以解决现有技术中存在的fpga应用程序开发效率较低的问题。
2、为了实现上述目的,本申请实施例采用的技术方案如下:
3、一方面,本申请实施例提供一种基于labview的fpga程序开发方法,所述方法包括:
4、通过labview编译单周期定时循环程序与至少两个模块化程序;其中,至少两个所述模块化程序用于执行不同的功能,且所述单周期定时循环程序用于在设定的时间下执行所述模块化程序;
5、依据所述单周期定时循环程序与至少两个所述模块化程序生成可编译执行文件,并将所述可编译执行文件下载至片外存储器中,以使fpga上电后从所述片外存储器中加载所述可编译执行文件并运行。
6、可选地,通过labview编译单周期定时循环程序与至少两个模块化程序的步骤包括:
7、在编译的程序对应的传输数据量小于阈值的条件下,采用固定的数据类型实现程序的编译;
8、在编译的程序对应的传输数据量大于阈值的条件下,将部分数据的数据类型进行转换后实现程序的编译。
9、可选地,在编译的程序对应的传输数据量小于阈值的条件下,采用前面板数组实现程序的编译;
10、在编译的程序对应的传输数据量大于阈值的条件下,使用直接存储区访问的先进先出存储器缓冲区传输方式、实例化块存储器进行数据分类处理,并将部分前面板数组转换成索引表或程序框图常量,实现程序的编译。
11、可选地,所述索引表或程序框图常量与前面板数组的数据比例为3:1。
12、可选地,在处于设定的时间的情况下,将当前需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,并在触发停止条件后,将下一需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,直至接收到停止执行指令。
13、可选地,所述片外存储器中设置有多个存储区,将所述可编译执行文件下载至片外存储器中的步骤包括:
14、将所述可编译执行文件的不同模块化程序存储于不同的存储区中。
15、可选地,将所述可编译执行文件的不同模块化程序存储于不同的片外存储器中的步骤包括:
16、将所述可编译执行文件的不同模块化程序存储于不同且相邻的存储区中。
17、可选地,所述相邻的存储区的大小比例大于2:1。
18、可选地,在所述fpga程序为升降压控制程序的情况下,所述至少两个模块化程序中包括发波程序与控制程序。
19、另一方面,本申请实施例还提供了一种基于labview的fpga程序开发系统,所述系统包括labview平台与片外存储器,所述系统用于执行上述基于labview的fpga程序开发方法。
20、相对于现有技术,本申请具有以下有益效果:
21、本申请实施例提供了一种基于labview的fpga程序开发方法,首先通过labview编译单周期定时循环程序与至少两个模块化程序;其中,每个模块化程序用于执行不同的功能,且单周期定时循环程序用于在设定的时间下执行模块化程序。接着依据单周期定时循环程序与至少两个模块化程序生成可编译执行文件,并将可编译执行文件下载至片外存储器中,以使fpga上电后从片外存储器中加载可编译执行文件并运行。由于本申请中采用labview平台实现对fpga程序的编译,因此简化了控制系统设计,加速了控制系统开发。并且,由于针对fpga的程序采用了模块化设计,使得在程序编译过程中,可以针对不同模块的程序实现独立的编译,因此可以大幅提升fpga程序的开发效率。此外,在生成可编译执行文件后,可以将可编译执行文件存储于片外存储器中,因此可以实现fpga上电后自动加载程序,提升fpga程序运行的便携性。
22、为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
本文档来自技高网...【技术保护点】
1.一种基于LabVIEW的FPGA程序开发方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于LabVIEW的FPGA程序开发方法,其特征在于,通过LabVIEW编译单周期定时循环程序与至少两个模块化程序的步骤包括:
3.如权利要求2所述的基于LabVIEW的FPGA程序开发方法,其特征在于,在编译的程序对应的传输数据量小于阈值的情况下,采用前面板数组实现程序的编译;
4.如权利要求3所述的基于LabVIEW的FPGA程序开发方法,其特征在于,所述索引表或程序框图常量与前面板数组的数据比例为3:1。
5.如权利要求1所述的基于LabVIEW的FPGA程序开发方法,其特征在于,在处于设定的时间的情况下,将当前需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,并在触发停止条件后,将下一需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,直至接收到停止执行指令。
6.如权利要求1所述的基于LabVIEW的FPGA程序开发方法,其特征在于,所述片外存储器中设置有多个存储区,将所述可编译执行文件下载
7.如权利要求6所述的基于LabVIEW的FPGA程序开发方法,其特征在于,将所述可编译执行文件的不同模块化程序存储于不同的片外存储器中的步骤包括:
8.如权利要求7所述的基于LabVIEW的FPGA程序开发方法,其特征在于,所述相邻的存储区的大小比例大于2:1。
9.如权利要求1所述的基于LabVIEW的FPGA程序开发方法,其特征在于,在所述FPGA程序为升降压控制程序的情况下,所述至少两个模块化程序中包括发波程序与控制程序。
10.一种基于LabVIEW的FPGA程序开发系统,其特征在于,所述系统包括LabVIEW平台与片外存储器,所述系统用于执行如权利要求1至9任一项所述的基于LabVIEW的FPGA程序开发方法。
...【技术特征摘要】
1.一种基于labview的fpga程序开发方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于labview的fpga程序开发方法,其特征在于,通过labview编译单周期定时循环程序与至少两个模块化程序的步骤包括:
3.如权利要求2所述的基于labview的fpga程序开发方法,其特征在于,在编译的程序对应的传输数据量小于阈值的情况下,采用前面板数组实现程序的编译;
4.如权利要求3所述的基于labview的fpga程序开发方法,其特征在于,所述索引表或程序框图常量与前面板数组的数据比例为3:1。
5.如权利要求1所述的基于labview的fpga程序开发方法,其特征在于,在处于设定的时间的情况下,将当前需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,并在触发停止条件后,将下一需要被执行的所述模块化程序放入所述单周期定时循环程序中并执行,直至接收到停止执行指令。
【专利技术属性】
技术研发人员:潘逸菎,吴婷婷,李晨,边博伟,严攀,刘欣,
申请(专利权)人:双一力宁波电池有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。