随钻地层测试仪的模块化设计应用

随钻地层测试仪的模块化设计应用
随钻地层测试仪的模块化设计应用

随钻地层测试仪的模块化设计应用

【摘要】基于模块化的设计理念,针对随钻地层测试仪的设计需求,结核仪器现场使用的特点,阐述了随钻地层测试仪模块化设计的基本思路、模块划分的原则,并提出了随钻地层测试仪的模块划分方案。模块化设计的应用保证了仪器设计和使用中的灵活性。创新的嵌入式模块结构大大提高仪器的现场可维护性。

【关键词】随钻地层测试仪模块化设计

1 前言

随钻地层压力测试器,可提供实时的地层压力和流度数据。是随钻测井最重要的测试方法之一,能够在刚打开地层时测试地层压力,获取最直接的地层压力。与传统技术相比,随钻地层测试测量的压力数据能更好地反映地层的真实压力情况,可优化钻井工艺、提高钻井效率。该项技术可以为油气田的勘探开发提供有力的技术支持。[1]

该仪器的研究是十二.五国家重大专项课题“模块式底层动态测试系统”的子课题。通过应用模块化设计,不仅降低设计和制造成本,缩短新产品研发周期,还提高仪器现场应用的灵活性。另外,

模块化设计方法及其在机械设计中的应用

模块化设计方法及其在机械设计中的应用 摘要:随着社会经济的发展,为了提高企业生产效率,模块化设计理念在机械设计领域日益广泛,其对于整合市场、优化结构具有重要意义。我们要树立创新意识,加强其在机械设计中的研究运用,实现模块化的转变。 关键词:模块化;设计方法;机械设计 随着技术的发展和经验的总结,在机械设计中,越来越多的设计方相继出现,并逐渐得到广泛的运用。在实际工作中传统的机械包装方法的弊端日益显现,越来越多不适应机械设计的需要,而模块化设计方法逐渐得到广泛的运用。 1 机械产品模块化涵义 模块化就是以它的观点去对产品或者系统进行策划和生产方案,在某个限度内的一样或者存在差异的功能、相异规格的产品探究讨论,区分并设计。机械产品的模块化主要可从以下几方面进行分析: (1)功能需求集,指的是市场和客户对模块化产品基本功能要求的合集。产品的功能需求是进行产品模块化的重要内容,是产品发展的重要方向。 (2)功能模块,强调的为产品里所能够充分发挥其性能因素的作用. (3)结构模块,指的是功能模块的具体结构,一般由部件或子结构模块组成。 (4)模块接口,指的是描述结构模块组合时相互间的几何、物理关系的结合面,模块接口是模块组合的重要依据。 (5)基础模块,通用型接口模块,能够满足基本功能,而得以实现的定向模块功能演进的模块形式。 2 模块化设计 2.1 模块划分标准 为了让人们对模块化设计方法在机械设计中运用有更为详细的了解,对模块化的设计进行划分,在数控立式车床设计中,运用模块化设计方法,其中最为关键的内容是进行功能与结构分析,这是决定设计效果的关键内容。因此,设计开始前,要对模块进行处理,详细划分模块。当前,还没有任何一种标准可以作为模块划分原则。这里,依据不同侧重点,对不同模块进行划分。模块具有独立性,

家具模块化设计方法实例分析

家具模块化设计方法实例分析 1前言 当前,消费者对家具的个性化需求日益凸显,如何满足这种需求已经成为越来越多家具企业发展的关键。要做到既符合现代机械化生产的发展主流,又节约成本,且能提高产品的市场竞争力。这确实为难了不少的家具企业。有一坐企业尝试通过从销售终端满足个性化,但众多形态各异、尺寸繁多的家具定单从销售端传送至生产和设计部门,却带来了新的矛盾:设计任务艰巨、生产设计难排、产品质量难以保证,甚至由于部件尺寸的相近导致出错率增加、生产效率低下。有一些敢于吃螃蟹的企业尝试从设计入手,通过标准零部件的设计、组合成新产品来满足这种“个性化”“的需求。但遗憾的是,这种做法并未带来预期的效果,单一的产品导致了销售客额和顾客满意率的下降。所以,如何实现产品的个性化?是从销售端,还是从设计与生产端着手呢?这是家具企业必须根据企业现状做出回答的问题。定制是从销售端解决问题,而模块化设计是从设计端解决问题,旨在通过设计具有标准性和通用性的功能模块,达到组合成多样化的家具的目的。毫无疑问,模块化设计在家具业具有很大的发展潜力,它既能解决个性化需求的问题,还能做到低成本与高效率。 模块化设计属于方法学的范畴,在其他工业行业中已经得到了长足的发展。由于家具消费环塘和制造环境的变化,模块化设计以其特有的优势,开始在家具行业尤其是办公家具中应用。而对于民用家具,

近年来个性化需求与家具企业的生产矛盾日益突出,有关模块化设计的探索才刚刚开始。鉴于国内尚无系统的家具模块化设计理论来指导企业的实践,本文着重以衣橱为例,详细具体地分析单个家具的非模块化设计过程,以进一步明确家具模块化设计的必要性和可操作性。 2 设计概念及设计方法 家具模块化设计指的是在对家具进行功能分析的基础上,划分并设计出一系列的家具功能模块,通过功能模块的选择与组合构成不同的家具,以满足市场多样化需求的设计方法。与传统的设计方法相比较,家具模块化设计呈现出许多新特征。首先,它是针对模块和家具产品系统的设计,既要设计模块,又要设计家具成品。其次,它以标准化、通用化的零部件快速组合成家具,能实现家具的多样化。模块化设计不同于标准化设计,标准化设计带来的是单一的产品,而模块化设计则不然,在设计之初就考虑模块可组合成产品的多样性。因此模块化设计是在标准化设计基础之上,实现产品多样化的一种方法。 根据家具模块化设计的概念,笔者提出从三个层次展开家具的模块化设计。第一层次是家具模块化总体设计。这个阶段主要是进行模块化系统的总体策划,确定模块化实施的范围。良好的模块化总体设计,是模块化设计得以实现的基础。第二层次是家具模块设计,这是模块化设计系统具体化的过程,是承上启下的环节。模块化设计的好坏,直接影响到模块化家具组合的最终效果。第三层次是家具模块化产品设计。这个阶段主要是选择模块,评价模块可能组合方式的合理

随钻地层压力检测

第五节 随钻地层压力检测 “正常”的地层流体压力大致等于流体液柱中的静水压力。地层流体压力有时比静水压力高,有时比静水压力低。两种“不正常”的压力条件都能引起钻井事故,而工业生产中最为关心的是异常高压,有时称之为地质压力。 一、 基本概念 1、静水压力(Hydrostatic Pressure) 静水压力是指单位液体重量与静液柱垂直高度的乘积。与液柱的直径和形状无关。 静水压力的计算公式如下: 10 d H P h ?= 式中 P h -静水压力,kg/cm 2 d -钻井液重量,g/cm 3 H -垂直深度,m 2、帕斯卡定律(Pascal ’s Law) 帕斯卡定律阐述了静止流体中任何一点上各个方向的静水压力大小相等。通过流体可以传递任何施加的压力,而不随距离的变化而降低。 根据帕斯卡定律,静水压力在液柱中给定的深度上,作用于任何方向上。 3、静水压力梯度(Hydrostatic Pressure Gradient ) 静水压力梯度是指每单位深度上静水压力的变化量。这个值描述了液体中压 力的变化,表示为单位深度上所受到的压力。其计量单位是kgF/cm 2/m 。 录井人员常用体积密度(g/cm3)来描述静水压力梯度,以便于同钻井液密度相对比。静水压力梯度的计算公式如下: 10V h PG P H P H == 式中 H PG -静水压力梯度,kg/cm 2/m P h -静水压力,kgf/cm 2 P v -单位体积质量,g/cm 3 H -实际垂直深度,m 。 应用体积密度(g/cm 3)时,静水压力梯度H G 的计算公式如下: V h G P L P H == 10

模块化在展具设计中的应用研究

模块化在展具设计中的应用研究 中国会展行业虽然起步较晚,但近年来一直以20%左右的速度快速增长,行业规模急剧扩大。但与会展业比较发达的国家相比,我国会展业在迅猛的发展中尚欠成熟,展示行业的科技含量较低,虽然会展业务量逐年增加,但所带来的资源浪费也愈发严重。 中国会展业一直以来处于初级阶段一个关键因素在于展具发展的滞后性,由于展具类别较少,大多数展商更侧重木结构特装展位搭建,这种一次性行为间接对环境造成巨大的破坏,从会展业发展长远角度来看,也不科学。论文正是基于这种背景提出了研究的课题,将模块化引入展具设计,推广可拆卸并能重复使用展具的发展,提出在展具设计中引入模块库这一概念,并针对展具设计模块化发展和需解决的问题提出自己的观点。 基于展具模块化设计科技含量高的优势,模块化展具的发展有利于我国的展示设计水平的提高,这也是论题值得研究下去的价值所在。论文首先对模块化与展具设计的概念作了详尽的阐述。 在此基础上归纳分析了应用模块化的关键和基础及应用模块化的优点,包括对展台整体设计的贡献、对企业工作效率和节省时间的贡献、对企业成本控制的贡献、满足个性化需求及对环境保护的贡献。最后对模块化展具的前景做了预测,摸索出其发展规律。 之后对多家不同规模和类型的展具设计厂家以及展示设计公司常用的展具进行了模块化设计调查总结,对展具模块化设计现状进行分析,并对展具模块化设计实施方法做了深入剖析,目的是为了让展具产品设计师在设计单一元件时,对其整体性导向有全面、整体的认识,更好的把握模块单元设计。在此基础上笔

者提出了模块库的概念,做出了可实施的方案,为设计实务部分奠定实质基础。 最后为展具模块化设计实务部分,通过实例介绍和作者的实际案例证明了研究课题的现实可行性,并为国产模块化展具发展提出了一些积极的建议。本论文在理论研究的基础上,辅以优秀设计实例进行分析说明,附大量相关图片资料,对模块化展具设计进行探讨和论证,希望本文的研究能够促进对中国未来展示设计发展。

地层测试技术

地层测试技术 地层测试(formation testing)是在在钻井或油气井生产过程中,对目的层段层进行的测试求产,地层测试可以测取地层压力数据,采集地层流体样品,从而对地层的压力、有效渗透率、生产率、连通情况、衰竭情况等进行评价,为建立最佳的完井方式、确定下部措施和开发方案提供依据,是进行油田勘探开发的重要技术手段。其方法一般有:①随钻地层测试:通过钻杆末端的钻杆测试器;②电缆地层测试:利用电缆下入绳索式测试器;此外广义的地层测试还包括常规的试油试气、钻杆地层测试、生产测井、试井等。 钻杆地层测试—DST(drill stem test)是使用钻杆或油管把带封隔器的地层测试器下入井中进行试油的一种先进技术。它既可以在已下入套管的井中进行测试,也可在未下入套管的裸眼井中进行测试;既可在钻井完成后进行测试,又可在钻井中途进行测试。它们座封隔离裸眼井底,解脱泥浆柱压力影响,使地层内的流体进入测试器,进行取样、测压等。钻杆(中途)测试减少了储层受污染的时间和多种后续井下工程对储层的影响,可以有效保护储层,是对低压低渗和易污染油气层提高勘探成功率的有效手段之一。中途测试往往也使油气提前发现,争取了时间,易于安排下步工作。 电缆地层测试是使用电缆下入地层测试器,电缆地层测试仪器又称之为储层描述仪,是 目前求取地层有效渗透率和油气生产率最直接有效的测井方法,同一般的钻杆测试相比,它具有简便、快速、经济、可靠的优点,在油田开发中有重要作用。电缆地层测试目前应用的主要是组件式电缆地层测试器,仪器结构包括电气组件、双探头组件、石英压力计组件、流动控制组件和样品筒组件几部分。根据用户的需求,可以单独测量地层压力及压力梯度,或者同时采集多个地层流体样品。 MFE(mulitflow evaluator)被称为多流测试器,是斯伦贝谢公司研制的地层测试器,用 它可实现钻井中途裸眼井段测试和多层段间的跨隔测试。MFE测试技术是通过钻杆或油管 将专用测试仪器及管串组件传输下到欲测试目的层段,利用封隔器座封实现管柱内腔体与环空的阻隔,使地层流体在人为控制压差的条件下顺利流动进入管柱,从而摸清目的层压力、液性和产能等数据资料。压差的人为控制是通过开关操作井下特殊工具实现的,可进行流动生产和关井压恢等条件下测试的多次往复转换。

模块化程序设计

第四章模块化程序设计 教学目的:模块程序设计是C程序合作编程序的方法,通过这一章的学习使学生能自己编C 程序中的函数,正确地调用函数,熟悉函数调用时形式参数和实在参数的关系。通过变量的存储类型,能正确使用各种不同存储类型的变量编程序。 重点难点:函数的嵌套调用及函数的递归调用。 前面各几章的学习,大家已有了编制小程序的经验。如果想编制大程序,在C语言下就得用模块化程序设计,其基本思想是将一个大的程序按功能分割成一些模块,使每一个模块都成为功能单一、结构清晰、接口简单、容易理解的小程序。 C语言提供了支持模块化软件开发的功能: 1 函数式的程序结构。程序由一个或多个函数组成,每个函数都有各自独立的功能和界面。 2 允许通过使用不同的存储类别的变量,控制模块内部和外部的信息交换。 3具有预编译处理功能,为程序的调试、移植提供方便,支持模块化程序设计。 本章介绍这些功能及进行程序开发的基本方法。 4.1 函数 C程序结构 无论涉及的问题是复杂还是简单,规模是大还是小,用C语言设计程序,任务只有一种,就是编写函数,至少要编写一个主函数main(),C程序的执行就是执行相应的main()函数。即从它的main()函数的第一个花括号开始,依次执行后面的语句,直到最后的花括号为止。其它函数只有在执行了main()函数的过程中被调用时才执行。 高级语言中“函数”的概念和数学中“函数”的概念不完全相同。英语单词function有“函数”和“功能”两种介绍,高级语言中的函数实际上是功能的意思。当要完成某一个功能时,就用一个函数去实现它。在程序设计时首先要考虑main()函数中的算法,当main()中需要使用某一功能时,就用一个具有该功能的函数表达式表示。这时的函数,我们只知道它具有什么功能,其它先不作处理。设计完main()的算法并检验无误后,这时开始考虑它所调用的函数。如果在库函数中能找到,就可直接使用,否则再动手设计这些函数。这种设计方法称为自顶向下、逐步细化的程序设计方法。这种方法设计出来的程序在功率高,程序层次分明、结构清晰。复杂程序的层次可从以下图形中看出: 许多大型软件系统包含了相当丰富的,可供从事某一领域工作人员选用,如一个高等学校的信息管理系统就包含了教务、科研、人事、财务,设备、图书、后勤、办公室等子系统。每一个子系统以可分为许多子子系统。 这种软件为了方便用户大都采用菜单(menu)方式,这种形式的软件,大家都用过。用户

模块化程序设计方法在多轴加工中应用

achine Tools Automation M机床自动化 冷加工 中航工业武汉航空仪表有限责任公司(湖北 430074)张庆 模块化程序设计方法在多轴 加工中的应用 模块化程序设计是计算机软件工程中的一个术 语。所谓模块化是将一个待开发的软件(或程序) 分解成若干个小的简单部分,每部分可独立开发、 测试、最后组装成完整的程序。下面从两个方面来 阐明模块化程序设计方法在多轴加工中的应用。 1. 多轴定位加工 多轴定位加工是指在对工件的实际连续切削过 程中,加工工件或刀具主轴方位并不随切削的进给 而改变,即机床的旋转轴首先旋转,将工件(针对 具有旋转工作台的机床)或刀具主轴(针对具有旋 转主轴头的机床)旋转到一定方位,然后对工件进 行类同于三轴的数控加工(见图1)。 模块2的切削刀路与操作导航器的几何视图。 栏目主持索菲娅 图1 图1左侧所示外罩零件在六方面上需加工出一 组方槽和孔,端面上对应处也需加工出一组方槽, 适合五轴机床定位加工。按照常规编程思路须创建 18个加工操作,切削刀路与操作导航器的几何视图 如图1所示。而采用模块化程序设计方法首先划分 各加工模块(见图2),然后按各模块进行编程, 每个模块是程序最基本的单位,模块间的连接存在 上、下级调用关系。图3、图4分别为子模块1和子 图2 图3 图4 0 BEGIN PGM WaiZhao MM 1 BLK FORM 0.1 Z X-80 Y-80 Z+0 2 BLK FORM 0.2 X+80 Y+80 Z+55 3 L A0 C0 R0 FMAX 4 #(CX1 六方0°面上加工方槽和孔程序) 5 TOOL CALL 1 Z S3000 6 L Z+300 R0 FMAX M3 7 L X+0 Y+0 R0 FMAX 8 CYCL DEF 7.0 DATUM SHIFT 9 CYCL DEF 7.1 C+0;(0°) 10 L A-90 C+0 R0 FMAX M8

随钻地层压力检测方法及其应用

随钻地层压力检测方法及其应用 余明发1,2,李庆春3,黄彦庆1,徐孝日2Ξ (1.中国地质大学(北京);2.中油测井技术服务有限责任公司;3.中原油田地质录井处) 摘 要:在油气勘探工作中,油气层压力的预测和控制直接关系到钻井的成功率和油气田的勘探速度等问题。压力录井的方法可进行地层压力预测,有益于安全快速钻进。异常地层压力成因多样,随钻表现各不相同,灵活掌握运用检测方法,能有效捕捉信息,准确判断压力情况。dc指数和气体参数法是应用较多的地层压力检测方法,在钻达高压油气层之前,能预测异常高压的存在并对井控提供有效的技术支持。认真总结经验,抓住主要矛盾,仔细工作,完全可以作好地层压力预测工作。 关键词:录井;预测;地层压力;异常;随钻;dc指数;气测 前言 在油气勘探工作中,研究油气层压力,特别是油气层的异常压力及其预测和控制方法,有益于安全快速钻进,直接关系到钻井的成功率和油气田的勘探速度等问题〔1〕。 油气勘探开发的需要,使压力预测方法应运而生。压力预测是使用区域地质资料、地球物理勘探数据〔2〕、邻井测试资料以及随钻压力检测数据进行分析〔3〕,确定可能存在压力异常的层位和井段,并对地层压力做出预测的技术手段,地层压力预测可以为及时处理复杂情况提供充分的思想准备和物质准备。 在钻井施工现场,可采用压力录井的方法进行地层压力预测。压力录井是在实时录井过程中,使用钻井工程参数、气体检测参数、钻井液检测参数、岩石物理检测参数等录井数据,判断地层压力环境,预测地层压力数值的方法。 1 异常地层压力的概念 地层压力即作用于地层孔隙流体上的压力。在正常压实条件下,作用于孔隙流体的压力即为静水柱的压力。但是由于许多因素的影响,作用于地层孔隙流体的压力,很少是等于静水柱压力的。通常我们把偏离静水柱压力的地层孔隙流体压力称之为异常地层压力,或称为压力异常。 在成岩作用的过程中,造成高压异常的主要因素又可分为泥(页)岩压实作用、蒙脱石的脱水作用、胶结作用、热力作用和生化作用、渗析作用、构造运动、流体密度差异、注入作用(断层窜通)、地层压力充注造成异常高压等;低异常地层压力形成的原因有页岩减压膨胀以及地层温度降低等因素。 在油气田勘探开发的过程中,特别是在勘探阶段,国内外都非常重视油气藏压力异常情况的研究,认真找出异常地层压力变化的规律。在研究异常地层压力时常用压力系数或压力梯度来表示异常地层压力的大小。 2 随钻地层压力检测方法 预测异常地层压力的任务是确定异常地层压力带的层位和顶部深度,计算出异常地层压力值的大小。 具有高压,特别是超高压异常地层压力的油、气层在地下并非孤立地存在。正如在页岩的压实作用对异常压力形成的影响问题中指出的那样,高压或超高压储油、气层周围的混岩、页岩层,是处于从正常地层压力到异常地层压力过渡的地带上,因此,这个过渡地带上的泥岩、页岩也就具备了高压或超高压异常地层压力的特征。与远离高压异常带的,属于正常压实的页岩、泥岩相比,过渡带的泥岩、页岩由于是欠压实的,因此,其密度小,孔隙度大。在钻井过程中,当钻入过渡带时,还可能产生井喷、井漏、井涌以及钻井参数出现异常等现象。人们对过渡带的这些显示进行仔细的观察和研究,便可预测异常地层压力。 Ξ收稿日期:2007-02-22 作者简介:余明发1964年生,1985年毕业于江汉石油学院勘探系石油地质专业,现为中国地质大学(北京)在读博士生、中油测井技术服务有限责任公司解释研究中心高级地质师。

家具模块化设计方法实例分析

家具模块化设计方法实例分析 1 前言 当前,消费者对家具的个性化需求日益凸显,如何满足这种需求差不多成为越来越多家具企业进展的关键。要做到既符合现代机械化生产的进展主流,又节约成本,且能提高产品的市场竞争力。这确实为难了许多的家具企业。有一坐企业尝试通过从销售终端满足个性化,但众多形态各异、尺寸繁多的家具定单从销售端传送至生产和设计部门,却带来了新的矛盾:设计任务艰巨、生产设计难排、产品质量难以保证,甚至由于部件尺寸的相近导致出错率增加、生产效率低下。有一些敢于吃螃蟹的企业尝试从设计入手,通过标准零部件的设计、组合成新产品来满足这种“个性化”“的需求。但遗憾的是,这种做法并未带来预期的效果,单一的产品导致了销售客额和顾客中意率的下降。因此,如何实现产品的个性化?是从销售端,依旧从设计与生产端着手呢?这是家具企业必须依照企业现状做出回答的问题。定制是从销售端解决问题,而模块化设计是从设计端解决问题,旨在通过设计具有标准性和通用性的功能模块,达到组合成多样化的家具的目的。毫无疑问,模块化设计在家具业具有专门大的进展潜力,它既能解决个性化需求的问题,还能做到低成本与高效率。

模块化设计属于方法学的范畴,在其他工业行业中差不多得到了长足的进展。由于家具消费环塘和制造环境的变化,模块化设计以其特有的优势,开始在家具行业尤其是办公家具中应用。而关于民用家具,近年来个性化需求与家具企业的生产矛盾日益突出,有关模块化设计的探究才刚刚开始。鉴于国内尚无系统的家具模块化设计理论来指导企业的实践,本文着重以衣橱为例,详细具体地分析单个家具的非模块化设计过程,以进一步明确家具模块化设计的必要性和可操作性。 2 设计概念及设计方法 家具模块化设计指的是在对家具进行功能分析的基础上,划分并设计出一系列的家具功能模块,通过功能模块的选择与组合构成不同的家具,以满足市场多样化需求的设计方法。与传统的设计方法相比较,家具模块化设计呈现出许多新特征。首先,它是针对模块和家具产品系统的设计,既要设计模块,又要设计家具成品。其次,它以标准化、通用化的零部件快速组合成家具,能实现家具的多样化。模块化设计不同于标准化设计,标准化设计带来的是单一的产品,而模块化设计则不然,在设计之初就考虑模块可组合成产品的多样性。因此模块化设计是在标准化设计基础之上,实现产品多样化的一种方法。 依照家具模块化设计的概念,笔者提出从三个层次展开家具的模块化设计。第一层次是家具模块化总体设计。那个时期要紧

51单片机模块化编程设计与实例要点分析

模块化编程设计题 一、简述模块化编程的必要性(模块化的优点) 参考答案: 大多数的编程学习者一开始接触和学习到的程序很小,代码量很少,甚至只有几十行。对于这样短小的程序进行模块化设计不是完全必要的。很多情况下程序模块化设计需要“浪费”很多时间,例如增加了代码的数量,增加了构思的时间。把所有的程序代码都写在一个main()函数中程序完全可以运行。 但是随着学习的深入,代码量的增加,将所有的代码都放在同一个.C文件中的做法越发使得程序结构混乱,虽然可以运行,但是可读性、可移植性变差。即使是自己写的程序,时间长以后对程序的阅读和修改也要花一些时间。模块化编程使得程序的组织结构更加富有层次感,立体感和降低程序的耦合度。 在大规模程序开发中,一个程序由很多个模块组成,很可能,这些模块的编写任务被分配到不同的人。几乎所有商用程序都必须使用模块化程序设计理念。在程序的设计过程中各个开发者分工合作,分别完成某一模块特定的功能,减少开发时间等。 二、模块化编程设计步骤 (1)、创建头文件 在模块化编程中,往往会有多个C文件,而且每个C文件的作用不尽相同。在我们的C 文件中,由于需要对外提供接口,因此还必须有一些函数或者是变量提供给外部其它文件进行调用。对于每一个模块都有相应的.c文件和.h文件,为了阅读调试方便,原则上.c文件和.h文件同名,如和。 (2)防重复包含 例如文件 #ifndef__DELAY_H__ #define__DELAY_H__ void delay(uint t); #endif 假如有两个不同源文件需要调用delay(uint t)这个函数,他们分别都通过#include “”把这个头文件包含了进去。在第一个源文件进行编译时候,由于没有定义过因此#ifndef__DELAY_H__条件成立,于是定义_DELAY_H_ 并将下面的声明包含进去。在第二个文件编译时候,由于第一个文件包含时候,已经将_DELAY_H_定义过了。因此#ifndef__DELAY_H__不成立,整个头文件内容就没有被包含。假设没有这样的条件编译语句,那么两个文件都包含了delay(uint t);就会引起重复包含的错误。所以在.h文件中,为了防止出现错误都进行防重复包含。 (3)代码封装 将需要模块化的进行代码封装 头文件的作用可以称其为一份接口描述文件。其文件内部不应该包含任何实质性的函数代码。我们可以把这个头文件理解成为一份说明书,说明的内容就是我们的模块对外提供的接口函数或者是接口变量。同时该文件也包含了一些很重要的宏定义以及一些结构体的信息,离开了这些信息,很可能就无法正常使用接口函数或者是接口变量。但是总的原则是:不该让外界知道的信息就不应该出现在头文件里(不需要外部调用的函数不在头文件中申明),而外界调用模块内接口函数或者是接口变量所必须的信息就一定要出现在头文件里(需要被外部调用的函数一定要在头文件中申明),否则,外界就无法正确的调用我们提供的接口功能。

地层压力定量计算方法

地层压力的定量计算 对任何井及区块地层压力的认识首先是从对区域地震剖面、地质构造、地层沉积史、油气运移、生排烃史以及周边和实钻资料的综合分析获得的,在此基础上建立区域地层压力模型,绘制出地层压力、破裂压力和上覆地层压力剖面,并对即将钻探的井提出具有指导性的意见和套管下深结构建议。在随后的实钻过程中,通过对实时钻井数据的分析不断修改和完善预测结果。最后以实测的地层压力数据对所建立的地层压力剖面及模型加以校正。 由此可见对地层压力的认识是一个不断认知-更新的过程,地层压力预测、评价服务贯穿了一口井从设计到完井的始终。为了将问题简单化我们按其和钻井作业的对应关系将地层压力预测、监测和评价大致分为:钻前地层压力预测、随钻地层压力监测和钻后地层压力评价三部分。其中随钻地层压力监测是对地层压力准确认识的关键,它关系到钻井作业的成败。 一、地层压力检测所需资料 地层压力检测结果出自对定量数据的计算和对定性数据的分析。所需的资料大致分为数据类、图表类和文字描述类。 数据类:预测井和临井经深度校正后的地层层速度数据及分层数据;预测井和临井的海拔高度、补心高度、钻盘面距名义海平面距离、井位坐标及地下水平面高度数据;临井套管下深结构数据;临井钻井录井数据,包括:井深、垂深、钻速、钻压、气测、出/入口泥浆密度、出/入口泥浆温度、ECD、Dxc等;临井的测井或LWD数据,包括:然伽玛或自然电位、深浅电阻率、声波、岩石密度等数据;临井实测地层压力数据,包括:MDT、RFT或DST;临井地层漏失实验(LOT)或地层完整性实验FIT数据。 图表类:临井综合录井图和地层压力录井图;过井地震剖面;预测井含临井的地理位置图。 文字描述类:临井岩屑和岩芯定名及描述;临井地质完井报告、钻井报告和井史;临井井漏、井涌、井喷记录。 二、伊顿法地层压力的定量计算 对地层压力的计算通常基于Terzaghi (1948)的应力模型,也既是:P f=S-σ 。在具体的计算中使用伊顿,所得出的为孔隙压力梯度而不是压力。 1. 使用测井电阻率计算孔隙压力梯度: Pf=OBG-((OBG-Pn)*(Ro/Rn)1.2) 式中: P f =孔隙压力梯度 OBG=上覆压力梯度 P n=正常孔隙压力梯度,通常取1.034。 R o=实测泥岩电阻率 R n=正常泥岩电阻率,来自于正常压实趋势线 2. 使用测井声波计算孔隙压力梯度: Pf=OBG-((OBG-Pn)*(dTn/dTo)3) 式中:dT n=正常压实泥岩中声波速度,来自于来自于正常压实趋势线 dT o=实测泥岩声波速度 3. 使用Dxc计算孔隙压力梯度: Pf=OBG-((OBG-Pn)*(Do/Dn)1.2) 式中:D o=实测Dxc D n=正常压实泥岩中Dxc,来自于来自于正常压实趋势线

模块化产品设计的一些思考和体会-王志华

模块化产品设计的一些思考和体会 一、产品开发工作的挑战 在剧烈变动的3C时代(客户Customer、竞争Compete和变化Change),要想赢得竞争的胜利,企业必须通过优化整个产品开发来缩短产品上市时间、提高产品质量、降低成本,同时还要不断通过研发创新来满足客户的变化需求。技术的飞速进步,引起产品越来越复杂,随着客户对教学产品个性化需求程度的增加,也导致产品定制化趋势越来越明显,企业必须创建数量庞大的产品系列来满足学校不断变化的需求。随着现代科技的发展,模块化已成为工程产品的主要发展趋势之一,作为标准化的新形式,模块化被视为实现产品多样化的主要途径。 二、模块化产品设计概念 1、模块的历史来源 模块并不是一个新的概念,早在20世纪初期的建筑行业中,将建筑按照功能分成可以自由组合的建筑单元的概念就已经存在,这时的建筑模块强调在几何尺寸上可以实现连接和互换。然后,模块被引入机械制造业,人们进一步将模块与物理产品的功能联系到了一起,模块具有了明确的功能定义特征、几何连接接口,以及功能输入、输出接口特征。 2、现代模块化的诞生 模块的演变过程是从单纯的几何结构单元,发展到集成功能单元,又演变成为非物理实体的载体,如知识和软件等。 1965年之前,计算机都是整机制造的,当时的设计是相互依赖的,之所以这样是因为计算机系统太复杂了。在这种复杂性灾难之下,不可能像现在这样按照某种标准,遵照通用化原则,设计具有兼容性的可以实现工业化大生产的产品,使得计算机在当时非常昂贵。 比如1944年在美国国防部的资助下,由J.Presper Eckert Jr 和W.Mauchly领导的小组在宾夕法尼亚大学建造了一台名为ENIAC(电子数字积分计算机Electronic Numerical Integrator And Calculator)的计算机。生产完全是在试错过程中进行,应用完全是实验性的。 1945年当ENIACt投入使用之后,设计者累积的知识使他们明白了如何建造一台性能更好的机器。他们把想象中的机器命名为ENVAC,并把计算机系统界定为一种“组合式”制品。标明其关键组成部分是基本存储器、控制单元、运算“器官”、输入/输出和辅助存储器(IBM360电脑)。 随着计算机软件技术的发展,模块的概念又被用到了非物理产品领域,在软件行业模块的概念被广泛的实践着,大型的软件系统(比如PTC公司的Windchill系统)的模块化趋势越来越明显。 3、模块设计的案例 平台化、模块化的产品战略已经有很多成功的案例在世界很多的著名公司中应用。日本索尼公司在20世纪80年代仅利用4个基础平台的Walkman产品,生产出250余种录音机随身听。这250种随身听无论在价位、功能和款式上都有很大的区别,可以满足用户的各种不同需求,但是这4个基础平台却存在着大量的重用模块。 “平台”概念最早由大众集团提出并实践,并在PQ34平台上获得了巨大的成功。PQ24,PQ25,PQ34,PQ35,PQ46,PL45,PQ2,PQ3。 P*4等。大众现在基本上已经逐渐放弃平台的概念,而采取更抽象的“模

模块化在产品设计中的运用

模块化在产品设计中的使用 产品设计初期,设计变更所影响的产品架构幅度较大,反复的设计变 更导致于产品架构与功能模组之间也持续地跟着变动,如此变动造成 在产品开发初期花费太多时间于模组化过程中,导致产品开发时间过长,延迟产品上市时间,不利于产品取得市场优势。系统层级设计阶 段主要是根据产品概念发展阶段所产出的产品雏型,定义产品的结构,产品子系统与构件之划分以及产品系统的最终组装方案等,在此阶段 产品架构定义明确,不容易产生大变动的设计变更,所以在系统层级 设计阶段根据产品架构定义产品模块,界定模块界面,避免花费太多 时间于大幅度及重复地模块化变更,以缩短产品开发之时间。 1模块化产品设计原则 产品的构成是由很多的零件在空间上实行装配而成,但一产品的组成 少则十几个零件,多则上千上万个零件,如何将这些零件依产品之架 构分成不同之模块,模块的范围如何界定,在模块化过程中应依据哪 些准则,基于上述之问题本研究提出之模组化设计的原则如下。 (1)单一功能化:模块单一功能化应是产品模块化设计的第一步, 一产品按照其功能能够区分为不同的系统,例如自行车依其功能性不 同可分为五大系统包含车架系统、制动系统、车轮系统、传动系统及 转向系统,而这五大系统既可分为五个模组。 (2)标准化:也能够称之为重复化,就是同样的零组件重复出现在 不同的产品上。在产品开发过程中重复使用现有零组件,能够分摊开 发的成本,降低新零件数量,缩短整体开发时程。标准化分为内部标 准化及外部标准化。 (3)规格化:也可称之为参数化或数据化。模块化设计强调模块可 搭配变换,所以模块与模块之间锁固方式的相关参数(例如螺栓大小、螺栓孔数量、螺栓孔距离等),及模块实体的相关参数,须建立系统

家具模块化设计

技术:家具模块化设计方法实例分析 1前言 当前,消费者对家具的个性化需求日益凸显,如何满足这种需求已经成为越来越多家具企业发展的关键。要做到既符合现代机械化生产的发展主流,又节约成本,且能提高产品的市场竞争力。这确实为难了不少的家具企业。有一坐企业尝试通过从销售终端满足个性化,但众多形态各异、尺寸繁多的家具定单从销售端传送至生产和设计部门,却带来了新的矛盾:设计任务艰巨、生产设计难排、产品质量难以保证,甚至由于部件尺寸的相近导致出错率增加、生产效率低下。有一些敢于吃螃蟹的企业尝试从设计入手,通过标准零部件的设计、组合成新产品来满足这种“个性化”“的需求。但遗憾的是,这种做法并未带来预期的效果,单一的产品导致了销售客额和顾客满意率的下降。所以,如何实现产品的个性化?是从销售端,还是从设计与生产端着手呢?这是家具企业必须根据企业现状做出回答的问题。定制是从销售端解决问题,而模块化设计是从设计端解决问题,旨在通过设计具有标准性和通用性的功能模块,达到组合成多样化的家具的目的。毫无疑问,模块化设计在家具业具有很大的发展潜力,它既能解决个性化需求的问题,还能做到低成本与高效率。 模块化设计属于方法学的范畴,在其他工业行业中已经得到了长足的发展。由于家具消费环塘和制造环境的变化,模块化设计以其特有的优势,开始在家具行业尤其是办公家具中应用。而对于民用家具,近年来个性化需求与家具企业的生产矛盾日益突出,有关模块化设计的探索才刚刚开始。鉴于国内尚无系统的家具模块化设计理论来指导企业的实践,本文着重以衣橱为例,详细具体地分析单个家具的非模块化设计过程,以进一步明确家具模块化设计的必要性和可操作性。 2设计概念及设计方法 家具模块化设计指的是在对家具进行功能分析的基础上,划分并设计出一系列的家具功能模块,通过功能模块的选择与组合构成不同的家具,以满足市场多样化需求的设计方法。与传统的设计方法相比较,家具模块化设计呈现出许多新特征。首先,它是针对模块和家具产品系统的设计,既要设计模块,又要设计家具成品。其次,它以标准化、通用化的零部件快速组合成家具,能实现家具的多样化。模块化设计不同于标准化设计,标准化设计带来的是单一的产品,而模块化设计则不然,在设计之初就考虑模块可组合成产品的多样性。因此模块化设计是在标准化设计基础之上,实现产品多样化的一种方法。 根据家具模块化设计的概念,笔者提出从三个层次展开家具的模块化设计。第一层次是家具模块化总体设计。这个阶段主要是进行模块化系统的总体策划,确定模块化实施的范围。良好的模块化总体设计,是模块化设计得以实现的基础。第二层次是家具模块设计,这是模块化设计系统具体化的过程,是承上启下的环节。模块化设计的好坏,直接影响到模块化家具组合的最终效果。第三层次是家具模块化产品设计。这个阶段主要是选择模块,评价模块可能组合方式的合理性,然后根据消费者的需求组合成家具。从这三个层次可看出,家具模块化设计自上而下,从总到细,各个层次的设计环环相扣。 3设计实例

实验三模块化程序设计

实验三模块化程序设计 【实验目的】 1.理解和掌握多模块的程序设计与调试的方法; 2.掌握函数的定义和调用的方法; 3.学会使用递归方法进行程序设计。 【实验内容】 1.编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。 实验步骤与要求: (1) 编写一个函数isprime(n),如果n是素数返回1,否则返回0。 (2) 编写一个主函数,输入一个整数,调用isprime( )函数,判断此整数是否为素数,并输出结果。 函数isprime(n)算法说明: (1) k = sqrt(n) (2) i = 2 (3) 当i <= k时,执行()(),否则转(4) if ( m % i == 0 ) return 0 i=i+1 (4) return 1 #include<> #include<> int isprime(int n) { int i;

double k; i=2; k = sqrt(n); while(i<=k) { if(n%i==0) return 0; i++; } return 1; } main() { int a; int t=1; printf("请输入一个整数\n"); scanf("%d",&a); t=isprime(a); printf("%d",a); if(t==0) printf("不是素数\n"); else printf("不是素数\n"); } 2.编写函数Celsius返回华氏温度对应的摄氏温度,函数Fahrenheit返回摄氏温度对应的华氏温度。用这些函数编写程序,打印从0到100的所有摄氏温度及对应的华氏温度,32到212度的所有华氏温度及对应的摄氏温度。

一个理想的模块化程序设计案例

一个理想的模块化程序设计案例 吕振洪 浙江师范大学,浙江金华,321004 jhlzhxch@https://www.360docs.net/doc/6c15706414.html, 摘要:模块化的抽象思维能力在项目开发过程中至关重要。但在C语言的教学、训练中,鲜有好的项目让学生理解、消化用模块化程序设计对解决问题带来的影响和优势。本文通过“Turbo C 2.0菜单系统”这案例,把项目分解成一些小模块,先让学生分步实现各模块,后按模块化程序设计的思路再优化原实现,最后逐步组装成“菜单系统”这项目。项目实施过程紧凑,代码简洁且可读性好。该案例也可应用于8086系列汇编语言课程的教学。 关键词:模块化程序赫斯基,菜单系统,优化,数据结构 1引言 在C语言教学中,教师需解决“教学中的理论内容在实际中如何应用?”这问题。教材中鲜有较好的案例来指导模块化程序设计[1]。本文以Turbo C 2.0菜单系统为例,利用“→”、“←”、“↑”、“↓”、“Esc”、“Enter”、“Alt-X”这些键在Windows的控制台环境下来模拟完成菜单的操作。该菜单系统的逻辑结构如下图一: 图一 Turbo C 2.0的逻辑菜单 目前的面向对象的程序设计语言要实现这样的菜单已非常简单。 但对C语言的初学者来说,通过这案例可在三个方面来强化模块化设计:一是实现Turbo C系统该怎样模块化设计;二是菜单系统的模块化设计;三是实现小的功能时的模块化设计。 2菜单系统的数据组织 我们希望所编写的菜单程序能处理各种各样的菜单,这需要有好的数据结构[3]。一方面要有好的菜单存储结构,另一方面是满足菜单系统选择处理所需的数据模型[2]。 2.1 菜单的存储结构 从菜单系统的逻辑结构图可看出:主菜单里包含子菜单,子菜单里含子菜单或菜单项。根据这样的递归结构,我们可用如下的存储结构来解决: typedef struct MenuItemStru{ int SubMenuItemCount; int SubMenuItemWidth; MenuItemStru * pSubMenuAddr; int MenuItemStrWidth; char * MenuItemStrAddr; }

模块化设计

模块化设计 在许多具有复杂系统的领域中,模块化都被证明是一个有用的概念。这个总的概念包含两个附属观点。第一个观点是不同模块内部的相互依赖关系和模块之间的独立性。模块是一个单元,其结构要素紧密地联系在一起,而与其他单元中要素的联系相对较弱。这种不同的关联度导致了不同的模块化等级。换句话说,模块就是大系统单元,这些单元虽然结构上相互独立,但是共同发挥作用。因此,系统作为一个整天必须提供一个框架---一个架构----从而既保证结构的独立性又保证功能的一体化。 一、概念 所谓的模块化设计,简单地说就是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。 模块化设计思想有两条基本原则:力求以少量的模块组成尽可能多的产品,并在满足要求的基础上使产品精度高、性能稳定、结构简单、成本低廉,模块间的联系尽可能简单;模块的系列化,其目的在于用有限的产品品种和规格来最大限度又经济合理地满足用户的要求。 二、主要特点 模块化设计可以通过模块的选择和组合构成不同的顾客定制的产品,以满足市场的不同需求。而且这是相似性原理在产品功能和结构上的应用,通过模块化设计我们可以实现标准化与多样化的有机结合及多品种、小批量与效率的有效统一,这是模块化设计的主要特点。 三、模块化设计的应用、 现如今模块化设计思想已经应用到各个领域: 1、模块化软件在AVR单片机及教学机器人上的应用。该软件在设计上采用了模块化,将机器人的各个动作指令如直行、转向、启动关闭电机等模块化,在编写程序的时候只需将各个指令模块经行组合,即可完成对机器人动作指令的简单编写。 2、模块化机器人。机器人的模块化,就是将机器人某些要素组合在一起,构成一个具有特定功能的子系统;再将这个子系统作为通用性的模块与其他子系统进行组合,构成一个完整的机器人,甚至产生多种不同功能或相同功能、不同性能的效果。 通过机器人的模块化过程有助于研究和开发。将机器人的各个组分分离开来进行研究,可以降低机器人研发的复杂度,使设计、制作、调试和维护等过程简单化、经济化、高效化;

模块化程序设计实例,DOC

9 .5 模块化程序设计实例 《程序设计基础》(基于C语言讲解)石光华编著—北京: 清华大学出版社 下面以设计一个简单的成绩管理软件为例,一步一步地按模块化程序设计方法进行设计。 1 .定义问题 设计一个成绩管理软件,其基本功能包括:输入成绩,成绩加分,计算平均成绩,找出最高分,找出最低分,输出成绩等。 2 .确定组成程序的模块 根据成绩管理软件的功能,确定软件的基本模块包括:输入模块,加分模块,平均分模块,最高分模块,最低分模块,输出模块等。 142 程序设计基础 3 .绘制程序结构图 成绩管理软件的结构图如图9-5所示。 图9-5 成绩管理软件结构图 4 .流程图 用流程图确定主程序的逻辑结构,如图9-6所示。 在流程图中,istate 的作用是记录是否已经输入成绩。istate 的使用有如下两种 方式。 (1) 作为全局变量使用。此时istate可以在所有模块中改变其值,主程序更简洁,但 可能产生边际效应。 (2) 作为主程序的局部变量使用。此时istate只能在主程序中改变其值。在主程序 中可以直观地看到其变化,能够防止边际效应。 采用方式(2)的主程序如下。

#include < stdio .h> #define SIZE 10 void main() { int iscore[SIZE] ={0}; int key= - 1; int iresult=0; float fresult=0; int istate=0; printf(″1:Input scores;\n″); 第9章模块化程序设计 143 图9-6 成绩管理软件主程序流程图 printf(″2:Output scores;\n″); printf(″3:Count for the max score;\n″); printf(″4:Count for the minimum score;\n″); printf(″5:Count for the total score;\n″); printf(″6:Count for theaverage score;\n″); printf(″- 1:Exit .\n″); while(1) { printf(″Please input your choose:″); scanf(″%d″,&key); if (key = = - 1) 144 程序设计基础

相关文档
最新文档