(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf_第1页
(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf_第2页
(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf_第3页
(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf_第4页
(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

(机械电子工程专业论文)中小变电站监控组态软件的设计与开发.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 页捅要论文针对国内中小型变电站监控自动化的实际需求,基于面向对象的设计思想,在v c + + 开发环境中,设计并开发了中小变电站监控组态软件。论文首先分析了变电站监控的特定需求,给出了软件的总体结构方案。充分考虑了系统的可维护性和可扩展性,采用成熟的模块化方式设计,各模块功能内聚性好,模块之间通过规范的数据接口实现耦合。采用“自顶向下”开发流程。先设计软件总体结构,便于各模块功能的划分、设计、开发,逐步完善软件的各项功能,为源代码级的系统维护和扩展奠定了基础。通信功能是组态软件的基础。在通信模块的设计中,论文提出将通信划分为通信端口层和用户协议层的设计思路。在通信端口层,定义了通信端口基类,完成了串行通信端口的程序设计和功能实现。在用户协议层,详细分析了与监控主机通信的所有通信设备的基本特征,设计和定义了通信单元基类;论文详细分析了“主从式”通信协议的特点,定义了“主从式”通信协议类;完成了m o d b u s 协议层、r c 3 0 0 0 协议层在监控组态软件中的具体实现。另外,论文还详细说明了总线“竞争”问题的解决方案以及通信线程的具体设计。在定值在线查询和修改功能模块的设计中,论文详细分析了模块的设计方案,定义了定值数据的数据结构。针对定值查询和修改的要求,给出了定值操作安全性和稳定性的保障措施,设计开发了友好美观的用户操作界面。在故障波形再现及分析模块中,完成了波形数据的召唤、解析、存储功能。波形显示上,采用了目前流行的文档视图结构,实现了录波数据的条件查询、波形的显示、颜色设置、波形缩放等功能。同时,论文还给出了数据库的设计和实现方案。该组态软件已运用于工程实际,运行稳定、可靠,很好地实现了预定功能,达到了设计目标,满足中小型变电站自动化监控的实际需要。关键词:组态软件;通信协议;变电站;定值;故障录波西南交通大学硕士研究生学位论文第1 l 页a b s t r a c tt h i sp a p e ra n a l y z e dt h e a c t u a ln e e d so fs m a l lt r a n s f o r m e rs t a t i o n s ,a n dd e s c r i b e dt h ed e s i g na n dd e v e l o p m e n to ft h ec o n f i g u r a t i o ns o f t w a r ew h i c hi sa p p l i c a b l et ot h es m a l lt r a n s f o r m e rs t a t i o n s t h ed e s i g na n dd e v e l o p m e n tb a s e do no o p a n d v c + + f i r s to fa l l ,t h ea r c h i t e c t u r eo fs o f t w a r ew a sb u i l tb ya n a l y s i so ft h es p e c i a ln e e d st os m a l lt r a n s f o r m e rs t a t i o n sm o n i t o r i n ga n dc o n t r o l l i n g w eg i v ef a l lc o n s i d e r a t i o nt od e s i g no ft h es y s t e mm a i n t a i n a b i l i t ya n de x p a n s i b i l i t y e a c hm o d u l ew i t hh i 曲d e g r e eo fi n d e p e n d e n c ea n ds t a n d a r d i z e dd a t ai n t e r f a c e t h ed e s i g nl a i dt h ef o u n d a t i o no ff u r t h e rd e v e l o p m e n ta n di m p r o v e m e n tf o rc o n f i g u r a t i o ns o f t w a r e c o m m u n i c a t i o ni st h eb a s i so ft h es o f t w a r e t h i sp a p e rd e s c r i b e dad e s i g na g r e e m e n tt h a tc o m m u n i c a t i o nl a y e ri n t oc o m m u n i c a t i o np o r tl a y e ra n du s e rp r o t o c o ll a y e r i nc o m m u n i c a t i o np o r tl a y e r , t h ep a p e rd e f i n e db a s ec l a s so fc o m m u n i c a t i o np o r t sa n dd e t a i l e dt h er e a l i z a t i o no ft h es e r i a lc o m m u n i c a t i o n i nr i s e rp r o t o c o ll a y e r , t h ep a p e rg a v ead e t a i l e da n a l y s i so fa l lb a s i cc h a r a c t e r i s t i c so fc o m m u n i c a t i o ne q u i p m e n t s ,a n dd e f i n e db a s ec l a s so ft h ec o m m u n i c a t i o nu n i t t h ep a p e ra n a l y z e dt h ec h a r a c t e r i s t i c so fm a s t e r - s l a v ec o m m u n i c a t i o np r o t o c o la n dd e f i n e db a s ec l a s so ft h ep r o t o c 0 1 t h ep a p e rd e t a i l st h er e a l i z a t i o no fm o d b u sp r o t o c o la n dr c 3 0 0 0p r o t o c 0 1 i ta l s og a v et h es o l u t i o nf o rt h eb u sc o m p e t i t i o na n di n t r o d u c e dt h er e a l i z a t i o no fc o m m u n i c a t i o nt h r e a d w ea n a l y z e dt h ed e s i g ns c h e m eo fd e f i n i t ev a l u es e t t i n gm o d u l e t h ed a t as t r u c t u r eo ft h ed e f i n i t ev a l u ew a sd e f m e d w eh a v ed e s i g n e dab e a u t i f u la n df r i e n d l yh m i t ot h es t a b i l i t ya n ds e c u r i t yn e e d so fd e f i n i t ev a l u eo p e r a t i o n s ,t h ep a p e rg a v et h ec o r r e s p o n d i n gs o l u t i o n p o w e rf a u l tw a v e f o r mr e c u r r e n c ea n da n a l y s i sm o d u l ei sa ni m p o r t a n tf u n c t i o nm o d u l eo ft h es o f t w a r es y s t e m w ef i n i s h e dt h ed e s i g no fc o m m u n i c a t i o na n ds t o r a g ef o rt h ep o w e rf a u l tr e c o r d i n gd a t a t h ef r a m eo ft h ea n a l y s i sm o d u l ew a ss d i t h em o d u l eh a dt h ef u n c t i o ns u c ha sd a t aq u e r y ,w a v e f o r md i s p l a y ,西南交通大学硕士研究生学位论文第1 ll 页w a v e f o r mc o l o rs e t t i n g ow a v e f o r mz o o m , e t c t h ep a p e ra l s oi n t r o d u c e dt h ed e s i g no ft h ed a t a - b a s e t h es o f t w a r eh a sb e e nu s e di na c t u a lp r q e c t s i ti ss 诅b l ea n dr e l i a b l e ,c o n s i s t e n tw i t ht h ed e s i g nr e q u i r e m e n t s ,a n da p p l i e dt ot h ea c t u a ln e e d so fs m a l lt r a n s f o r m e rs t a t i o n sm o n i t o r i n ga n dc o n t r o l l i n gw e l l k e y w o r d :c o n f i g u r a t i o ns o f t w a r e ;c o m m u n i c a t i o np r o t o c o l ;t r a n s f o r m e rs t a t i o n ;d e f i n i t ev a l u e ;f a u l tr e c o r d i n g西南交通大学硕士研究生学位论文第1 页西南交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留,使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印,缩印或扫描等复印手段保存和汇编本学位论文。本学位论文属于1 保密口,在年解密后适用本授权书;2 不保密d ,使用本授权书。( 请在以上方框内打“4 ”)学位论文作者签名:乏豳呼e t 期:0 9 西t1指导老师签名:古之,日期:y 以-西南交通大学硕士研究生学位论文第1 页第1 章绪论本章主要介绍组态软件的概况极其发展趋势,讨论课题研究的背景和意义,并明确课题要完成的任务和需要达到的目标。1 1 组态软件1 1 1 组态软件概况分布式控制系统( d c s ,又称集散式控制系统) 的出现和发展,催生了“组态”( c o n f i g u r a t i o n ) 这个概念。组态,即利用软件工具对计算机及其软件的各种资源进行配置,使计算机或软件按照预先设置,自动执行特定任务,满足特定应用要求。组态软件是面向监控与数据采集( s c a d a ,即s u p e r v i s o r yc o n t r o la n dd a t a a c q u i s i t i o n ) 的软件平台工具,具有丰富的设置项目,使用方式灵活,功能强大。利用组态软件,工程技术人员只需进行简单的数据连接和配置操作,就能实现监控主机与现场智能仪表设备进行数据通信和远程遥控的目的。组态软件最早出现时,人机接口h m i ( h u m a nm a c h i n ei n t e r f a c e ) 是其主要内涵,随着它的快速发展,实时数据库、实时控制、s c a d a 、通信及联网、开放数据接口、对f o 设备的广泛支持已经成为它的主要内容。随着技术的发展,组态软件还将会不断被赋予新的内容。1 1 2 组态软件的产业背景和发展状况在最初的工业自动化系统中,监控软件都是针对具体系统专门设计和开发。当监控对象发生变动后,就必须修改软件系统的源代码,这导致开发周期过长,监控软件几乎不能重复使用,维护也很困难。随着计算机技术突飞猛进的发展,工业控制系统的规模越来越大,复杂程度越来越高,传统的监控软件设计模式成为了工业自动化系统发展的一个瓶颈。组态软件的出现,可以说是工业自动化控制领域发展的必然。西南交通大学硕士研究生学位论文第2 页2 0 世纪8 0 年代,美国的w o n d e r w a r e 公司率先推出了世界上第一个商用组态软件i n t o u c h ,此后,组态软件在全球得到了蓬勃发展。目前,世界上有影响力的组态软件有几十种之多( 见表1 1 ) ,总装机量有近百万台。伴随着社会的发展和信息化的加速,组态软件还将在工业监控领域扮演越来越重要的角色,未来的发展前景十分看好。表1 - 1 世界著名组态软件及厂商软件名称公司名称国别软件名称公司名称国别f i x ,l f i xi n t e u u t i o n美国t h i n k & d o信肯通美国n a t i o n a li n t o u c hw o n d e r o v a r e美国l a b v i e w美国i n s t r u m e n tp a r a g o nn e m a s o f t美国g g i l e s i si c o n i c s美国a i d 【a ) 【t ae n g i n e r r i n g美国w i z c o np c s o f t以色列i m p l i c i t通用电气美国西门子w m c c德国r s v i e w 3 2r o c k 、e n美国c i t e nc i t e n澳大利亚早在2 0 世纪9 0 年代初期,国外组态软件就陆续登陆中国市场。当时的工业自动化水平对软件的要求不高,国内对组态软件了解不多,而且软件本身价格昂贵,大多数用户无力购买,从而导致组态软件在我国的推广经历了一段困难期。随着计算机技术在我国行业内的广泛应用,工业自动化水平的不断提高,大家对工业自动化的需求也逐渐增加。组态软件的技术趋于成熟,国内一些软件企业纷纷推出自己的组态软件产品,如三维力控、亚控“组态王”、昆仑通态m c g s 等等,与国外的软件企业一起促进组态软件市场的不断扩大成熟。组态软件的通用性、开放性、功能强大和方便维护等特点得到越来越多的认可。目前组态软件在各工业领域已经得到了广泛的应用。1 1 3 组态软件的功能特点组态软件最突出的特点是实时多任务。数据采集与输出、数据处理与算法实现、图形显示及人机对话、实时数据的存储、检索管理、实时通信等多个任务要在同一台计算机上同时运行。组态软件的使用者一般是工业自动化工程的现场技术人员,使用组态软西南交通大学硕士研究生学位论文第3 页件的主要目的是让使用者在生成适合特定工程需要的监控系统时不需要修改软件程序的源代码,只通过简单的组态操作,就可以立即在现场得到可以运行的监控软件程序。因此,组态软件的设计要面向自动化工程技术人员的基本需求,主要解决以下一些共性问题:如何与数据采集、控制设备进行数据交换。使来自设备的数据与计算机图形画面上的各种元素关联起来。 处理数据报警及系统报警。存储历史数据并支持历史数据的查询。 各种报表的生成和打印输出。 灵活、方便的组态工具,以适应不同应用领域的需求。系统的稳定性和扩展性。 具有与第三方程序的接口,以方便数据共享。自动化工程技术人员在使用组态软件时只需要填写一些实现设计的表格或文件,再利用图形功能把被控对象( 如断路器、微机保护装置、电流表、趋势曲线、报表等) 形象地绘制出来,与 0 设备的实时数据进行逻辑连接。通过内部数据连接把被控对象的属性当组态软件生成的应用系统投入运行后,与被控对象相连的z o 设备的数据发生变化,会直接导致被控对象的属性变化。若要对应用系统进行修改,也十分方便,这就是组态软件的方便灵活性。由此可以看出,组态软件具有实时多任务、接口开放、使用灵活、功能多样、运行可靠等特点。1 1 4 组态软件的发展趋势随着组态软件技术的不断成熟完善,组态软件的功能在很大程度上已超出以前单一的数据采集和显示。许多新出现的标准化技术不断被应用到监控组态软件中。总的发展趋势可归结为以下三点;( 1 ) 向高端的大型软件平台发展,如向e r p 和c i m s 系统融合、集成,直接为企业的生产、管理、经营和服务等各方面提供有效的现场数据,方便西南交通大学硕士研究生学位论文第4 页管理和分析,实现信息共享和集成。( 2 ) 能够同时兼容多种操作系统平台,为用户提供更多更好的选择。目前的组态软件绝大多数都是运行在m i c r o s o f tw i n d o w s 系统下。随着i t n u x 操作系统的日益成熟,未来一段时期将可能是w i n d o w s 、u n i x 、l i n u x - - 三大操作系统并存的情况。具有跨平台能力的组态软件无疑具有更为强大的生命力和更为广泛的应用性。( 3 ) 提供嵌入式的整体解决方案。这其中包括嵌入式的h m i ,对现场控制设备的数采及监控:与大型设备的紧密集成,利用i n t c r n e t 技术的远程诊断、维护和管理现场设备,使设备更具智能化。1 2 课题的背景和意义变电站是电力输配电系统中非常重要的一环,涉及到许多安全运行、经济效益方而的问题。随着电子技术、计算机技术和通信技术的迅速发展和不断成熟,为解决这些问题提供了途径,计算机自动监控系统便应运而生。1 2 1 变电站综合自动化系统八十年代之后,以计算机技术为基础的变电站自动化技术迅速发展,世界许多发达国家已有大量非常成熟的产品投运于现场。国内从八十年代末开始至今,在这一领域也做了大量的土作,已经取得了很多实质性的进展,也有很多较成熟的产品投运于现场。如南瑞、东方、四方等企业的电力系统方面的自动化产品。变电站自动化技术是在计算机监控、远方调度控制等技术的应用基础上发展起来的,对变电站运行自动进行监视、管理、协调和控制,提高了变电站的安全管理水平。提高了运行的可靠性,改善和提高了电网的控制水平,更为重要的是变电站自动化的发展,为电网综合自动化的发展和深入提供了广阔的前景。随着我国电网的建设,电网结构的日趋复杂,作为系统重要组成部分的变电站,其运行的经济性、安全性和可靠性变得越来越重要。变电站综合自西南交通大学硕士研究生学位论文第5 页动化技术已成为当前我国电力工业推行技术进步的重点之一,越来越多的变电站进行技术改造以提高自动化水平。监控软件是变电站综合自动化系统的重要组成部分,集数据采集、显示、控制、通信等功能于一体,是变电站综合自动化系统的最终实现工具。随着计算机技术和通信技术的发展,人们对电力监控系统的要求越来越高。因此,开发专用的变电站监控组态软件成为满足变电站自动化技术发展的必然选择。运用变电站监控组态软件,变电站工作人员只需要简单地进行相应的参数组态工作,就能够实时、直观了解和监控整个变电站设备的运行情况。1 2 2 课题的意义目前,国内外知名企业( 如西门子、通用电气等) 的大型商用监控组态软件,价格非常昂贵,系统功能复杂,中小型变电站难以承受和使用。而通用组态软件( 如i n t o u c h 、组态王等) ,对于软件开发能力很弱的中小型变电站,也不是一个很好的选择,因为通用组态软件与变电站的实际运行情况往往存在一定差距,难以满足变电站监控系统的特定功能要求。因此,低成本、高效率、适合中小型变电站应用要求的监控组态软件受到越来越多中小型用户的欢迎,有着广阔的市场空间。成都某电气有限公司主要为中小型变电站提供综合自动化系统解决方案,其产品包括微机保护装置,电流表,直流屏等。公司迫切需要一套适用于中小型变电站的监控组态软件,以满足公司综合自动化系统的需求。根据公司的产品定位和发展规划,该组态软件主要应用于中小型变电站的监控。r c 3 0 0 0 变电站监控组态软件基于w i n d o w s2 0 0 0 平台,充分利用了w i n d o w s 系统的安全性、多线程等特性,以v i s u a lc + + 为主要开发工具。良好的开放性设计使系统具有强大的生命力和广泛的适应性,呵以满足中小型变电站对监控组态软件的各种基本要求。经过开发和完善,该软件现已具备变电站监控组态软件数据采集、图形显示、控制、通信等通用功能,并根据工程实际需要,开发、添加定值在线查询和修改、故障波形再现和分析功能等其它功能。组态软件的主要适用范围是1 0 k v 、3 5 k v 等中小型变电站监控西南交通大学硕士研究生学位论文第6 页系统。1 3 课题任务本人主要承担r c 3 0 0 0 变电站监控组态软件的设计和开发,这是一个系统和庞大的工作,需要多入团队合作开发。本人完成的主要工作有:( 1 ) 与开发团队共同研讨,选择开发环境,完成监控组态软件的总体结构设计。( 2 ) 组态软件的站内通信实现。完成通信端口层和通信协议层的设计开发,实现对m o d b u s 协议和r c 3 0 0 0 协议的通信支持。使得主机监控软件能够和基于m o d b u s 协议、r c 3 0 0 0 协议的智能仪表设备进行正常的数据通信。( 3 ) 定值在线查询和修改功能模块的设计开发。( 4 ) 故障波形再现及分析功能模块的初步设计和开发。实现监控主机对录波装置的数据通信,录波数据查询,波形分析等功能。西南交通大学硕士研究生学位论文第7 页第2 章软件的总体结构设计本章分析变电站监控软件的功能需求,介绍软件的总体构成方案,并就软件组态环境和运行环境的实现作简单概述,最后分析了开发工具的选择。2 1变电站监控的需求分析系统面向中小型变电站,站内采用现场总线机制,所有的智能设备都与总线相连,监控主机也与总线相连,从而实现智能设备与监控主机的数据通信。监控主机通过以太网与上级调度主机和远程维护主机连接,实现变电站的远程调度和维护功能。可以用图2 - 1 来描述系统的基本结构形式:上l i t e r 卮翟鞋护图2 - 1 变电站监控系统基本结构变电站监控软件安装并运行在现场监控主机上,它负责与现场的智能设备进行数据交换,同时与上级调度主机进行数据通信。根据变电站监控的基本要求,监控软件需要具有以下功能:( 1 ) 数据通信。包括与现场微机保护装置、智能仪表的通信,以及上一级调度维护主机的数据通信功能。( 2 ) 数据监测。实时监测现场各智能仪表设备的运行情况,对装置的各西南交通大学硕士研究生学位论文第8 页模拟量、开关量的变化都能够进行相应的正确处理。( 3 ) 现场智能仪表装置的控制和操作。如遥控分、合闸,遥控装置复位,修改装置的定值,更新装置时间等等。( 4 ) 数据分析和整理等功能。如装置的模拟量越限判断和报警处理,开关量变位和报警处理,数据统计和计算,录波数据分析等等。( 5 ) 历史数据的查询。如系统报警记录,s o e 事件记录,操作记录等的查询。( 6 ) 报警功能。当现场某装置的运行状态发生异常时,具有画面报警和声音报警功能。现场工程师在使用组态软件时只需要进行数据组态,再在图形组态环境下把被控对象( 如微机保护装置、电压表、直流屏) 形象地画出来,通过内部数据连接把被控对象的属性与i o 设备的实时数据进行逻辑连接。在不同的变电站之间,只需要分别进行相应的数据组态和图形组态工作,就能够实现针对具体需求的变电站监控功能,功能多样,灵活方便,特别适合变电站监控系统的要求。因此,组态软件作为变电站监控后台软件系统的首选。2 2 软件的总体构成方案监控组态软件主要由组态环境和运行环境两个部分组成。整个系统的分析和设计基于面向对象的思想,以高度模块化的方式设计。系统的总体结构方案如图2 - 2 所示。在组态环境下,设计并生成系统文件,供系统运行时调用。组态环境主要由数据组态和图形组态两个部分组成。在数据组态环境下,主要进行通信端口选择、通信端口参数设置、监控主机与装置单元的通信协议选择、通信数据点的定义,最终生成数据文件,供图形组态环境和系统运行环境使用。组态软件运行环境下的图形操作界面,则是在图形组态环境下绘制、设置生西南交通大学硕士研究生学位论文第9 页成的。组态环境数据库:运行环境;设备层圈2 - 2 洲:总体构成方案系统运行环境主要由主运行程序、通信支持模块、定值修改、故障录波分析、数据库接口等几个部分组成,完成数据的采集、数据下发、定值在线查询和修改、定时数据存储、画面的更新、故障录波分析等一系列功能。2 3 组态环境总体设计组态环境由图形组态和数据组态两个部分组成。2 3 1 图形组态总体设计图形界面组态就是制作应用系统界面的过程。应用系统界面通常由一系列的画面组成,每幅画面又具有静态颜色、动态颜色、数据、操作等属性。因此图形组态需要完成以下的工作;画面的组织编辑、数据连接、操作连接、静态动态颜色设置等。图形组态软件的基本结构采用文档视图结构。文档视图结构是m f c的一大特色,它将数据管理和显示隔离,给开发者带来很大的方便。软件中采用了单文档视图( s d i ) 结构,在文档类实现组态信息的读取和存储,在视图类中显示图形。数据的存取采用m f c 的串行化技术,可以方便地保存数据,简化程序的操作。综合考虑各种图形格式的特点,采用目前绝大多数西南交通大学硕士研究生学位论文第1 0 页组态软件所应用的矢量图形格式设计和存储图形。图形界面的设计和绘制过程,实际上是大量图元的组合过程。这些图元主要可分为两大类:基本绘图图元( 如直线段、矩形、圆等) 和电气符号专用图元( 如发电机、刀闸、互感器等) ,见图2 - 3 。基于面向对象的设计思想,每个图元类都包含了“绘制”、“数据连接”和“动画”三个基本属性,从而使得监控界面能够根据监测得到的数据直接实现动画效果。图2 - 3 图元类继承与派生关系同时,根据需要,开发相应的a c t i v c x 控件对基本图元进行扩充。图2 4显示了该监控组态软件实际的图形组态环境,图2 - 5 显示了开发完成的图形运行界面。图2 4 图形组态环境西南交通大学硕士研究生学位论文第11 页图2 - 5 图形运行界面2 3 2 数据组态环境总体设计在数据组态环境下,主要进行通信端口选择、通信端口参数设置、监控主机与装置单元的通信协议选择、通信数据点的定义,最终生成数据文件,供图形组态环境和系统运行环境使用,见图2 7 、2 8 所示。和图形组态一样,数据组态软件也采用了文档视图结构,采用m f c 的串行化技术实现对组态文件的存取。在设计思路上,将与监控软件进行通信的每一个下位机设备或者上级调度主机定义为一个通信单元对象,基于相同通信协议的装置为同类通信单元。选定了通信单元即确定了通信协议。为了提高数据点定义的效率,每个通信单元的数据点可以定义成标准格式的配置文件,组态时直接读取文件。数据组态的功能模型数据流如图2 - 6 所示。西南交通大学硕士研究生学位论文第1 2 页图2 - 6 数据组态功能级数据流图图2 - 7 数据组态环境下通信口参数设置西南交通大学硕士研究生学位论文第13 贞图2 - 8 数据组态环境下通信单元参数设定2 4 运行环境总体设计系统运行环境包含两个线程,主线程和通信线程。系统主线程借鉴目前市场上部分监控程序的设计思想,采用了非抢先有优先级的多任务调度方式。它通过定时器产生的时钟驱动型任务消息来实现。运行程序定时执行各个任务( 如定时存储任务) ,由多个任务共同完成系统的一系列基本功能。如图2 - 9 所示。在运行环境下,下位机智能仪表装置通过现场总线将通信数据帧送到监控主机的串口通信缓冲区;上级调度主机将数据送到监控主机的网口通信缓冲区。通信线程及时读取通信端口,采用软总线技术( 定义数据缓冲区,用来存放采集来的数据) ,将数据拷贝到实时数据缓冲区进行校验和解析,并分析当前数据,更新图形界面的数据显示和图元状态,同时判断是否产生越限西南交通大学硕士研究生学位论文第1 4 页报警、变位报警等,并记录相应的事件。用户通过图形界面对下位机智能装置进行操作,监控程序检测到用户的操作,置相应的通信单元对象为相应状态。通信线程读取通信单元对象的状态,按照相应的通信协议,组织下行数据帧,并将数据帧写入通信缓冲区。同时,将上行数据帧写入网口通信缓冲区,向上级调度主机发送。数据流图见图2 1 0 。回i n执行1 秒定时消息处理任务执行3 秒定时消息处理任务执行1 0 秒定时消息处理任务执行l m i n 定时消息处理任务执行5 r a i n 定时消息处理任务n返回w i n d o w s 控制图2 - 9 主线程任务调度方式示意图图2 - 1 0 运行环境数据流示意图一西南交通大学硕士研究生学位论文第15 页2 5 开发环境的选择组态软件的核心思想是把系统中的每一个受控元素都作为一个编程对象,并根据其功能和特性将它们分为若干的类别,然后为各类提供相应的组态功能模块,每个模块保持一定的功能独立性。在协同工作时,通过相互之间的接口完成实际的任务。在这个组态过程中,面向对象的思想得到充分的发挥,克服了以前系统分析和程序分析的片面性,将需要处理的问题视为一个完整的对象。这样既提高了系统的开发速度,又保证了系统软件的成熟和可靠,从而增强了代码的可重用性,使软件的维护和修改更加方便,并在很大程度上保持了语言的中立性,所以面向对象编程具有巨大的优越性。目前,国内外绝大多数的组态软件都运行在w i n d o w s9 x 2 0 0 0 x p 操作系统下,如美国n a t i o n a l i n s t r u m e n t 公司的l a b v i c w ,国内的“组态王”等等。目前研发的组态软件也是基于w i n d o w s 操作系统平台的,所以开发工具选择微软公司的编程软件v i s u a l c h 6 0 。和其它编程工具比较,其优势主要体现在以下几个方面:( 1 ) c + + 开发的源代码较短,产品效率较高,适合工业监控应用环境。( 2 ) v i s u a lc + + 6 0 开发环境友好,其高度的可视化开发环境和强大的向导工具能够帮助用户轻松开发出各种类型的应用程序。( 3 ) 由于微软在p c 操作系统上的垄断地位,使用微软发行的编程工具能够实现与w i n d o w s 操作系统的最大兼容性。( 4 ) m f c 类库和w i n d o w sa p i 为实现应用程序功能提供了强大的功能支持。( 5 ) 具有强大的d e b u g 调试功能。西南交通大学硕士研究生学位论文第16 页第3 章组态软件的通信本章介绍组态软件的通信实现,包括通信方案、通信端口层设计、用户协议层的设计、m o d b u s 协议的实现、r c 3 0 0 0 协议的实现等内容。3 1通信方案3 1 1 系统结构整个站内监控系统基于r s - 4 8 5 总线型结构,在总线上外挂各智能仪表设备及监控主机,由主机监控程序统一管理,是一种典型的主从式、总线型监控系统。该系统包括监控层、通信层以及现场设备层,系统层次结构如图3 1所示。监控层监控系统运行环境通信层通信端口用户协议现场设备层各智能仪表图3 - 1 监控系统通信层次结构图其中,监控层负责接收现场设备层各智能仪表上传的数据,进行数据的最终分析、判断和存储,并根据数据的分析结果进行事件报警或记录,实现对从机设备的定值设定和遥控操作,以及实时或历史数据的查询,对现场设备的监控管理。通信层主要完成对通信端口的读写,根据用户定义的通信协议实现与现场智能仪表设备之间的数据通信,完成数据通信帧的组织下行和上行数据帧的校验、解析。现场设备层由各种微机保护装置、电压表、电流表等智能仪表组成,一般都是由各种型号的单片机组成仪表装景控制核心系统拓扑结构如图3 - 2 所示,监控主机和各从机设备之间通过r 5 ,4 8 5 现场总线进行物理链路连接,由主机组态软件运行环境的通信线程实现1 i 机与西南交通大学硕士研究生学位论文第1 7 页从机之间的点对点通信。图3 - 2 站内系统拓补结构图3 1 2 通信层的设计思路要实现组态软件与现场设备之间的数据通信,关键是通信层的设计实现。通信层包括通信端口和用户协议两个组成部分。因此,在逻辑上,可以将通信层进一步细分为通信端口层和通信协议层两个小的层次。端口层主要完成对串口、网口或者u s b 口的读写操作( 本系统中主要考虑串口的实现) ,而通信协议层主要是用户协议( 如m o d b u s 协议) 的定义和软件实现,如图3 - 3所示。n 丽三面殂r 二1亡了图3 - 3 通信端口层与通信协议层静态模型图西南交通大学硕士研究生学位论文第1 8 页3 2 通信控制块一般情况下,一个通信端口往往连接了多个从机设备,为了保证监控主机每个通信端口与连接在该通信端口上的从机设备之间进行有效的数据交换,定义一个称之为数据控制块的数据结构,它的定义如下:s t n l c tc o m c o n t r o lb o o l b n e x t u n i t r e c e i v e ;,允许下个单元接收标志;b o o l b n e x t u n i t s e n d ;,允许下个单元发送标志;b o o l b s e n d d e l a y ;,发送后延时标志:b y t e p t x d a t a ;,发送数据缓冲:b y t e p r x d a t a ;,接收数据缓冲;i n tn t x l e n g t h ;发送的数据长度;i n tn r x l e n g t h ;,接收的数据长度; ;该数据结构的对象保证了主机在同一时刻只能与同一台从机设备进行通信,防止了总线“竞争”情况的发生。同时,它定义了数据缓冲区,用来存放从通信端口接收到的数据以及准备写入到通信端n 的数据,这个数据缓冲区是连接通信协议层与通信端口层的“通信软总线”。另外,c o m c o n t r o l还定义了通信延时标志,发送数据长度和接收数据长度,保证通信的有效进行。3 3 通信端口层的设计3 3 1 通信端口类( m y c c o m p o r t )通信端口类( m y c c o m p o r t ) 是所有通信端口类( 如串口、网口、u s b口) 的基类,高度概括和抽象了通信端口的基本属性和主要操作,下面是它的定义。c l a s sm y c c o m p o r t :p u b l i cc o b j e c tp r o t e c t e d :m y c c o m p o t t o ;p u b l i c :c s t r i n gm _ s t r d e f n a m e ;该通信口缺省名称;c s t r i n gm s t r n a m e ;,该通信口名称;西南交通大学硕士研究生学位论文第19 页b o o lm _ b u s e d ;是否投入使用标志:m y c u n i t a r r a ymu n i t s ;下挂的所有单元:p u b l i c :d w o r dmd w e r r o r n o ;i n tm _ n c o m u n i t n o ;c o m c o n t r o lmc c ;b o o lmb r e p o r t ;s h o r t m _ p r e p o r t b u f f e r ;s h o r tm _ n r e p o r t i o i n t e r ;p u b l i c :,通信口错误信息码;,当前通信单元号;,通信控制块:报文监测标志:报文监测缓冲区:,报文监测指针:v i r t u a l m y c c o m p o r t 0 ;v f r t l 1 a lv o i ds e r i a l i z e ( c a r c h i v e & 蛾嬲;列化v i r t u a lb o o l o n a t t r i b ( c p r o p e r t y s h e 础s h e c o ;,i 匿信端口基本属性v i r t u a lv o i df r e s h c o m ( v o i d ) ;m y c u n i t 。o e t c o m u n i t ( v o i d ) ;p u b l i c :,届0 新端口删e 取当前正在通信的通信单元v i r t u a lv o i do p e n c o m ( v o i d ) o ;府开端口设备,派生类实现v i r t u a lv o i do o s e c o m ( v o i d ) ;,关闭端口设备,派生类实现v i r t u a lv o i d w r i t e c o m ( b y t e + p d a t a ,i n t & n l e n g t h ) ) ;屑端口v i r t u a lv o i dr e a d c o m ( b y t e 。p o a t s ,i n t & n l c n g t h ) o i读端口v i r t u a lv o i ds e t c o m a l a n n ( d w o r dd w e r r o r n o ) ;m 匝信报警v i r t u a l b o o l i s c o m e r r o t ( v o i d ) t e t u r r t ( m _ d w e r m r n o = = o ) ? f a l s e :t r u e ;) ;t 否通信出错k属性说明;m _ s t r d e f n a m e ,m _ s t r n a m e ,m _ b u s e d 分别表示通信端口的缺省名( 类型) 、专用名以及投入使用标志,这些属性在用户进行通信端口组态时设置,如图3 - 4 所示。m _ u n i t s 是一个由通信单元对象指针组成的数组。在正常情况下,一个通信端口往往连接着多个通信单元,这个数组存放了逻辑上与这个通信端口进行通信的所有通信单元。 m _ d w e r r o r n o 是通信错误码,它记录了通信时,通信端口可能发生的错误类型,如缓冲区溢出、写端口失败等西南交通大学硕士研究生学位论文第2 0 页图3 4 通信端口基本属性m _ n c o m u n i t n o 为当前正与通信端口通信的通信单元编号。监控主机和各从机设备之间通过r 5 - 4 8 5 现场总线进行物理链路连接,同一时刻,监控主机只能与一台从机设备进行点对点的数据通信,m _ n c o m u n i t n o 记录了当前通信的从机设备,保证了监控主机与从机设备点对点通信的有效性与通信机会的均等。mc c 通信控制块对象。 m _ b r e p o r t ,m _ p r e p o r t b u f f e r 显示通信报文标志,通信报文数据存储缓冲区。操作说明:s e d a l i z e ( c a r c h i v e & a t ) :对象序列化,它的主要功能是将当前端口对象的基本属性保存到硬盘或者从硬盘中将它的基本属性读出。v o i dm y c c o m p o r t :s e r i a l i z e ( c a r c h i v e & a r )c o b j e c t :s e r i a l i z e ( a r ) ;i f ( a r 1 s s t o r i n g o )a r m _ s t r d e f n a m e ;a r m _ s t r n a m e ;西南交通大学硕士研究生学位论文第2 1 页a f m _ s t r d e 俅l a m e ;a r ) m _ s t r n a m e ;a r m b u s e d ;)r e _ u n i t s s e r i a l i z e ( a t ) ;调用通信单元数组的序列化函数0o n a t t r i b ( c p r o p e r t y s h e e t & s h e e t ) :通信端口总体属性页的加载和设置功能,见图3 4 。0f r e s h c o m ( v o i d ) :通信端口刷新。通信线程调用该函数,判断连接在通信端口上的所有通信单元的状态,并进行相应的数据处理。同时,通过成员数据mn c o m u n i t n o 和通信控制块对象mc c ,实现通信端口与各通信设备之问通信的有效调度,防止总线竞争,保证各从机设备与主机通信的机会均等。函数处理流程如见图3 5 。固g e t c o m u n i t ( v o i d ) :获取当前正在通信的通信单元对象指针,函数的返回值是一个对象指针,定义如下。m y c u n i t m y c c o m p o r t :g e t c o m u n i t ( v o i d )i f ( m _ n c o m u n i t n o - - o ) r e t u r nm _ u n i l s m _ n c o m u n i t n o ;r e a mn u l l ;)oo p e n c o m ( ) 、c l o s e c o m ( ) 、w r i t e c o m ( ) 、r e a d c o m ( ) :分别为打开、关闭、写、读端口操作,由于m y c c o m f o r t 类是所有端口类的基类,故这里并没有定义这些操作的具体实现,它们的具体实现在m y c c o m p o r t 类的派生类( 如串口类) 中定义。囝s e t c o m a l a n n ( d w o r dd w e r r o r n o ) :设置通信报警,该函数用输入参数d w e r r o r n o 来设置更新端口对象成员数据md w e r r o

温馨提示

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

评论

0/150

提交评论