组件系统

2024-05-21

组件系统(共12篇)

组件系统 篇1

0 引言

空间应用的光导型碲镉汞红外探测组件具有高可靠性要求, 产品交付前需要进行寿命试验, 以获取其工作寿命指标[1~5]。目前, 国内普遍通过在其寿命试验过程中定期手动进行电阻测试[6], 以判断组件的失效时间, 从而获取其产品的工作寿命指标。基于手动的阻值测试过程大大增加了电阻测试的不准确性和不方便性, 寿命试验过程中积累的数据量也极为有限, 难以满足精准评价产品工作寿命指标的要求。

针对目前光导型碲镉汞红外探测组件寿命试验中阻值测试存在的诸多不足, 本文采用虚拟仪器技术, 利用Fluke公司的程控数据采集器, 结合Lab VIEW开发平台研制了一种自动化阻值采集与分析系统。系统的具体技术指标如下:1) 测量精度≤0.4Ω;2) 测量范围:0Ω~500Ω;3) 自动测试, 自动数据存储;4) 当器件的阻值变化超过±20%范围时, 即时报警。

1 阻值测量系统设计

1.1 硬件设计

系统由PC机、数据采集器、模拟多路复用开关组成。系统框图如图1所示。系统运行的步骤如下:

1) 系统上电, 运行计算机阻值测试Lab VIEW程序, 置位数据采集器的数字量输入输出DIO的D2位, 置位单片机的模拟多路复用开关控制信号, 选通通道1;

2) 计算机通过R S 2 3 2接口从数据采集器上读取数字量输入输出信号DIO, 若读取到开关就位信号即D2=1, 计算机则向数据采集器发送数据采集命令, 并等待数据采集器的回馈信息;

3) 计算机接受到数据采集器返回有效数据, 将返回的有效数据进行存储, 同时向数据采集器发送数据采集完毕信号, 并通知模拟多路复用开关准备下一回路的光敏元测试。

4) 重复步骤2) ~3) , 对所有待测的元器件进行测试。

1.2 软件设计

上位机软件采用Lab VIEW软件设计, 实现光敏元阻值数据采集、数据检测、数据存取及数据分析等等, 图2为上位机的Lab VIEW监控界面。上位机软件主要包括两部分:

1) 数据采集

计算机通过串口通信的方式, 向Fluke 2620A数据采集模块发送数据采集指令, 以获得各路光敏元的阻值, 并把采集到的阻值数据用Lab VIEW软件界面实时保存到数据表中, 以备后续的数据处理、计算及打印。

2) 数据存取和数据处理

数据存储部分主要是将采集到的光敏元阻值数据以txt文件和Excel文件存储, txt文件是用来建立记录集, 执行数据文件的操作, 满足历史报表数据的查询和打印。而Excel文件是用来进行数据比较的, Excel文件有两个, 其分别保存着最近两次测量的光敏元阻值信息, 系统通过对比两个Excel文件中各路光敏元的阻值来判断光敏元阻值是否出现异常现象。考虑到测量系统的误差, 当同一个光敏元两次测到的阻值变化超出±30%时, 通知单片机重新测量一遍, 若阻值变化还是超出范围, 则通知单片机停止试验, 标出出现问题的光敏元。

2 阻值测试精度分析

光敏元所在电路可等效为如图3所示的电路图, 从图3可看出, 数据采集器测到的阻值为R总, 为开关芯片的导通电阻R1与光敏元的电阻R0之和。因此导通电阻R1的波动对测试的精度将会带来直接的影响。本测试系统选用的数据采集器为Fluke 2620A, 该采集器的测量精度如表1所示。选用的档位为3KΩ, 测试精度为0.1Ω, 开路电压为1.5V, 流经测试电路的最大电流为110μA。保险起见, 本文要求在恒定室温的情况下, 模拟电子开关导通时产生的导通电阻R1的变化须小于0.3Ω, 瞬时电流小于1m A。而模拟开关阵列开关芯片ADG1634在恒定室温下的导通电阻的波动小于0.3Ω[7], 足以满足测试的要求。

3 实验结果

为验证系统的实际性能, 将该系统连接至包含54路器件的组件, 进行自动老化和自动阻值测试实验, 在对待测的电阻阻值进行连续监测后, 测得的电阻阻值随时间的变化图如图4所示。从图中可以看出, 该测试系统的电阻测量值波动非常小, 小于0.15Ω。此外, 该系统的测试速度非常快, 54路器件的阻值测试时间仅为2分钟, 足以满足实际的应用需求, 达到了预期的设计目标。

4 结束语

本文设计了一种可用于红外探测器组件寿命试验过程的阻值采集和分析系统, 该系统基于Lab VIEW软件平台, 采用数据采集器、模拟多路复用开关电路等组成, 能够完成光导型碲镉汞探测器阻值自动测试、数据存储和数据分析等功能。通过对54路器件的实际测试表明, 该系统测试效率高、测试阻值波动小于0.15Ω, 足以满足实际的应用需求, 达到了预期的设计目标。

摘要:针对红外组件寿命试验过程中阻值测试困难的问题, 设计一种可用于红外探测器组件寿命试验过程的探测器阻值自动采集和分析系统。该系统基于Lab VIEW平台, 采用Fluke 2620A作为阻值数据采集器, 结合自行设计的Lab VIEW数据采集分析软件, 实现数据采集、实时显示、数据分析、数据存储等功能。最后进行了阻值测试实验, 实验结果表明:测试系统的测试速度快, 数据分析直观高效, 测量值波动小于0.15Ω, 满足红外组件阻值测量精度≤0.4Ω的要求。

关键词:LabVIEW,红外组件,多路阻值采集

参考文献

[1]X.Breniere, P.Tribolet.Uniting IR detectors for tactical and space applications:a continuous cycle for reliability[J].Proc.SPIE2009, 7298:1-12.

[2]龚海梅, 张亚妮, 朱三根, 王小坤, 等.红外焦平面可靠性封装技术[J].红外与毫米波学报.2009, 28 (2) :85-89.

[3]龚海梅, 刘大福.航天红外探测器的发展现状与进展[J].红外与激光工程.2008, 37 (1) :18-24.

[4]周赞熙.红外探测器组件可靠性指标分配初探[J].红外技术, 1997, 19 (4) :13-16.

[5]龚海梅, 邵秀梅, 李向阳, 李言谨, 张永刚, 张燕, 刘大福, 王小坤, 李雪, 方家熊.航天先进红外探测器组件技术及应用[J].红外与激光工程, 2012, 41 (12) :3129-3140.

[6]碲镉汞红外探测器组件老化试验操作指导书[Z].上海技术物理研究所内部资料, 2010.

[7]ADG1634 datasheet.http://cn.element14.com/[EB/OL].

组件系统 篇2

当前,操作系统的功能不断扩展,操作系统的类型呈现出多样化的趋向。一个小规模的开发小组已经不可能完全从头开始实现一个实用的操作系统,而一般情况下,探究人员只对操作系统的一些特定领域感喜好,而对于另外一些元素,如启动加载代码、核心启动代码、设备驱动程序和内存分配代码等往往不感喜好,但是一个可运行的原型系统又必须包含这些内容。编写这些基础结构延缓了操作系统探究项目的进度,同时也增加了进行操作系统探究的代价。为了解决这一新问题,犹他大学的flux探究小组开发了oskit,它提供了一个框架和一组模块化的、具有简单接口的库以及一组清楚的、可重用的os组件。oskit可以用来构建操作系统内核、外层服务和其他核心os功能模块。oskit提供了各种功能模块,诸如简单自举,一个可用于内核的最小化posix环境、和物理内存和其约束一致的内存管理、广泛的调试支持,以及高层子系统如协议栈和文件系统。开发者可以根据自己的探究喜好或所要考虑的性能来使用这些模块,或用他们自己的模块来替代标准的oskit模块。

oskit公开了它内部的实现细节,答应用户从成熟的操作系统中不加修改地提取代码,然后通过一小部分经过仔细设计的粘接代码将它们合并到一起,隔离它们的依靠性,并输出良好定义的接口。oskit使用这一技术整合了许多稳定而成熟的源代码,包括设备驱动、文件系统、网络协议等等。实践表明,使用组件软件架构和重用技术会给操作系统实现领域带来大的影响。组件技术简介

组件技术是一种较新的软件开发技术。到目前为止,还难以确定组件技术的明确定义。比如,对组件技术的常见说法有以下这些摘要:“二进制软件单元”、“任意场合可部署的软件”、“非凡适合第三方开发”和“规范定义的接口”等等。大致上可以这样理解摘要:所谓组件,其实就是一种可部署软件的代码包,其中包括某些可执行模块。组件单独开发并作为软件单元使用,它具有明确的接口,软件就是通过这些接口调用组件所能提供的服务,多种组件可以联合起来构成更大型的组件乃至直接建立整个系统。组件的实现必须支持一种或者多种其用户所希望获得的接口。实现组件并不一定需要采用面向对象语言。为了构造新应用程序,软件开发人员找出适当的组件,将这些组件加入到正在开发中的应用程序,同时对应用程序进行测试并保证应用程序的组装工作按照预定的规划正常进行。采用组件技术能降低开发、测试和维护成本,提高可靠性和稳定性。oskit组件综述

oskit的组件库提供了一般情况下更高层的功能,它通常只对外开放一些相关的公用调用接口。目标系统通过oskit的面向对象的com接口来和这些组件进行交互。以下几节概述了oskit所提供的组件。

3. 1 引导程序

大多数操作系统多有自身的启动加载机制,彼此互不兼容。这种加载机制的多样性并不是由于每个os所要求的自举服务不同而引起,而是由于构建启动加载器的特定方式造成的。因为从操作系统探究的立场来看,启动加载器是一个令人不敢喜好的领域,因此os开发者通常进行一个最小化、快捷的设计。由于设计理念和要求的稍微差别,每个启动加载器都不适用于下一个os。为了解决这个新问题,oskit直接支持多启动标准,这一标准是由几个os项目的成员共同设计的,它的目的是提供一个简单而通用的启动加载器和os内核间的接口,从而答应一个启动加载器加载任何兼容的os。

在进行操作系统探究时,多启动标准非常有用,这其中的主要原因是启动加载器在加载内核自身的同时还具有加载附加文件或者启动模块的能力。这里的一个启动模块只是一个普通文件,启动加载器不以任何方式解释它,而仅仅把它随同内核映像一起加载到保留物理内存块中。在启动内核时,启动加载器提供给内核以下内容摘要:物理地址的列表、所有已加载的启动模块的大小,以及和每个模块相联系的由用户定义的字符串。这些启动模块和和它们相联系的用户定义的字符串由内核解释。这样做的目的是为了通过提供内核启动时需要的数据,诸如初始化程序、设备驱动和文件系统服务器,来减轻内核启动的负担。

3.2核心支持库

oskit核心支持库的主要用途是让客户os更轻易访问硬件设施。它包含了一个较大的实用函数和符号定义的集合,该集合对于管理模式代码是非常具体的。和此相对应,oskit的大多数其他库在用户模式代码中通常很有用。和oskit的其余部分所不同的是,多数核心支持代码必须是针对特定系统结构的,而这些特定机器的细节对客户os也是有用的。例如,在x86机器上,核心支持库包含一些函数,用来创建和操纵x86页表和段寄存器。其他oskit组件通常提供建立在这些低层机制上的和体系结构无关的设施,但是为了提供最大的灵活性,和特定结构相关的接口始终可以被访问。

oskit核心支持库在x86体系结构上尤为重要,因为该体系结构的os级编程环境非凡复杂和模糊。核心支持库仔细地设置了一个基本的32位执行环境(为了和ms-dos兼容,x86处理器通常以16位模式开始),初始化段和页转换表,安装一个中断向量表,并提供缺省的陷阱和中断处理程序。当然,客户os能够修改或重载这些行为。然而,在缺省情况下,核心支持库自动地做所有必要的工作,以便使处理器进入一个方便的执行环境,此时中断、陷阱、调试以及其他标准设施已经如预期的那样开始工作。该库在缺省情况下自动地定位所有随内核加载的启动模块,并保留它们所在的物理内存。接下来,应用程序可以很轻易使用它们。客户os只需以标准c语言风格提供一个main()函数。一切都设置好以后,内核支持库将用所有参数和由启动加载器传递过来的环境变量来调用它。

3.3内存管理库

如同在一个标准c语言库中实现的malloc()一样,内存管理代码典型地用于用户空间。通常并不适用于内核。设备驱动经常需要分配特定类型的内存,并伴随具体的调整属性。例如,对于内建的dma控制器只能访问最初的16m物理内存。为解决这些内存管理新问题,oskit包含了两个简单而灵活的内存管理库摘要:(1)基于队列的内存管理器(或称lmm),它提供了功能强大且高效的原语来进行分配管理,并支持在一个池中管理多种类型的内存。(2)地址映射管理器(或称amm)被设计用来管理不必直接映射到物理内存或虚拟内存的地址空间,它对os的其他方面提供了类似的支持,诸如进程地址空间、分页、空闲块或ipc名字空间的管理。尽管这些库可以很轻易地应用在用户空间,但实际上它们是被非凡设计用来满足os内核的需求。

3.4 最小c语言库

成熟的os内核一般都包含着相当数量的仅仅用来重新实现基本的c语言库函数如printf()和malloc()的代码。和此形成对比的是,oskit提供了一个最小化c语言函数库,它围绕着最小化依靠性而不是最大化函数性和性能的原则来设计。

3.5调试支持

oskit的一个最实用的好处是摘要:给定一个适当的硬件设置,它马上就能提供给os开发者一个完全源代码级的内核调试环境。oskit内核支持库包括一个可用于gnu调试器(gdb)的串行存根模块,它在客户os环境中处理陷阱,并使用gdb的标准远程调试协议通过一个串行程序和运行在另一台机器上的gdb通信。甚至当客户机os执行自己的陷阱处理时,oskit的gdb存根模块也是可用的。假如客户os提供适当的钩子,它甚至支持多线程调试。除了基本的调试器支持,oskit也提供了一个内存分配调试库,它可以跟踪内存分配并检测一般的错误,如缓冲区溢出和释放已释放的内存。这个库提供了和许多普通应用程序调试器相似的功能性,所不同的是它运行在由oskit提供的最小内核环境中

3.6 设备驱动支持

在os开发和维护中最艰巨的一个任务是支持多种多样的i/o硬件。这些复杂的设备常会含有潜在的错误,而新硬件的发布又经常伴随着不兼容的软件接口。由于这些原因,oskit采用了为现有内核开发的稳定的、经过充分测试的驱动程序。oskit使用了一种封装技术,将现有的驱动程序代码基本上未加修改地合并到oskit中。这些现有的驱动程序被一个oskit粘结代码层所包装,从而使得这些驱动程序可以在和开发它们的环境完全不同的环境中工作。目前,来自linux的大多数以太网卡、scsi和ide磁盘的设备驱动程序被包括进来,总数超过了五十种。用同样的方式,来自freebsd的八个字符设备驱动程序也被包含了进来,它们支持标准pc控制台和串口及不同的多串口板。由于oskit把这些驱动仔细地进行了包装,freebsd驱动程序可以和linux驱动程序一起工作。

3.7 协议栈

oskit提供了一个完整的tcp/ip网络协议栈。如同驱动程序一样,有关网络的代码也可以通过封装机制被合并进来。oskit当前可以从linux中获取网络设备驱动程序,它们是pc平台可获得的最大的免费资源。oskit的网络组件继续于freebsd4.4,它通常被认为具有更多成熟的网络协议。这显示了使用封装机制将现有软件包装成灵活的组件的第二个优点摘要:即从不同的资源中获取最好的组件,并让它们一起被使用。

3.8文件系统

通过使用封装技术,oskit吸收了netbsd的基于磁盘的文件系统代码。netbsd之所以被选择为首要资源库,是因为在可用的系统中,它的文件系统代码被最清楚地分离了出来,而freebsd和linux的文件系统和它们的虚拟内存系统结合的更紧密。当前,oskit也把linux文件系统合并了进来,以便能够支持多种类型的文件系统格式,如windows95、os/2和system v的文件系统格式等等。

oskit文件系统输出的com接口类似于许多unix文件系统所使用的内部vfs接口。这些接口具有很好的粒度,使我们可以不必接触oskit文件系统的内部。例如,oskit接口只接受简单的路径名组件,答应平安封装的代码执行适当的访问许可检查。oskit的目前状况

自从在1996年6月发布了oskit的第一个公开发行版以来,oskit已经更新了多次,每次更新都增加了一些算法,并修正了一些错误。最新的发行版是2002年3月的版本。由此可见,oskit一直处于操作系统开发平台的前沿,其自身也在不断完善和发展。结论

作为一个操作系统探究和开发的平台,oskit大大减轻了操作系统探究和开发者的负担。它可以让开发人员避开复杂的底层,而把喜好集中和他们所感喜好的领域。开发者可以用自己编写的组件来取代oskit中的部分组件,以满足自己特定的需要,从而丰富了操作系统的应用层。总之,oskit满足了实际客户系统的需求,有助于操作系统的探究和开发。

参考文献

(1)汤海京 基于面向对象操作系统开发平台(oskit)的分析和程序设计 http摘要:///developerworks/linux/kernel/oskit/part1/

(2)michael hohmuth using the oskit as a base for l4 applications

(3)bryan ford kevin van maren jay lepreau stephen clawson bart robinson jeff turner

组件系统 篇3

可能出于系统安全性的考虑,Windows XP把不少的组件隐藏了起来,即使你不使用这些应用组件,你也无法将它们从系统中删除。笔者下述的方法,可以让大家删除Windows XP中这些隐藏的组件。

第一步:显示系统文件夹和文件

由于Windows XP默认地把系统文件隐藏起来,从而在“Win-dows资源管理器”窗口中看不到它们,所以我们要让这些系统文件现出“原形”,操作步骤如下:打开资源管理器窗口,在“工具”菜单中,单击“文件夹选项”命令,系统弹出“文件夹选项”对话框。单击“查看”选项卡,取消“隐藏受保护的操作系统文件(推荐)”复选框,选中“显示所有文件和文件夹”复选框,单击“确定”按钮。

第二步:编辑Sysoc.inf文件

上一步骤其实是为我们修改windows XP的系统文件做准备的,因为正是该文件让一些Windows XP的组件隐藏起来了。不过。只要我们删除该文件中所有的“hide”字符串即可让这些隐藏的组件现身,首先在“Windows资源管理器”窗口,打开Windows XP所在的系统文件夹下的子文件夹(如C:\Windows\inf),在此文件夹中找到Sysoc,inf文件,并打开。然后在打开的窗口中单击“编辑”菜单中的“替换”命令,系统弹出“替换”对话框,在“查找内容”框中,键入“hide”,确认“替换为”框中的内容为空,单击“全部替换”按钮,实际上这就是删除了该文件中所有的“hide”字符串。最后在“文件”菜单中。依次单击“保存退出”命令。

第三步:删除不需要的Windows组

飞机壁板类组件柔性工装系统研究 篇4

壁板类组件是构成飞机气动外形的主要结构件, 具有结构尺寸大, 刚度低, 制造和装配精度高等特点, 其装配精度直接影响后继机身、机翼部装和总装的装配质量, 是保证飞机装配精度的基础。壁板类组件通常采用装配工装进行装配, 不但可保证装配的飞机零部件精确定位, 而且还可以限制装配过程中连接变形, 使产品满足准确度和互换性的要求。为了保证定位精度和刚度, 传统壁板类装配工装均采用刚性结构, 即一套型架对应一套卡板, 只能用于一套壁板组件的装配。采用这种一对一模式装配壁板组件需要大量工装, 这不仅增加了制造成本, 拖延了研制周期, 还占用了大量厂房空间。随着国内新机型号逐渐增多, 生产厂面临多品种、小批量、短周期和低成本的生产要求, 传统刚性结构工装已经无法满足对飞机壁板类组件装配要求。

柔性装配工装是基于产品数字量尺寸协调体系的、可重构的模块化、自动化装配工装系统, 其目的是免除设计和制造各种产品装配专用的传统装配型架/夹具, 从而降低工装制造成本, 缩短工装准备周期, 同时大幅度提高装配生产率[1]。柔性装配工装在国内外已成功应用, 并取得良好效果。实际应用中的柔性装配工装主要有:美国CAN制造系统公司的基于POGO单元的柔性工装系统;西班牙M.Torres公司的飞机板类零件的柔性工装TORRESTOOL[3];英国Electroimpact公司为空客飞机机翼开发的大型柔性装配系统[3]。国内企业和高校紧跟国际发展趋势, 也研发了大量柔性工装系统, 并得到初步应用[4~7]。

基于柔性装配工装的优点和应用案例, 大力发展柔性工装是解决生产厂目前难题的有效手段。本文根据国内某系列飞机壁板类组件的结构特点, 结合国内壁板类组件的装配现状, 研制出一套壁板类组件柔性装配工装, 并进行应用验证, 取得良好效果。

1 壁板类组件结构及装配过程

壁板类组件主要由蒙皮、长桁和隔框等部分组成, 有时还包括与其他部件对接的接头或对接型材[8]。壁板类组件的装配过程主要有以下几个步骤:1) 零件的定位及定位铆接。在卡板上安放长桁, 蒙皮, 隔框及补偿角片等, 然后进行定位铆接。2) 钻孔、锪窝和铆接。3) 补充铆接及安装工作。壁板类组件及装配卡板如图1所示。

1.卡板;2.蒙皮;3.长桁;4.隔框;5.长桁定位器;6.隔框定位器;7.工具球

2 工装总体设计

吸收国外柔性工装技术, 结合国内装配工艺现状, 将固定的卡板定位交点柔性化, 使工装可以定位不同卡板, 进而可以装配不同的壁板组件, 实现一架多用的目的。基于上述设计思想, 研制的壁板类组件柔性装配工装主要由:机械系统、伺服驱动系统和上位机调形软件组成。三个系统相互配合, 实现壁板组件数据采集到卡板定位交点精确调形全过程数字化传递。具体数字量传递和工艺流程如图2所示。

3 工装机械系统

3.1 机械系统总体结构

机械系统主要由上横梁、下横梁、立柱、调形单元、直线导轨、齿条、护板、拖链等组成, 如图3所示。上横梁、下横梁、立柱通过螺栓连接起来, 定位销定位, 构成整体框架。在上横梁上部、下横梁下部分别安装直线导轨、齿条。上、下各8个调形单元分别安装在直线导轨的滑块上, 调形单元的齿轮与横梁上的齿条啮合。

1.立柱;2.上横梁;3.调形单元;4.护板;5.拖链;6.下横梁

3.2 移动调形单元

调形单元是壁板类柔性工装的核心元件, 其结构如图3所示。调形单元调形:伺服电机 (X向) 12驱动减速机 (X向) 13及齿轮15旋转, 通过齿轮与安装在横梁上齿条的配合, 实现调形单元X向移动。伺服电机 (Y向) 11驱动减速机 (Y向) 10及丝杠26旋转, 通过丝杠与丝母23的配合, 使伸缩杆3、耳片1、加强导杆安装板2、加强导杆8等Y向移动。调形单元夹紧:调形单元调形完毕后, 旋转压紧螺母5, 推动压紧板6压紧在横梁上, 限制位移使移动单元高刚性的紧固在横梁上;卸载常闭夹紧器的油压, 使蝶形弹簧推动楔块膨胀, 进而使伸缩杆与伸缩套抱死, 增大Y向移动部分的刚度。

1.耳片;2.加强导杆安装板;3.伸缩杆;4.伸缩套;5.压紧螺母;6.压紧板;7.加强导杆导板;8.加强导杆;9.移动单元体;10.减速机 (Y向) ;11.伺服电机 (Y向) ;12.伺服电机 (X向) ;13.减速机 (X向) ;14.丝杠紧固螺母;15.齿轮;16.滑块;17.直线导轨;18.齿条;19.横梁;20.轴承;21.端盖;22.常闭夹紧器;23.丝母;24.滑动轴承;25.导向键;26.丝杠

4 工装伺服控制系统

伺服控制系统的主要作用是接收调形软件重构数据、驱动伺服电机旋转, 实现调形单元在X、Y方向自动精确重构和可靠固定, 保证耳片定位交点与虚拟样机交点的一致性。

伺服控制系统主要有:一台研华-体化工作站AWS-8248、3台AMK KU伺服控制器 (内部集成PLC功能) 、32台AMK IDT一体化伺服电机组成, 如图5所示。研华工作站是上位机调形软件运行平台, 并能保证在恶劣的工业环境中稳定工作。IDT一体化伺服电机, 内部集成伺服单元, 一方面减少了调形单元体积;另一方面缩减了外部接线数, 包括动力线每个电机外部接线仅为3股。

系统的通信主要有工作站与KU伺服控制器之间的RS232/RS422串口通信;KU伺服控制器和IDT伺服电机间的基于ACC总线的AFP (AMK Field bus Protocol) 协议通信。

5 工装上位机调形软件

CAA (Component Application Architecture) 组件应用架构作为CATIA V5产品扩展和客户进行二次开发的强有力工具, 建构在Microsoft Visual C++下, 通过API函数调用CATIA核心程序。采用CAA进行二次程序开发, 能实现开发程序和原系统的紧密集成, 且运行稳定。壁板类组件、卡板和工装的三维数模均在CATIA环境建立, 故上位机调形软件采用CAA对CATIA进行二次, 这样可以增加界面的友好性、稳定性。

调形软件主要功能有, 内置壁板组件装配卡板信息自动、手动采集、高亮显示, 计算工装移动单元路径及优化, 虚拟重构柔性工装、装配卡板, 检查干涉, 生成重构数据、发送至KU伺服控制器等。

6 应用验证

利用激光干涉仪以50mm为间距, 对工装调形单元定位交点X、Y两个方向的定位精度和重复定位精度进行测量, 测得X方向的定位精度±0.05mm, Y方向的定位精度±0.02mm, X、Y方向的重复定位精度±0.02mm。

采用飞机4个不同部位的壁板组件及对应的卡板在工装上进行定位、制孔、铆接应用, 交付了合格产品。

7 结论

1) 研制出一套飞机壁板类组件柔性装配工装工装, 解决了一套工装只能装配一套壁板组件的问题。

2) 采用上位机加伺服控制器的控制技术, 实现了对32台伺服电机的精确控制。并利用CAA软件开发了操作简单, 直观明了的人机交互界面。

3) 用激光干涉仪对柔性工装的X、Y方向进行了精度测量, 结果表明柔性工装满足壁板类组件装配的需要。

4) 柔性装配工装可以大量减少传统刚性工装的数量, 缩短工装准备时间, 从而大幅缩短飞机的研制周期, 提高了生产效率。

参考文献

[1]郭恩明.国外飞机柔性装配技术[J].航空制造技术, 2005 (9) :28-32.

[2]詹立新, 周凯.飞行器柔性工艺装备的机器人协调操作技术研究[J].制造技术与机床, 2011 (9) :51-52.

[3]周凯.飞行器大型薄壁件制造的柔性工装技术[J].航空制造技术, 2012 (3) :34-39.

[4]李文强, 李贺, 段磊, 等.飞机蒙皮吸盘式柔性工装系统研究[J].机械设计与制造, 2012 (08) :156-158.

[5]郭洪杰, 康晓峰, 王亮, 等.飞机部件装配数字化柔性工装技术研究[J].航空制造技术, 2011 (22) :94-97.

[6]李东升, 翟雨农, 王亮, 等.一种行列吸盘式壁板装配柔性工装[P].102941545A (2013) .

[7]郭志敏, 蒋君侠, 柯映林.基于POGO柱三点支撑的飞机大部件调姿方法[J].航空学报2009 (30) :1319-1322.

组件系统 篇5

摘要:研究了组件技术和特征造型技术,并以“金银花”系统的开发为实例对基于组件开发三维CAD系统的相关技术和实现方法进行了深入研究,给出了实现系统的框架结构和组件结构。

关键词: CAD  组件 变量化(VGX) 实体造型  特征造型

1. 引言

随着传统CAD系统在工业界的应用普及以及现代设计问题的复杂化、智能化,人们不再仅仅满足于用计算机取代人进行手工绘图。所幸随着计算机图形学、人工智能、计算机网络等基础技术的发展和计算机集成制造、并行工程、协同设计等现代设计理论和方法的研究,使得CAD系统也由单纯二维绘图向三维智能设计、物性分析、动态仿真方向发展,参数化设计向变量化和VGX(超变量化)方向发展,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等方向发展;另一方面,伴随着CAD软件复杂程度的增加和各个不同应用系统间互操作的现实需要,人们希望CAD系统具有极佳的开放性同时又能“搭积木”似的自由拼装形成不同的功能配置,软件工程技术特别是组件开发技术的研究应用和逐渐成熟为解决这一问题提供了坚实的基础。

组件技术使得各CAD系统开发商们不必再完全遵从“一切从零开始”的开发模式,他们可根据自己的技术优势在满足组件接口规范要求下开发不同的构件,然后在得到许可的情况下便可以自由使用这些构件来搭建用户所需要的CAD系统。这种方式因其开发周期短、见效快、系统柔性高、开放性好、以及容易“即插即用”和进行并行开发等优势而倍受亲赖。

本文主要讨论采用组件技术开发国产商品化CAD/CAM系统――“金银花” 系统的一些关键技术。

2. 系统框架

“金银花”是在ACIS几何建模平台上,采用变量化特征造型技术,基于STEP标准――遵循AP214和AP203协议而研制开发出来的商品化三维CAD系统。该系统基本框架结构如图一所示,大体分为三个层次――数据层、功能层、接口层:

数据层包括物理数据文件、数据库和逻辑数据模型两部分,它是CAD系统的设计结果,也是CIMS信息集成的主模型,由于本系统是符合STEP标准的,故可以通过标准数据存取接口(SDAI)进行操作,数据是用户利用系统功能实现的。

功能层是主体部分,主要有三维零件设计、装配设计、二维工程图设计三大模块,由于有主模型的支持,三块之间相互关联:即任一部分的改变都将引起其它部分相关的自动更新。在零件设计中采用特征造型和实体造型相结合、特征模型与实体模型共存,大大方便了后续工艺分析和加工对特征信息的需求又满足了显示、变换、物性计算、干涉检查等操作对实体信息的要求。变量化VGX技术主要在草图设计、特征造型、装配设计等部分应用,极大的方便了用户对设计的编辑和修改。

接口层是提供系统的对外接口,分为功能接口与数据接口。功能接口便于用户进行二次开发,组件重用等;而数据接口为其它环节如CAPPCAMCAEPDM等提供一致性的数据访问方式。

3. 组件结构

系统的组件结构设计是基于组件技术开发CAD系统的关键,主要内容是根据应用系统的功能需求列出所有构成组件、各个组件间的依赖关系和接口,并确定哪些组件自己开发而哪些可直接从组件供应商处购买以缩短开发周期。而本系统就是通过从美国STI公司(Spatial Technology Inc.)购买三维CAD系统所需几何造型、文件管理、内存管理等基本功能组件,而集中精力开发支持特征造型、VGX约束求解、装配设计、关联绘图、用户接口等组件。

由于ACIS是完全基于组件技术开发的,其所有基础功能均通过不同的组件(表现为动态联接库DLL)实现。在ACIS6.0中大约有五十多个DLL,所有这些DLL实际可划归为两部分:ACIS 3D Toolkit(核心模块)和Optional Husks(可选模块)。其中核心组件提供构造系统所需的基本功能(如:基本几何和拓扑、内存管理、模型管理、显示管理、图形交互等),这部分是ACIS几何建模的核心,类似于飞机的发动机,其中包括许多开发商的必选构件;而另一部分可选组件则提供一些更专业化和更高级的功能(如:高级过渡、高级渲染、可变形曲面、精确消影、拔模、抽壳、与CATIA和Pro/E等系统的数据接口等),这部分作为可选组件由用户根据实际开发的系统需要自由挑选、搭配和组合,当然用户也可用自己开发的组件取代ACIS的部分组件。ACIS的各组件之间存在一定的依赖关系,其中核心组件详情可参见ACIS6.0核心组件依赖关系图。

金银花系统组件结构是在对系统功能需求和总体框架结构分析基础上得出的,同时也参照了ACIS的组件划分思想。图二给出了系统组件依赖关系简图(为节省篇幅,主要表示了三维零件设计部分的组件,而没有详细表示关联绘图和装配部分的组件),为方便组件的集中管理和调用系统采用了层次结构,主要分为核心组件、功能组件、接口组件三层,上层组件可任意调用下层组件提供的所有服务。以下对图二作一些介绍:

◆ 核心组件层:该层包含了系统最重要和最基本的组件,是三维特征造型、二维关联绘图、部件装配、动态仿真等模块的共享部分。ACIS核心组件也位于其中,为系统提供ACIS几何造型基本功能;LM_GI是提供底层显示支持,如:对OpenGL的调用、对屏幕刷新的操作、基本几何元素的绘制;LM_PUBFUN中提供通用数学运算以及公用链表、队列、堆栈的类定义;LM_RUB包容了各种几何元素的橡皮条――rubberband,该部分是支持VGX动态拖放造型(drag-and-drop)、动态约束添加以及

装配模块中的动态干涉检查等的基本组件;LM_KERN包括本系统特征造型功能和ACIS几何造型引擎连接相关的类LmSuperElement(详见4),以及为上层提供的管理类、约束类、特征类等提供超类。

◆ 功能组件层:该层建于核心层之上,系统面向应用的主要功能部件均在这一层实现。用户的不同需求会希望配置不同功能的软件系统,从该层选折所需组件集进行不同配置即可。图二所示为三维部分的核心组件LM_KERNPART、特征造型组件LM_FEATURE、VGX约束管理器组件LM_VGX、处理选折对象的组件LM_PICK、和负责总体协调管理的组件LM_MANAGE等。而其中特征造型和VGX组件中又分别进一步细化为:草图特征、高级特征、自定义特征和VGX约束操作、约束管理约束求解等组件。

◆ 接口组件层:是系统的最高层,也是与用户直接进行交互操作管理的组件层,所以主要有处理鼠标事件MouseTool的LM_MT和管理系统界面中涉及到的对话框、菜单、工具条等资源的组件。

可见,这种组件设计结构不仅极大的方便了不同用户需求系统的配置,而且将系统的用户接口与功能的.具体实现分开,便于针对不同语种、不同操作系统平台、不同使用习惯开发丰富多彩的界面,也从技术角度实现了与ACIS几何引擎的无缝集成。

4. 关键技术实现

采用软件组件技术建立组件依赖关系为三维CAD系统架设了总体结构,但具体实现还需解决许多关键性技术,以下主要以特征造型技术为例说明系统的设计思路。

由于ACIS本质上一个几何实体造型的平台,通过B-rep表示提供实体几何、拓扑结构的完整描述,但它并不直接支持特征造型。因此,如图三所示系统在实体模型和特征模型之间通过引入构造点、边、面的机制建立一种映射关系。每个特征中不仅包含工艺制造信息还包含其具体构造点、边、面信息,这些构造元素再与实体模型中的点、边、面建立联系。

其中LmFeature最终派生于ACIS的ENTITY,以便于进行内存管理、文件存储和模型操作管理。m_Construction属性记录该特征的所有构造点LmSuperPoint、边LmSuperEdge、面LmSuperFace(三者均派生于LmSuperElement),它们又分别记录ACIS的VERTEX,EDGE,FACE和部分几何参数以及特定的语义信息;同时在每个ACIS拓扑元素(FACE,EDGE,VERTEX)中通过属性ATTRIB机制又嵌入其对应的LmSuperElement。这种双向链表结构方式不仅便于实现特征造型和实体造型间的无缝链接和快速查找,而且也为系统重建时维护拓扑关系奠定了基础。因为仅记录ACIS拓扑元素(FACE,EDGE,VERTEX)是不可能保证拓扑关系一致的。m_OtherInfo属性主要用于存放特征语义、工艺信息等,另外还为用户提供了手工添加特征语义的接口, 为真正支持CIMS环境下信息集成奠定了基础。

在特征创建删除修改或模型重建过程中,为维护设计者的设计意图关键在于维护模型修改前后拓扑结构的对应关系即:拓扑一致性,因此必须考虑拓扑编码的问题。系统通过为每个从ENTITY派生的实体引入索引标志的方法解决,该索引标志不仅记录全局唯一标志符,而且通过充分利用ACIS ENTITY中的ATTRIB 和ANNOTATION 类对模型操作的具体变化做了详细的记录:操作前有那些面、边、点,操作后又产生了那些新的面、边、点等等。操作后系统自动重新整理,保证了拓扑结构的对应关系。

要支持特征造型,还必需维护特征之间的依赖关系,以便修改特征参数后重建所有依赖特征,这些关系一般形成树形结构,又称特征树。 特征树方便了对特征的管理,但这种关系往往也限制了设计人员的设计思路,并且还可能出现:父特征的删除导致所有子特征的删除,如果某特证的参数依赖于其后续特征的参数导致系统重建时的崩溃等现象。于是系统采用双重坐标方法: 即对每个特征既记录其相对父特征的坐标,也记录其在全局坐标系下的坐标。这样,当父特征不存在时,子特征可在全局坐标系下“生存”;另外, 采用VGX技术,将约束关系从几何关系中独立出来,建立全局约束链,相对独立的约束求解器, 结合代数方法和数值求解方法对约束整体联立求解,既增加了系统的动态导航、动态约束添加和动态修改机制又保证了模型的修改可以超越设计历史树的限制,使得设计人员随时、随地、随意修改成为现实。

5. 结论

软件组件技术的发展为大型复杂的三维CAD/CAM系统的开发提供了极好的解决之道,它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类复杂系统也可以“搭积式”的快速构建。本文深入研究了基于组件技术开发三维CAD系统的相关技术,介绍了具体实现方法,同时给出了系统组件层次结构,可为开发该类系统提供一定的参考。

参 考 文 献

1 CFACA:Component framework for feature-based design and process planning。  Computer-Aided Design 32  397-408。

2 王刚。 “金银花”系统中曲面特征造型模块的研究与实现。  北京航空航天大学硕士论文。.3

3  Online Help for ACIS Version 6.0。  http://www. spatial. com。

&nb

sp;4  J.C.H. Chung et al. Framework for integrated mechanical design automation。  Computer-Aided Design 32(2000)  355-365。

卸载Windows中的集成组件 篇6

卸载“IE”

我们只需使用一个特别的工具—“Pantheon.XP(IE删除专家)”,就可以彻底清除IE。利用IE删除专家,我们可以任意卸载IE3.0到IE6.0的各个浏览器版本,而且在您的操作系统里不会留一点痕迹。

它的使用方法很简单,只要我们双击Ieremove.exe文件,在弹出的窗口点击“开始删除”按钮,然后在弹出的警告对话框中选择“是”,重新启动后IE就已经彻底的删除了(如图1)。

卸载“DirectX”方法

手工卸载法

单击“开始”菜单打开“运行”对话框,输入“Regedit”回车后进入注册表编辑器,在注册表编辑器中单击“编辑”菜单中的“查找”命令,在“查找”对话框中输入“DirectX”进行查找(如图2),将找到的关于DirectX主键全部删除,然后重新启动计算机就可以安装以前版本的DirectX了,这种方法对卸载DirectX9.0测试版非常管用。

使用软件工具卸载法

使用修改注册表的方法比较麻烦,我们也可以通过下载一个“DirectX随意卸”的软件来实现,它是一个小巧好用的DirectX卸载工具,支持所有的DirectX版本(包括将来更高版本的DirectX),无需安装直接运行下载的可执行文件即可。在该软件的主界面中,我们单击“卸载DirectX”按钮(如图3)之后,将会弹出一个对话框,询问你是否要卸载DirectX,单击“确定”按钮开始卸载,在卸载完毕后系统会自动重新启动,重新启动后会弹出一个“DirectX卸载工作完成,谢谢使用”的对话框,表明你已经成功地卸载了DirectX,接下来重新安装以前的版本即可。

卸载Windows

Media Player 9.0

已经抢先安装了Windows Media Player 9.0的朋友,如果想卸载该软件,只要使用“优化大师”的智能卸载功能就可以很方便的卸载该软件。优化大师可以卸载目前任何版本的Windows Media Player(如图4)。

卸载Messenger

基于组件化的作战想定系统设计 篇7

军事仿真系统大都是结构复杂的大系统, 作战想定作为初始数据, 为复杂系统的运行提供预先安排的一些动作、活动或命令等初始条件。任何一个成功的作战仿真都是建立在成功的想定基础之上的。如果作战想定的内容或是数据出现错误, 会给复杂系统仿真结果带来不可预测的影响。因此, 作战想定作为获取仿真运行结果的重要保证条件, 是仿真系统不可或缺的重要组成部分。

目前复杂的大型分布式作战模拟系统通常与模拟系统结合紧密, 想定内容与仿真模型紧耦合, 缺乏统一格式, 难以重用。作战想定系统能够使研究人员方便迅速地制定各种情况下的作战模拟想定, 为大规模作战模拟仿真运行提供规范的初始化数据, 提高作战模拟想定的开发效率。本文重点介绍基于组件化的作战想定系统中的仿真模型管理模块和任务规划管理模块两部分, 该系统具有很好的模块独立性、可重用性、可移植性和可维护性。

一、作战想定系统的结构设计

作战想定总体结构及各模块间关系如图1所示。该系统的基本组成主要包括仿真模型管理、任务规划管理、想定编辑、仿真推演、想定生成、想定分发。

系统读取底层数据库中的仿真元素库, 即实体的组件, 通过仿真模型管理模块实现对仿真模型的构建, 表明该实体具备了最基本的外壳。任务规划管理模块通过对底层数据库中的事件库有意义地构建, 实现对作战任务的编辑, 表明该实体具备了主观智能的能力。军标全称军队编号是指军队标图中使用的特定的队标和队号, 由图形、代字、数字和颜色组成, 军标是实体的提供表现形式。附加属性库是针对实体的附加属性而定义的, 主要描述实体携带的武器和电子设备名称和数量等。实体是由模型、任务、军标、附加属性等组成, 其中模型和任务需要相应的后台数据支持。

由于想定涉及的军兵种较多, 需要仿真的模型也多, 对模块开发人员成为了负担。从各模型中抽取出共性, 构建武器装备模型库, 组装成仿真模型, 即可大大减少开发人员的开发时间。也可以从作战任务中提取共性, 构建事件库, 组装仿真任务。因此, 整个仿真系统都是基于组件化的思想来开发的。

二、组件化的概念

作战过程涉及内容繁多, 把静态的军事仿真概念模型转化为可重用性较高的仿真模型, 对作战过程仿真具有重要意义。

组件是指一个表示数据结构和算法抽象的容器, 而可复用的组件技术是指具有相对独立功能和有复用价值的组件。组件技术的主要研究内容包括组件获取、组件模型、组件描述语言、组件分类和检索、组件复合组装和标准化。其中组件模型和组件描述语言是组件制作、检索和组装的基础。由于组件的种类繁多、形态各异, 因此很难建立一个能够描述所有类型组件而又支持组装的组件模型。

组件模型是组件本质特征及组件间关系的抽象描述。组件的本质特征是组件和软件复用相关的那些特征, 它包括三部分:一是组件对外提供的服务;二是组件实体内部的实现策略, 包括组件实体的实现语言的开发环境, 组件实体内部哪些部分可直接复用;三是组件需要外界提供的服务, 这一部分和组件间的关系描述反映了组件的组装信息。

一个理想的可复用的组件必须具有以下几个特性:

1) 组件必须是抽象的, 只有抽象而非具体的组件才能被复用;

2) 组件必须是可移植的, 不能依赖于某一具体的硬件、编译程序和操作系统;

3) 组件应当是满足一定的标准, 标准化是可复用性是否实现的一个关键;

4) 组件应当具有良好的文档支持和接口说明。

三、基于组件化方法的设计与实现

组件模型具有可重用性, 可以作为一种可重用的仿真模型, 同时它也是一种可执行模型, 把军事仿真概念模型转换为组件模型进行仿真可以简化作战过程仿真的复杂度。为此, 提出军事仿真概念模型向可重用的组件模型转换方法, 通过模型转换得到了可执行的仿真模型。

3.1仿真模型管理

仿真模型的构建是想定系统中最重要的工作, 因为仿真的目的就是为了研究仿真模型, 模拟战斗过程和战斗结果。想定元素作为仿真模型的组件, 进行有意义地组装, 构建成仿真模型。

3.1.1想定元素

想定元素设计比较复杂, 从物理组成上它包括自身平台和携带的武器装备, 主要包括:平台、传感器、数据处理器、弹药、武器控制系统、干扰器、通信设备等子模型, 这些子模型聚合成作战实体模型。

将上述子模型统称为武器装备模型, 武器装备模型采用武器装备类进行描述。从武器装备模型的角度深入分析作战实体模型, 并把武器装备模型的各方面功能分离出来, 每项功能用一个模型加以描述, 可以大致得到以下八类装备子模型:

平台模型:描述作战实体的运动功能, 由此模型确定单元的运动特性并在作战仿真中实时模型单元的运动。

传感器模型:描述作战实体的探测功能, 由此模型在作战仿真中实时模型单元对战场情况的探测。

数据处理器模型:描述作战实体对探测信息的处理功能, 由此模型对探测模型实时探测到的各种信息进行分析;另外, 任何涉及数据处理的功能都可在此模型中加以扩展。

弹药模型:描述作战实体的攻击武器运动功能, 攻击武器发射之后将按照此模型的描述进行运动。

武器系统模型:描述作战实体的攻击武器配备情况, 并控制武器的发射过程。

干扰器模型:描述作战实体的干扰能力, 此模型启动后将发出电磁波对其他单元的探测器进行干扰。

通信设备模型:描述作战实体的通讯情况, 与其他单元的通信通过此模型实现。

自定义模型:除去以上各项功能外, 实际的作战实体也许还具有其他特殊功能。为此, 自定义模型留出扩展空间, 用户可由其派生出新类对某些特殊功能进行描述与实现。

仿真实体由武器装备模型组成, 至少要包含平台和军标标号, 其他可选。实体和武器装备模型的关系如图2所示:

3.1.2仿真模型

仿真模型构建从任务库中设定该实体具有的任务集合, 从原子行为规则库中设定具有的原子行为规则;实体具有的任务关系到实际系统运行, 每个实体的任务由一系列原子行为进行解释和定义, 每个原子行为分别对应具体的各个功能实现函数, 从而形成一个从高级描述到低级描述的行为描述体系;从军标库中选择相应军标符号表示;在电子地图上设定所处的地理位置、所具有电磁属性的影响区域等可显示的信息;以及从其他附加的属性库中设定原子实体的各种属性, 例如携带的武器种类、具有的电子设备名称等。所有的属性设定完毕后, 将属性数据全部存入原子实体属性数据库中。

仿真模型建模思想是:在设定的作战想定中, 每个活动参与者都是一个实体, 每一个实体默认情况下是一个空壳, 即不能执行任何功能。一个实体的所有功能是由加载其实体上的装备模型、行为模型以及消息模型来完成。将军事仿真系统的装备模型按照功能分成八类, 这八种类型的模型可以加载到作战实体中并能和外部环境以及其它作战实体进行交互, 并且一个没有加载装备模型的实体是不能执行移动、感知环境及其它实体, 也不能毁伤其它实体。

基于以上建模思想, 本系统支持用户组装实体, 并为实体增加图标, 赋予生命, 即可使用。例如, XXX型号实体, 由“F16C”平台、“AN/APG-66”雷达、“RWR1”雷达、“CCRP”武器系统、“AAM”武器系统、“Blue Radio”通讯设备和“IFF”敌我识别等组成。

3.2任务规划管理模块

想定构建的目的是为了让仿真平台能够运行该想定, 而驱动想定正确运行的是对于作战行为的描述。在想定中描述作战行为需要将任务指派到具体作战单元上, 形成各自的任务序列并明确指出任务之间的相互关系。合理指派各个任务才能保证仿真运行前的初始化工作顺利进行。

3.2.1任务与事件

任务是由一个或多个动作组成的、具有明确意图和目的的行动过程。事件是仿真时最基本行动单位, 由作战单元依据的任务执行序列和对任务的相应解释关系触发。仿真模型的行为是由一系列顺序执行的任务集合所组成的。仿真模型的行为、任务和事件的关系如图3所示。

常用的事件有:起飞、返航盘旋、巡逻、机动、攻击等。这些事件就是组件, 将这些组件按一定规则组成任务。比如, 远程打击使命包含事件有起飞、飞行、对预定目标实施打击、返航、着陆等。

3.2.2任务规划

可验证的想定任务指派模型是在已有的基于验证的统一任务规划模型基础上, 针对想定生成系统中对于任务的初始化描述方式提出的。基于验证的统一任务规划模型是在统一任务规划模型的基础上改进得来的, 任务规划采用的主要算法思想是:

(1) 进行初始化。在仿真模型构建完成后, 将每个仿真模型功能属性里包含的各自能够完成的任务或可执行的动作, 整理创建为一个可完成任务集合。

(2) 仿真开始, 执行任务分解。在对总体任务充分了解后, 系统对各种作战目的、敌情等各类要素进行进一步分析后, 确定全局任务, 然后根据每一级仿真模型的可完成任务集合对任务进行分解。将整个任务过程按层次从上至下分配到每级仿真模型。

(3) 进入交互阶段。交互的目的是针对每个任务过程的执行者和阶段任务, 确定仿真模型之间的各种协同关系, 例如指挥关系、任务支援关系和通讯关系等。

(4) 验证。对规划后的任务进行验证, 如果出现规划性错误, 则系统报错, 重新进行任务规划;否则按照任务规划的结果, 将任务映射到相应的仿真模型上。任务规划结束, 开始任务运行阶段。

模块设计时主要考虑了作战想定系统的实现, 对于想定数据结构提出了很高的要求。因此, 为了在想定生成系统中构建出能够与仿真平台相一致的作战行为数据接口, 提出了一个可验证的想定任务指派模型, 从最低层开始详细描述作战单元具有的行为, 规范任务集合和原子行为规则集合, 为仿真人员提供简便快捷的作战行为想定生成框架并且还提供在想定生成阶段对任务分配的规范性和可行性验证功能, 以免出现仿真时对于初始的想定数据无法进行任务规划的情况。

四、结束语

通过想定软件的测试验证表明该方法可以方便地实现组件模型和组件任务, 较大程度上提高了想定软件的可扩展性;而且基于现有的想定元素和事件组件不同的模型和任务, 满足了不同想定的编辑需求, 生成的想定可应于不同的仿真系统, 具有较好的通用性。该方法的实现与应用, 对同类系统的研究与开发提供了一定的借鉴与参考。H

参考文献

[1]周晓锋, 等.基于可重用组件技术的软件开发方法[J].信息技术, 2009, 11:139-141.

[2]曾亮, 戴静波, 张巍.计算机生成群体兵力系统中的想定生成系统实现[J].计算机应用, 2009, 29:205-309.

[3]康晓予, 邓贵仕.作战模拟系统想定研究综述[J].系统仿真学报, 2009, 21 (10) :2797-2800.

组件系统 篇8

CCD组件是光电转换、电荷储存、电荷转移和自动扫描等功能于一体的光电器件.CCD组件的综合参数能够全面定量的表征在探测图像时的综合性能.CCD组件参数综合测试系统采用高速数字图像采集卡、均匀稳定的光源系统、高精度定位及计算机分析控制系统等先进技术来实现对帧频、饱和输出幅值、均方根噪声等多种性能参量测试.

1 CCD测试系统组成及功能

CCD组件综合测试系统为测试平台和系统主机两大部分.其中测试平台由光源系统、支撑工装、电源模块、控制及转换模块4部分组成.如图1所示.

CCD组件测试仪与随机配套的PCI高速数字图像采集卡及相应的软件可以组成应用系统.测试仪与图像采集卡通过一根50芯SCSI型专用电缆相连, 系统主机通过安装于其中的图像采集卡 (LVDS-PCI) 获取测试数据, 显示测试图像, 计算分析;实现对光纤耦合CCD组件的自动测试工作.测试仪还单独输出TTL电平的帧频信号, 供示波器测试[1].

1.1系统主机

系统主机通过安装于其中的数据传输卡 (LVDS-PCI) 与测试平台进行数据交换, 以控制测试平台工作, 显示测试图像, 获取测试数据, 计算分析;实现对CCD组件的自动测试工作.

1.2光源系统

光源系统的均匀性和稳定度对直接关系到整个测试的准确性.采用4个小积分球加主积分球为整个测试系统提供均匀面光源[2].主积分球口径50 cm, 均匀度达到99%.4个小积分球的出射孔实现可变光栏[3].

1.3支撑工装

安装待测的CCD组件;保证被测组件与光源的相对位置确定.

1.4电源模块

将220 V交流电变为多路直流电源, 供给测试平台其他部件使用;控制各电路电源的开关;监测各路电源.

1.5控制及转换模块

与系统主机的信息交换, 将测试平台的各项工作状态发送给系统主机, 同时接受主机命令, 改变测试平台的工作状态, 配合测试软件, 实现自动化测量.

2 测试内容

“CCD组件参数综合测试系统”用于实现对CCD参数、记录、分析及评测[4].主要测试项目为:帧频、饱和输出幅度、均方根噪声、固定图像噪声、输出信号位数、最低照度、坏像元数、功耗.由于系统采用积分球作为测试光源, 其测试原理与以往有较大区别.

2.1帧频

帧频为单位时间内输出图像的帧数.通过控制及转换接口, 将被测组件的帧频信号转换成标准TTL电平, 并从电测信号接口输出.使用软件计算每秒内输出图像的帧数.

2.2饱和输出幅值

饱和输出幅值是数字摄像机的靶面照度达到饱和的情况下, 输出的信号平均值与无光照条件下输出的信号平均值之差.在无光照条件下, 测量输出信号平均值V1;在靶面照度达到饱和的情况下, 测量输出信号平均值V2.则饱和输出幅值Vsat=V2-V1.

2.3均方根噪声

在无光照条件下, 采集100帧图像.按式 (1) 计算此时器件每一像元的噪声电压VNi为

VNi=1F-1f=1100 (V0i (f) -V¯0i) 2 (1)

式中, V¯0ii像元F帧的平均输出信号;F为采集的图像帧数, 为100帧;V0i (f) 为 i像元第f帧的输出信号.

按式 (2) 计算组件的均方根噪声值VNRMS.

VΝRΜS=1Μi=1ΜVNi (2)

式中, VNRMS为组件的均方根噪声值;M为光敏面像元数目 (为256×256) .

2.4固定图像噪声

固定图像噪声是在无光条件下, 摄像机的背景分布非均匀性.

固定图像噪声 (DN) =

Y=0Ν-1X=0Μ-1 (V (x, y) -V2) 2Μ×Ν

式中, M为数字摄像机的水平像元数;N 为 数字摄像机的垂直像元数;V (x, y) 为 (x, y) 点处的像素灰度值;Va为本帧的全部像素算术平均值.

在无光条件下, 对全部光敏元进行信号采集, 并根据固定图像噪声的定义, 测算出组件的固定图像噪声 (DN) .

2.5有效输出信号位数

有效输出信号位数是数字图像由多个数据位构成, 数字摄像机输出的总的有效数据位个数即是其有效输出信号位数[5].从饱和光照开始, 逐渐减小光强直到光强为零.当判断了所有的数据位均为有效时, 停止减小光强.在此过程中连续地采集图像并进行判断.判断依据为:在此过程中, 该数据位不为常数 (长高或长低) , 且与其他数据位不始终相同.若为常数, 则该位缺失;若与另一数据位始终相同, 则该位与另一数据位短路.

2.6靶面最低照度

靶面最低照度为到达CCD靶面的某种强度的光, 引起的信号变化与均方根噪声相等;则认为此即为CCD的靶面最低照度.在无光照条件下, 测试整个CCD的平均输出为V1, 输入额定强度的均匀光E (Lx) , 使摄像机输出平均值达到约1/2满度, 测试整个CCD的平均输出为V2, 靶面最低照度Eth为

Eth=EV2-V1×VΝRΜS (3)

2.7坏像元数

在保证每个像元接受光强一致的前提下, 若某像元的输出信号与平均输出信号的差异>20%, 则该像元为坏像元.

|V1-V2V2|>20% (4)

坏像元数是指一帧完整图像中坏像元的个数.在无光照条件下, 测试整个CCD的输出为V1i, 输入额定强度的均匀光, 使摄像机输出平均值达到约1/2满度, 测试整个CCD的输出为V2i.

Vi=V2i-V1i (5)

Va=1Μi=1ΜVi (6)

然后对该图像的每个像元按坏像元的定义公式 (4) 进行计算, 得出坏像元的位置和总坏像元数;并进行图像处理, 使坏像元出现于最终的测试报告上.

2.8功耗

功耗 (mW) =12I1+5I2, 采用0.1 Ω精密电阻, 测量该路电源经过0.1 Ω精密电阻的压降, 得出I1和I2;即可测试出功耗.

3 测试结果分析

利用研制的测试系统对光锥型CCD组件的参数进行测试, 在规定的检定环境条件下, 连续测量N次, 按式 (7) 计算测试项测量重复性误差.

δLS=1Ν-1i=1Ν (Li-L¯) 2L¯ (7)

式中, L¯=1Νi=1ΝLi, 表示在测量时间范围内, 测量值的算术平均值;Li在测量时间范围内第i次测量值;N为测量次数, 取N=10.用该系统对帧频测试等8项内容分别进行了10次测试, 根据式 (6) 计算得到重复性误差如表1所示.

4 结 束 语

CCD组件测试系统是对CCD组件进行光电参数采集、记录、分析及评测的专用系统工具.CCD组件的综合参数测试是非常重要的, 它将直接决定着CCD组件的实际应用情况.原来需要多种工种、多个环节、多台仪器的检验内容, 采用该测试系统测试后将一次性自动完成;对连续测试结果的误差分析表明, 重复性不大于3%.测试数据不仅稳定、可靠, 而且简化了测量过程, 并避免了CCD组件在检验及转运过程的损伤风险性.

参考文献

[1]颜伟彬.CCD信号数据采集及处理[D].武汉:华中科技大学, 2004.

[2]阮林波, 郭明安, 李斌康, 等.高帧频CCD光纤传输系统的设计与实现[J].电视技术, 2004, (4) .

[3]张勇, 唐本奇, 肖志刚, 等.线阵CCD总剂量辐照效应离线测量系统设计[J].核电子学与探测技术, 2004, (5) .

[4]公发全.CCD光学调制传递函数及检测方法研究[D].长春:中国科学院研究生院 (长春光学精密机械与物理研究所) , 2002.

组件系统 篇9

关键词:COM技术,信息融合,性能评估

0 引 言

信息融合技术和算法的研究有20余年的发展,它可以将来自不同传感器的探测数据进行关联、相关和组合,以减少对目标感知的不明确性,提高综合信息系统的处理能力和反应能力[1]。对数据融合算法性能的评估是研究数据融合技术的主要手段之一。通过对数据融合算法多角度多项性能指标的综合评估,能够对算法研究开发与改进提供指导方向。所以,建立一个能够对多种不同算法进行测试评估的通用系统平台是具有重要意义的[2]。

本文在介绍组件技术和测试评估框架的基础上,详细论述了针对该测试评估平台所定义的算法封装组件的接口,并完成了系统的设计与开发,通过仿真试验说明了应用此系统协助算法开发的优势。能够找到算法性能的不足,提出算法改进的指导方向。

1 代码复用和COM组件技术

信息融合算法的开发是一个不断改进的过程,有效的性能评估系统能够给出指导性的改进建议。组件技术是测试评估系统能够载入不同算法和多次载入相同算法的很好的解决方式。只要信息融合算法符合规定的接口要求,算法内部的修改都不会影响算法与系统的连接,便于算法的再次测试评估。从软件开发的角度讲,组件技术的应用大大实现了代码服用,提高了开发效率。当然,算法按照组件规定的接口封装,第一次的工作量会大些,但为后期算法的改善工作提供了便利条件。

COM组件由COM接口、COM服务器和COM客户组成。作为组件对象之间相互通信的接口规范,只要符合COM接口规范的对象彼此之间都能相互通信和交互,尽管这些对象出自不同的生产商、不同的程序设计语言,不同的Windows版本,甚至在不同的计算机上编写的。客户通过COM接口来访问COM对象,获取COM组件服务,每个接口用一个唯一标识符(GUID)来标示它,称为IID;COM对象也用一个GUID来标示它,称为GLSID,它被注册到系统注册表。

使用COM服务器的关键是要获取COM对象的引用,即要创建COM对象。COM对象的创建有COM库和类工厂来完成,它们分别提供了创建、注册COM对象以及查找注册数据库、定位服务器、返回对象指针的服务[3]。COM库提供了3个API函数用来创建COM对象,它们是CoGetClassObject(),CoCreateInstance()和CoCreateInstanceEx()。

2 测试评估系统框架

测试评估系统有三个相对独立又密切联系的功能模块构成,它们分别是环境目标仿真模块,信息融合中心以及性能评估中心。三者通过数据库和TCP/IP数据传输关联起来。如图1所示。

目标与环境模拟模块,实现传感器(声传感器或雷达等)对飞行目标(直升机或导弹)在不同噪声、杂波等外部环境下探测信息的仿真。根据待评估融合算法的特性和测评指标的要求,设定目标的种类、飞行特性等自身属性,以及数量、编队方式和传感器属性和布阵方式等外部特征。当有目标进入传感器的探测范围时,根据飞行目标属性、传感器性能、相对空间位置和环境媒介影响计算仿真环境模拟传感器的探测数据,通过TCP/IP协议将之发送到信息融合中心。同时把仿真目标的真实航迹存入融合系统数据库中。

信息融合中心是装载信息融合算法的独立平台,通过TCP/IP通信协议与环境仿真模块和测试评估模块通信。是算法测试系统的核心部分,对算法的封装在这里完成,以实现对多种信息融合算法的通用调用。一方面,在传感器探测周期的每个周期末,接收来自环境仿真模块发出的模拟传感器探测数据,利用统一的COM接口传给融合算法;另一方面,在融合算法处理周期的每个周期末,取出算法融合得到的融合数据,发送至测试评估模块。以上过程,从目标进入传感器探测范围开始,直至目标离开传感器探测范围结束。

性能评估中心,负责管理数据库数据、接收融合模块的算法融合结果并取得数据库中仿真目标的真实航迹,利用一套完备的通用算法评估指标体系[4],对不同的算法进行全面的量化评估,并存储测试评估结果。

数据库主要完成对融合航迹与评估结果的存储,以利于对测试评估进行深入的分析。同时,也包括系统登录信息和系统日志等基本参数的存储。整个系统采用C/S架构,数据库服务器采用SQL Server2000。

3 COM组件结构分析和算法封装解决方案

考虑信息融合算法的通常特性和COM组件封装的特点以及测试系统的需求,建立组件模型,如图2所示[5]。

COM组件共提供了两个对外接口,包括四个接口函数:FusionIniti()负责装载算法运行所需要的一些初始程序;FusionIn()负责载入算法输入参数,主要是传感器探测数据;FusionOut()负责获得算法的处理结果,主要指融合算法的融合结果;GetFusionTime()用来计算算法所需要的资源,主要指算法处理时间。在COM规范中,采用IDL定义接口内容,接口定义如下,

Interface IFusion:Iunknown

{

HRESULT FusionIniti([in]BSTR* pbstrFusionIniti);

HRESULT FusionIn([in]BSTR* pbstrFusionIn);

HRESULT FusionOut([out]BSTR* pbstrSensor);

}

Interface IAlgoRes:Iunknown

{

HRESULT GetFusionTime([out]ULONG * FusionTime);

}

4 测试平台的仿真试验

系统实现后经过多次试验得到的试验统计结果说明了系统的算法通用性和评估全面准确等特点,以下面的试验数据为例简要说明。

试验测试算法为联合概率数据关联算法JPDA(Join Probability Data Association)和联合概率数据关联—粒子滤波算法JPDA-PF(Join Probability Data Association-Particle Filter)[6],比较两种算法在非高斯噪声相同杂波密度环境下的性能,采用蒙特卡罗模拟法,每次试验进行100次仿真。实验结果如表1所示。

实验结果表明,对于JPDA-PF算法在非高斯噪声环境下的跟踪精度好于JPDA算法,但算法的错误终止率明显高于JPDA,所以,对JPDA-PF的改进建议是改善其航迹维持能力。

5 总结与展望

通过组件技术的应用,完成了算法测试评估平台的开发工作。所开发的系统,通过以组件封装的技术载入融合算法,能够对多种信息融合算法进行可靠的测试评估,达到了系统测试之初的通用性目的。但是在开发过程中,由于对算法的认识不够深入,对算法接口的定义有局限,可能还不能满足一些特殊的算法的要求,需要在今后的研究中进一步探讨。

参考文献

[1]何友,陆大絟,彭应宁.多传感器信息融合算法综述[J].火力与指挥控制,2002,2(1).

[2]Lu Yansheng,Yue Pei,Qu Binbin.A Simulated Evaluating System forMulti-sensor Data fusion Algorithms[J].Proceedings of the 5th WorldCongress on Intelligent Control and Automation,June15-19,2004,Han-gzhou,P.R.China.

[3]潘爱民.COM原理与应用[M].北京:清华大学出版社,2000.

[4]张晶炜,刘永,熊伟.多传感器多目标跟踪算法性能分析[J].现代雷达,2004,26(3):36-39.

[5]付细楚,邹北骥.基于组件的考试系统的研究与实现[J].计算机工程,2005,31(24):219-221.

组件系统 篇10

1 Windows打印系统结构

虚拟打印基于Windows打印体系,是对Windows打印系统的一种应用及拓展。微软的Windows NT系列打印体系结构由打印假脱机和一套打印驱动程序组成。

应用程序对Win32 GDI函数的调用传送到GDI图形引擎,GDI图形引擎可以将绘制指令假脱到一个EMF文件中,或者与打印驱动程序连接,向假脱机绘制一个可打印的图像。假脱机组件解释EMF文件,他们可以在数据流中插入页面布局信息以及作业控制指令。然后假脱机将数据流发送给具有目标打印机I/O端口的串行、并行或网络端口的驱动程序。其体系结构如图1所示。

2 虚拟打印系统的研究

按照获取打印任务方式的不同,可以将虚拟打印系统分为3种类型:重写Print Processor,在假托模块中实现转换,例如Mabuse.De的VPrinter;采用回调机制在打印任务发送到Spooler之前获取打印数据流,例如Northeast Data 公司的Image Printer Driver;通过监视Port Monitor获取打印任务数据,例如Adobe公司的Adobe Acrobat Writer。

目前绝大部分虚拟打印系统都是独立的系统,使用各自的文件格式来保存打印结果,很少以组件的方式提供二次开发接口,使得上述虚拟打印系统很难与其他应用系统进行集成。本文研发的基于组件模型的虚拟打印系统,采用重写Print Processor方式实现打印任务的获取。该系统提供了丰富的二次开发接口,可以按照应用系统集成商的要求提供文档转换功能,最大限度地降低了应用系统的成本。

3 虚拟打印系统的实现

基于组件模型的虚拟打印系统主要包括2部分:打印机驱动程序模块和二次开发接口模块。其体系结构如图2所示:

3.1 获取打印任务

打印任务的截取,是整个虚拟打印系统的关键部分。从图1中可以看出,Print Processor负责将打印任务处理后发送到Port Monitor,Print Processor是一个可替换的DLL,安装DDK中的约定,实现以下6个函数,就可以自定义一个Print Processor。

(1) EnumPrintProcessorDatatypes,该函数主要处理并返回打印处理器所能处理的数据类型;

(2) ControlPrintProcessor,该函数主要提供方法供用户控制打印处理器,如停止、删除、重新开始打印任务等;

(3) GetPrintProcessorCapabilities,该函数主要供Windows系统获取针对某种输入数据的处理能力;

(4) OpenPrintProcessor,返回该打印处理器的句柄给系统;

(5) PrintDocumentOnPrintProcessor,处理打印任务,将处理后的数据发送到Port Monitor或者转换为图像文件等;

(6) ClosePrintProcessor,关闭打印处理器。

图3详细说明在PrintDocumentOnPrintProcessor中如何将打印任务转换为图像文件的过程。

3.2 生成指定格式、大小的图像

虚拟打印系统获取的打印页面原始数据是EMF矢量图形文件。如果转换前的文档中没有大量的图片信息,那么转换后的EMF文件是比较小的,一般1页Word转换后在20~50 k大小。因此本系统提供了配置接口供用户选择最终保存的图像格式,目前支持JPG,GIF,PNG等常用的图像格式。可以按照如下方式修改图像的格式和大小:

[ImageInfo]

ImageWidth = 1024

ImageHeight = 768

ImageType = JPG

以上信息设定后,转换生成的图片为JPG格式文件,图片宽为1 024 pixel,高为768 pixel。

3.3 封装组件,提供二次开发接口

二次开发接口是虚拟打印系统提供给第三方应用系统调用或设置的方法。良好丰富的二次开发接口,使得本系统可以快速便捷的与第三方应用系统进行集成,大大提高系统的应用范围。按照组件模型的思想,本系统中将二次开发接口封装成Activex组件,使得用户可以通过简单的JavaScript调用接口方法。

3.3.1 安装、卸载打印机接口

一般采用由最终用户通过在控制面板中选择添加打印机的方式来安装打印机。这种方法对最终用户要求比较高,不适合大规模的应用。因此,封装了一个Acitvex实现打印机的安装和卸载,使得第三方应用系统可以非常方便地安装、卸载虚拟打印机。该Activex提供以下2个方法:

(1) InstallVirtualPrint,实现安装打印机,关键部分解释如下:

bool flag;

DRIVER_INFO_3 DriverInfo3;

……………………

//添加打印驱动程序

flag=AddPrinterDriver(NULL,3,&DriverInfo3);

……………………

PRINTER_INFO_2 pPrinter;

HANDLE pHand;

……………………

//添加虚拟打印机

pHand=AddPrinter(NULL,2,(LPBYTE)&pPrinter);

if (pHand == 0)

{

//如果添加失败,返回出错代码

ClosePrinter(pHand);

return GetLastError();}

ClosePrinter(pHand);

(2) UnInstallVirtualPrint,实现卸载打印机,关键部分解释如下:

//删除打印处理器

DeletePrintProcessor(NULL,L"Windows NT x86",L"VPrint");

……………………

LPTSTR Env;

Env= L"Windows NT x86";

//删除打印驱动

DeletePrinterDriver(NULL,Env,L"VPrinter Driver");

……………………

PRINTER_DEFAULTS pd;

HANDLE hp;

ZeroMemory(&pd,sizeof(PRINTER_DEFAULTS));

pd.DesiredAccess=PRINTER_ALL_ACCESS;

if (OpenPrinter("VPrinter",&hp,&pd))

{ //删除打印机

if (false==DeletePrinter(hp))

{ //如果失败,返回出错代码

return GetLastError(); } }

3.3.2 打印机信息设置接口

为了方便第三方系统集成,打印机基本信息存储在系统INI文件中。集成用户按照标准可以非常方便地修改打印机的相关信息,例如:转换后图像文件的保存路径,当前文件的前缀等。

[FileInfo]

Directory = c:123

Prefix = 123

以上信息设定后,转换生成的图像文件就保存在c:123目录下,文件名称按以下规则形成“123_页码”。第三方系统也可以通过编程的方式动态修改配置文件。

3.3.3 图像生成事件通知接口

在第三方系统集成时,希望实时知道什么时候转换完成,什么时候转换了某一页。因此本系统采用Windows广播消息的方式来通知集成系统。广播消息是Windows系统中,不同进程之间通信最实时、最快捷的方式。广播消息分为2个步骤:利用RegisterWindowMessage函数向Windows系统注册消息句柄;利用PostMessage函数寄送消息,需要注意的是第一个参数必须为HWND_BROADCAST。集成系统可以在消息循环中获取广播的消息,以VC开发工具为例,如下过程就可以获取广播的消息:利用RegisterWindowMessage注册同一消息句柄;利用ON_REGISTERED_MESSAGE宏,映射消息句柄到消息处理函数。

4 结 语

在研究现有虚拟打印系统的基础上,指出这些系统存在的问题,研究并实现基于组件模型的虚拟打印系统。该系统具有转换快速、二次开发接口丰富等特点,并且已经应用在第三方系统中,如:iWebOffice网络文档、iSignature GDF电子签章系统。

参考文献

[1][美]Art Baker,Jerry Lozano.Windows2000设备驱动程序设计指南[M].北京:机械工业出版社,2001.

[2][美]David J Kruglinski.Visual C++技术内幕[M].北京:清华大学出版社,2001.

服务器的组件构成和功耗 篇11

关键词:服务器 组件 功耗 散热

中图分类号:TP319.3文献标识码:A文章编号:1674-098X(2014)07(c)-0048-01

现代信息社会,互联网的高效运作得益于其枢纽机构—数据中心的存在,而数据中心的心脏即为服务器。本文介绍服务器的基本工作原理、内部组成等信息,同时介绍了服务器的能耗组成,以期为数据中心的设计优化提供参考。

1 服务器基本工作原理

服务器是计算机的一种,遵循“冯·诺依曼体系体系结构”:由运算器、控制器、存储器和输入输出设备组成,其基本特征是:指令和数据无差别地以二进制代码的形式存放于存储器中、以运算器和控制器作为计算机结构的中心、顺序执行存储器内指令、所有的指令都是由操作码和地址码组成等。

按照冯·诺依曼体系的阐述,当前的电子计算机均是以CPU为核心,一切外围主板架构设计均围绕CPU进行,乃至计算机行业时代里程碑都是以CPU性能的重大突破作为标志。例如业内称呼某某系列服务器为“X86服务器”,正是因为其中CPU指令系统是8086 CPU指令体系;而称呼某某系列服务器为“ARM服务器”,也正是因为其中CPU指令系统为精简指令架构(RISC)的ARM CPU指令系统。

2 服务器硬件组成

2.1 CPU

CPU(Central Processing Unit,中央处理器)是一台计算机的运算核心和控制核心,其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU从内存或高速缓冲存储器(Cache)中取出指令,放入指令寄存器,并对指令译码,并执行指令,周而复始地循环运作直至断电或休眠。

2.2 总线

总线(Bus)是服务器内部各组件之间的数据交互的桥梁,由总线芯片和连接导线组成,其可以使得CPU按地址来读写数据。所谓“总线”意指“统一汇总处理的数据线”:如果没有总线,那么CPU与其他任意组件之间都需要建立专属的物理导线连接才能进行数据交互,主板电路拓扑将异常复杂。

2.3 芯片组

芯片组(Chipset)是“南桥”和“北桥”的统称,把以前复杂的电路和元件最大限度地集成在几颗芯片内,承载核心器件之间的数据传输的功能。一定意义上讲,它决定了主板的级别和档次。

2.4 内存

由内存芯片、电路板、金手指等组成,用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据(操作系统也是从硬盘拷贝到内存之后才能运行)。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。

2.5 GPU

GPU(Graphic Processing Unit,图形处理单元),是显卡的核心部分,用来处理计算机的图像输出信息。服务器的GPU一般是集成在主板上,不过服务器的显示功能并不重要(仅维护时需要)。

2.6 硬盘

硬盘也称外存储器,是容纳大数据的器件(相对内存而言),其通过接口总线、南桥芯片与CPU连接。当前服务器上所用的硬盘一般由SCSI接口与主板互连,其具有速度高(可达320 MB/s)、可靠性高(可承受300~1000 G的冲击力)、可热拔插。

2.7 网卡

网卡又称网络适配器(Network Interface Card),用于服务器与交换机等以太网网络设备之间的连接。网卡一般通过PCI/PCI-E总线(插槽)接入服务器主板系统。

2.8 电源

服务器电源(一般是300~400 W)就是指使用在服务器上的电源(POWER),它和PC(个人电脑)电源一样,都是一种开关电源,是服务器内部影响能量利用率最大的要素。开关电源的工作原理为:输入220 V交流市电(工频),经EMI隔离、全波整流和简单滤波变成300 V直流,经过耐压三极管开关“斩波”后变成一定宽度的高压单极性脉冲阵列(高频),经过变压器(高频)隔离、全波整流后滤波输出(输出脉冲阵列的直流分量)。在以上环节中,输出的电压被反馈回PWM控制器进行误差比较以决定三极管开关的工作脉宽(高频)。

2.9 主板上的电源体系

在服务器主板上,除了总输入的12 V电源外,还有5 V、3.3 V、1.3 V等電压的需求,故而主板上的电源是一个体系,其各级电压转换是通过树状的开关电源芯片拓扑来完成的。

3 服务器的功耗与散热

在服务器内部,CPU功耗占了60%以上的比例,这些功耗最终都会转化为热量,故而可说CPU是服务器上发热最集中的部件。为此,业内在不断地研制低功耗的CPU,除了“采用ARM架构”这种方法外,还有降低CPU核心电压、采用更高工艺等。

电源模块的能量损耗比例仅次CPU。在一般的双电源、负荷分担配置的服务器中,AC/DC电源模块的能量损失率达到了25%(主要损失在高频开关三极管处),这部分损耗不仅不产=生价值,反而还要消耗额外的制冷能耗。故而电源模块和CPU是服务器内部两个需要配置独立风扇的组件。

除此之外,计算型服务器的内存能耗也较为可观。以一块内存条8 W的功耗计算,10根内存条的功耗即可达到80 W,可达400 W服务器功耗的20%。

另外,在实际测试中发现,北桥芯片的能耗/发热量也较为突出,这是因为北桥芯片是CPU对外的数据出口,承担了繁重的数据传输任务,故而一般进行服务器设计时在北桥芯片上敷上散热片。

另外,需介绍TDP这个概念。TDP的英文全称是“Thermal Design Power”(散热设计功耗),一个系列的CPU公用一个TDP值,主要是提供给计算机系统厂商,散热片/风扇厂商,以及机箱厂商等等进行系统设计时使用的。一般TDP主要应用于CPU,CPU TDP值对应系列CPU的最终版本在满负荷(CPU利用率为100%的理论上)可能会达到的最高散热热量,散热器必须保证在处理器TDP最大的时候,处理器的温度仍然在设计范围之内。需要注意的是,TDP并非CPU的实际功耗值,而仅仅是可能的最大发热量。

参考文献

[1]邹志革,邹雪城,黄峰.低压低功耗模拟集成电路设计技术及展望[J].微电子学,2006,2(36):60-69.

组件系统 篇12

内容管理系统的基本思想是分离内容的管理和设计。页面设计存储在模板里,而内容存储在数据库或独立的文件中。当一个用户请求页面时,各部分联合生成一个标准的HTML页面。理解了内容和表现之间的差别,也就理解了内容管理的价值。回顾过去,从静态网站到动态网站:早期的网站由纯粹的HTML页面组成,每一个页面,都是由设计师将内容与设计进行整合,然后合成一个页面。后来动态网站技术的出现,人们将内容本身保存在关系数据库里,然后当用户浏览时再动态地从数据库中取出内容,使用程序生成HTML传达给用户。纯粹的静态技术过分强调内容的表现形式,从而使得效率低下,而动态网页技术则因为包含比较高的技术含量,以及受限于技术,从而忽略了内容的表现。内容管理系统中通过模板技术来解决这个矛盾。内容的存储使用关系数据库,而使用模板来合成最终的页面。模板让设计师的才能发挥到极致,而又不影响效率。

本系统属于框架性的内容管理系统,可以作为二次开发,此系统作为一个发布平台,包括内容模块(新闻频道、论坛频道、分享频道、相册频道、个人中心频道),资源模块(图片管理、css管理、js管理),工具模块(在线帮助、安装软件),功能模块(新闻发布、栏目管理、上传下载、用户管理、角色管理)。

1 系统架构

本系统采用ssh框架,结合freemarke模板引擎技术。基于B/S结构的WEB层包括视图表现层、业务逻辑层、持久化层和数据库层,采用Struts框架来实现表示层,Spring实现业务层,Hibernate实现持久层,这三种技术相结合实现WEB的四层结构,构成一个开放框架。基于这种框架结构有利于内容管理系统的开发和管理,有利于系统业务的重用和改动,而Hibernate高速缓存技术的使用,使数据的存储和读写速度得到大大提高,还有使用相关的组件,大大加快开发进程。

Struts为Java Web应用提供了现成的通用框架。如果没有Struts.开发人员将不得不花大量时间和精力来设计、开发自己的框架。如果在Web应用中恰到好处的使用它,开发人员可以节省很多时间,把精力集中在如何解决实际业务上。

Spring也是一个完善独立的框架,但是它的出现带来了诸如事务管理之类的核心中间层概念的标准化,同时虽然Spring是一个单层框架,但是它提供了一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉合在一起建立一个连贯的体系。

Hibernate实现持久层,基于MVC的Web应用的数据层和与业务逻辑层之间有持久层,这也是应用中最容易出现错误的地方。开发者通常低估持久层框架在自己的Web应用中的作用,所以往往不被重视。一个效率好的持久层需要花费大量的开发时间,而且很容易产生缺乏功能和难以管理的现象。目前有许多开源的关系映射(ORM)框架,其中Hibernate更是因为它出众的性能被java社区广泛使用。Hibernate是Java应用和关系数据库之间的桥梁,它负责Java对象和关系数据库之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作,向上层应用提供了面向对象的数据访问API。

在这种架构下,使得程序有很强的扩展性,在现有基础上增加新的功能的难易程度降低到最低。整个系统的架构模型图如图1所示。

本系统充分利用架构优势,从页面层跳转到action层,通过spring注入,又跳转到Service层,进行业务逻辑的处理,将业务处理的方法提取出来作为一个接口层提供给上层来使用。最后到Dao层进行增加删除修改查看的编写,并将各种服务提取出来作为一个接口层提供给上层。采用这种设计方法的目的,是为了尽可能的提高可维护性和强扩展性。同时将数据层进行持久化处理,方便数据库的变化。

2 系统详细介绍

此内容管理系统作为一个信息发布平台,前端包括资讯频道,论坛频道,分享频道,相册频道,个人中心,应用频道。前端框图如图2所示。

在资讯频道采用luence作为全文检索的搜索引擎,基于二分词的方法建立索引,通过boost因子改变评分机制,同时改进高亮器算法,原来Highlighter要在查询出的结果数据再一次分词,然后检索关键字,再给关键字前后附上指定的前缀后缀,现在重构Highlighter,接受document参数,设置高亮显示。同时系统添加拼音词库,提供拼音自动提示功能方便用户查找信息。

在论坛频道,分享频道,相册频道,个人中心都采用模板管理机制,内容管理系统的一个很大的优点是,使用模板机制,我们只需要在文档中使用模板代码,然后就可以集中精力在设计内容上了,要改变网站的外观,我们只需要修改模板,而不用修改一个一个单独的页面,从而减轻了我们的工作量,加速了开发过程。

内容管理系统的后台支撑了前端的显示,后台包括用户管理,角色管理,上传下载,栏目管理,发布管理,资源管理,模板管理。同时各个模块以组件的形式进行封装,为其他外部系统提供良好的接口,具有很强的扩展性和灵活性。其用例图如图3所示。

系统管理员可以管理用户,管理角色,管理数据字典,从而保证用户的权限及功能。

普通用户登录系统后,可以修改其账户密码以及一些基本信息。点击资源管理,进入资源管理界面,可以查看资源管理的信息,包括图片管理,css管理,js管理,插件管理。同时用户还可以上传资料,管理模板,从而对系统资源进行有效的管理。

用户进入发布管理模块以后,点击我要发布,可以选择发布信息归属的栏目,采用的模板,使用ckeditor富文本编辑器编写发布的内容信息,可以自由选择发布的路径。充分体现了系统的灵活性。

作为一个二次开发平台的内容管理系统,当外部系统调用组件时,系统快速定位到相关模块的页面,根据用户输入的参数,为其提供服务。从而大大的提高了用户的开发速度,节约了资源。系统提供的接口画面如图4所示。

3 系统总结

与其他的内容管理系统相比较,此系统的开发有很多自己的特点。该系统选用的是目前比较流行的开源框架,成熟度较高,系统各层问耦合度低,很好的处理了业务逻辑和持久性逻辑和Ul组件很好的耦合,内容管理系统选用模板化输出页面,分离了代码和应用的表现部分,极大地方便了程序员和内容制作者的工作。高速缓存的使用又使性能得到很大提高。系统有如下的特点:

(1)分层设计,耦合度低

该系统最大的特点在于采用分层结构并配合时下流行的组合框架Struts、Spring和Hibernate来进行开发。良好的框架自然地形成代码分离的原则,更为重要的是,框架把业务逻辑和持久性逻辑分开能减轻了开发人员从头构建持久层代码的精力,从而集中精力来处理逻辑问题。分层的另一大好处是,模块的删除和增加都比较方便,对以后系统的升级和维护带来很大的好处。

(2)页面模板化输出

模板化输出最大的好处在于,它分离了代码(或程序逻辑)和表现(输出)。由于这种分离,可以修改程序逻辑而不必担心输出的效果如何。模板把程序员从混合了大量文本信息的杂乱代码中解放出来;使得制作文本内容的人无需面对程序逻辑,就可以轻松地编写和修改内容。模板的另一个优点是它保护了系统,避免了有意或无意带来危险的代码。

(3)高速缓存的使用优化性能

利用Hibernate的缓存技术,把数据库数据的拷贝存放在缓存中,可以减少直接访问数据库的频率,从而提高应用的性能。

(4)luence高亮算法

利用重构Highlighter,接受document参数,设置高亮显示。

(5)拼音自动提示功能

提供拼音词库,提供自动提示功能。

(6)各个应用组件化,提供接口,未其他系统服务。

参考文献

[1]赵文.什么是内容管理Enl.光明日报.2002.

[2]张婵,罗佳.企业内容管理综述[J].现代计算机.2005.

[3]干钧.内容管理系统分析.芜湖职业技术学院学报.2006.

[4]李刚.Struts2权威指南.电子工业出版社.2007.

[5]夏昕,曹晓刚,唐勇.深入浅出Hibernate.电子工业出版社.2005.

[6]石雪松.内容管理的真正内涵.北京:中国计算机用户.2003.

[7]韩啸,曹辉.内容管理的关键技术[J].中国传媒科技.2004.

[8]罗时飞.精通SPRINQ北京:电子工业出版社.

[9]Bruce Eckel.Thinking in Java(3th)[M].Person.2002.

上一篇:安全减灾下一篇:质量工作与企业发展