已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学工程硕士学位论文 摘要 铁路道口电源在铁路运输中起着非常重要的作用,以t m s 3 2 0 f 2 4 0 为核心的道口电源智能监控装 置可以完成检测和控制道口电源的功能。 本文讨论了基于道口电源智能监控装置的道口电源监控软件的开发 据库作为开发工具。 首先,对铁路道口电源监控系统进行了系统分析,讨论了道口电源智能监控装置的硬件结构和监控 软件所要完成的功能。 其次,对道口电源监控软件进行了系统设计,包括系统功能模块的设计和数据库设计,重点在于系 统功能模块图、数据流程图、数据库概念结构设计和逻辑结构设计。 再次,讨论了系统软件模块的具体设计,包括主界面模块、数据监控模块、数据通信模块、数据维 护模块、数据备份模块和报表模块,其中详细说明了系统数据通信部分的设计。 最后,对本论文所开展的工作做了一个总结,并提出了下一步工作方向。 关键词:电力设备,道口电源,通信 东南大学工程硕士论文 a b s t r a c t p o w e rs u p p l yi nt h er a i l w a yi sv e r yi m p o r t a n t t h ei n t e l l i g e n tm o n i t o rf o rp o w e rs u p p l yi nt h e r a i l w a y ,w h i c hi sb a s e do nt m s 3 2 0 f 2 4 0 ,c a np r o t e c ta n dc o n t m lt h ep o w e rs u p p l y t h i sp a p e rd i s c u s s e st h ed e s i g nw i t hd e l p h i 6 0a n dp a r a d o xo nt h es o f t w a r ef o r m o n i t o r i n gt h e p o w e rs u p p l yi nt h er a i l w a y , w h i c hi sb a s e do nt h ei n t e l l i g e n tm o n i t o r f i r s t l y , i ta n a l y s e st h em o n i t o rs y s t e mo fp o w e rs u p p l yi nt h er a i l w a y ,i n c l u d i n gt h eh a r d w a r e s t r u c t u r eo ft h ei n t e l l i g e n tm o n i t o ra n dt h ef u n c t i o no fm o n i t o r i n gs o f t w a r e s e c o n d l y , d i s c u s s i n gt h es y s t e md e s i g no ft h em o n i t o r i n gs o f t w a r e i n c l u d i n gt h ed e s i g no f s y s t e mf u n c t i o nm o d u l ea n dt h ed e s i g no fd a t a b a s e t h ek e y s t o n eo ft h ed i s c u s si n c l u d e st h e s y s t e mf u n c t i o nm o d u l ed i a g r a m ,d a t af l o wd i a g r a m ,d e s i g no fd a t a b a s ec o n c e p t i o ns t r u c t u r ea n d t h ed e s i g no fd a t a b a s el o g i cs t r u c t u r e t h i r d l y , d i s c u s s i n gt h em a t e r i a ld e s i g no fm o d u l e si nt h es o f t w a r es y s t e m i n c l u d i n gt h em a i n i n t e r f a c em o d u l e ,m o n i t o rm o d u l e ,d a t at r a f f i cm o d u l e d a t am a i n t e n a n c em o d u l e ,d a t ab a c k u p m o d u l ea n dr e p o r tf o r m sm o d u l e k e y w o r d s :e l e c t r i ce q u i p m e n t ,r a i l w a yp o w e rs u p p l y ,c o m m u n i c a t i o n 东南大学工程硕士学位论文 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了 谢意。 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复 印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和 纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办 理。 研究生签名:毖导师签名: 日期:沙6 、叫 第一章绪论 第一章绪论 1 1 引言 铁路道口是铁路与公路的交叉路口,道口的信号灯一旦出现问题,很有可能酿成重大交通事故,所 以道口电源起着非常重要的作用,有必要采用新技术、新设备,以确保道口安全。雷击造成了很多铁路 道口设备不同程度的损坏,其主要原因是铁路道口房的电源是通过架空电线送达的,受地理和环境影响 这种架空电线在野外极易被雷击击中,并迅速通过电线将设备击损。更危险的是,如果雷击穿设备,将 会对人员安全造成危害。为了避免设备及人员免于雷击,保证设备的安全可靠运行,需要对铁路道口电 源进行控制。 1 2 道口电源智能监控系统 本文开发的道口电源智能监控系统,负责道口电源进行检测和控制。整个系统包括:智能监控装置 及上微机监控软件。其中,以t m s 3 2 0 f 2 4 0 为核心的道口电源智能监控装置,可以完成检测和控制道口电 源的功能,监控装置既对电源进行微机保护,又可把通过p t ( 电压互感器) 、c t ( 电流互感器) 采集到的 电压、电流数据进行存储。在线路发生故障时,监控装置使用一些微机保护算法判断保护模块是否应该 动作,使线路在故障时自动切断,避免事故发生。平时电源正常运行时,通过液晶显示器将采集到的数 据进行定时刷新、显示,一旦道口电源出现问题,可以把事故发生的某一段时间内的数据自动记录保存 下来t 以便于更准确地分析事故原因,同时使用通用无线分组业务系统( g e n e r a lp a c k e tr a d i os y s t e m g p r s ) 及时通知道口负责入,以便及时维修。 在装置研制的基础上,同时开发了一套道口电源监控软件,该软件可以把各道口的智能监控装置中 的数据导入后台的数据库中,以供后台程序进行计算分析,绘制图形曲线,还可以进行报表输出。 本装置针对不同的系统要求选择传输控制协议t c p 或用户数据报协议u d p ,并在铁路道口电源智能监 控装置中应用了g p r s 技术,该装置数据传输速率高,通信实时可靠。 1 3 系统特点 由于之前国内还没有专门用于铁路道口电源的监控装置,它的出现将从根本上改变铁路道口传统的 营运方式。它的科学性、合理性体现在以下3 个方面: 1 ) 电源管理实现智能化。使用一些微机保护算法判断保护模块是否应该动作,使线路在故障时自动切 断,避免事故发生。 2 ) 数据存储智能化。本装置把事故发生的某一段时间内的数据自动记录保存下来。使采集数据更加方 便、可靠,以便于更准确地分析事故原因。 3 ) 信息传递智能化。装置中使用了先进的通信技术,通过g p r s 网络在故障发生后及时通知检修人员。 此外,本装置每隔1 5 r a i n 记录一次电压电流值,记录线路停电时间、恢复时间及i 天内超过整定值的 总时间等,始终保持最近5 天内的数据,控制中心由此完全掌握了线路的运行状况,使道口电源的管理方 便、快捷、科学化,大大提高了安全系数。 东南大学工程硕士论文 1 4 本课题的目标和主要内容 第一章绪论部分对该软件的开发做了简要的介绍,包括选题的缘由,说明了要解决的问题和采用的 手段、方法,以及开发工具的选择。 第二章系统分析部分包括硬件分析和需求分析。硬件分析部分对相应的道口电源监控装置做了详细 的介绍。需求分析部分说明了本课题对监控软件的要求,即软件部分要完成的功能。 第三章系统设计包括系统功能模块设计、数据流程图和数据库设计。 第四章通信部分设计包括通信方式、通信体系结构、通信协议和d e l p l l i 中串口通信的实现。 第五章对全文进行了总结。 2 第二章监控装置的硬软件设计 第二章监控装置的硬软件设计 2 1 监控装置的硬件结构 本系统硬件设计包括数据采集系统、g 2 0 、人机接口电路、输入输出口、微控制器、时钟与存储电 路以及看门狗复位电路等,如图2 - 1 所示。 一1 l c d1 2 2 3 2 鲶 ,蝓m 【 键盘输入 微处理器 数据采集模块+ + 1 7 _ l 钟口。f u 路 g 2 。k + 图2 - 1 道口电源智能监控装置的硬件结构 i 、数据采集模块 负责采集总站所需的各种数据类型,如压力、温度等。本系统中,将各电流电压模拟量通过t v 、 t a ,经光电耦合隔离、放大,再进入主c p u 模块,通过a d 定时循环采集模拟信号。系统采用f 2 4 0 芯 片内部集成的1 0 位a d ,已能满足道r 7 电源监控保护精度的要求,所以模拟信号直接经一阶低通滤波 电路后进入f 2 4 0 的a d 。 2 、人机接口电路 由1 2 2 3 2 点阵的液晶显示模块和薄键盘构成,通过上、下、左、右、取消、确认等6 个按键结合 菜单便可直观地在线离线整定定值、修改实时时间、就地操作开关等。 3 、看门狗电路 采用x 5 0 4 3 掉电存储芯片,可以监控微处理器的工作状态,当程序跑飞或死机时,可以自动复位。 而且该芯片具有4 k b i t 的e e p r o m ,可供系统定值之用。 4 、时钟与存储电路 采用d s l 6 4 4 p 非易失性内存加时钟芯片,可以记录线路停电时间、恢复时间及i 天内超过整定值的 总时间等,可定时通过g p r s 模块进行数据远传及遥控等。该芯片内有3 2 k 字节存储器,可存储录波数 据等。 5 、输入,输出口电路 为系统功能扩展而预设。系统有2 路继电器输出端口,可用于开关控制,能适用于城市配电网络、 3 东南大学工程硕士论文 管道煤气等其它自动化系统。 在系统中,由于采用全波傅氏算法的运算结果作为保护动作的判据,为满足运算精度、速度等的要 求,采用了t i 公司的t m s 3 2 0 f 2 4 0 。f 2 4 0 采用改进的哈佛结构,具有独立的地址和数据总线,处理器数 据和地址并行,有独立的硬件乘法器等特殊结构加强运算速度,且内含许多合并指令,非常适合做实时、 复杂的数字信号处理,同时f 2 4 0 又具有许多可复用的输入输出口以及事件管理器等片内外设,使得其 被广泛应用于控制场合。 6 、数据通信模块 本系统采用的m o t o r o l ag 2 0 能提供先进的数据传输服务。而且系统中使用u a r t 口以及相关的a t 指令能实现g 2 0 和微控制器之间的双机通信。 2 2 监控装置硬件电路设计 2 2 1 控制部分 控制部分以t i 公司的d s p ( d i g i t a ls i g n a lp r o c e s s o r ) 硼s 3 2 0 f 2 4 0 为核心,再加上外围的 存储芯片、时钟芯片、模拟量回路、通信电路、显示电路和开入开出电路共同构成一个完整的系统。系 统框图如图2 2 示。 图2 2 智能监控装置的硬件结构 为了简化系统外围电路,设计时采用了x i l i n x 公司x c 9 5 0 0 系列c p l d ,c p l d 是具有高性能的现场 可编程逻辑芯片,易实现电路的集成化,增强可靠性。x c 9 5 7 2 的结构如图2 - 3 所示。 c p l d 技术在芯片内部以可编程的宏逻辑单元为基础,可编程的联线集中在一个全局布线区。它可 4 第二章监控装置的硬软件设计 以允许使用大规模可编程逻辑芯片替代传统的7 4 l s 系列和小规模g a l 逻辑芯片,从而在系统的接口有 特殊要求的情况下,只要更改逻辑文件即可满足用户要求,使系统灵活方便,而且缩短了开发周期。本 系统中采用x i l i n x 公司生产的c p l d ( x c 9 5 7 2 ) 。其在装置中主要实现如下功能: 信号d o , 一d 7 和a 0 一a 4 是d s p 发出或接受的数据和地址总线。 c s i 、c s 2 、l c d r d 、l c d w e 、a 0 等是液晶控制模块的控制信号。 r e a d y 信号用以实现d s p 在访问慢速外部设备时的时序匹配。 w r ,w e 是d s p 提供给c p l d 内部逻辑的输入信号,用以实现对外部设备的访问控制。 k i i - k 1 4 ,d l i d l 2 是开入开出量模块提供的开入开出量信号。k e y o - k e y 5 是键盘信号。 在c p l d 内部实现d s p 对其的访问控制逻辑。 由于c p l d 的内部逻辑分散在不同的功能模块中,因此,在介绍电路各个功能模块时再加以详细介 绍。 m 。,。i l i 船 1 4 0 i 妇 2 2 。2 液晶显示 图2 - 3x c 9 5 7 2 结构 为了更清楚地显示电气测量参数,更直观地实现开启打印机、整定值设定等功能,本装置中采用了 香港精电公司的液晶显示器。该液晶模块内藏有两块s e d l 5 2 0 2 驱动控制器,显示屏点阵为1 2 2 3 2 点,在显示时采用的字体是8 x 8 和1 6 x 1 6 两种。控制器内部没有字符库,所有的显示内容都必须以图 形方式写入。 在设计电路时,需要给液晶模块输入2 k h z 左右的c l o c k ,为了简化硬件电路,在本装置中使用c p l d 获得所需的时钟。由于f 2 4 0 的c l k o u t 端出来的时钟频率是1 0 m h z ,所以需要在c p l d 中设计计数器并 利用d 触发器分频来获得,具体实现方法如图2 示。图中c b l 2 c e 是一个利用上跳沿触发的1 2 位计数 器,c l k o u t 端的信号与计数器中的c 端相连,当计数到达0 x 0 9 c 4 时,与门输出端得到高电平,此时计 :=一 东南大学工程硕士论文 数器清零,重新开始计数,同时触发由d 触发器构成的二分频电路,在c l 端将获得占空比为二分之一 频率接近2 k h z 的信号。 液晶模块中的控制、驱动电路是低压、微功耗的c m o s 电路,极易被静电击穿,产生不可修复的损 坏,而人体有时会产生高达几十伏的高压静电,所以,在操作、装配以及使用中都应该极其小心,严防 静电。为此: 不要用手随意去摸外引线、电路板上的电路及金属框。 如必须直接接触时,应使人体与模块保持在同一电位,或将人体良好接地。 焊接使用的烙铁和操作用的电动工具必须良好接地,避免漏电危害。 不得使用真空吸尘器进行清洁处理,因为它会产生很强的静电。 空气干燥,也会产生静电,因此,工作间湿度应在r h 6 0 以上。 c l k o u t 图2 4 数字分频电路 c l 时序匹配是d s p 控制液晶模块过程中的一个关键问题。d s p 是高速器件,在速度上和液晶存在很大 差异,只有通过d s p 的等待才能实现两者时序上的匹配。由于f 2 4 0 的等待状态寄存器仅能产生1 个w a i t s t a t e 脉冲,仍然不能满足s e d l 5 2 0 的时序要求,因此必须生成r e a d y 信号强迫d s p 进入等待状态,而 s e d l 5 2 0 并没有类似于b u s y 信号的引脚,因此,在c p l d 内部,利用d s p 上的c l o c k o u t 信号和片选信 号的下降沿产生了一个宽度可调的负脉冲模拟r e a d y 信号,利用这个负脉冲来使d s p 进入等待状态。d s p 的数据线直接与液晶的数据线相连,通过d s p 的i o 口进行信息传递,所以液晶的片选及数据指令通道 的选择信号可以由地址译码电路生成。 在本装置中,两片s e d l 5 2 0 的片选是由a 1 5 、a 1 4 和a 1 3 三根地址线组成的地址译码电路实现的, 而f 2 4 0 的a 0 直接与液晶的数据指令通道选择脚相连。在本系统中规定,当a 0 为“1 ”时,传递数据, 当a o 为“0 ”时,传递指令。例如,对同一片s e d l 5 2 0 ,地址为8 0 0 0 h 的1 0 口传递的是指令,地址为 8 0 0 1 h 的i o 口传递的是数据。r e a d y 信号以及s e d l 5 2 0 片选、读写信号设计如图2 - 5 所示。 6 第二章监控装置的硬软件设计 r e a d y d e n c s l l 数据8 n 指令8 0 0 曲c s 2 :赣i i i 0 0 h 拯6 - 瑚h 图2 5d s p 等待及液晶片选,读写电路 当设计该液晶显示模块的软件时,需考虑两片s e d l 5 2 0 的衔接部分,否则可能会显示出不完整 的图形。每片s e d l 5 2 0 负责6 1 3 2 ,3 2 行由4 个字节构成,被分成4 页管理。当显示一个8 x 8 的字符 时,这个字符由8 个字节构成,一个字节- - n ,每个字节显示竖着的8 个点。如果这个字符在液晶中 央,则要由两片控制器共同完成,要在编程时考虑:第一片控制器是否已经显示到第6 1 列,是否需要 使用第二片控制器。而当显示1 6 1 6 字体时,还需要考虑两个不同页之间的协调,每个字符由1 6 个字 节构成,前8 个显示第一页,后8 个显示对应的第二页,在编程时,可以同时显示1 6 列,即同一列对 应的两页。 2 2 3i c 卡 在本装置中,主要是将电源发生故障的那- - 4 段时间内的数据先存入非易失性内存,再使用i c 卡 取回。由于采用的是密集型采样,通过软件比较各个采样值来获得一个周波内的最大值,然后再除以 1 4 1 4 ,得到有效值,这就是最终用i c 卡取回的数据。在事故责任分析时这些数据是主要的依据。 本装置中,d s p 具有很多可以复用的i o 口,为了充分利用资源,使硬件电路尽量简单,将i c 卡模 块等直接连接在d s p 端口上。x 5 0 4 3 p 不仅具有看门狗功能,还有4 k b i t s 的e p r o m ,为了直接实现对其 读写,亦将它直接与d s p 相连,在编程时通过10 口来模拟相应时序。 本装置采用a t i i e l 公司生产的i c 卡芯片,遵守两线串行链接协议( 1 2 c ) ,在设计软件时,利用i o 口模拟串行时钟。该i c 卡有1 6 k 位的存储空间,标准封装为8 脚d i p 封装,引脚功能如下: s c l 串行时钟,其上升沿时数据输入e e p r o m 器件,下降沿输出; s d a 串行数据,该引脚为开漏极驱动,可双向传送数据: a 0 、a 1 、a 2 器件页面寻址,为器件地址输入端; r p 写保护。当该位置低时,能够实现正常的读写功能;当该位置高时,前8 k 位被写保护; v c c 、g n d 端一般输入+ 5 v 工作电压。 7 东南大学工程硕士论文 2 2 4 其他单元电路 姒氐i 厂弋i 厅 iijj 池孙八什 s t a r t s t o p 图2 - 5 “开始”和“停止”状态示意图 。庄二二拄二j $ c l - - - - ! ( 倒$ t a 拟e 圜s t a b l ew1 卜 -li r h t ic l m n l e 图2 71 2 c 总线h 的教榍侍输 g p r s 无线网络。电路在故障发生时,为了便于及时维修等原因,本系统中使用g p r s 无线网络通信 告知控制总站。本设计充分利用了g p r s 技术的优势,将需要检测的电压电流量,故障时间以及过流时 间等信息实时地传输给控制总站,并直接由总站对电源的供给进行远程控制。在g p r s 网络进行数据传 输时,不同终端的数据信息都采用长度不大的等长标准数据格式,从而将信息分成信息包,再加上目的 地址,分组编号等分组头,沿不同路由进行传送,接收端可按分组编号重新组装成原始信号。它的传输 速率高达1 1 5 k b i t s ( 最高值为1 7 1 2 k b i t s ,不包括前向纠错f e c ( f o r w a r de r r o rc o r r e c t i o n ) ) 。g p r s 获得高速率的实质是利用计算机的处理能力来充分使用有限的通信信道资源。 g p r s 业务除了传输速率高的特点以外,还有以下优点: 接入迅速,永远在线,流量计费; 频段利用率大大提高: 支持t c p i p 协议和x 2 5 协议,可与i n t e r n e t 互通: 覆盖范围广,尤其适用于广大偏远地区。 d s p 上的s o l 口经过m a x 3 2 3 2 进行电平转换,然后直接与g p r s 模块相连,使用a t 指令对g p r s 进 行操作。 模拟量采集电路。各电流电压模拟量通过p t 、c t ,再进入主c p u 模块,通过a d 定时循环采 集模拟信号af 2 4 0 内部集成的l o 位a d 已能满足工作现场继电保护精度的要求,此处最多只需8 路, 而片内含有1 6 路,所以模拟信号直接经一阶低通滤波电路进入f 2 4 0 的a d 。 开关量输入输出电路。开关输入量通过i 0 板光电隔离后,经过滤波整形,进入主c p u 板。 开关量输出电路通过i o 板光电隔离后,输出动作信号。本装置将d s p 给出的开关量功能集成在c p l d 上,并挂在其内部的地址数据线上。 看门狗电路。采用x 5 0 4 3 掉电存储芯片,可以监控微处理器的工作状态,当程序跑飞或者死机时, 可以自动复位。而且该芯片具有4k b i t s 的e e p r o m ,可供存储系统定值之用。5 0 4 3 接线图如图2 - 8 所 示。 8 第二章监控装置的硬软件设计 v c c 图2 - 85 0 4 3 接线图 本装置采用薄膜键盘,一共有6 个按键,只需要通过上、下、左、右、取消和确认等6 个按键结合 菜单便可直观地在线或离线整定定值,修改实时时间,就地操作开关等。采用中断方式响应相应按键, 以减少对d s p 资源的占用。 2 3 监控装置软件设计思想 在设计道口电源智能监控装置的软件时,采用了模块化的设计思想,有利于软件系统的升级及维护。 软件系统的主要模块有主程序模块、中断模块( 如:键盘模块、g p r s 通信模块等) 及各子模块( 如:保护 算法模块、显示模块和i c 卡模块等) 。主程序模块主要包括初始化模块和自检模块。 在实际编程时,采用了c 语言和汇编语言混合编写。在c 语言中嵌入单旬的汇编语言虽然操作简便, 但破坏了c 语言的完整性,因而只提倡在程序开始的系统初始化部分少量采用。如果需在c 语言中嵌入 实现某一完整功能的多句汇编语言时,应将其编制成一个子程序,并在其入口和出口处遵循c 语言的调 用规范进行必要的操作,这样可方便地在c 语言中调用汇编语言。 该装置的保护算法部分,采用全波傅氏算法计算周波电压电流基波有效值,根据电流有效值判断保 护是否要动作,根据电压有效值判断线路是否失电。本系统中采用计算基波的3 2 点全波傅氏算法。 傅氏算法是一种广泛应用于微机保护领域的具有优良性能的算法。傅氏算法的基本思路源于傅立叶 级数能够将周期函数分解为正弦和余弦函数的性质。假设周期性采样信号为x v ,如式( 2 1 ) 所示。 x ( f ) = x 。s i n ( n r a l t + g n ) = 瓴c o s n d ) 1 t + a 。s i n n c a l t ) 一自 n = o ( 2 1 ) 式中z 一为栉次倍频分量的幅值,a 哟t = o 时该分量的相角,和6 一分别为各次谐波的正弦分 9 东南大学工程硕士论文 量和余弦分量的幅值。 式( 2 2 ) 、( 2 3 ) 表明了根据傅氏算法求解基频分量的原理,式( 2 - 4 ) 、( 2 - 5 ) 为其在计算机上的 离散化数字运算表达。求解”次倍频分量的原理和傅氏算法表达式如下: 原理:吒2 ;乒( f ) s i n 玎q 础( 2 2 ) 虚部: 吒= 季乒o ) c o s 御i 砌 ”号嘶争以2 砉荟机s 砥砌。争 娜以= 号呶旋争 幅值:x 。= 厅可 ( 2 - 3 ) ( 2 - 4 ) ( 2 - 5 ) = t g 1 ( 生) 相角: 4 一 傅氏算法最初是从傅氏级数推导出来的,由于其与正弦、余弦函数的紧密联系,故而可以从不同的 角度理解傅氏算法,并最终将傅氏算法从傅氏级数的概念束缚中解放出来。正弦、余弦函数的正交性是 傅氏算法能够精确提取频率分量的原因:微机的离散化数字运算将傅氏算法从连续域引入离散域,从而 引入离散周期序列的频域分析方法;与数字滤波器的统一,表明了微机保护算法与数字滤波技术本质上 的相通。 傅氏算法能完全滤掉直流分量和所有的整次谐波,对高频分量也有较强的抑制能力,在这里满足精 度要求。 1 0 第三章监控系统的软件设计 第三章监控系统的软件设计 3 1 d e l p h i 数据库体系结构 d e l p h i 拥有完善的数据库访问机制,可以快速的开发强大的数据库应用程序,这依赖于其良好的 数据库体系结构。 d e l p h i 的数据库体系结构是由表示和完全封装数据库信息的组件所组成。图3 - 1 显示了d e l p h i 的 数据库体系结构所定义的关系。 数据模块 二二 i 用户界面卜一 一i 广一一 图3 - ld e l p h i 数据库体系结构 图3 - 1 中以最简单的形式显示了数据库体系结构。用户接口通过一个数据源与数据交互,而数据源 连接到封装数据的数据集。d e l p h i 能够使用不同类型的数据库,这些不同的数据库需要不同类型的数 据集,图中的数据集表示抽象的数据集,可以从这个数据集中派生其他数据集,来访问各种不同类型的 数据。 由于数据库使用的是p a r a d o x ,所以使用b d e ( b o r l a n dd a t a b a s ee n g i n e ) 访问是最好的数据访问 机制。在数据访问组件中,使用t t a b l e 来联系应用程序和数据库的信息,而t d a t a s o u r s e 组件是用来 联系数据库信息和数据控制组件的。倚而言之,就是数据访问组件允许应用程序通过b d e 访问数据库, 将数据库信息传递给用户接口;并通过b d e 将用户接口的信息反馈给数据库,完成用户与数据库之间的 信息交互。 而数据控制组件为开发者设计用户接口提供了方便,这些控制组件通过使用数据库引擎b d e 实现了 与数据库数据信息组之间的联系,可以方便的浏览和编辑数据库中的数据。 3 2 数据库别名的设置 d e l p h i 中的许多数据库组件都需要指明数据库名称,数据库名称可以直接指定,如 c :d a t a d e m o 如b ,但在代码中可能多处需要使用数据库名称,如果都这样直接使用数据库的绝对路径 名称,写起来比较麻烦,但更麻烦的事情在于如果用户改变了数据库的存放路径( 如在安装时让用户指 定安装目录) 或数据库名称,已编写好的程序( e x e 文件) 将无法正常工作,即使在编程阶段,也要对 所有的代码都进行修改,是否太麻烦了,此时最好给数据库另取一个名字,这就是别名,此别名代替数 据库的真实路径、名称,用户在编程中不必考虑数据库存放在何处,如果数据库的绝对路径或名称修改 了,只需修改别名的配置信息即可,用户的程序无需做任何修改。还有另外一个重要的原因是:在设定 东南大学工程硕士论文 数据库别名时,用户需要指明数据库类型,这样d e l p h i 才知道使用什么样的数据库驱动程序。如果直 接用数据库绝对路径和数据库真实名称,在使用时需要在程序中用代码指定数据库类型,就比较繁琐。 应用程序中使用的是p a r a d o x 的数据库,对于其别名的设置,只需在b d e a d m i n i s t r a t o r 的0 b j e c t 菜单中执行“n e w ”菜单项( 或在b d e 界面内任何处单击鼠标右键即可弹出快捷菜单,从中选择 “n e w ”) ,将会弹出一个数据库驱动程序名窗体,默认格式为s t a n d a r d 。单击“o k ”按钮,在d a t a b a s e 卡中出现新的数据库别名“s t a n d a r d l ”,用户可以修改为自己所喜欢的名字,这里我们修改为“s e v e r d b ”, 在右边的“d e f i n i t i o n ”卡中用户可定义数据驱动程序,单击“d e f a u l td r i v e r ”后的输入框从列表中 选择,这里我们选择p a r a d o x 。接下来设定p a t h 参数,单击p a t h 后输入框,可直接输入d :d a t a ,或 单击后面的选择目录按钮打开类似于文件夹管理器的界面来选择数据表文件目录。然后在“s e v e r d b e ” 数据库别名上单击右键,选择“a p p l y ”( 应用) 即可。这样s e v e r d b 就是数据库d :d a t a ( 此路径下为 数据袁) 的别名。 3 3 应用程序中数据模块的设计 数据模块用于在整个项目、组或者企业范围内的一个中央位置保存所有数据库规则和关系。数据模 块由v c l 的t d a t a m o d u l e 组件封装。把t d a t a m o d u l e 当作一种不可见形式,可以向其中存放整个项目过 程中都可以使用的数据访问组件。创建t d a t a m o d u l e 的方法:从主菜单中选择f i l e n e w 命令,然后从 o b j e c tr e p o s i t o r y ( 对象仓库) 中选择t d a t a m o d u l e ( 数据模块) 组件。选择t d a t a m o d u l e 组件而不 选择在窗体中放置数据访问组件的理由是这样可以在项目的多个窗体及单元中共享数据。可以把数据模 块保存在对象仓库以供以后使用。 图3 2 为软件系统的数据模块窗体图。 图3 - 2 程序数据模块窗体图 在d e l p h i 中,访问数据的基本单元是数据集对象。应用程序正是提供数据集组件来访问数据库的。 一个数据集对象就代表了数据库的一张表格,或者是访问数据库的一个查询或存储的过程。 t t a b l e 就是数据访问组件。t a b l e l 、t a b l e 2 ,t a b l e 3 和t a b l e 4 的d a t a b a s e n a m e 属性均设为 s e v e r d b ,s e v e r d b 是b d e 定义的别名。t a b l e l 对应的是数据库中的设备总表,所以t a b l e l 的t a b l e n a m e 第三章监控系统的软件设计 属性设为设备总表d b 。设备总表中的一条记录对应有三张分表,分别为故障情况记录表,运行情况记 录表和定点电压电流记录表,这三张分表对应的是t a b l e 2 、t a b l e 3 和t a b l e 4 。由于设备总表中查看 的记录如果变化,那对应的三张分表的内容也要变化,所以t a b l e 2 、t a b l e 3 和t a b l e 4 的t a b l e n a m e 属性在程序中是动态改变的。因此添加一段程序在t a b l e l 的a f t e r s c r o l l 事件中,当应用程序从一个 记录转到另一个记录时触发。 当t a b l e l 对应的设备总表从一个记录转到另一个记录时。通过程序动态改变t a b l e 2 、t a b l e 3 和 t a b l e 4 的t a b l e n a m e 属性,使t a b l e 2 、t a b l e 3 和t a b l e 4 对应当前设备总表中记录的设备分表。 t a b l e n e w 和t a b l e d e l e t e 是用来对应要新增表和要删除表的,所以两者的d a t a b a s e n a m e 属性均设 为s e v e r d b ,而t a b l e n a m e 属性则要在程序中动态的设定。 t d a t a s o u r c e 组件提供了联系数据集组件( t t a b l e 组件、t o u e r y 组件和t s t o r e d p r o c 组件) 与数 据控制组件( 例如t d b g r i d 组件) 的纽带。通过使用t d at a s o u r c e 组件,可以利用数据控制组件显示、 浏览以及修改数据集中的数据。如果应用程序希望在数据控制组件中对数据集中的数据进行浏览和操 作,数据集必须和数据源组件( d a t as o u r c e ) 相联系。同样,数据控制组件也必须和数据源组件相联 系才能从数据集中取得数据,在数据控制组件中显示数据,并对数据进行相应操作。t d a t a s o u r c e 组件 同样联系具有主从关系的数据集。 所以d a t a s o u r c e l 、d a t a s o u r c e 2 、d a t a s o u r c e 3 和d a t a s o u r c e 4 的d a t a s e t 属性分别设为t a b l e l 、 t a b l e 2 、t a b l e 3 和t 曲l e 4 ,用来连接数据集和窗体中的数据控制组件。 3 4 主界面模块设计 对于道口电源监控程序,由于窗体比较多,并需要方便的切换,所以考虑使用o u t l o o k 式样的主界 面,即在主界面的左边放置导航条,通过导航条上的按钮,可以方便的切换在右边面板上出现的窗体。 如图3 3 所示。 图3 3 主界面 东南大学工程硕士论文 窗体效果是由i s t c l a s s 的f c o u t l o o k b a r 控件实现的。在f c o u t l o o k b a r 下建立5 个 f c o u t l o o k b a r l o u t l o o k l i s t ,分别对应数据监控,数据上传,数据修改,数据备份,报表生成模块,在 每个f c o u t l o o k b a r l o u t l o o k l i s t 下建立i t e m s ,对应模块下面的各个窗口,实现的效果是,点击相应 的i t e m 按钮,就会在右边出现相应的窗体。主界面的右边放置一个p a n e l ,作为窗体的载体。以显示 数据维护下的修改记录窗体为例,首先要关闭p a n e l 上已有的窗体,然后设置p a n e l 作为e d i t f o r m 的 父组件,即在p a n e l 上显示修改记录的窗体。接着确定窗体的位置后,显示窗体e d i t f o r m 。 为了在程序启动后,主界面就自动显示数据监控模块下的设备总表窗体。就在主窗体的f o r m s h o w 事件中调用显示设备总表的o n c l i c k 事件,保证了每次启动应用程序后出现的窗体是确定的。 3 5 数据监控模块设计 3 5 1 设备总表窗体设计 设备总表窗体的功能是对设备总表中的数据进行浏览,不提供修改编辑功能。如图3 4 所示。 图3 4 道口电源情况总表 这些功能由数据控制组件t d b 6 r i d 、t d b n a v i g a t o r 、t d b t e x t 来实现。这些组件只要和一个打开状 态的数据集相连,就会马上显示该数据集中的数据。数据控制组件与数据集组件之间的联系是通过数据 源组件t d a t a s o u r c e 来实现。 t d b g r i d 组件的作用是一个将数据集记录显示在网格中,并且可以对其中的数据进行编辑修改。在 窗体中放置一个t d b g r i d 对象来显示和编辑一个数据集( t a b l e 或query ) 中的记录,应用程序可 以通过数据网格组件来插入、删除或编辑数据集中的数据,或者只是简单地利用它来显示数据集中的数 据记录。网格中的各字段值可以使用字段编辑器来设定,也可以在运行时动态地设置。由于窗体中的 t d b g r i d 只要显示设备总表中的内容,所以t d b g r i d 的d a t a s o u r c e 属性设置为 1 4 第三章监控系统的软件设计 d a t a m o d u l e l d a t a s o u r c e l 。由于这里链接了数据模块中的数据集,所以要在u s e s 中添加u s e s d a t a m o d u l e 。在这个窗体中,不允许用户修改数据,所以将t d b g r i d 的r e a d o n l y 属性改为t r u e 。 在t d b 6 r i d 的下方添加t d b n a v i g a t o r 控件。t d b n a v i g a t o r 组件( 又称为数据库导航器) 是用来在 数据集中浏览数据和编辑数据的,例如插入一条空记录或者提交记录等。t d b n a v i g a t o r 组件是由一组 控制按钮组成,通过这些控制按钮,用户可以完成在数据集中移动记录指针,增添或删除一项记录,编 辑修改数据记录以及向数据库提交对数据集记录的修改等工作。t d b n a v i g a t o r 组件一般与其他数据控 制组件( t d b g r i d 或t d b e d i t ) 一起使用,t d b n a v i g a t o r 组件提供给用户在编辑或浏览数据时对数据 集的控制。由于这里只允许用户浏览数据,需要修改t d b n a v i g a t o r 组件的v i s i b l e b u t t o n s 属性,用来 确定t d b n a v i g a t o r 组件中需要显示哪些按钮,它包括10 个选项:n b f i r s t 、n b p r i o r 、n b n e x t 、n b l a s t 、 n b i n s e r t 、n b d e l e t e 、n b e d i t 、n b p o s t 、n bc a n c e l 和n b r e f r e s h ,它们分别对应着10 个按钮。当某 一项的属性值设置为t r u e 时,这一项对应的按钮就会显示,反之设置为f a l s e 就不会显示。例如:只 允许用户浏览的数据集只需要用到前四个按钮,将n b f i r s t 、n b p r i o r 、n b n e x t 、n b l a s t 属性值设置为 t r u e ,而将其他属性设置为f a l s e ,就会出现如图3 - 5 所示的样子。 图3 - 5 属性设置 设备总表中的内容比较重要,所以字段中的内容选用t d b e d i t 组件来显示。t d b e d i t 组件是用来显 示和编辑数据集里当前记录中一个特定字段的值的数据控制组件。t d b t e x t 组件显示和编辑修改的是当 前记录中特定字段的值,所以随着记录指针的移动,其显示的内容也不断变化。但与t d b g r i d 组件不同, 它一次只能显示及编辑修改当前记录中特定的一个字段值。 t d b e d i t 组件的d a t a s o u r c e 属性与其他数据控制组件一样,设置为窗体中的一个数据源组件的名 称,通过此数据源组件与数据集取得联系,从而对数据集中的数据进行操作。这里均设置为 d a t a m o d u l e l d a t a s o u r e e l 。 d a t a f i e l d 属性是用来确定t d b e d i t 组件显示与编辑的是当前记录中哪个特定字段的值。在完成 t d b e d i t 组件与特定数据集的联系后,对象观察器中的d a t a f i e l d 属性框会自动产生一个下拉列表,其 中包含了当前打开数据集中的所有字段。将其分别设为编号,i d 号,道口电源情况,电压通道系数和 电流通道系数,便能显示相应的字段内容。如图3 - 6 所示。 编号 道口电潭情况 电压通道系数 二二二暖夏 电流通道军数 图3 6 字段显示 东南大学工程硕士论文 3 5 2 设备分表窗体设计 设备分表窗体用来浏览分表中的数据。由于设备总表中每条记录对应的分表有三张:故障记录分表、 运行记录分表、定点记录分表。所以使用了p a g e c o n t r o l 控件,p a g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分窗口展示课件
- 妇产科课程制作课件
- 房产客服投诉处理课件
- 9-10-EpOME-9-10-Epoxyoctadecenoic-acid-生命科学试剂-MCE
- 粉尘防爆专题培训课件
- 2026-2027学年初中心理健康七年级下册北京版第二节 寻求心理帮助课时检测卷
- 2026-2031年中国政府引导基金行业市场调查研究与投资前景分析报告
- 2026年河南省普通高中高三秋期9月联考数学试卷含答案
- 腹部疼痛护理课件
- 受检工程建设单位检查表
- XFT 3024-2026《电动自行车充电及停放场所消防安全管理》
- 2026年安全生产责任保险培训课件(完整版)
- 2026年四川省“五方面人员”选拔乡镇领导班子成员面试试题(含答案+详细解析)
- 2026小学教科版五年级科学上册第一单元 微小世界 课堂练习(附参考答案)
- 2026年云南省中考地理试卷(含答案)
- 【案例】某集团IT运维智能体(AIOps Agent)自主故障诊断与自愈平台详细设计方案
- 骨性关节炎教学课件
- 军用关键软硬件自主可控产品名录(2025年v1版)
- 医院权力运行监督制度
- 家政培训讲师正规课件
- 商务英语专业就业前景与职业规划
评论
0/150
提交评论