(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf_第1页
(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf_第2页
(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf_第3页
(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf_第4页
(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(信号与信息处理专业论文)微波增强化学反应的计算机控制系统研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 微波在化学领域中的应用越来越广泛,近年来,大量实验已经证实,微波可 以极大地提高一些化学反应速率,大大缩短化学反应时间,省溶剂、节约能源、 减少废物的产生,同时可以提高提取物的收率和纯度,是一种具有广阔发展前途 的新技术。 本文围绕微波增强化学反应的计算机控制系统进行了深入的研究,首先采用 实验室自制的p c i 板卡,重新设计了计算机与硬件设备的通信协议,用v c + + 实 现了系统硬件设备与计算机的通信,并对计算机与硬件设备的数据交换进行了封 装;然后提出了高速数据采集系统中以内存数据库e x t r e m e d b 为核心的数据保存 方案,根据不同系统的特点设计了定时、强制、选择三种数据转移方案,解决了 高速数据存储与海量数据存储之间的矛盾;在比较各种控制算法的基础上,确定 采用模糊控制算法来实现对化学反应温度的控制,借助m a :n a b 对控制算法进 行了仿真,用c + + 实现了该控制算法;通过大量实验与计算确定了微波功率与 磁控管阳极电压、阳极电压与脉冲延时时间之间的关系,并将这些关系应用到系 统中,在实际应用中取得了较好的控制效果;最后结合v c 与l a b v i e w ,使用 a c t i v e x 技术,实现了比传统v c 程序更加人性化、更友好的人机界面;设计了 控制算法接口,方便操作人员对控制算法进行在线调整以适应不同的被控对象。 关键词:实时数据库、模糊控制算法、l a b v i 鲫、p c i a b s t m c t a b s tr a c t m i c r o w a v ei sm 咄乩dm o r e 埘d e l y 璐e di nm c 丘e l do f 蛔i s 吼r e c 咖l y ,i t h 髂b 嘲p i o v e db ya1 a r g em m l b e ro f 船l p e r i m 蜘临t h a 土m m ec h e i n i c a lr 戡坞矗o n s , m i c r o w a v ei sa b l e 幻s p c c du p 馏t e ,s a v es o l v e n t 弛de n e r 鼢r e d u c c 聊i s t c ,趴d a l t l a n c et h er e c e i v e 翰t c 柚dp 面t yo f t h ep r o d u c t t h i l s ,t h i sn e w t e d m o l o g yw i i lb e p r o 印e f o u si i lf h t u 埽 t 1 i sp a p e rd o c sat h o f o u 曲蚓目。叠r c hi i l 觚a 曲l a ls y s t c i n ,w h i c hi su s 。dt o 豇i l l 趾c ec h 砌c a l a c t i o n sb ym i c r o w a v e ,a n dc o n t r o l l e db yc o m p u t e r f i r s t , a d o p t h l gm ep c ic a r dm a d eb yl 矗b o m t o r y ,m i sp 印_ e r 糟d e s i 伊疆m ec o m m u n i 训 p 芏m o c o lh 帆旧e nc o m p u t e ra n dt 1 1 ek 眦蛔,黜,糟a l i z l 嚣t 1 1 ec 0 咖m 砸c a t i o nb e t w e 吼 也e mb yv c h ,a n dm a k 嚣t h e 铷c a p s u l a t i o no f t h e 仃矗i l s p o 池gd 峨t h e i l ,t i l i sp a p 盯 a l s op u 乜南m 忸r dt h es c h 锄eo fa d o p 缸g 也ee x 慨d b 越t h ec o r ep a r ti t lt h e h i g h s p e e dd a :c ac o l l e c t i i l gs y s t e n l ,a n dd c s i g 嬲m r c ed i 缳i r e n td a t a 恤哪f e rm e t h o d s 越在m i n g ,c o m p u l s i 锄d l e c t i o na c c o r d m gt od i 腩r e r l ts y s t 锄c h a r a c 搬i s t i c s w h i c h i v 锶t h ec o l l f l i c tb e t 、e h i 出s p e e d 讹s t o m g c 锄dm 船s 胁s t o m g e ;b y c o m p a r i s o no fv a r i o 砸c o m r ;o la l g o r i t h i 璐,t 量l i sp 珥圮rd e c i d e st ou s ef h z z yc o n t m l a l g o r i t h mt 0c o m r o l 血ec b e m i c a lr e a c 疽o nt e m p c r a t i l r c ,t i l ea l g 耐也mw i l i c hi s e 玎1 m 砷e db ym a t l 曲i sf i n a l l yr c a l i z c d 谢t hc 什t h e 佗l a t i o n 如p so f l h em i c r o w a v e p o w 即卸dn l a g 咖n 龃o d ev o l t a g e ,t h ea n o d ev o l t a g e 锄dd e l a y 廿m eo f 也ei m p i l l a r eo b t a i l l e db yn m n ye x p e r i m e n t s 锄dc a l c u i a d o 璐,a n dt h e r e l a t i o i l s h i p sc e 删y t a l e 虢c ti nm ea 曲m ls y s t c i n s ;丘n a i l yc o m b i n i n gv c 锄dl a b v i e l l s i n ga c t i v e x t e c l l 玎【o l o g y ,也i sp a p l e rp r o 出1 c e sam o 坞矗i e n d l l yi n t e r f h c e 也强协l d i ! t i o 口【a lv cp r o 筝a m 1 ki m e r 缸eo f 廿坞a l g 耐t h mi sa l s od c s i g n c ds ot h a lo p e m t 。幅啪m o d i 黟t h e c o n 廿o la l g 嘶t h mo nl i n ea c c o r d i n gt 0d i f f 细tc o n n 0 1 l e do b j e c t s k 卵o r 血:小吐m ed a :t a b a ,丘l z 巧c 舡o la l g o r i t h i n ,蝴e w ,p c i y 9 68 7 8 2 南开大学学位论文版权使用授权书 本人完全了解南开大学关于收集、保存、使用学位论文的规定, 同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版 本:学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、 扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供 本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有 关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前 提下,学校可以适当复制论文的部分或全部内容用于学术活动。 学位论文作者签名;霹j 鹇鹂 a 一年岁月_ 7 日 经指导教师同意,本学位论文属于保密,在年解密后适用 本授权书。 指导教师签名:学位论文作者签名: 解密时间:年月日 各密级的最长保密年限及书写格式规定如下: i 魄謦强爹麟蹲黪! 鬟壁譬j 飘爱豢蒸黪羹j i 篓蓦纂型鋈攀誉垂i 囊i 薹_ :| _ i :二:- i 麓麓 辫赣麟i j 麟颤蘸鬻i | | ! i 黧惹i 霉鏊i i | ;| 融- :蚓 到j ;矧:i 量j - _ 至蓦誊? 捌- i 驯:鱼: ii = u 鳓一曩二i 掣l 冁帮;骥2 0 萃i ( 蕞黪瓣牟i 瓤爹攀黼攀嚣i i i : ! i 曩= 。_ | = ii 叠i ; l 南开大学学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,进行 研究工作所取得的成果。除文中已经注明引用的内容外,本学位论文 的研究成果不包含任何他人创作的、己公开发表或者没有公开发表的 作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集 体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任 由本人承担。 学位论文作者签名:廊粥确 静套年譬月卯日 第一章引言 第一章引言 第一节课题背景 微波超声波复合智能化系统及其应用是我的导师孙桂玲负责的天津市 应用基础研究重点项目。本论文来自于该项目的科研工作。 随着综合与交叉学科研究的不断深入,微波在化学领域中的应用也越来越广 泛。在微波化学领域中,采用微波2 4 5 0 姗z 频段促进化学反应进行,已成为一 个较通用的手段【l 】【2 l 网。微波促进化学反应不仅体现在实验化学和样品预处理技 术变革,如:微波消解、萃取、蛋白水解、灰化等,而且开拓了科研应用,如: 分子合成、有机合成,无机合成制造新材料等。 微波对化学反应的促进主要体现在采用微波加热。目前我国多数化学实验室 仍采用传统的加热方法,即采用表面加热源,先使物体的表面加热,然后再由 传导和对流将热量从被加热物外部传入内部,逐步使物体中心温度升高,要使 中心部位达到所需的温度,需要一定的时间,这样加热速度很慢;若是热传导 率较差的物体所需的时间就更长。微波加热与传统加热方法相比具有独特的效 应和优点,它通过微波与分子的相互作用而诱导分子极化和偶极旋转,造成分 子之间迅速运动。这种方法与传统的加热方式有着本质的区别,当微波在传输 过程中遇到不同介质时,由于这些介质的介电常数、介质损耗系数、比热、形 状和含水量等主要性质的不同,吸收的电场能量不一样,微波电子学方法正是 利用这一特点,进行选择性加热【4 】1 5 1 。大量的实验已经证实,微波加热可以极大 地提高一些化学反应的速率,大大缩短化学反应的时间,省溶剂( 较常规方法 少5 0 毋o ) ,节约能源,减少废物的产生,使化学反应面向清洁、无污染,能 极大改善化学反应的环境,同时可以提高提取物的收率和纯度,是一种具有广 阔发展前途的新技术1 6 】,具有很大的理论研究价值和实际应用价值。 在化学反应系统中,反应物温度是一个非常重要的参数,它直接影响着反应 速率、进程和产品质量,因此必须对反应温度进行实时检测与精确控制。本文 利用计算机控制系统来实现对微波功率的控制,利用计算机强大的计算、逻辑 判断和记忆等信息处理能力,实现了更加精确的控制算法;利用计算机丰富的 第一章引言 图形界面,更加友好的人机接口,实现了温度的精确控制。 第二节计算机控制系统概述 计算机控制系统是自动控制系统发展中的高级阶段,是自动控制系统中非常 重要的一个分支。利用计算机高速、可靠、方便的计算能力,提高控制算法的 复杂度与准确性,同时也为各种复杂但性能优异的控制算法提供了应用平台, 促进各种控制算法在实际生产过程的应用。由于计算机控制系统的应用,许多 传统的控制结构和方法被代替,工厂的信息利用率大大提高,控制质量更趋稳 定用嘲。因此,计算机控制技术受到越来越广泛的重视。 常规控制系统典型结构图见图1 1 【7 】: 图1 1 常规控制系统典型结构 计算机控制系统典型结构见图1 21 7 j : 从图1 2 可以看出,计算机控制系统相对于传统控制系统来说,用计算机系 统代替了控制器。由于计算机处理的都是数字量,所以在计算机控制系统中需 要有进行模拟信号与数字信号相互转换的j d 以及d a 模块。 计算机控制系统的基本流程包括数据采集、数据计算、实时控制以及信息存 储与管理等四个步骤【7 】。这四个步骤当中,数据采集、数据计算、实时控制以及 第四步的信息存储一般需要实时进行,而信息的进一步处理则可以离线完成。 计算机控制系统可以与现有的各种成熟的计算机技术有机结合,实现更加强 大的功能。与传统控制方式比较,其优势主要表现在以下几个方面: 2 第一章引言 ;鼓甲= _ 1检测与传感器f _ 一一 计算机系统生产过程 图i 2 计算机控制系统典型结构 控制算法的复杂度。 由于计算机本身具有大量存储信息的能力以及极高的运算速度,因此, 用计算机来实现的各种控制算法,相比传统控制而言,可以具有更多的运算 量和更高的复杂度,可以达到常规控制达不到的优异的性能指标。比如,在 模糊控制算法中,可以取更多级别的模糊变量,提高控制算法的精确性 控制算法的灵活性。 采用计算机实现控制算法,可以方便的改进甚至更换控制算法,而不需 要对系统做其它改变。因为控制算法在计算机内部仅表现为一段程序当需 要改进或者改变算法时,只要更换相应的程序就可以了。而且这些程序的实 现,可以用各种高级语言来进行,开发起来相对容易。 人机交互。 计算机本身具有丰富的图形界面,这为我们设计友好的人机界面提供了 很大的帮助。我们可以利用计算机丰富的图形库,设计更加友好的人机交互 接口 信息管理。 同样,我们可以利用成熟的各种计算机信息处理技术,对控制过程中的 数据进行处理,分析。比如:实现控制过程数据的动态分析、信息共享等。 第三节微波增强化学反应系统概述 微波增强化学反应系统涉及到微波、化学反应、计算机控制技术等各方面的 3 第一章引言 内容,从控制系统的角度来考虑,可以将系统分为三个部分:温度检测、控制 器以及被控对象。p c 机通过本实验室开发的p c i 板卡与硬件电路相连,在p c i 板卡前端用a t 8 9 s 5 2 负责a d 、d ,a 以及p c 与硬件电路的通信:在p c i 后端 也就是p c 机中,实现数据保存与控制算法。整个系统原理框图如图1 3 所示。 设足值 - 6 之,一实时数据存储h 趋势显示h 历史数据 弋 检。 千 测 控制算法卜叫算法结果 叫 控制量 值 p c l 板卡 千士 单片机 十 放大、a 仍 阳极 电压 千1r 三线制磁控管 千 温度传感器i _ 一谐振腔内的反应物| 一 微波功率 图1 3 系统原理框图 温度检测模块包括温度传感器、三线制、放大、d 以及单片机,是本系统 的反馈部分,负责检测当前化学反应的温度,将温度值反馈给p c 机中的控制算 法。 被控对象则包括从磁控管阳极电压到反应物温度的部分。单片机根据p c 发 送的控制量,通过控制电压在一个周期内的脉冲延时时间,来控制磁控管的阳 极电压有效值,而磁控管的阳极电压直接影响着微波功率,微波功率又决定着 反应物的温度。从而实现了控制量对反应物温度的控制例。 。“ 图中p c i 板卡上面的部分为p c 端。这是本系统的控制器部分,由数据存储 以及控制算法两部分组成。 数据存储实现采集数据、控制参数、控制结果的实时保存、温度变化曲线的 4 第一章引言 绘制、实时数据到历史数据的转换、系统微波泄漏的检测以及报警等功能。 控制算法部分根据温度检测模块反馈的温度值以及实验者给出的温度设定 值决定系统的控制量,并将控制结果发送给p c i 。本系统控制算法采用模糊控制, 输出用增量输出,这样有利于消除系统的稳态误差。模糊控制器输入为系统的 温度检测值,输出为微波功率。为保证系统在稳态值附近有更精确地调节功能, 输入输出变量均采用非均匀的隶属函数,在稳态值附近增加一个模糊集来进行 精确调整。 第四节本文的研究内容与作者完成的工作 本文内容共分五章:第一章“引言”,概述了课题背景、对计算机控制系统 做了简单的介绍,主要是将其与传统控制系统区别开来;第二章“快速数据存 取的研究与实现方案”详细介绍了本系统从数据采集到数据存储的设计与实现, 重点介绍了从p c i 板卡进行数据读取的方法,以及将采集数据存储到实时数据 库e ) d b 的实现方案。第三章“系统控制方案的研究与实现”详细叙述了 系统采用的微波功率模糊控制算法,通过大量实验与计算得到微波功率与磁控 管阳极电压、阳极电压与可控硅导通角之间的关系,在m 棚,a b 中对本算法进 行了仿真,并根据仿真结果对实际应用中的参数调整进行了说明。第四章“系 统软件设计与实现”介绍了如何将i a b 、,j e w 中的各种仪器仪表控件与本系统结 合起来,设计出更加人性化的人机接口;详细介绍了本系统模糊控制算法的c + + 实现以及相应的接口程序的设计。第五章“总结与展望”,对完成的工作进行总 结,并对今后的工作提出改进建议。 本文围绕微波超声波智能化系统的实现,进行了相应的科研工作,重点对 微波增强化学反应系统的计算机控制进行了深入的探讨与研究,在比较各种控 制算法的基础上,确定采用模糊控制算法来实现对微波功率的控制,并在 m a :1 1 a b 中对控制算法进行了仿真,用c + 十实现了该控制算法;对实时数据库 进行了深入研究,提出了以内存数据库e x t r e m e d b 为核心的高速数据存储方案, 解决了高速数据采集系统中的数据存储问题;设计了实时数据库与大型数据库 的接口,并在本系统中得到成功的应用。 5 第二章快速数据存取的研究与实现方案 第二章快速数据存取的研究与实现方案 在本控制系统中,数据处理占很大的比重。一方面,数据采集线程按照设定 的数据采集机制周期性地将温度、微波泄漏等物理量的值采集存储;另一方面, 控制算法需要对采集进来的实时数据及时地进行运算以及其它各种处理,如实 时温度显示、微波泄漏显示与报警、控制算法的输出结果显示以及运算过程中 的中间量的显示等,这些都对数据共享提出了很高的要求。不仅如此,在我们 控制系统参数的过程中要利用当前以及过去一段时间内的数据进行数据变化趋 势分析;在经过一段较长的时间后,我们也需要对以前的数据与当前的数据进 行综合对比,进一步完善系统各个方面的性能;操作人员也可能要求将这些数 据组织成表格以帮助进行如节能、提高生产率、提高收率和纯度,计算总能耗 等各种高层次的综合分析隅】。这些都说明,在本控制系统中需要对周期采集的大 批的实时数据进行合理的规划与设计,保证系统对实时数据访问的快速有效; 同时,需要考虑将实时数据长期保存下来,供以后的查询以及分析使用,这就 要求我们在保证实时数据高效准确运行的前提下,通过一定的机制,将其转移 到能长久存储数据的其它介质中。因此数据的快速存取就成为本控制系统中必 不可少的一部分。 本系统将采集来的数据分为实时数据、趋势数据和历史数据三部分,随着整 个系统的运行,实时数据和趋势数据将逐渐转变为历史数据。采用将实时数据 和趋势数据存储到内存数据库e x 帆m e d b 中,而将历史数据逐步转移到传统数 据库中予以保存的方案,利用实时数据库快速数据处理的能力和传统数据库海 量数据存储、强大的统计分析能力,成功的实现了本系统数据存储所要求的各 项功能。 第一节数据采集, 1 th 2 1 1 数据采集硬件 本系统数据采集部分采用本实验室自行研制的基于p c i 总线的数据采集系 统。该系统主要功能模块有:p c i 总线、p c i 接口芯片p c i 9 0 5 2 、双口r a m 、 第二章快速数据存取的研究与实现方案 c 8 0 5 1 f 0 2 0 部分。数据采集芯片c 8 0 5 1 f 0 2 0 用来实现数据的模数转换和数据的 存储控制,双口l 认m 用来实现高速a 仍与微机的接口。双口凡帅r i - 7 1 3 0 具 有两套相互独立的地址线、数据线和控制线,允许两个c p u 同时读取任何存储 单元,这样可以把c 8 0 5 l f 0 2 0 模数转换后的数据实时存入双口i 认m 中,p c 机 几乎同时就能把数据读出并进行各种处理而不必等待数据的传输。通过对 d t 7 1 3 0 中断的控制,防止它们由于同时对双口r a m 的同一地址的读写而产生 冲突。p c i 9 0 5 2 可实现多种外设局部总线和p c i 的互连,支持传输速度为1 3 2 m b s 的突发传输。它在此系统中主要负责根据需要对双口r a m 中的数据快速地读和 写。 其数据采集结构框图如图2 1 所示: 2 1 2 数据读写方法 图2 1 数据采集系统框图 砌j 1 3 2 应用程序访问系统底层设备有两种方式,一种是用符号链接名,一种 是用设备接口标志,由于本p c i 板卡已经提供了g u i d ,所以我们用第二种方式。 用c r e a e f n e 函数打开设备驱动程序,创建设备句柄。在这里,由于c f e i l e f i l e 参数要求设备路径和设备文件名,p c i 板卡的设备文件名呲w s 中并没有定 义,这里采用g u d 结合设备管理函数族来获得。将获得设备旬柄的过程封装 在一个函数中,命名为g e t d e v i c e 礼呲e r f a c e ,其函数定义为: h a n d i 卫g e t d e 、,i c c a i i 她r 缸霉( g u d + p g i l i d d w o r di n s t a l l c e ) 参数p g i l i d 为p c i 板卡提供的g u i d 号,i i l s t a n c c 为设备实例编号,这里都 设置为o 。 获得设备句柄后,可以使用函数d e v i c e i o c o n 们l 对设备进行各种操作。 d e v i c e i o c o n 乜o l 函数除了设备句柄外还有一个重要参数d w i o c 叫h 0 1 c o d e ,用来 定义当前进行何种操作。 7 第二章快速数据存取的研究与实现方案 经查,本p c i 板卡支持以下几种操作: i o c l r i m y p c i - r e g i s t e r e 、厂e n t 注册事件 i o c l l ,m ) ,p c u 通a dd a :r a 读取r a m 数据 i o c l l tm y p c i - w i u 徊a = i a 写r a m 数据 i o c t lm ) ,p c ii n 帐e g i s t e re 、,段盯注销事件 1 0 c 1 l _ _ m y p c i - s e l e c t - 8 1 5 5 m 1 0 访问9 0 5 2 1 0 引脚,与单片机通信 d e v i c e i o c o m m l 的函数原形为: b 0 0 ld d v i i o ( :彻瞳l ( h a n d u ! t l d e 、d ,设备句柄 d w o r dd w i o c o 咖i c o d e 。 ,控制码 l p v o m l p i n b u 丘巩 ,输入数据缓冲区指针 d w o r dn i n b u 疗e r s i , ,输入数据缓冲区长度 l p v o i di p 0 呻u 眠 ,输出数据缓冲区指针 d w o r dn o i 心硼f e r s i z e , ,输出数据缓冲区长度 l p d w o r d l p b y t e s r e t l i l n e d ,输出数据实际长度单元长度 l p o ! r l a p p e di p 0 | v e r l 印p e d ,重叠操作结构指针 ) ; 在得到设备句柄以及控制码以后,上述函数就容易实现了,这里给出一个读数 据的例子: b o o lr c a d d 砒a ( 唧s i 印e dc h 盯p d 删 ( u i d n gb y 幛s r e t i i m e d ; j f ( ! d e v j c c l o c 伽仃0 l ( 1 l l ,】y p c i ,j o c :m y p c u 姒dd 觚a ,p d 瓴1 , p d a 纽+ l ,l ,b 归s r 咖m e d n u l l ” c l o s e h 锄d l e ( h m y p c i ) ;r c t i l mf a l s e ; r e t 咖t r u e ; 例子中h 叫毋c 工为全局定义的设备句柄,参数p d a 缸为字符数组,上面的实 现中是将p d a :c a 【o 】作为输入,p d a 协【l 】作为输出。设p d 呦【o 】- 2 0 ,则上面例子就是 读取双口r a m 中序号为2 0 的存储单元的值,将值放入p d a 诅【1 】中。本系统设 计中用c + + 对p c i 的访问进行了封装 。“ v m t ,r * ,一 ,* 2 1 3 数据采集程序与硬件的通讯 系统数据采集部分将7 1 3 0 作为数据缓冲区,单片机可以对7 1 3 0 进行数据读 写,p c 机通过9 0 5 2 以及驱动程序也可以对7 1 3 0 进行数据读写。此时就需要设 8 第二章快速数据存取的研究与实现方案 置好单片机与p c 机之间对7 1 3 0 的访问次序,也就是要设计好p c 机与单片机之 间的通讯流程。 p c 与单片机之间共涉及到三种操作的通讯,分别是:系统测试、数据采集 以及发出控制信号。加上空闲,共有四种状态。p c i 板卡设计9 0 5 2 与单片机之 间的通信通过嘲砷以及1 l s e r l 两个引脚进行,每个引脚高、低两种电平状态, 正好是四种组合。但考虑到这两个引脚都不是中断信号,如果拿他们作为控制 字,单片机势必得通过轮询来检测控制字,所以不可取。考虑p c 可以控制这两 个引脚的高低电平,而单片机还有中断引脚可用,因此设计将这两个引脚与单 片机中断引脚连接,这样可以实现从p c 端向单片机发中断。检查单片机线路, 中断引脚只剩余一个,因此,只用u s e r o 来作为中断信号,控制字使用7 1 3 0 存 储单元来交换。设计7 1 3 0 存储单元1 用于控制字的交换,用一个十六进制数来 表示控制字,规定如表2 1 所示。 表2 1 控制字含义 控制字表示的状态 o x 0 0 空闲 o x 0 1系统测试 o x 0 2数据采集 o x 0 3控制信号 由于p c 端程序本身无法检测中断,所以在p c 端系统采用轮询的方式来判 断当前操作是否执行完毕。单片机端得到中断后,进行控制字( 存储在7 1 3 0 存 储单元1 中) 检测,检测到o ) 【o o 时,直接跳过;检测到o x o l 对,转为测试流 程。 单片机端测试流程如图2 2 所示。 中 断 检测到o x o l 叫设置标志位为。卜刊读1 0 、1 1 单元到 设置控制字为0 】【o o _ 一设置标志位为l _ 一写到1 2 、1 3 单元 图2 2 单片机测试流程 测试流程中,设置存储单元2 为标志位,表示当前操作是否完成。存储单元 9 第二章快速数据存取的研究与实现方案 1 0 、1 1 保存一个1 6 位整数的低8 位以及高8 位,是p c 写到7 1 3 0 中的数据。单 片机读到1 0 、1 l 单元中的数据后将数据写入1 2 、1 3 存储单元中供p c 读取验证 p c 端测试流程如图2 3 所示。 图2 3p c 机测试流程 在p c 端,产生随机数,清除标志位,设置控制字为测试,将写入l o 、 1 1 单元供单片机转移,之后查询标志位,当标志位为1 时,表示数据已经转移, 此时读取1 2 、1 3 单元的值,与比较,相等表示系统正常,否则系统异常。在 轮询标志位时,如果等待时间过长,单片机没有响应,则认为系统异常。 数据采集、温度控制流程与系统测试基本相同,p c 端读写数据流程如图2 4 , 这里设置空闲标记位是为了p c 端数据读写程序与单片机的同步,防止无效操作 的发生。由于p c 端用多线程来实现,数据读写线程仅负责数据的读写,不再进 行其他任何操作,所以读写线程在这里的阻塞不会影响到系统其它部分的执行。 单片机端数据读写流程如图2 5 所示。从图2 5 可以看出,除了控制字外, 系统还使用了另外两个存储单元来进行p c 与单片机之间的信息交换,它们占用 7 1 3 0 的第二个以及第三个存储单元。上图中的清除标记位表示将存储单元2 设 置为0 ,设置标记位表示将存储单元2 设置为1 ;存储单元3 表示空闲位,为1 表示单片机正在进行操作,为o 表示可以向单片机发中断。 l o 第二章快速数据存取的研究与实现方案 ( a ) 读流程 图2 4p c 端数据读写流程 ( b ) 写流程 2 1 3 定时机制 图2 5 单片机数据读写流程 数 据 采 集 控 制 信 号 p c 与单片机的通信机制的设计,使得单片机处于被动位置,所有操作都由 p c 端发起。而且利用p c 端可以设置u s e r o 引脚的高低电平,实现了从p c 端向 单片机发中断的机制,从而避免了单片机一直工作在轮询状态但由于系统驱 第二章快速数据存取的研究与实现方案 动程序无法向应用程序发出中断,所以在数据采集程序中设计了专门的线程来 处理与单片机的通信,这就要求在谢n d o 哪下实现比较精确的定时。鉴于 1 d n d 0 1 僵的非实时性,其定时机制需要认真考虑。 本系统用v c 卜十进行系统实现。v c 中传统的定时方案为使用f 1 _ 埘e m 函数 的定时。此方案由函数s 舶e r ( ) 设置定时间隔,之后系统每隔一定的时间发送 消息给指定窗口句柄;指定窗口接收到消息后,调用指定的函数。只要在指定 的函数中设置要执行的内容就实现了程序的定时执行。 但是,m m c r 的定时机制,其精确度较低,分辨率只有5 5 m s 左右。在v c 中,设置喇m 盯每隔1 m s 执行一次函数,函数的功能是对一个全局变量进行 累加,累加到1 0 0 0 后,停止此定时器的工作,此时计算开始与结束的真实时间 差。真实时间差用系统运行以来的毫秒数来统计,这样相对比较准确。 测试结果表明,在累加到1 0 0 0 时,耗时1 5 秒多。也就是本来应该用1 秒完 成的操作,用蚓m 盱o 定时的话,至少要1 5 秒才能完成。在设置定时间隔为 5 0 毫秒时,同样的任务用1 8 秒完成;在设置定时间隔l o o 毫秒时,用时1 0 8 3 秒完成。可见,m m e r ( ) 函数不适合在本系统中使用。 这里采用多媒体定时器来实现系统的定时。多媒体定时器是m i c r o s 0 最为了 多媒体开发而开放的定时器。其控制精度为1 m s 。与上面同样的实验方式,设置 定时间隔为l i i l s ,全局变量累加到1 0 0 0 时,耗时为精确的1 0 0 0 m s 。可见,多媒 体定时器可以满足本系统需求。 第二节系统数据存取研究 通过p c i 板卡将数据读取到内存中后,需要将数据按照一定的形式有效的 组织起来,以便于控制算法以及人机交互的调用。本系统中,我们采用实时数 据库与关系数据库相结合的方式来进行数据的存储。这里需要说明的是,本系 统设计的数据存取方案,不仅可以满足本系统的需求,在其他要求更高的系统 中也可以得到很好的应用。 + ,i,、, 。, 2 2 1 系统数据存取的需求 我们将采集的数据根据时间分为三类:实时数据、趋势数据、历史数据。 、_, 1 2 第二章快速数据存取的研究与实现方案 当前采样周期采集到的数据作为实时数据,放在实时数据表中,模糊控制算 法将根据此数据结合一定的先前数据进行运算,得出控制结果。 实时数据在本采样周期结束后,有选择的成为趋势数据,存储在趋势数据表 中。在绘制系统趋势图时,从趋势表中提取相应的数据。 趋势数据在设定的时间段后已不再作为趋势数据使用,此时,将趋势数据转 移到历史数据表中,供以后需要时查询。 从上面可以看出,对于整个系统,数据不断的增加,不断地进行各种更新和 交换在采样点较多、采样间隔较短、控制算法比较复杂、要求显示较多趋势 数据、或者需要对数据进行各种运算的场合,必须要有能快速存取数据,并能 对数据进行快速检索的数据库支持。实时数据库系统正是为实现此类需求而产 生的。 2 2 2 实时数据库与传统关系型数据库的比较 传统的数据库技术已经发展成为一种比较成熟的技术。在当今的信息化社会 中,其应用几乎遍及社会的各个领域。其共同特点剧7 1 【10 1 【1 1 】【1 2 l : 处理的数据是相对稳定的数据。 强调数据的共享及数据的完整性与一致性。 在性能方面要求大的系统吞吐量与低的系统成本。 友好的用户接口。 但在一些应用中,不仅需要处理大量数据的共享及保证数据的完整性与一致 性,而且数据及数据的处理与使用具有很强的时间限制,要求在规定的时刻和 一定的时间内完成数据的获取、存储、处理及使用,过时就会导致数据、计算 及决策的实效1 1 0 】f 1 2 l 。此时,传统的关系数据库就显得无能为力了。 本系统采用美国m c o b i e 吐公司的西:衄脚e d b 内存数据库系统。c x 廿c m e d b 与传统关系数据库相比,其特点在于完全基于内存的数据存取。 基于内存方式的e x 吮m e d b 剔除了与缓存及文件管理相关的复杂逻辑,减 小代码规模( 尺寸) ,同时也去除了指定数据块的多个冗余拷贝( 例如应用程序 中、数据库缓存中、文件系统缓存中及文件系统自身的拷贝) 。 内存式数据库与基于磁盘的数据库相比,采取不同的优化策略。关系型数据 库关注于将文件的i ,o 操作降低到最少,通过使用内存和c p u 操作指令来替换 1 3 第二章快速数据存取的研究与实现方案 文件的操作。内存式数据库不必考虑磁盘的i o 操作,因此可以通过减少c p u 指令和充分利用已有的空间来存储更多的数据来优化性能。所以存取一定量的 数据时,舒d b 所需的空间只是基于磁盘数据库的一部分r 埘。 2 2 3 系统采用的实时数据库1 孓1 9 1 d 觚扭d b 是内存嵌入式数据库系统( d 沮) s ) ,该数据库适用于各种嵌入式系 统和其它需要高性能、小尺寸、紧密存储、零内存分配或几种属性兼有的应用 领域。 e ) m 锄d b 适用于各种操作系统,包括嵌入式操作系统、实时操作系统、桌 面操作系统和服务器操作系统。对于单处理器多任务构架的操作系统( 如 v x w j r l 【s ) ,e x t r e l n e d b 标准版可以管理内存中任何专用区域,并且可以控制多 任务或线程之间进行同等的访问。对于多处理器构架的操作系统( 如l i n 腿、q n x 实时操作系统等) ,e x 岫n e d b 共享内存版能够管理位于共享内存中的数据库, 并且能够控制多个进程之间进行同等的访问,而每个进程又可能包含多个线程。 e x 雠m e d b 煳l 是e x 吨m e d b 支持礼的版本,该版本扩展了编程接口, 使之支持如下操作:从讧l 文档中插入和更新对象,以讧l 文档形式从数据 库中提取对象,以x m ls c h 锄格式摘录类的定义,此外还可以控制c x 打e m e d b 咀,策略的各个方面。 e x 吮m e d b 高可用性是m c o b j e c t 公司为需要最高限度保证正常运行时间的 系统而发布的版本。基于强壮的、两阶段提交协议的醪| 仃c m e d bh a 保证了主 数据库实例和一个或多个备用数据库实例的同步维护。e x 嘲n e d bh a 通过附加 的功能扩展了e ) 【眦d b 核心编程接口,允许备用数据库连接到主数据库并与之 同步,备用数据库变为主数据库以及其它控制接口都需要这一扩展接口。 d :嘶n c d b 的主要目标是为适用d r 仃锄e d b 的各种应用程序提供高性能。 这些应用程序不同于工资单或库存等普通数据库商业应用程序。首先,基于 d :仃e r n e d b 的应用程序运行在只有少量内存和缺少永久存储设备的廉价处理设 备上。其次,即使在速度很慢的处理器上数据访问依然需要保持比较高的速度,一n 简单查询和事务最多不超过几毫秒,与企业级数据库相比,这些设备上的数据 存储量比较小,事务所持续的时间通常也非常短。此外,需要存储的数据可能 是复杂的,实际上它差不多总是动态变化的。 1 4 第二章快速数据存取的研究与实现方案 可以看出,e x 廿e m e d b 的特点主要表现在如下几个方面: 硬件平台支持;各种硬件架构的处理器、微处理器、单片机、s o c ,包 括x 8 6 、p o 聃蝴c 、m m s 、a r m 、s u p e r h 、6 8 k 、z i l o g 等等 软件平台支持:各种操作系统及无操作系统的嵌入式系统,如w i l 3 2 、 s o l a r i s 、肿一u x 、l i n u x 、各种r 1 的s 与应用程序集成。不同于一般数据库的c s 结构,e x 呦1 e d b 一般都在 应用程序中创建、在应用程序中销毁,数据的备份、恢复等都与应用程 序紧密结合在一起,从后面的性能测试中可以看出来,基于c s 结构的 数据库,应用程序与数据库s e “盯端的通信要耗费大量的时间,而 e ) 【吮m e d b 与应用程序集成的特点,省掉了大量的网络通信消耗,系统 效率极大提高。 与宿主语言集成。不同于一般数据库有自己专门的操作语言,e x 吮m e d b 可以与宿主语言集成在一起,其所有操作都采用宿主语言的语法。方便 用户进行开发。 丰富的数据结构。e ) 【嗽n e d b 的数据定义采用c + + 的定义格式,几乎所 有的c + + 数据结构都可以作为数据库记录的单位,比如:矢量、结构、 结构的嵌套等。 2 2 4e x l r e m e d b 性能测试方案与结果 d r t 鼢n e d b 目前版本为2 3 ,分为标准版和s q l 版。标准版不支持s q l 语 法,所有对数据库的操作都通过系统提供的相应c 函数进行;s q l 版支持s q l 8 9 标准,用类似a d 0 的三层结构来实现对数据库的操作【2 0 】。 相同测试环境下对s q ls e r v 盯2 0 0 0 、e x 呦l e d b 标准版、d r t r e i n e d bs q l 版进行测试。测试内容包括: 添加记录的速度。这里对插入1 0 0 ,0 0 0 条记录进行对比。 查询速度。按关键字查询1 0 ,0 0 0 条记录的时间对比 更新速度。对其中一个字段进行更新 删除速度。删除所有记录。 1 对于s q l s e n ,e r 2 0 0 0 ,直接在企业管理器中输入执行命令( 这样忽略了 实际应用中应用程序与s q l s e f v e r 的通信时间,测得的时间将较真实时 1 5 第二章快速数据存取的研究与实现方案 问短) 。数据表用如下格式: 表2 2 测试数据表定义 字段名数据类型说明 i d 【i n t 】 主键 n 啪l 【f l o a t l 数据项1 n u m 2 【f l o a l 】 数据项2 n w n 3 【n o 甜】 数据项3 n u i t l 4 【n o a t 】 数据项4 执行如下1 b n s a 球s q l 语句段: d c c l 辨 n u mi n t s e t n 啪= o w h i 喊 n 咖 1 0 0 0 0 ) 蛐 j i l j 辩竹i i l t o 钯s t ( i d 删m 1 ,n 咖1 2 ,n 唧3 ,n u n “) v a l u e s ( 舢i i i l o 0 ,1 0 0 ,1 0 o ,1 0 ) s c t i l 啪5 n 咖+ l 曲d g o 改变上面代码段中间的数据操作语句,可以得到各种操作在此环境下的时间 消耗。 s q ls e r v c r 在应用程序调用下的测试( 包含了连接时间) : 用v c 建立工程,使用a d o 建立与s q ls e n r e f 的连接,测试与上面类似,可以 得到另一组数据。 2 e ) 【吨m e d b 的数据测试 使用如下数据定义文件 糊e f i m m t l s 咖e d 1 ) 托c f i i 1 1 饵 s i g f 蛾l 应用程序源文件 用户自己编写的调用接口函数对数据库进行操作的代码 目标文件 对原程序和接口文件进行编译得到的。巧文件 e x 帅m e d b 链接库 由d :虹e m e d b 提供的链接库,提供对接口函数的实现 应用程序 最终生成的可执行文件,它包含了数据库的创建、销毁,以及用户自己 对数据库的各种操作。 1 9 第二章快速数据存取的研究与实现方案 2 3 2 系统开发要点总结 与积:t r e m e d b 标准版本相比,s q l 版本完全采用a 斗语法来实现。代码也 简化了很多但e ) ( 雠m e d bs q l

温馨提示

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

评论

0/150

提交评论