网站首页 > 设计资讯> 文章内容

面向过程的eb设计pdf

※发布时间:2017-11-23 10:17:24   ※发布作者:habao   ※出自何处: 

  1.本站不该用户上传的文档完整性,不预览、不比对内容而直接下载产生的问题本站不予受理。

  南京工业大学硕士学位论文面向过程的Web设计 摘要 工业过程信息系统是依赖工业系统与信息系统技术的集成自动化 系统,它具有良好的性。为此,本文将Intemet中的Web技术应用于工业过 程信息系统中,提出了构件基于B/S结构的性工业过程信息系统的 思想。针对实现过程中两题:异构系统的数据交换、动态数据发布,展开了 深入研究。在异构数据交换的研究中,讨论了NetDDE、ODBC等数据交换技术。 业网络信息系统的工程实践,探讨了iWebServer是实现B/S结构过程系统 的一种高效、快捷、实用的方法。 关键词 工业过程信息系统 iFix/iWebServer ActiveX/ADO 南京工业大擘硕士学位论文面向过程的Web设计 Abstract IndustriaIinformation iS automation process supervisor systemintegrated system basedonthe ofindustrial andinformation techniques supervisorsystem system.it need featureof theideathatbuilds possess goodopening,SO,this proposed industrialinformation with process featureof basedonB/S supervisorsystem opening architecture.Twohard thataremetin data points developingsystemincluding betweendifferentstructure are exchange data studied system,dynamicdeployment as studiedthe suchNetDDE.ODBCetc.We deeply.The exchangetechniques several methodstO real—time Acti、7eX proposed byusing implement deployment and technique,ASPtechnique.ADOtechnique.WinSock a discussedmethodthatiS and to PaDer highemciency,shortcutpracticaIimplement monitor basedonB/S methodiSbasedon industryprocess system structure,The andiS iwebservervalidatedin ofthe network constructingproject enterprise information system. Industrialinformation architecture KEYWORDS supervisor process system,B/S Web II 南京工业太学硕士学住论丈面向过程的Web设计 第一章绪论 网络技术的发展,引发了控制领域的深刻技术变革。网络技术与控制技术相 结合产生的DCS、SCADA等系统大大促进了生产效率的提高,使自动化系统产 生了飞跃。性的控制系统随着网络化的发展也初露倪端。而采用什么样的技 术,以什么样的方式构建性的工业系统,则是近年来控制领域讨论较多的问 题。随着Intemet的飞速发展,人们将目光投向了构建Intemet的Web技术。 构使其具有了这些特性。目前,已有大量的商业、办公信息系统采用了这种结构, 并取得了良好的效果。于是将B/S结构应用于性工业系统也就成为了一个比 较热门的话题。但由于工业控制实时性的要求以及异构系统多的特点,使得一般 的Web技术无法应用于工业系统,这也使得基于B/S结构工业系统大多只停留 在研究阶段。 的新技术,如AcdveX控件技术、ADO技术、ASP技术等,这些技术可以用来 统的数据交换技术,而且一些工控软件也提供了一些Web功能,这些技术的出 现使得构建B/S结构的工业控制系统可以提到实用的阶段上来。 基于上述论述,我们提出了《面向过程的WEB设计》课题,该课题将 从工业控制系统和信息系统的集成出发,探讨实现基于B/S结构的面向过程控制 的Web设计的实用技术。 该课题综合了网络通讯技术、工业控制技术、数据库技术、信息表现技术。 它有效地消除了“自动化孤岛”。该课题实施完成后,将对企业信息进行自动采集、 处理和实时发布,可用于全面管理和监测企业内部的各个车问的各种原始数据, 为使用人员和各级管理部门及时提供准确的信息,提高企业在生产上的反应能 力,以创造更大的经济效益。 第1页 南京工业大学硕士学位论丈面向过程的Web设计 第二章生产过程信息系统 生产过程系统是对工业生产现场数据进行采集、处理、集中显示并能对 现场仪表进行控制的计算机系统。 随着网络技术的发展,Internet正在把全世界的计算机系统、通信系统逐渐 集成起来,形成信息高速公,形成公用数据网络。在此基础上,传统的工业控 制领域也正经历一场前所未有的变革,开始向网络化方向发展,形成了新的控制 网络。控制系统的结构从最初的ccs(计算机集中控制系统),到第二代的DCS(集 散控制系统),发展到现在出现的FCS(现场总线控制系统)。而新一代的工业 Ethernet控制系统又将引起工控领域新的变革。 2.1 生产过程信息系统的回顾111 六十年代,数字计算机进入控制领域,产生了第一代控制系统ccs(计 算机集中控制系统)。在ccs中,数字计算机取代了传统的模拟仪表,从而能够 使用更为先进的控制技术,例如复杂控制算法和协调控制。从而使自动控制发生 了质的飞跃。但由于控制简单,直接面向控制对象,并未形成控制网络体系。 ccs在集中控制的同时也集中了,系统可靠性很低。由于只有一个CPU工 作,实时性差。系统越大,上述缺点越突出。 真正意义的工业控制网络体系是七十年代出现的第二代计算机控制系统:分 散型控制系统DCS(也称集散控制系统)。目前所使用的DCS有环形、总线形和 分级式几种,其中分级式应用最为普遍。典型的DCS可分为操作站级、过程控 制级和现场仪表3级。这种控制系统的特点是“集中管理,分散控制”。其基本 控制功能在过程控制级中,工作站级的主要作用是监督管理。分散控制使得系统 由于某个局部的不可靠而造成对整个系统的损害降到很低的程度,加之各种软硬 件技术不断成熟,极大地提高了整个系统的可靠性,因而迅速成为工业自动 控制系统的主流。 2.2现场总线控制网络系统 DCS系统迅速成为工业自动控制系统的主流后,为了进一步满足现场的需 要,现场总线技术应运而生,它实际上是连接现场智能设各和自动化控制设备的 双向串行、数字式、多节点通信网络,也被称为现场底层设备控制网络(Infranet)。 要求很高的实时性、可靠性、资料完整性和可用性。为满足这些特性,现场总线 对标准的网络协议作了简化,省略了一些中间层,只包括ISO/OSl7层模型中的 第2唬r 南京工业大学硕士学位论文面向过程的Web设计 3层:物理层、数据链层和应用层。 现场总线在发展的最初,各个公司都提出自己的现场总线大总线作为国际现场总线标准,其中包括 Fieldbus等等。而在 Control 此基础上形成了新的现场总线控制系统(Fieldbus SystemFCS)。它综合了 数字通信技术、计算机技术、自动控制技术、网络技术和智能仪表等多种技术手 段,从根本上突破了传统的“点对点”式的模拟信号或数字——模拟信号控制的 局限性,构成一种全分散、全数字化、智能、双向、互连、多变量、多接点的通 信与控制系统。相应的控制网络结构也发生了较大的变化。FCS的典型结构分为 3层:设备层、控制层和信息层,如图2—1所示。 幽2-1现场总线控制网络结构 networkstructure Fi醴一1Fieldbuscontrol 虽然现场总线技术发展非常迅速,但也存在许多问题,制约其应用范围的进 一步扩大。 (1)首先是现场总线的选择。虽然目前IEC组织已达成了国际总线标准,但 总线种类仍然过多,而每种现场总线都有自己最合适的应用领域,如何在实际中 根据应用对象,将不同层次的现场总线组合使用,使系统的各部分都选择最合适 的现场总线,对用户来说,仍然是比较棘手的问题。 (2)系统的集成问题。由于实际应用中一个系统很可能采用多种形式的现场 总线,因此如何把工业控制网络与数据网络进行无缝的集成,从而使整个系统实 现管控一体化,是关键环节。现场总线系统在设计网络布局时,不仅要考虑各现 场节点的距离,还要考虑现场节点之间的功能关系、信息在网络上的流动情况等。 由于智能化现场仪表的功能很强,因此许多仪表会有同样的功能块,组态时选哪 个功能块是要仔细考虑的,要使网络上的信息流动最小化。同时通信参数的组态 也很重要,要在系统的实时性与网络效率之间做好平衡。 (3)存在技术瓶颈问题12l。主要表现在: a.当总线电缆截断时,整个系统有可能瘫痪。用户希望这时系统的效能可以 第3,贞 南京32业大学硕士学位论文面向过程的Web设计 降低,但不能崩溃,这一点目前许多现场总线不能。 b.本安防爆理论的制约。现有的防爆总线的长度和总线上负载的数 量。这就是了现场总线节省线缆优点的发挥。目前都在对现场总线本质 安全概念(FISCO)L望_论加强研究,争取有所突破。 c.系统组态参数过分复杂。现场总线的组态参数很多,不容易掌握,但组态 参数设定得好坏,对系统性能影响很大。 2.3以太控制网络系统 控制网络的发展,其基本趋势是逐渐趋向于性、透明的通讯协议,由于 现场总线控制网络上述的问题出现,促使人们开始寻求新的出,并关注到以太 网。以太网技术优势主要体现在以下几点p1: (1)具有相当高的数据传输速率(目前已达到100Mb/s),能提供足够的带宽。 术)世界。 (3)能在同一总线上运行不同的传输协议,从而能建立企业的公共网平台或 基础构架。 (4)在整个网络中,运用了交互式和的数据存取技术。 f5)沿用多年,已为众多的技术人员所熟悉,市场上能提供广泛的设黄、维 护和诊断工具,成为事实上的统一标准。 (6)允许使用不同的物理介质和构成不同的拓扑结构。 由于以太网具有上述优势,所以在商业系统中被广泛采用。近些年来,随着 网络技术的发展,以太网进入了控制领域,形成了新型的以太网控制网络技术。 这主要是由于多种现场总线互不兼容,不同公司的控制器之间不能相互实现高速 的实时数据传输,信息网络存在协议上的鸿沟导致出现“自动化孤岛”等,由于 工业自动化系统向分布化、智能化控制方面发展,的、透明的通讯协议是必 然的要求。而以太网的TCP/IP协议的性使得在工控领域通讯这一关键环节 具有无可比拟的优势。 J。 工业以太网具有如下的特性14 (1)实时性 传统的以太网采用的是--:fee随机访问协议——带冲突检测的载波侦听多址 访Ih日(CSMA/CD)介质访问控制协议,对于响应时间要求严格的控制过程会产生 冲突。近些年来出现了快速交换式以太网技术,采用全双工通信,可以完全避免 CSMA/CD中的碰撞,并且可以方便地实现优先级机制,网络带宽的最大利 用率和最好的实时性能。它完全避免了CSMA/CD、主从、令牌等可能的低效率。 第4页 南京工业太学硕士学住论文面向过程的Web设计 并且网络速度也在不断提高,从最初的IOM发展到快速以太NJ(IOOM)再到KM 以太网,而作为全球结构化布线系统领头羊的Avaya公司,已经开始为用户提供 由“LazrSPEED P882网络交换机系统”组成的完整万兆以太网解决方案。因此有理由相信,未 来的以太网完全可以满足工控系统实时性的要求。 f2)透明TCP/IP协议 TCP/IP通讯协议已是国际共通的标准,TCWIP协议极其灵活,几乎所有的 网络底层技术都可用于传输TCP/IP的通信。应用TCP/IP协议的以太网已成为最 流行的分组交换局域网技术,同时也是最具性的网络技术。TCPFIP进入工 业现场,使得工厂的管理可以深入到控制现场,是Intranet延伸到现场设备的基 础.是通过Intemet远程工业生产过程和远程系统调试、设备故障诊断的基 础。具有TCP/IP接口的现场设备可以无须通过现场的计算机,直接连接Intemet, 达到远程或远程维修的功能。为此目前许多厂商采用的方案是:现场总线协 Net NET、Device 议与EthemetTCP/IP协议的整合。包括:ModbusfrCP,Control andInformation 和Ethemet/IP联合推出CIP(Control Speed Field—bus推出HSE(Hi叠h TCP/IP。其中Rockwell 直接与TCP/IP推出,例如World兀P推出的WorldFIP 数据”嵌入TCP/UDP的数据帧,然后在Ethemet上发送。 强用设鲁抒娩 CtP应用屡血甩封氯喀 tip箍嚣督毫德喜报吏I,o撒文 CIP掇文*柽鹾接管理 封黉协i苴 埔P l 1℃P 1P gtheraet 图2-2应用CIP的Ethemet,IP the in Ethernet/lP ofCIP application Fi92—2 此外,还有采用网关和代理服务器(如ProfiNet),重新构建实时通讯系统(如 for IDA即Intece (3)资源共享 目前采用特定的FieldBus做为现场自动化的网络架构,则所有的硬件采购, 布线施工、软件开发、等等都受制于此架构,若要利用其他公司的产品,则 鹅5页 南京工业走学硕士学位论文面向过程的Web设计 sa4tchingHUB,网络接口至软件开发皆与主流市场相同,很容易达到资源 共享。 可以说,工业以太网络在自动化领域的迅猛发展,将结束目前在现场总线标 准上的纷争局面,大大提高企业自动化、网络化和信息化的水平。 第6页 南京工业大学硕士学位论文面向过程的Web设计 第三章性过程信息系统结构 随着计算机网络技术的发展,许多企业都建立了计算机网络,但是这些网络 绝大多数仅局限于管理信息系统的应用。另一方面许多车间和装置安装了各种工 业测控系统,但反映现场运行工况的画面、参数、和报表大部分只能在本地控制 室内运行,只有现场操作人员能够了解,无法被生产的高层决策者直接利用。随 着Intranet在企业内部的应用,可以利用企业管理信息网络,进行工』一实时运行 数据的发布和显示,通过Intranet浏览器使得管理者能够对现场工况进行实时监 视,同时通过Intranet便于进行生产过程的远程、远程设备调试和远程设备 故障诊断、处理。 因此,从过程信息系统的现状和前景来看,性是其必由之。利用 Web技术,在Intranet上构建~个基于Web的过程信息系统己成为~种必然 趋势。 3.1过程信息系统功能层的划分 一个完整的工业生产过程信息系统可划分为三个功能层:设备层、 层与信息层15I。这三个功能层具有的功能,它们通过网络技术和数据交换技 术有机的结合起来,构成一个完整的系统。 (1)设备层 设备层包含现场I/0模块、传感器及执行机构,主要完成现场数据的采集、 数据化,并向上一级网络提供数据以及驱动外围的执行机构等。I/0模块主要完 成现场各种信号采集、驱动部分外围的执行机构以及向级提供现场实时数据 功能。这个层次的数据传输率是自动设置的,即从站的数据传输率是自动设置的, 主站可以自动识别从站的数据传输率。另外,从站的软件编程组态是通过主站来 完成的。 (2)层 该层是实现对采集数据的处理、显示,对设备层的管理、控制。过程层 通常可由以太网等传输速度较快的网段组成,设备层可通过通信控制器或网关与 过程层交换数掘。过程层由计算机、冗余计算机、MCC控制 计算机、高级控制计算机、在线优化计算机、软测量计算机及故障诊断计算机等 组成。计算机利用工控平台实现工业现场的监督和控制,计算机所需完 成的任务包括从设备层读取现场数据,置入实时数据库,完成各种控制、运行参 数的监测、报警和趋势分析等功能,另外还包括控制组态的设计和安装,对现场 控制节点中的各个控制参数进行设定,恰当地显示各类现场信息等:过程优化计 第7贞 南京工业大学硕士学位论文面向过程的web设计 算机用于过程优化,在不修改工艺流程、不增加生产设备的情况下,仅通过调整 操作参数,使整个生产过程处于最优运行状态;高级控制计算机可针对流程1:业 生产过程的动态对象的特点,实现各种高级控制功能,如推理控制、预测控制、 智能控制等,具体算法可采用模型预测控制、动态矩阵控制、模型算法控制等; 针对有些过程变量难以测量或测量设备昂贵,网络可配置软测量计算机,运用神 经网络等技术,实现过程变量的软测量,这对提高控制水平、产品质量具有 重要意义。过程层主要作用是对现场智能设备的优化控制、组态以及实现以 太网与底层现场设备网络之间的连接,主要负责现场总线协议与以太网协议的转 换,数据包的正确解释和传输。 (3)信息层 信息层可以认为是以层数据为基础的信息系统,是基于Intranet的远程 层。其主要目的是在分布式网络下,构建一个安全的远程系统。首 先是将过程层实时数据库中的信息转入上层的关系数据库中,再在数据网络 中建立基于Web的实时系统,这样远程用户就能随时通过浏览器查询网络 运行状态以及现场设备的工况,对生产过程进行实时的远程。赋予一定的权 限后,还可以在线修改各种设备参数和运行参数,从而在广域网范围内实现底层 测控信息的实时传递。 在上述三层中,设备层和层在实现上可借鉴DCS系统和SCADA系统 等比较成熟的技术,而信息层却没有成熟系统可参考,因此采用什么结构,应用 什么技术来构建信息层是实现工业信息系统的关键。 3.2浏览器/II眨.务器三层系统结构体系 是把Intranet浏览器作为用户浏览器,浏览企业内部服务器的信息的界面。允许 用户对存放在任何平台服务器中的信息进行访问。这就要求浏览器和服务器能通 过网络进行通信。TCP/IP的价值正在于此,它实现了基于不同操作平台、不同 存储软件的浏览器和服务器之间的通信。 3.2.1客户机/JIE务器的体系结构 由于硬件技术的发展和操作系统能力的加强,网络的日渐完善,式网络 下的c/s(霭:P机朋艮务器)体系结构成为分布式处理的主流。采用这种体系结 构方式,能充分发挥现有Pc的运算能力,可以随着用户的需要增减设备,具有 表达能力强、可塑、分布、移植性好等优点。C/S体系结构可以充分利用各种现 有硬件和软件平台,提高系统的性能价格比。然而,随着Intemet技术的广泛应 第8页 南京工业大学硕士学位论文面向过程的Web设计 用,出现了Intranet的概念后,这种两层C/S结构了许多不足【6t: (1)服务器端的数据库必须与每一个活动的客户保持连接,运算资源难以得 到充分合理的利用。于是,随着客户数目的不断增加,系统性能就会不断下降, 甚至出现瓶颈的状况。 (2)在多用户、多数据库的下,可能造成用户长时问等待,带有死锁和 系统崩溃的潜在可能性。 }网嘲i聊引u} 垒鞠水 南京X-业大学硕士学位论文面向过程的Web设计 理程序。即除了输入输出在表示层、数据库在数据层以外,全部的统计、汇总、 分析、j=]-Ep功能存放在功能层。它的任务是接受用户的请求,首先需要执行相应 的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据 处理申请,数据库服务器将数据处理的结果提交给Web服务器,再由Web服务 器传送回客户端。 (3)数据层(数据库服务器) 数据层是数据库管理系统,负责管理对数据库数据的读写,位于数据库服务 器端。其任务是接受Web服务器对数据库的请求,实现对数据库查询、修 改、更新等功能,把运行结果提交给Web服务器。 3.2.3 B/S结构与C/S结构比较 B/S与传统的C/S结构相比,具有以下优点I_¨: 无缝连接,从而解决了并构系统间的连接问题。 (21由于Web采用了“瘦客户端”使系统具有的性得到很大的改善,系 统对将要访问系统的用户数有所放松。 f3)系统的相对集中性使系统的和扩展变得容易。 (4)界面统一(全部为浏览方式),操作相对简单。 f5、业务规则和数据捕获的程序容易分布。 3.3 B/S结构的生产过程信息系统 中得到广泛的应用。这为应用Web技术,以B/S结构为基础实现远程奠定 了物质基础。 对于一个完整的生产过程信息系统,从数据的采集到数据的发布都应是 自动完成的。因此作为工业应用的B/S结构在原有的基础上增加了一层数据采集 层。该系统层次结构如图3-2所示 第10页 南京工业大学硕士学位论文面向过程的Web设计 图3-2 B/S结构的生产过程信息系统 lndutrial information basedOilB/Sstructure Fi93·2 process supervisorsystem 该系统从层次上可以分为四层,最底层为数据采集层,其功能是通过网关通 讯软件和实时数据采集软件,将现场数据采集处理后写入数据库服务器;第二层 为数据库系统和组态软件系统,包括实时数据库、组态数据库和组态软件,实时 数据库管理系统的实时和历史数据,提供查询、管理功能,组态数据库管理用户 的组态信息,组态软件提供用户组态平台,对原有的实时数据库系统和历史 数据库系统进行扩充、升级和:第三层为网络操作系统和Web管理系统,访 问实时数据库和组态数据库中的内容,提供前端浏览器的浏览界面,提供更加灵 活的系统组态、和工具,完善和报表管理功能:第四层为前端浏览 器界面,以“瘦”客户方式显示网页结果,提供功能。 3.4系统网络结构 系统可分为两种:网关集成和工作站集成。 3.4.1网关集成 图3—3是一个典型的网关集成网络:工作站和底层的各种仪表,包括各种变 送器、测量仪表及调节阀等以及控制器之间采用串口通信或现场总线。工作站之 间以及工作站与数据库服务器之间组成上层以太网,并通过网关(Gateway)与 Intranet上的用户 Intranet相连,把工业现场的各种参数及数据传送到Intranet, 可以通过访问Web服务器进行,厂区外的用户可以通过电话拨号方式访问 Web服务。这里网关负责蘸方面的功能:一是接收底层的工业现场数据并对其进 行解释,向上传送到Intranet中的Web服务器中;二是把系统发出的命令和数据 转换为现场总线的数据格式送往现场仪表。 这种网络结构充分考虑了各功能层之间对数据可靠性、实时性的要求, 了各个子站与下层仪表之间数据快速有效的传输。而将各子站与数据库的通信构 筑在ethernet上,一方面有利于数据的存储,方便与wcb服务器的通信,另一方 面由于层的用户少而固定,也能数据的实时存储。Intranet和Infranet 通过网关连接,避免了一些用户对Infranet的非法操作,使网络安全性更好。但 这种结构可能会在网关上产生瓶颈,影响Web服务器与Infranet之间的快速数据 传输,而且由于要建立多种网络,管理复杂,费用较高,一般适用于己建有Infranet 第11页 南京工业大学硕士学位论文面向过程的Web设计 的企业。 图3-3刚关集成 integration Gateway Fi93.3 3.4.2工作站集成 图3-4是一个典型的工作立占集成网络:这种方式下数据库服务器和各工作子 上的用户多,用户数不固定,它传输的大多是短数据流,具有高连接频率、短暂 持续时间的特点,如果Intranet速度较慢的话,就有可能在数据高峰期造成工作 站、数据库、Web服务器之间的数据传输不畅,引起数据丢失。因此这种方式下, 一般在各工作子站上建立小型本地数据库,以便必要的时候向数据库服务器恢复 构简单,便于的优点,一般适用于建有高速Intranet的中小型企业。 第12页 南京工业戈学硕士学位论文面向过程的Web设计 圈3-4:L作站集成 Workstation Fi93.4 integration 第1]页 南京工业大学硕士学住论文 面向过程的Web设计 第四章工业异构系统的数据交换技术 在丌发企业各车川部门的实时与数据库管理系统时,常常遇到这样的问 题:由于各系统的开发是分批进行的,往往可能由于投资方面的原因,需要2~ 4年才能完成,而且各系统开发组织不是同一个,可能由不同的开发商提供。正 是由于这个原因,使得系统与系统之间的互访方式和数据共享变得十分困难。因 此,通过数据交换技术,实现各系统间不同数据库的相互访问,以及建立一个能 够反映各系统基础数据的中心数据库,对于B/S结构的Web系统来说尤为 重要。 4.1文件交换方式 由于多数控制软件都支持文件读写操作,因此,采用文件读写方式交换数据 是比较通用的方法。文件交换方式的原理为:为两个欲交换数据的系统开辟一个 共享目录,在目录中建立数据文件,由数据服务提供者按约定的数据格式定时写 数据文件进行更新,而数据客户定期读取数据文件,从而实现数据交换。在网络 下,可以将共享目录建在数据服务提供者本地,而数据客户将网络共享目录 映射为本地盘符进行操作。 但这种方式存在一个问题:由于一般的文件读写不支持多用户操作,当两个 系统同时操作该数据文件时会产生冲突。解决这个问题的方法是将两个系统对文 件的操作时间错玎:首先,可以将两个系统操作文件的起始时闻错开,错开的间 隔大于读写文件所需的时间;其次,可将一时间单位划分为若干时间点,每个时 间点建立一个数据文件,数据服务提供者循环写这几个文件,而数据客户循环读 这几个文件。使双方不同时操作同一个文件。 文件交换方式可以说是一种最简单的数据交换方式,但同时其效率也是最低 的,数据的实时性和可靠性难以,而且这种方式还与操作系统的目录管理和 网络设置密切相关,移植性较差,一般在进行少量数据交换的局域网内使用。 4.2 DDE和NetDDE技术 4.2.1 DDE技术剐91 消息系统上支持应用程序之问数据交换的方法,也是应用程序之间通过共享内存 进行进程间通信的一种形式。DDE实际上是一种式的、与语言无关的、基 于消息的数据交换协议,是应用程序之间的协作标准,该协议允许应用程序之间 第14页 南京工业大学硕士学位论文面向过程的Web设计 利用Windows的消息处理机制来进行数据交换和远程命令的执行。通常应用程 序需提供一种方法,使用户能建立起一个应用程序之间的数据交换的链,一旦 建立了数据链,应用程序之间就可以自动地进行数据交换。DDE是不需要用 户干预的最好的数据交换方法。两个Windows程序相互传递消息,进行DDE对 话,这两个程序被称为“客户”和“服务器”。客户侧需要数据就向服务器侧请 求,服务器侧准备好数据后则发送给客户。DDE应用范围广泛,特别适用于需 要实时数据变化的场合,如连接实时数据、建立复合文档和执行应用程序之 间的数据查询等。 两个应用程序之间根据DDE协议进行数据交换之前,必须建立客户与服务 器关系,也就是在它们之间建立了一条数据管道,通过项名(item)、主题名(topic) 和应用程序名(applicationnarne)3个层次来标识客户与服务器之间传递的数据单 位。每次DDE应用程序名和主题名唯一标识的应用程序通常是服务器的名称。 DDE主题通常是数据的总分类,在数据交换期间可以交换其中的多个数据项。 DDE数据项是应用程序之问进行交换的与主题有关的实际信息。一旦DDE开始, 客,j与服务器之问便可进行数据交换。客户与服务器之间通过链进行数据交换 的方式,称为“链接”,根据数据在链上的不同交换方式,链接可以分为以下 3种方式: link)在DDE对话建链后,只有当客户主动请求数据时(发送 (11冷链接(cold WM.DDE—REQUEST消息),服务器才发送数据给客户,在这一过程中服务器始 终处于被动地位,对话结束后要发wM—DDE·TERMINATE拆链。 link)暖链接结合了热链接和冷链接的特点,利用热链接, (2)暖链接(warm 客户对每一数据项建立链接,但这种链接标志说明客户只希望被通知数据发生了 变化,并不立刻接收新数据,所以当数据发生变化时,服务器只通知客户数据已 变化。若客户希望获得这个数据项,与冷链接一样,使用WM—DDE—REQUEST 来主动请求数据。 link)与冷链接相同的是都要进行对话的建链与拆链.但中间 r3)热链接(hot 数据交换过程不同,热链接在对话建链后还要对每一数据项建立链接,若被链接 的数据项有变化,服务器会主动将变化了的数据发送给客户,在这种方式下服务 器处于主动地位,对话结束时还要做数据项的拆链。每当服务器在数据变化时都 主动发送数据项的新值给客户。 4.2.2 NetDDE技术㈣ DDE对话的客户程序和服务器程序必须在同~台机器上,而NetDDE使得 客户程序和服务器程序可以运行在网络上不同的机器上。它的结构如图4一l所示。 第15页 南京工业大学硕士学位论文 面向过程的Web设计 l客户程序l 最务器程序J l l I DDE消旦j DDE消息 1 lIEIDDE ]gETDDE I l I 弧TBIOS HETBlOS f^机 两络 l B机 图4-INetDDE通信机制 NetDDEcommunication Fi94—1 method 服务器方的数据传送给客户方。 (1)共享变量(DDEShares)就象文件共享需要通过文件管理器定义共享一样, NetDDE必须在服务器一端建立共享变量。NetDDE将通过共享变量识别相应的 DDE服务和主题。在不同的运行下建立共享变量的方法如下。 字如ROBOTS,必须用$结尾。并仿照HEARTS$增加各键值。 2.Windowsfor 量。 3.利用NetDDE的应用编程接口API增加管理共享变量。比如利用 NDdeShareAdd和NddeShareDel来增加和删除共享变量。 变量(OH 戏程序Hearts就是用NetworkDDE实现的,其共享变量是HEARTS$。 (2)平台(Platform) Windowsfor 运行客户和服务器程序前必须启动NeoDE服务。相应的做法是: 1.Windowsfor Control 段内增加LoadNetDDE=Yes,或在Network Panel的StartupSettings对话 Network 框中将”Enable DDE”检查框选中。 2.Windows95系统中,直接运行NETDDE.EXE或将它置于启动菜单中。 设置为自动启动。 (3)用VB实现客户方和服务器方程序 第16页 南京工业大学硕士学位论文面向过程的Web设计 冷连接或温连接。我们系统中都定义为Automatic,这时服务器方数据一改变客 户方也同时改变。改变时会触发该控件的Change事件,可在此事件脚本Script 属性设置为服务器方相应控件的Name属性。客户方也可向服务器方发出命令, 只要调用客户方数据控件的LinkExecute方法,就能够把需要服务器方执行的命 令送给服务器。而服务器相应Form的LinkExecute事件会被触发,只需编写相 应Scr;pt脚本来执行相应的命令。 DDE和NetDDE实现简单且效率高,交换数据双方无须知道对方的运行机 制.因此是应用最为广泛的数据交换技术。目前几乎所有Windows下的工 for 对WFw(Wm(ows 同一局域网内,这了它在Internet/Intranet下的应用。 4.3 WinSoek技术 信丌发的一个AH(应用程序接口)。该接口是II前TCP/IP网络最为通用的AH, Sockets进行了一些 Sockets。后来Microsoft公司联合了其他几家公司对Berkeley 重要的扩充,主要是增加了一些异步函数,并增加了符合Windows消息驱动特 性的网络事件异步选择机制,并制定了一套Widows下的网络编程接口,即 WinSock规范。 SOCKET实际上为计算机提供了一个通信端口,通过这个端口可以与任何 一个具有SOCKET接口的计算机通信。应用程序在网络上发送、接收的任何信 息都有可以通过SOCKET接口来实现。 4.3.1 WinSock基本原理 第17页 南京工业大学硕士学位论文面向过程的Web设计 在网络编程中最常用的方案便是客户机/服务器模型。在这种模型中,客户 应用程序向服务器程序发出服务请求。而服务器则根据客户的请求给出相应的响 应。基于SOCKET的程序设计采用的也是这种客户/服务器模型。在SOCKET 程序中,服务器端通常在一个已知的地址各个客户对服务器的请求,服务进 程一直处于阻塞状态,等待客户的连接请求。当有客户对该服务器提出了连接请 求时.服务程序被“”,并对客户的请求作出适当的响应,为客户提供对应 的服务。使用套接字编程,通常有以下几个步骤:1)使用WASStarup()函数来 进行套接字初始化,装载要使用的动态连接库。2)用socket()创建一个套接字。 ()函数终止动态连接库的使用。 在SOCKET程序设计中,目前可以使用两种套接口,即流套接口和数据报 套接口。其中流套接口提供了双向、有序、无重复且无记录边界的数据流服务。 数据报套接口支持双向的数据流,但并不是可靠、有序和无重复的。也就是 说,一个从数据报套接口接收信息的进程有可能发现信息重复了,或者和发出时 的帧序不同。数据报套接口的一个重要特点是它保留了记录边界。对于这一特点, 数据报套接口采用了与现在许多包交换网络非常类似的模型。虽然基于连接协议 f流套接字)的服务是设计客户机/服务器应用程序时的标准,但有些服务也是可 以通过无连接协议(数据报套接字)提供的。 流式套接字的应用程序的基本结构如图4—2所示。从图中可以看到,使用流 式套接字编写应用程序,在服务器和和客户机端都需要调用socket()函数创建 套接字,然后,服务器应调用bind()函数绑定套接字,并用listen()函数将 自己置于侦听状态,而客户机应调用connect()函数发送连接请求,当客户机 的连接请求被服务器收到后,服务器端的accept()函数被调用,并创建连接用 的套接字,当连接用的套接字创建后,在服务器和客户机端就可以使用send() ()来关闭套接字。 第18页 南京3-t太学硕士学位论文面向过程的Web设计 蛊务器 叵互口 赴理赢备 陶4-2流式套接孚庶用程序结构 Flow socket structure Fi94—2 application programme 与流式套接字不同的是,在数据报套接字中,服务器不调用accept(),客 户机不调用connect()。在发送数据之前,客户机和服务器之间尚未建立完整相 关,无连接服务通过socket()和bind()建立本地半相关。在传输数据之前,无 连接的两个端点已建立起来,分别拥有一个本地Socket和一个信宿端Socket地 址。于是,一个完整的相关在数据收发过程中动态地建立起来,实现无连接客户 和服务器彼此识别。H” 4.3.2基于客户机/服务器的WinSock程序设计实例112lIBI Windows下进行WinSock开发,可以使用的编程语言有很多,常用的 API应用程序的实 下面给出了一个完整的基于客户机/服务器模型的WinSock 例。这个例子共包括两个程序,其中SERVER.CPP实现了服务器功能, CLIENT.CPP实现了客户机的功能。 //CLIENT.C客户机程序 、 #define WIN32一LEAN—LEAN_AND—MEAN h #includewinsock2 h #includestdlib #includestdio.h #includestring.h void main(intargc.char+4argv) { char buffer[138]; char‘server-name=”localhost’’: 第19页 南京工业大学硕士学位论文面向过程的Web设计 short unsigned port=500l; int retval,i; int addr; unsigned int scket-type2SOCK-STREAM; stmctsockaddr-in server; struct hostent+hp; WSADATA wsaData; SOCKET colIn—socket; //初始化WinSock,加载2.0版本的动态链接库 Data); WSAStartup(0x202,&wsa /,如果server-name是字符串(非数字),州gehostbyname()获得到主机信息 /,如果server-name不是字符串,如”192.186 3.2”,用gethostbyaddr()获得主机信息 if(isalpha(server-name[0])) addressJsaname bp=gethostname(server—name);//server else { addr=inet—addr(server-name); hp=gethostbyaddr((char+)&addr,4,AF-INET); } in结构的变量server中,以各后用。 ,/将得到的服务器信息复制到sockaddr me mset(&server,0,sizeof(server)); me sin-addr).hp·h-addr,hp一h—length); mcpy(&(server Server.sin-mily=hp-h-addtype; Server.sin—port=htons(pom;//将端1:3号转换成网络字节顺序 Corm-socket=socket(AF-[NET,socket—type,0); //E,1建一个流式(TCP)套接字 Printf(“client connectingto:%s\n”.hp-h—name); //5套接字是流式(TCP)时,conect()函数会建立起一个连接 sockaddr+)&servegsizeof(server)) connect(conn-socket,(struct isatest strcpy(Buffer,”Thismessage!”); Data%s\n”.Buffer); printf(“Sent retval=recv(conn=socket,Buffer,sizeof(Buffer),O); if(retval==0) { closed connection\n”) printf(“Server closesocketfconn—socket); WSACleanup(); ) servcrkn,rtval,Bu雎r);//关闭套接字 bytes,data[%s]from printf(‘‘Received%d closesocket(conn·socket); WSAClanup(); l 第20负 南京工业大学硕士学位论文面向过程的Web设计 //SERVER.CPP服务器程序 #define WIN32_LEAN——LEANAND——MEAN h #includewinsock2 #includestdlib.h #includestdiom h #includestring void main(int argc,char++argv) { char buffer[I38]; char+intece=NULL; short 1; unsigned port=S00 int retval=0,fromlen,i; int scket-type=SOCK—STREAM; struct sockaddr-in local,from; WSAD一瑙wsaData; SOCKET listen—socket.msgsock; //初始化WinSock,加载2.0版本的动态链接库 Data); WSAStartup(0x202,&wsa Local.sin-mily=AF—INET //如果没有指定IP地址,则使用INADDR-ANY自动取得 local,sin—port=horns(port);//将端口号转换为网络字节顺序 //使用socket()函数创建侦听套接字 socket listen—socket=socket(AF—INET’socket—type,0);//TCP //使片;fbind()函数将套接字与地址和端口号绑定 sockaddr+)&local,sizeof(10cal)); bind(1istn—socket,(struct listen(1isten—socket,5); printf(“%s:’listning’onport%d\11”,argv[0],port); fromlen=sizeof(form): sockaddr+)&from,&fromlen); msgsock=accept(1isten—socket,(struct connection from%s.port%dm”. printf(”accepted inet-nto吖from.sin-addr),htons(from.sin—port)); //一P面的代码将进行数据的发送和接收 retval=ree“msgsock,Buffer,sizeof(Buffer),0) if(retval==0) { closed connction\兀”); printf(“Client cIosesockeKmsgsockX ) Printf(“Received%d clienfln”,retval,Buffer); bytes,data【%s】from backto samedata clientha”); Printf(“Echoing Send(msgsock,Buffer,sizeof(Buffer),MSG—DONTROUTE); } 这个例子实现的功能很简单,CLIENT通过流套接字向SERVER发送一个短 第2l页 南京工业大学硕士学位论文面向过程的Web设计 的测试信息,而SERVER又将相同的信息返给CLIENT。该例子虽然很简单,但 展示了WinSock程序设计的基本原理。 4.4数据库访问技术 在B/S结构的系统中,数据交换的最终目标是将数据写入数据库中,而 客户端也主要是从数据库中读取数据显示。因此,对数据库的读写也是整个系统 的一个重要环节,本节将介绍两种比较常用的数据库访问技术:ODBC技术和 ADO技术 4.4.1 ODBC技术 Database 其含义是数据库系 ODBC是OpenConnectivity的英文缩写, 统互连。ODBC是Microsoft公司开发的一套数据库应用程序接口规范,是 据库应用程序时,应用程序调用的是标准的ODBC函数和SQL语句,数据库的 底层操作由各个数据库的驱动程序完成。这样的应用程序具有很好的适应性和可 移植性,并且具备同时访问多种数据库系统的能力,从而彻底克服了传统数据库 应用程序的缺陷。 4.4.1.1ODBC的结构层次㈣ ODBC的体系结构由四部分组成:应用程序、驱动程序管理器、数据库驱动 程序和数据源。如4—3图所示。 DDBC数据库应用程序 驱动程序管理器 s£rv£T 0RACLE SQL 驱动程序 驱动程序 s£rvEr ORACLE I SQL I 数据源 . 数据源 图4-3ODBC的体系结构 ODBC structure Fi94-3 system 应用程序主要任务包括: 1)与数据源建立连接;2) 向数据源发送SQL 请求:3)为SQL语句执行结果分配存储空问;4)处理错误;5)断开连接 第22页 南京工业大学硕士学位论文面向过程的Web设计 DATA ODBC驱动程序管理器。驱动程序管理器的主要作用是装载ODBC驱动程序、 管理数据源、检查ODBC调用参数的性等。 ODBC应用程序不能直接存取数据库,它将所要执行的操作提交给驱动程 序,通过驱动程序实现对数据源的操作,操作结果也通过驱动程序返回给应用程 序。驱动程序的主要作用包括: 1)建立与数据源的连接;2)向数据源提交用 户请求,执行SQL语句:3)根据应用程序的要求将发送或接收的数据进行格式 转换;4)返回处理结果;5)将执行过程中的标准错误代码返回给应用程序。 ODBC驱动程序管理器可以浏览所用机器系统中已经安装的数据库驱动程 序,而且可以非常方便地建立、删除、配置数据源。启动ODBC驱动程序管理 器常用的方法有2种。从控制面板中双击ODBC图标或直接运行 ODBCAD32 EXE文件均可。 4,4.1.2 ODBC会话建立 一个典型的ODBC会线)应用程序启动并建立ODBC。它为ODBC函数调用建立工作空问。 f2)应用程序或自动建立ODBC连接,或让用户登录,并提供数据源名,由 应用程序把提供的信息传给ODBCAPI,它根据这些信息建立与数据源的通信。 (3)当连接句柄已经建立后,应用程序需要建立一个语句旬柄以便通过它执 行ODBC命令。 f4)一旦建立了语句句柄,应用程序可能需要获取数据库结构方面的信息以 便工作。也许现在并不需要所有全部的详尽信息,但至少需要其中的一部分。 (5)接下来是ODBC应用程序的中心内容,查询和数据库更新。 (6)将关闭应用程序时,要首先语句句柄,然后数据库连接,最后 ODBC。 4.4.1.3ODBC应用举例‘161 数据源中的表odbcacc,限于篇幅未给出odbcd.bi模块,该模块包括了所有必须 的ODBC数据定义和引用ODBCAPI函数的申明。 Sub FoxAcc() DimflAs string+8 第23页 南京工业大学硕士学位论文面向过程的Web设计 f2 DimAs string+20 f3 DimAs string+30 Dim rcAsinteger DimfAs integer As GlobalhenvLong hdbc1 As Global Long As Globalhdbc2 Long GtobalhstmtlAs Long Globalhstmt2As Long ’建立并建立ODBC和数据源的连接 rc=SQLAllococEnV(henV) rc=SOLAlloconnect(henv,hdbcl) v’“FoxProFiles”,SQL-NTS,””,O,””,O) rc=SOLconnect(hen rc=SQLAlloConnect(henv,hdbc2) rc=sQLConnect(henv,“ACCESSFiles”,SQL-NTS,””,0,…’,0) ’中请语句旬柄 rc=SQLAIIocStmt(hdbcI,hstmtl) rc=SQLAIlocStmt(hdbc2,hstmt2) rc=SQLExecDirect(hstmtl,stsqll,SQL—NTS) into rc=SQLExecPreparc(hdbc2,“insert 7绑定指定的字段 ’绑定指定参数 rc=SQLBindParameter(hstm rc=SQLBindParameter(hstm len(f2),SQL—NULL-DATA) SQL—NULL.DATA) ’将Foxpro数据库ODBCFox的3条记录复制到Access表OBDCAcc中 For滓1to3 rc=SQLFetch(hstmtl) rc=SQLExectute(hstmt2) Nextl ’所有己申请的句柄 rc=SQLFreeStmt(hstmtl,SQL—RESET-PARAMS) v’hdbc2,SQL—COMMIT) rc=Transact(SQL-NULL—HEN rc=sQLFreestmt(hstmt2,SQL-RESET-PARAMS) rc=SQLFreeConnect(hdbc2) 第24页 南京工业大学硕士学位论文面向过程的Web设计 rc=SQLFreeConnect(hdbcl) fc=SQLFreeEnv(henv) EndSub 4.4.2 ADO技术 4.4.2.1ADo概述 Data ADO(ActiveXObjects)是由微软公司推出的以ActiveX技术为基础的数 据存取方法。ADO的主要特点是使用更加容易,访问速度更快,而对磁盘和存 储容量的要求更小。ADO支持建立各种客户/JR务器模式与基于Web的应用程 Data Service)的特性,通过RDS能够在一次 序,具有远程数据服务RDS(Remote 往返中将服务器端的数据传送到客户端的应用程序或Web页面中,并在客户端 DB技 对数据进行处理后,立即更新服务器端的数据。采用ADO所基于的OLE 术,可以对电子邮件、文本文件、数据表格等各类数据通过统一的接口 Intece)接口进行存取,是远程数据存取的一个主 API(Applicationprogramming 要发展方向。 4.4.2.2ADO原理1171 对于异种数据库的访问,首先需要一个简单而统一的应用程序接口(API), 应用程序通过它访问和修改各种各样的数据。典型的数据源是支持ODBC(Open Database Connectivity)标准的关系型数据库,通过一系列SQL命令进行数据操作。 问题是数据源可能是一个简单的文本文件,也可能是来自不同种类甚至特别定义 的数据库的一个集台。而且, 访问和修改数据的方法不可能预先确定。解决这 DB,这是~个系统级的数据库编程接口,它提供了一系 个问题的方法就是OLE

  推荐:

  

关键词:室内设计budcs
相关阅读
  • 没有资料