当前位置:文档之家› 基于MATLAB+的微电网仿真平台与负荷特性数据库的接口设计

基于MATLAB+的微电网仿真平台与负荷特性数据库的接口设计

基于MATLAB的微电网仿真平台与负荷特性数据库的接口设计 颜艳丽1,李欣然1,李 强2,李小菊1,徐长鸿1 (1.湖南大学电气与信息工程学院,湖南长沙 410082;2.宜宾电业局,四川宜宾 644000)

摘 要:本文的微电网仿真平台和数据库分别采用MATLAB/Simulink和SQL Server进行开发研制,使用MATLAB M语言编程技术和ODBC(开放式数据库的连接)实现微电网仿真平台与负荷特性数据库之间的通信。以含燃料电池的微电网仿真平台的负荷特性数据存储在数据库为例,验证了本文设计的微电网仿真平台与负荷特性数据库之间通信接口的正确性与实用性。本文建立的微电网负荷特性数据库,能够方便地对微电网仿真数据进行各种查询和调用,便于从一个整体、长期的范围来对负荷特性进行比较、分析、综合和应用。为研究考虑分布式电源接入配网后对电网综合负荷特性的影响及其建模提供后台服务器和数据基础。

关键词:微电网;仿真建模平台;负荷特性;数据库访问技术

0 引言 微电网是将分布式电源纳入中低压配电网以解决未来能源问题及利用新能源、绿色能源的重要途径[1,2]。世界上很多国家都参与到微电网的研究和开发中,关于微电网的理论和实验研究已经取得了一定成果。由于微电网系统的复杂性和实际条件的限制无法获取实测微电网的数据,因此无论是研究其与大电网相互作用的机理,还是研究在各种扰动下的复杂动态行为,都需要有效的仿真手段,仿真实验能够节约成本,具有很强的可操作性。负荷特性对于研究考虑分布式电源接入配网后对电网综合负荷特性的影响及其建模至关重要,因此必须要建立负荷特性数据库。 目前常用的微电网仿真工具有MATLAB/Simulink,PSCAD/EMTDC,RTDS等[3],本文使用MATLAB/Simulink作为微电网仿真

的工具,而使用仿真工具的得到的微电网负荷特性数据比较多,需要一个存储容量大、建立和维护数据十分方便的数据库,而SQL Server能满足要求[4]。本文对MATLAB与SQL Server之间如

基金项目:国家自然科学基金项目(50977023);湖南省自然科学基金重点资助项目(10JJ2043)

何实现通信(如数据交换、查询、删除等)进行 了研究,设计了两者之间的通信接口。本文建立 的负荷特性数据库,能够很方便地对微电网仿真数据进行各种查询和调用,便于从一个整体、长期的范围来对负荷特性进行比较、分析、综合和应用。为研究考虑分布式电源接入配网后对电网综合负荷特性的影响及其建模提供后台服务器和数据基础。 1 负荷特性数据库设计原则 从微电网建模平台对数据库的要求而言,该负荷特性数据库必须安全可靠并且易于使用,要求提供大容量的数据仓库,支持大容量的数据调用且迅速;不同类型的微电网数据必须规定相应的数据格式模版;应当具有各类数据的自动引导入库功能;必须能够对各类数据方便地查询和删除;各数据模块均应能够方便地实现与微电网仿真建模平台的通信。 鉴于此,该仿真平台和数据库分别是用MATLAB/Simulink和SQL Server来进行开发研制的。Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。SQL Server具有使用方便、易于安装、可伸缩性好、可靠性高与相关软件集成度高等优点,这种关系型数据库管理系统能够满足独立软件构建应用程序的需要。 2 MATLAB访问数据库技术——ODBC(开放式数据库的连接) ODBC(Open Database Connectivity),即开放数据库的连接,是客户应用程序访问关系数据库的统一接口,提供了一组对数据库访问的统一的API(应用程序编程接口)[5]。这种接口提供了独立于任何的数据库管理系统编写应用程序的能力。

戛…。…。…。粤!*州90憎㈣自州A㈣∞㈣

通过ODBC驱动程序,ODBC为特殊的数据库管理系统提供了不同的应用程序接口,用户的应用程序使用这组API来调用ODBC驱动程序[6]。然后驱动程序通过SQL语句同数据库管理系统发生联系。ODBC提供了数据库管理系统的标准接口,从而使应用人员在编程时不必关心底层数据库管理系统,大大提高工作效率。应用程序要通过ODBC接口连接到数据库上,先要为各个数据库分别创建一个ODBC数据源,在程序中数据源名就代表了一个具体的数据库。 3 MATLAB与负荷特性数据库通信的实现步骤 3.1 建立数据库和配置数据源 要通过ODBC实现MATLAB与负荷特性数据库(SQL Server)之间的通信,首先要配置ODBC数据源。在SQL Server 2000数据库里,启动“SQL Server Enterprise Manager”,建立名为“fuhetexingshuju”的数据库,并在其中分别建立表“燃料电池数据”、“光伏电池数据”、“风电机数据”等负荷特性数据表,表的参数名为T、U、P、Q,类型均为单精度浮点型。接下来需要配置数据源,配置数据源的方法有以下两种: (1)“控制面板”——“管理工具”——“数据源(ODBC)”——“添加”——“创建数据源名称和选择数据库文件”。 具体步骤为:通过Windows中的“开始”按钮进入“管理工具”,选择管理工具中“数据源(ODBC)”,进入“ODBC数据源管理器”;在“用户DSN”面板中列出了系统中MS Access Database、Excel Files、dBASE Files等用户数据源,本文要用SQL Server 2000数据库作为数据源,所以先点击“添加”按钮,选择“SQL Server”并点击“完成”,就为数据源安装了驱动程序;在弹出的对话框中创建新的数据源,数据源取名“fuhetexingshuju”,描述为空,服务器选择LOCAL;在下一步点选“使用网络登陆ID和密码的Windows NT验证”,选择fuhetexingshuju数据库作为默认数据库;配置完成后点击“测试数据源”,若显示测试成功,则数据源配置成功。数据源的配置如图1、图2所示。 (2)采用修改注册表,自动配置数据源。 DB_path='D:\Program Files\MATLAB\work\StuSystem.mdb'; DB_sourcename='bianshishuju'; LinkDB(DB_path,DB_sourcename,1); (LinkDB为自编函数) 3.2 建立链接对象——database 在MATLAB的M程序运行模式中,编写相应的M程序,利用数据库访问函数的调用格式:“conna=database(‘datasourcename’,’username’,’pass

图1 创建数据源 图2 配置服务器 word’)”建立链接对象。本文建立链接对象的语句为“conna=database(‘fuhetexingshuju’,’ ’,’ ’)”,其中“fuhetexingshuju”为上文中创建的数据源名称,当默认情况下,数据库文件的username和password为空。 3.3 建立并打开游标——exec 调用格式: curs=exec(conna,'sqlquery'); 其中conna为上文中链接对象,sqlquery为对数据库操作的语句。 MATLAB对数据库的基本操作如下: (1)建立新表——exec,creat table 调用格式: conna=database('SampleDB','',''); exec(conna,['create table Table(name string,age int)']); close(conna); Table——表名 name,age——字段名 (2)添加数据到表中——insert函数 调用格式: l同∞Fcinsert(conna,’tab’,colnames,exdata) conna——链接对象 tab——数据库文件的表名 colnames——数据库表的列名 exdata——matlab变量 例如: insert(conna,'处理后数据',{'T','U','P','Q'},[T1 U1 P1 Q1]); (3)读取数据库中的数据到Matlab中——fetch 调用格式: curs=fetch(curs,RowLimit); Data=curs.Data;%把读取到的数据用变量Data保存 RowLimit为每次读取的数据参数的行数,默认为全部读取。 (4)删除数据库中的表——exec,delete from Table curs=exec(conna,'delete from Table '); Table——表名 3.4 关闭链接对象和游标——close 当不再使用数据库的链接对象时要及时关闭,这样才能及时的释放出内存,而且每次链接后所需要的内存量是非常大的,要是不及时关闭的话对后续操作的影响非常大。 调用格式: close(curs) close(conna) 4. 数据库的结构设计 微电网仿真平台数据库服务器采用SQL Server 2000。首先在SQL Server 2000中建立一个新的数据库,数据库名为“fuhetexingshuju”,并根据不同的微电源类型在其中建立对应的负荷特性数据表。 负荷特性数据表包括仿真时间、电压、有功无功的数据,为了避免每次重复仿真得到的数据存放混乱,因此,此表在设计时除了简单的数据存储外,还设计了在存储之前自动清除表中数据的功能。根据仿真数据的属性将数据储存到表中不同的列中。结构如表所示。 表1负荷特性数据表的结构 字段名 类型 长度 具体说明 T float 8 仿真时间 U float 8 电压数据 P float 8 有功数据 Q float 8 无功数据 5 通信接口验证 本文在MATLAB/Simulink搭建含燃料电池的微电网仿真平台[7],如图3所示,采集数据的To File模块在Simulink模块库中的Sinks模块库,如图4所示,To File模块是MATLAB外部输出数据端口,只要在母线上连接此模块就能采集母线上相应的数据,以便仿真平台与负荷特性数据库通信。仿真完毕后,运行MATLAB中的M语言编程语句,读取To File模块的数据即可实现微电网仿真平台与负荷特性数据库(SQL Server)的通信,如负荷特性数据存储在数据库,微电网仿真平台查询删除负荷特性数据库的数据等操作。以含燃料电池的微电网仿真平台为例,负荷特性数据存储在SQL数据库的数据如图5所示。该图验证了本文设计的微电网仿真平台(MATLAB/Simulink)与负荷特性数据库(SQL Server)之间通信接口的正确性与实用性。

相关主题