APP下载

Matlab/Simulink代码生成技术在RTDS上的应用

2020-06-19赵晓龙陈卓李强胜何俊贤

现代电子技术 2020年9期
关键词:代码生成代码直流

赵晓龙 陈卓 李强胜 何俊贤

摘  要: 针对实际电力系统运行和控制的复杂性与Matlab仿真非实时性的矛盾,提出跨平台联合仿真。采用基于Matlab/Simulink代码生成技术与RTDS实时仿真系统相结合的方法,以高压直流输电系统模型为研究对象,利用Embedded Coder開发工具对系统的控制模块进行代码生成,并在RTDS中完成代码移植实验。通过对比仿真波形,验证得到结果行为一致。由此表明,该方法能够有效利用Simulink良好的开发环境和RTDS的实时仿真特性,在离线仿真成功的基础上,完成实时仿真测试,使工作便捷高效,同时保证结果精准可信。

关键词: 代码生成技术; 跨平台联合仿真; Matlab/Simulink; 实时仿真测试; 高压直流输电系统建模; 模型参数计算; 控制模块代码移植; 仿真波形对比

中图分类号: TN710?34; TM721.1                    文献标识码: A                  文章编号: 1004?373X(2020)09?0161?05

Application of Matlab/Simulink?based code generation technology in RTDS

ZHAO Xiaolong, CHEN Zhuo, LI Qiangsheng, HE Junxian

(College of Electrical Engineering, Guizhou University, Guiyang 550025, China)

Abstract: In view of the contradiction between the complexity of actual power system operation and control and the non?real?time characteristic of Matlab simulation, the cross?platform co?simulation is proposed. A method on the basis of the combination of Matlab/Simulink?based code generation technology and RTDS?based (real time digital simulator) real?time simulation system is adopted. By taking the high voltage DC transmission system model as the research object, the development tool Embedded Coder is used to generate code for the control module of the system and complete the code transplantation experiment in RTDS. It is verified that the result and the behavior are consistent by contrasting the simulation waveforms. Therefore, it shows that the proposed method can effectively utilize the excellent development environment of Simulink and the real?time simulation characteristics of RTDS to complete real?time simulation test on the basis of successful off?line simulation, which makes the work convenient and efficient and ensures the accuracy and credibility of the results.

Keywords: code generation technology; cross?platform co?simulation; Matlab/Simulink; real?time simulation test; high voltage DC transmission system modeling; model parameter calculation; control module code transplantation; simulation waveform contrast

0  引  言

Matlab/Simulink是一款功能强大的高效计算机仿真软件,但其仿真大多为非实时仿真,在对于仿真实时性要求较高的任务中,单纯的Matlab/Simulink仿真难以胜任。如文献[1?2]中利用软硬件协同控制,文献[3?4]中采取重新建模的方式,都是可行的方法,但是缺点也很明显,其中有的工程化不完全,有的步骤繁琐,内容重复,并不是最佳方案。

在对仿真实时性要求高或者需要跨平台硬件测试的情况下,使用Simulink Coder或者专门针对嵌入式系统的Embedded Coder工具箱,将Simulink模型转换为C/C++语言模型,即通常所说的C代码,根据目标配置能够生成不同环境下的程序文件,载入到RTDS等平台进行硬件扩展,可以与测试对象进行实时互动,由此实现动态系统的硬件调试,得到高效实时的仿真结果。

本文以高压直流输电模型为研究对象,进行Simulink建模与代码转换,并在RTDS上进行仿真测试,验证C代码跨平台实验的可行性。

1  模型分析

1.1  高压直流输电系统建模

本文以国际大电网会议高压直流输电标准测试系统(CIGRE HVDC标准测试系统)为研究对象[5],如图1所示。

此高压直流输电系统采用单极输电,系统的构成包括交流系统、直流系统、等效阻抗、滤波器、电容器、变压器和换流器等元件。整流侧和逆变侧都使用12脉波换流器,并且采用一组高通滤波器和一组双调谐滤波器。为了使输电模型更加简洁直观,直流输电线路则由等效的T型电路代替。

1.2  模型的控制策略

整流侧采用定电流控制,取测量的实际电流值与整定电流值的偏差进行PI控制。其中,整定电流值是由低压限流装置VDCOL和主控层的电流调制控制器共同决定的。PI控制环节进行计算后,输出控制阀所需的延迟触发角指令,阀控装置根据这个指令生成相应的控制脉冲,控制框图如图2所示。

为使直流电流能够流通,整流侧的直流电压需要高于逆变侧的直流电压,同时,整流器的定电流控制也具备抑制直流电流增加的作用。

逆变侧采用定关断角控制为主,定电流控制为辅的控制方式。从直流系统的逆变侧换流器测得上一周期关断角的最小值[γ],然后将逆变侧测得的直流电流实际值与整定值之差通过电流偏差控制,得到电流偏差角度[Δγ]。电流偏差控制能够使逆变侧的控制方式在定关断角控制和定电流控制之间进行平滑过渡。CIGRE标准一般规定直流系统的整定[γ]角为[15°],最大偏差限制为[-31°]。通过PI控制后,输出逆变侧延迟触发角指令,控制框图如图3所示。

通过这种控制方式,其目的一方面是为了防止逆变器换相失败,同时又保证无功需求最小。通过对实际关断角和设定值差的补正量,确保所需最小的关断角。补正量会让关断角向增大的方向移动。

逆变侧定电流控制与整流侧原理类似,区别在于逆变侧整定电流值比整流侧整定电流值要小一个电流裕度,通常取为0.1 p.u.,所以整定值比实际电流小,一般作为辅助控制手段。

1.3  模型的参数计算

在CIGRE标准中,滤波器、电容器和等效阻抗等数据已经给出,只需计算出换流器的参数。由于每个12脉波换流器由两个6脉波换流器组成,所以采用双绕组变压器,结合CIGRE标准给出的系统参数,可以得到整流侧电路数据,并计算出每个变压器的容量[Tmva]和正序电抗[XL](单位:p.u.):

[Vo=V?3?2π] (1)

[Vdc=Vo?cos α-3ωLπ?Idc] (2)

[Tmva=Pdc?π3cos α-3ωLπ?IdcVo] (3)

[Zbase=V2Tmva] (4)

[XL(p.u.)=ωLZbase] (5)

式中:[Vdc],[Idc]和[Pdc]分别为整流侧的直流电压、直流电流和直流功率(电压和功率只有实际值的一半);[V]为变压器二次侧电压;[α]为触发角。

晶闸管的缓冲电路电阻和电容取决于额定直流电压,RC时间常数至少是仿真步长的两倍,当仿真步长为50 μs时,需要[Rs?Cs>100 μs]。最后,利用CIGRE标准提供参考的PI参数,结合文献[6?8]完成PI参数的优化。

2  代码转换

2.1  代码生成流程

使用Build Model将已经通过离线仿真检验的CIGRE HVDC标准测试模型转换为rtw文件,然后通过Simulink Coder中的目标语言编译器将rtw文件转换为一系列的源文件,这个过程中TLC所使用的文件包括3类:系统目标文件、模块的目标文件和支持代码生成的TLC函数库等文件。模型的源代码全部生成之后,就可以导入目标硬件中进行实机运行。代码生成流程如图4所示。

2.2  直流输电模型代码生成的配置方法

在进行代码生成时,需要对Simulink模型进行参数的设置,在Configuration Parameter中集中管理着Simulink模型的代码生成方法、格式等约束条件。为了生成能够在RSCAD中正确运行的代码,需要修改以下参数。

1) 在solver页面的solver options一栏中,type参数设置为Fixed?step,选择ode3(Bogacki?Shampine)解法器,同时,设置Fixed?step size为50 μs,这是因为代码生成支持的是固定步长的模型,而且控制模块计算只需用到常微分方程。

2) 在Code Generation页面的Target selection一栏,System target file参数配置为选择生成ert.tlc文件,这是Embedded Coder提供的系统目标文件,针对嵌入式进行性能与内存的优化,同时保证结构简洁,方便调用。

3) 由于模型存在連续时间函数模块,但是嵌入式器件的运行是由固定时钟进行驱动,必须为离散模块,因此,需要在Code Generation的Interface页面中的Software environment一栏勾选continuous time选项,确保代码成功生成。

通过正确配置,完成高压直流输电控制模块嵌入式C代码的生成。同时可以选择自动生成报告(Create Code Generation Report),Simulink自带注释(Include comments),参数内联(Inline parameters)等,使得代码易于修改,并增强可读性。

最后,为了提高生成的C代码的可靠性,需要进行软件在环(SIL)测试,即在Code Generation的Verification页面,将Create block选为SIL,用于生成控制模块的[S]函数。由于SIL测试时要求模型中不能有连续时间函数,所以需要将采样时间设置成离散,同时由于模型中有非内联函数,需要在Code Generation?>Interface页面勾选non?Inlined S?functions项,保证成功生成[S]函数。最后给予[S]函数和原控制模型相同的输入,并将两组输出结果做减法运算,验证代码与模型的行为一致性。

3  硬件验证

3.1  实时仿真机RTDS

实时仿真机(Real Time Digital Simulator,RTDS)是一种专门用于研究电力系统电磁暂态现象的装置。其算法继承了H.W.Dommel建立的经典电磁暂态计算理论,将那些复杂的电力网络进行等值变化,能够获得等值计算网络,然后对其进行方程求解,获得所需要的结果。由于它的电力系统运算法则能被计算得足够快,能产生连续的输出结果,这些输出代表在实际网络中的情形[9]。

RTDS基本组成单元称为Rack,装置由IRC,GPC,WIF等多种板卡和处理器组成,一个CPU模拟一个电力系统元件,CPU之间采用并行?串行?并行的通信方式。本次RTDS高压直流输电仿真模型使用了1个RACK,共计6块PB5处理器,将4块PB5分给控制模块用于快速计算,其余2块用于模拟交流电源、变压器和换流器等器件模型。

3.2  RSCAD仿真

RSCAD软件是RTDS自带的专业仿真软件,作为电磁暂态仿真的一种,通常会将仿真步长设置为50 μs。在进行高压直流输电代码移植的仿真实验时,需要在RSCAD的Draft模块搭建高压直流输电的基本电路模型,通过CBuilder中的Tools/Import Simulink Component工具,将Simulink生成的嵌入式C代码移植到RSCAD中,形成用户自定义模块[10?12],如图5所示。

在C File Associations页面,进入Edit中对代码的接口名称进行修改,方便用户识别,此时还能够添加用户自行编程的代码,增强自定义模块的功能。另外,在Parameters和Graphics页面,以表格化的固定形式编辑模型,定义模型数据格式与可变参数,方便在模型使用时进行调节与管理。

最后在进行Draft建模时,通过器件库的Add Component功能添加用户自定义模块到电路中去,这样就完成控制模块从Simulink模型到RTDS模型的移植。值得注意的是,RTDS中电压与电流的单位都是kV和kA。

完成Draft设计之后,对模型进行编译,通过compile生成相关文件。其中.sib文件集显示仿真结果与调节相关参数为一体,打开.sib文件,然后关联所需信号与对应的显示面板。同时,还要设置关联控制按钮和滑轮,这样可以在实时仿真中随时调节所关联的电压参数,以及控制模型整流和逆变的启动和停止。

3.3  仿真结果分析

CIGRE高压直流输电标准测试系统的额定直流电流为2 kA,额定电压为500 kV,整流侧交流电压为345 kV,逆变侧交流电压为230 kV。图6和图7为模型在Simulink中仿真的直流电流和电压波形,在主控制器的调控下,系统根据设定在[0.02 s]启动,电流与电压能够按照额定的速率平缓地上升到额定值,并保持稳定运行。

为了突出控制模块的作用,对比Simulink仿真与RTDS仿真启动时无主控的情况,现除去主控制器,由选定的控制策略单独控制,图8和图9为Simulink仿真的直流电流和电压波形图,可以看出,在启动的极短时间内,电流和电压都会有较大的波动,随后在控制模块的控制下,模型会进入并维持在稳定状态。

在RTDS中仿真的波形如图10和图11所示,电流和电压的波形与Simulink仿真中的基本一致,只是在启动时的波动有偏差,这是由两个平台使用的脉波发生器的差异以及仿真算法的不同导致的。另外,RTDS仿真由于多CPU并行计算的速度足够快,因此产生了连续的输出结果,基本能够代表实际运行网络中的情形,这也是实时仿真的优势,并且RTDS仿真在运行过程中能够方便地调节系统基本参数,以此展现出动态波形的变化,方便对系统整体运行的分析与研究,这也是单纯的Simulink仿真无法比拟的。

通过对比发现,CIGRE高压直流输电系统在相同的控制模块下,于Matlab平台和RTDS平台上都能够持续稳定地运行,证明了利用代码生成技术将系统的控制模块向RTDS上的移植是可行的。

4  结  语

通过Simulink的代码移植,实现跨平台仿真,由于Matlab应用的广泛性,从而拥有丰富的Simulink模型库和大量的实例。另外,Matlab的离线性可以方便工作人员进行仿真设计,在完成离线验证之后,再移植到对应的平台,省去重复查找错误的步骤,提高工作效率。而且C代码具备通用性,不仅限于在RTDS上的移植,还可以应用于多个平台[13?14],针对不同平台硬件的差异进行编译,从而实现多平台互联,这使得代码生成技术具有很强的实用性。

参考文献

[1] 钱振天,徐晓軼,谌平平,等.基于Matlab/Simulink的软件在环仿真技术研究[J].电力电子技术,2016,50(10):5?7.

[2] LAI C K, TSAI C C. The modeling and simulation for current regulation of PMSM drive system using Verilog HDL and variable structure control [C]// 2016 International Automatic Control Conference. Taichung, China: IEEE, 2016: 218?219.

[3] 关红兵,黄立滨,周鹏鹏,等.基于RTDS的高压直流控制系统锁相环仿真研究[J].电力系统保护与控制,2017,45(12):128?132.

[4] 武霄,崔勇,黄志龙,等.基于RTDS的高压直流输电控制功能研究[J].华北电力大学学报(自然科学版),2014,41(6):60?66.

[5] FARUQUE M O, ZHANG Y, DINAVAHI V. Detailed mo?deling of CIGRE HVDC benchmark system using PSCAD/EMTDC and PSB/SIMULINK [J]. IEEE transactions on power deli?very, 2005, 21(1): 378?387.

[6] 李天云,刘智铭,党震宇,等.基于Simulink的HVDC PI控制器参数优化方法[J].电力自动化设备,2012,32(1):45?48.

[7] 于飞,钟秋海,张望,等.基于Matlab的超高压直流输电系统仿真研究[J].继电器,2004,32(13):31?34.

[8] KWON D H, MOON H J, KIM R G, et al. Modeling of CIGRE benchmark HVDC system using PSS/E compared with PSCAD [C]// International Youth Conference on Energy. Pisa, Italy: IEEE, 2015: 1?8.

[9] 翟凯.基于RTDS的双单元背靠背直流输电系统仿真与研究[D].北京:华北电力大学,2017.

[10] 徐志恒,钱珞江.RTDS用户自定义元件模型(UDC)的应用方法[J].电力系统保护与控制,2009,37(22):141?145.

[11] 杨洋,肖湘宁,陶顺,等.多端口电磁?机电暂态混合实时仿真接口技术与应用[J].电工技术学报,2017,32(4):231?240.

[12] 杨柳林,李德奎,陈延明,等.基于RTDS的电弧接地故障自定义建模及仿真分析[J].电力系统保护与控制,2016,44(16):137?142.

[13] 刘涛,蔡燕,张海华,等.基于代码生成技术的Matlab/Simulink实验教学改革[J].实验技术与管理,2018,35(8):157?159.

[14] 王梦茹,周珊,王金波,等.基于Matlab的智能测试系统PMSM物理实时仿真平台[J].系统仿真学报,2018,30(6):2225?2235.

猜你喜欢

代码生成代码直流
基于直流载波通信的LAMOST控制系统设计
Lustre语言可信代码生成器研究进展
创世代码
创世代码
创世代码
创世代码
一款高效的30V直流开关电源设计
代码生成技术在软件开发中的应用
基于XML的代码自动生成工具
非隔离型光伏并网逆变器直流注入抑制方法