《电子信息工程专业毕业论文三相多功能表抄设表系统设计课件》由会员分享,可在线阅读,更多相关《电子信息工程专业毕业论文三相多功能表抄设表系统设计课件(28页珍藏版)》请在金锄头文库上搜索。
1、I摘 要三相多功能表抄设表系统是 I/O 通讯控制系统和信息管理系统的结合,其开发主要包括对 I/O 通讯端口的操作、后台数据库的建立和维护以及前端应用程序的开发等几个方面。对于 I/O 通讯端口的操作要求通讯时端口稳定,可靠。对于后台数据要求建立起数据一致性和完整性强、数据安全性好的库。而对于前端应用程序则要求应用程序功能完备,易使用等特点。因此本人结合三相多功能表抄设表的要求,对 MS SQL Server2000 数据库管理系统【9】、SQL 语言原理、Delphi 应用程序设计【1】,Delphi 数据库技术进行了较深入的学习和应用,主要完成对三相多功能表抄设表系统的需求分析、功能模块
2、划分、数据库模式分析,并由此设计了通讯模块、数据库结构和应用程序。系统运行结果证明,本文所设计的三相多功能表抄设表系统可以满足供电局对多功能远程控制的需要。设计充分利用 Delphi 6、MS SQL Server2000 数据库技术的强大力量,提高了编程效率和可靠性。关键词:数据库,Delphi6,数据库组件,三相多功能抄设表系统,窗体 目 录摘 要 I第一章 题目的意义11 绪论112 自动抄设表技术的发展背景113 自动抄设表系统概述 1第二章 应用系统开发工具21 Delphi6.0 VCL 组件的体系结构 22.2 数据库组件介绍 323 SQL 语言在 Delphi 中的应用42.
3、4 MS SQL Server 简述 7 第三章 三相多功表抄设表系统设计输入31 用户要求 932 可行性分析 9第四章 三相多功表抄设表系统设计分析41 数据流程图 1142 应用需求分析 11第五章 操作说明51 主界面运行说明 1552 管理参数运行说明 1653 抄表界面说明 2054 系统的维护22第六章 结束语 24致谢 25工作简历 26参考文献 27附录 1 29第一章 题目的意义1.1 绪 论当今社会是一个信息社会。自世界上第一台计算机问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是
4、计算机向各个领域渗透,电能表行业也不例外。 1.2 自动抄设表技术的发展背景采用传统抄设表方式人工挨家挨户抄取电能表数据,不可避免地存在以下问题:统计数据不准确,无法真实反映用户用电情况;操作难以规范化,造成不明损失增加;数据采集不及时,无法实时反映系统状况,不能对用户行为进行有效监控;且耗费人工多,成本高,效率低。显然,上述弊端使得人工抄表管理模式不能适应电力体制的改革,也直接阻碍了诸如分时电价运营、预支电费等先进管理模式的推行。自动抄设表技术就是在技术与管理两方面急待进步、改革的迫切需求下逐渐发展起来的【3】。 1.3 自动抄设表系统概述自动抄设表是指采用通讯和计算机网络等技术自动读取和处
5、理表计数据,远程控制电能表。发展电能自动抄设表技术是提高用电管理水平的需要,也是网络和计算机技术迅速发展的必然。随着电价的改革,供电部门为迅速出帐,需要从用户处尽快获取更多的数据信息,如电能需量、分时电量和负荷曲线等,自动抄设表为实现上述要求提供了切实可行的技术手段。随着现代电子技术的发展,通讯技术和计算机网络技术都有了飞速进步,而二者的结合又进一步演化出许多新的通讯方式和通讯系统,为自动抄设表即自动抄设表系统的实现提供了更多的现实可能。 目前,美国等发达国家已把自动抄设表技术广泛用于配电管理。我国对自动抄设表技术的研究起步较晚,但是发展速度很快。随着电力市场管理改革的不断深入、对自动抄设表技
6、术的研究必将成为热点与方向【4】。三相电能表抄设表是自动抄设表系统的一个主要组成部分,它是针对工业用户而设计的自动抄设表控制系统。第二章应用系统开发工具2.1 Delphi6.0 VCL 组件的体系结构Delphi 类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在 Delphi 中,每一个类的祖先都是 Tobject 类,整个类的层次结构就像一棵倒挂的树,在最
7、顶层的树根即为 Tobject 类。这样,按照面向对象编程的基本思想,就使得用户可用 Tobject 类这个类型代替任何其它类的数据类型。实际上在 Delphi 的类库中,Tobject 类派生出了为数相当众多的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整个类的体系结构,只用到类层次树的叶结点就足够了。这一小节简略介绍一下 Delphi 6.0 中 VCL(可视化组件库)【2】组件的体系结构。凡是做过程序开发的人都知道从来没有单纯的数据应用程序,也就是说,数据库应用程序必须和用户界面(可以是图形界面,也可以是命令接口)元素相结合,只讲界面或只讲数据库本身都构不成
8、数据库应用程序,因而用 Delphi 6.0 开发数据库应用程序就隐含着界面开发。组件在 Delphi 程序的开发中是最显眼的角色。大家知道,在编写程序时一般都开始于在组件面板上选择组件并定义组件间的相互作用。但也有一些组件不在组件面板上,例如 Tform 和 Tapplication(典型的非可视组件)。组件是Tcomponents 派生出来的子类,可以流的形式存放在 DFM 文件中,具有事件和Publish 属性。窗口组件类是窗口化的可视化组件类,在 Delphi 的类库中占有最大的份额。在实际编程中,窗口组件类的对象都有句柄,可以接受输入焦点和包含其它组件。图形组件与窗口组件并列,是另一
9、大类组件。图形组件不是基于窗口的,因而不能有窗口句柄,不能接受输入焦点和包含其它组件。从图 8-43 中可以看出,图形组件的基类是 TgraphicControl,在实际编程中,它们必须寄生于它们的宿主窗口组件类的对象,由它们的拥有者负责其显示,而且它们还能触发一些和鼠标活动相关的事件。图形控件最典型的例子是 Tlabel 和 TspeedButton。由此可以看出图形组件的功能很弱,图形组件的用处何在呢?其实使用图形组件的最大好处在于节省资源,正是因为它们的功能较弱,所以使用的系统资源就要少。在一个应用程序中,如果能在不影响其功能的前提下合理大量地使用图形组件,将会大减少程序对系统资源的消耗
10、。非可视组件是与可视组件相并列的另一类组件,非可视组件在程序运行中是不可见的(除各种对话框组件之外,事实上有人认为对话框组件不能归入非可视组件,应该是另一种介于可视与非可视之间的组件)。最后要说明一下,常说的控件实际上是一种组件。也就是说组件这个概念要大于控件,控件在内涵上包含于组件中。控件由 Windows 系列操作系统提出并使用,而组件是 Borland 和其它厂商在对 Windows 控件做了必要的扩展之后提出来的概念,它们是在不同时期由不同的厂商提出的概念。2.2 数据库组件介绍用 Delphi6 开发数据库应用,重点是和各种数据库组件打交道,能和数据库挂钩的组件对象有 5 种,它们是
11、:Session(数据库会话) 、Database(数据库) 、Dataset(数据集) 、DataSource(数据源) 、Data control(数据控制组件,也叫data-controls 即数据感知组件) 。其中前面 4 种统称为数据访问(Data Access)组件。ADO 组件 Delphi6.0 包含了可以用来访问 Microsoft 公司的 ActiveX Data Objects(ADO)格式数据库的组件。ADO 是 Micrsoft 公司关于各种类型数据的高等界面,后来逐渐演变成满足所有数据访问需要的完整解决办法。ADO 的对象模型是所有数据访问接口对象模型中最简单的一种
12、。Microsoft 公司用来访问 ADO 数据的应用程序界面技术是 OLE DB。OLE DB 是一种底层编程接口,用来访问许多不同类型的数据源,其中包括消息、文件系统以及其他一些非传统的数据源。OLE DB是一个由 Component Object Model(COM)接口组成的集合,用来隐藏创建数据访问服务过程中的细节。OLEDB 提供了访问任何数据资源的方法,包括相互关联的数据库和相互不关联的数据库、Email 和文件系统、文本和图形以及用户定义的数据对象。Delphi 的 ADO 组件无需依靠 BDE 而是使用 ADO 技术,提供了可以通过数据控制组件访问数据的新方法。唯一的要求是在
13、使用 ADO 组件时必须运行ADO/OLEDB。ADO 组件的使用使得 DELPHI 在访问数据的类型和采用的技术方面都有了很大的突破。数据模块设计窗口 数据模块设计窗口是用来设计和维护数据模块的。数据模块设计窗口中包含了所有以.DTI 作为文件扩展名的 Data Diagram 文件的信息。DTI 文件在编译时不起任何作用。2.3 SQL 语言在 Delphi 中的应用在 Delphi 中使用 SQL 语言非常方便,一般来说,都是通过 Tquery 或TADOquery 组件来使用 SQL 语言的。可以在 Tquery 或 TADOquery 组件的 SQL 属性中设置 SQL 语句。设计程
14、序时,在该组件的属性对话框中选择 SQL 属性,单击带省略号的按钮,就可以打开 String List Editor 对话框,然后我们就可以在对话框中添加 SQL 语句。还可以使用 Delphi 的 SQL Builder 来自动生成 SQL 语句,这样可以避免手工编写 SQL 而可能造成的语法错误。静态 SQL 语句在程序设计时便已固定下来,它不包含任何参数和变量。动态 SQL 语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数。为参数赋值有三种方法:根据参数在 SQL 语句中出现的顺序,设置 TADOQuery 组件的 parameters 属性值为参数赋值。直接根据 SQL 语句中各参数的名字,调用 ParamByName 方法来为各参数赋值。将 TADOQuery 组件的 DataSource 属性设置为另一个数据源,这样将另一个数据源中与当前 TADOQuery 组件的 SQL 语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要明细型数据库应用。在使用动态 SQL 语句编程时,常常用到一个很重要的方法 Prepare,调用Prepare 方法之后,Delphi 会将带参数的 SQL 语句传送给与其对应的数据库引擎,对动态 SQL 语句进行