(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf_第1页
(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf_第2页
(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf_第3页
(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf_第4页
(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)基于dcs的数据采集接口及实时数据库研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 基于d c s 的数据采集接口及实时数据库研究与设计 摘要 集散控制系统d c s ( d i s t r i b u t e dc o n t r o ls y s t e m ) 自问世以来,由于 其自身的优点和特点,被广泛的应用于各个工业领域,使单套装置的生产 能力大大提高,满足了大型生产的自动化要求。目前,国内各个大型石油 化工联合企业,其主要生产装置都大量采用了d c s ,使生产过程得到了 优化,生产效率得到了提高。 但是,由于大多数d c s 是封闭系统,缺乏统一、标准的开放接口, 给以数据采集为前提的其他先进控制及管控一体化建设带来了不便。同 时,为了加强流程工业管控一体化的建设,实时数据库的支持也是必不可 少的。为了解决以上问题,本文以石油化工企业先进控制需提供的数据支 持为背景,研究了基于d c s 的数据采集接口及实时数据库设计。 论文首先研究和比较分析了a p i 访问动态库技术、d d e 技术和o p c 技术,从主要功能、开发工作及主要设计等方面入手,分别基于以上三种 接口技术,设计和实现了三类d c s 数据采集接口,其中重点放在目前有 广泛发展前景的o p c 接口的设计和实现上。这三种接口的设计和实现能 够满足绝大多数d c s 系统的数据采集要求:接着,论文以此为基础,分 析了实时数据库系统的结构设计特点,提出了数据库系统的体系结构设 计,从共享内存的实现、动态链接库d l l 的引入、内存映射等方面对内 存数据库的实现进行了较详尽的阐述,并提出了面向w e b 的分布式实时 北京化工人学硕七学位论文 数据库应用模式。 基于d c s 的数据采集接口及实时数据库系统的提出与实现,使用户 可以方便的读取实时数据和历史数据,为针对异构的控制系统的数据采集 提供了一种可行的解决方案j 进而为以数据采集为基础的其他应用程序提 供了数据基础,从而易于提高企业的自控率和平稳率,加速企业的管控一 体化建设。同时也为优化企业资源配置、提高生产效益提供重要的数据支 持,为企业带来可观的社会效益和经济效益,并将极大地满足人们对获取 工业过程信息的新需求。 关键词:集散控制系统,数据采集,接口技术,实时数据库 l l a b s t r a e t r e s e a r c ha n dd e s i g no f d c sd a t ac o l l e c t i o n i n t e r f a c ea n dr e a l t i m ed a t a b a s e a b s t r a c t s i n c et h ea d v e n to fd c s ( d i s t r i b u t e dc o n t r o ls y s t e m ) ,i tw a su s e di n v a r i o u si n d u s t r ya r e ab r o a d l y , b e c a u s eo fi t s a d v e n t a g ea n dc h a r a c t e r i s t i c u s i n gd c sm a k e si tp o s s i b l et oi m p r o v et h et h r o u g h p u to fs i n g l ed e v i c e , w h i c hc a nm e e tt h ea u t o m a t i o n r e q u i r e m e n t o fl a r g e s c a l e p r o d u c t i o n n o w a d a y s ,d c si su s e di nm a i nr e f i n e r yd e v i c e si nm a n yl a r g ep e t r o c h e m i c a l c o r p o r a t i o n si no u rc o u n t r y , w h e r et h ep r o d u c i n ge f f i c i e n c yi si m p r o v e d b u tb e c a u s em o s to ft h ed c sa r ec l o s e ds y s t e m sa n dl a c ko fu n i f i e do p e n s t a n d a r di n t e r f a c e s ,i ti sn o tc o n v e n i e n tt og oo nw i t ha d v a n c e dc o n t r o la n d i n t e g r a t e dm a n a g e m e n tc o n t r o lb a s e do nd a t ac o l l e c t i o n m e a n w h i l e ,i no r d e r t oc o n s t r u c ti n t e g r a t e d m a n a g e m e n tc o n t r o lp r o j e c t ,r e a l - t i m e d a t a b a s ei s n e c e s s a r y t os o l v et h ea b o v ep r o b l e m s ,d c sb a s e dd a t ac o l l e c t i o na n d r e a l t i m ed a t a b a s ea r er e s e a r c h e da n dd e s i g n e d ,a n dm a k e du s e f u li n p e t r o c h e m i c a lc o r p o r a t i o n s f i r s to fa l l ,t e c h n o l o g i e so fa p iv i s i td l l ,d d ea n do p ca r er e s e a r c h e d a n da n a l y s e d ,m a i n l yf r o mt h ea s p e c t so ff u n c t i o n s ,d e v e l o p m e n ta n dd e s i g n a n dt h r e ek i n d so fd c sd a t ac o l l e c t i o ni n t e r f a c e sb a s e do nt h o s et h r e e i n t e r f a c et e c h n o l o g i e sa r ed e s i g n e d ,o fw h i c ho p ci st h em o s ti m p o r t a n t t h e h i 北京化工大学硕十学位论文 d e s i g na n dr e a l i z a t i o no ft h e s e c a ns a t i s f ym o s to fd c sd a t a c o l l e c t i o nr e q u i r e m e n t t h e n ,s t r u c t u r ea n dc h a r a c t e r i s t i co fr e a l t i m ed a t a b a s e a r ea n a l y s e d ,a n ds y s t e mc o n s t r u c t i o no fr e a l - t i m ed a t a b a s es y s t e mi sd e s i g n e d d e s i g no fm e m o r yd a t a b a s ei sd e s c r i b e df r o ma s p e c t so fs h a r e dm e m o r y , u s e d o fd l la n dm e m o r yf i l e sm a p p i n g a tl a s t ,w e b o r i e n t e dd i s t r i b u t e dr e a l t i m e d a t a b a s em o d e li sp r e s e n t e d i ti sc o n v e n i e n tf o ru s e r st or e a dr e a la n dh i s t o r i c a ld a t a sa sd c sb a s e d d a t ac o l l e c t i o ni n t e r f a c ea n dr e a l t i m ed a t a b a s es y s t e ma r ed e n s i g n e da n d r e a l i z e d ,w h i c ha l s op r o v i d e df e a s i b l es o l u t i o nf o rd a t ac o l l e c t i o na i m e da t h e t e r o g e n e o u sc o n t r o ls y s t e m s a c c o r d i n g l y , e n t e r p r i s ec a ne a s i l yr e a l i z e m a n a g e m e n t a n dc o n t r o l i n t e g r a t i o n ,e n t e r p r i s e r e s o u r c ea l l o c a t i o ni s o p t i m i z e d ,p r o d u c t i o ne f f i c i e n c yi si n c r e a s e d ,a n dt h en e wr e q u i r e m e n to f o b t a i n i n gi n d u s t r yp r o c e d u r ei n f o m a t i o n sw i l lb es a t i s f i e d k e y w o r d s :d c s ,d a t ac o l l e c t i o n ,i n t e r f a c et e c h n o l o g y , r e a l - t i m e d a t a b a s e i v 北京化工大学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成栗。除文中已经注明引用的内容外,本 论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 作者签名:盘筵 日期:丝2 :竺:望 关于论文使用授权的说明 学位论文作者完全了解北京化工大学有关保留和使用学位论文 的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北 京化工大学。学校有权保留并向国家有关部门或机构送交论文的复印 件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编 学位论文。 保密论文注释:本学位论文属于保密范围,在上年解密后适用 本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授 权书。 作者签名:狴 一 日期:蟹:垒望 导师签名:耋夏至兰 日期: 0 - , 0 7 j - 2 7 第一章绪论 1 1 课题来源 第一章绪论 本课题基于国内大型石油化工联合企业,课题研究和设计的部分成果已在燕山石 化、茂名石化、中油西南分公司等企业中得到了应用,且效果良好。在这些石油化工 企业中,都使用有多套d c s 控制系统,其中,d c s 主流产品来自于h o n e y w e l l 、 y o k ) g a w a 和f o x b o r o 三家公司。使用d c s 系统,可以控制和监视工艺全过程, 并对自身进行诊断、维护和组态,大大降低了操作工人、仪表工人的劳动强度和操作、 维护难度,可以满足不同生产工艺和设备控制的要求。 d c s 系统的使用,关键是进行通信,和现场设备之间进行数据交换,和上层应用 程序进行数据交换,因此涉及到重要的数据采集接口技术以及数据存储技术。但是大 多数d c s 是封闭系统,缺乏统一、标准的开放式接口f l 】,而在国内的石油化工企业中 又普遍存在的问题是,不同的d c s 系统分别是来自于不同厂家、多个型号;同时, 上层应用程序与现场设备交换的数据量又非常大,这些都给在上位机运行的、以数据 采集为前提的其他控制应用带来了不便。 本课题针对不同d c s 系统研究设计了相应的数据采集接口,并针对海量实时数 据存储问题研究设计了实时数据库系统,解决了上述问题,为异构控制系统和管理系 统的集成应用环境开发提供了重要的数据通信支持,加速了企业的管控一体化进程, 为企业带来相当的经济效益和社会效益。 1 2d c s 概述 1 2 1d c s 的概念 d c s ( d i s t r i b u t e dc o n t r o ls y s t e m ) 全称为集散型计算机控制系统【2 】。它是一个由 过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机 ( c o m p u t e r ) 、通讯( c o m m u n i c a t i o n ) 、显示( c r t ) 和控制( c o n 圩0 1 ) 等4 c 技术,其基本思 想是分散控制、集中操作、分级管理、配置灵活、组态方便。 d c s 是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控 制系统的基础上发展、演变而来的。在系统功能方面,d c s 和集中式控制系统的区别 不大,但是在系统功能的实现方法上却完全不同。 1 2 2d c s 的组织结构 北京化- t 大学硕士学位论文 d c s 的结构是一个分布式系统,从整体逻辑结构上看,是一个分支树结构,与工 业生产过程的行政管理结构相一致。从系统结构上看,它可以垂直分解为过程控制级、 控制管理级和生产管理级,各级既相互独立又相互联系,每一级又可水平分解为若干 子集。从功能分散上看,纵向分散意味着不同级的设备有类似的功能。因此,既集中 又分散的原则是设计集散控制系统硬件和软件的基本思想。 操作员站操作员站工程师站管理计算机 通信网络 现场控制站现场控制站 主处理器主处理器 1 卜、 1卜、 , nyuy i oi oi oi o e 现场变送器、执行器 图1 - 1 典型的d c s 系统结构 f i g 1 - 1t y p i c a ld c ss y s t e mc o n f i g u r a t i o n 集散控制系统概括起来由集中管理部分、分散控制监视部分和通信部分组成【3 l , 其中每个部分又有更仔细的划分。集中管理部分分为用于组态和维护的工程师站、用 于监视和操作的操作站,以及用于系统信息管理和优化控制的管理计算机。分散控制 监视部分分为控制站、监测站或现场控制站,用于控制和监测。通信部分连接集散型 控制系统的各个分步部分,完成数据、指令及其他信息的传递。典型的d c s 系统结 构如图1 1 所示。 1 2 3d o s 的特点 d c s 自2 0 世纪7 0 年代问世以来,经过几代技术变迁和更新发展,现已广泛应用 于石油、化工、电力、冶金、建材和造纸等工业领域【4 1 。它具有如下所述的很多特点 和优点: l 、分散性和集中性。分散性和集中性是d c s 系统的最大和最显著的特点。 分散性包括分散智能、分散显示、分散数据库、分散通信、分散供电、分散负荷 2 第一章绪论 几个方面。集中性可以对设备进行集中监视、操作和管理。这两个特点使得d c s 既 能够用通信网络把分散的设备构成统一的整体,用分布式数据库实现全系统的信息集 成,实现信息共享,同时在多个操作站上进行集中操作,又可以采取有效地方式使危 险分散,进而提高系统的可靠性和安全性。 d c s 的分散性和集中性相辅相成,互相补充。 2 、自治性和协调性。d c s 自治性和协调性是系统另一对互相补充的特性。 在系统中,各台设备均是独立的进行工作。控制站和操作员站所进行的一切控制、 操作、管理等都是自主的进行的;工程师站也处在相对独立的位置,可以在线或离线 组态。这是所谓的自治性。但是同时,通过通信网络和数据库,系统中的各台设备又 是相互连接在一起的,能够相互传递信息,进行协调工作。 3 、灵活性和扩展性。硬件采用积木式结构,可以灵活地配置成小、中、大各类 系统,并可以根据企业的发展需求不断扩展系统。软件采用模块式结构,提供输入、 输出、运算和控制功能模块,可以灵活地组态,构成简单、复杂各类控制系统,并可 以根据生产工艺流程的改变,随时修改控制方案。 4 、可靠性和适应性。分散性带来系统的可靠性。同时,采用一系列冗余技术、 热插拔技术、故障诊断和故障屏障技术也保障了系统的可靠性。另一方面,高性能的 元器件、先进的制造工艺和抗干扰技术的使用,使d c s 能够适应恶劣的工作环境。 另外,由于d c s 系统在硬件及软件上都采用了先进的技术,这些先进的通信网 络、人机接口、数据库、控制语言、控制算法等技术,使得d c s 新、老系统相互兼 容变得容易,保证了d c s 系统的良好继承性。 1 2 4d c s 应用产生的效益 因为以上介绍的d c s 的特点和优点,石油化工企业早已普遍应用了d c s 系统。 在这些企业中,技术改造项目、新建项目都广泛使用d c s 系统,d c s 系统已经逐步 取代了常规仪表控制系统的地位。 使用d c s 系统,不仅实现了原来常规仪表所难以实现的控制功能,而且提高了 控制精度、控制准确率、分散了系统风险,大大降低了操作工人、仪表工人的劳动强 度和操作、维护难度,给企业带来了许多直接效益。 首先,利用实时的和历史的数据带来的效益。 利用实时的和历史的数据,生产管理人员以及工艺管理人员可以对工艺过程进行 在线分析,及时发现过程运行的规律,通过调整工艺参数,使生产过程处于优化状态; 而当发生故障时,则可以对故障进行及时的分析,明确故障发生的原因,以避免故障 再次发生。 其次,对于过程参数监控带来的效益。 3 北京化工人学硕l 学位论文 通过对影响产量及质量的过程参数的监控,生产管理人员以及工艺管理人员能够 及时发现问题、解决问题,优化控制,达到提高产量及产品质量的目的。同时,通过 对影响过程运行状态关键参数的监控,生产运行状态能够保持平稳;当生产状态发生 变化时,生产管理人员以及工艺管理人员也可以及时地做出反应,避免或减少不必要 的事故发生,避免或减少装置及设备停车造成的不必要损失。 最后,生产过程中,操作工原来只能完成简单的单回路控制操作,而通过d c s 系统则可以根据不同生产状况,进行多回路关联控制,从而提高控制的准确性和可靠 性,进而显著提高生产的效率。 除了给企业带来直接效益外,d c s 系统作为过程控制层中最重要的组成部分,其 是一切后续过程信息加工、处理的基础和平台,在此平台之上实现的企业综合自动化 系统还可以对生产经营进行科学地分析、评价和预测,对生产计划和经营策略及时进 行调整,以适应多变的市场要求。 i 3 基于d o s 的数据采集及实时数据库的重要性 1 3 1 基于d o s 的数据采集的重要性 在计算机广泛应用的今天,数据采集的重要性是十分显著的。它是计算机与外部 物理世界连接的桥梁。不同的对象通过对不同数据的采集获取信息,做出相应处理, 实现相应的功能。 基于d c s 的数据采集是针对企业级的数据采集。企业级的数据采集具体又可细 分为企业内部数据采集和企业之间的数据采集。企业内部数据采集的数据格式比较单 一,业务流程固定,数据采集的架构相对紧凑,有较高的耦合度和数据采集效率。企 业之间数据采集的数据格式繁杂,数据采集的架构相对松散,耦合度低,数据采集效 率也相对较低 5 1 。这种数据采集的业务流程比较规范,对数据采集过程的可靠性与安 全性要求较高。 基于d c s 的数据采集主要是在指企业内部或企业之间的异构d c s 系统之间以及 d c s 与其他工业控制系统、管理信息系统、数据库管理系统之间进行的数据采集,包 括历史数据和实时数据两部分。同时,由于d c s 在生产过程控制中要管理成千上万 个数据,涉及到大量数据在底层和高层之间传输通信的问题,关系到企业的信息化建 设进程。 由此可见,无论是从可靠性、安全性,还是从功能性、企业发展性等方面分析, 数据采集都发挥着不可或缺的重要作用。 4 第一章绪论 1 3 2 基于d g s 的实时数据库的重要性 实时数据库系统的研究自2 0 世纪8 0 年代后开始越来越受到重视,这是因为在工 业控制等场合,由于数据的实时限制和高流量使得传统关系数据库难以得到好的效果 【6 l 。近年来,实时数据库的理论不断发展完善,国内外各种商业数据库产品也不断出 现,大量应用于石油、化工等重要行业,给企业带来了更多的效益。 在此之前,以往的工业企业物料流和管理信息流往往存在着分离和脱节的情况, 导致企业上层管理者无法及时了解生产现场的状况。另外,工业企业中的各种d c s 系统往往各自封闭,信息无法共享,形成了所谓的“信息孤岛,使得企业难以将信 息进行整合。 而实时数据库系统直接连接控制系统并将各个系统的数据整合到一个统一的平 台,起到了承上启下的作用,既为企业管理信息系统提供了基础的实时数据库服务, 也为上层应用软件提供了集成的实时数据平台,在工业自动化综合体系中发挥了重要 作用。 1 4 基于d c s 的信息集成现状 2 0 世纪9 0 年代以来,企业d c s 控制系统和管理系统都得到了迅猛的发展,近 2 0 年来,我国连续型石油化工企业生产装置大量采用了d c s 集散型控制系统。随着 计算机应用技术的发展,市场竞争的加剧以及企业管理深度的增加,企业生产的管控 一体化也逐步被提上日程。这是d c s 技术迸一步发展的结果。而这个过程的基础就 是实现数据的采集、传输、存储和监测,并解决接1 :3 、通信、实时数据库、查询等方 面的关键技术。但是由于过多强调了其现场控制的特殊性,d c s 控制系统的发展相对 比较封闭,上层管理系统与下层之间数据采集及数据共享困难,信息集成程度低,给 管控一体化的进程也带来了困难。 目前,几家知名的d c s 产品在不断提高系统控制性能的同时已经向全面企业管 理功能扩充,集成了控制和管理功能。我国也已在石油化工等重要行业开始全面建立 管控一体化系统,有的已取得初见成效,但是资源和数据的利用率还很低与发达国家 相比我们还有很大差距;有的还存在一些关键的技术问题有待解决,具体表现在: l 、生产装置的实时信息不能完全实现自动采集,还依赖手工录入,满足不了装 置自控率、高质量控制的要求。 , 2 、自动运行的回路效果也不太好,表现为波动幅度太大,有的接近等幅振荡。 3 、有些单位虽然也实现了装置联网,但是缺乏对数据的处理手段,没有充分发 挥生产实时数据的作用。 4 、新建装置在建设时忽视生产的信息化要求,虽然也设计接口但缺乏系统规划, s 北京化工大学硕十学位论文 在建设初期不能够引起足够重视,导致信息化建设滞后。 1 5 课题研究的目的及意义 为了提高企业的经济效益,企业的信息化进程进一步深入,发展先进控制、实现 管控一体化是一个基本的方向。而数据通信与数据库访问技术则是实现先进控制、管 控一体化建设的基础。只有准确及时地采集到所需要的数据,并直观地以图形反映出 来,才能对装置进行参数的整定和优化,实现装置的自动控制,进而实现先进控制, 为管控一体化建设奠定坚实的基础。 基于此,本论文研究设计了d c s 数据采集接口,应用a p i 访问动态库技术、d d e 技术和o p c 技术,设计并实现了三类d c s 数据采集接口,能够满足市场上绝大多数 d c s 系统的数据交换和共享要求,并将数据采集结果保存在a c c e s s 数据库中作为历 史数据。 同时,流程行业管控一体化建设不仅需要可靠的关系数据库,同样需要出色的实 时数据库,实时数据库系统是企业信息化的核心和基础,这是其信息化建设区别于单 纯管理系统之处。目前,几种主流的专业实时数据库普遍价格昂贵,自行研究设计实 时数据库系统将大大节约成本,并可根据需要灵活设计应用模块。所以,本论文在数 据采集的基础上,研究了实时数据库的设计与实现,并设计了基于动态链接库技术的 实时数据库系统,为异构控制系统和管理系统的集成应用环境开发提供了重要的数据 通信支持,推进企业的管控一体化进程。 1 6 课题主要研究内容 本论文各章内容如下: 第一章绪论,介绍了d c s 的概念、组织结构、特点和优点以及应用d c s 产生的 效益,对基于d c s 的数据采集以及实时数据库的重要性进行了分析,同时介绍了基 于d c s 的信息集成现状,说明了论文的研究目的和意义,以及课题的主要研究内容 和框架。 第二章基于d c s 的数据采集接口技术,分别从访问方式、通信原理、规范等方 面介绍了三种数据采集接口技术,a p i 访问动态库技术( 包括w i n d o w s 系统和u n i x 系统) 、d d e 技术及o p c 技术,分析比较了三种接口技术的特点和性能。最后,设计 和提出了基于d c s 的数据采集平台的搭建结构。 第三章基于d c s 数据采集接口a p i 的设计与实现,基于第二章的数据采集接 6 第一章绪论 口技术,设计并实现了a p i 数据采集接口。针对u n i x 系统以及没有d d e 和o p c 接 口的w i n d o w s 系统,a p i 数据采集接口设计了基于u n i x 和w i n d o w s 两种操作系统的 a p i 接口。这一章详细阐述了两种接口的实现步骤和关键代码。 第四章基于d c s 数据采集接口川d e 的设计与实现,基于第二章的数据采集 接口技术,设计并实现了d d e 数据采集接口,详细阐述了接口客户端应用程序的实 现步骤和关键代码,并以组态王的示例工程k i n g d 锄0 3 为例,说明了数据采集接口的 主要功能和应用结果。 第五章基于d c s 数据采集接口旬p c 的设计与实现,基于第二章的o p c 数据 采集接口技术,详细分析、设计和实现了基于现有o p c 规范的d c s 数据采集接口, 包括o p c 自定义接口和o p c 自动化接口。同时详细阐述了应用o p c 接口的客户端应 用程序的操作流程,并以此为基础实现了参数采集等四个模块的操作。此外,本章还 对应用程序测试过程中遇到的问题进行了分析,并提出了解决办法。最后以 y o k o g a w ac s 3 0 0 0 示例工程为例,说明此接口的主要功能和应用结果。 第六章基于d c s 实时数据库系统的设计,详细阐述了基于d c s 的实时数据库系 统的可行性分析、设计思想、框架结构设计和模块设计;对内存数据库、内存文件共 享、内存映射技术进行详细介绍;并使用v c 框架对系统部分功能进行了描述设计, 同时提出了扩展模式的分布式实时数据库系统框架,为自行开发实时数据库系统提供 了思路和方法以及发展方向。 第七章总结和展望,对本文的工作进行了总结,并对进一步的研究工作作出了展 望。 7 第二章基于d c s 的数据采集接u 技术及甲台结构 第二章基于d c s 的数据采集接口技术及平台结构 本论文的数据采集接口主要应用以下三种技术:a p i 、d d e 和o p c 。应用这三种 技术开发的数据采集接口已经可以满足绝大部分基于d c s 的接口需求。因此本文先 在此介绍几种接口技术的原理和使用方法,为后续章节的设计和实现准备理论基础。 同时,设计了基于d c s 的数据采集平台的系统结构,此结构是在工厂实际应用中各 种结构变化建立的基础。 2 1a pi 技术 2 1 1a p l 技术概述 a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c 圮) 应用程序编程接口,是操作系统留给应 用程序的一个调用接口,应用程序通过调用操作系统的a p i 而使操作系统去执行应用 程序的命令( 动作) 【7 】。 在w i n d o w s 程序设计领域处于发展的初期,w i n d o w s 程序员所能使用的编程工具 只有a p i 函数,这些函数是w i n d o w s 提供给应用程序与操作系统的接口。w i n d o w sa p i 是一套用来控制w i n d o w s 的各个部件( 从桌面的外观到为一个新进程分配的内存) 的 外观和行为的一套预先定义的w i n d o w s 函数。用户的每个动作都会引发一个或几个函 数的运行以告诉w i n d o w s 发生了什么。在w i n d o w s 系统中,a p i 一般都支持3 2 位的 操作,因此称为w i n 3 2a p i ,即m i c r o s o r3 2 位平台的应用程序编程接口。m i c r o s o f t 的所有3 2 位平台都支持统一的a p i ,包括函数、结构、消息、宏及接口,所有的w i n 3 2 平台上运行的应用程序都可以调用它们。使用w i n 3 2a p i ,应用程序可以充分挖掘 w i n d o w s 的3 2 位操作系统的潜能,不但可以通过使用它们开发出各种平台上都能成 功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。可以认为,对 于w m d o w s 应用程序开发来说,w i n 3 2a p i 函数是构筑整个w i n d o w s 框架的基石,在 它下面是w i n d o w s 的操作系统核心,它的上面则是所有的w i n d o w s 应用程序。 在具体编程时,由于相应平台的底层功能的不同,程序的实现方式也有所不同。 标准w i n 3 2a p i 函数可以分为以下几类:窗口管理、窗口通用控制、s h e l l 特性、图形 设备接口、系统服务、国际特性和网络服务。 同样,在u n i x 和l i n u x 系统中,也有与w i n d o w s 相对应的a p i 。 本文a p i 数据采集接口正是通过a p i 函数访问d c s 动态链接库和共享库来实现 的。下面将介绍w i n d o w s 动态链接库和u n i x 共享库技术,以及它们是如何通过a p i 被访问的。在介绍a p i 访问技术的同时,给出了本文基于d c s 的a p i 数据采集接口 9 北京化r t 大学硕士学位论文 所要用到的函数的描述和原型。 2 1 2a p i 访问动态链接库共享库技术 l 、动态链接库技术 动态链接库( d y n a m i cl i n kl i b r a r y , d l l ) 技术是程序设计中经常采用的技术, 是w i n d o w s 中的一种特殊的程序单元,被称为非任务化的可执行模块,它们由调用者 的任务所驱动。d l l 是一个包含共享函数库的二迸制库文件,可以同时被多个应用程 序使用。当执行应用程序时,动态链接库并不立即装载到系统的内存中,只是在需要 时进行动态装载,并实现与应用程序的连接【8 】。 动态链接库是从c 语言函数库的概念发展而来的。d l l 不必重复的编译或链接, 一般情况下,一旦被装入内存,d l l 函数就可以被系统中的任何正在运行的应用程序 所使用,而不必再在内存中装入相同的副本。 d l l 是不能单独执行的,必须和应用程序相链接才能使用。在w i n d o w s 和u n i x 操作系统中,都可以采用这种思想进行软件设计,其目的是缩减程序,节省空间,提 高效率,但它们的调用方式以及编程方式有所不同。 2 、对w i n d o w 8 动态库的访问技术 在w i n d o w s 系统中,动态链接库通常是以d l l 为扩展名的文件。w i n d o w s 系统 本身就是由大量的d l l 组成的,如最基本的模块k e r n e l d l l 、u s e r d l l 等。另外,一些 设备驱动文件和字体文件也是使用d l l 来实现的,通常为d r v 和拳f o n 。 d l l 在运行时被系统加载到应用程序的进程空间中,成为调用进程的一部分。 d l l 模块中包含各种导出函数,用于实现特定的功能。d l l 文件中还包含一个导出 函数表,其中包含了导出函数在d l l 中的地址。当w i n d o w s 应用程序加载d l l 时, 动态链接过程通过导出函数表,将进程函数调用与d l l 文件的导出函数进行匹配, 并建立函数调用与函数地址的映射。删o w s 应用程序就是通过a p i 函数调用地址映 射来实现函数的动态链接,从而完成特定的应用功能。 应用程序与d l l 文件进行连接可以有两种方式:静态链接和动态链接。 ( 1 ) 静态链接也称为隐式链接,是指在应用程序中不需指明d l l 文件的实际路 径,系统在加载应用程序的同时加载所调用的d l l 。通常采用的调用方式是把产生动 态链接库时自动生成的与之对应的l i b 文件加入到应用程序的工程中。l i b 文件包含 了每一个d l l 导出函数的符号名和可选择的标识号以及d l l 文件名,不含有实际的 代码。l i b 文件包含的信息进入到生成的应用程序中,被调用的d l l 文件会在应用程 序加载时同时加载到内存中。 要使用静态链接,应用程序必须获取以下信息: 1 ) 包含导出函数和类声明的头文件( h ) ; 1 0 第二章基于d c s 的数据采集接u 技术及平台结构 2 ) 导入库文件( 1 i b ) ; 3 ) d l l 文件( 拳d 1 1 ) 。 ( 2 ) 动态链接也称为显示链接,是指应用程序代码中必须明确加载所使用的 d l l ,并使用指针来调用d l l 中的导出函数,在使用完毕后,应用程序必须卸载所 使用的d l l 。这种链接方式比较复杂,但能更加有效地使用内存,是编制大型应用程 序时的重要方式。使用这种方式可以让开发人员来决定d l l 文件何时加载或不加载, 而操作系统在载入应用程序时不必将所有该应用程序所引用的d l l 都一起加载到内 存中,只要在使用某个d l l 时再将其载入,这样就可以减少应用程序在初始加载时 所使用的时间和对内存的消耗【9 】。在w i n d o w s 系统中,与动态库访问有关的a p i 函数 包括: 1 ) l o a d l i b r a r y ( 或m f c 的a f x l o a d l i b r a r y ) ,装载d l l 并得到模块句柄; 2 ) g e w r o c a d 慨s ,获取导出函数指针,将符号名或标识号转换为d l l 内部地 址; 3 ) f r e e l i b r a r y ( 或m f c 的a f x f r e e l i b r a r y ) ,释放d l l 。 从d l l 内部是否使用m f c 来看,v i s u a lc + + 支持两种d l l ,不使用m f c 、导出 函数使用标准的c 接口的n o n - m f cd l l ,以及使用了m f c 的m f cd l l 。可以创建 不用m f c 而直接用c 语言写的d l l 程序,也可以创建基于m f c 类库的d l l 程序。 3 、对u n i x 共享对象的访问技术 在u n i x 操作系统中,与w i n d o w s 动态库相对应的对象称为共享库,共享对象文 件以s o 为扩展名。动态链接的共享库是u n i x 的一个重要方面。在u n i x 系统的l i b 目录里面,有许多以s o 结尾的共享对象。动态链接的共享库允许可执行文件在运行 时动态访问外部函数,从而减少它们对内存的总体占用,增加程序的可扩展性和灵活 性。 在u n i x 中创建和使用动态链接的共享库是比较容易的事情,在编译函数库源程 序时加上s h a r e d 选取即可,这样所生成的执行程序就是动态链接库,通常这样的程序 以s o 为扩展名。在编译生成动态链接的共享库后,可以在程序中对其进行调用。 同在w i n d o w s 系统中一样,在u n i x 中,有两种使用共享库的方法。一种是可以 将共享库文件拷贝到l i b 目录,以便所有用户使用;另一种是使用一个称为动态加载 的过程,使程序可以有选择的调用库中的函数。在使用动态加载过程时,程序可以先 加载一个特定的库,然后调用该库中的某一特定函数,应用程序就是通过a p i 接口来 实现调用的。在u n i x 调用动态链接的共享库时经常使用的函数如表2 1 所示: 北京化工大学硕士学位论文 表2 1 调用共享库时的常用函数 t a b l e2 - 1m a i nf u n c t i o n so fc a l l i n gs h a r e do b j e c t 函数描述函数原型 d l o p e n 使对象文件可被程序访问 v o i d d l o p e n ( c o n s tc h a r 宰f i l e i n tm o d e ) ; d l s y m 获取执行了d l o p e n 函数的对象文v o i d 宰d l s y m ( v o i d 幸h a n d l e ,c o n s tc h a r * 件中的符号地址n a m e ) ; d l e r r o r返回上一次出现的错误 c o n s tc h a r 幸d l e r r o r ( v o i d ) ; d l c l o s e关闭目标文件i n td l c l o s e ( v o i d h a n d l e ) ; 2 2d d e 技术 2 2 1d d e 技术的产生及现实意义 d d e ( d y n a m i cd a t ae x c h a n g e 动态数据交换) 协议是一种开放的、与语言无关的、 基于消息的协议f 1 0 】,可用来协调w i n d o w s 应用程序之间的数据交换和命令调用。通 常d d e 主要用来传递那些不需要用户经常干涉的数据流。在建立原始链路后,有关 的应用程序就会将其接管过去,而无需用户进一步的介入【1 1 1 。d d e 所提供的是一种 更加集成的工作环境。自从m i c r o s o f tw i n d o w s2 1 版发布以来,d d e 就已经成为了 w i n d o w s 的一部分,并且许多应用程序都采用了d d e 技术,d d e 作为一种基本机制 已经应用于对象链接和嵌入( o l e ,o b j e c tl i n k i n ga n de m b e d d i n g ) 中。如果操作系统 支持d d e 协议,那么仅需要应用程序与操作系统之间有接口,而应用程序相互之间 无需接口。 近些年来,随着o l e 和c o m 技术的逐渐成熟和发展,使用d d e 方式的程序间 通信有所减少,但是这并不意味着使用d d e 方式进行程序间的通信不再有价值,d d e 在许多应用程序中仍得到了普遍的支持,如m i c r o s o f to f f i c e 、a c r o b a tr e a d e r 和众多 的组态软件。并且由于其自身的优点,d d e 技术在控制网络的集成中也有很实际的应 用。这主要出于以下两方面的考虑:一是因为这种方法实时性较好,可以采用标准的 w i n d o w s 技术;二是因为作为连接控制网络与信息网络的通信处理机,它在硬件上比 较容易实现。当控制网络与信息网络有一个共享工作站或通信处理机时,就可以通过 d d e 技术实现控制网络中实时数据与信息网络中数据库数据的动态交换【1 2 1 3 1 ,从而 能够实现控制网络与信息网络的集成。 同时,d d e 作为一项非常成熟的技术,经历了多年的发展和完善,拥有众多的客 户和使用者,不论是为了保持与旧版本及早期的软件兼容,还是实现资源复用,充分 利用和发挥早期开发的应用程序中的功能和优点,d d e 都还有其存在的价值及意义, 1 2 第二章基于d c s 的数据采集接u 技术及平台结构 而且编写d d e 应用程序相对要容易,在对实时性和可靠性要求不是很高的应用中, 应用d d e 通信方式可以大大缩短开发周期,同时与使用c o m 和o l e 方式相比,可 以占用更少的系统资源。因此,目前设计和开发d d e 功能的应用程序仍然有着非常 现实的意义。 2 2 2d d e 技术的通信原理及通信方式 d d e 是进程间通信的方法,它使用共享内存来实现进程之间的数据交换以及使用 d d e 协议获得传递数据的同步【1 4 l 。d d e 协议是一组所有的d d e 应用程序都必须遵循 的规则的集合。d d e 会话发生在客户应用程序和服务器应用程序之间。 d d e 通道有3 种处理方式:热链接、温链接、冷链接。d d e 热链接在服务软件 的数据发生变化时立即自动改变客户软件的数据;温链接在服务软件数据有变化时, 它会向客户软件报信,但不主动向客户软件传递数据,只在客户软件提出要求时才向 客户软件传递数据:d d e 冷链接仅当服务软件发出d d e r e q u e s t 请求命令时才改 变客户软件的数据【1 5 】。因为每次d d e 客户与服务程序之间的对话都是先由客户启动 的,所以在每次客户启动之前,d d e 服务器必须先投入运行。d d e 的工作原理与结 构如图2 1 : 图2 - 1d d e 通信原理与结构图 f i g 2 一ld d ec o m m u n i c a t i o np r i c i p l ea n ds t r u c t u r e 2 2 3d d e 通信的数据层次及会话方式 为了进行会

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论