资源目录
压缩包内文档预览:(预览前20页/共26页)
编号:551759
类型:共享资源
大小:159.28KB
格式:ZIP
上传时间:2015-12-04
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
机械毕业设计论文
- 资源描述:
-
机械毕业设计1506谐波齿轮机构的设计,机械毕业设计论文
- 内容简介:
-
第 1 页 共 26 页 第 1 章 谐波齿轮概述 1.1 概述 1.1.1 谐波齿轮技术的发展概况 谐波齿轮传动的 传 动原理与普通齿轮传动不同,它是利用控制柔性齿轮的弹性变形来实现传递运动和动力的。谐波齿轮传动一般有波发生器、柔性齿轮和刚性齿轮三个基本构件。因为,由波发生器的作用迫使柔性齿轮所产生的变形波是一个基本对称的简谐波,故称这种机械传动形式为谐波传动。 谐波齿轮传动是谐波传动中的一种主要结构类型;它是以齿轮作为基本元件的谐波传动形式。此外,谐波齿轮还包括:谐波摩擦传动、谐波螺旋传动和谐波无级变速传动 等结构类型。 我过于 60 年 代中期,国内有关的研究机构开始引进了谐波传动这项新技术,并开展了该项目的研究工作。 70年代末,我国许多的工业部门、机械研究所和有关的工科院校都先后对谐波齿轮传动进行了理论和试验研究以及设计试制等工作,研制出了一些性能较好的谐波齿轮减速器。自 1980 年起,我国也开始了谐波齿轮的标准化和系列化工作。经过约 5 年时间的研究试制,于 1985 年制订了中小功率的通用谐波齿轮减速器的标准系列。从而,使我国成为世界上具有通用谐波齿轮减速 器标准的第四个国家。 1.1.2 谐波齿轮机构的结构组成 谐波齿轮机构通常由波发生器 H、柔轮 g 和刚轮 b(采用具有刚性齿轮的行星机构相类似的符号来表示)三个基本构件所组成。如下图所示: 1-波发生器 2-柔轮 3-刚轮 在谐波传动中,波发生器 H旋转一圈,柔轮上某一点变形的循环次数,叫做柔轮的变形波数,用符号 u 表示;即变形波数 u应按柔轮 g与刚轮 b同时啮合的区域数目来确定。在一般情况下,可以采用单波( u=1)、双波( u=2) 、三波( u=3)、四波( u=4)传动。但由于受到柔轮 g 材料许用应力的限制,通常大都采用的是双波( u=2)和三波( u=3)传动;目前,应用较广泛的仍然是双波( u=2)传动。而刚轮 b 和柔轮 g 的齿数差,一般应取为nts 第 2 页 共 26 页 柔轮 g的变形波数 u,即 Zb- Zg=u;或者在某写情况下取成 u的倍数。 柔轮的变形波数 u 和刚轮 b 与柔轮 g 的齿数差 Zp=Zb-Zg的选择应按柔轮的强度条件和传动比的大小确定。对于传动比 i80 的刚制柔 轮 g,采用变形波数 u=2 和齿数差 Zp= Zb-Zg =2较为合理。对于传动比 i120 的情况,当齿数差 Zp= Zb-Zg =3 时,则了采用柔轮的变形波数 u=3。 当变形波数 u=2,而齿数差 Zp=Zb-Zg=0 (零齿差 )时 ,这种零齿差的齿轮 副啮合也是完全可以实现的 .在这种 情况下 ,谐波齿轮减速器便转化为谐波齿轮连轴器 ;即成为柔轮 g与输出刚轮 b的轮齿相互啮合的连接方式 。 1.2 谐波齿轮机构的主要特点 由于谐波齿轮传动中具有一个柔性构件 (柔轮 g),所以 ,与具有刚性构件的行星齿轮传动相比较 ,谐波齿轮 机构具有以下几个主要特点 : a. 结构简单 ,重量轻 ,体积小 .由于谐波齿轮机构的零件数目较少 ,其主要零件只有刚轮 b、柔轮 g 和波发生 器 H 三个。所以,在相同的工作条件下,谐波齿轮传动的体积约为普通齿轮传动体积的 1/3 1/2 左右。零件数约少一半 ,结构简单 、重量也减少了许多。 b. 单级传动比大,且传动比范围宽。一般单级谐波齿轮机构的传动比为 i=60 100。当采用行星式波发生器 H 时,其传动 比为 150 4000;而采用双级或复波谐波传动时,则其传动比 i 可达 106。 c. 同时参与啮合的齿数多。 在承受载荷情况下,双波传动同时啮合齿数 可达总齿数的 30% 50%;采用三波传动则更多。而普通圆柱齿轮同时啮合齿数一般为两对左右, 即重合度 =1 2。不 过,应该指出:谐波齿轮机构工作时同时啮合的齿轮与其所选用的波发生器的结构形式、啮合参数和所转矩的大小有关,故不能一概而论。由于谐波齿轮传动同时参与啮合的轮齿数目多,即可承受载荷的轮齿数目也多,故其传动平稳,承载能力大。 d. 传动精度高。由于谐波机构同时啮合的齿数较多,其轮齿误差能相互补偿一部分。一般情况下,谐波齿轮传动与相同精度等级的普通齿轮传动相比,其传动精度较高,有的精度可达倍左右。 e. 齿面磨损小而且均匀。当正确选择 啮合参数时,柔轮的轮齿相对于刚轮的轮齿将沿着一条滑动路径很短的轨迹移动。 此时,轮 齿间的相对滑动速度要比刚性齿轮传动小许多倍。另外,两轮齿的啮合接近于面接触。因此,在谐波机构的传动过程中,轮齿工作面磨损小,而且均匀。 f. 传动效率高。谐波齿轮机构的传动效率与其结构、加工精度、表面粗糙度和润滑有关。当传动比 i =80 300 时,其单级的传动效率约为 =0.7 0.9。一般,谐波机构本身是不能自锁的,故它既可作为减速器,又可作为增速器。 g. 空回量小,并可实现无侧隙传动。在谐波齿轮机构的传动过程中,由于轮齿的相nts 第 3 页 共 26 页 互摩擦而致使其产生空回量。但其空回量的大小可借助于调整波发生器的尺寸(比如凸 轮的长、短轴)来进行调整;甚至可以调整轮齿间的侧隙为零,以保证获得无侧隙传动 。 h. 运动平稳,无冲击。由于同时参与啮合的齿数多,两轮齿的啮合接近于面接触。而且,柔轮的啮入和啮出是随着其本身的变形而逐渐进入和退出刚轮齿槽间的,因此,其运动平稳,无冲击现象。 i. 传动的同轴性好。由于谐波机构中的输入轴与输出轴大都位于同一轴线上,所以,该传动的同轴性能良好。 j. 可实现向密封空间传递运动或动力。由于柔轮被固定后,它既可用作为封闭传动装置的壳体,又可以产生弹性变形,即完成错齿运动,从而达到传递运动或动力的目的 。因此,它可用在操纵高温、高压的管道,以及用来驱动在高真空、有原子辐射或其他有害介质空间的传动机构。这是现有的其它传动机构所不能及的。 尽管谐波齿轮机构具有上述的优点,但也存在着一些缺点。它的缺点如下: a. 谐波齿轮传动的传动比下限值较高,当采用刚制 柔轮时,其单级传动比不得小于60。目前,虽然也可能见到 传动比为 35 60 的谐波齿轮机构,但它们三采用昂贵的特种钢制造的。因为,其传动比的下限值受到柔轮工作时的最大应力max的限制。一般情况是 :传动比 i值越大,采 用谐波齿轮机构的传动效果越好。但是,其单级传动比的上限值又受到啮合轮齿的最小模数值和轮齿啮入深度的限制,故其传动比的上限值为: 350 400。 b. 柔轮和拨发生器的制造较复杂,需要专门的设备,这样就给单件生产和修理工作带来了困难,因而使其制造成本较高。但是,在专业化的工厂中,进行大批量的生产时,由于采用专门的工装夹具和新的工艺,则可使谐波齿轮机构的制造成本比行星齿轮机构的制造成本低。 c. 谐波齿轮机构一般做成相交轴的传动结构。 由上述可见,谐波齿轮传动与普通齿轮传动、蜗杆蜗轮传动等比较,具有许多 独特的优点,而且日益得到人们的重视和广泛应用。它非常适用于作为大传动比的齿轮减速器和机械分度机构、伺服装置、雷达装置及自动控制等高精度的传动系统中。在机械自动化方面,可用于数控机床的传动装置,回转机构 的减速器。在军事装备方面,可用作火炮瞄准机的减速装置、坦克和自行火炮炮塔回转机的减速器、无线电通讯天线的传动机构、雷达天线驱动系统的传动机构、飞机螺旋桨的强力谐波传动机构。在航天飞行方面,可用谐波传动马达代替火箭中的液体原动机和人造卫星仪器上的谐波马达等。 1.3 谐波齿轮机构的传动原理 对于采用凸轮拨发生器 的谐波齿轮机构,在装配前,柔轮的原始剖面为圆形。柔轮和刚轮的齿矩 p(周节)相等,但刚轮的齿数比柔轮的齿数要多。波发生器的椭圆长轴比未变形柔轮的内圆直径略大 /当拨发生器装入柔轮的内圆时,迫使柔轮产生弹性变形,而使其变为椭圆形。当刚轮固定,波发生器为输入件,柔轮为输出件时,其传动原理为: 如下图所示: nts 第 4 页 共 26 页 当波发生器在原动机的驱动下于柔轮内旋转时,就迫使柔轮不断地产生变形,于是,柔轮的轮齿就在变形的过程中逐渐进入或退出刚轮的齿间。在波发生器的椭圆长轴方向,柔轮与刚轮成为完全啮合状态(简称啮合);而在波发生器的 椭圆短轴方向,则处于完全脱开状态 (简称脱开) 。而处于波发生器长轴与短轴之间(如 45o 方向)的轮齿, 沿柔轮轴长的不同区段内,有的轮齿逐渐进入刚轮的齿间,而处于半啮合状态,称为啮入;有的齿轮则逐渐退出刚轮的齿间,而处于半脱开状态,称为啮出。由于波发生器在柔轮内进行连续转动,便使得两轮轮齿的啮入、啮合、啮出、脱开这四种状态不断地改变各自原来的工作情况,而产生所谓的错齿运动。正是由于存在着这种相互的错齿运动,才能把输入 运动变成为输出运动。例如,将波发生器输入的角速度 H ,经减速传动而变成柔轮输出的角速度 g, 此时,刚轮固定不动,柔轮便向着与波发生器旋转相反的方向转动。对于双波传动( u=2)的运动规律是:波发生器 H旋转一周(周长 2 rH ), 柔轮相对于刚轮在圆周方向转过两个齿矩 2p 的弧长;若 H 旋转二分之一圈时,柔轮就转过一个齿矩 p 的弧长;若 H 旋转四分之一圈时,则柔轮便转过 p/2( p为齿矩)的弧长;依次类推 。 在旋转波发生器迫使柔轮产生弹性变形的过程中,对于柔轮上各点的运动情况简述如下: 根据柔轮的结构特点,可将柔轮筒体视为一个圆柱弹性壳体来进行分析。 通过未变形柔轮壁厚中间线的圆柱面,称为柔轮的原始中面。柔轮变形后 的中面,称为柔轮变形中面。而垂直于圆柱壳体轴线的截面与中面的交线,称为柔轮的中线;以符号rm表示未变形时的中线半径。 首先,假定在啮合传动各构件的相互关系为:柔轮 g 固定,波发生器 H 输入,刚轮 b输出。如下图所示: nts 第 5 页 共 26 页 在弹性力学理论中,通常应研究壳体中面上点的位移,即圆周切向的位移 v、径向方向的位移 w 和轴向位移 u。因轴向位移 u 对谐波传动的运动学研究影响不大,因此,可将柔轮变形的研究简化为平面问题,故仅需要分析柔轮中线上的切向位移 v和径向位移 w。 当忽略柔轮壁厚 的影响,波发生器可使柔轮按预定的形状产生变形,即有 =1 ( ) (1) 式中, 为自变形长轴开始的未变 形柔轮中线上点的角位移。 对于双波传动( u=2) , 1 ( )是以 为周期的函数关系。 根据柔轮中线不伸长的假设条件(因柔轮受 载荷变形后,其中线伸长量极微小),则可使得切向的位移为 =- wd =2 ( ) (2) 对于双波传动( u=2) ,当波发生器以角速度 H 顺时针旋转时,其角位移为 H =wH t,则柔轮中线上的点相对于长轴位置的角位移量为 - H = -wH t; t 为波发生器旋转的时间。此时,由( 1)、( 2)式可得 W= 1 ( - wH t) = 2 ( -wH t) (3) 上式确定了柔轮中线上与起始长轴位置呈一夹角 的点的运动轨迹。若取 =0(即 A点),则 当波发生器的转角 H =00 1800 时,柔轮中线上的 A 点将沿着 A、 A1 、 A2 、 A3、 A的封闭环行轨迹运动。该环行的形状取决于 位移 w和 v值 的大小。而固连于 A点的柔轮的齿将随 A点一起运动,从而,推动刚轮沿着与波发生器相同的方向旋转。当波发生器转一圈时, A 点将沿环行轨迹转过两圈,即刚轮相对于被固定的柔轮错过两个轮齿。 nts 第 6 页 共 26 页 应该指出,尽管柔轮上各点与起始长轴的相对位置不同,即各点的起始 相位角不同,而其中线上各点的运动轨迹都相同。正因为中线上各点的起始相位角不同,才使得柔轮的各个轮齿处于不同的啮合状态。 1.4 谐波齿轮传动的结构分类 1.4.1 按变形波数可分为 a. 单波传动 其齿数差为 1。由于在该谐波传动中,其柔轮变形的不对称性和啮合作用 力的不平衡,故单谐波传动迄今在国内外应用较少。 b. 双波传动 其齿数差为 2。该谐波传动的特点是柔轮产生弹性变形时,其表面应力较小,易获得大的传动比,结构较简单、传动效率较高。因而,双波传动应较广泛。 c. 三波传动 其齿数差为 3。该谐波传动的特点是径向力较小,内力较平衡,对中性能好;偏心误差较小。但柔轮的应力较大,在具有相同的转速下,该传动中的柔轮经 受反复弯曲的次数较多,因而对其疲劳寿命有影响。而且,其结构较为复杂。所以,在一般情况下,仍较少采用三谐波 传动。 1.4.2 按波发生器相对于柔轮的配置可分为 a. 具有内波发生器的谐波齿轮传动 能充分利用空间,径向尺寸小,结构紧凑,制造安装方便。因此,一般大都采用内波发生器的谐波传动。 b. 具有外波发生器的谐波齿轮传动 该结构的外形尺寸较大,转动惯量也大;因而,它不适用于高速的传动 。所以,目前只在个别的情况下,才采用外波发生器的谐波齿轮传动,或将其应用于谐波螺旋传动。 1.4.3 按轮齿的啮合类型 可分为 a. 径向啮合式谐波齿轮传动 其特点是:啮合齿轮副的轮齿是沿着圆柱形 柔轮和刚轮的母线方向分布,即其轮齿方向与传动的回转轴线相平行,因此,该谐波传动属于平面啮合的齿轮机构。 b. 端面啮合式谐波齿轮传动 其特点是:柔轮为圆周带有端面齿的柔性薄板圆盘,刚轮为带有端面齿的圆盘,而波发生器一般为带有滚动体的波状圆盘,在波发生器的作用下,迫使柔轮的轮齿与刚轮相啮合。因此,该谐波传动属于空间啮合的齿轮机构。 1.4.4 按传动级数来分类 a. 单级谐波齿轮传动 在谐波齿轮传动中,仅由一个柔轮和一个刚 轮所组成的啮合齿轮副的传动,称为单级谐波 齿轮传动。其结构简单、传动范围广。 b. 双级谐波齿轮传动 在谐波齿轮传动中,由两个简单谐波齿轮传动串联而成的组合式谐波齿轮机构,称为双级谐波齿轮传动。通常,有径向串联式双级 谐波机构和轴向串联式双级谐波机构两种形式。 c. 封闭谐波齿轮传动(复波传动) 在谐波齿轮传动中,若采用一个差动谐波齿轮机构( W=2),再用一个简单谐波齿轮机构作为封闭机构,且将差动机构中的任何两个基本构件与其连接起来,同时也就消除了差动谐波机构的一个自由度。由此便成了一个 自由度W=1 的 组合式谐波齿轮机构,称为封闭谐波齿轮机构。它的特点是:结构简单、紧凑,传nts 第 7 页 共 26 页 动精度高,传动比很大。 1.5 谐波齿轮传动各部分的结构形式 1.5.1 轮的结构形式 柔轮的结构形式与谐波传动的结构方案选择有关。柔轮和输出轴的连接方式直接影响谐波传动的稳定性和工作性能。概括有三种类型:杯形、环行、特殊形式。 1.5.2 轮的结构形式 刚轮的结构形式,主要有环行内齿刚轮和带凸缘内齿刚轮两种。 1.5.3 发生器的结构形式 波发生器是迫使柔轮发生柔性变形的重要元件,按变形波数的不同,常有双波和三波两种。常见的机械式波 发生器的结构形式有下列三种:滚轮式波发生器、圆盘式波发生器和凸轮波发生器。 第 2 章 程序设计 本程序采用 Visual FoxPro 编制。 Visual FoxPro 是 Microsoft 公司推出的全新 PC 平台关系 型数据库管理系统。它具有强大的性能、无与匹敌的速度、完整而丰富的工具、极其友好的图形用户界面、简单的数据存取方式、良好的兼容性、独一无二的跨平台特性及真正的可编译性,使系统成为目前最快、最完美的数据库系统。 2.1 步骤 2.1.1 将计算中所需要的数据资源输入表中 2.1.2 将各个计算步骤分别 制作成表单 2.1.3 将最后结果制作成表单显示出来 2.1.4 编制主程序 2.1.5 系统 部件 的组装 a. 建立项目管理器 b. 添 加数据 c. 添加表单文档 d. 添加应用程序 e. 添加位图文件 f. 设置项目信息内容 g. 连编可独立执行的 exe 文件 2.2 程序流程图 开始 nts 第 8 页 共 26 页 输入原始数据 计算并输出齿数 Zg,Zb 选择柔轮及刚轮的材料 输出柔轮及刚轮的力学性能 输入系数 K, Pp, ,Ch,b 计算并输出模数 由标准模数选择模数 m 计算并输出柔轮的几何参数 计算并输出刚轮的几何参数 计算并输出谐波传动的啮合参数 选择轮齿过渡曲线的深度系数 计算并输出柔轮的几何尺寸 dfg,dr,dm,dag hn*+cp* 2ha*+c* 1=(hn*+cp*) m 计算并输 出刚轮的几何参数 dab,dfb 和制造中心距 aob, 插齿刀齿顶圆直径 dao 0.5(dfb-dag) wo*m 0.15m 计算并输出波发生器的几何参数 柔轮的疲劳强度验算 n np nts 第 9 页 共 26 页 谐波齿轮机构的传动效率计算 最终结果显示 结束 2.3 程序 2.3.1 主程序 2.3.2 部分程序代码 a. 齿数计算表单中按钮“计算”的代码: i=THISFORM.Text1.Value u=THISFORM.Text4.Value THISFORM.Text5.Value=ROUND(u*i,1) Zg=THISFORM.Text5.Value THISFORM.Text6.Value=ROUND(Zg+u,1) 按钮“下一步”的代码: public Zg Zg=thisform.Text5.Value public T22 T22=thisform.Text2.Vslue public Zb Zb=thisform.Text6.Value public i i= thisform.Text1.Value public u u= thisform.Text4.Value do form D:谐波齿轮 时铖 表单 3.scx release thisform b.选取柔轮材料表单中按钮“下一步”的代码: public zmg11 zmg11=val(thisform.txt 弯曲疲劳 .Value) public tao11 tao11=val(thisform.txt 剪切疲劳 .Value) do form D:谐波齿轮 时铖 表单 6.scx nts 第 10 页 共 26 页 release thisform c. 初步确定啮合模数 m表单中按钮“计算”的代码 K= thisform.Text3.Value Pp= thisform.Text4.Value s= thisform.Text5.Value Ch= thisform.Text6.Value b1=THISFORM.Text7.Value thisform.Text8.Value=ROUND(20/Zg)*(K*T22)/(s*b1*Ch*Pp)(1/3),3) 按钮“下一步”的代码 public m m= thisform.txt1 第一系列 . Value b1=thisform.Text7.Value do form D:谐波齿轮 时铖 表单 4.scx release thisform d. 柔轮几何参数计算表单中按钮“下一步”的代码: thisform.Text1.Value=round(Zg*m,2) dg= thisform.Text1.Value thisform.Text2.Value=round(0.012*dg,2) zgm2= thisform.Text2.Value if zgm2 1 thisform.Text3.Value=1 else thisform.Text3.Value=round(zgm2,0) endif zgm=thisform.Text3.Value thisform.Text4.Value=round(0.8*zgm,2) zgm1=thisform.Text4.Value thisform.Text9.Value=round(b1*dg,2) b=thisform.Text9.Value thisform.Text5.Value=round(0.2*b,0) thisform.Text6.Value=round(1.125*dg,2) thisform.Text7.Value=round(0.5*dg,2) thisform.Text8.Value=round(10*m,2) 按钮“下一步”的代码: public L L=thisform.Text6.Value public b b=thisform.Text9.Value nts 第 11 页 共 26 页 public dg dg=thisform.Text1.Value public c1 c1=thisform.Text5.Value public zgm1 zgm1=thisform.Text4.Value public zgm zgm=thisform.Text3.Value public dl dl=thisform.Text7.Value public rl rl=thisform.Text8.Value do form D:谐波齿轮 时铖 表单 5.scx release thisform e. 刚轮几何参数计算表单中按钮“计算”的代码: thisform.Text1.Value=round(m*Zb,2) thisform.Text2.Value=round(6*m,2) thisform.Text7.Value=round(10*m,2) zgmb=val(thisform.Text3.Value) 按钮“下一步”的代码: public db db=thisform.Text1.Value public zgmb zgmb=thisform.Text3.Value do form D:谐波齿轮 时铖 表单 8.scx release thisform f. 啮合参数计算表单中按钮“计算”的代码: thisform.Text10.value=round(0.0004*(i-60)*m,4) jt=thisform.Text9.Value j0=thisform.Text10.Value thisform.Text11.Value=round(jt+j0,4) jmax=thisform.Text11.Value thisform.Text12.Value=round(0.89+0.00008*Zg+2*jmax/m,4) w01=thisform.Text12.Value thisform.Text13.Value=round(w01*m,3) thisform.Text14.Value=round(1.35-w01)/(0.85/(zg (1/3)-0.04),4) xg=thisform.Text14.Value nts 第 12 页 共 26 页 thisform.Text15.Value=round(xg+w01-1,4) thisform.Text16.Value=round(4*w01-2.48-(4.6-4*w01)*0.001*zg,4) hn1=thisform.Text16.Value thisform.Text17.Value=round(hn1*m,4) 按钮“选取”的代码: xg=thisform.Text14.Value if xg=1 cp=0.25 else if xg=2 do case case Zg=y2 messagebox(“ 验算合格!继续下一步运算! ” , 4+48+0,” ) else messagebox(“ 验算不合格! ” , 0+32+0,” ) endif i. 柔 轮的疲劳强度验算表单中按钮“计算”的代码: do case case bta=30 czgm=1.592 ctao=0.565 case bta=35 czgm=1.986 ctao=0.628 endcase thisform.Text1.Value=round(1.25*1.3*czgm*4*w0*210000*zgm/(dm*dm),2) zgma=thisform.Text1.Value thisform.Text5.Value=round(L-(b/2)+c1),0) 11=thisform.Text5.Value thisform.Text3.Value=round(1.25*1.3*ctao*4*w0*210000*zgm/(dm*11),2) thisform.Text4.Value=round(1.3*1.6*2000*T22/(3.1416*dm*dm*zgm),2) t=thisform.Text3.Value tt=thisform.Text4.Value thisform.Text2.Value=round(0.5*(t+tt),2) taoa=thisform.Text2.Value thisform.Text6.Value=round(zgm11/(2.0*zgma),2) thisform.Text7.Value=round(tao11/(0.75*taoa+0.2*taoa),2) nzgm=thisform.Text6.Value ntao=thisform.Text7.Value thisform.Text8.Value=round(nzgm*ntao/sqrt(nzgm*nzgm+0.7*ntao*nato),2) 按钮“验算”的代码: nn= thisform.Text8.Value nts 第 20 页 共 26 页 if nn=1.5 messagebox(“ 验算合格!继续下一步运算! ” , 4+48+0,” ) else messagebox(“ 验算不合格!”, 0+32+0,” ) endif 2.4 VFP 编程说明 2.4.1 函数 VFP 程序设计语言中的函数与数学上的函数没有什么区别,使用函数要有参数(自变量),可以从函数得到一个返回值(因变量)。而从程序设计的角度来看,函数是子程序的一种,它能完成一种特定的运算。 VFP 函数有系统函数和用户 自定义的函数。本设计中,主要用到的是系统函数, VFP提供了大约 380 多个系统函数,有数值函数、字符处理函数、表和数据库函数、日期时间函数、类型转换函数、测试函数、菜单函数、窗口函数、数组函数、 SQL 查询函数、位运算 函数、对象函数、文件管理函数以及系统调用函数等 14 类 。本设计中主要用到的函数将列在下表。 常用函数 函数格式 说明 COS(表达式) 余弦函数 SIN(表达式) 正弦函数 PI() 求圆周率 ROUND(表达式 1、表达式 2) 按表达式 2 指定的小数位求表达式 1四舍五入后的值 SQRT(表达式) 求平方根 TAN(表达式) 正切函数 ATAN(表达式) 反正切函数 ALLTRIM(表达式) 去掉字符串表达式的前导空格和尾随空格 STR(表达式, n,m) 转化数值表达式为数字字符串 VAL(表达式) 返回数字字符串对应的数值 2.4.2 程 序结构设计 VFP 提供了多种结构的程序设计,与其它的语言一样有顺序结构、选择结构、循环结构等。每一种结构程序中,又可以用不同的语句来实现相同的目的。现在就本设计中所用到的程序结构语句简单的介绍一下。 nts 第 21 页 共 26 页 A. 顺序结构程序设计 )赋值语句: STORE表达式 TO名称列表或名称 =表达式 )程序结束语句: RELEASE B. 选择结构程序设计 )单条件选择语句: IF 语句列 1 ELSE 语句列 2 NEDIF 说明: a. IF、 ELSE、 ENDIF 必须各占一行。每一行 IF都必须有一个 ENDIF 与之对应,即 IF和 ENDIF 必须成对出现。 b. ELSE 子句是可选的。 c. 可以是条件表达式或逻辑常量,根据 的逻辑值,进行判断。 d. 如果 为真( .T.),就执行 语句列 1。如果 为假( .F.) ,若有 ELSE子句,则程序会执行 ELSE 部分的 语句列 2;若无 ELSE 子句,则程序会直接转到 ENDIF之后的语句继续执行。 e. 语句列 1和 语句列 2中还可以包括 IF 语句,称为 IF 语句嵌套。要注意, 每次嵌套中的 IF 语句必须与 ENDIF 成对出现。 )多分支条件选择语句 DO CASE DO CASE CASE OTHERWISE ENDCASE 说明: a. DO CASE、 CASE、 OTHERWISE 和 ENDCASE 必须各占一行。每个 DO CASE 必须有一个 ENDCASE 与之对应,即 DO CASE 和 ENDCASE 必须成对出现。 b. 可以是条件表达式或逻辑常量。 c. 在执行 DO CASE 语句时,依次判断各 是否满足。若 的值为真( .T.) ,就执行相应的 ,直到遇到下一个 CASE、 OTHERWISE 或 ENDCASE。 nts 第 22 页 共 26 页 d. 相应的 执行后不再判断其他 ,直接转向 ENDCASE 后面的语句。因此,在一个 DO CASE 结构中,最 多只能执行一个 CASE 子句。 e. 如果没有一个条件为真,就执行 OTHERWISE 后面的 ,直到ENDCASE。如果没有 OTHERWISE,则不作任何操作就转向 ENDCASE 后面的语句。 f. 语句列中可以嵌套各种控制结构的命令语句。 C. 循环结构程序设计 )当型循环命令 DO WHILE DO WHILE EXIT LOOP ENDDO 说明: a. 可以是条件表 达式或逻辑常量。根据 的逻辑进行判断,如果 的值为 .T.,则执行 DO WHILE 和 ENDDO 之间的循环体。 每执行一遍循环体,程序自动返回到 DO WHILE 语句,判断依次 。 b. 是指定 为真时的那组 VFP 命令,即循环体。 c. EXIT 是无条件结束循环命令,使程序跳出 DO WHILE ENDDO 循环,转去执行 ENDDO后的第一条命令。 EXIT 只能在循环结构中使用,但是可以放在 DO WHILE ENDDO 中任何地方。 d. LOOP 将控制直接转回到 DO WHILE 语句,而 不执行 LOOP 和 ENDDO 之间的命令。因此 LOOP 称为无条件循环命令,只能在循环结构中使用。 e. DO WHILE、 ENDDO 必须各占一行。每一个 DO WHILE 都必须有一个 ENDDO 与其对应,即 DO WHILE 和 ENDDO 必须成对出现。 )步长型循环命令 FOR FOR=TOSTEP 是一个作为计数器的内存变量或数组元素,在 FOR ENDFOR 执行之前该变量可以不存在 。 是计数器的初值, 是计数器的终值, 是计数器值的增长或减少量。如果 是负值,则计数器被减小。如果省略 STEP 子句,则默认 是
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。