已阅读5页,还剩52页未读, 继续免费阅读
(流体机械及工程专业论文)真空设备图形化控制界面研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
真空设备图形化控制界面研究 摘要 由各种真空泵、阀门、管道等所组成的真空系统是各种真空设备的核心, 作用是提供设备正常工作所需的真空环境。真空设备的工作特性在很大程度上 取决于其控制系统。 本课题的目的是开发具有良好通用性、图形化的真空设备控制界面,以提 高设备的易用性和安全性。这种界面不仅能提供直观、简单的系统组成图像和 设备的运行状态参数,还可以通过对图像的简单点击,由系统自动根据相关约 束条件,启停相关设备,并在设备出现故障时具备自动报警、保护功能。具有 这样一套控制界面的真空设备,不但操作简单、方便,工艺过程各种参数一目 了然,人一机交流界面友好,其内在安全性也上了一个档次,提高了设备附加值。 论文回顾了真空控制系统的发展历程及目前国内外图形化界面控制系统的 发展现状,阐述了开发软件所用v i s u a lc + + 的优点、性能,重点开发了编辑图 形化界面所需的“编辑器,并通过相应的计算机输入输出模块,将编辑器编辑 完成、图形化的真空应用系统与实际控制线路联系起来,以实现设备的图形化 界面控制。编写、调试了相关开发程序;选定了图形化控制系统所需的的硬件 模块,设计了相关线路;最后以一个实例阐述了所开发的图形化界面控制系统 的实现过程及效果。 关键词:图形化界面图形化控制界面真空系统抽气系统真空设备控制 v i s u a l i z a t i o no fc o n t r o l l i n gi n t e r f a c ef o rv a c u u m s y s t e m _ a bs t r a c t a p p l i e dv a c u u ms y s t e mi sc o m m o n l yc o m p o s e do fv a r i o u sv a c u u mp u m p s , v a l v e s ,a n dp i p e l i n e s i tp r o v i d e st h ev a c u u mc o n d i t i o nn e e d e d t h ep e r f o r m a n c eo f t h es y s t e mg r e a t l yl i e so ni t sc o n t r o l l i n gp a r t st os a m ee x t e n t t h ep u r p o s eo ft h i sp a p e ri st od e v e l o pa nu n i v e r s a la n dg r a p h i cc o n t r o l l i n g i n t e r f a c e t h i si n t e r f a c ec a nm a k et h ep u m p i n gs y s t e mo p e r a t i o nm o r ec o n v e n i e n t a n ds a f e r ,f o ri tc a nn o to n l yg i v em a c h i n eo p e r a t o r sav i v i da n ds i m p l el a y o u to f t h ep u m p i n gs y s t e mw i t hn e c e s s a r yp a r a m e t e r s ,b u ta l s ol e tt h e mc o n t r o lt h es y s t e m b yc o m p u t e rm o u s ec l i c k i n g b yc e r t a i nl o g i c a lr e s t r i c t i o n so ft h es y s t e m ,o p e r a t o r s c a ns t a r ta n ds t o pc o r r e s p o n d i n gd e v i c e sc o r r e c t l y , a n di fa na c c i d e n th a p p e n s ,f o r e x a m p l e ,e l e c t r i c i t yb r e a k d o w n ,t h ed e v e l o p e dc o n t r o l l i n gs y s t e ms h o u l dg i v ea n a l a r m ,a n dt h e np r o t e c tt h es y s t e ma u t o m a t i c a l l y t h ea p p l i e dp u m p i n gs y s t e m e q u i p p e dw i t ht h i sc o n t r o l l i n gi n t e r f a c ec a nb ee a s i l ya n ds a f e l ym a n i p u l a t e d t h e p r o c e s sp a r a m e t e r so ft h es y s t e mc a nb ea l s os h o w e dc l e a r l y0 nt h ei n t e r f a c e t h ep a p e rd i s c u s s e st h ee v o l u t i o no fv a c u u mc o n t r o l l i n g s y s t e ma n dt h e p r e s e n td e v e l o p m e n to fv i s u a lc o n t r o l l i n gi n t e r f a c ef o rv a c u u mp u m p i n gs y s t e m , a n db r i e f l yi n t r o d u c e st h ec h a r a c t e r i s t i c so ft h es o f t w a r ev i s u a lc + + ,w h i c hi su s e d t od e v e l o pt h ei n t e r f a c e t h ee m p h a s i si s p u to nt h ed e v e l o p m e n to fav i s u a l c o n t r o l l i n gi n t e r f a c ef o rv a r i o u sp u m p i n gs y s t e m s a ne d i t o ri sd e v e l o p e d ,i nw h i c h ad e s i r e dv i s u a lc o n t r o l l i n gi n t e r f a c ef o rar e a lp u m p i n gs y s t e mc a nb ee d i t e de a s i l y , t h ek e yc o d ei sp r o g r a m m e da n dt e s t e d t h eh a r d w a r e sn e e d e df o rr e a l i z a t i o no f t h ev i s u a lc o n t r o lo ft h ea p p l i e dp u m p i n gs y s t e ma r es e l e c t e d ,a n dr e l a t e de l e c t r i c a l c i r c u i t sa r ed e s i g n e d t h ep a p e re n d sw i t had e m o n s t r a t i o no fat y p i c a lv a c u u m p u m p i n gs y s t e mt oi n t e r p r e tt h er e a l i z a t i o no ft h ec o n t r o lo ft h es y s t e mb yv i s u a l c o n t r o l l i n gi n t e r f a c e k e y w o r d s :v i s u a li n t e r f a c e ;v i s u a lc o n t r o l l i n gi n t e r f a c e ;v a c u u ms y s t e m ;p u m p i n g s y s t e m ;v a c u u ms y s t e mc o n t r o l 表格清单 表2 1 常见的w i n d o w s 对象句柄1 0 表2 2 常用的w i n d o w s 数据类型1 2 表2 - 3 w i n d o w s 常用数据类型的标准前缀1 2 表2 4a f x 和m f c 前缀1 3 表2 5 应用程序框架符号前缀l3 表4 一lk p c i - 8 4 0 接口卡的接口定义3 8 插图清单 图1 一l多弧离子镀膜机自动控制系统的界面3 图1 2c o s y - t o f 中的真空控制系统的界面5 图2 1w i n d o w s 程序和w i n d o w s 消息的基本流程9 图2 - 2m s d nl i b r a r y 基本界面1 5 图3 - 1v c 基于m f c 的多文档程序窗口1 8 图3 2 编辑界面轮廓2 1 图3 3 编辑界面工具栏2 1 图3 - 4鼠标左键单击的效果图2 2 图3 5 扩散泵真空系统的编辑界面2 5 图3 - 6 编辑界面的菜单栏2 6 图3 7 控制界面的菜单栏3 0 图3 8 控制界面的外形3 3 图4 。lk p c i 8 4 0 接口卡输出信号的接法3 9 图4 2k p c i 8 4 0 接口卡输入信号的接法3 9 图4 3a m c 4 5 0 1 接口卡输入信号的接法4 1 图5 1所演示的真空系统简图4 3 图5 2实例编辑界面的外观图“ 图5 3实例控制界面的外观图4 5 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得金目墨王些太堂 或其他教育机构的学位或证书而使用过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位做储签字鬯啦字晚抽g 年5 月;1 日 学位论文版权使用授权书 本学位论文作者完全了解佥目垦王些太堂有关保留、使用学位论文的规定,有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金胆王些盔 兰l 可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名:名,墨 导师签名: 签字日期:滞岁月;) 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 于昂孝 签字魄冲厂月弓日 电话: 邮编: 致谢 子在川上日:逝者如斯夫,不分昼夜。转眼已近毕业! 叩拜我的父亲母亲,在我求学的路上,他们也在慢慢地苍老,唯一不变的 就是渴盼儿子成为一个有用的人。他们为我所付出的,是不能用言语所表达的。 还有我的姐姐,也给了我莫大的鼓励和支持。可以说,没有他们,就没有我的 今天。 感谢导师干蜀毅老师在研究生阶段,对我生活和学习上的关心。他科研态 度严谨,且平易近人,让人深深感到要先做人后做事。在论文完成过程中,干 老师更是给予细心的指导。同时也感谢陈长琦老师、朱武老师的大力帮助,当 然还有真空教研室所有的老师们对我的无私帮助。 感谢段献学、王绍良、伍建华、王策、于玲给我的莫大鼓励和支持,他们 给我的研究生生活学习添加色彩。 感谢师弟郭江涛、张建国等对我的帮助,是他们陪我度过在工作室的日日 夜夜。 感谢默默地帮助我的人。 夫君子之行,静以修身,俭以养德。非淡泊无以明志。非宁静无以致远。 夫学须静也,才须学也,非学无以广才,非志无以成学。谨以此文为我的求学 生涯画上一个句号。 作者:贺成玉 2 0 0 8 年5 月 第一章绪论 1 1 引言 得益于现代科学技术的飞速发展,真空技术及设备在能源、航天、核能、 生物、医药等各个领域得到广泛应用,真空应用设备更新的速度也因此大大加 快,复杂程度也不断增加。 由各种真空泵、阀门、管道等所组成的真空系统是一套真空设备的核心, 其作用是提供设备正常工作所需的真空环境。真空设备工作性能的好坏在很大 程度上取决于它的控制系统。如何提高真空系统运行的效率,使其更方便、快 捷、准确、人性化,已经成为人们关心的焦点,同时也成为真空应用行业新的 经济增长点。计算机技术的迅速发展,已经为这一问题的解决提供了强有力的 技术手段。 1 2 真空控制系统的发展历史 真空设备控制系统的发展与一个国家科技实力和国民经济的发展息息相 关。和其它设备一样,早期的真空设备所关注的焦点是“实用,即能够获得所 需的真空,对效率的追求退居其次,加上缺乏相应的控制元件,控制系统非常 简单。随着科技的发展,对真空设备的效率、可靠性提出了越来越高的要求, 为满足这些要求,新的控制元件和控制手段被不断地应用于真空控制系统中。 相应地,真空设备的控制系统也就经历了以下几个发展阶段【l j : ( 1 ) 继电器逻辑控制 最早的自动控制方式,特点是将一定数量的继电器、开关等按照特定的控 制逻辑连接,控制方式简单,价格相对便宜,有一定的可靠性,因此直到现在, 仍具有一定的市场。但这种方式线路设计复杂,制造、安装、维修均十分不便, 非专业人员无法胜任;控制界面非常简单,需要操作者对每个开关对应于系统 中的哪个执行元件有深入了解,即要求操作人员有一定的专业素质;出现故障 时只能给出简单的提示;而且这种控制方式属于所谓的“硬性 控制,执行元 件的动作顺序稍有变化,逻辑线路就得重新设计。除非设备完全相同,否则控 制线路不具通用性;控制对象主要是一些开关量,对现代控制过程中的常见的 模拟量或数字量,这种控制方式无能为力,只能借助子额外的仪器仪表。随着 用户对设备自动化、智能化以及对控制界面美观、清晰方面的要求越来越高, 继电器控制已日趋减少。 ( 2 ) 可编程控制器( p l c ) 控制 目前,在真空行业应用日趋广泛。这种控制方式以含有中央处理器的可编 程控制器为主干,配以必要的输入输出模块,由用户根据生产过程的工艺要求, 编制特定的控制程序,事先存入p l c 的用户程序存储器中。工作时,p l c 自动 执行预置的控制程序,从而完成预定的控制流程。这种控制方式有很多优点: 它是一种“柔性 控制方式,控制对象发生变化时,一般情况下,只要改动相 应的控制程序,即可适应新的控制流程,因此具有较大的灵活性和可扩展性; 其次,除了能够实现基本的开关量控制外,通过选配相应的数模( d a ) 、模 数( a d ) 转换器,能实现对模拟和数字量的控制,并能够与上位计算机通讯;其 可靠性高、编程简单、可直接驱动强电设备,通过增加标准模块化的输入输出 控制模板,可以方便地增加控制设备数量;成本不高。对操作人员要求也不高。 但这种控制的显示方式过于简单,工作流程以及各部分工作状态显示不清晰, 如果出现问题,必需由程序设计者对设备进行认真排查,因此人机交流性不佳; 目前这种控制方式在真空设备中所占比例越来越大,发展势头良好。 ( 3 ) 微机控制 微型计算机应用于真空设备控制系统中。早期的微机只是单纯作为一个显 示设备,它实现了一定程度的图形化,但只显示设备的运转状态,没有真正意 义上的人机对话,即不能通过鼠标的点击来改变设备的运行状态。显示界面也 是符号化,不直观。所配软件方面极简单:没有故障报警,出现问题的部分不 能直观地在微机上显示;没有完整、直观的界面,进程显示不明显、参数显示 不集中。随着计算机控制技术的发展,国内在这方面进展不大,而国外则取得 了长足进展,原有的缺陷大部分已被克服,计算机强大的控制功能得以很好发 挥。只是在控制系统设计的通用性方面还存在着一些问题。设备不同,控制界 面及相应的控制程序需重新设计、调试,这使得设备制造周期加长,成本增加。 1 3 真空设备图形化控制界面的发展概况 随着真空技术的迅猛发展,及真空设备的广泛应用,对真空设备的控制系 统提出了更高的要求。开发智能化、人性化、实时性、准确性的真空控制系统, 已经为许多研究机构、生产厂商所关注,一些高性能的图形化控制系统已出现 在国内外的市场,具体情况如下: 1 3 1国内发展概况 面对真空设备控制系统的最新发展趋势,国内许多单位已经开始行动,并 取得了一些令人瞩目的成就。一些大的真空设备生产商如上海曙光机械制造厂、 成都南光机器有限公司、浙江真空设备集团有限公司、北京中科科仪技术发展 有限公司、淄博真空设备厂有限公司等,其真空设备早期大多采用继电器控制, 后来慢慢向p l c 及微机控制发展。有些产品有简单的显示设备,但总体来说, 这些产品的控制系统还有不少地方有待改进;其它单位如桂林电器科学研究所 研制的真空电子束焊机的控制系统【引、东南大学机械工程系研制的真空浸渍设 备微机控制系统【3 】、橡胶新技术研究所推出的真空平板硫化机的可编程控制系 统 4 1 、西安交通大学电子科学与技术系研制的非晶金刚石离子镀膜机自动化控 制系统pj 、上海应用技术学院机械与自动化工程学院研制的真空冷冻干燥机控 制系统【6 j 、中国科学技术大学自动化系e c r 等离子源设备的控制系统j 等, 都采用了p l c 控制方式。 西安交通大学电气工程学院研制的基于s o l i d w o r k s 的真空灭弧室零件参数 化系统一j 、江西省材料与工程中心开放项目有色合金真空差压铸造可视化界面 智能控制系统例、上海水产大学海洋学院真空回潮机微机控制系统【lj 、哈尔滨 松江电炉厂的卧式真空淬火炉控制系统【l ”j 、北京北仪创新真空技术有限责任公 司的电子束镀膜机图形化界面控制系统、北京丹普表面技术有限公司的 a s 6 0 0 d m t g 型计算机自动控制离子镀膜机、p r o p o w e r l1 0 0 d 5 x l 型计算机自 动控制离子镀膜机、a s 6 d 4 8 2 型计算机自动控制离子镀膜机等,这些设备都采 用了基于高级语言开发的监控系统,配置了相应的人机界面,实现了比较简单 的图形化操作流程。兰州真空设备有限责任公司则在国内第一台高真空连续卷 绕海绵镀镍设备中,使用了先进的计算机控制系统,它的主要配置是p e n t i u m i i l 8 0 0c p u 、1 2 8 m b 内存、4 0 g 硬盘、17 寸c r t 显示器、4 口4 2 2 4 8 5 通讯模 块、基于w i n d o w s 平台开发的人机界面监控软件和通讯网络配置软件,有比较 友好的人机对话界面j 。 警警啤翳穆黝嬲鞠黝黝黝僦勃蕊舅溉嚣麓, 谴。 三d 蔓 。- 盥愎i 二i 一i i i i 一二 + :;赫鼎。_ 麟i 爿日埘 苏滋t 赢妊缢“ 恕耘龆籀2 一1 蒯黼j 5 塑鼗鬻覆l l 灞嘛辫鬻鬻戮黪鬻爹誊鬻转剿。 图1 1多弧离子镀膜机自动控制系统的界面 图1 1 是北京航空航天大学研制的新型多弧离子镀膜机自动控制系统的控 制界面 12 1 。这套设备以研华工控机作为上位机,中型p l co m r o nc 2 0 0 h e 作 为下位机,模拟量的采集和发送选用抗干扰能力强的p l c 配套特殊单元:上位 机监控软件采用v c + + 6 0 编写,p l c 与仪器仪表之间通过通讯协议宏实现。镀 膜前,上位机将设定的工艺参数传给下位机,并且发送镀膜命令,镀膜机开始 镀膜。设备运行后,上位机要不停地接收下位机发送的信息,进行实时监控。 因此,上位机的界面需要完成两个功能:一方面完成工艺参数的设置,另一方 面监控设备工作状态,根据反馈信息进行显示、控制、报警等。为了方便切换, 监控主程序采用单文档多视图。从图中可以看出,界面大体分为三部分,最上 层是故障报警显示,中间为工艺流程的控制和显示,下面是检测参数的实时的 仪表显示( 参数不能修改) 。这个界面简单明了,条理清晰,排布比较合理, 操作人员对设备的整体运行情况一目了然,只需点击鼠标即可实现对设备的控 制。但是,界面的图形略显简单、单调,真空泵、阀门还是以传统的符号表示, 不直观,其启闭状态表示也不明显,实际运行时气路的走向没有明确的显示。 1 3 2国外发展概况 国外一些大的真空产品生产商很早就在真空设备上实现了p l c 控制,并在 此基础上,进一步开发出针对于真空设备的、基于w i n d o w s 平台的图形化控制 界面。其监控软件一般使用高级语言编写,控制界面清晰、美观,友好,计算 机智能化优势得以充分发挥,使得系统更具人性化,操作简单方便,提高了工 作效率。这些方面的例子包括k e k b 加速器基于u n i x 的真空系统的图形化 界面控制系统【1 3 】、r h i c 真空系统中基于u n i x 的图形化界面控制系统【l 4 、 法国a l c a t e l 公司旗下a d i x e n 品牌的真空产品p a c k t e l1 0 2 5 分子泵机组的图形 化界面控制系统及德国l e y b o l d 公司一些相关产品等。 图1 2 给出了德国原子核物理研究所c o s y t o f 中的真空系统的图形化控 制界面【1 5 】。c o s y 设备运行周期长,运行过程中具有一定危险性,因此对安全 性、可靠性要求很高,要求控制系统能够对设备进行实时的智能监控,保证设 备的安全运行以及操作人员的人身安全。设备中用s i m a t i c 的s 7 - 3 0 0 和p l c 组成近程控制系统,w i n d o w sc o n t r o lc e n t e r 来设计远程控制界面,它们之间通 过m p i ( m u l t ip o i n ti n t e r f a c e ) 实现通讯。编程时使用的编程语言是c + + 的s t l ( s t a t e m e n t 类) 。整个控制系统可实现如下功能:工作状态监控,工作参数设 置,监控子系统工作状态,存储相关工艺数据如真空度、温度等;记录参数改 变时的时间;出现意外时自动提供安全防护。 从图1 2 上可以看出,整个界面大体分为三部分:最上面是各个工艺流程 操作的总开关以及切换开关,左边为工艺流程的控制切换,中间是工艺流程的 显示,只要通过鼠标点击相关的按钮就可以实现对整个工艺流程的控制和显示。 这套设备的控制界面层次清晰,功能齐全,但视图没有直观地表示各个泵、阀 门等组件及其开合状态,还是没有脱离符号化的落套。 图卜2c o s y t o f 中的真空控制系统的界面 1 4 本课题研究的内容及意义 综上所述,国内外真空设备的控制方式都经历了不同的发展阶段,每一阶 段都与当时的科技发展水平息息相关。计算机技术的飞速发展,为真空设备控 制的智能化、集成化、尤其是形象化提供了强有力的技术保证。形象化的控制 界面,不但可以给用户提供简单明了的系统组成图像,使用户能够直观地看到 整个工艺过程,而且通过对图像的简单点击,可以方便地根据相关约束条件, 启停相关设备,并具有在设备出现故障时报警、排错的功能。 具有这样一套控制界面的真空设备,不但操作简单、方便,工艺过程各种 参数一目了然,产品内在性能也上了一个档次,提高了附加值。 鉴于国外真空设备在基于w i n d o w s 开发的形象化控制界面研发方面已经 取得长足进展,研制具有自己特色的形象化控制界面显得追在眉睫。 本课题主要是:开发真空设备图形化控制界面所需的“编辑器”,并通过相 应的计算机输入输出模块,将编辑器编辑完成、图形化的真空应用系统与实际 控制线路联系起来,以实现设备的图形化界面控制。编写、调试了相关开发程 序;选定了图形化控制系统所需的的硬件模块,设计了相关线路;并以一个实 例阐述了所开发的图形化界面控制系统的实现过程及效果。通过这项工作,使 真空设备的操作安全性、工作效率及附加值得以大幅提高。 第二章真空设备图形化控制界面的开发软件 2 1 控制系统所要实现的功能 从国内外真空设备图形化控制界面的发展情况可以看出,智能化及人性化 水平还有待于提高,所以本课题预计实现以下功能:以图形化方式直观地显 示真空设备的组件,如真空泵、阀门、管道等,并可从外观上分辨其类型和开 启状态,这样,一般操作人员可以形象、直观地看到各个组件的工作状态,对 相关工艺参数如真空室的真空度、温度等,进行实时显示;通过这个图形化 界面对整个真空设备进行控制,即通过鼠标的点击,实现真空泵、阀门等的开 闭,并在界面上同步显示相应设备的工作状态;整个控制过程要依据一定的 逻辑关系进行动作,如各个真空泵、阀门的开闭顺序、设备出现问题时报警等。 为此,需要完成以下具体工作: ( 1 ) 设计一套用于编辑真空设备图形化控制界面的编辑器,主要用v c + + 来开发,将常见的真空泵、阀门等放在特定的图形库内,用户可以按照自己的 意愿来调用,任意组装一个与应用设备相对应的图形界面,使得各真空组件在 界面上的位置、作用及与其它设备的配置关系等一目了然; ( 2 ) 使设计出的图形化界面上各图形元素根据鼠标命令,按规定的工艺流 程动画显示设备最新整体运行状态,同时,实现实际真空应用设备与图形化控 制界面的同步动作,即实现对设备的实时控制,并采集、显示来自各组成设备 的相关状态参数。 为完成这些工作,有必要对设计所用的w i n d o w s 编程和v i s u a lc + + 开发软件 做一个详细的阐述。 2 2v i s u a lc + + 开发软件 本课题的设计开发是在w i n d o w s ( x p ) 环境下,基于v i s u a lc + + 开发软件实 现。w i n d o w s 系统支持多个应用程序同时执行,在界面形式上,它支持多个窗口 同时活动。它的运行机制是“消息传递,事件驱动( m e s s a g eb a s e d ,e v e n td r i v e n ) 。 2 2 1v i s u a lc + + 的发展历程 c 语言诞生于2 0 世纪7 0 年代,是由贝尔实验室的d e n n i sr i t c h i e 在b 语言的基 础上开发出来的。其最初的目的是编写操作系统,所以c 语言规则简单,不仅 具有高级语言丰富的数据类型、灵活多变的控制结构,而且具有汇编语言所具 有的直接对内存地址进行操作的功能。因而,其开发的程序运行效率很高,被 誉为中级语言。目前,b o r l a n d 公司的t u r b oc 还有很多的用户。 c 语言是一种典型的结构化程序设计语言,数据和数据操作在c 语言下是分 离的,这导致了在大规模软件的开发中,对程序结构的复杂性难以控制,开发 出来的代码复用程度较低。为此,贝尔实验室的b j a r n es t r o u s t r u p 于2 0 世9 8 0 年 代初对c 语言进行了扩充,在其中增加了“类”这种抽象的数据类型,因此,许 多人把c + + 称做带类的c 。c + + 不但保留了c 语言简洁高效的特点,而且对c 进行 了扩充,特别是提供了面向对象程序设计功能。在功能上,c + + 和c 语言是兼容 的,c 语言是c + + 的一个子集。c + + 的诞生,掀起了人们对面向对象程序设计方 法的学习热潮。 随着w i n d o w s 操作系统的普及,应用程序的外观和结构发生了很大的变化, 程序开发环境也越来越完善。为了适应w i n d o w s 平台下的软件开发,微软推出 了v i s u a lc + + ,简称v c ,它适合于底层应用程序的开发,用在对性能要求比 较高的场合。c + + 作为一种程序设计语言,v c 采用的是基于c + + 的编程工具, 因此它支持标准的c + + ,但又对c + + 进行了扩充【1 0 圳j 。 2 2 2v i s a u lc + + 的优点 ( 1 ) v c 提供面向对象的完整语法与语义 面向对象程序具有抽象性、封装性、继承性与多态性等特点,这些特点都 体现在类的定义中。 ( 2 ) v c 还是一种结构化的程序设计语言 面向对象是从面向过程发展而来的,它没有抛弃面向过程,而是扬长避短。 因此,利用v c 开发程序,既可以采用面向过程的方法,也可以采用面向对象 的方法。 ( 3 ) v c 中的m f c 是理解面向对象语法与语义的最好平台 m f c 是m i c r o s o f t 的基本类库,里面包含大量的与计算机系统有关的类。通 过这些类的使用,可以帮助用户理解面向对象程序设计的特点【侈j 。这个就要再 谈谈面向对象的优点: 面向对象程序设计最明显的好处是使代码的可重用性大大提高,使程序员 摆脱重复性的劳动。由于面向对象程序设计中的对象比较独立,它给外界提供 统一的接口,当对象一旦建立,就可以重复使用。对象就像硬件电路的一个集 成块,用户可以在任何需要的地方使用它。 采用面向对象程序设计的另一个好处就是代码的可扩充性。对于较大的系 统,开始时的需求往往并不清楚,因此采用结构化方法所建立的数据结构和程 序结构到后来往往不能满足系统的需求,到那时再进行修改就比较困难了,并 且工作量特别大。因为这往往要涉及整个系统的结构,可以说牵一发而动全身。 倘若一开始就采用面向对象的思想去编程,改动的工作量就很小。因为面向对 象程序设计把一个复杂的问题分成一个个的对象,各个对象之间的联系靠发送 消息来完成的。这就好像搭积木,利用已有的功能模块组合起来完成系统的功 能;一旦系统的需求改变,只要改变程序堆积的方式就可以了,而每个功能块 是不用改变的,这大大地减少了工作量弘。 2 3 v i s a u lc + + 的w i n d o w s 编程 2 3 1 消息传递 消息传递是一种报告有关事件发生的通知,类似于d o s 下的用户输入。 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 系统下每一个窗1 2 1 都维护 一个队列消息,操作系统接受和管理所有输入消息、系统消息,并把它们发送 给相应窗口的消息队列。应用程序初始化完成后,进入消息循环,维护自己的 消息队列,从中提取消息,对其进行处理。编写消息处理函数是w i n d o w s 编程 的主要工作之一。 w i n d o w s 应用程序的消息来源有以下四种。 ( 1 ) 输入消息:包括键盘和鼠标的输入。这一类消息先放在系统消息队列 中,然后由w i n d o w s 将它们送入应用程序消息队列中,由应用程序来处理这些消 息。 ( 2 ) 控制消息:用来与w i n d o w s 的控制对象,如列表框、按钮、选择框等 进行双向通信。当用户在列表框中改动当前选择或改变了选择框的状态时发出 此类消息。这类消息一般不经过应用程序消息队列,而是直接发送到控制对象 上去。 ( 3 ) 系统消息:对程序化的事件或系统时钟中断作出反应。一些系统消息, 像d d e ( 动态数据交换) 消息要通过w i n d o w s 的系统消息队列,有的则不通过 系统消息队列而直接送入应用程序的消息队列,如创建窗口消息。 ( 4 ) 用户消息:这是程序员自己定义并在应用程序中主动发出的,一般由 应用程序的某一部分内部处理。 w i n d o w s 消息是在w i n d o w s 文件中用宏定义的常数。消息常数名通常以w m 开头,格式为w mx x x 。在w i n u s e r h 中,消息结构体的定义如下: t y p e d e f s t r u c tt a g m s g h w n dh w n d : u i n t w p a r a m l p a r a m d w o r d p o i n t ) m sg ,奉p m s g , n e a r n p m s g , f a r 宰l p m s g ; 消息结构体中各个成员的意义如下: ( 1 ) m e s s a g e :是标识消息的消息值或消息名。每个消息都有唯一一个数 值标识,常用不同前缀的符号常量以示区别。 w i n d o w s 常用的窗口消息和消息值定义于w i n u s e r h 中,如下: 岫m # d e f i n ew mc r e a t e0 x 0 0 0 1 g t j 建窗口产生的消息 # d e f i n ew md e s t r o y0 x 0 0 0 2撤销窗口产生的消息 ( 2 ) w p a r a m ,1 p a r a m :消息参数,均为3 2 位,其数据类型在w i n d e f h 中定 义如下: t y p e d e f u i n tw p a r a m ; t y p e d e f l o n gl p a r a m ; ( 3 ) p t :表示消息进入消息队列时鼠标指针的屏幕坐标,数据类型p o i n t 是定义在w i n d e f h 中的结构体,表示屏幕上的一点,定义如下: t y p e d e f s t r u c tt a g p o i n t l o n gx ;表示点的屏幕横坐标 l o n g y ;表示点的屏幕纵坐标 f o r n t ,* p p o i n t ,n e a r * n p p o i n t ,f a r 幸l p p o i n t ; 图2 1w i n d o w s 程序和w i n d o w s 消息的基本流程 w i n d o w s 程序常用的消息如下。 w ml b u t t o n d o w n : w ml b u t t o n u p : w mr b u t t o n d o w n : w mr b u t t o n u p : w ml b u t t o n d b l c l k : w mc r e a t e : 9 按下鼠标左键时产生的消息 放开鼠标左键时产生的消息 按下鼠标右键时产生的消息 放开鼠标右键时产生的消息 双击鼠标左键时产生的消息 建立窗口时产生的消息 w mp a i n t :窗口重绘时产生的消息 以上阐述了w i n d o w s 的消息传递,w i n d o w s 程序和w i n d o w s 消息的基本流程 【烈j ,如图2 1 所示。 2 3 2 事件驱动 w i n d o w s 系统使用事件驱动的编程模式。事件用来标识发生的某件事情, 主要由以下三种途径产生。 ( 1 ) 通过输入设备,如键盘和鼠标产生。 ( 2 ) 通过屏幕上的可视化对象,如菜单、工具条按钮、滚动条和对话框上 的控件产生。 ( 3 ) 来自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 事件的发生是随机的,程序的执行先后顺序也无法预测,系 统采用消息队列来存放事件发生的消息,然后从消息队列中依次取出消息进行 相应的处理。 句柄是w i n d o w s 编程的一个关键性的概念,编写w i n d o w s 应用程序总是要和 各种句柄打交道。所谓句柄,就是一个唯一的整数值,是一个4 字节长的数值, 用以标识许多不同的对象,如窗口、菜单、内存、画笔、画刷和文件等。 由于w i n d o w s 是一个多任务操作系统,它可以同时运行多个程序或一个程 序的多个副本。w i n d o w s 不仅使用句柄来管理实例,也用它来管理窗口、位图、 字体、元文件和图标等系统资源。常见的w i n d o w s 对象句柄如表2 1 所示,所有 的句柄名称都以h 开头。 表2 1常见的w i n d o w s 对象句柄 句柄类型含义句柄类型含义 h 仆t d 窗口句柄 h d c 设备环境句柄 h n 、j s l = f 气n c e 实例句柄 h b i t m b p 位图句柄 h c u r s o r光标句柄h i c o n 图标句柄 h b r u s h 画刷句柄 h m e n u 菜单句柄 h p e n 画笔句柄 h f o n t 字体句柄 2 3 3w i n d o w sa p i 编程 w i n d o w sa 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 e ) 的 英文缩写。 w i n d o w s 多任务操作系统除了完成协调应用程序的执行、内存分配、管理 系统资源以外,它还是一个很大的服务中心。用户通过调用这个服务中心的各 种服务( 每一组服务都对应相应的一组函数) ,可以实现开启窗口、绘制图形、 使用系统各种设备等功能。由于这些函数服务的对象是应用程序( a p p l i c a t i o n ) , 所以称之为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 e ( 应用程序接口) 。w i n 3 2a p i 也 就是m i c r o s o f tw i n d o w s3 2 位操作系统平台的应用程序编程接口。使用v c 进行 w i n d o w s 应用程序的开发,除了用到各种h 头文件中的库函数及数据结构外, 还需要使用w i n d o w ss d k ( s o f t w a r ed e v e l o p m e n tk i t ,软件开发工具包) 提供 的使用于w i n d o w s 应用程序的特殊库函数和数据结构、语句及文件结构。所有 这些内容组成了w i n d o w s 应用程序设计接口a p i 。 a p i 是大量函数加上数字常量、宏、结构体、类型以及其它相关项的集合。 在w i n d o w s 应用程序中,调用a p i 函数的方法同调用c 语言库函数的方法相同, 重要区别是c 语言库函数的目标代码直接放到程序目标代码中,而a p i 函数的目 标代码则位于程序之外的某个动态链接库( d l l ) 中。 w i n d o w sa p i 是包含在w i n d o w s 操作系统中的,另外还有单独的驱动程序开 发包( d d k ) ,用来开发w i n d o w s 驱动程序。因为w i n d o w sa p i 函数本身是用c 语言编写的,所以c c + + 编程可以很方便地利用计算机的底层资源,程序运行 速度远远高于其他语言。 标准w i n 3 2a p i 函数可以分为以下几类: 系统服务 通用控件库 图形设备接口 网络服务 用户接口 系统s h e l l w i n d o w s 系统消息 直接采用a p i 进行的程序设计称为传统的w i n d o w s 编程。 2 3 4w 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 数据类 型如表2 2 所示,主要包括字符型、整型、浮点型、布尔型、指针型及w i n d o w s 应用程序特有的句柄型。表示指针的数据类型一般以p 或是l p 作为前缀,而旬 柄型则总是以h 打头。 在编程时,变量、函数的命名是一个极其重要的问题。好的命名方法使变 量易于记忆且增加程序的可读性。m i c r o s o f t 采用匈牙利( h u n g a r i a n ) 命名法来 命名w i n d o w sa p i 函数和变量,它的名字来源于他的匈牙利籍开发者一一 m i c r i s o f t 程序员c h a r l e ss i m o n y i 。匈牙利命名法为c + + 语言标识符的命名定义了 一种非常标准化的方式,以下面两条原则为基础: 表2 - 2 常用的w i n d o w s 数据类型 类型定义类型 定义 b o o l 布尔型变量 h d c 设备描述表句柄 b y 下r e 字节( 8 位)h 玎呵s t a n c e 实例句柄 c h a rw i n d o w s 字符h m e n u 菜单句柄 c o n s t 执行时不变的变量 h n d 窗口句柄 d w o r d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三江学院《物理药剂学》2025-2026学年期末试卷
- 神经科脑卒中预防措施
- 肝炎康复训练方案
- 老年骨折健康科普与康复指南
- 2026年成人高考土木工程专业工程力学模拟单套试卷
- 2026年成人高考高起专生物(文)真题单套试卷
- Cosmed 心肺运动试验
- 哲学与文化题目及答案
- 2025-2026学年人教版七年级音乐上册《民族音乐》单元测试卷(含答案)
- 阅读题目及答案英语
- 血液透析患者的血压管理
- 水上抛石应急预案
- 中国2型糖尿病防治指南(2024年版)解读
- 2025年西藏自治区中考地理试卷(含答案)
- 2025年福建法院书记员面试题(含答案)
- 2026年政治一轮复习备考策略分享
- 安全生产岗位隐患排查清单
- 大数据项目实施计划与进度管理
- 血库实习生理论考核试题及答案
- 2025年广西度三类人员(持b证人员)继续教育网络学习考试题目及答案
- 2025年公文写作试题及答案解析
评论
0/150
提交评论