一种基于Matlab的直流控制保护功能模块建模的方法和装置
技术领域
本发明涉及仿真设计技术领域,尤其涉及一种基于Matlab的直流控制保护功能模块建模的方法和装置。
背景技术
高压直流输电与交流输电相比较,具有一个显著的特点是可以通过对两端换流器的快速调节,控制直流线路输送功率的大小和方向,以满足整个交直流联合系统的运行要求,即直流输电系统的性能极大地依赖于它的控制保护系统。
目前,交直流大电网特性仿真研究模型中,构建直流控制保护功能仿真有两种实现方式:
1)接入实际直流控制保护样机的直流控制保护系统仿真,该方法具有与实际工程程序一致,仿真可信度高的特点,但是在大规模交直流系统仿真中,由于需要使用大量的直流控制保护屏柜和仿真器的接口,因此,需要大量的仿真资源和成本;
2)根据实际直流控制保护程序基于RTDS(Real Time Digital Simulator)平台直接构建直流控制保护仿真模型,在RTDS中实现控制保护功能仿真是通过在DRAFT中用控制元件库搭建,由于高压直流控制保护程序量较大,搭建一个完整的控制保护功能需要大量的T2变量(即中间变量,为多个功能提供输入条件),显著增加RTDS的步长,由于仿真资源限制、试验效率考虑,基于RTDS平台直接建模的控制保护模型程序不得不进行大量简化,影响仿真结果的真实性。
发明内容
本发明实施例提供了一种基于Matlab的直流控制保护功能模块建模的方法和装置,解决了现有的直流控制保护功能建模方式控制保护模型程序因存在大量的中间变量,使得程序不得不进行大量简化,影响仿真结果的真实性,和由于需要使用大量的直流控制保护屏柜和仿真器的接口,导致需要大量的仿真资源和成本的技术问题。
有鉴于此,本发明第一方面提供了一种基于Matlab的直流控制保护功能模块建模的方法,所述方法包括:
101、通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库;
102、将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。
优选地,步骤101具体包括:
通过Simulink中的atomic subsystem将基础元件库的基础元件封装生成组合元件;
通过Simulink中的atomic subsystem将基础元件库的基础元件通过M代码进行复杂元件构建。
优选地,步骤102具体包括:
通过Simulink中atomic Subsystem建立中间页面;
通过Inport、Outport建立组控的外部接口,即模块的输入输出;
通过DataStoreMemory建立组控的开关量列表;
通过基础元件进行中间页面的图形逻辑搭建,并进行计算周期的设定,形成最终的中间元件逻辑;
通过Simulink中atomic Subsystem将中间元件根据形成的最终的中间元件逻辑进行单个封装处理。
优选地,所述周期为Ts的整数倍,Ts为RTDS的计算步长。
优选地,形成最终的中间元件逻辑之前还包括:
将建立的多个不同的中间页面对应的计算周期进行不同颜色的显示处理。
本发明第二方面提供了一种基于Matlab的直流控制保护功能模块建模的装置,所述装置包括:
基础模块,用于通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库;
封装模块,用于将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。
优选地,所述基础模块,具体包括:
第一子模块,用于通过Simulink中的atomic subsystem将基础元件库的基础元件封装生成组合元件;
第二子模块,用于通过Simulink中的atomic subsystem将基础元件库的基础元件通过M代码进行复杂元件构建。
优选地,所述封装模块,具体用于:
通过Simulink中atomic Subsystem建立中间页面;
通过Inport、Outport建立组控的外部接口,即模块的输入输出;
通过DataStoreMemory建立组控的开关量列表;
通过基础元件进行中间页面的图形逻辑搭建,并进行计算周期的设定,形成最终的中间元件逻辑;
通过Simulink中atomic Subsystem将中间元件根据形成的最终的中间元件逻辑进行单个封装处理。
优选地,所述周期为Ts的整数倍,Ts为RTDS的计算步长。
优选地,形成最终的中间元件逻辑之前还包括:
将建立的多个不同的中间页面对应的计算周期进行不同颜色的显示处理。
从以上技术方案可以看出,本发明具有以下优点:
本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法,通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库;将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。本发明所使用的方法,通过对基础元件库进行分类组合封装得到丰富后的新基础元件库,可以大大减少封装元件的引脚数量,从而减少了中间变量;通过建立与实际直流控制保护功能一致的仿真直流控制保护功能模块模型,可以直接进行直流控制保护功能仿真,不需要使用大量的直流控制保护屏柜和仿真器接口。解决了现有的直流控制保护功能建模方式控制保护模型程序因存在大量的中间变量,使得程序不得不进行大量简化,影响仿真结果的真实性,和由于需要使用大量的直流控制保护屏柜和仿真器的接口,导致需要大量的仿真资源和成本的技术问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的一个实施例的流程示意图;
图2为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的另一个实施例的流程示意图;
图3为本发明提供的一种基于Matlab的直流控制保护功能模块建模的装置的一个实施例的结构示意图;
图4为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的组合封装模式丰富基础元件库的一个示意图;
图5为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的M代码模式丰富基础元件库的一个示意图;
图6为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的计算周期处理示意图;
图7为本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的最终直流保护功能模块封装示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,请参阅图1,本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法,包括:
步骤101:通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库。
需要说明的是,基于simulink数学运算、逻辑运算、判断选择、数值积分等基础元件库,可以使用组合封装模式把多个元件按照逻辑关系组合封装为一个元件,以实现多个基础元件的功能集合,可以理解的是,组合封装的组合元件可以采用继承采样时间模式,可以自动适应程序的计算周期,即组合封装元件里的子元件处在同以处理运行周期为继承采样时间模式,同基本单元欲行周期T为自适应周期。M代码,在FANUC程序中定义为辅助功能代码,可以利用M代码模式搭建丰富基础元件库,如:滤波器类元件、延时类元件、积分类元件、投切点元件等。通过组合封装模式和M代码模式对基础元件库进行丰富后的得到新基础元件库,可以减少封装元件的引脚数量。
步骤102:将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。
需要说明的是,在完成基础元件库的丰富之后,将丰富后的新基础元件库与实际的直流控制保护功能进行逻辑控制关联处理,封装成与直流控制保护功能的中间元件,如图7所示。因此,通过封装可以将多个中间变量继承单个变量,从而减少了中间变量。
本发明实施例提供的一种基于Matlab的直流控制保护功能模块建模的方法,通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库;将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。本发明所使用的方法,通过对基础元件库进行分类组合封装得到丰富后的新基础元件库,可以大大减少封装元件的引脚数量,从而减少了中间变量;通过建立与实际直流控制保护功能一致的仿真直流控制保护功能模块模型,可以直接进行直流控制保护功能仿真,不需要使用大量的直流控制保护屏柜和仿真器接口。解决了现有的直流控制保护功能建模方式控制保护模型程序因存在大量的中间变量,使得程序不得不进行大量简化,影响仿真结果的真实性,和由于需要使用大量的直流控制保护屏柜和仿真器的接口,导致需要大量的仿真资源和成本的技术问题。
为了便于理解,请参阅图2,本发明提供的一种基于Matlab的直流控制保护功能模块建模的方法的另一个实施例,具体为:
步骤201:通过Simulink中的atomic subsystem将基础元件库的基础元件封装生成组合元件;通过Simulink中的atomic subsystem将基础元件库的基础元件通过M代码进行复杂元件构建。
需要说明的是,组合封装模式和M代码模式丰富基础元件库,可以分别在Simulink中的atomic subsystem进行元件构建。如图4和图5所示,图4为利用组合封装模式进行丰富基础元件库的示意图,组合元件逻辑由基本元件搭建而成,组合元件使用Simulink中的atomic Subsystem封装生成,图4所示为由4个基础元件搭建而成的两个数的算数平方根基础元件。图5为利用M代码模式进行丰富基础元件库的示意图,M代码元件的逻辑主要由M代码进行描述,使用Simulink中的atomic Subsystem封装生成,适用于构建复杂元件,图5是实现一阶平滑环节功能,由3个基础元件加上M代码文件搭建而成。
步骤202:通过Simulink中atomic Subsystem建立中间页面;通过Inport、Outport建立组控的外部接口,即模块的输入输出;通过DataStoreMemory建立组控的开关量列表;通过基础元件进行中间页面的图形逻辑搭建,并进行计算周期的设定,形成最终的中间元件逻辑;通过Simulink中atomic Subsystem将中间元件根据形成的最终的中间元件逻辑进行单个封装处理。
需要说明的是,使用atomic subsystem实现对功能逻辑的封装,使得在上层页面显示为一个块,Inport和Outport元件定义了Subsystem的输入和输出引脚,这两个元件按照编号与外接对应相连,如果一些变量在程序中被频繁用到,则Subsystem将会增加太多的引脚,使用From和Goto元件,通过划分变量的作用域(局部变量、全局变量等)可以大大减少封装元件的引脚数量。
进一步地,周期为Ts的整数倍,Ts为RTDS的计算步长:
需要说明的是,可以在中间页面设定需要的计算周期,计算周期必须是RTDS的计算步长Ts的整数倍。
进一步地,形成最终的中间元件逻辑之前还包括:
将建立的多个不同的中间页面对应的计算周期进行不同颜色的显示处理。
需要说明的是,如图6所示,将建立的多个不同的中间页面对应的计算周期进行不同颜色的显示处理,同一颜色的线程按同样的执行周期进行处理,控制保护系统的功能由N个小的元件块组成,其中N/M个元件在计算周期Tn中执行,N/V个元件在计算周期Tn-1中执行,依次类推,Tn、Tn-1...就是计算周期分频,通过计算周期分频能够实现与实际工程基本一致的直流控制保护精确仿真软件模型。
为了便于理解,请参阅图3,本发明提供的一种基于Matlab的直流控制保护功能模块建模的装置,包括:
基础模块101,用于通过组合封装模式和M代码模式将基础元件库的基础元件根据元件类型进行分类组合封装处理得到丰富后的新基础元件库。
封装模块102,用于将新基础元件库根据直流控制保护功能进行逻辑控制关联处理,并封装为与直流控制保护功能对应的中间元件。
进一步地,基础模块101具体包括:
第一子模块1011,用于通过Simulink中的atomic subsystem将基础元件库的基础元件封装生成组合元件。
第二子模块1012,用于通过Simulink中的atomic subsystem将基础元件库的基础元件通过M代码进行复杂元件构建。
封装模块102,具体用于:
通过Simulink中atomic Subsystem建立中间页面;
通过Inport、Outport建立组控的外部接口,即模块的输入输出;
通过DataStoreMemory建立组控的开关量列表;
通过基础元件进行中间页面的图形逻辑搭建,并进行计算周期的设定,形成最终的中间元件逻辑;
通过Simulink中atomic Subsystem将中间元件根据形成的最终的中间元件逻辑进行单个封装处理。
进一步地,周期为Ts的整数倍,Ts为RTDS的计算步长。
进一步地,形成最终的中间元件逻辑之前还包括:
将建立的多个不同的中间页面对应的计算周期进行不同颜色的显示处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。