一种基于FPGA的光伏集群的仿真模型的设计方法与流程

文档序号:22844115发布日期:2020-11-06 16:47阅读:196来源:国知局
一种基于FPGA的光伏集群的仿真模型的设计方法与流程

本发明涉及光伏集群仿真器领域,尤其涉及一种基于fpga的光伏集群的仿真模型的设计方法。



背景技术:

近年来,光伏发电在电力系统中的渗透率日益增高。然而由于光伏在运行过程中受光照强度等不确定因素影响,大规模光伏集群的接入对电力系统的电能质量、保护控制和稳定性带来了一定冲击。光伏集群的接入使得配电系统由原有的单电源放射性拓扑结构变为多电源结构,导致继电保护装置出现误动、拒动等情况,严重影响电力系统的安全运行。同时,光伏发电的随机波动对电网的功角稳定性和电压稳定性带来了一定威胁,特别是故障期间由于穿越能力不足导致的光伏集群大规模脱网,更是严重冲击电力系统的运行稳定性。此外,光伏集群中除包含有大量光伏发电单元等一次设备外,还包括各种电力电子控制器等二次设备,导致其动态特性相较于以往更加复杂。因此必须借助有效的仿真方法与工具来经济、高效、准确地研究大规模光伏集群的运行特性,尤其是在光照强度变化、短路故障和并网等场景下的动态特征。

大规模光伏集群实时仿真通过对光伏发电单元及其各种相关控制装置建立详细的数学模型,并在微秒级的仿真步长下对模型进行快速求解,能够最细致全面地模拟出光伏集群在各种扰动下的复杂动静态特性。更重要的是,光伏集群实时仿真具备硬件在环的能力,通过将实时仿真器与大规模光伏集群中的实际物理设备相连,能够对各种保护装置、电力电子控制设备、通讯装置等进行在线测试,有效降低研发及试验成本,避免待测设备对实际光伏集群的影响。

然而,光伏集群日益庞大的仿真规模和种类多样的电力电子设备对实时仿真器的仿真精度、计算速度和硬件资源提出了严峻的挑战。在大规模光伏集群中,换流器等高频电力电子设备的存在会带来数值震荡等一系列问题,对该类元件的精确仿真通常需要非常小的仿真步长;另外,各种光伏控制设备的数学模型具有很强的非线性,对于非线性系统的处理使得光伏集群的仿真求解规模更加庞大,同时也意味着需要更长的计算时间。这种仿真步长与求解规模之间的矛盾给大规模光伏集群仿真的实时性带来了极大的考验,也为实时仿真器的硬件资源带来了严重的负担。

现有技术中,采用cpu处理器或dsp等串行硬件实现大规模光伏集群实时仿真,然而该方法的计算能力有限,只能适用于规模较小的光伏集群的仿真,若将该方法用于大规模的光伏集群,将导致仿真精度低的现象;除此之外,该方法在同一时间只能处理一组数据,数据处理时间长,仿真效率低。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种基于fpga的光伏集群的仿真模型的设计方法,通过fpga对光伏集群进行仿真,能够提高仿真精度和仿真效率。

为了解决上述技术问题,本发明实施例提供了一种基于fpga的光伏集群的仿真模型的设计方法,包括:

s1:将具有相同结构的光伏集群依据拓扑连接关系划分为n个光伏子系统和一个网络子系统;其中,n为大于1的整数;

s2:对每一个所述光伏子系统进行编号,并将每一个所述光伏子系统对应的运算数据,所述网络子系统对应电气部分的节点电导矩阵存储在fpga中;其中,所述运算数据包括电气部分的节点电导矩阵、控制部分的计算矩阵、环境温度、光照强度;

s3:初始化实时仿真器,在仿真时刻t=0时启动仿真;

s4:仿真时间向前推进一个步长,t=t+△t;时钟周期序号i=1;

s5:基于所述网络子系统对应的节点电导矩阵对所述网络子系统进行求解;基于每一个所述光伏子系统对应的运算数据,在当前仿真步长△t的第i个时钟周期内对每一个所述光伏子系统进行如下操作:

若i=1,则对第1个光伏子系统进行初始化操作;

若2≤i≤n,则对第i个光伏子系统进行初始化操作,并对第1个光伏子系统至第i-1个光伏子系统以流水线形式同步执行预设的第一流水线的第一指令中的一个指令操作、所述第一流水线的第二指令中的一个指令操作,预设的第二流水线的第一指令的一个指令操作、所述第二流水线的第二指令的一个指令操作;其中,所述第一条流水线和所述第二流水线均包括若干个运算指令,且所述第一流水线和所述第二流水线中的运算指令被分类成第一指令或第二指令,每一个所述运算指令包括若干个指令操作;

若n<i≤i,则将n个光伏子系统以流水线形式同步执行所述第一流水线的第一指令中的一个指令操作、所述第一流水线的第二指令中的一个指令操作、所述第二流水线的第一指令的一个指令操作,所述第二流水线的第二指令的一个指令操作;其中,i为预设的时钟周期个数;

s6:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1;

s7:对实时仿真器中的网络子系统和所有光伏子系统进行每一个仿真步长的仿真结束校验,若当前步长的网络子系统仿真结束,则获得输出电压和输出电流;若当前步长的所有光伏子系统仿真结束,则获得每一个所述光伏子系统对应的光生电流源电流和二极管电流,若当前步长的网络子系统仿真未结束或存在一个光伏子系统仿真未结束,则返回s5;

s8:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1;

s9:将每一个所述光伏子系统分别与所述网络子系统进行数据交互操作;其中,所述数据交互操作指所述网络子系统向每一个所述光伏子系统发送所述输出电压和所述输出电流,每一个所述光伏子系统向网络子系统发送对应的光生电流源电流和二极管电流;

s10:若实时仿真器中的所有光伏子系统均与所述网络子系统均完成数据交互操作,则执行s11,否则返回s8;

s11:判断i是否小于i,当i<i时,执行s12,当i≥i时,执行s13;

s12:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1,并返回s11;

s13:判断仿真时间t是否等于预设时间t,当t=t时,仿真结束;当t<t时,返回s4。

进一步地,所述第一流水线的获取步骤如下:

根据光生电流源电流的数学表达式,获得所述第一流水线;其中,所述第一流水线包括5条运算指令,所述光生电流源电流的数学表达式如下:

其中,iph为光生电流源电流,iph,ref为标准条件下的光生电流值,s为实际光照强度,sref为标准条件下的光照强度,ct为温度系数,t为光伏子系统工作的绝对温度值,tref为标准条件下光伏子系统工作的绝对温度。

进一步地,所述第二流水线的获取步骤如下:

根据二极管电流的数学表达式,获得所述第二流水线;其中,所述第二流水线包括15条运算指令,所述二极管电流的数学表达式如下:

其中,id为二极管电流,a为温度系数,eg为禁带宽度,n是二极管特性拟合系数,k是玻尔兹曼常数,q为电子电量,v与i分别为光伏子系统的输出电压和输出电流。

进一步地,所述仿真步长△t的获取步骤如下:

按照下列计算公式,获得所述仿真步长;

△t=[max(t1,t2,t3)+t4]/f;

其中,t1为所述网络子系统求解所需要的时钟周期总数,t2为所述第一流水线中所有运算指令的指令操作总数,t3为所述第二流水线中所有运算指令的指令操作总数,t4为预设的数据交互所需的时钟周期总数,f为fpga的驱动时钟频率。

进一步地,所述第一流水线的第一指令包括孤立指令和无伴指令,所述第一流水线的第二指令为共享指令;则,所述第一流水线的第一指令和所述第一流水线的第二指令的获取方法具体包括:

根据所述第一流水线的所有运算指令,将所述第一流水线中无相同指令的运算指令分为无伴指令;

将所述第一流水线中相同指令起始运算时间间隔不少于n个时钟周期的运算指令分为共享指令;

将所述第一流水线中相同指令起始运算时间间隔少于n个时钟周期的运算指令分为孤立指令。

进一步地,所述第二流水线的第一指令包括孤立指令和无伴指令,所述第二流水线的第二指令为共享指令;则,所述第二流水线的第一指令和所述第二流水线的第二指令的获取方法具体包括:

根据所述第二流水线的所有运算指令,将所述第二流水线中无相同指令的运算指令分为无伴指令;

将所述第二流水线中相同指令起始运算时间间隔不少于n个时钟周期的运算指令分为共享指令;

将所述第二流水线中相同指令起始运算时间间隔少于n个时钟周期的运算指令分为孤立指令。

进一步地,在对第n个光伏子系统执行所述第一流水线的第一指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第一流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,根据所述第n个光伏子系统对应的运算数据、所述第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据。

进一步地,在对第n个光伏子系统执行所述第一流水线的第二指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第一流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,提取所述第n个光伏子系统对应的运算数据高四位地址信息,并根据所述第n个光伏子系统对应的运算数据、第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果和所述运算数据高四位地址信息形成的数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中。

进一步地,在对第n个光伏子系统执行所述第二流水线的第一指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第二流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,根据所述第n个光伏子系统对应的运算数据、所述第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据。

进一步地,在对第n个光伏子系统执行所述第二流水线的第二指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第二流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,提取所述第n个光伏子系统对应的运算数据高四位地址信息,并根据所述第n个光伏子系统对应的运算数据、第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中。

进一步地,所述对第1个光伏子系统进行初始化操作,具体包括:

将第1个光伏子系统的运算数据分别输入到所述第一流水线和所述第二流水线的第一个指令操作中。

实施本发明实施例,具有如下有益效果:

本发明实施例提供了一种基于fpga的光伏集群的仿真模型的设计方法,包括:将光伏集群划分为n个光伏子系统和一个网络子系统;2)将每一个光伏子系统对应的运算数据,网络子系统对应节点电导矩阵存储在fpga中;3)设置仿真时刻t=0,启动仿真;4)仿真时间向前推进一个步长,t=t+△t;5)基于网络子系统对应的节点电导矩阵对网络子系统进行求解,获得输出电压和输出电流;将每一光伏子系统对应的运算数据输入至第一流水线和第二流水线,获得每一个光伏子系统对应的光生电流源电流和二极管电流;6)将每一个光伏子系统分别与网络子系统进行数据交互操作;7)当t=t时,仿真结束;否则返回步骤4);相比于现有采用cpu处理器或dsp等串行硬件实现大规模光伏集群实时仿真,本发明通过在fpga上运用动态流水线对光伏集群进行仿真,能够提高仿真精度和仿真效率;除此之外,本发明将光伏集群进行分割求解,以降低解算规模,提高仿真器的计算速度和计算结果的准确度,进一步提高仿真精度和仿真效率。

附图说明

图1是本发明提供的一种基于fpga的光伏集群的仿真模型的设计方法的一个优选实施例的流程图;

图2是实时仿真器动态流水线求解的时空图;

图3是等值为十个光伏发电单元的大规模光伏集群测试算例;

图4是第一光伏子系统的滤波器出口处c相电压vpv,c仿真结果图;

图5是第一光伏子系统的滤波器出口处c相电流ipv,c仿真结果图;

图6是第一光伏子系统的输出有功功率ppv仿真结果图;

图7是第一光伏子系统的直流侧电压vpv,dc仿真结果图;

图8是第一光伏子系统的仿真结果相对误差曲线图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本技术领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于预设的本发明保护的范围。

fpga是专用集成电路领域的一种半定制电路,具有完全可配置的固有硬件并行结构,其逻辑资源可配置为并行处理单元并实现多层级高度并行计算;同时,fpga上具有大量嵌入式存储块,可配置为大量分布式rom或ram;此外,fpga还拥有丰富的传输速度极快的内部连线,不会引入过大的通讯延迟;更为重要的是,fpga允许使用流水线技术,针对大规模光伏集群实时仿真中可分为若干步骤且单流向处理数据的计算流程,流水线技术通过延伸重叠方式,使指令解释过程进一步细化,在提高程序处理单元利用率的同时,加快指令执行速度,大大增强了基于fpga的光伏集群实时仿真器的数据处理能力;可见,本发明通过fpga对光伏集群进行仿真,有利于提高光伏集群的仿真精度和仿真效率。

本发明实施例提供了一种基于fpga的光伏集群的仿真模型的设计方法,参见图1所示,是本发明提供的一种基于fpga的光伏集群的仿真模型的设计方法的一个优选实施例的流程图,所述方法包括步骤s11至步骤s13:

s1:将具有相同结构的光伏集群依据拓扑连接关系划分为n个光伏子系统和一个网络子系统;其中,n为大于1的整数;

s2:对每一个所述光伏子系统进行编号,并将每一个所述光伏子系统对应的运算数据,所述网络子系统对应电气部分的节点电导矩阵存储在fpga中;其中,所述运算数据包括电气部分的节点电导矩阵、控制部分的计算矩阵、环境温度、光照强度;

s3:初始化实时仿真器,在仿真时刻t=0时启动仿真;

s4:仿真时间向前推进一个步长,t=t+△t;时钟周期序号i=1;

s5:基于所述网络子系统对应的节点电导矩阵对所述网络子系统进行求解;基于每一个所述光伏子系统对应的运算数据,在当前仿真步长△t的第i个时钟周期内对每一个所述光伏子系统进行如下操作:

若i=1,则对第1个光伏子系统进行初始化操作;

若2≤i≤n,则对第i个光伏子系统进行初始化操作,并对第1个光伏子系统至第i-1个光伏子系统以流水线形式同步执行预设的第一流水线的第一指令中的一个指令操作、所述第一流水线的第二指令中的一个指令操作,预设的第二流水线的第一指令的一个指令操作、所述第二流水线的第二指令的一个指令操作;其中,所述第一条流水线和所述第二流水线均包括若干个运算指令,且所述第一流水线和所述第二流水线中的运算指令被分类成第一指令或第二指令,每一个所述运算指令包括若干个指令操作;

若n<i≤i,则将n个光伏子系统以流水线形式同步执行所述第一流水线的第一指令中的一个指令操作、所述第一流水线的第二指令中的一个指令操作、所述第二流水线的第一指令的一个指令操作,所述第二流水线的第二指令的一个指令操作;其中,i为预设的时钟周期个数;

s6:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1;

s7:对实时仿真器中的网络子系统和所有光伏子系统进行每一个仿真步长的仿真结束校验,若当前步长的网络子系统仿真结束,则获得输出电压和输出电流;若当前步长的所有光伏子系统仿真结束,则获得每一个所述光伏子系统对应的光生电流源电流和二极管电流,若当前步长的网络子系统仿真未结束或存在一个光伏子系统仿真未结束,则返回s5;

s8:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1;

s9:将每一个所述光伏子系统分别与所述网络子系统进行数据交互操作;其中,所述数据交互操作指所述网络子系统向每一个所述光伏子系统发送所述输出电压和所述输出电流,每一个所述光伏子系统向网络子系统发送对应的光生电流源电流和二极管电流;

s10:若实时仿真器中的所有光伏子系统均与所述网络子系统均完成数据交互操作,则执行s11,否则返回s8;

s11:判断i是否小于i,当i<i时,执行s12,当i≥i时,执行s13;

s12:仿真时间向前推进一个时钟周期,时钟周期序号i=i+1,并返回s11;

s13:判断仿真时间t是否等于预设时间t,当t=t时,仿真结束;当t<t时,返回s4。

在本实施例中,第i个光伏子系统对应的运算数据中电气部分的的节点电导矩阵是根据第i个光伏子系统中电气元件的基本参数形成;第i个光伏子系统对应的运算数据中的控制部分的计算矩阵是根据第i个光伏子系统中控制元件的基本参数形成;所述网络子系统对应电气部分的节点电导矩阵由网络子系统中电气元件的基本参数形成。

在又一种优选实施例中,所述第一流水线的获取步骤如下:

根据光生电流源电流的数学表达式,获得所述第一流水线;其中,所述第一流水线包括5个运算指令,分别为一个s与sref的除运算,一个t与tref的减运算,一个ct与(t-tref)的乘运算,一个与ct(t-tref)的加运算和一个iph,ref与的乘运算;所述光生电流源电流的数学表达式如下:

其中,iph为光生电流源电流,iph,ref为标准条件下的光生电流值,s为实际光照强度,sref为标准条件下的光照强度,ct为温度系数,t为光伏子系统工作的绝对温度值,tref为标准条件下光伏子系统工作的绝对温度。

在又一种优选实施例中,所述第二流水线的获取步骤如下:

根据二极管电流的数学表达式,获得所述第二流水线;所述第二流水线包括15个运算指令,分别为一个a与t的乘运算,一个t与t的乘运算,一个at与t2的乘运算,一个n与k的乘运算,一个nk与t的乘运算,一个eg与nkt的除运算,一个i与rs的乘运算,一个v与irs的加运算,一个q与(v+irs)的乘运算,一个q(v+irs)与nkt的除运算,两个指数运算,一个与1的减运算,一个at3的乘运算和一个的乘运算;其中,所述二极管电流的数学表达式如下:

其中,id为二极管电流,a为温度系数,eg为禁带宽度,n是二极管特性拟合系数,k是玻尔兹曼常数,q为电子电量,v与i分别为光伏子系统的输出电压和输出电流。

在又一个优选实施例中,所述仿真步长△t的获取步骤如下:

按照下列计算公式,获得所述仿真步长;

△t=[max(t1,t2,t3)+t4]/f;

其中,t1为所述网络子系统求解所需要的时钟周期总数,t2为所述第一流水线中所有运算指令的指令操作总数,t3为所述第二流水线中所有运算指令的指令操作总数,t4为预设的数据交互时间所需的时钟周期总数,f为fpga的驱动时钟频率。

需说明的是,每种运算指令所包含的指令操作个数是基于fpga中具体的底层逻辑运算和运算指令所对应的计算公式所决定的,所述网络子系统求解所需要的时钟周期总数指的是网络子系统求解输出电压和输出电流所需要的时间。

在又一个优选实施例中,所述第一流水线的第一指令包括孤立指令和无伴指令,所述第一流水线的第二指令为共享指令;则,所述第一流水线的第一指令和所述第一流水线的第二指令的获取方法具体包括:

根据所述第一流水线的所有运算指令,将所述第一流水线中无相同指令的运算指令分为无伴指令;

将所述第一流水线中相同指令起始运算时间间隔不少于n个时钟周期的运算指令分为共享指令;

将所述第一流水线中相同指令起始运算时间间隔少于n个时钟周期的运算指令分为孤立指令。

在又一个优选实施例中,所述第二流水线的第一指令包括孤立指令和无伴指令,所述第二流水线的第二指令为共享指令;则,所述第二流水线的第一指令和所述第二流水线的第二指令的获取方法具体包括:

根据所述第二流水线的所有运算指令,将所述第二流水线中无相同指令的运算指令分为无伴指令;

将所述第二流水线中相同指令起始运算时间间隔不少于n个时钟周期的运算指令分为共享指令;

将所述第二流水线中相同指令起始运算时间间隔少于n个时钟周期的运算指令分为孤立指令。

需说明的是,无伴指令、共享指令和孤立指令的判定需结合光伏子系统具体的个数、程序设计中不同指令的并行程度。例如,iph中ct与(t-tref)的乘法之前的运算设计可分为两种:1)s与sref的除法,和t与tref的减法并行运算;2)先进行s与sref的除法,再进行t与tref的减法运算。这两种不同的程序设计对于ct与(t-tref)的乘法和id求解中的乘法器的共享情况有重要的影响,进而对该乘法运算属于哪种指令类型的判定也有很大影响。

在又一个优选实施例中,在对第n个光伏子系统执行所述第一流水线的第一指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第一流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,根据所述第n个光伏子系统对应的运算数据、所述第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据。

在又一个优选实施例中,在对第n个光伏子系统执行所述第一流水线的第二指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第一流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,提取所述第n个光伏子系统对应的运算数据高四位地址信息,并根据所述第n个光伏子系统对应的运算数据、第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果和所述运算数据高四位地址信息形成的数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中。

在又一个优选实施例中,在对第n个光伏子系统执行所述第二流水线的第一指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第二流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,根据所述第n个光伏子系统对应的运算数据、所述第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据。

在又一个优选实施例中,在对第n个光伏子系统执行所述第二流水线的第二指令中的一个指令操作之后,所述方法还包括:

当所述第n个光伏子系统的第二流水线中第s个指令操作对应的运算指令中的所有指令操作执行完毕时,提取所述第n个光伏子系统对应的运算数据高四位地址信息,并根据所述第n个光伏子系统对应的运算数据、第s个指令操作对应的运算指令的上一条运算指令的计算数据、所述第s个指令操作的对应的运算指令的运算公式,获得运算结果;s≥1;

判断所述第s个指令操作对应的运算指令的下一条运算指令是否为所述第一指令;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第一指令,则将所述运算结果作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中;

若所述第s个指令操作对应的运算指令的下一条运算指令为所述第二指令,则将所述运算结果的高位新增四位地址信息位形成可辨识数据作为所述第s个指令操作对应的运算指令的计算数据,并根据所述运算数据高四位地址信息将所述第s个指令操作对应的运算指令的计算数据发送至所述第s个指令操作对应的运算指令的下一条运算指令中。

需说明的是,所述第s个指令操作对应的运算指令的计算数据与所述第s个指令操作的对应的运算结果在数值上相同,格式上不同。

在又一个优选实施例中,步骤s5将第1个光伏子系统至第i-1个光伏子系统以流水线形式是指第n个光伏子系统执行第一条流水线的第j个指令操作的同时,第n-1个光伏子系统执行同一条流水线(相当于这里的第一条流水线)中的第j+1个指令操作。

需说明的是,将分割后各光伏子系统的计算任务以流水线的形式进行求解,是提升实时仿真器计算速度、保证仿真实时性的有效手段。特别是针对更大规模光伏集群的实时仿真,通过采用动态流水线的求解架构,可在满足实时仿真精度的前提下,有效节省实时仿真器的硬件仿真资源。

在又一个优选实施例中,所述对第1个光伏子系统进行初始化操作,具体包括:将第1个光伏子系统的运算数据分别输入到所述第一流水线和所述第二流水线的第一个指令操作中。

为了更好的说明本发明的流程和原理,以下面的例子进行具体说明:

本发明实施例中基于fpga的实时仿真器采用intel公司的stratixv系列fpga5sgsmd5k2f40c2n及其配套官方开发板对一个大规模光伏集群进行实时仿真。整个实时仿真器通过125mhz的时钟驱动。

实施例为一个等值为十个光伏发电单元的大规模光伏集群,如图3所示,每个光伏发电单元作为一个子系统,在每个光伏子系统中,光伏阵列通过dc/ac逆变器、滤波器、升压器与公共连接点(pcc)相连。其中dc/ac逆变器采用经典dq双环控制,即外环是直流电压和无功功率控制,内环是基于dq同步旋转坐标系的电流控制。其中外环直流电压采用最大功率点跟踪控制策略,通过控制直流母线电压,使光伏阵列工作在有功功率最大点,同时,控制光伏发电系统的无功功率,保证光伏运行在功率因数为1的状态。每个光伏子系统的光伏阵列容量为10kw,光伏阵列工作温度为298.15k,无功功率参考值qref设为0var,初始光照强度为500w/m2,1.8s时光照强度变为800w/m2,2.1s时光照强度又升为1000w/m2。为了研究大规模光伏集群中光伏子系统故障暂态对并网系统的影响,设置光伏子系统1于1.2s时滤波器出口发生c相接地短路故障,0.2s后故障清除,实时仿真器的仿真步长设置为4μs。

为了验证本发明提出的一种基于fpga的光伏集群的仿真模型的设计方法的计算精度,在商业软件pscad/emtdc上对相同的算例进行仿真计算,仿真步长也采用4μs。基于fpga的实时仿真器与商业软件pscad/emtdc的仿真结果对比如图4~图8所示。从图中可以看出,两个仿真系统给出的结果基本一致,从而验证了本发明提出的一种基于fpga的光伏集群实时仿真器动态流水线设计方法的正确性与有效性。

由上可见,本发明实施例提供了一种基于fpga的光伏集群的仿真模型的设计方法,包括:将光伏集群划分为n个光伏子系统和一个网络子系统;2)将每一个光伏子系统对应的运算数据,网络子系统对应节点电导矩阵存储在fpga中;3)设置仿真时刻t=0,启动仿真;4)仿真时间向前推进一个步长,t=t+△t;5)基于网络子系统对应的节点电导矩阵对网络子系统进行求解,获得输出电压和输出电流;将每一光伏子系统对应的运算数据输入至第一流水线和第二流水线,获得每一个光伏子系统对应的光生电流源电流和二极管电流;6)将每一个光伏子系统分别与网络子系统进行数据交互操作;7)当t=t时,仿真结束;否则返回步骤4);相比于现有采用cpu处理器或dsp等串行硬件实现大规模光伏集群实时仿真,本发明通过在fpga上运用动态流水线对光伏集群进行仿真,能够提高仿真精度和仿真效率;除此之外,本发明将光伏集群进行分割求解,以降低解算规模,提高仿真器的计算速度和计算结果的准确度,进一步提高仿真精度和仿真效率。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1