《CATV 可寻址控制系统管理系统软件设计.doc》由会员分享,可在线阅读,更多相关《CATV 可寻址控制系统管理系统软件设计.doc(59页珍藏版)》请在三一办公上搜索。
1、 CATV 可寻址控制系统管理系统软件设计 摘要随着有线电视的普及,有线电视网络自动化控制的要求越来越强烈。有线电视可寻址控制系统就是一个针对有线电视网络的自动控制系统。在这一系统中,前端管理软件是一个重要部分。可寻址控制系统的性能高低很大程度上取决于前段管理软件的水平。 本文介绍了有线电视可寻址控制系统前端管理软件的设计。在本设计中,前端管理软件可方便的对用户及网络设备资料档案进行管理统计,对有线电视网络进行检测和授权控制。实现了网络授权控制的自动化,满足了可寻址控制系统的要求。关键词:有线电视 可寻址控制系统 软件Abstract With CATVs popularization ,th
2、e demand of automatic control in CATV network is increasing.The addressable contrlol system is an autocontrol system designed for CATV network.In this system the forepart control software is a very important part.The capability of the system largely depends on the level of software.This paper interp
3、rets how to design the forepart control software for the addressable control system which uses Visual Basic 6.0.Through the forepart software we can administer and static the files of clients and network equipment conveniently, inspect and control the CATV network. The software make the administrati
4、on of CATV network roboticized and meet the need of the system basically. Keywords: CATV addressable control system software目录前言,( ) 第1章系统需求分析与规划,( ) 1.1总体需求分析,( ) 1.2具体功能需求分析,( ) 1.3系统总体规划,( ) 131开发工具的选择,( ) 132系统功能规划与技术分析,( )第2章各模块的具体设计,( )2.1登陆窗与主窗体,( )2.2用户及网络设备资料管理与查询,( )2.3网络授权管理与特殊网络操作,( )2.4
5、报表统计,( )2.5其它功能模块的设计,( )第3章软件调试与开发,( )3.1软件调试,( )3.2软件发布,( )第4章社会经济效益分析与结论,( )致谢,( )参考文献, ( )附录1 通信协议,( )附录2 使用说明,( )附录3程序清单,( )前言随着有线电视用户的增多,CATV网络的不断扩大,旧的管理方法已不能适应目前的形势,CATV网络的有效管理面临的挑战越来越严峻。在我国部分CATV网中,已使用智能可寻址分支分配器来实现对用户终端口的自动控制,力图建立一个完善的有线电视自动控制系统。可寻址系统控制管理软件就是这个系统中的前端软件部分。它利用计算机RS-232串行通信技术,实现
6、对CATV网络的刷新,分支器端口电平检测,用户端口授权控制,用户端口状态检测。是整个自动控制系统的“神经“。整个系统的工作流程是:前端软件发出指令,通过RS-232串口传至调制解调器,由调制解调器调制成调制信号,经网络发送至分支分配器,对用户端口进行授权控制。然后分支分配器回传信息,前端软件收到后,即对它进行分析显示并把相关数据存档。使用本软件,可以及时主动的对网络进行维护。还可以对用户档案进行管理统计,打印多种报表。本软件本着操作简便和高靠性进行设计,力图使用户操作时感到便捷、系统稳定。本设计的主要问题是数据库的操作管理和利用串行通信进行网络管理。利用VB中的相关控件,都可以得到解决。有线电
7、视可寻址控制系统在发达国家已经普遍应用,在我国则是方兴未艾,期盼本系统软件能对我国有线电视事业的发展有所贡献。第1章:系统需求分析与规划1.1 总体需求分析本软件应用于有线电视台,操作人员可能不具备专业的计算机知识,因此要求本软件界面友好、简练,操作简单。另一方面,可寻址控制软件在控制系统中起着中枢作用,因此要求有较高的可靠性,在软件编写过程中,应尽力考虑到各种情况,避免软件出现漏洞。此外本系统还应当具备一定的保密安全性,以防止数据被擅自修改。针对这一点,在设计中可以增加登陆窗口,核对口令,以限定使用权限。另外,由于工作需要,软件还应当提供一个方便的数据备份环境。软件要是实现的主要功能是数据库
8、管理和网络授权控制两大部份。数据库管理就是对系统软件所基于的数据库进行浏览、增删改等基本的操作。网络授权控制就是对CATV网络中分支分配器的端口电平,授权状态进行检测,能够对分支器授权、加扰,并能控制用户端口的开关。这两部分之间有着密不可分的关系,可寻址前端管理机制的模型如图1-1所示。1.2 具体功能的需求分析 可寻址控制软件的功能主要有:数据库管理、网络控制、报表打印、数据备份、工作人员资料管理等。其中前两部分是主要功能。下面将对个模块作具体的需求分析。数据库管理功能数据资料主要分为两大部份:用户资料和网络设备资料。要求能够进行资料的增删改等基本操作,还能以多种方式进行查询,以快速的获取相
9、关数据。用户资料既包括用户号,姓名,控制器序号等标志用户身份,联系方式,网络地址的基本资料,还包括诸如缴费,报停,授权等的最新资料。要求能够打印用户清单,并统计、打印欠费用户清单。网络设备资料也包括两部分。基本资料,包括网络设备的名称、型号、地址码、端口数等。设备状态信息:主要是与终端控制器工作状态有关的实时信息,包括用户端口授权状态和分支器端口电平值。也要求能够打印设备清单报表。 网络授权控制需求分析本部分是系统的核心部分,正是这一部分实现了CATV网管的自动化。它主要是利用计算机的RS-232串口通信技术实现与CATV网的互动。具体模型如下图1-2:图12可寻址系统授权控制模型这一部分所具
10、备的功能有:状态检测功能:系统软件发出状态检测指令传至分支分配器后,分支分配器既回传信息,前端软件对信息进行分析处理和显示。回传信息主要是端口电平、授权状态、加扰状态。网络授权控制功能:系统软件发出命令对特定分支分配器进行暂时授权与解除暂时授权、间歇授权与解除间歇授权、加扰与解除加扰、用户端口开关等操作。网络刷新功能:依据用户的缴费情况,自动对用户端口实施开关操作。报表打印功能系统软件应能够打印数据库中的用户清单、网络设备清单。另外,为方便工作还应能打印欠费用户清单、催缴费通知单。数据备份功能数据库中的用户资料、网络设备资料都应能方便的备份。工作员资料管理功能 能够注册新的工作编号,注销旧的工
11、作编号,改写登陆密码等。以上就是对主要功能的需求分析,还有一些辅助功能将在“各模块具体设计“一章中具体介绍。13系统总体规划131开发工具的选择前台开发工具的选择开发工具有很多种,但目前应用最多的主要是Visual Basic(VB)和Visual C+(VC),两者都是Microsoft的产品。VC+开发应用软件功能十分强大,但难以入门,编程量也较大。对于在短时间内的软件开发难以发挥其优势;VB与 VC+同属于MicorsoftVisual Studio家族的产品,尤其是它的6.0版本,被予为当前最流行的”快速应用软件开发工具”。在功能上与VC相比,它同样具有强大的数据访问能力,并有方便高效
12、的串行通信控制组件。总的来说,VB具有易学,开发速度快的优点。选择VB6.0 作为本系统的前台开发工具是最佳的。数据库开发工具的选择可寻址控制软件的操作基础是数据库,因此需要建立一个数据库来配合软件开发。关系型数据库是目前世界上最流行的一种数据库管理系统,开发本地数据库时常使用的工具有Microsoft Access ,Foxpro 等。Microsoft Access制作数据库较之Foxpro更简单,利用它来开发本地数据库更为合适。而且它还有一个Foxpro所不能比拟的优势,因为Access和VB同属Microsoft家族,他们之间有着千丝万缕的联系。VB中的Data控件就是通过使用Micr
13、osoft Jet数据引擎来实现数据库的访问Microsoft Access使用的数据引擎也正是Microsoft Jet;而且VB60中使用的ADO控件同样支持Access型数据库。虽然VB6.0 本身也可建立数据库,但管理功能却远不如Microsoft Access强大。因此在本系统中采用了Microsoft Access 2000作为数据库的开发工具。132系统的功能规划与技术分析系统功能结构设计系统主要具备两大功能,其一是实现对数据库的管理(包括用户资料,网络设备资料);其二是通过计算机串口实现与网络终端控制器PIC的一机对多机的可寻址串口通信,从而实现对有线电视网络的集中控制。基于以
14、上两个基本功能,整个系统可规划为以下六个主要的功能模块:用户及设备资料管理模块、网络授权控制模块、报表打印模块、查询模块、工作人员资料管理模块、辅助工具模块。其中最主要的是前两个模块。图21为系统功能模块的框架图。图13系统模块结构框图 以下将对这些模块中用到的主要问题和技术于以介绍分析。用户及网络设备资料管理模块的技术论证本模块的主要问题是数据库建立方案的确定和数据访问技术。数据库建设方案。数据库所包含的资料主要有两大类:用户资料(包括基本资料:姓名,地址,联系方式等;最新资料:用户交费情况,停机日期等。)、网络设备资料。此外,程序运行过程中还需要显示设备状态信息表,还用到了工作人员资料表。
15、工作人员资料与其它数据表之间几乎没有关联,因此初步决定建立两个数据库:用户及网络设备资料数据库(yhzl),工作人员资料数据库(worker)。用户及网络设备数据库中表的建立最初方案是建立三个表:用户资料表,网络设备表,设备状态信息表。在以后的编程过程中,发现网络设备表和设备状态信息表之间得数椐有些冗余重复,而且设备状态信息表是一个数据更改频繁的表,只是为了标志设备的实时工作状态,作为一个存档的数据表意义不大。因此把设备状态信息表合入网络设备表。软件运行过程中,在网络设备资料表中提取相关信息构成设备状态信息表。由于用户资料表的控制器序号与网络设备资料表的设备地址码之间存在对应关系。在两个表之间
16、建立了强制参照完整性,两表之间的关系如下:数据访问技术。数据访问接口是一个对象模型,它代表了访问数据的各个方面。在 Visual Basic 中,可用的数据访问接口有三种:ActiveX 数据对象(ADO)、远程数据对象(RDO) 和数据访问对象(DAO)。为什么在 Visual Basic 中有三种数据访问接口呢?因为数据访问技术总是在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是 ADO,它是比RDO和 DAO 更加简单,然而更加灵活的对象模型。对于新工程,应该使用 ADO 作为数据访问接口。 ADO 是为 Microsoft最新和最强大的数据访问范例 OLE D
17、B 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻:OLE 自动化接口。同时 ADO 使用了与 DAO和 RDO相似的约定和特性,简化的语义使它更易于学习。ADO Data 控件是使用 Microsoft ActiveX 数据对象(ADO) 来快速建立数据绑定和数据提供者之间的连接的控件。数据绑定控件是任何具有“数据源”属性的控件。数据提供者可
18、以是任何符合 OLEDB 规范的数据源。尽管可以在应用程序中直接使用 ActiveX 数据对象,但 ADO Data 控件有作为一个图形控件的优势(具有“向前”和“向后”按钮),以及一个易于使用的界面,使您可以用最少的代码创建数据库应用程序。ADO作为新的、OLEDB 识别的数据源控件,其功能与内部的 Data 控件和 Remote Data 控件十分相似,通过这种方式允许您用最少的代码来创建数据库应用程序。因此,在软件编程中使用ADO控件是很好的方法 。网络授权控制模块的技术论证如何实现计算机与CATV网络之间的安全可靠的串行通信,是该系统中要考虑的一个非常重要的技术问题。而具体要考虑的方面
19、有两个:1在VB6.0中如何实现RS-232串口的通信控制2制定一个合理,可靠的通讯协议下面是这两方面具体的技术解决方案。1.VB6.0中如何实现RS-232串口通信。串行通信端口在系统控制的范畴中一直占有极其重要的地位,现在计算机上的串行通信端口(RS-232)是标准配备,通常含有COM1与COM2两个信道,均以9Pin公头接出。用途上则是以连接调制解调器(Modem)作通信传输最为常见。在本系统软件中,既是使用RS-232作为与CATV通信的端口。 在VB中,MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm不属于内建控件,而属于高级控件。MSComm通
20、讯组件对象乃是将RS-232低阶动作予以封装,使用者以高阶的BASIC语法即可利用RS-232与外界通讯,并不需太多的去关注其他有关的低阶动作。结合VB的语法和RS-232的工作机制可以很好的理解MSComm控件的原理和应用。MSCOMM控件的目的是为了让使用者设计一个可以和串行端口实现沟通及传送数据的系统,因此信息会在其硬件线路上流动,此控件提供了两种方式来处理信息的流动:(1)事件驱动(Event-driven)是处理连接端口通讯的一种有效方法。在许多情况下,在事件发生时,程序会希望被告知。例如,在一个字符到达或一个变化发生时。不管是发生通知事件或错误,程序都可以利用MSComm控件来侦测
21、并处理这些通讯事件及通讯错误。(2)程序通过检查CommEvent属性的值来轮询(Polling)事件和错误。如果应用程序不大,这种方法可能比较好。以上两种方式都可以达到数据收送的目的。但在本系统中,采用了第一种方式,因为串口所要接收的回传信息有多种,采用第一种方式可以在同一串口接收事件采用select语句来作分支处理。MSComm对RS-232的通讯前的初始化设置和通讯过程中的收发信息的操作主要是通过其属性来实现的。它的主要属性有: Commport:设定或传回通讯连接的端口代号。这是必须指定的,Windows系统会使用所设定的通讯端口与外界作通讯。 Settings :设定初始化参数,包括
22、联机速度,同位位检查,数据位,停止位等四个参数。Portopen:设定或传回通讯连接端口的状态。在使用串口之前必须先将要使用的Com1或Com2口开启;而完毕后必须将其关闭。 Input:从输入缓冲区读入并移除字符,并清除缓冲区中已被读取的字符。它符合FIFO(First In First Out)的机制。 Output:将一个字符串写入传输缓冲区。以上是MSCcom控制件在应用中必须设置或可以利用的属性,除此之外还有Inputlength,Handshaking, Rthreshold,Inbuffercount等重要属性。MSComm与其他控件一样也有事件,所不同的是,它只有一个Oncom
23、m事件,所有可能发生的状况,全部集中在此一事件予以处理;而且只要CommEvent属性的值一产生变化,就会产生Oncomm事件,同时连带地会引入CommEvent参数,可标志是发生了哪一个通讯事件或哪一个错误。最常用的是ComEvReceive(正常接收事件)。但只有在threshold属性不为时,才可能激发该事件。 利用MSComm来作串行通讯控制的一般按下列步骤: (1). 加入通讯对象,即MSComm (2). 设定通讯端口号码,即CommPort属性。 (3). 设定通讯协议,即HandShaking属性。 (4). 设定传输速度等参数,即Settings属性。 (5). 设定其他参数
24、,若必要时加上其他属性的设定。 (6). 开启通讯端口,即PortOpen属性。 (7). 送出字符串或读入字符串,使用Input及Output属性。 (8). 使用完MSComm通讯对象后,将通讯端口关闭。 MSComm的使用方便和功能强大,完全可以满足本系统中的串口通讯模块的技术要求。但在实际设计时还有一点应是特别注意的。PCPIC(单片机)的串口通讯和 PCPC的串口通讯相比有一个重要的区别:PCPC传输数据的形式往往为字符(串),且每个字符的ASCII值不大于128,即可见字符。所以PCPC通讯通常把MSComm的Inputmode属性设为Cominputmodetext(值为0),数
25、据将通过Input属性以文本或字符(串)形式取回。而在单片机中,数据常以十六进制数来表示,也就是说一个字节的数据可以是255的任何一个。因此在PCPIC的串行通讯中,往往只有在PC上将MSComm 的Inputmode属性设为(二进制型)CominputModeBinary(值为),数据通过Input属性以二进制形式取回,才能正确的接收由单片机上传回的数据。本系统由于是PCPIC通信,因此采用了Inputmode=1。2.关于通信协议的考虑:完整,规范的通信协议是进行串行通信的前提。通信双方只有在严格遵守一致的协议的基础上,才有可能顺利的实现数据的传送和接收。对于一个在应用上有针对性的串行通讯
26、系统来说,它的协议不仅仅是对串口初始化参数的一致规定,如波特率,有无校验位,数据位,停止位的规定。这些可看作最基本也最底层的协议要求。除了这些,完整协议还应包括在应用级别的规定。 在本系统中,串行通信的目的是为了通过PC的串口向网络终端成百上千的PIC单片机发送各种控制指令,PIC收到指令后,对其控制的用户端口作相应的操作。而且PC还可以接收由PIC传回的网络用户终端的状态信息,并作相应处理。要达到以上要求,在对于串口初始化参数一致规定的基础上,还必须增加其他一些协议内容:为区别网络中成百上千的控制器(即PIC单片机)每个控制器应有一个唯一的地址码控制器序号(也称设备地址码),而为区别网络上成
27、千上万的用户,又在控制地址器序号的基础上给每个用户分配一个唯一的用户地址码(控制地址码)。为控制器每个具体的授权或状态检测操作规定一个字符,一般为不可见字符,称为操作符。为区别PC发送的命令是针对全局(所有控制器)的还是局部(部分控制器),应定义一个表示操作范围是全局的特殊标志码。字节数与控制器序号一样,但内容是唯一的,也绝对不与任何控制器序号重复。每个操作命令的格式规定,它包括起始字符,特定控制器序号或用户地址码或全局操作特殊标志码,还应有操作符。 规定控制器回传信息的格式,便于PC正确接收和处理。 本系统中串口初始化参数约定为:波特率:9600bps奇偶较验位:无数据位:8位停止位:1位其
28、他具体的控制协议请见附录。报表打印模块这个模块主要用到的技术是数据环境对象技术。Visual Basic 6.0 为数据库开发人员提供了一个新的数据环境设计器(Data Environment Designer)。利用数据环境设计器可以使用拖放的方式建立重复使用的数据连接对象,记录集命令对象等,还可以访问后台数据库,真正实现可视化编程。数据环境设计器提供了一个创建 ADO 对象的交互式的设计环境。这些可作为数据源供窗体或报表上的数据识别对象使用,或者在程序中作为显露在 Data Environment 对象之外的方法和属性进行访问。数据环境设计器不仅支持 Visual Basic 的 User
29、Connection 设计器(VB中旧的设计器)的所有功能,还支持一些附加的功能,包括拖放等。 拖放功能,该功能允许您从数据环境设计器中拖动字段和表到一个窗体或数据报表 ActiveX(Data Report ActiveX)设计器中。在窗体中自动地创建数据绑定控件。您也可以指定创建控件的缺省控件类型。该项功能极大的方便了报表的制作。查询模块这一模块所涉及到的主要技术是SQL查询技术。结构化查询语言(SQL)是工业标准的数据库操作语言,是Visual Basic 与Jet数据库引擎和在Windows NT服务器上运行的数据库引擎之间进行通信的基本方法,在大多数关系型数据库管理系统中,都需要用到
30、SQL。SQL的起源与关系型数据库紧密相连。现代的SQL已经发展为关系数据库所广泛使用的标准,并且被ASIC标准所定义。一个SQL查询至少要包括下面三个元素:1.一个动词,例如SELECT,它决定了操作的类型。2.一个谓语动词,由它来指定一个或多个字段名,或者指定一个或多个表对象,例如,使用(*)表示选中的所有字段。3. 一个介词短语,由它来决定动词在数据库中哪个对象上动作,例如“FROM Table Name”一个SQL语句被传送给一个基于SQL的查询引擎,产生结果数据集合。结果集合以行或列的形式输出。第2章 各模块的具体设计 2.1 登陆窗与主窗体 主窗体模块包含了系统全部功能的菜单,有主
31、窗体即可进入其它功能子模块,为了操作上的便利,将主窗体设为MDI窗体,其它窗体除登陆窗外都设为它的子窗体,主窗体如下图所示: 图2-1主窗体MDIForm1 登陆窗是系统启动后验证用户合法性的窗体,如下图所示: 图2-2登陆窗 login 登陆成功后即可进入主窗体。登陆窗中有一个DTPicker控件,用来显示计算机的系统日期,由于软件中有一些功能与系统日期有关(如网络刷新),此控件的作用就是提醒用户核对系统日期。登陆窗中密码核对的实现登陆窗的ADO控件ADODC1的数据源RecordSource设为SQL查询:select * from 工作人员资料 where 工作编号=“工作人员标号“ A
32、ND 密码=“密码”。查询以后若无相关记录,则用户号或密码有错,有相关记录则进入主窗体。22用户及网络资料管理与查询 控件的选择为了节约空间,本模块应用一个SSTAB控件将用户资料及设备档案在同一位置显示出来。要显示数据需要将数据绑定控件绑定到相关的ADO控件上。在设计过程中,最先选择的是TextBox控件,每个控件板顶到一个字段上。但在编程过程中发现需要数十个TextBox控件,程序复杂,不利于编程,程序的可读性也很差。于是选用了DataGrid控件,显示容量大,浏览也很方便,优化了程序代码,提高了可靠性。本窗体如下图所示: 图2-3用户及网络设备资料管理docfrm 功能的实现 数据浏览
33、浏览数据的主要命令按钮有“上一条“、“下一条” 、“首记录” 、“末记录”。实现方法是用数据控件ADODC的Recordset属性的MovePrevious、MoveNext、MoveFirst、MoveLast方法。ADODC控件对数据库的良好支持使得本部分的编程大为简化。 为了便于操作,还增加了两个Textbox控件Text3、Text4来显示当前记录的位置。分别用到Recordset的AbsolutePosition和RecordCount属性。 数据操作数据操作的主要功能按钮是“增加“、“删除”、“修改”、“更新”、“取消”。使用的是Recordset对象的AddNew、Delete、
34、Update、CancelUpdate等方法以及DataGrid的AllowAddnew、AllowDelete、AllowUpdate属性。 数据查询 本部分的查询调用了两个窗体queryfrm1、queryfrm2分别用来查询用户资料和网络设备资料。窗体如下所示: 图2-4用户资料查询窗体queryfrm1 图2-5网络设备资料查询窗体queryfrm2两个窗体类似,以queryfrm1为例,窗体上有两个Comobox控件,一个DataCombo控件。前两个Comobox控件用来显示供用户选择的项。DataCombo控件则利用ListField属性来显示在Combo1中所选自段的所有值。查
35、询功能由docfrm窗体中的Adodc控件实现。23网络授权管理及特殊网络操作窗体介绍本部分主要实现前端软件对网络的授权管理,其窗体如下:图2-6网络授权控制netfrm窗体中有两个DataGrid控件,分别绑定到两个ADO控件Adodc1、Adodc2,分别显示用户资料和网络设备资料。由于本模块中的命令很多,故使用了一个SSTAB控件,来显示网络端口监测、授权方式设置、加扰三组命令。窗体中的Textbox控件Text1则用来显示刚刚发出的指令和回传信息。用户资料查询和网络设备查询分别调用了queryfrm3、queryfrm4两个查询窗体,它们与queryfrm1、queryfrm2类似,不
36、再作具体介绍。其中queryfrm4也是局部网络操作所调用的窗体,查询的结果将在DataGrid2中显示。特殊网络操作命令调用了Form1(特殊网络操作)窗体,实现对特定分支器的特定用户进行“授权”、“解除授权”等操作。另一个小模块progfrm(进度显示)在授权或网络状态检测等操作的对象(终端控制器或用户端口)是大批量的时,用于显示网络操作的进程。它提供了一个包含进度条的窗体。流程介绍网络操作模块从工作流程上主要分为指令发送与回传信息处理两个过程。指令的发送,主要应用MSComm控件的Output属性:MSComm.Output=”指令”。根据通信协议,指令的格式为:“AE,标识符,操作符“
37、。标识符标志全局操作(值为999918的ASCII码)或特定分支器(值为设备地址码对应的ASCII码)。设备地址码通过ADODC2控件与网络设备资料表相连而取得。操作符则标志操作的类型,如加扰为A5,解除加扰为A6,暂时授权为A3,解除暂时授权为A4。SSTAB控件上的所有命令都通过ADODC2的Recordset对象将网络设备资料中的设备地址码取出来并变为对应的ASCII码,作为标识符。网络刷新命令与其他命令不同,它是通过ADODC1控件将用户全面资料表中的控制器序号等信息取出,变换成ASCII码后,作为标识符。各个网络操作命令的发送虽然有一些细微区别,但其方法和基本步骤是相同的,下面以“局
38、部暂时授权指令”为例来说明本模块是如何在连接数据库的基础上,利用VB60通讯组件来实现RS-232的串口通信的。图2-7是详细的“指令发送流程图“ ,它体现了与数据库的紧密结合。指令的回传处理,这一部分比较复杂,以下将作详细介绍。本模块中采用串口控件MSComm的事件驱动方式来接收网络终端控制器返回的信息。在MSComm的OnComm事件中,采用select CommEvent分支语句来识别正常接收事件ComEvReceive。并在串口初始化时和每次接收完回传信息后,都将Rthreshold属性设为零,以避免因干扰和终端控制器误操作回传非法信息而导致接收事件的激发。同时为了保证正确的回传信息能
39、激发正常接受事件,所以,每次在发送“端口状态检测”指令前,将Rthreshold属性设置为3(因为回传的端口状态信息是3个字节);每次在发送“端口电平检测”指令前,将Rthreshold属性设置为1(因为回传的端口状态信息是1个字节)。这样就确保了在分别与这两个指令相对应的回传信息到来时可以激发MSComm的正常接收事件。在正常接收事件ComEvReceive激发后,先根据回传信息的字符数判断收到的是状态信息和电平信息,采取不同的处理方式。同时,将一个标志串口返回信息正确与否的标志comflag置为True。任何一个对终端控制器进行状态查询的命令(端口状态检测指令,分支器电平检测指令)发出后,
40、经过一定的延时,都将根据comeflag标志来决定下一步的操作。comeflag的重要意义和作用,可在图2-8“信息回传处理流程图”里得到明显体现。图2-7 指令发送流程图 2-4报表统计作为一个具有数据库管理维护功能的软件,报表打印是不可缺的。在本软件中,对于有线电视用户资料尤其是其交费情况的管理和统计尤为重要的。该模块不但可以帮助工作人员了解有线电视台目前的总的收费情况,而且还可以及时的打印交费通知单通知用户按时交费。该模块实现了四种报表的打印:用户资料清单和网络设备清单,欠费用户清单,催缴费通知单。这个模块在技术实现上的特点就是在开发时用到了数据环境(DataEnvironment)设计
41、器和数据报表设计器(Microsoft Data Report Designer)。 数据环境设计器是Microsoft在Visual Basic 60最新加入的一个专门用于进行数据连接的工具。它不但为编程而且也为其运行时提供了一个交互的数据访问环境。 数据报表设计器是一个多功能的报表生成器,其最大的特点是具有创建联合分层的能力。VB 6.0中制作报表时,通常是与数据环境设计器一起使用的。 在制作本模块所需的报表时,添加了一个数据环境设计器DataEnviroment1。并且添加了两个命令:Command1和Command2。分别访问”用户全面资料”表和”网络设备资料”表。在制作以上四个报表(datareport1datareport2)时,利用了字段拖放技术。 在该模块中,采用了datareport.show的方法来输出已有的报表。并利用了”set datareport.dataresource=docfrm.adodc4”语句(注:adodc4为用户及网络设备资料窗体界面上的Adodc控件),以此来动态的改变数据源,打印出含所需记录的报表。2.5其