




已阅读5页,还剩46页未读, 继续免费阅读
硕士论文-对象关系平台在重钢电力信息系统集成中的应用与研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆大学 硕士学位论文 对象关系平台在重钢电力信息系统集成中的应用与研究 姓名:吴红 申请学位级别:硕士 专业:计算机技术 指导教师:罗军;沈勇革 20051001 重庆大学硕士学位论文英文摘要 I 摘要 近几年来,我国电力技术进步最为明显、其中最为突出的领域就是自动化技 术的发展。多年来电力系统自动化领域的技术进步日新月异,目前在研发、制造、 运行和管理技术方面都已进入或接近世界先进水平,部分技术都已达到国际领先。 目前我国各网、省公司装备的电网调度自动化系统比例已由原有的 5.4%上升至 80%,全国 37 个省级及以上电网调度中心均建设了较为完善的监控和数据采集 (SCADA)目前从电力信息的发展趋势来看,电力信息系统已经进入一个高速发展 的时期,同时,应注意到,各厂家开发的电力信息系统软件各不相同,而将各电力 信息子系统进行集成,使各子系统有机综合,这是更好地保证大电网安全经济运行 的需要,而提高各子系统之间的复用率和避免信息孤岛的产生已成为目前国内外 电力信息软件研究重点和难点。 本文首先较为详细的介绍了重钢现有的电力信息系统:生产管理系统、电力 经济运行系统、电力设备管理系统、电力负荷管理等系统、对这些系统在使用过 程中出现的信息资源不能共享,电力系统数据重复输入和多口采集,不能实现信 息的及时共享和反馈等问题,严重的影响数据的实时性、一致性和正确性,更无 法对决策进行支持。而系统越多,这些问题就越严重,这些信息子系统无法集成, 电力信息孤岛的存在已严重影响到集团化、行业化应用,公司电力信息化建设陷 入恶性循环,对此,我们对重钢电力信息化存在信息孤岛问题的原因进行了详细 的分析,找出造成问题的关键因素,同时根据目前国内外电力信息软件的发展趋 势和前沿技术结合重钢电力信息系统的具体情况。提出多层体系架构是成功整合 系统的保证,对象关系转换是解决系统整合的基础和难点,组件和中间件技术是 解决系统整合的关键,最后采用组件技术,中间件技术,ORM 技术,设计模式和面 向对象建模技术有针对性的建立重钢电力对象平台来解决上述问题,该对象关 系平台的研究和应用不但对重钢电力信息系统的集成有重要的指导作用,同时也 使我厂对相关软件前沿技术有了更深的认识。 关键词:面向对象,架构 , 组件 ,中间件, 阻抗失谐, 设计模式 . 重庆大学硕士学位论文英文摘要 II ABSTRACT Automation technology is the most prominent one in the development of elec. technology in recent years. With it, we have reached or approached international advanced level in researching, making, running and managing elec. Automation. The proportion of elec. netting has reached 80% from 5.4% in our country. All of the dispatching centers of or above provincial elec. netting have set up quite perfect systems of control and data accumulation (SCADA). The elec. information system development has reached a high level. At the same time, the elec. information systems made by each company are different one from another. It is necessary to integrate all subsystems and make them cooperate effectively in order to secure the elec. netting running economically. Therefore, it becomes an important and different point in using of subsystems and avoid“ information isolated island”coming into being. In this essay, we first introduced the elec. information system of Chongqing Steel using System.Data; using System.Collections; using System.Data.SqlClient; namespace DAL / / DALBase 的摘要说明。 / 数据层访问基类,定义数据层访问公共的变量,方法 / public class DALBase /定义该类共用变量 private SqlConnection conn;/ private SqlCommand mycm;/ private DataSet myds;/ private SqlDataAdapter myda;/ / / 从 web.config 中读取数据库连接字符串 / private string CONNSTR = System.Configuration.ConfigurationSettings.AppSettingsConnectio nString; public DALBase() /构造函数,创建对象实例 conn = new SqlConnection(CONNSTR); mycm = conn.CreateCommand(); myds = new DataSet(); myda = new SqlDataAdapter(); / / 通过存储过程返回查询表的信息 重庆大学硕士学位论文5对象关系平台的具体实现 36 / / 存储过程名称 / DataTable protected DataTable GetTable(string sprocName) conn.Open(); try mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; myda.SelectCommand = mycm; myda.Fill(myds); finally /无论语句执行正确与否,都关闭连接释放资源 conn.Close(); return myds.Tables0; / / 通过存储过程和参数返回查询表的信息 / / / / protected DataTable GetTable(string sprocName, SqlParameter parameters) conn.Open(); try mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; SqlParameterCollection sqlParams = mycm.Parameters; /先清空原有的参数 mycm.Parameters.Clear(); /给 Command 添加参数 重庆大学硕士学位论文5对象关系平台的具体实现 37 foreach ( SqlParameter parameter in parameters ) mycm.Parameters.Add( parameter ); myda.SelectCommand = mycm; myda.Fill(myds); finally /无论语句执行正确与否,都关闭连接释放资源 conn.Close(); return myds.Tables0; / / 通过存储过程及存储过程参数执行对数据库无返回值的操作(如:新增,更新,删除等) / / 存储过程名称 / 存储过程参数 protected void SaveTale(string sprocName, SqlParameter parameters) mycm.CommandText = sprocName; mycm.CommandType = CommandType.StoredProcedure; SqlParameterCollection sqlParams = mycm.Parameters; /先清空原有的参数 mycm.Parameters.Clear(); /给 Command 添加参数 foreach ( SqlParameter parameter in parameters ) mycm.Parameters.Add( parameter ); /打开连接 conn.Open(); try /执行 重庆大学硕士学位论文5对象关系平台的具体实现 38 mycm.ExecuteNonQuery(); finally /关闭连接 conn.Close(); 数据访问层数据访问层代码:代码: using System; using System.Data; using System.Collections; using System.Data.SqlClient; namespace DAL public class Test : DALBase public Test() public DataTable GetTestTable() return base.GetTable(存储过程名称); public DataTable GetTestTableByXName(string XName) SqlParameter parameters = new SqlParameter( XName,SqlDbType.NVarChar,10 ) ; return base.GetTable(存储过程名称,parameters); public voidAddTestTable(string XName, string Description) 重庆大学硕士学位论文5对象关系平台的具体实现 39 SqlParameter parameters = new SqlParameter( XName,SqlDbType.NVarChar,10 ), new SqlParameter( Description,SqlDbType.NVarChar,100) ; /设置参数值 parameters0.Value = XName; parameters1.Value = Description; base.SaveTale(存储过程名称,parameters); 该层的实现把表的操作完全封装在类的层次,使表跟源程序耦合性大大的降 低。能明显提高项目结构的扩展性和柔韧性,更加容易修改和升级。使数据库和 项目源程序耦合性大大的降低,ORM 模型的简单性简化了数据库查询过程。使用 ORM 查询工具,用户可以访问期望数据,而不必理解数据库的底层结构,使项目能 更容易的移植到其它数据库中。 5.2 电网元件对象模型层 在一般的数据库中,数据结构或数据表的设计是按功能划分的,不利于数据 系统的维护和扩充。而面向对象的设计方法则不同,它是基于对象的分解,将整 个系统看成是一个个离散对象的组合。由于对某个特定问题域来说,该域的对象 组成基本不变,因此,这种基于对象分解方法设计的数据库或数据表在结构上更 加稳定18。尤其在电力系统中,对象的域具有比较明确的概念,因此适合用面向 对象的方法来设计。 在该层的设计中,组织了我公司电力系统专家进行反复论证,对我公司电网 元件进行详细描述,对电网元件之间的关系从数学和逻辑方面进行阐述,使我们 把电网中的元件抽象为 7 种对象模板(变压器、电容器、电抗器、断路器、开关、 线路和母线), 在建立电力元件对象基类和电力元件(对象)库中大量使用了 Template 和 Factory 设计模式。在微软 Studio.Net 集成开发环境下,利用 Visual C#.Net 语言 编写,将上述对象和彼此之间的关系全部封装成 17 个 .net 组件,7 大对象类,对 数据库信息的调用者直接调用数据库持久层,避免各组件到处都是 SQL 语句,将 通用关系和操作封装后,大大提高了以后应用程序的开发效率,并采用.Net 中的 重庆大学硕士学位论文5对象关系平台的具体实现 40 SOA 技术。 该层的实现有利于系统分析员用在系统分析、设计、编码、测试中全部用面 向对象来解决。不会再出现分析设计文档写了大量的类,到编码阶段,还是在源 程序看到大量的 SQL 语句满天飞。有了对象的持久化的解决方案,系统分析员能 没有后顾之忧,全面用面向对象来设计分析。并且编写出来的 UML 文档非常明了 简洁。 5.2.1 电网元件对象基类 电网的组成按数学模型上来说,最终可描述为:一些“N 端元件”通过“节 点母线”连接起来,即组成了“电网” 。因此将电网分解为: 图 5.3重钢电力系统基类表 Fig5.3Basic category map of electric power system 母线、变压器、馈出线、发电机、电容器、电抗器、断路器 7 种对象模板。 5.2.2 数据类型 在变电站自动化系统中,数据对象可分为开关型、数值型、字符型、事件型 等四种类型。不同类型的数据对象,属性不同,用途也不同。 (1) 开关型数据对象 记录断路器、隔离开关、继电器的开关信号(0 或非 0)的数据对象称为开关型 数据对象,通常与上述设备的数字量输入输出通道连接,用来表示某一设备当前 所处的状态。开关型数据对象没有工程单位和最大最小值属性,没有限值报警属 性,只有状态报警属性。 (2) 数值型数据对象 变电站自动化系统中,数值型数据对象主要是电气量信息,如母线电压,电 流等。数值型数据对象除了存放数值及参与数值运算外,还提供报警信息。 数值型数据对象有最大和最小值属性,它的值不会超过设定的数值范围。当 重庆大学硕士学位论文5对象关系平台的具体实现 41 对象的值小于最小值或大于最大值时,对象的值分别取为最小值或最大值。 数值型数据对象有限值报警属性,可同时设置下下限、下限、上限、上上限、 上偏差、下偏差等六种报警限值,当对象的值超过设定的限值时,产生报警;当 对象的值回到所有的限值之内时,报警结束。 (3) 字符型数据对象 字符型数据对象是存放文字信息的单元,用于描述外部对象的状态特征,其 值为多个字符组成的字符串,字符串的最大长度可以设定。字符型数据对象没有 工程单位和最大、最小值属性,也没有报警属性。 (4) 事件型数据对象 事件型数据对象用来记录和标识某种事件产生或状态改变的时间信息。例如, 断路器的状态发生变化,用户有操作按键动作,有报警信息产生等,都可以看作 是一种事件发生。事件发生的信息可以直接从某种类型的外部设备获得,也可以 由内部对应的功能构件提供。 事件型数据对象的值是 19 个字符组成的定长字符串,用来保留当前最近一次 事件所产生的时刻:“ 年,月,日,时,分,秒” 。年用四位数字表示,月、日、时、 分、秒分别用两位数字表示,之间用逗号分隔。当相应的事件没有发生时,该对 象的值固定设置为“ 1901,01,01,01,00,00” 。事件型数据对象没有工程单位和 最大最小值属性,没有限值报警,只有状态报警,不同于开关型数据对象,事件 型数据对象对应的事件产生一次,其报警也产生一次,且报警的产生和结束是同 时完成的。 5.2.3 数据类的抽象 面向对象的方法就是要从实际系统中抽象对象,例如:在实际工程中,描述 一个变压器的工作状态有温度、电压、电流等多个物理量,为便于处理,定义“ 变 压器” 为一个数据组对象类,用来表示“ 变压器” 这个实际的物理对象,其内部成员 则由上述物理量对应的数据对象组成,这样,在对“ 变压器” 对象进行处理(如:曲 线显示、报警显示)时,只需指定组对象的名称“ 变压器” ,就包括了对其所有成员 的处理。 数据组对象类是单一数据对象的集合,应包含两个以上的数据对象,但不能 包含其他的数据组对象类。一个数据对象可以是多个不同组对象的成员。数据组 对象类没有工程单位、最大值、最小值属性,其本身没有报警属性。 根据所分析的变电站系统的对象模型和数据对象类型,可以构建面向对象的 数据对象类3。 重庆大学硕士学位论文5对象关系平台的具体实现 42 对象关系模型转换的问题上主要依据: 1.对象模型中的类映射为关系模型中的表,类的属性映射为表的属性。 2.对象模型中的实例映射为关系的元组。 3.把被聚合(Aggregation)对象的属性和使用聚合对象的属性放在同一张表中 4.把继承(inheritance)层次中的所有对象的属性全集对应到数据库的单个表中。 每条记录中那些无用的字段使用 Null 值。 5.类间的关联(association)参考聚合模式 Single Table Aggregation 和 Foreign Key Aggregation。 程序实例如下: 图 5.4线路数据库表 Fig5.4Circuit database form 重庆大学硕士学位论文5对象关系平台的具体实现 43 对应的线路类 nodest string mcode/线路编号 stringm_busnodename/线路名称 stringm_type/线路型号 stringm_long/线路长度 stringm_I/安全电流 stringm_V/电压等级 图 5.5电抗器数据库表 重庆大学硕士学位论文5对象关系平台的具体实现 44 Fig5.5Resistor database form 对应电抗器 class Drq string mcode/电抗器编号 stringm_busnodename/电抗器名称 stringm_type/电抗器型号 stringm_b_v/额定电压 stringm_I/安全电流 stringm_V/电压等级 图 5.6电容器数据库表 重庆大学硕士学位论文5对象关系平台的具体实现 45 Fig5.6Capacitor database form 对应电容器 class drq string mcode/电容器编号 stringm_busnodename/电容器名称 stringm_type/电容器型号 stringm_f/实测电容 stringm_I/额定电流 stringm_V/额定电压 例如应用程序调用开关类 public class SWITCH public voidgetswitch(switchobject p,string switchname) CRUD mycrud=new CRUD();/调用持久层 switchobject myswitch=new switchobject(); string f=string.Format(开关名= 0, switchname) DataRow myrow=mycrud.load(switch,null).Tables0.Select(f)0; p.statname=myrow开关名.ToString(); /获得相应开关属性 p.statname=myrow厂站名.ToString();/获得相应开关属性 public class switchobject public string statname; public string switchname; public switchobject() 重庆大学硕士学位论文5对象关系平台的具体实现 46 public switchobject(string s) SWITCH mysw=new SWITCH(); mysw.getswitch(this,s); public switchobject getobject () SWITCH mysw=new SWITCH(); mysw.getswitch(this,10011); return this; 5.3 消息的传递 消息是指一个对象请求另一个对象执行某些处理或回答某些信息的要求。程 序的执行是靠对象间传递信息来完成的,对象间除了通过消息传递完成通信外, 不再有任何其它联系。消息中可以包含运算参数,也可有对象名。向对象发送消 息就是要求他根据目前状态和处理能力执行某个操作。在消息传递过程中,消息 发送者只知道消息接受者具有某种功能,而不知道它的内部结构以及如何实现这 种功能,从而支持了数据的抽象和封装。例如在电力系统状态系统中,主要由线 路,开关,变压器等对象组成,当某一开关状态发送改变时,将相关消息传递给 相关对象,这些对象收到消息后,改变各自相应的状态,整个系统的状态就完全 显示出来了,用户只须对电力元件彼此之间的关系进行定义,如果电力系统发生 改变,也只须对电力元件彼此之间的关系进行重新定义。 i ( 日 # ( 自i ( 月P ( 女*i ( 自口( ( 国巨亘E 二二二二二 匡垂 二二二二二 n 回周弓g 孽嗥峰龟龟 目 双九铁停电双九铁停电 操作票 。 日:0 50 8 13 1 3 9 1 0 发时间发者姓名任务 i 女# 赣女# 赣女# 赣女# 。* * t 。* * t 目的 操作步骤操作内窖以及操作结吊 内窖 结果 内窖 结果 内窖 结果 内窖 自“n * m # 0 * 自$ 自* m # 0 i 自 结果 内窖 结果 婺觯州。 监护人员 操作人员目“。 D 5 0 8 月13 日1T 目4D n 4D # 21 援英 剑鱼暨竺! 叫宴啪o s竺! ! ! ”际i 丽面_ 垫! ! !壁! ! e =J 耐璺z 圈自啦如叁4 哆儿j 3 3 重庆大学硕士学位论文致谢 48 致谢 本人经过近三年的计算机课程学习和半年多的社会调研, 终于完成了论文 对 象关系平台在重钢电力信息系统集成中的应用与研究 。在整个学习和论文写作过 程中,我受益匪浅。从理论到实践均有了很大的提高。在此,特别感谢指导教师 罗军教授从选题、调研到完成论文全过程中的深入浅出、细心全面的指导,特别 感谢所有任课教师的精心教导和无私传教。同时感谢各位评审专家对我的帮教和 关心。 吴红 二 OO 五年十月 重庆大学硕士学位论文参 考 文 献 49 参 考 文 献 1 Jiawei Han,Micheline Kamber.Object Oriented Software Construction .Prentice Hall.1996 2 Frank Buschmann .Pattern- Oriented SoftwareArchitecture Volume 1 .Prentice Hall.2002 3 Thomas H. writing effective use cases .Internet Draft.Mar.1998 4 David Hand. Patterns of Enterprise Application Architecture .Proceeding of ACM Multimedia. Nov.2000 5 Inmon W H.Agile Software Development principles,patterns,and practices.Prentice Hall.1996 6 Joy Mundy. Essential COM .New York:Addiso
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司新年开班活动方案
- 公司福利拼图活动方案
- 公司组织打排球活动方案
- 公司现场抢红包活动方案
- 公司春节团队活动方案
- 2025年影响力与传播学综合能力考试试题及答案
- 2025年文化遗产保护与管理考试题及答案
- 2025年摩托车驾驶技术培训和考核试卷及答案
- 2025年农村经济管理考试试卷及答案
- 2025年计算机设计师职业资格考试题及答案
- 厂内机动车辆(叉车)安全检查表参考模板范本
- 全套QHSE管理体系文件
- MES业务蓝图(合并版)-V1
- 炼钢-精炼-连铸过程钢水页PPT课件
- 安全知识进校园宣传课件——XX小学
- 剖宫产术后再次妊娠阴道分娩管理的专家共识
- 《扫除道》樊登读书文字版
- 教学演示文稿,建筑企业科技创新方法讲座()
- 装饰工程材料清单
- 中国传统节日文化中现代德育价值的研究课题结题报告
- 肺动脉导管监测的参数及意义
评论
0/150
提交评论