前言
目前,大多数需要环境测量,防水,防盗的程控机房,精密仪器室,图书馆,库房,无人职守站等主要是人工定时巡逻、人工控制,人工抄表等,在设备较多的机房中,设备分散不集中,对参数的采集有一定的困难,而且若是机房数量越多,值班人员的工作强度就显得越大,造成大量的人力资源的浪费,并且经常会出现少抄,漏查的现象,使得工作效率不是很高,同时设备资料数据的保存也不科学,查询很不方便,不利于数据管理。为了合理使用人力资源、提高工作效率、保证通信设备安全可靠地工作,对各动力机房内动力系统、空调系统、及其它环境设备进行联网监控、集中维护和管理是极其必要的。 随着通信技术的不断发展,计算机网络系统通信是当今技术发展的一个重要的方向,然而在网络系统中利用现有电话网作为通信信道则是最经济、最方便和最可靠的方法。当前现代电话通信网已经进入程控交换时代,技术比较先进,速度快,容量大,因此采用电话通信网建立数据通信系统确实具有其独特的优越性。动力环境监测系统就是在这种情况下诞生的。
本论文就后台PC机用Delphi开发通信和数据管理系统软件的过程做了详细介绍,重点是该软件的数据管理。
本论文共有四章,循序渐进地介绍本次软件开发的目标、设计过程及相关知识、该软件的使用。
由于本人水平有限,且编写时间仓促,论文中难免有疏漏和错误,恳请老师们提出宝贵意见。
第一章 设计目标及完成题目的技术途径
§1.1 设计目标
根据信息产业部《通信电源,机房空调集中监控系统技术要求》的要求,研制开发了“动力环境监控系统”。其主要功能是对电信系统中分布在不同通信局(站)的设备运行环境(电源、温度、湿度、门禁、水浸、烟雾等)进行集中监控。对各种异常情况进行及时报告和处理,以保证通信设备的正常运行;系统可以显示和记录所有监测到的数据,供监控中心查询、分析,使工作人员能从宏观上管理和维护整个电信设备的运行环境,提高系统维护的实时性和准确性,实现电信网的集中维护、集中管理,真正达到少人或无人值守的目标。
本系统系统由四个电路模块(数据采集模块、通信模块、显示模块、电源模块)和中心站处理软件组成:采用89C51与通用异步收发器8250接口和控制智能MODEM以实现单片机与PC机在有线公用电话网中进行远程数据通信技术。MODEM将前端单片机采集的数据通过电话网远程传输到中心站PC机,并实现一对多点通信(站点数、通信距离均不限),后台PC机通过拨号的方式对各站点进行数据接收并实时存储记录、查询、打印。
设计后台PC机处理软件,即编制通信接口与组态软件,实现数据回总计报警监测,历史数据查询、保存、打印等功能是此次设计的目标。
§1.2 完成题目的技术途径
中心站与监测站之间采用调制解调器在电话网络上通信,中心站的通信接口网使用AT命令集对调制解调器控制,组态软件在Windows平台下用Delphi6软件开发成形。Delphi以基于窗口和面向对象的编程方法,与Windows操作系统紧密地结合,强大的数据库技术支持,迅捷的编译速度,同时兼具功能强大和易学灵活的特点,而且Delphi编制与Modem通信的串口程序有独到之处,所以选择该软件来开发。
第二章 环境监测系统总体方案分析及软件设计
§2.1 系统总体结构
系统总体结构涵盖了监测中心站、监测各分站,利用了PC上位机、集团电话网络、调制解调器及单片机等硬件。结构图如图2-1所示:
。
图2-1 系统总体结构图
在本监测系统中,各监测分站采用MCS-51单片机来采集现场的模拟量、开关量,采集数据经过整理后通过单片机串行接口和调制解调器及集团电话,采用异步串行通信实现与监测中心PC机的远程双向通信。由于各监测分站与中心站之间每次的数据传输量不大,加之本身具有电话线路的基础设施,所以采用本方案是既保证数据传输要求,又经济实用。
§2.2 监测中心PC及应用软件设计
该部分实现对总体系统的监测及终端显示功能。主要包括以下部分:
(1) 系统按权限分级启动,有效保证系统运行稳定,安全
(2) 各监测分站监测数据巡检,保存
(3) 监测数据汇总、实时显示、曲线绘制、报警等
(4) 采用Delphi的Database desktop数据库保存数据,用paradox数据库技术实现对数据库的控制。
软件整体功能实现如图2-2所示:
动力环境监测系统应用程序
用户登录功能块
动力环境监测系统管理功能
动力环境监测系统服务功能
系统巡检
监测数据保存
监测数据查询
监测数据汇总
实时显示报警
曲线绘制打印
监测数据删除
监测数据备份
用户添加删除
图2-2 软件整体实现功能图
§2.3通信接口设计
通信接口设计部分相关知识,调制解调器一般 AT 命令参考
下表列出了您的调制解调器能理解的 AT 命令。 每个命令描述包括命令名称、解释和相关参数。
切记:您的调制解调器必须在 Microsoft Windows 95 下操作。 调制解调器在 MS-DOS 或 Microsoft Windows 旧版本下不能运工作。
命令
描述
AT
注意代码 AT 是命令行的字首,告诉调制解调器要输入命令或命令序列。它执行除 A/ (重复) 和 +++ (换码) 之外的所有命令。单独输入 AT,如果调制解调器准备接收命令,则调制解调器返回 OK 或 0 信息。
参数:无
A/
重复上一命令。 A/ 命令使调制解调器重新执行上一行的命令,例如,重新拨号。 上一次执行的命令一直保留在命令缓冲区中,直到输入 AT 命令或电源已关闭为止。 这些操作将清除缓冲区并使 A/ 命令无效,因为没有要重新执行的命令。您无需输入 或 AT,因为它们与上一命令一起驻留在命令缓冲区内。 参数:无
A
应答命令。 A 命令使调制解调器无需等待响铃则可应答呼叫。 此命令在手动应答呼叫或与以始发方式与另一调制解调器建立直接连接时有用。
同一命令行中 A 之后的所有命令将被忽略。
注:此命令在某些国家禁止使用。在这种情况下,ATA 返回错误信息。
参数:无
Bn
通信标准选项。 在 ITU 与 Bell 标准之间作出确定。
参数:n = 0 - 3, 15, 16
n = 0 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 此命令确定调制解调器在命令方式时,您在键盘上输入的字符是否回应到屏幕上(本地回应)。
参数:n = 0, 1
n = 0 关闭本地回应功能
n = 1 启用本地回应功能 (默认)
Hn
挂断控制。 Hn 命令告诉调制解调器是挂断以断开呼叫还是摘机以占用电话线。
参数:n = 0, 1
n = 0 调制解调器挂断 (hang up) (默认值)
n = 1 调制解调器摘机
注:H1 命令在某些国家禁止使用。 在这种情况下,ATH1 返回错误信息。
In
要求调制解调器的识别号 (ID)。 In 命令询问调制解调器的产品识别号、ROM 校验和或 ROM 校验和的状态。
参数:n = 0, 1, 2, 3, 4, 5, 9
n = 0, 3 返回调制解调器默认的速率和控制器的硬件版本
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 = 0 – 3
n = 0 扬声器一直关闭
n = 1 调制解调器在检测到载波信号之前,扬声器始终打开。(默认值)
n = 2 在调制解调器摘机时,扬声器始终打开。
n = 3 在拨号后扬声器始终打开,直到调制解调器检测到载波信号为止,拨号时除外。
Nn
调制握手。Nn 命令控制本地调制解调器在与速率不同的远程调制解调器连接时是否执行协商的握手 。
参数:n = 0, 1
n = 0 在始发呼叫或应答呼叫时,仅以 S37 寄存器和 ATB 命令指定的通信标准下进行数字交换。
n = 1 在始发呼叫或应答呼叫时,仅以 S37 寄存器和 ATB 命令指定的速率开始握手。 在握手期间, 速率可能会回落。(默认设置)
On
在线状态。 On 命令强迫调制解调器进入在线方式。
参数:n = 0, 1, 3
n = 0 进入在线状态
n = 1 在返回在线数据方式前初始化均衡重新排定序列。
n = 3 在返回在线数据方式前,进行速率的重新协商
注:在使用 +++ 换码命令换至命令方式后执行该命令将返回在线方式。
P
脉冲拨号。 P 命令设置脉冲拨号方式。 所有的呼叫将停留在脉冲方式,直到使用 T 命令选择音频拨号为止。 此命令也可用作拨号修正符。
参数:无
注:某些国家不可以使用脉冲拨号。 在这些国家 P 命令将被忽略。
Qn
抑制结果码。 Qn 启用调制解调器发送结果码。
参数:n = 0, 1
n = 0 启用结果码 (默认设置)
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
注:取值以十进制的格式报告。 要获得位映射寄存器的值,请将十进制转为二进制。
T
音频拨号。 T 命令将拨号方式设为音频拨号。 默认设置为音频拨号。 此命令也可用作拨号修正符。
参数:无
Vn
结果码的形式。Vn 命令确定调制解调器返回的结果码的类型。
参数:n = 0, 1
n = 0 以数字形式发送结果码。(简短的形式或数字)
n = 1 以文本的形式发送结果码。(长格式或冗余) (默认设置)
Xn
设置结果码和呼叫进行 Xn 命令选择结果码集和拨号功能。 Vn 命令确定结果