




已阅读5页,还剩64页未读, 继续免费阅读
(检测技术与自动化装置专业论文)工控组态软件运行平台的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 工控组态软件是近年来兴起的一个控制软件分支,在增强软件重用性、缩短软件开 发周期、增强工控软件的稳定性等方面具有优势,在各个工程领域得到广泛的应用。 本文研究了工控组态软件的系统结构、数据处理流程以及组态参数生成方法,将组 态软件运行平台划分为数据软总线、数据库系统、图形动画系统、脚本语言模块、通讯 模块、热备份模块及第三方接口模块,采用数据软总线技术、数据库技术、通讯技术、 脚本技术、图形动画等技术实现了图形化的组态软件运行平台d u th m 。d u th m 以基于实时数据库技术的数据软总线为核心,采用x m l 作为组态参数的描述方法。实 现了基于x m l 的组态参数定义,并以m s x m ld o m 为应用接口,实现了对沮。组 态参数的读取:设计了一种支持多种设备的通讯模块,以令牌机制及调度队列实现了对 设备驱动程序的实时调度;在设备驱动程序的设计中采用命令组合方法对设备通讯指令 进行优化,有效地减少了设备通讯指令,提高了通讯效率;利用m s s c r i p t 控件实现了 运行平台对脚本语言的支持,使运行平台的功能得到加强。该平台以v i s u a lb a s i c 6 0 和 v i s u a lc + + 6 0 为开发工具,v i s u a lb a s i c 6 0 用于应用程序界面开发,v i s u a lc + + 6 0 用于 驱动程序等后台程序开发。 d u th m i 具有图形动画实时显示、设备及变量异常报警、实时及历史曲线显示、 历史数据查询、报表打印等功能,支持多种通讯协议,可与p l c 、智能模块等多种设备 进行通讯,具有一定的通用性。该平台现已经应用静电除尘监控系统,并取得了忘好的 运行效果。 关键词:组态软件;运行平台;软总线;x 札;脚本 工控组态软件运行平台的研究与实现 r e s e a r c ha n d i m p l e m e n t a t i o n o f r u n n i n g p l a t f o r mf o r i n d u s t r yc o n f i g u r a t i o ns o f t w a r e i n d u s t yc o n f i g u r a t i o ns o r w a r e i san e wb r a n c ho f s o f t w a r ef o ri n d u s t r yc o n t r o l ,i th a sl o t s o f a d v a n t a g es u c h 雒r e t l s e ,d e v e l o p m e n tc i r c l e ,s t a b i l i t ye t c ,s oi th a s m a d ea r a p i dd e v e l o p m e n t a n d a p p l i e d i ni n d u s t r yc o n t r o lf i e l d s 谢d e l y i nt h i s p a p e r , s y s t e ms t l l l c r l l e , d a t ap r o c e s sa n dc o n f i g u r a t i o np a r a m e t e r sg e n e r a t i o n t e c h n i q u eo fi n d u s t r yc o n f i g u r a t i o ns o 硒c a l e a l es t u d i e d ,a n das o l u t i o nt h a td i v i d ei n d u s t r y c o n f i g u r a t i o n s o f t w a r ei n t o s o f t - b u s ,d a t a b a s es y s t e m ,g r a p h i cs y s t e m , s c r i p t i n gm o d u l e , c o m m u n i c a t i o nm o d u l e ,h o ts t a n d ym o d u l ea n dt h i r dp a r t yi n t e r f a c ei sa d v a n c e d , t e c h n i q u e s u c ha ss o f t - b u s ,d a t a b a s e ,c o m m u n i c a t i o n ,s c r i p t i n g ,a n i m a t i o na r es t u d i e da n d b e a p p l i e d t o d e s i g n a n d i r n p l e m e n t e av i s u a la n d g r a p h i cn m n i n gp l a t f o r mo f i n d u s t r yc o n f i g u r a t i o n s o i t w a r e n a m e dd u th m ib a s e do nt h es t r u c t u r ea b o v e s o t t - b u si sd e s i g n e db a s e do nr e a l - t i m e d a t a b a s et e c h n i q u ea st h ec o l ec o m p o n e n to fd u th m i ,a n dx m li su s e dt od i s c r i b et h e c o n f i g u r a t i o np a r a m e t e r si nd u t _ h m i ,d e f i n i t i o no f c o n f i g u r a t i o np a r a m e t e r b a s e do nx m li s i m p l e m e n t e d ,a n dr e a d e ro fc o n f i g u r a t i o np a r a m e t e ri si m p l e m e n t e dw i t hm s x m l d o m ;a c o m m u n i c a t i o nm o d u l e s u p p o r t m u l t i d e v i c ei s d e s i g n e d ,r e a l - t i m e d e v i c e d i s p a t c h i s i m p l e m e n t e db yt o k e nm e c h a n i s ma n dd i s p a t c hq u e u e ;m e r g em e t h o di s u s e dt oo p t i m i z e c o m m u n i c a t i o ni n s t r u c t i o ni nt h ed e s i g no f d e v i c ed r i v e r ,c o m m t m i c a t i o n 酬0 1 1 i sr e d u c e d e f f i c t i v e l y ,a n de f f i c i e n c y o fc o m m u n i c a t i o ni se n h a n c e d m ss c r i p tc o n t r o li sa p p l i e di n r u n n i n gp l a t f o r m t o s u p p o r ts c r i p t i n g , p e r f o r m e n t c c o fr u n n m 培p l a t f o r mi sr e i n f o r c e d d u t _ h i sd e v e l o p e db y v i s u a lc + + 6 0a n dv i s u a lb a s i c6 0 r e a l - t i m eg r a p h i cp r e s e n t a t i o n , a b n o r m a lw a r n i n go fd e v i c ea n dv a r i a b l e ,d i s p l a yr e a l - t i m e c l l r v ea n dh i s t o r yc u e v e , h i s t o r yd a t aq u e r y , r e p o r tf o r mp r i n tf u n c t i o na r ei m p l e m e n t e di n d u th m i i ts u p p o r tl o to f c o m m n i c a t ep r o t o c o la n dc a nc o m m u n i c a t ew i t hp l c ,i n t e l l i g e n t d e v i c e d u t h m ih a sb e e na p p l i e dt o e l e c t r o s t a t i ca n dd u s t - c a t c h i n gs y s t e ma n dh a v ea p e r f a c tp e r f o r m e n c e k e yw o r d s :c o n f i g u r a t i o ns o f t w a r e ;r u n n i n gp l a t f o r m ;s o f t - b u s ;x m l ;s c r i p t i n g 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究 工作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得 大连理工大学或其他单位的学位或证书所使用过的材料。与我一同工作 的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢 意。 作者签名:垄塑日期:塑笪! 主:猃 大连理工大学硕士学位论文 引言 本课题属于先进制造及自动化技术研究领域,源于实际工程项目电除尘上位机 监控组态软件。 课题重点研究了工控组态软件运行平台的结构和实现技术。工控组态软件运行平台 是组态软件的一个重要组成部分,其主要功能包括监控现场设备,与现场采集、控制设 备交换数据,处理数据报警及系统报警,存储历史数据及历史数据查询等。组态软件运 行平台作为工业自动化设备监制和管理的工具,在工业生产中越来越多地得到应用。随 着计算机软硬件技术及工业自动化技术的发展,越来越多的先进技术,例如实时数据库 技术、高级图形技术、分布式运算等,应用于组态软件运行平台当中,这些技术在进 一步提升了组态软件运行平台性能的同时,也带来了运行平台结构的复杂性。正由于此 原因,运行平台的结构目前尚无标准定义,现有的运行平台一般从其功能出发,对其中 的功能模块进行划分从而确定整体结构。 全文共分5 章: 第一章绪论,分析了工控组态软件在国内外的发展情况,总结出组态软件的发展趋 势。 第二章组态软件关键技术研究,研究了组态软件运行平台所采用的相关技术和方 法。 第三章工控组态软件运行平台的设计和实现,这是本课题的重点内容,提出了基于 数据软总线的框架结构,给出了框架结构中关键部件的实现。 第四章应用实例及数据分析,以现场应用实例为基础对各项性能指标进行了分析。 第五章结论。对全文的工作重点做了总结,并对今后的工作做了展望。 t :控组态软钟运行平台的研究与实现 1 绪论 1 1 工控组态软件发展及动态 “组态”的概念是伴随着d c s 的出现才开始被生产过程自动化技术人员所熟知 的。组态的概念来自c o n f i g u r a t i o n ,含义是使用软件工具对计算机及软件的各种资源进 行配置,达到使计算机或软件按照预先配置,自动执行任务,满足使用者要求的目的 【1 】。组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一 级的软件平台和开发环境,能以灵活多样的组态方式( 而不是编程方式) 提供良好的用户 开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控 层的各项功能,并能同时支持各种硬件厂家的计算机和i o 设备,与高性能的工控计算 机和网络系统结合,向控制层和管理层提供软、硬件的全部接口,进行系统集成1 2 j 。 组态软件最突出的特点是实时多任务,其主要目地是使自动化工程设计师在生成适 合自己需要的应用系统时不需要修改软件程序的源代码。组态软件主要解决的问题:( 1 ) 为使用者提供灵活多变的组态工具,可以适应不同应用领域的需求:( 2 ) 如何与采集、控 制设备间进行数据交换;( 3 ) 使来自设备的数据与计算机图形画面上的各元素关联起来; ( 4 ) 处理数据报警及系统报警;( 5 ) 存储历史数据及历史数据的查询:( 6 ) 各类报表的生成和 打印输出;( 7 ) 最终生成的应用系统稳定可靠;( 8 ) 具有与第三方程序的接口,方便数据共 享。 监控组态软件是伴随着计算机技术的突飞猛进发展起来的。微处理器技术、计算机 网络技术及计算机软件技术直接推动了监控组态软件的发展。7 0 年代中期随着微处理 器的出现,诞生了第一代d c s ,之后,d c s 和其他控制设备在全球范围内得到了广泛 的应用。那时,每个d c s 厂商在d c s 中都预装了系统软件和应用软件,而其中的应用 软件,实际上就是组态软件,但一直没有人给出明确定义,只是将其使用这种应用软件 设计生成目标应用系统的过程称为“组态”或者“做组态”。8 0 年代末,由于个人计 算枧的普及,开始有入研究如何利用p c 进行工业监控。世界上第一个把组态软件作为 商品进行开发、销售的专业软件公司是美国的w o n d e r w a r e 公司,它于8 0 年代末率先 大连理工人学硕十学位论文 推出第一个商品化监控组态软件i n t o u c h 。此后监控组态软件在全球得到了蓬勃发展 目前世界上的组态软件有几十种之多,总装机量有几十万套。 表i i 国外知名工控组态软件及比较 t a b l e l 1c o m p a r a t i o nb e t w e e nf o r e i g n w e l l - k n o w n i n d u s t r yc o n f i g u r a t i o ns o f t w a r e 早在8 0 年代末9 0 年代初,有些国外的组态软件如o n s p e c 、p a r a g o n 等就开 始进入中国市场,但这些产品并没有被国内的业界人士所认识和了解。随着改革开放, 人们的软件观念发生了变化,对组态软件有了进一步的认识,同时,控制领域对组态软 件的需求不断增大,给组态软件在中国的发展带来了生机。国产化的组态软件逐渐成为 市场上的一支生力军,近年来已经有一定影响力的有组态王、力控、s y n a l l 、m c g s 等 【3 】。 表1 2 国内知名监控组态软件及比较 t a b l e l 1c o m p a r a t i o nb e t w e e nn a t i v e w e b - k n o w n i n d u s t r y c o n f i g u r a t i o n s o ,f t w a ,r e 工控组态软件运行平台的研究与实现 随着计算机软件的发展,软件的功能越来越强,迫使工控组态软件随之发展。成熟 的商用软件技术加高级动画技术、分布式运算、大型数据库技术等逐渐在组态软件上得 到应用。但由于工业软件长期运行可靠性的要求,其技术应用比商用软件滞后。 随着计算机网络的飞速发展,组态软件也出现了分布式、网络化的趋势。比如组态 软件直接支持i n t e m e t 远程访问功能已成为个基本要求。 组态软件向小型化发展主要是满足嵌入式计算机在控制系统中的应用。组态软件 的小型化并不意味其功自的弱化,这对组态软件的开发提出了更高的要求1 4 。 可扩展性为用户提供了在不改变原有系统的情况下,向系统内增加新功能的能力, 这种增加的功能可能来自于组态软件开发商、第三方软件提供商或用户自身。增加功能 最常用的手段是a c t i v e x 组件的应用,目前还只有少数组态软件能提供完备的a c t i v e x 组件引入功能及实现引入对象在脚本语言中的访问。因此组态软件将在可扩展性方面有 进一步发展。 随着管理信息系统和计算机集成制造系统的普及,生产现场数据的应用已经不仅仅 局限于数据采集和监控。在生产制造过程中濡要现场的大量数据进行流程分析和过程 控制。以实现对生产流程的调整和优化。现有的组态软件对大部分这些方面需求还只能 以报表的形式提供或者通过o d b c 将数据导出到外部数据库,以供其他的业务系统调用, 在绝大多数情况下,仍然需要进行再开发才能实现。随着生产决策活动对信息需求的增 加,可以预见,组态软件与管理信息系统或领导信息系统的集成必将更加紧密,并很可能以 实现数据分析与决策功能的模块形式在组态软件中出现【5 j 。 1 2 工控组态软件运行平台的功能及特点 运行平台的主要功能包括监控现场设备,与现场采集、控制设备交换数据。处理数 据报警及系统报警,存储历史数据及历史数据查询等。 工控组态软件运行平台的主要功能决定了它的基本特点:( 1 ) 工控组态软件运行平台 最突出的特点是实时多任务。实时数据的采集与输出,数据处理与算法实现以及实时控 制等多个任务要在同一台计算机上同时进行。( 2 ) 适应性。对现场适应性好,可根据应用 规模和用户的要求配置各种大、中、小型监控系统。( 3 ) 全数字化通信。传统的集散控制 系统是“半数字”系统,许多的模块接收或送出4 - 2 0 m a 模拟信号:而运行平台与硬 大连理工大学硕士学位论文 件的通讯系统是“纯数字”系统,信号传输实现全数字化,提高了信号的可靠性和准确 性。( 4 ) 安全性和可靠性。要求在计算机和数据采集控制设备正常工作的情况下,软件系 统能够连续不间断的安全可靠的工作并兼具故障诊断和故障恢复功能嘲。 工控组态软件运行平台的研究与实现 2 工控组态软件运行平台相关技术研究 2 1 工控组态软件中的数据库技术 从目前市场上流行的各种组态软件来看,因为最初系统设计时的考虑不同,其数据 库部分有很大区别。很多组态软件以常规数据库为依托,同时增加了数据管理功能,在 内存环境中对实时数据进行处理。另一类较先进的组态软件具备独立的实时数据库组 件,其实时性和数据处理、组织及管理能力有明显的提高。 2 1 1 实时数据库的特点 实时数据库系统( r t d b s :r e a l - - t i m ed a t a b a s es y s t e m ) 是数据库与实时系统相结合 的一种新型数据库【7 】。实时数据库系统管理有时间限制的数据和有时间限制的事务,整 个系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间,也就是说系 统宁可接受在时限内的不准确的数据,也不接受超过时限的准确的数据1 8 j 。 实时数据库与一般数据库应用有显著不同的特征。实时数据库与传统数据库的最根 本的区别在于数据与事务的定时限制。在实时系统中,旧的数据不断被新的数据取代。 而当前控制、决策或调度完全依赖于这些即时数据。所以,它既需要数据库来支持大量 数据的共享,维护其数据的一致性,又需要实时处理支持其事务与数据的定时限制州。 由于实时数据库的效率要求使得实时数据库的多数关键量放于内存中。根据对关键量的 存取效率和使用频率的不同要求,放入不同的存储介质中。要求特别严格的可放在基本 内存中,要求其次的可放于扩展内存中,不常用的可放入外存中【1 。实时数据库通常以 内存数据库为基础辅以传统数据库实现。 2 1 2 内存数据库 传统的数据库一般都是磁盘数据库,数据常驻磁盘,其数据需要按一定的数据交换 策略被调到内存缓冲区后才能被存取,在执行过程中受到磁盘i 0 的束缚。通过将数据 库的“主版本”常驻内存可使系统性能获得很大的改善,如i o 操作大量减少、事务的 状态转换及其相联c p u 高速缓存的替换大量减少、锁的竞争下降、更有效的内存蠢找 结构和查找处理等。 内存数据库系统( m m d b s ) 与通常的常驻磁盘数据库系统( d r d b s d i s k - r e s i d e n t d a t a b a s es y s t e m ) 相比具有如下系统特性j :( 1 ) 内存和磁盘在存取时间上有若干数据量 级的差别。内存的存取时间在1 0 s 的数量级而磁盘在5 1 0 3 s 数量级。( 2 ) 内存是易失性 的,而磁盘是永久性的存储器。( 3 ) 存储格式不同。内存是字节或字编址的,而磁盘是块 大连理工大学硕士学位论文 存储设备。( 4 ) 数据的存储组织方式对性能影响不同。不同的组织方式对磁盘而言的性能 影响远比对内存影响大,如顺序存取与随机存取的时间对内存没有什么变化,而对磁盘 则几乎有数量级的差别。( 5 ) 存取方式不同。内存可由处理机直接存取,磁盘则不能。 2 1 3 常规数据库编程接口 尽管实时数据库技术、内存数据库技术已经应用于组态软件运行平台,但常规数据 库具有处理海量数据的优势,因此,当前的运行平台中常规数据库还是工控组态软件中 必不可少的组成部分。常规数据库的操作通常都是通过d b m s 完成,不同的数据库系 统具有不同的d b m s ,因此操作方法也不尽相同。通用数据库编程接口为编程人员提供 了一种用相同的代码访问不同d b m s 的能力,避免了为每个d b m s 编写一个版本的应 用程序,因此数据库编程接口成为开发数据库软件的必备工具。常规数据库的编程接口 有如下类型: o d b c ( o p e n d a t a b a s ec o n n e c t i v i t y ) 是客户应用程序访问关系数据库时提供的一个统 一的接口,对于不同的数据库,o d b c 提供了一套统一的a p i ,使应用程序可以应用所 提供的a p i 来访问任何提供了o d b c 驱动程序的数据库。目前所有的关系数据库都提 供了o d b c 驱动程序,基本上可用于所有的关系数据库,但o d b c 只能用于关系数据 库。由于o d b c 是一种底层的访问技术,因此,o d b ca p i 可以使客户应用程序能够 从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。 d a o ( d a t aa c c e s so b j e c t s ) 数据访问对象是第一个面向对象的接口,它显露了 m i c r o s o t tj e t 数据库引擎( 由m i c r o s o f ta c c e s s 所使用) ,并允许v i s u a lb a s i c 开发者 通过o d b c 直接连接到其他数据库一样,直接连接到a c c e s s 表。d a o 最适用于单系 统应用程序或小范围本地分布使用。 r d o ( r e m o t ed a t ao b j e c t s ) 远程数据对象是一个到o d b c 的、面向对象的数据访 问接口,它同易于使用的d a os t y l e 组合在一起,提供了一个接口。形式上展示出所有 o d b c 的底层功能和灵活性。尽管r d o 在访问j e t 或i s a m 数据库方面受到艮制, 而且它只能通过现存的o d b c 驱动程序来访问关系数据库。但是。r d o 已被证明是许 多s q ls e r v e r 、o r a c l e 以及其他大型关系数据库开发者经常选用的最佳接口。 a d o 是d a o r d o 的后继产物。a d o 技术是基于o l ed b 的访问接口,它继承了 o l ed b 技术的优点,并且o l ed b 的接口作了封装,定义了a d o 对象,使程序开发 得到简化。a d o2 0 在功能上与r d o 更相似,但a d o 扩展了d a o 和r d o 所使用的 对象模型,既具有d a o 的简单性,又具有r d o 的速度和能力。a d o 技术属于数据库 访问的高层接口。 工控组态软件运行平台的研究与实现 上述接口在常规数据库编程中被普遍使用,相比较而言,o d b c 接口灵活,能实现 很多上层接口所不能的功能,但它的缺点是操作复杂;d a o 和r d o 相对于a d o 来 说,更像是一种中间过渡产品,a d o 兼具两者的优点,而且比前两者具有更大的灵活 性,因而成为当前数据库软件设计中的首选接口。 2 2 组态参数描述及解析 2 2 1 组态参数描述 工控组态软件通常由开发系统和运行系统两部分组成,开发系统与运行系统一般以 独立的两个可执行文件的形式存在。组态参数是由开发系统生成的,用于描述诸如设 备、变量、图形等信息的,供运行系统加载、识别,生成现场监控画面的数据。组态参 数是开发系统和运行系统之间的联系纽带。 组态参数可以通过多种形式进行传递,共享内存、磁盘文件等都可以用于组态参数 传递。但运行系统往往需要脱离开发系统独立运行,即在不启动开发系统的情况下运行 系统可以取得工程组态参数,这种情况下共享内存存在一定的局限性。所以,参数通常 以磁盘文件的形式保存。 不同组态软件对组态参数的要求不同,所以不同组态软件的组态参数也有区别。这 造成了不同组态软件所生成的组态文件不可互相通用。这种不可通用性来自于文件的格 式与文件的内部组织格式。w i n d o w s 平台中,常见的两种文件格式就是二进制文件和文 本文件,二进制文件的优点是占用相同空间的文件可以保存更多信息,它的内容只有通 过特定的软件才能被解析出来,不便于直接阅览,但这种方式有利于基于二进制的计算 机读取文件信息。文本文件正好与二进制文件相反,它保存相同信息所占用的空间则相 对较大,但它的内容是可以直接识别的a s c i i 码,便于阅读。另一方面,如果两种组态 软件都采用文本文件进行组态参数记录,但前一种用l 表示变量的数据类型为整型,而 另一种用0 表示变量的类型为整型,在对特定数据进行解析时产生了分歧,这种分歧就 是文件内部组织结构的差别。对文件内部信息的不同解释方法造成了组态参数不能通 用。 二进制文件与文本文件优劣不可一概而论,使用二进制文件或者文本文件作为组态 参数的载体也没有一定的要求,有的使用二进制文件,有的使用文本文件,有的还混合 使用两种文件。 大连理工大学硕士学位论文 2 2 2x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ) 可扩展标记语言 v i l 作为一种文本文档的元标记语言,是w 3 c 认可的文档标记标准。x m l 是标 准通用标记语言s g m l 的一个子集【1 2 1 ,它定义了利用简单的、人类可读的标签对数据 进行标记所采用的一般语法,提供了计算机文档的一种标准格式【”j 。 x m l 在数据交换中是非常有用的,x m l 可以用来在w e b 上的应用之间或者应用 与用户之间交换数据。x m l 本身并不给终端用户提供表示,但是当与样式表一起使用 时,便容易浏览x m l 文档了。x m l 文档提供一种获取数据、样式表的方法,x s l ( e x t e n s i b l es t y l el a n g u a g e ,扩展式样表语言) 和c s s ( c a s c a d i n gs t y l e s h e e t ,层叠式样 表) 控制x m l 在w e b 浏览器中的表示。 x m l 另一个关键的优势就是集成数据和文档的能力。大多数语言在表示严格的、 绝对的内容和数据结构上设计的好一点,或者在表示灵活的、自由形式的文档文本上设 计的好一些,但是x m l 在两方面都做的很好。x m l 能获取科学的或金融的数据,也 能格式化通过e m a i l 发送的数据。x m l 能表示数据和自由格式的文本,也能在同一个 文档上做到这两方面。 以其他数据交换语言相比,x m l 主要表现在以下三个方面1 1 4 】: 1 扩展性。允许用户定义自己的标签,使用户可以对数据语义进行准确地描述。 2 结构描述。支持深层次的嵌套表达,可以对结构复杂的文档数据进行充分地描 述。特别是一些关系数据,面向对象的层次结构数据等。 3 有效确认机制。提供对所描述数据的结构正确性进行确认的机制。 d o m 的全称是d o c u m e n to b j e c tm o d e l ,也即文档对象模型1 5 。在应用程序中,基 于d o m 的x m l 分析器将一个x m l 文档转换成一个对象模型的集合( 通常称d o m 树) ,应用程序正是通过对这个对象模型的操作。来实现对x m l 文档数据的操作。通 过d o m 接口,应用程序可以在任何时候访问x m l 文档中的任何一部分数据,因此, 这种利用d o m 接口的机制也被称作随机访问机制。 对于x m l 应用开发来说,d o m 就是一个对象化的x m l 数据接口,一个与语言无 关、与平台无关的标准接口规范。利用d o m ,程序开发人员可以动态地创建文档,遍 历文档结构,添加、修改、删除文档内容。改变文档的显示方式等。可以这样说,文档 代表的是数据,而d o m 则代表了如何去处理这些数据。 工控组态软件运行平台的研究与实现 2 3 数据通讯 与工业现场设备进行实时数据通讯是工控组态软件运行平台进行的主要工作,目前 工业现场设备所示用的通讯方式主要有串口通讯、t c p i p 网络通讯、板卡类通讯等。 2 3 。1 串行通讯 串行通讯是利用串行端口进行数据通讯的通讯方法,串行通讯端口在系统控制的范 畴中一直占据着极其重要的地位。工业现场具有大量设备使用串行通讯,例如p l c 、智 能仪表、智能模块、变频器等,因此串行通讯是工业现场应用最广泛的通讯方式。 w i n 3 2 下串口通信程序可以用两种方法实现:一是利用a c t i v e x 控件;二是使用 a p i 通信函数。使用a c f i v e x 控件,程序实现非常简单,结构清晰,缺点是欠灵活,适 合开发小规模串行通讯软件;使用a p i 通信函数的优缺点则基本上相反。但a p i 串口 通信在实现非阻塞通信、多线程等方面存在优势,特别是在c p u 处理任务比较繁重、 与外围设备中有大量的通信数据时,有很好的表现i i 6 j 。 串行通讯的一般过程是打开串口,设置串口参数;监视串口事件;数据处理。为提 高系统的效率,工控组态软件普遍采用重叠操作实现非阻塞异步通讯。 2 3 2t c p 仰网络通讯 随着现场总线和工业以太网技术的发展,基于t c p i p 的网络通讯技术也得n t 广 泛应用。很多工控组态软件从支持网络通讯设备及发展企业信息系统集成的角度出发都 对t c p i p 通讯提供了良好的支持,从而使网络通讯模块成为工控组态软件运行平台的 一部分。网络通讯可以采用t c p ( t r a n s f e rc o n t r o lp r o t o c 0 1 ) 或者u d p ( u s e rd a t a g r a m p r o t o c 0 1 ) 两种方式,其中t c p 是面向连接的通讯协议,提供数据的可靠传输,u d p 是 无连接的,提供不可靠的数据传输服务。虽然两种方式提供不同的可靠性服务,但两者 在不同应用中各有优点,t c p 传输数据安全可靠,而u d p 则体现在实时性上,因此这 两种方式在网络通讯中都得到广泛使用。w i n d o w s 平台提供了方便的网络应用开发接 口- - s o c k e t ,同时m f c 也将s o c k e t 封装于c s o e k e t 之中,大大简化了网络通讯编程的 复杂度i l 7 l 。 2 3 3 板卡类通讯 板卡类通讯适用于寄存器直接访问的方式,一般应用于同安装在计算机数据总线上 的板卡进行数据通讯。w i n d o w s 9 8 下可以通过开发v x d 驱动程序的方法直接操作板卡 上的寄存器,而得到数据,但在w i n d o w s n t 下其操作方式发生了变化,需要实现基于 w d m 方式的设备驱动程序方能实现对硬件的访问。开发设备驱动程序的工具有d r i v e r 大连理工大学硕士学位论文 s t u d i o 、d r i v e rw o r k s 等工具,通过这些开发软件可以方便快捷的实现v x d 及w d m 驱 动程序的开发。组态软件可以利用系统c r e a t e f i l e 函数打开系统中的特定数据端口,通 过设备驱动程序提供的服务取得板卡寄存器中的数据。通常将打开端口与设备驱动程序 进行数据交换的过程封装在d l l 或者a c t i v e x 控件中,使得组态软件运行平台更方便 地调用通讯相关的功能函数。 2 4 脚本语言 脚本语言是扩充组态系统功能的重要手段,因此,大多数组态软件提供了脚本语言 的支持。具体的实现方式可分为三种:一是内置的类c b a s i c 语言;二是采用微软的 v b a 的编程语言;三是有少数组态软件采用面向对象的脚本语言。类c b a s i c 语言要求 用户使用类似高级语言的语句书写脚本,使用系统提供的函数调用组合完成各种系统功 能。应该指明的是,多数采用这种方式的国内组态软件,对脚本的支持并不完善,许多 组态软件只提供i f t h e n e l s e 的语句结构,不提供循环控制语句。为书写脚本程 序带来了一定的困难。微软的v b a 是一种相对完备的开发环境,采用v b a 的组态软 件通常使用微软的v b a 环境和组件技术,把组态系统中的对象以组件方式实现,使用 v b a 的程序对这些对象进行访问。由于v i s u a lb a s i c 是解释执行的,所以v b a 程序的 一些语法错误可能到执行时才能发现。而面向对象的脚本语言提供了对象访问机制,对 系统中的对象可以通过其属性和方法进行访问,比较容易学习、掌握和扩展,但实现比 较复杂。 2 4 1 脚本引擎的作用 执行用户自定义脚本,是近年来工控组态软件的趋势,运行平台可以执行用户根据 自身需要所开发的脚本代码,并且在脚本引擎的帮助下,运行平台可以针对用户的不同 需求,生成脚本代码,不需要再次编译就可以实现多种多样的逻辑功能,例如: 扩展运行平台的应用程序接口,可以通过应用程序接口实现数学运算、文件操作、 图形对象的显隐、多媒体操作、访问当前系统的数据库系统等。 执行用户代码。用户的需求多种多样,虽然组态软件具有灵活多变的特点,但仍然 不可避免在某些方面存在弱点,不能完全把用户的所有需求全部考虑在内。因此组态软 件需要支持二次开发,为工程人员提供编写代码,实现控制的能力,既能满足用户的需 求,又可以达到简化软件系统的目的。在这种情况下,可以将控制权交给用户,在特定 的条件下执行用户的脚本代码,使系统变得更加灵活j 1 8 】。 工控组态软件运行平台的研究与实现 2 4 2a c t i v e ) ( s c r i p t i n g a c t i v e xs c r i p t i n g 技术是m i c r o s o f t 的a c t i v e x 技术的一个组成部分,它主要目的是 使应用程序在不被修改的情况下,为各种脚本语言所控制。m i c r o s o f t 提供的a c t i v e x s c r i p t i n g 技术可使软件扩充变得非常简单,软件开发商利用脚本引擎( s c r i p te n g i n e ) 支持 脚本语言的解释和执行操作,而软件用户可以根据需要编写自己的脚本代码,交由软件 处理,对于用户来说,就好像自己在编写程序控制应用程序,以完成自己所期望的功 能。而应用软件并不需要自己去解释执行用户的脚本代码,只要利用脚本引擎就可以很 方便地实现对用户脚本语言的支持。应用系统也可以利用这种技术来提供二次开发的特 性。 a c t i v e xs c r i p t i n g 技术实际上是一组c o m 接口的定义,通过这组接口建立应用程序 和脚本引擎之间的关系。脚本引擎是a c t i v e xs c r i p t i n g 技术的实现。一个应用系统如果 实现了有关的标准接口,那么它就可以通过脚本引擎提供对用户脚本语言的支持。 应用系统为了支持脚本语言,首先它要实现几个标准接口,然后它把自己的一些被 控对象暴露出来;脚本文件是一个文本文件,文件中包含了一些程序代码;脚本引擎本 身是一个c o m 对象,它负责对脚本文件的解释和执行工作,在必要时通过应用系统的 接口与其交互。三者的关系如图2 1 所示: 图2 1 脚本文件,脚本引擎及应用程序的关系图 f i g u r e2 1r e l a t i o n s h i po f s c r i p tf i l es c r i p te n g i n ea n da p p l i c a t i o n 应用系统首先需要创建脚本引擎对象,并设置必要的参数,然后装入脚本文件,再 启动引擎,使引擎进入连接状态( 即运行脚本状态) ;应用系统也可以终止9 1 擎的运行, 使其进入无连接状态。在引擎处于连接状态时,当特定的事件被激发时,脚本文件中的 相应的事件控制函数会被执行。 大连理上火学硕士学位论文 将脚本功能整合到应用程序当中意味着必须实现i a c t i v e s c r i p t s i t e 接口并且将其连接 到脚本引擎上。如果不精通c 十+ 或者所使用的语言不能实现诸如i a c t i v e s c r i p t s i t e 之类 的接口,我们就必须求助于他人实现这些接口。 2 4 t 3m i c r o s o f ts c r i p t 控件 m i c r o s o f t 提供的s c r i p t c o n t r o l 对象是一个a c l i v e x 控件,它实现了为应用程序提供 脚本功能的简便方法。 m i c r o s o f ts c r i p t 控件允许用户为脚本引擎编写并运行脚本。m i c r o s o f ts c r i p t 控件提 供v b s c r i p t 和j s c r i p t ( t m ) 两种脚本引擎。此外,m i c r o s o f ts c r i p t 控件支持向其添加任何 自动化对象的对象模型,添加后,脚本引擎可使用自动化对象的公用方法和属性。把应 用程序的对象模型与脚本引擎相结合,可以创建脚本应用程序。 m i c r o s o f tv i s u a lb a s i c 中,程序代码是按模块编写的,每个模块包含一组具有一定 逻辑关系的函数和过程。模块集合中包含多个过程对象,每个模块对象包含多个过程对 象,这些过程对象都可通过r u n 方法运行。m s s c r i p t 控件包含一个默认的模块对象, 即全局模块,其他模块可调用包含在全局模块中的所有过程。如果仅使用一个模块对 象,则无须指定模块,直接调用a d d c o d e 方法向全局模块添加代码即可。调用 m s s c r i p t 控件的r u n 方法,可运行添加到默认全局模块的任何代码。 m s s c r i p t 的a d d 方法用于向模块集合对象中添加模块,并在添加时为每个模块命 名。然后,可用名称指定m o d u l e 对象并调用其中过程。r e s e t 方法用于清除模块集合中 所有的模块对象,清除后只剩下全局模块对象,集合的c o u n t 属性被重置为l 。同时, 所有过程( 包括保存在全局模块中的过程) 都被清除。在模块对象中添加过程后,可用 c o d e o b j e c t 替代r u n 方法直接调用过程。 2 5 冗余备份 在单机控制系统中,上位机要完成从管理到控制的所有工作,不但增加了上位机的 负担,系统对计算机安全性的依赖也加强,一旦上位机瘫痪,系统的运行参数观察不 到,控制策略不能实现,对异常情况不能做出响应,可能会使整个工厂的安全生产造成 影响。为了避免这种情况,在设计控制系统时需要采用冗余备份技术。 冗余备份技术就是利用软件或者硬件将系统或者系统中的重要部分作为一个副本保 存的技术。而热备份技术是要求在主系统发生故障的情况下,不终止系统的当前工作, 不影响系统的运行,自动的在主系统和备份系统之间进行切换的技术。使用冗余备份技 工控组态软件运行平台的研究与实现 术热备份的系统可以实现当故障发生时,可以在很短的时间内启动备份系统,使系统迅 速恢复正常状态,保证系统的长期稳定运行。 使用两台计算机同时对系统进行监视和控制,当某一台上位机出现异常情况后,另 一台上位机能够迅速控制局面,实现平滑切换。整个系统的控制丝毫不受影响,这种方 式极大地提高了系统运行的可靠程度。这就是常见的双机备份系统。 双机备份方案一般分为双机冷备份和双机热备份两种。双机冷备份为一台主机实时 工作,一台从机等待备用。这种方案最大的问题是无法实现实时数据备份,不能满足工 业现场数据采集时对数据实时性提出的要求。双机热备份有双机镜像和共享磁盘阵列两 种方案。共享磁盘阵列方案为两台主机共用一个磁盘阵列。优点是不降低系统性能,但 要求磁盘阵列具有较高的可靠性。双机镜像方案可选择将主数据库服务器上的表、文 件、数据库或全部内容通过专用连接通道镜像到备用服务器上。优点是简单、便宜。缺 点是降低系统效率,对数据维护的能力与共享磁盘阵列方案相同。 大连理工大学硕士学位论文 3 工控组态软件运行平台的设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中考英语第一轮复习:过去进行时(含答案解析)
- 2025年地标建筑建设合同提前终止
- 2025标准版试用买卖合同范本
- 2025湖南省职业病防治院高层次人才公开招聘9人考前自测高频考点模拟试题参考答案详解
- 2025广东广州市横沥人力资源管理服务有限公司招聘服务外包人员1人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年上半年浙江宁波市北仑区(开发区)招聘国有企业人员(港城英才)及进入人员模拟试卷及答案详解(典优)
- 中考消防考试题库及答案
- 铁路列车乘务员考试题库及答案
- 街道特勤考试题库及答案
- 客户服务支持标准化工具与培训资料
- 消防控制室操作规程培训
- 国庆节磨豆腐活动方案
- 运输供应商管理制度
- 七年级上册生命、生态、安全教案全册
- 2025年日历( 每2个月一张打印版)
- 国拨资金管理办法
- (高清版)AQ∕T 1047-2007 煤矿井下煤层瓦斯压力的直接测定方法
- 危险货物集装箱装箱检查员真题练习附有答案
- HG-T20678-2023《化工设备衬里钢壳设计标准》
- 间歇充气加压用于静脉血栓栓塞症预防的中国专家共识(2022年版)
- GA/T 2019-2023公安视频监控视频存储技术要求
评论
0/150
提交评论