已阅读5页,还剩47页未读, 继续免费阅读
(电路与系统专业论文)基于CS和BS混合架构的远程测控系统的设计与应用实例[电路与系统专业优秀论文].pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体己经发表或撰写过的科研成果。对本 文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名:菹壶日期: 盘5 j 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅:本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:盏盎 导师签名: 山东大学硕士学位论文 中文摘要 监控系统即数据采集与监视控制系统,又称s c a d a ( s u p e r v is o r y c o n t r o la n dd a t aa c q u i s i t i o n ) 系统。它是以计算机为基础的生产过 程控制与调度管理自动化系统,可以对现场的运行设备进行监视和控 制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警 等各项功能。随着以互联阚为代表的信息技术的广泛应用,地域不再 是影响企业竞争的重要因素,所以研究设备的远程监控已成必然。远 程设备监控包括设备的远程数据采集、设备控制系统的远程调试和配 置、设各的远程控制和设备的远程维护。然而,在早期开发的计算机 监控系统中,广泛采用的是集中式结构。对于大规模监控系统而言, 集中式的体系结构己不能满足系统动态变化和扩展的要求。 在b s 和c s 混合架构的基础上,本文设计了一种基于i n t e r n e t 技术的测控系统的远程监控方案。该系统由四部分组成:监控中心( 负 责数据处理) 、工业现场( 负责数据接收、处理和发送) 、现场监控端 ( 负责在现场附近实时监控) 、远程监控端( 负责异地实时监控) 。为 满足监控的实时性、数据处理的复杂性、现场安全性要求,远程监控 实行b s 模式,现场监控采用c s 体系。 系统以一台装有w i n d o w s 操作系统的普通p c 作为监控中心,实现 数据采集、数据库服务、w e b 服务等功能,它一方面与现场监控计算机 利用w in d o w ss o c k e t 通信;另一方面接收来自工业现场的信息并向其 发送控制命令;最后通过i n t e r n e t 与远程监控端通信。 本文将对监控对象一一电子式弹簧拉压试验机的智能测控系统的 主要参数和状态信息进行实时采集和远程动态监控。具体说明智能测 控系统的设计及其与监控中心的通信、监控中心与现场监控端的通信 并对监控中心与远程客户端的b s 架构作概括说明。 关键词:嵌入式系统,b s ,c s ,t c p i p 山东大学硕士学位论文 a b s t r a c t m o n it o rin ga n dc o n t r 0 1 s y s t e m n a m e l y c o n t r o la n dd a t a a c q u is i t i o n ( a b s c a d a ) ,i sa na u t o m a t i z a t i o ns y s t e mo fp r o c e s s m o n i t o r i n g a t t e m p e r i n g a n d m a n a g i n g h a s e d0 n c o m p u t e r t e c h n 0 1 0 9 y b y m e a n so ft h is s y s t e m w e c a n i m p l e m e n t d a t a a c q u is i t i o n ,a p p l i c a t i o n c o n t r o l , m e a s u r i n g 。p a r a m e t e r m o d u l a t i o na n d g iv e w a r n in g s i g n a l so fm a n yk i n d s w i t ht h e e x t e n s iv ea p p l ic a t i o n0 fi n f o r m a t i o nt e c h n o l o g ye s p e c i a l l yw w w a r e ais n ta ni m p o r t a n tf a c t o ri nc o r p o r a t i o nc o m p e t i t i o na n y m o r e :t h e r e f o r e ,t h e r eisn e c e s s it yt or e s e a r t hr e m o t e m o r t i t o r i n go fin d u s t r i a la p p l ic a t i o n e a r l yi nt h ed e v e l o p m e n t o fm o n it o t i n gs y s t e m c o n c e n t r a t i v es t r h c t u r eise x t e n s i v et a k e n h o w e v e ritc a n tm e e tt h ed e m a n df o rd y n a m icv a t i a tio na n d e x t e n s i o n b a s e do nt h em i x e dc o n s t r u c t i o no fc sa n db s t h is p a p e r c o n t r i g e sar e m o t ec o n t r 0 1s c h e m ef o re m b e d d e ds e r i a ld e v ic eb y v i r t u eo fi n t e r b e t t h es y s t e m e m p l o y s ag e n e r a l c o m p u t e r a s m o n i t o rc e n t e r :f i r s t l y ,b yt h ee m p l o y m e n to fw i n d o w ss o c k e t , i tc o m m u n i c a t e sw i t hf ie l d - m o r t i t o r c o m p u t e f s :s e c o n d l y 。 i t r e c e iv e sin f o r m a t i o nf r o mt h ef i e l da n ds e n d so r d e rt ot h e e m b e d d e d d e v i c e s :f i h a l l y ,i t c o n n e c t sw i t hr e m o t e - m o r t i t o r c o m p u t e r sv i ai n t e r n e t t h ep a p e rd e s c r i b e si nd e t a i lh o wt od e s i g nt h ee m b e d d e d t 0t e n s i o na n d c o m p r e s s i o n te s t i n gm a c h i n e a n d h o wt 0 c o m m h n ic a t ew i t hr e m o t ec l i e n t sv i ai n t e r n e t k e y w o r d :e m b e d d e ds y s t e m b sc st c p i p 4 山东大学硕士学位论文 1 1 引言 第一章绪论 随着i n t e r n e t 技术的发展和网络可靠性的提高,人们对网络的应 用已不仅仅局限于人与人之间信息的交流,如何能让各种电子设备与 1n t e r n e t 相连、实现设备的远程监控,已成为今天信息界关注的焦点。 这些电子设备内部都有嵌入式微控制器( m c u ) ( 或称单片机) ,能 够获取、利用信息并具有一定的控制功能,亦可称之为嵌入式设备。 所谓嵌入式设备是指以应用为中心、以计算机技术为基础、软硬件可 裁减、适应应用系统对功能、可靠性、成本、体积、功耗等的要求的 专用机设备“1 。 随着i n t e r n e t 在社会各个领域的渗透,电子设备也开始向互联网 方向发展,以实现远程监控。传统上电子设备的远程控制一般都采用 串行口r s 2 3 2 、r s 4 8 5 、c a n 等总线,这些通信协议的硬件资源一般都 集成在单片机上。这种方案连接距离比较近,需要布线比较多,并且 是一个封闭的系统。 本文将采用在监控地点附近作为监控中心的p c 机与单片机、现场 监控计算机连接,同时通过网络与作为远程客户端的p c 机通讯实现 单片机的in t e r n e t 远程控制。 1 2 目前现状 当前的m c u 大多数都是8 位或1 6 位的,处理速度和内存先天不足, 再加上无操作系统和丰富的硬件接口支持,要较为完整地在一片m c u 上 实现t c p i p 协议和系统本身的控制功能几乎是不可能的。因此,要实 现基于m c u 的嵌入式系统接人i n t e r n e t ,在技术上有一定难度。 目前采取的策略主要来自两方面的考虑:一是精简t c p i p 协议 组,尽量省去不必要的协议;二是采用一片已在其上实现了t c p i p 的 芯片,专门充当系统的通信控制器”1 。当前,比较好的解决方案主要 山东大学硕士学位论文 有以下三种。 夺采用t c p i p 专用芯片 该方案将m c u 应用系统和内部固化了t c p i p 协议的芯片相结合。 m c u 应用系统借助t c p i p 专用芯片,通过直接拨号或者与以太网相连 的方式接人i n t e r n e t ,硬件电路相对简单,无需其它中间环节的支持。 但由于t c p i p 协议实在复杂,没有一个专用芯片会实现所有的协议 组,所以这些t c p i p 专用芯片都有各自的局限性,并不一定符合用户 的具体要求。另外每一个电子设备都要申请一个i p 地址,i p 地址资源 是有限的,使用时还要付费,成本较高。采用这种方案的产品主要有 s c e l l ixs e m ic o n d u c t o r 公司的s x s t a c k ,s e i k o 公司的s 7 6 0 0 a 和r a b b i t 公司的r a b b i t2 0 0 0 芯片等。 夺利用网关技术 如图1 1 所示,整个系统通过一个网关与i n t e r n e t 连接,系统中的 m c u 只使用简单的、与网关通信的协议。该方案的优点是:( a ) 由于复 杂的t c p i p 网络协议是通过网关在p c 机上实现的,而m c u 只使用较简 单的内部协议,因而对m c u 的要求相当低,这样就将m c u 从复杂的协议 中解放出来,致力于应用系统的实现;( b ) 由于有了网关,整个实时控 制系统就有了统一的管理,与i n t e r n e t 相连只需在网关上设一个i p 地 址,使成本明显降低,同时大大增加了系统的实用性。目前市场上比 较流行e m w a r e 公司开发的e m i t ( e m b e d d e dm i c r oi n t e r n e t w o r k i n g t e c h n 0 1 0 9 y ) 技术就是采用这一方案。 图1 1 利用网关技术的实现方案 夺最原始的也是最直接的方案 该方案采用一片m c u 实现t c p i p 协议,并作为接入i n t e r n e t 的专 用通信控制器,它的作用和方案一中的专用芯片一样,将系统接入 in t e r n e t 。只不过方案一采用的是已固化的商业化的专用芯片,系统 集成方便工作量小。而本方案是要自行实现复杂的t c p i p 协议,研 6 山东大学硕士学位论文 发周期将大大增长。但是,由于是自己实现通信协议,就可以针对不 同的系统采用不同的协议,这种灵活性非常符合嵌入系统可裁减和量 身定做的特点。另外,对于研究m c u 系统接入i n t e r n e t 的核心技术来说, 这是一个不错的方案。一旦掌握了核心技术,就可根据一些固定的应 用,开发出专用的接入i n t e f n e t 的通信产品供用户使用。图1 2 为依据 该方案设计的实现m c u 接入以太网的原理框图。 巫互 母区亚亘,回 图1 2 实现m c u 接入以太网的原理框图 实现嵌入式设备的入网与p c 不同:第一,普通微控制器的系统资 源和运算速度无法运行复杂的t c p i p 协议;第二,微控制器型号各异, 指令系统各不相同,开发价值不菲。考虑到以上各点,本文将采用各 种嵌入式设备通过具有网关功能的p c 接入i n t e r n e t 的方式。与其他的 嵌入式系统网络接入技术比较,这种方式的优点在于,不需要在嵌入 式系统上有本地操作系统( n a t iv eo s ) ,也不需要在嵌入式系统上实现 t c p i p 等网络通信协议,由此大大降低了对硬件的需求,只要能实现 串口通信就可以实现网络接入,使其可以应用在更广泛的领域。 1 3 研究意义 在当前数字信息技术和网络技术高速发展的后p c ( p o s t p c ) 时 代,嵌入式系统已经广泛的渗透到科学研究、工程设计、军事技术、 各类产业以及人们的日常生活等方方面面。将嵌入式系统接入 in t e r n e t 、利用廉价的网络资源实现设备的远程监控是嵌入式系统发 展的方向之一。嵌入式串行设备的应用历史久远,在i n t e r n e t 日益发 展的今天,实现串行设各的远程监控具有重要的现实意义和紧迫性, 本文将以电子拉压试验机智能测控系统的远程监控实现为例,利 用廉价的i n t e r n e t 资源实现工业实时系统的远程监控,建立基于c s 和b s 混合架构的工业实时远程监控体系,实现工业实时数据的动态 发却和工业过程的远程监控,这无疑是个有意义的实用性很高的课 山东太学硕士学位论文 题。 1 4 课题任务 为实现嵌入式设备联网,一个现实的做法是采用专用网络( 如 r s 2 3 2 、r s 4 8 5 、c a nb u s 等) 把一小批单片机连接在一起,然后再将该 专用网络连接到一个p c 上,该p c 作为监控中心将专用网络上的信息 存储到数据库服务器,既可以w i n d o w ss o c k e t 方式与现场监控端通信, 亦可以转化为t c p i p 协议数据包,发到网上实现信息共享和远程监控。 监控中心的作用是完成协议的解释、转换、执行及其数据的存储处理, 由一台w in d o w s 操作系统( 或其他操作系统) 为平台的普通p c 来实现。 一方面它支持复杂的in t e r n e tt c p i p 协议,完成协议的转换、封装 和传送,从而允许客户端通过i r l t e r n e t 来远程访问它:另一方面需与 微控制器系统组成的轻型网络进行通信;最后还需与现场监控机组成 c s 体系结构,进行数据的采集、处理并保证系统的安全性。 本课题以拉压试验机的智能测控系统接入1 1 1 t e r n e t 为例讨论了嵌 入式串行设备接入in t e r n e t 的方案,主要解决三个方面的问题:一是 监控中心与远端p c 客户机之间的通讯,采用b s 模式,嵌入式设备通 过此体系接入i n te r t i e t ;二是使用d e l p h i 语言实现c s 体系;三是拉 压试验机智能测控系统的具体设计及其与监控中心的串口通信。 2 1 串口通信 第二章相关概念和技术 常用的串口通信有r s - 2 3 2 和r s - 4 8 5 两种,近年来相当盛行的u s b 及i e e e 一13 9 4 属于串行通信的扩展”1 。 r s 一2 3 2 的通信端口是每台计算机上的必要配置,通常含有c o m l 与c o m 2 两个端口。r s 一2 3 2 不仅实现简单,而且价格便宜,数码相机、 调制解调器等都提供r s 一2 3 2 作为与计算机通信的接口。 山东大学硕士学位论文 工业环境中进行串行通信时,通常会有噪声干扰传输线路,在以 r s 一2 3 2 进行传输时经常会受到外界的电气干扰而使得信号发生错误。 为此r s 一4 8 5 的通信方式应运而生。r s 一4 8 5 的信号( d ,) 被发送出去时会 分成正( d ) 负( d 一) 的两条线路,当到达接收端后再将信号还原成原信 号。即:( d ) = ( d + ) 一( d 一) 。这样如果此线路受到干扰,两条传输线上的 信号分别成为( d + ) + n o is e 及( d 一) + n o is e 。接收端接收后合成的运算 式是:( d ) = ( d + ) + n o is e 卜 ( d 一) + n o is e = ( d + ) 一( d 一) ,与原信号相同。所 以使用r s 一4 8 5 网络可以有效防止噪声信号的干扰,工业上的应用较适 合此种方式。 为了集成般计算机所使用的外围设备的连接方式,串行通信技 术史上出现了通用串行总线( u s b ) 接口。在此之前,每一种设备与计 算机通信都要使用一条专用的连接线与计算机后面的接头相连,使用 不方便。相同的外围设备若采用u s b 接口,则连接时只需用串接的方 式将各个设备连接在一起即可;如果设备较多,也可以使用u s b 集线 器进行集中管理。设备也可以有w i n d o w s 所支持的“即插即用”功能。 另外u s b 采用的速度高达1 2 m b p s ,而一般r s 一2 3 2 的最快传输速度为 115 k b p s 。 i e e e 1 3 9 4 ( 也称为f i r e w i r e ,火线) 与u s b 一样拥有即插即用功 能,同样具有使用容易和便利等优点,但i e e e 一13 9 4 在高速传输上有 优势,传输速度可达l0 0 0 m b p s ,另外还可提供异步和同步两种串行通 信方式。 2 ,2串口设备远程监控功能的实现 为适应在不同场合下进行串口远程监控的需求,目前已提出多种 串口设备远程监控解决方案“1 : 夺长线驱动 通过驱动延长通讯距离是最简洁的做法。在小功率应用中,使用 双绞线,传送距离可以达到15 0 0 m ,采用串口窃电技术,小功率长线 驱动不必外部供电。在大功率应用中,采用外部供电的放大器,通讯 山东大学硕士学位论文 距离可以进一步延长到i o k m 。长线驱动通常都带有光电隔离,必须成 对使用。长线驱动通过放大,增强了信号的驱动能力。延长了串口的 传送距离。但是,它无法改变串口设备和上位计算机的拓扑结构。串 口设备和上位计算机为一对一的关系( 见图2 1 ) 。 匝受乎臣郾绞籼匿匾酽圆 图2 1 长线驱动方案 夺调制解调器( m o d e m ) 调制解调器采用了移频键控技术( f 5 k ) ,把0 1 数字信号调制到 双音频载波上,这佯就能够通过固定电话网来传送串口信号。m o d e m 必须成对使用。该方案中,通过电话交换设备作中介,串口设备和上 位计算机构成了多对多的星形拓扑关系。通过电话号码寻址,1 台计 算机能够访问多台串口设备,每台串口设备能够被多台计算机分别访 问( 见图2 2 ) 。m o d e m 对串口的通讯距离做出了极大的延伸。m o d e m 方案属于星形拓扑结构,每台串口设备和电话交换设备之间、每台计 算机和电话交换设备之间都必须敷设专用线路。当串口设备或者计算 机的位置变化时,必须重新敷设线路。使用外线电话时会有较高的通 讯费用。 图2 2 调制解调器方案 夺串口设备服务器 串口设备服务器通过硬件手段,直接把串口转换成网口,其实时 性好。如图2 3 所示。在数据发送侧,串口信号通过串口设备服务器转 换成数据包的形式,从网口进入以太网。数据接收侧计算机中装有虚 拟串口驱动程序,并创建虚拟串口。通过参数设定,计算机的虚拟串 口和远端的真实串口建立对应关系。工业用串口设备的通讯波特率为 9 6 0 0 1 9 2 1 0 0 b p s ,而以太网带宽为l o m b p s 、1 0 0 m b p s 甚至1 0 0 0 m b p s , 0 山东大学硕士学位论文 所以在一个以太网中,可以同时传送成千上万路串口信号。串口设备 服务器把串口设备的通信距离延伸到以太网能够到达的任何地方。串 口设备和上位计算机构成多对多总线拓扑关系,通过i p 地址和串口号 寻址。由于是总线拓扑结构,当串口设备或者计算机的位置变化时, 不需敷设专线,只要附近有以太网就行。 口设鲁il 审口i 爱鲁 ii 计算机l i 计算机 口设鲁鲁il 口饿鲁m j l i li 童拽审nl l 直拙口 u 太一 图2 3 串口设备服务器方案 软串口设备服务器 本方法用软件代替价格昂贵的硬件串口设备服务器( 见图2 4 ) 。串 口设备把数据送到本地计算机,计算机中的串口服务器软件再通过网 口把串口数据包发送到以太网;远程计算机中的软串口客户机软件从 以太网接收串口数据包。并将监控命令反馈到串口设备。软串口设备 服务器的性能和串口设备服务器相似。在开发软件时,要注意搞清串 口设备的通讯协议和串口数据的传送格式。 图2 4 软串口设备服务器方案 夺无线数传电台 当地面没有可以利用的通讯介质时,可使用无线通讯方式( 见图 2 5 ) 。传送串口数据有专门的无线电台。称作无线数传电台。无线数 传电台采用扩频多址通讯技术。在数据发送侧,将串口数据调制变成 带宽为b ,的基带信号,再用扩频编码发生器产生伪随机编码( p n 码) 对基带信号作扩频调制,形成带宽为b :( b :远大于b ) 且功率谱密度极 山东大学硕士学位论文 低的扩频信号发射出去。在数据接收侧,用与发射时相同的伪随机编 码作扩频解调,把宽带信号恢复成常规的基带信号,然后再用常规通 讯处理数据,解调发送来的串口数据。由于一般干扰都是窄带的,所 以扩频通讯的抗干扰性特别好。无线数传电台带有串行通讯接口,串 口传送速率9 6 0 0 - 一1 9 2 0 0 b p s ,内置无线m o d e m 。通讯距离有几十公里。 拓扑结构为一对一或者一对多。无线数传电台使用时不需要支付通讯 费用。 夺移动无线接入终端 图2 5 无线数传方案 图2 6 移动无线方案 移动通讯接入商建造了很多分布广、性能优异的通讯中转基站, 不必自己建立基站就能实现串口设备的移动无线通讯( 见图2 6 ) 。 最常用移动网有g s m 和g p r s 两种。g s m 基站覆盖广,缺点是通讯速率 低,只有9 6 0 0 b p s ,且通讯费用按时间计算,价格较贵。g p r s 基站较 少,优点是通讯速率高,通讯费用按流量计算,价格便宜。串口设备的 移动无线通讯可以使用无线m o d e m 或短消息( s m s ) 方式。无线m o d e m 方 式利用无线接入终端内置的调制解调器。短消息方式利用移动网的短 消息收发功能。短消息适合数据量较小、不连续发送的场合。一条短 消息可以传送1 4 0 个a s c i i 字符或者7 0 个汉字。短消息发送覆盖很广 通讯费用很低。 本文拟采用软串口设备服务器方式。 山东大学颂士学位论文 系统配景中需要功能较强的p c 枫实现服务器功能,与单片机的通 讯仍采用传统方式,作为监控中心的p c 机,内部用软件实现网关功能, 目前流行的e m w a r e 公司的单片机互联网方案就是这种配置,这样单片 机只需要很少的软硬件资源就可以改造成与互联网通讯的方式,其主 要功能由p c 机来实现,这样很容易实现远程监控。但目前大多数计算 机采用的互联网都是地址浮动,要使每个单片机都有一个固定的i p 地 址,使远程计算机都能直接访阅到该单片枫,显然i p 旗址不够。一方 面目前的1 p 地址分配仍采用i p v 4 协议,这是一个3 2 位地址地址容 量有限。虽然i p v 6 目前正在制订中,地址可增加至6 4 位,理论上讲 每个单片机都可以有一个i p 地址,但庞大的i p 地址会使管理困难。 同时所有设备都直接连在i n t e f n e t 阏上,安全性较低。所以通用的解 决方法是采用网关,使内部单片机与外部i n t e r n e t 隔离,例如一个车 间内的单片枧利用轻型网络缀成一个局域网,通过网关与外部连接。 本系统中监控中心的功能类似于网关,不需要很多p c 资源,用户可以 在远程通过此中心与单片机系统连接,实现远程监控各个计算机。 2 3t o p 、u d p 、ip 协议 砖拱 表示层 会话屡 传输层 爵络层 敦撮链路屡 物理层 图2 7o s i 模型和瘸络协议方案 对应o s i 七层模型,t c p 和u i ) p 扔议是位于传输层的协议,而i p 位于网络层。如图2 7 所示。 t c p 是传输控制协议,它是一种匿向连接的协议,它向用户提 供可靠的全双工的字节流,t c p 关心确认、超时和重传等具体细节a 大 多数】n t e r n e t 应用程序使用t c p ,因为它是一种精致的、可靠的字节 山东大学硕士学位论文 流协议。t c p 套接口是流套接口的一种。应用程序利用t c p 进行通讯时, 发起方和接受方之间会建立一个虚拟连接,通过这一连接,双力可以 把数据当做一个双向的字节流来进行交换 打个比方,面向连接的服务就像是打电话。我们从摘机拨号开始, 到拨通后建立连接、进行通话,再到挂机断开连接这一过程,正是抽 象的面向连接服务的具体表现。首先,开始通话前,我们拨号,对方 响应,从而建立一条虚拟“链路”。只有双方都处活动状态,这条“链 路”才会保持存在。其次,我们可以通过这条“链路”进行双向的会 话,并且在一般情况下,我们可以通过对方的问答来确定对方是否已 经正确的听到了我们所说的话,这相当于面向连接协议为保证传输无 误而进行的额外校验。 与面向连接的服务正好相反,无连接服务则不管目的方是否处于 待接收状态,源方只管将信息发送给目的方,也不管目的方是否接收 到了该信息,以及接收到的信息是否无误。u d p 是用户数据报协仪,数 据传输方法采用的是数据报。它是一种无连接协议。u d p 是一种简单的、 不可靠的数据报协议,与t c p 不同,u d p 不能保证每一个u d p 数据报可 以到达目的。u d p 套接口是数据报套接口的一种。 也打个比方说,无连接的服务就像是我们邮信。我们只需封好信 封,将其投到邮筒中,我们不能保证邮局会把信件发送出去和信件在 发送过程没有被损害。 面向连接的服务和无连接服务各有其优缺点。 面向连接的服务能够保证通信双方传递数据的正确性,但它却要 为此进行额外的校验,同时,通信双方建立通信信道也需要许多系统 开销。 无连接服务最大的优点就是速度快,因为它不用验证数据完整性 也不为数据是否已接受操心。 i p 是网际协议。i p v 4 ( 我们通常就称之为i p ) 自8 0 年代早期以来 一直是网际协议族的主力协议,它使用3 2 位地址,为t c p 、o d p 、i c m p 和i g m p 提供递送分组的服务。9 0 年代中期,又设计出了用以替代i p v 4 的ip v 6 它使用1 2 8 位的大地址。 山东大学硕士学位论文 2 4d el p hi 语言 2 4 1 关于d e i o h 十分流行的开发工具d e l p h i 是i n p r is e ( 原b o r l a n d 公司) 的主要 产品之一,是基于w in d o w s 的面向对象的可视化软件开发工具,具 有高效、优化和可扩展的数据库技术的优点,现已发展到d e l p b i8 a r ic h i t e c te d i t io r l ( 设计师架构版) 。 面向对象的程序设计( o b j e c to r i e n t e dp r o g r a m m i n g ,简记为o o p ) 是d e l p h i 诞生的基础。o o p 立意于创建软件重用代码,具备更好地模 拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。 它通过给程序中加入扩展语句,把函数“封装”进w i n d o w s 编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理 清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它 们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容, 只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对 象的,否则对象产生的好处还没有带来的麻烦多。而d e l p h i 是完全面 向对象的,这就使得d e l p h i 成为一种触手可及的促进软件重用的开发 工具,从而具有强大的吸引力。一些早期的具有o o p 性能的程序语言 如c + + ,p a s c a l ,s m a l l t a l k 等,虽然具有面向对象的特征,但不能轻 松地画出可视化对象,与用户交互能力较差,程序员仍然要编写大量 的代码。d e p h i 的推出,填补了这项空白。用户不必自己建立对象,只 要在提供的程序框架中加入完成功能的代码,其余的都交给d e l p h i 去 做。欲生成漂亮的界面和结构良好的程序丝毫不必绞尽脑汁,d e l p h i 将帮助您轻松完成。它允许在一个具有真正o o p 扩展的可视化编程环 境中,使用它的o b j e c tp a s c a l 语言。这种革命性的组合,使得可视 化编程与面向对象的开发框架紧密地结合起来。 d e l p h i 的程序设计是基于事件驱动的。事件驱动围绕着消息的产 生与处理展开,d e l p h i 系统为我们提供了一个自然、彻底的事件驱动 山东大学硕士学位论史 开发环境,为我们准备了各种事件的驱动接口,开发者编程的重点是 在事件处理上,只要将相应的处理程序“对号入席”就行了。 可视化是指可视化的开发环境,在许多面向对象开发工具中均提供 可视化的开发外埔。这种开发环境使设计者可以在整个设计与开发的 过程中能对所开发的应用程序的外观有一个消晰的了解,而不必通过 代码的运行才能见到运行时的外观效果。例如,设计者在设计阶段可 以在窗体中布设界面组件,可以通过简单的操作设置它们的颜色、形 状、大小及初始选项等,并可调整它们的位置,直到设计者满意为止。 这种所见即所得的可视化的开发方式使系统的开发变得直观方便,且 易于控制。d e l p h i 提供了大量可视化的组件( 类) ,这些类体系完整, 能满足各类程序的需要。 d e i p h i 具有功能强大和性能良好的数据库管理系统,d e l p h i 提供 了一些数据库的操作工具,使用这些工具无需通过应用程序即可对数 据库进行各种操作。其数据库管理系统具有以下特点: 将程序设计语言与数据库操作语言相结合: 在数据管理中引入面向对象的概念:通过对象来管理数据,将数据 管理的文件细节封装在对象之中,d e l p h i 提供了各种类型数据存取和 控制组件,使用这些组件及其相应的编程接口。使得数据库应用程序 的设计过程变得直观、形象而又十分简单: 采用开放式平台:d e l p h i 数据库可以选择p a r d o x 、d b a s e 、i n t e r b a s e 等基本类型,并且可通过“开放式数据链接包”识别共它类型的数据 库; 强大的网络数据库功能:d e i p h i 系统支持网络应用程序的实现,使 用d e i p h i 数据库管理系统,不仅可以建立用于局域网的数据库应用程 序,而且可通过建立w e b 数据库,将数据库中的信息在互联网上进行 发布。 2 4 2d e lp h i 编写网络程序的方式 d e l p h i 在编写网络程序时可使用多种方式 6 山末大学硕士学位论文 ( 1 ) 使用d e l p h i 的网络组件 d e l p h i 支持强大的网络程序编写组件,涉及网络编程的p a l e t t e r 很多,如w e b s e r v ic e s 、j n t e r b a s e 、i n t e r n e t e x p r e s s 等,其中的 i n t e r n e t 和f a s t n e t 组件涵盖了从底层s o c k e t 编程到高层f t p 、s m t p 、 h t t p 等应用协议封装各个方面。应用这些组件我们能完成大部分常 规的网络应用程序的编写,同时还能节约时间,提高开发效率。 ( 2 ) 使用第三方网络组件 d e l p h i 编写组件的功能十分强大,而d e l p h i 在世界上众多的支持 者和爱好者们利用这一功能,写出许多封装好各种应用的组件供大家 使用,在互联网上发布。其中有许多网络组件都功能强大应用方便。 可以便我们的编程事半功倍。 ( 3 ) 使用w in s o c ka p l w i n d o w ss o c k e ta p i 是m ic r o s o f tw i n d o w s 的网络应用接口,常 常简称为w jn s o c ka p l 。它是个基于s o c k e t 模型的a p i ,包含一个标 准的b e r k e le ys o c k e t s 功能调用的集合,以及许多专为w i n d o w s 所作 的重要扩允。在d e l p h i 中,支持所有的w i n s o c k e ta p i 调用。使用该 方法编写网络应用程序的特点是较利用组件更加底层,控制上更为灵 活、全面、细致,但方法也要比利用组件复杂。 ( 4 ) 利用自己编写的网络组件 自己编写网络组件的难度相对来说较大,一般来说,我们只在完 成某些特殊的网络应用,又需要大多数程序员对其细节隔离时,才采 用这种力式。 ( 5 ) 利用a c t iv e x w i n d o w s 系统有着丰富的a c t i v e x 组件,其中的网络a c t iv e x 组件 不乏功能强大、集成度很高的优秀者。d e l p h i 是可咀利用各种a c t i v e x 组件的,它使程序编写更为轻松,可以更好的利用已有资源,避免重 复劳动。但是,利用a c t iv e x 组件,也存在着许多缺点,例如因无法 得到a c t iv e x 组件的源代码,对其内部细节不了解,在应用过程分析 和处理过程都较复杂,而且在程序开发过程中,常常需要包含该 a c t iv e x 组件,并在要安装时加以注册,增加了难度。 山东大学硕士学位论文 以上我们列举了d e lp h i 在编写网络相关程序时常采用的几种方 法,其实在实际编写的过程中,要具体情况具体分析,并不能拘泥于 某一定式,有时还要将各种方法结合使用以得到最佳的编程效果。本 文使用w i ns o c ka p i 实现客户端和服务器端的软件编程。 2 4 3w i1 9 s o c ka pi s o c k e t ( 即“套接字”) 可以让应用程序通过网络与其他系统通 信,我们可以将其理解为可以被命名和寻址的通信端点。利用s o c k e t 来进行网络通信的开发,可以根据需要采用不同的通信方式,提供不 同等级的服务质量( q o s ) ,为通信的顺利进行提供了强大的支持和极大 的灵活性。 w i n s o c ka p i 是s o c k e t 模型在w i n d o w s 操作系统下的具体实现。 对于众多的基层网络协议来说,在w i n d o w s 平台下,w i n s 0 c k 是访问它 们的首选接口,w i n s o c k 是网络编程接口,而不是协仪,它构成了 w i n d o w s 平台下进行网络编程的基础。从程序员的角度看,w i n s o c ka p l 是一组用c 语言编写的a p i ,用于通过互联网进行数据传输。虽然现在 有很多现成的工具如w w w 浏览器、f t p 程序可以实现在i n t e r n e t 上传 输数据和文件,但是,从源程序开始的w i n s o c k 编程可以获 ;晕更大的 灵活性和更高的效率。编写过w i n d o w s 应用程序的程序员都知道,利 用w i n s o c k 编写应用程序绝对不是一件轻而易举的事情。幸运的是, 在d e l p h i 中t c l ie n t s o c k e t 和t s e r v e r s o c k e t 组件对w i n s o c ka p i 进 行了封装,使得我们对w i n s o c ka p i 的调用大大简化。 在使用该组件编写网络应用程序之前,先了解s o c k e t 通信的基本 原理。 要通过网络传输数据,至少要跟一对s o c k e t 打交道,其中一个在 客户端,一个在服务器端。一旦客户端和服务器端的s o c k e t 接通,客 户端和服务器端就可以相互通信。用s o c k e t 建立的连接是构建在t c p i p 协议基础上的,同时,它也支持其他相关的协议,如i p x s p x 等。d e l p h i 分别用t c l i e n t s o c k e t 组件和t s e r v e r s o c k e t 组件来操纵 山束大学硕士学位论文 客户端s o c k e t 和服务器端s o c k e t 的连接和通信。这两个套接字控件 简化了w i n d o w s 环境下的t c p i p 编程。t c l ie n t s o c k e t 控件可以通过 程序设定通信端口,设置i p 地址,发送相应数据。t s e r v e r s o c k e t 控 件监听客户端数据,但必须设置与t c l i e n t s o c k e t 一致的通信端口。 使用套接字控件时,使用下列属性确定主机和服务: a d d r e s s 属性用于指明要连接的服务器的i p 地址,其“优先级” 没有h o s t 属性高; 1 1 0s t 属性指明的是要连接的服务器的主机名; p o r t 属性用来指明服务器的端口号,对应于服务器上的某个特定 服务( 端口号分为已知端口、已注册端口、动态或私用端口。0 1 0 2 3 由i a n a 控制,是为固定服务保留的,如f t p 和h t t p 对应端口2 1 和8 0 ; 1 0 2 4 4 9 l5 1 是i a n a 列出来的,已注册的端口,供普通用户的普通用 户进程或程序用;4 9 1 5 2 - - 6 5 5 3 5 是动态或私用端口) : s erv ic e 属性用来指明服务器上的“己知”服务。 7 r c l ie n t s o c k e t 和t s e r v e r s o c k e t 控件内部都是消息驱动的发送、 接受、连接错误等消息事件都会触发相应的函数,程序需要在相应的 函数里填入相应的执行代码完成相应的任务。 对应于o s i 七层参考模型,w i n s o c ka p i 是位于会话层和传输层之 间的,它提供了一种可为指定的传输协议( 如t c p 、0 d p ) 打开、进行和 关闭会话的能力。在w i n d o _ i i r s 操作系统下对o s j 七层参考模型的上三 层( 即应用层、表示层和会话层) 进行网络编程时,就要通过w i n s o c k a p i 和位于系统内核的t c p ( u d p ) 、l p 协议栈部分来打交道。每个 t c p u d p 连接都是通过端口实现的,端口用一个1 6 位数字表示,i p 地 址加上t c p i p 端口可以指定一个i n t e r n e t 连接( 套接字) 。 2 5 多线程技术 一般的串行通信方式有两种:一种是轮询( p 0 1 l i n g ) 方式,不断 检测是否有数据被接收或是事件发生;另一种是建立线程,由线程进 行数据的发送接收和事件的检测。 9 山东大学硕士学位论文 如果是简单的串行通信动作,一般使用轮询方式:若是动作较复 杂,可以另外建立独立的组件执行串行通信功能。本文拟采用后者。 w if l o w s9 8 以后的系统采用一种全新的任务调度策略,它把一个进 程划分为多个线程。每个线程轮流占用c p u 的运算时间,操作系统不 断的把线程挂起、唤醒、再挂起、再唤醒,如此反复,由于现代c p u 运行速度比较快,给人的感觉是多个线程同时执行,犹如多个c p u 在 同时执行。 在讨论多线程之前,有必要明确进程和线程的概念:所谓进程, 就是操作系统要完成的作业,通常就是调入内存正在执行的程序。系 统为每个进程单独分配一个虚拟的地址空间,线程之间可以共享进程 的全部数据和资源。根据线程的优先级,操作系统分配c p u 的运算时 间。若优先级相同,则均匀分配。当一个线程占用c p u 到预定的时间 后,系统就把它挂起,然后唤起下一个进程。若优先级不同,只有当 将优先级较高的线程被挂起时,优先级较低的线程才有被唤起的机会。 系统将应用程序启动后,自动创建一个主执行线程,用户根据需要 在应用程序中创建其它线程,多个线程并发的运行在同一个进程中 一一个进程的所有线程都在该进程的虚拟地址空间中,使用这些虚拟地 址空f b j 、全局变量和系统资源,所以线程之间的通讯比进程之间的通 讯容易。 进行多线程程序设计时,要充分考虑到设计的可行性和安全性 发挥并行运行的高效性,最大限度地提高程序的效率。 在d e l p h i 下进行多线程程序设计并不需要过多学习庞大的w i n 3 2 p l 函数,可以利用d d e l p h i 下标准的多线程类t t h r e a d 来完成多线程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年沈阳市红十字会医院医护人员招聘考试备考题库及答案详解
- 2025年宜宾市第一人民医院E区医护人员招聘考试试题附答案详解
- 海外合作项目成功保证承诺书9篇
- 第6课 网络论坛教学设计小学综合实践活动长春版六年级下册-长春版
- 2025年内蒙古医学院附属医院医护人员招聘考试题库附答案详解
- 2025年北京回龙观医院医护人员招聘考试题库附答案详解
- 绩效管理实战策略与案例分析
- 2025年山西省精神卫生中心医护人员招聘考试试题附答案详解
- 天文观测设备保养责任书5篇范文
- 深化企业文化建设承诺函(7篇)
- 2026年山东定期医师考核题库及答案
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考题库及答案解析
- 2026年济南商标审查协作中心招聘(10名)考试参考试题及答案解析
- ERCP诊疗指南课件
- 2026年高一历史学业水平考试知识点归纳总结(复习必背)
- 2026年华远国际陆港集团校园招聘(122人)笔试参考题库及答案解析
- 2025年国企档案专员《档案管理知识》真题及答案解析
- 国家事业单位招聘2025中国文联所属单位公开招聘笔试历年参考题库典型考点附带答案详解
- 2026年广东教师公需课《人工智能赋能制造业高质量发展》习题及答案
- 北京2025年国家艺术基金管理中心招聘应届毕业生笔试历年参考题库附带答案详解(5卷)
- GB/T 7582-2025声学听阈与年龄和性别关系的统计分布
评论
0/150
提交评论