1、环境动力系统论文环境动力系统论文目前,大多数需要环境测量,防水,防盗的程控机房,周密仪器室,图书馆,库房,无人职守站等要紧是人工定时巡逻、人工操纵,人工抄表等,在设备较多的机房中,设备分散不集中,对参数的采集有一定的困难,而且假设是机房数量越多,值班人员的工作强度就显得越大,造成大量的人力资源的白费,同时经常会显现少抄,漏查的现象,使得工作效率不是专门高,同时设备资料数据的储存也不科学,查询专门不方便,不利于数据治理。为了合理使用人力资源、提高工作效率、保证通信设备安全可靠地工作,对各动力机房内动力系统、空调系统、及其它环境设备进行联网监控、集中爱护和治理是极其必要的。随着通信技术的不断进展,
2、运算机网络系统通信是当今技术进展的一个重要的方向,然而在网络系统中利用现有 网作为通信信道那么是最经济、最方便和最可靠的方法。当前现代 通信网差不多进入程控交换时代,技术比较先进,速度快,容量大,因此采纳 通信网建立数据通信系统确实具有其专门的优越性。动力环境监测系统确实是在这种情形下产生的。本论文就后台PC机用Delphi开发通信和数据治理系统软件的过程做了详细介绍,重点是该软件的数据治理。本论文共有四章,循序渐进地介绍本次软件开发的目标、设计过程及相关知识、该软件的使用。由于本人水平有限,且编写时刻仓促,论文中难免有疏漏和错误,恳请老师们提出宝贵意见。 第一章设计目标及完成题目的技术途径1
3、.1 设计目标依照信息产业部通信电源,机房空调集中监控系统技术要求的要求,研制开发了动力环境监控系统。其要紧功能是对电信系统中分布在不同通信局站的设备运行环境电源、温度、湿度、门禁、水浸、烟雾等进行集中监控。对各种专门情形进行及时报告和处理,以保证通信设备的正常运行;系统能够显示和记录所有监测到的数据,供监控中心查询、分析,使工作人员能从宏观上治理和爱护整个电信设备的运行环境,提高系统爱护的实时性和准确性,实现电信网的集中爱护、集中治理,真正达到少人或无人值守的目标。本系统系统由四个电路模块(数据采集模块、通信模块、显示模块、电源模块)和中心站处理软件组成:采纳89C51与通用异步收发器825
4、0接口和操纵智能MODEM以实现单片机与PC机在有线公用 网中进行远程数据通信技术。MODEM将前端单片机采集的数据通过 网远程传输到中心站PC机,并实现一对多点通信站点数、通信距离均不限,后台PC机通过拨号的方式对各站点进行数据接收并实时储备记录、查询、打印。 设计后台PC机处理软件,即编制通信接口与组态软件,实现数据回总计报警监测,历史数据查询、储存、打印等功能是此次设计的目标。1.2 完成题目的技术途径中心站与监测站之间采纳调制解调器在 网络上通信,中心站的通信接口网使用AT命令集对调制解调器操纵,组态软件在Windows平台下用Delphi6软件开发成形。Delphi以基于窗口和面向对
5、象的编程方法,与Windows操作系统紧密地结合,强大的数据库技术支持,迅捷的编译速度,同时兼具功能强大和易学灵活的特点,而且Delphi编制与Modem通信的串口程序有独到之处,因此选择该软件来开发。第二章环境监测系统总体方案分析及软件设计2.1 系统总体结构系统总体结构涵盖了监测中心站、监测各分站,利用了PC上位机、集团 网络、调制解调器及单片机等硬件。结构图如图2-1所示:。 图2-1 系统总体结构图 在本监测系统中,各监测分站采纳MCS-51单片机来采集现场的模拟量、开关量,采集数据通过整理后通过单片机串行接口和调制解调器及集团 ,采纳异步串行通信实现与监测中心PC机的远程双向通信。由
6、于各监测分站与中心站之间每次的数据传输量不大,加之本身具有 线路的基础设施,因此采纳本方案是既保证数据传输要求,又经济有用。2.2 监测中心PC及应用软件设计该部分实现对总体系统的监测及终端显示功能。要紧包括以下部分:(1)系统按权限分级启动,有效保证系统运行稳固,安全(2)各监测分站监测数据巡检,储存(3)监测数据汇总、实时显示、曲线绘制、报警等(4)采纳Delphi的Database desktop数据库储存数据,用paradox数据库技术实现对数据库的操纵。软件整体功能实现如图2-2所示: 图2-2 软件整体实现功能图 2.3通信接口设计通信接口设计部分相关知识,调制解调器一样 AT 命
7、令参考 下表列出了您的调制解调器能明白得的 AT 命令。 每个命令描述包括命令名称、说明和相关参数。 切记:您的调制解调器必须在 Microsoft Windows 95 下操作。 调制解调器在 MS-DOS 或 Microsoft Windows 旧版本下不能运工作。 命令描述 AT 注意代码 AT 是命令行的字首,告诉调制解调器要输入命令或命令序列。它执行除 A/ (重复) 和 + (换码) 之外的所有命令。单独输入 AT,假如调制解调器预备接收命令,那么调制解调器返回 OK 或 0 信息。 参数:无 A/ 重复上一命令。 A/ 命令使调制解调重视新执行上一行的命令,例如,重新拨号。 上一
8、次执行的命令一直保留在命令缓冲区中,直到输入 AT 命令或电源已关闭为止。 这些操作将清除缓冲区并使 A/ 命令无效,因为没有要重新执行的命令。您无需输入 或 AT,因为它们与上一命令一起驻留在命令缓冲区内。 参数:无 A应答命令。 A 命令使调制解调器无需等待响铃那么可应答呼叫。 此命令在手动应答呼叫或与以始发方式与另一调制解调器建立直截了当连接时有用。 同一命令行中 A 之后的所有命令将被忽略。注:此命令在某些国家禁止使用。在这种情形下,ATA 返回错误信息。 参数:无 Bn通信标准选项。 在 ITU 与 Bell 标准之间作出确定。 参数:n = 0 - 3, 15, 16 n = 0
9、ITU V.22 使用 1200bps 的传输速率n = 1,Bell 212 使用 1200 bps 的传输速率 (默认)n = 2, 3 撤消 ITU V23 反向通道n = 15 ITU, V.21 使用 300bps 的传输速率n = 16,103J 使用 300 bps 的传输速率 (默认设置) Dn拨号命令。 D 命令使调制解调器拨命令行中 D 后面的号码。在拨号修正符号页面中定义有效的拨号数字和所拨号修正符号。 在脉冲拨号方式下,非数字字符不起作用。参数:无注:在某此国家规定在 D 命令之后必须输入 号码。 En命令回应。 En 此命令确定调制解调器在命令方式时,您在键盘上输入的
10、字符是否回应到屏幕上(本地回应)。 参数:n = 0, 1n = 0 关闭本地回应功能n = 1 启用本地回应功能 (默认) Hn挂断操纵。 Hn 命令告诉调制解调器是挂断以断开呼叫依旧摘机以占用 线。 参数:n = 0, 1n = 0 调制解调器挂断 (hang up) (默认值)n = 1 调制解调器摘机注:H1 命令在某些国家禁止使用。 在这种情形下,ATH1 返回错误信息。 In要求调制解调器的识别号 (ID)。 In 命令询问调制解调器的产品识别号、ROM 校验和或 ROM 校验和的状态。 参数:n = 0, 1, 2, 3, 4, 5, 9n = 0, 3 返回调制解调器默认的速率
11、和操纵器的硬件版本n = 1 运算 ROM 校验和并显示校验和 (例如,12AB)n = 2 检查 ROM 、运算并验证校验和及显示 OK 或 ERROR (错误) 信息。n = 4 返回数据泵的硬件版本n=5 返回调制解调器板的ID: 软件版本、硬件版本和国家代码n = 9 返回国家代码。 Ln设置扬声器音量。ATLn 在 和数据通信时设置扬声器的音量为低、中或高。 参数:n = 0 - 3 n = 0, 1 低音量n = 2 中音量 (默认设置)n = 3 高音量注:要完全关闭扬声器,请使用 MO 命令。 Mn扬声器音量操纵选项。Mn 命令操纵 和数据通信时扬声器是打开依旧关闭。 参数:n
12、 = 0 3n = 0 扬声器一直关闭n = 1 调制解调器在检测到载波信号之前,扬声器始终打开。(默认值)n = 2 在调制解调器摘机时,扬声器始终打开。n = 3 在拨号后扬声器始终打开,直到调制解调器检测到载波信号为止,拨号时除外。Nn调制握手。Nn 命令操纵本地调制解调器在与速率不同的远程调制解调器连接时是否执行协商的握手 。 参数:n = 0, 1n = 0 在始发呼叫或应答呼叫时,仅以 S37 寄存器和 ATB 命令指定的通信标准下进行数字交换。n = 1 在始发呼叫或应答呼叫时,仅以 S37 寄存器和 ATB 命令指定的速率开始握手。 在握手期间, 速率可能会回落。(默认设置)
13、On在线状态。 On 命令强迫调制解调器进入在线方式。 参数:n = 0, 1, 3n = 0 进入在线状态n = 1 在返回在线数据方式前初始化均衡重新排定序列。n = 3 在返回在线数据方式前,进行速率的重新协商注:在使用 + 换码命令换至命令方式后执行该命令将返回在线方式。 P脉冲拨号。 P 命令设置脉冲拨号方式。 所有的呼叫将停留在脉冲方式,直到使用 T 命令选择音频拨号为止。 此命令也可用作拨号修正符。 参数:无注:某些国家不能够使用脉冲拨号。 在这些国家 P 命令将被忽略。 Qn抑制结果码。 Qn 启用调制解调器发送结果码。 参数:n = 0, 1n = 0 启用结果码 (默认设置
14、)n = 1 禁用返回结果码。(静噪) Sr=n写入 S 寄存器。 Sr=n 将 r 寄存器的值设置为 n 。 用此命令可修改这些寄存器中的内容。 参数:无范畴: r = 0 - 27, 29, 31 - 33, 35, 37, 89 (寄存器号)n = 0 - 255 (取值)切记:假如向保留的寄存器或只读寄存器中写入内容可能会导致无法预料 的结果。 请参阅 S 寄存器命令参考以获得完整的寄存器列表。 Sn?读取寄存器。 Sn? 命令 报告 n 指定的寄存器的值,该值能够是任一有效的S 寄存器号。 参数:无 范畴: n = 0 - 27, 29, 31 - 33, 35, 37, 89注:取
15、值以十进制的格式报告。 要获得位映射寄存器的值,请将十进制转为二进制。 T音频拨号。 T 命令将拨号方式设为音频拨号。 默认设置为音频拨号。 此命令也可用作拨号修正符。 参数:无 Vn结果码的形式。Vn 命令确定调制解调器返回的结果码的类型。 参数:n = 0, 1 n = 0 以数字形式发送结果码。(简短的形式或数字)n = 1 以文本的形式发送结果码。(长格式或冗余) (默认设置) Xn设置结果码和呼叫进行 Xn 命令选择结果码集和拨号功能。 Vn 命令确定结果码是以文字方式依旧数字方式发送, 亦请参阅结果代码。 扩展的结果码: 假如启用此项,调制解调器显示差不多的结果码、连接信息、调制解
16、调器的数据传输速率、调制解调器错误校正的表示和数据压缩设置。 假如禁用此项,只显示 OK, CONNECT, RING, NO CARRIER 和 ERROR。拨号音检测: 假如启用此项,调制解调器仅在检测到拨号音时拨号; 假如 10 秒钟内未检测到拨号音,将断开呼叫。 假如禁用此项, 调制解调器不管是否检测到拨号音均将拨号。 您可选择调制解调器在 S6 寄存器中拨号前需等待的秒数。忙音检测: 假如启用此项,调制解调器检查忙音。 假如禁用此项,调制解调器忽略忙音。参数:n = 0 - 4, 7n = 0 禁用扩展结果码、拨号音检测和忙音检测。n = 1 启用扩展结果码; 禁用拨号音检测和忙音检
17、测。n = 2 启用扩展结果码和拨号音检测; 禁用忙音检测。n = 3 启用扩展结果码和忙音检测。 禁用拨号音检测。n = 4 启用扩展结果码、拨号音检测和忙音检测 (默认设置)。n = 7 禁用扩展结果码; 启用拨号音检测和忙音检测。Z复原已储存的配置文件。 此命令指示调制解调器挂断并复原由上一次 &W 命令储存的文件。 +换码序列。在 S2 寄存器中的字符集连续三次快速发送至调制解调器 (参阅 S12 寄存器), 调制解调器转换至命令状态。 换码字符的默认值为 +。 在说明文档指示您输入 + 时,连续三次在 S2 寄存器中快速输入字符集。 请勿在换码序列之前加上 AT 命令,同时输入后不要
18、按 Enter 键。 注:要返回在线状态,请使用 ATO 命令。 第三章监测中心PC机上软件设计3.1用户登录功能的实现系统是按权限分级启动的实现,其功能简介如下,系统分为:接收启动,该启动由点击*.exe文件打开,然后点击菜单中的同意数据按钮,就能同意数据,做出巡检了。数据观看启动,该启动分为两级权限,分别是系统治理员,能够对数据进行观看、储存、删除、打印等数据治理;一样用户,只能观看数据。该启动的实现是通过点击登录系统按钮,就会弹出登录对话框,来实现权限判定。运行系统的关闭,只能由系统治理员执行。下面详细介绍一下实现权限判定功能的要紧窗口系统登录对话框。它是通过在后台建立一个用户表.db,
19、在界面中添加dataaccess中的datasource组件和BDE中的query组件,然后使用sql查询语句来实现。使用sql的select语句查出用户输入的用户名和密码所对应的那行纪录,判定查询得到的纪录Query1.RecordCount是否为零,假如为零,说明表中没有用户输入所对应的纪录,也确实是用户名或者密码输入错误,这时点击界面上的登录按钮,会显现一个错误提示框,点错误提示框上的确认按钮后,可在登录对话框中重新输入用户名和密码,假如不想登录系统了,就能够点退出按钮退出。假如查询结果不为零,这时候就判定查询得到的纪录的权限值Query1.FieldByName (权限)是否为1,假如
20、为1,确实是治理员级别,那么就能够进行系统治理和数据治理,对应的一些操作按钮就可操作(例:Form1.N20.Enabled:=true);假如不为1,对应的系统治理和数据治理操作按钮就不可操作(例:Form1.N20.Enabled:=false)。下面是登录对话框的设计界面和用户表.db:以下是实现上述功能的程序流程图3.2应用程序中数据模块的设计 加入模块化的数据结构设计既能减轻设计的复杂度又可使的软件具有生命力,3.2.1数据库表的建立、结构及连接实现的方法1、系统使用的数据库为delphi 6自带的desktop数据库中的paradox表格*.db储备数据,包含了三个数据表:powe
21、renvirment1.db储备监测的来的数据用来实时显示,历史数据查询;powerenvirment2.db储备的是事件开关值,该值是由串口接收到的p0口数据,程序拆分后成为开关量值。该数据要紧在主界面mome1栏中,以文字提示的样式传达信息;用户表.db储备用户信息,服务登录程序,另外,治理员可对用户进行治理,用户可修改密码。Historicdata1.db储备事件显示,该值通过对开关量的转化,将具体事件发生时刻地点储备在表内,提供给memo栏显示。各表的设计视图如下:powerenvirment1.db字段名字数据类型长度说明测点文本6测点名称日期日期/时刻10时刻日期/时刻8温度一数字
22、4温度二数字4温度三数字4湿度一数字4湿度二数字4湿度三数字4电压数字3电流数字2NumID自动编号测点编号powerenvirment2.db表字段名字数据类型长度说明测点文本6日期日期/时刻10时刻日期/时刻8烟感一逻辑量1烟感二逻辑量1烟感三逻辑量1水浸一逻辑量1水浸二逻辑量1水浸三逻辑量1门禁一逻辑量1门禁二逻辑量1用户表.db字段名字数据类型长度说明用户名文本10密码字符8权限逻辑量登录权限性别文本2 Historicdata.db字段名字数据类型长度说明测点文本6日期文本10时刻文本8事件文本82、连接实现以上所提到的表格贯穿于整个软件的使用。连接实现是利用数据访问组件访问数据库中
23、的数据记录,利用数据操纵组件实现对数据库数据记录的扫瞄和操作;通过SQL语句能够从关系数据库中获得数据,能够建立数据库、增加数据、修改数据。3.2.2实现监测数据汇总治理、实时显示、曲线绘制、报警等功能的软件部分1、 概述 本部分程序用delphi 6 实现,要紧包括监测数据的汇总治理、实时显示、曲线绘制、报警等功能。依照功能程序要紧分为自动巡检数据汇总显示、人工观看数据、曲线绘制、数据治理四部分。2、 能实现介绍数据治理有查询、打印预览、打印、删除四种功能,也是通过添加dataaccess中的datasource组件和BDE中的query组件,然后使用sql查询语句来实现。查询数据,使用sq
24、l查询语句的select语句来实现。先要对数据流进行处理,分析数据能够通过那几种组合方式被查询到。经分析,有以下情形,用图表表示: 全部历史数据显示 全部测点的历史数据分类显示4种类型历史数据 全部类型的历史数据分测点显示12个站点 分站点分类型显示 全部历史事件显示 全部测点的历史事件分类显示5种类型历史事件 全部类型的历史事件分测点显示12个站点 分站点分类型显示由图表所示,依照数据流使用ifthen beginend;的并列语句实现,具体程序见附录源程序所示。删除数据,使用sql查询语句的delete语句来实现。删除数据按钮下后,会显现一个对话框提示哪些数据将被删除,假如确定要删除,就按
25、下确定健,假如不想删除,就按下取消健。那个对话框的组成是在窗体上添加两个Tbutton控件和一个label控件用来显示提示内容。依照所选择数据,给label的Caption属性赋值(提示哪些数据将被删除)。点击确定健时,触发click事件,在那个事件里定义了sql查询语句的delete语句,删除先前查询时查出的所有数据。所选择数据流操纵也是使用ifthen beginend;的并列语句来操纵。具体程序见附录源程序。打印预览、打印,是通过使用QuickRep实现。在数据治理窗口中添加Qreport中的QuickRep组件,它是报表类显示组件。建立QuickRep时,设定好要显示的表中数据字段,然
26、后通过对QuickRep属性栏中的datasource设置,使它连接上数据源组件,连接上数据。人工观看数据中包括了指定站点事件与数据观看,巡检监测站点温湿度即时显示滑动条显示和温湿度历史曲线显示,以及事件报警指示灯显示和系统时钟显示等六个分块显示栏分别使用了Memo,DbGrid, RxSlider,AHMCauge,DBChart,AHMLed,AHMClock等组件。实现也是通过添加dataaccess中的datasource组件和BDE中的query组件,然后使用sql查询语句来实现。在那个地点介绍一下Memo组件中显示的内容是如何样通过使用数据查询,储备,再调用来实现的。第一,因为在M
27、emo组件中显示的内容是连续的字符串,而不是从串口同意的P0数据拆分成的开关量,因此需要将开关量具体化。开关量为1,说明有事件发生,假设为0那么没有事件发生。现在要对为1的情形进行处理,即建立表格historicdata.db储备事件说明。通过select语句得到事件说明纪录,将其的事件字段内容赋值给memo3.Lines.Add。如此事件内容、发生时刻、地点都能显示出来了。3、软件开发时应用的delphi组件介绍1、数据库组件本部分程序使用DataSource、Table、Query、DBGrid、DBChart等数据库组件实现对监测数据的查询显示和温湿度曲线的绘制。下买你对这些数据库组件使
28、用的概略讲述: Delphi6为开发数据库应用程序提供了许多组件,设计时使用了这些组件中的三类,分别是数据库的数据访问组件Data Access类组件,数据库的数据操纵组件Data Control类组件及数据库的数据文件组件BDE类组件。这些组件分别在组件板的Data Access、Data Control及BDE选项卡上。Data Access类组件负责和BDE进行数据交换,它第一通过BDE将数据库文件的数据提供给应用程序,最后将被修改过的数据经BDE传送到数据库文件中。其中和BDE直截了当打交道的DataSource组件。Delphi用于程序通过数据库引擎Borland Database
29、Engine, BDE 来处理数据。BDE实际是由几个DLL模块构成,它们负责处理数据库工作的核心部分。在Delphi 中,数据库应用程序必须建立与数据库的联系,在Delphi中通过数据库引擎BDE来完成那个工作。所有数据库存取的程序,都必须通过B D E 来完成。BDE是Delphi数据库功能的核心部分,是连接应用程序和数据库的桥梁。Delphi通过BDE来操纵读取本地数据库,Delphi自带的dBase和paradox 无需安装,这关于开发小型系统是专门有利的,同时BDE还能通过其他工具访问远程数据库。DataSourse联系TTable,Tquery,TStoredProc组件与数据操纵
30、组件例如TDBGrid.的纽带。要紧通过属性中的Dataset项设置连接TTable,Tquery,TStoredProc组件。Table通过BDE从一个数据库表格中取得数据并通过TDataSource组件将数据传递给一个或多个数据操纵组件。而且,将从数据操纵组件处得到的信息通过BDE传递给数据库。Table的差不多属性如下:Active指明一个数据集是否处于打开状态;DatabaseName说明数据集联系的数据库名;Fields指向数据集的字段列表;Name该组件在被其他组件引用时的名字;RecordCount显示与数据集相连的记录的总数;TableName指明该组件指向的数据库表格的名字;其中DatabaseName 属性是用来说明当前数据集的来源,即应用程序所利用的数据库的名字。它能够是BDE定义的数据库别名,如DBDEMOS;也能够是数据库文件,像Paradox和dBASE等文件所在的路径;还能够是由TDataBase组件定义的数据库名。应
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1