s7200四层电梯控制设计Word格式文档下载.docx
- 文档编号:7593692
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:26
- 大小:1.59MB
s7200四层电梯控制设计Word格式文档下载.docx
《s7200四层电梯控制设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《s7200四层电梯控制设计Word格式文档下载.docx(26页珍藏版)》请在冰点文库上搜索。
a:
12:
{i:
0;s:
17829:
"C语言程序设计谭浩强第四版课后标准答案@#@C语言程序设计(谭浩强)第四版-课后答案@#@ @#@@#@ @#@@#@————————————————————————————————作者:
@#@@#@————————————————————————————————日期:
@#@@#@ @#@@#@@#@第一章程序设计和C语言【第15页】@#@1-5@#@#include<@#@stdio.h>@#@@#@intmain()@#@{printf("@#@**************************\n\n"@#@);@#@@#@printf("@#@VeryGood!
@#@\n\n"@#@);@#@@#@printf("@#@**************************\n"@#@);@#@@#@return0;@#@@#@}@#@ @#@@#@1-6@#@#include<@#@stdio.h>@#@@#@intmain()@#@{inta,b,c,max;@#@@#@printf("@#@pleaseinputa,b,c:
@#@\n"@#@);@#@@#@scanf("@#@%d,%d,%d"@#@,&@#@a,&@#@b,&@#@c);@#@@#@max=a;@#@@#@if(max<@#@b)@#@max=b;@#@@#@if(max<@#@c)@#@max=c;@#@@#@printf("@#@Thelargestnumberis%d\n"@#@,max);@#@@#@return0;@#@@#@}@#@第2章算法——程序的灵魂【第36页】暂无答案@#@第3章最简单的C程序设计——顺序程序设计【第82页】@#@3-1@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{floatp,r,n;@#@@#@r=0.1;@#@@#@n=10;@#@@#@p=pow(1+r,n);@#@@#@printf("@#@p=%f\n"@#@,p);@#@@#@return0;@#@@#@}@#@ @#@@#@3-2-1@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;@#@@#@p=1000;@#@@#@r5=0.0585;@#@@#@r3=0.054;@#@@#@r2=0.0468;@#@@#@r1=0.0414;@#@@#@r0=0.0072;@#@@#@p1=p*((1+r5)*5);@#@//一次存5年期@#@p2=p*(1+2*r2)*(1+3*r3);@#@//先存2年期,到期后将本息再存3年期@#@p3=p*(1+3*r3)*(1+2*r2);@#@//先存3年期,到期后将本息再存2年期@#@p4=p*pow(1+r1,5);@#@//存1年期,到期后将本息存再存1年期,连续存5次@#@p5=p*pow(1+r0/4,4*5);@#@//存活期存款。
@#@活期利息每一季度结算一次@#@printf("@#@p1=%f\n"@#@,p1);@#@//输出按第1方案得到的本息和@#@printf("@#@p2=%f\n"@#@,p2);@#@//输出按第2方案得到的本息和@#@printf("@#@p3=%f\n"@#@,p3);@#@//输出按第3方案得到的本息和@#@printf("@#@p4=%f\n"@#@,p4);@#@//输出按第4方案得到的本息和@#@printf("@#@p5=%f\n"@#@,p5);@#@//输出按第5方案得到的本息和@#@return0;@#@@#@}@#@3-2-2@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{doubler5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;@#@@#@p=1000;@#@@#@r5=0.0585;@#@@#@r3=0.054;@#@@#@r2=0.0468;@#@@#@r1=0.0414;@#@@#@r0=0.0072;@#@@#@p1=p*((1+r5)*5);@#@//一次存5年期@#@p2=p*(1+2*r2)*(1+3*r3);@#@//先存2年期,到期后将本息再存3年期@#@p3=p*(1+3*r3)*(1+2*r2);@#@//先存3年期,到期后将本息再存2年期@#@p4=p*pow(1+r1,5);@#@//存1年期,到期后将本息存再存1年期,连续存5次@#@p5=p*pow(1+r0/4,4*5);@#@//存活期存款。
@#@活期利息每一季度结算一次@#@printf("@#@p1=%f\n"@#@,p1);@#@//输出按第1方案得到的本息和@#@printf("@#@p2=%f\n"@#@,p2);@#@//输出按第2方案得到的本息和@#@printf("@#@p3=%f\n"@#@,p3);@#@//输出按第3方案得到的本息和@#@printf("@#@p4=%f\n"@#@,p4);@#@//输出按第4方案得到的本息和@#@printf("@#@p5=%f\n"@#@,p5);@#@//输出按第5方案得到的本息和@#@return0;@#@@#@}@#@3-2-3@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;@#@@#@p=1000;@#@@#@r5=0.0585;@#@@#@r3=0.054;@#@@#@r2=0.0468;@#@@#@r1=0.0414;@#@@#@r0=0.0072;@#@@#@p1=p*((1+r5)*5);@#@//一次存5年期@#@p2=p*(1+2*r2)*(1+3*r3);@#@//先存2年期,到期后将本息再存3年期@#@p3=p*(1+3*r3)*(1+2*r2);@#@//先存3年期,到期后将本息再存2年期@#@p4=p*pow(1+r1,5);@#@//存1年期,到期后将本息存再存1年期,连续存5次@#@p5=p*pow(1+r0/4,4*5);@#@//存活期存款。
@#@活期利息每一季度结算一次@#@printf("@#@p1=%10.2f\n"@#@,p1);@#@//输出按第1方案得到的本息和@#@printf("@#@p2=%10.2f\n"@#@,p2);@#@//输出按第2方案得到的本息和@#@printf("@#@p3=%10.2f\n"@#@,p3);@#@//输出按第3方案得到的本息和@#@printf("@#@p4=%10.2f\n"@#@,p4);@#@//输出按第4方案得到的本息和@#@printf("@#@p5=%10.2f\n"@#@,p5);@#@//输出按第5方案得到的本息和@#@return0;@#@@#@}@#@ @#@@#@3-3.@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{floatd=300000,p=6000,r=0.01,m;@#@@#@m=log10(p/(p-d*r))/log10(1+r);@#@@#@printf("@#@m=%6.2f\n"@#@,m);@#@@#@return0;@#@@#@}@#@ @#@@#@3-4@#@#include<@#@stdio.h>@#@@#@intmain()@#@{intc1,c2;@#@@#@c1=197;@#@@#@c2=198;@#@@#@printf("@#@c1=%c,c2=%c\n"@#@,c1,c2);@#@@#@printf("@#@c1=%d,c2=%d\n"@#@,c1,c2);@#@@#@return0;@#@@#@}@#@ @#@@#@3-5@#@#include<@#@stdio.h>@#@@#@intmain()@#@{inta,b;@#@@#@floatx,y;@#@@#@charc1,c2;@#@@#@scanf("@#@a=%db=%d"@#@,&@#@a,&@#@b);@#@@#@scanf("@#@%f%e"@#@,&@#@x,&@#@y);@#@@#@scanf("@#@%c%c"@#@,&@#@c1,&@#@c2);@#@@#@printf("@#@a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n"@#@,a,b,x,y,c1,c2);@#@@#@return0;@#@@#@}@#@ @#@@#@3-6@#@#include<@#@stdio.h>@#@@#@intmain()@#@{charc1='@#@C'@#@,c2='@#@h'@#@,c3='@#@i'@#@,c4='@#@n'@#@,c5='@#@a'@#@;@#@@#@c1=c1+4;@#@@#@c2=c2+4;@#@@#@c3=c3+4;@#@@#@c4=c4+4;@#@@#@c5=c5+4;@#@@#@printf("@#@passworis%c%c%c%c%c\n"@#@,c1,c2,c3,c4,c5);@#@@#@return0;@#@@#@}@#@3-7@#@#include<@#@stdio.h>@#@@#@intmain()@#@{floath,r,l,s,sq,vq,vz;@#@@#@floatpi=3.141526;@#@@#@printf("@#@请输入圆半径r,圆柱高h∶"@#@);@#@@#@scanf("@#@%f,%f"@#@,&@#@r,&@#@h);@#@//要求输入圆半径r和圆柱高h@#@l=2*pi*r;@#@//计算圆周长l@#@s=r*r*pi;@#@//计算圆面积s@#@sq=4*pi*r*r;@#@//计算圆球表面积sq@#@vq=3.0/4.0*pi*r*r*r;@#@//计算圆球体积vq@#@vz=pi*r*r*h;@#@//计算圆柱体积vz@#@printf("@#@圆周长为:
@#@l=%6.2f\n"@#@,l);@#@@#@printf("@#@圆面积为:
@#@s=%6.2f\n"@#@,s);@#@@#@printf("@#@圆球表面积为:
@#@sq=%6.2f\n"@#@,sq);@#@@#@printf("@#@圆球体积为:
@#@v=%6.2f\n"@#@,vq);@#@@#@printf("@#@圆柱体积为:
@#@vz=%6.2f\n"@#@,vz);@#@@#@return0;@#@@#@}@#@ @#@@#@3-8-1@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@intc1,c2;@#@//整型定义@#@printf("@#@请输入两个整数c1,c2:
@#@"@#@);@#@@#@scanf("@#@%d,%d"@#@,&@#@c1,&@#@c2);@#@@#@printf("@#@按字符输出结果:
@#@\n"@#@);@#@@#@printf("@#@%c,%c\n"@#@,c1,c2);@#@@#@printf("@#@按ASCII码输出结果为:
@#@\n"@#@);@#@@#@printf("@#@%d,%d\n"@#@,c1,c2);@#@@#@return0;@#@@#@}@#@3-8-2@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@charc1,c2;@#@//定义字符型变量@#@inti1,i2;@#@//定义整型变量@#@printf("@#@请输入两个字符c1,c2:
@#@"@#@);@#@@#@scanf("@#@%c,%c"@#@,&@#@c1,&@#@c2);@#@@#@i1=c1;@#@//赋值给整型变量@#@i2=c2;@#@@#@printf("@#@按字符输出结果:
@#@\n"@#@);@#@@#@printf("@#@%c,%c\n"@#@,i1,i2);@#@@#@printf("@#@按整数输出结果:
@#@\n"@#@);@#@@#@printf("@#@%d,%d\n"@#@,c1,c2);@#@@#@return0;@#@@#@}@#@3-8-3@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@charc1,c2;@#@//定义为字符型@#@inti1,i2;@#@//定义为整型@#@printf("@#@请输入两个整数i1,i2:
@#@"@#@);@#@@#@scanf("@#@%d,%d"@#@,&@#@i1,&@#@i2);@#@@#@c1=i1;@#@//将整数赋值给字符变量@#@c2=i2;@#@@#@printf("@#@按字符输出结果:
@#@\n"@#@);@#@@#@printf("@#@%c,%c\n"@#@,c1,c2);@#@@#@printf("@#@按整数输出结果:
@#@\n"@#@);@#@@#@printf("@#@%d,%d\n"@#@,c1,c2);@#@@#@return0;@#@@#@}@#@ @#@@#@3-8@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@charc1,c2;@#@@#@printf("@#@请输入两个字符c1,c2:
@#@"@#@);@#@@#@c1=getchar();@#@@#@c2=getchar();@#@@#@printf("@#@用putchar语句输出结果为:
@#@"@#@);@#@@#@putchar(c1);@#@@#@putchar(c2);@#@@#@printf("@#@\n"@#@);@#@@#@printf("@#@用printf语句输出结果为:
@#@"@#@);@#@@#@printf("@#@%c%c\n"@#@,c1,c2);@#@@#@return0;@#@@#@}@#@第4章选择结构程序设计【第111页】@#@4-4-1@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@inta,b,c;@#@@#@printf("@#@请输入三个整数:
@#@"@#@);@#@@#@scanf("@#@%d,%d,%d"@#@,&@#@a,&@#@b,&@#@c);@#@@#@if(a<@#@b)@#@if(b<@#@c)@#@printf("@#@max=%d\n"@#@,c);@#@@#@else@#@printf("@#@max=%d\n"@#@,b);@#@@#@elseif(a<@#@c)@#@printf("@#@max=%d\n"@#@,c);@#@@#@else@#@printf("@#@max=%d\n"@#@,a);@#@@#@return0;@#@@#@}@#@4-4-2@#@#include<@#@stdio.h>@#@@#@intmain()@#@{inta,b,c,temp,max;@#@@#@printf("@#@请输入三个整数:
@#@"@#@);@#@@#@scanf("@#@%d,%d,%d"@#@,&@#@a,&@#@b,&@#@c);@#@@#@temp=(a>@#@b)?
@#@a:
@#@b;@#@/*将a和b中的大者存入temp中*/@#@max=(temp>@#@c)?
@#@temp:
@#@c;@#@/*将a和b中的大者与c比较,取最大者*/@#@printf("@#@三个整数的最大数是%d\n"@#@,max);@#@@#@return0;@#@@#@}@#@ @#@@#@4-5-2@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@#defineM1000@#@intmain()@#@{@#@inti,k;@#@@#@printf("@#@请输入一个小于%d的整数i:
@#@"@#@,M);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@while(i>@#@M)@#@{printf("@#@输入的数不符合要求,请重新输入一个小于%d的整数i:
@#@"@#@,M);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@}@#@k=sqrt(i);@#@@#@printf("@#@%d的平方根的整数部分是:
@#@%d\n"@#@,i,k);@#@@#@return0;@#@@#@}@#@ @#@@#@4-5@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@#defineM1000@#@intmain()@#@{@#@inti,k;@#@@#@printf("@#@请输入一个小于%d的整数i:
@#@"@#@,M);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@if(i>@#@M)@#@{printf("@#@输入的数不符合要求,请重新输入一个小于%d的整数i:
@#@"@#@,M);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@}@#@k=sqrt(i);@#@@#@printf("@#@%d的平方根的整数部分是:
@#@%d\n"@#@,i,k);@#@@#@return0;@#@@#@}@#@ @#@@#@4-6.@#@#include<@#@stdio.h>@#@@#@intmain()@#@{intx,y;@#@@#@printf("@#@输入x:
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@x);@#@@#@if(x<@#@1)/*x<@#@1*/@#@{y=x;@#@@#@printf("@#@x=%3d,y=x=%d\n"@#@,x,y);@#@@#@}@#@elseif(x<@#@10)/*1=<@#@x<@#@10*/@#@{y=2*x-1;@#@@#@printf("@#@x=%d,y=2*x-1=%d\n"@#@,x,y);@#@@#@}@#@else/*x>@#@=10*/@#@{y=3*x-11;@#@@#@printf("@#@x=%d,y=3*x-11=%d\n"@#@,x,y);@#@@#@}@#@return0;@#@@#@}@#@ @#@@#@4-7-1@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@intx,y;@#@@#@printf("@#@enterx:
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@x);@#@@#@y=-1;@#@@#@if(x!
@#@=0)@#@if(x>@#@0)@#@y=1;@#@@#@else@#@y=0;@#@@#@printf("@#@x=%d,y=%d\n"@#@,x,y);@#@@#@return0;@#@@#@}@#@ @#@@#@4-7-2@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@intx,y;@#@@#@printf("@#@pleaseenterx:
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@x);@#@@#@y=0;@#@@#@if(x>@#@=0)@#@if(x>@#@0)y=1;@#@@#@elsey=-1;@#@@#@printf("@#@x=%d,y=%d\n"@#@,x,y);@#@@#@return0;@#@@#@}@#@ @#@@#@4-8@#@#include<@#@stdio.h>@#@@#@intmain()@#@{floatscore;@#@@#@chargrade;@#@@#@printf("@#@请输入学生成绩:
@#@"@#@);@#@@#@scanf("@#@%f"@#@,&@#@score);@#@@#@while(score>@#@100||score<@#@0)@#@{printf("@#@\n输入有误,请重输"@#@);@#@@#@scanf("@#@%f"@#@,&@#@score);@#@@#@}@#@switch((int)(score/10))@#@{case10:
@#@@#@case9:
@#@grade='@#@A'@#@;@#@break;@#@@#@case8:
@#@grade='@#@B'@#@;@#@break;@#@@#@case7:
@#@grade='@#@C'@#@;@#@break;@#@@#@case6:
@#@grade='@#@D'@#@;@#@break;@#@@#@case5:
@#@@#@case4:
@#@@#@case3:
@#@@#@case2:
@#@@#@case1:
@#@@#@case0:
@#@grade='@#@E'@#@;@#@@#@}@#@printf("@#@成绩是%5.1f,相应的等级是%c\n"@#@,score,grade);@#@@#@return0;@#@@#@}@#@ @#@@#@4-9@#@#include<@#@stdio.h>@#@@#@#include<@#@math.h>@#@@#@intmain()@#@{@#@intnum,indiv,ten,hundred,thousand,ten_thousand,place;@#@//分别代表个位,十位,百位,千位,万位和位数@#@printf("@#@请输入一个整数(0-99999):
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@num);@#@@#@if(num>@#@9999)@#@place=5;@#@@#@elseif(num>@#@999)@#@place=4;@#@@#@elseif(num>@#@99)@#@place=3;@#@@#@elseif(num>@#@9)@#@place=2;@#@@#@elseplace=1;@#@@#@printf("@#@位数:
@#@%d\n"@#@,place);@#@@#@printf("@#@每位数字为:
@#@"@#@);@#@@#@ten_thousand=num/10000;@#@@#@thousand=(int)(num-ten_thousand*10000)/1000;@#@@#@hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;@#@@#@ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;@#@@#@indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);@#@@#@switch(place)@#@{case5:
@#@printf("@#@%d,%d,%d,%d,%d"@#@,ten_thousand,thousand,hundred,ten,indiv);@#@@#@printf("@#@\n反序数字为:
@#@"@#@);@#@@#@printf("@#@%d%d%d%d%d\n"@#@,indiv,ten,hundred,thousand,ten_thousand);@#@@#@break;@#@@#@case4:
@#@printf("@#@%d,%d,%d,%d"@#@,thousand,hundred,ten,indiv);@#@@#@printf("@#@\n反序数字为:
@#@"@#@);@#@@#@printf("@#@%d%d%d%d\n"@#@,indiv,ten,hundred,thousand);@#@@#@break;@#@@#@case3:
@#@printf("@#@%d,%d,%d"@#@,hundred,ten,indiv);@#@@#@printf("@#@\n反序数字为:
@#@"@#@);@#@@#@printf("@#@%d%d%d\n"@#@,indiv,ten,hundred);@#@@#@break;@#@@#@case2:
@#@printf("@#@%d,%d"@#@,ten,indiv);@#@@#@printf("@#@\n反序数字为:
@#@"@#@);@#@@#@printf("@#@%d%d\n"@#@,indiv,ten);@#@@#@break;@#@@#@case1:
@#@printf("@#@%d"@#@,indiv);@#@@#@printf("@#@\n反序数字为:
@#@"@#@);@#@@#@printf("@#@%d\n"@#@,indiv);@#@@#@break;@#@@#@}@#@return0;@#@@#@}@#@ @#@@#@4-10-1@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@inti;@#@@#@doublebonus,bon1,bon2,bon4,bon6,bon10;@#@@#@bon1=100000*0.1;@#@@#@bon2=bon1+100000*0.075;@#@@#@bon4=bon2+100000*0.05;@#@@#@bon6=bon4+100000*0.03;@#@@#@bon10=bon6+400000*0.015;@#@@#@printf("@#@请输入利润i:
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@if(i<@#@=100000)@#@bonus=i*0.1;@#@@#@elseif(i<@#@=200000)@#@bonus=bon1+(i-100000)*0.075;@#@@#@elseif(i<@#@=400000)@#@bonus=bon2+(i-200000)*0.05;@#@@#@elseif(i<@#@=600000)@#@bonus=bon4+(i-400000)*0.03;@#@@#@elseif(i<@#@=1000000)@#@bonus=bon6+(i-600000)*0.015;@#@@#@else@#@bonus=bon10+(i-1000000)*0.01;@#@@#@printf("@#@奖金是:
@#@%10.2f\n"@#@,bonus);@#@@#@return0;@#@@#@}@#@ @#@@#@4-10-2@#@#include<@#@stdio.h>@#@@#@intmain()@#@{@#@inti;@#@@#@doublebonus,bon1,bon2,bon4,bon6,bon10;@#@@#@intbranch;@#@@#@bon1=100000*0.1;@#@@#@bon2=bon1+100000*0.075;@#@@#@bon4=bon2+200000*0.05;@#@@#@bon6=bon4+200000*0.03;@#@@#@bon10=bon6+400000*0.015;@#@@#@printf("@#@请输入利润i:
@#@"@#@);@#@@#@scanf("@#@%d"@#@,&@#@i);@#@@#@branch=i/100000;@#@@#@if(branch>@#@10)branch=10;@#@@#@switch(branch)@#@{case0:
@#@bonus=i*0.1;@#@break;@#@@#@case1:
@#@bonus=bon1+(i-100000)*0.075;@#@break;@#@@#@case2:
@#@@#@case3:
@#@bonus=bon2+(i-200000)*0.05;@#@break;@#@@#@case4:
@#@@#@case5:
@#@bonus=bon4+(i-400000)*0.03;@#@break;@#@@#@case6:
@#@@#@case7:
@#@@#@case8:
@#@@#@case9:
@#@bonus=bon6+(i-600000)*0.015;@#@break;@#@@#@case10:
@#@bonus=bon10+(i-1000000)*0.01;@#@@#@}@#@printf("@#@奖金是%10.2f\n"@#@,bonus);@#@@#@return0;@#@@#@}@#@ @#@@#@4-11@#@#include<@#@stdio.h>@#@@#@intmain()@#@{intt,a,b,c,d;@#@@#@printf("@#@请输入四个数:
@#@"@#@);@#@@#@scanf("@#@%d,%d,%d,%d"@#@,&@#@a,&@#@b,&@#@c,&@#@d);@#@@#@printf("@#@a=%d,b=%d,c=%d,d=%d\n"@#@,a,b,c,d);@#@@#@if(a>@#@b)@#@{t=a;@#@a=b;@#@b=t;@#@}@#@if(a>@#@c)@#@{t=a;@#@a=c;@#@c=";i:
1;s:
25474:
"DevelopmentofareversiblemachiningmethodforfabricationofmicrostructuresbyusingmicroEDM@#@大连理工大学本科外文翻译@#@微细电火花可逆加工微结构方法的发展@#@Developmentofareversiblemachiningmethodforfabricationofmicrostructuresbyusingmicro-EDM@#@学院(系):
@#@机械工程学院@#@专业:
@#@机械设计制造及其自动化@#@学生姓名:
@#@@#@学号:
@#@@#@指导教师:
@#@康仁科教授@#@完成日期:
@#@2012-03-17@#@大连理工大学@#@DalianUniversityofTechnology@#@微细电火花可逆加工微结构方法的发展@#@彭子龙a,b,*,王振龙a,b,董颖怀a,陈辉a@#@a微系统与微结构制造重点实验室(哈尔滨工业大学),教育部,哈尔滨,150001,中国@#@b哈尔滨工业大学,机电工程学院,邮政信箱421,哈尔滨150001,中国@#@文章信息:
@#@2008年11月14日接受,2009年7月26日修正,2009年8月12日网上可阅览。
@#@@#@摘要@#@用微细电火花(EDM)可逆加工微细金属结构是一种新的微加工方法。
@#@可逆加工使微细电火花沉积加工与选择性去除材料相结合,能够让金属材料的沉积与去除在同一套微细电火花加工系统中完成。
@#@从微细电火花加工的放电机理出发,首先对微细电火花加工沉积的工艺条件进行了分析。
@#@使用黄铜和钢作为工具电极材料,使直径为200μm、高度直径比超过5的微圆柱沉积在高速钢表面。
@#@通过改变工艺条件,可以很容易地使加工过程从材料沉积转变到选择性材料去除。
@#@加工过程中使用了不同的材料去除方法,如微电火花钻削、微电火花铣削。
@#@在沉积的微型钢柱径向方向上成功的钻出了直径为80μm的微孔。
@#@此外,通过微电火花铣削得到了边长为70μm、高为750μm的黄铜方柱和直径为135μm、高度为1445μm的微柱体。
@#@最后,对沉积材料的特点进行了分析。
@#@结果表明,沉积得到的微柱体材料组织和工具电极几乎一样,已经形成了冶金结合。
@#@此外,钢沉积材料的维氏硬度为454Hv,比粗钢电极的200Hv高。
@#@@#@关键词:
@#@可逆加工;@#@微细电火花沉积;@#@选择性去除材料;@#@微三维结构@#@1.引言@#@由于在微机电系统(MEMS)方面研究的发展,微加工越来越受到人们的关注。
@#@三维微型零件的制造是微制造领域中至关重要的部分。
@#@目前来看,几种微细加工技术有其特定的应用领域和优点。
@#@硅基微细加工技术是可逆微加工的重要环节,因为它与微电子技术息息相关。
@#@然而,该技术有一些局限性,包括准三维结构、低延展率和对工作材料的限制。
@#@LIGA(Lithographie,GalanoformungandAbformung即光刻、电铸和注塑)技术是另一种强大的微加工技术。
@#@它能实现数百到数千微米厚的大型结构上的高延展率微结构的高精密加工(Malek和Saile,2004)。
@#@但是在该过程中,制造一个具有倾斜或自由表面的三维微结构是十分困难的。
@#@此外,LIGA中的设备又贵又特别,这也限制了它的应用。
@#@微电火花加工是制造复杂的三维结构的加工工艺方法之一。
@#@该技术能够加工几乎所有的导电材料并可以实现高精度、高品质加工,而不用考虑材料的硬度。
@#@随着微细电火花加工的发展,制作一个直径0.1mm或者更小的微型工具电极变得很容易。
@#@此外用简单形状的工具电极,根据三维数控代码逐层扫描加工三维微结构的方法变得很普及。
@#@@#@自从微细电火花加工用于微制造以来,很长一段时间被用于去除材料,尤其是用于难切削材料的材料去除、微细孔加工和自由曲面的微三维结构的加工。
@#@一般情况下,我们需要极低的微细电火花加工单脉冲放电的能量,导致加工过程中的很小的放电间隙。
@#@放电部位被限制在一个很小的空间里,导致工具电极的损耗很高。
@#@高的电极损耗率将影响加工的稳定性、加工精度和电火花加工效率。
@#@这对于微细电火花加工是不利的,应尽量降低它的影响。
@#@@#@另一方面,对微细电火花加工的放电现象进一步研究发现,在适当的条件下,工具电极材料还可以沉积在工件表面形成微结构,我们把它叫做微电火花沉积过程。
@#@电火花加工中高的电极损耗率,有利于沉积加工。
@#@在这种情况下,工具电极材料是沉积过程中材料的来源。
@#@Hayakawa等日本学者首先对微细电火花沉积进行了研究。
@#@他们报告说,当工具电极作为阳极,并且加工过程在空气中进行时,沉积过程就能实现。
@#@作为工具电极和工件,直径为0.14mm高度为2.2mm的钢柱的材料已经成功地沉积在工件的表面。
@#@他们认为,在微细电火花沉积过程中,每个脉冲放电沉积的材料厚度比工具电极上相应坑的深度要小,这扩大了放电间隙,避免了间隙的排屑浓度。
@#@此外,在沉积过程中加一个恒定的水平进给速率,便能在工件表面得到一定的曲线,包括直线、弯曲线和有一定角度的线([Hayakawa等,2001a]和[Hayakawa等,2001b])。
@#@这项研究证实了微细电火花沉积用于微结构制造的可行性。
@#@这超越了以前人们认为电火花加工只能去除材料的想法。
@#@然而,在他们的研究报告中,很少涉及到沉积材料的优良特点、沉积过程中的技术原理和微细电火花可逆加工微结构的方法。
@#@@#@在中国,哈尔滨工业大学率先研究电火花沉积微细加工的潜在利用价值。
@#@使用黄铜作为工具电极(@#@0.2mm),在工件表面沉积了直径约为0.2mm的微型圆柱体(Jin等,2006)。
@#@我们还研究了微成型过程和沉积材料的优良结构(彭子龙等,2008)。
@#@到现在为止,微细电火花沉积过程的研究主要集中在沉积过程的研究,即在沉积过程中放电参数的影响,如放电电流、放电时间、脉冲间隔和沉积速率或沉积质量。
@#@对于使用微电火花可逆加工高精密微结构的研究尚未进行。
@#@@#@本文,提出了一种新的微细电火花可逆加工金属微结构的方法,即微细电火花沉积与微细电火花去除材料的加工工艺相结合的方法。
@#@其使制造三维微结构的微细电火花加工系统很容易地实现沉积或选择性去除材料。
@#@相比较于单纯EDM去除材料,两个加工过程的结合增加了微细加工过程的灵活性。
@#@使用这种方法,如果在加工过程中材料去除过量了,可以在该部分沉积金属材料来弥补缺陷。
@#@同样,如果发现有加工程度不够的地方,会去除该部分多余的金属材料。
@#@这项技术的深入研究有助于微机械零件生产的精度和成品率。
@#@@#@我们的研究重点是加工微结构的方法,即微细电火花可逆加工方法。
@#@在本文中这种新方法分为三个步骤,他们是微加工工具电极、微细电火花沉积和微细电火花选择性材料去除加工。
@#@每个部分在本文中都得到详细的介绍。
@#@此外,还分析了沉积材料优良结构的特点。
@#@最后,得到了使用微细电火花可逆加工具有良好尺寸精度的微结构的方法。
@#@新的微细电火花可逆加工旨在简化加工过程,并提高制作三维微结构的加工效率。
@#@@#@2.微细可逆电火花加工实验的设计@#@2.1实验装置@#@微细电火花可逆加工的优势在于沉积或去除材料,可以在一个EDM系统中进行。
@#@通过控制工艺条件,便可很容易地把沉积过程转变为去除材料的过程。
@#@微可逆EDM的系统装置如图1所示。
@#@@#@图1可逆EDM系统装置@#@微可逆EDM系统包括:
@#@一个微型电火花加工工具,一个3轴控制系统,一个电火花磨削(BEDG)设备和一个CCD在线测量系统。
@#@可逆EDM系统中脉冲发生器的加工极性可以通过工业计算机系统控制实现反向加工。
@#@微型工具电极被夹在一个垂直的可旋转电机C的夹头上,从而在伺服信号的控制下实现X、Y、Z轴方向的移动。
@#@电极的旋转速度可以在1000到20,000rpm间不断调整,控制X、Y、Z轴的电机分辨率为0.1μm。
@#@BEDG是固定的电火花加工工作台,可以在线加工微工具电极,不仅方便而且能够消除重新夹紧时的误差。
@#@CCD系统包含一个卤素灯光源、一个变焦显微镜镜头和一个CCD相机,适用于微型电极的在线加工,以确保在线加工的电极直径的精度。
@#@CCD相机的传感器的面积为1/2英寸,包含1600@#@1200个像素点,变焦镜镜头的放大倍率范围为从20到180倍。
@#@图像的最高分辨率可达到每个像素点占(4/180)μm,大约0.02μm。
@#@@#@2.2加工程序@#@微细电火花可逆加工方法可分为三个连续的过程,即微型工具电极在线加工、微细电火花沉积过程、选择性去除微细电火花加工工艺。
@#@图2显示了微细电火花可逆加工过程。
@#@@#@(a)工具电极制造;@#@(b)电火花沉积过程;@#@(c)EDM选择性去除@#@图2微细电火花可逆加工过程@#@首先,用BEDG系统加工原料直径为500μm的微型工具杆到200μm,加工好的电极被用于后续过程,如图2(a)所示。
@#@在加工过程中,工具电极作为阳极,工件作为阴极。
@#@如此选择极性可以使工具电极加速磨损,从而节约时间。
@#@过程中用煤油作为加工介质。
@#@在加工过程中使用两次进给的方法。
@#@旋转的工具电极先在X轴方向上有个小进给,然后沿Y轴方向上有个很长的进给。
@#@X方向上的进给保证所需工具电极的直径,Y方向上的进给用来补偿工具块电极的腐蚀,使之慢慢被加工消耗掉。
@#@在该实验中,工具电极在X方向上的进给为150μm,沿Y方向上的进给为1.5mm。
@#@X方向进给后,在Y方向上进给10次,来保证工具电极的直径为200μm和所需的形状精度。
@#@@#@第二步,利用上步得到的直径为200μm的微型工具电极来进行微电火花沉积。
@#@在Z轴的进给过程中,放电过程的能量使工具电极的材料脱离电极并沉积在工件表面形成微观结构,这就是所谓的电火花沉积过程。
@#@在这一步,沉积得到的微柱体的直径与原工具电极直径几乎相同,如图2(b)所示。
@#@在这一步中,电极消耗越快越有利于沉积过程。
@#@因此,在空气中加工,并且使工具电极作为阳极,有力于工具电极的消耗,从而有利于沉积加工过程。
@#@@#@最后,切换加工极性,便可实现材料的选择性去除,从而得到更精细的微结构,如图2(c)所示。
@#@旋转的微电极根据控制系统设计的路径移动。
@#@在去除工件材料的过程中,工具电极作为阴极,工件作为阳极,以减少工具电极的磨损。
@#@此外,以煤油作为介质,可有效避免被加工下来的材料重新回落到工件上凝固。
@#@表1列出了微细电火花可逆加工的每个步骤所需的条件。
@#@@#@表1微细电火花可逆加工的工艺条件@#@步骤@#@工具电极极性@#@加工介质@#@工具电极的旋转运动@#@a@#@阳极@#@煤油@#@旋转@#@b@#@阳极@#@空气@#@不旋转@#@c@#@阴极@#@煤油@#@旋转@#@3.微细电火花沉积过程@#@根据Schumacher(2004)描述的放电阶段的现象和我们所做的微电火花沉积实验,电火花沉积过程可以这样描述:
@#@介质电离形成放电通道,工具电极材料熔化或汽化从而被去除,被去除的工具电极材料沉积在阴极并且完成离子交换。
@#@重复上述步骤,工具电极的材料将被沉积在工件表面。
@#@在这部分,详细介绍研究了微细电火花沉积的工艺条件和所做的实验,然后对影响沉积过程的因素进行了分析。
@#@@#@3.1微细电火花沉积的工艺条件@#@在微细电火花加工过程中,当放电时,工具电极和工件之间的电场超过某一临界值,介质分解。
@#@每次放电的部分能量被两个电极的熔化或气化吸收,电压下降,放电被破坏。
@#@为了形成稳定的沉积过程,首要条件就是物质的沉积率应大于去除率。
@#@因此,在微电火花沉积过程中,工具电极的高损耗是有利的,但它在电火花去除材料的过程中被认为是有害的。
@#@@#@控制微细电火花沉积的目标是提高工具电极的消耗,减少工件表面沉积材料的损耗。
@#@根据Wang和Zhao(2002)对EDM放电极性的分析,在短脉冲条件下,阳极的损耗比阴极要大得多。
@#@因此,在微细电火花沉积时选用短脉冲,并且用工具电极作为阳极。
@#@在传统电火花加工中,煤油常被用作工作介质。
@#@但用煤油作介质也有些不利的因素,如煤油蒸发分解时带来碳的粘连效应和爆炸。
@#@因此,在沉积过程中选择空气为介质。
@#@作为微电火花加工的逆过程,微电火花沉积所需要的能量与微电火花去除材料的加工相同,在选择短脉冲、能量分布适当的基础上,微细电火花沉积时选择小电流放电。
@#@由于在空气中,清除电腐蚀产物困难、沉积材料冷却慢并且离子交换能力弱,应选择较长的脉冲间隔。
@#@@#@综上所述,微细电火花沉积加工是一种新的电火花加工方法,加工过程的工艺条件括选择空气为加工介质、短脉冲、长的脉冲间隔、短的放电时间,选择工具电极为阳极。
@#@@#@3.2微细电火花沉积实验@#@我们在多功能微细电火花加工机床上进行了微细电火花沉积实验。
@#@在实验中,把黄铜和钢电极(@#@200μm)置于工件上部,微柱体成功的沉积在了高速钢表面上。
@#@表2列出了实验的工艺条件。
@#@@#@表2微细电火花沉积加工的条件@#@加工参数@#@参数值@#@工具电极@#@铜/钢@#@工件@#@高速钢@#@极性@#@电极(+)@#@工作介质@#@空气@#@开路电压U[V]@#@100@#@放电电流@#@[A]@#@4.3/4.3@#@放电时间@#@[μS]@#@8/4@#@脉冲时间@#@[μS]@#@120/80@#@沉积时间t[min]@#@120/240@#@图3示出了直径约为200μm、高度直径比超过5的沉积微柱体。
@#@有图可以看出,沉积微柱体的直径均匀,但加工表面粗糙。
@#@类似的环形排列在表面边缘也能发现,这是由于电火花沉积过程和沉积在一次放电中只发生在放电表面微层。
@#@从图3也可以看出,黄铜柱体的侧面比钢柱体表面质量要好。
@#@这主要是因为黄铜和钢的材料表面性质不同,从而导致在一次放电中转移的材料的大小不同。
@#@黄铜电极的导热系数比钢的高,因此钢的沉积要比黄铜的沉积需要的放电能量高许多。
@#@在一次放电中,与钢工具电极所转移的材料的大小相比,铜电极的颗粒要小的原因是其吸收更多的能量。
@#@@#@(a)黄铜微柱体(b)断面(c)钢微柱体@#@图3微柱体电火花沉积工艺制备@#@3.3工艺参数的影响@#@该部分研究了微电火花沉积中的一些工艺参数的影响,如放电电流、放电时间、脉冲间隔等。
@#@在微细电火花沉积中,每次放电的能量可以表示为公式:
@#@@#@其中:
@#@@#@:
@#@单个脉冲放电的能量(J);@#@@#@:
@#@单个脉冲放电时间(s);@#@@#@u(t):
@#@放电电压(V);@#@I(t):
@#@放电电流(A)。
@#@@#@当电极和工件之间的介质被击穿后,u(t)接近一个常数,约为20V。
@#@因此,电火花沉积的放电能量主要取决于放电电流和放电时间。
@#@从实验中,得到放电电流、放电时间、脉冲间隔对加工的影响,如图4所示。
@#@@#@(a)放电电流的影响(b)放电时间的影响(c)脉冲间隔的影响@#@图4工艺参数的影响@#@单位时间沉积材料的体积被定义为沉积速率。
@#@在黄铜的沉积实验中,当放电电流低于13A时,随着放电电流的增加沉积速率也在增加,但有一个阈值。
@#@当放电电流超过13A时,单个脉冲的能量太大,甚至沉积不能发生。
@#@更甚者,工具电极被烧坏,这会破坏整个沉积过程,如图4(a)所示。
@#@应当指出,在沉积过程中,单个脉冲的放电能量会影响工具电极材料的去除量,因此加工过程中使用小电流有助于提高被沉积材料的表面质量。
@#@@#@放电时间对沉积速率的影响是类似的。
@#@一定放电时间内,沉积速率会随着放电电流的增加而增加。
@#@当放电时间超过8μs时沉积速率不会随着放电时间的增加而增加,如图4(b)所示。
@#@当放电时间超过8μs后,短路和电弧将导致沉积减少。
@#@所以放电时间低于8μs将有利于沉积过程,如图4(c)所示脉冲间隔对沉积速率的影响。
@#@脉冲间隔不会影响单个脉冲的能量,但它影响放电频率和离子的交换。
@#@短的脉冲间隔有利于提高沉积速率,但不利于离子的交换。
@#@因此,在实验中,应根据实际的加工要求选择脉冲间隔时间以获得稳定的沉积。
@#@@#@4.选择性去除材料@#@如上所述,工具电极材料科沉积在工件上形成直径约为200μm的微柱体。
@#@然而,在沉积过程中,已经融化或气化的工具电极材料会粘附在微柱体的侧面上。
@#@微沉积柱体的尺寸精度和表面质量将不符合实际需求。
@#@所以,这部分将介绍选择性去除沉积材料。
@#@在选择性的去除实验中,选择了包括微电火花钻削和微电火花铣削的几种加工方法。
@#@@#@4.1微电火花钻削@#@微电火花钻削的目的是去除材料,因此,加工过程中选择工具电极为阴极工件(沉积材料)为阳极。
@#@这样有利于降低工具电极的损耗和提高加工效率。
@#@@#@该实验中,所用的工具电极的直径从60μm到200μm不等,用煤油作为工作介质,放电间隙约为10μm。
@#@在以上得到的直径为200μm的微柱体的径向方向上,成功的钻除了直径为80μm的洞,如图5(a)所示。
@#@三个微孔的形状基本一致,这就证明了微电火花钻削的可重复性。
@#@钻削的微孔放大图如图5(b)所示。
@#@可以看出,微孔的侧壁光滑,内部材料致密。
@#@从实验中,我们推断出微电火花钻削也适用于用截面非圆的电极加工异形孔。
@#@@#@(a)有孔的微柱体(b)80μm的微孔@#@图5选择性去除材料的微电火花钻削@#@4.2微型电火花铣削@#@微电火花铣削是利用一个形状简单的工具电极通过正确的路径一层一层的加工制作微3D结构的方法。
@#@使用工具电极的末端层层扫描等方法在加工制造具有高的深宽比和高性能材料的微三维结构方面有其优势。
@#@接着工具电极垂直进给一层的厚度来补偿工具电极的磨损,从而加工下一层。
@#@在这个实验中,工具电极作为阴极,煤油作为工作介质。
@#@工具电极的直径为200μm,转速为2000rpm。
@#@每一加工层的厚度为10μm,刚好比微电火花加工的放电间隙小。
@#@因此,制造出了表面质量高、尺寸精度高的微结构。
@#@用直径为200μm的微黄铜柱体加工出的边长为70μm、高度为750μm的微方柱体如图6(a)所示。
@#@方柱体的局部放大如图6(b)所示。
@#@可以看出,微方柱体的侧壁光滑边缘线很直,由此可见加工形状精度还是很高的。
@#@@#@(a)黄铜方柱;@#@(b)方柱的局部放大图;@#@(c)不锈钢微柱体;@#@(d)微柱体的局部放大图@#@图6选择性去除材料的微细电火花铣削@#@利用微电火花铣削选择性去除沉积材料具有很好的重复性。
@#@在类似的加工条件下,也可以加工制作其他微结构。
@#@图6(c)是利用微电火花铣削一个沉积得到的微钢柱体(@#@200μm)至直径为135μm、高度为1200μm。
@#@图6(d)所示为微柱体的局部放大细节。
@#@实验结果证明,利用微电火花腐蚀加工沉积材料时加工性能很好,利用可逆电火花加工3D微结构的方法可行。
@#@@#@5.沉积材料的特性分析@#@为了测试微电火花沉积得到的沉积材料的特性,使用了很多方法来完成测试,如能谱分析、材料致密度分析和硬度分析。
@#@@#@5.1能谱分析@#@如图7显示了沉积的铜材料的纵剖面上的能谱分析结果。
@#@该结果表明,沉积的物质成分主要是铜和锌元素,与黄铜工具电极的成分几乎相同。
@#@事实证明,沉积材料的成分主要由工具电极决定。
@#@另外,在分析结果中发现了少量的氧元素,其质量百分比约为0.72%,这意味着在沉积过程中出现了氧化,因为加工过程以空气为介质。
@#@@#@图7黄铜的能谱分析@#@5.2硬度测试@#@图8显示了沉积材料在纵向剖面上的维氏硬度与工具电极材料硬度的比较。
@#@结果表明,与原材料硬度200Hv相比,沉积钢的硬度454Hv是相当高的。
@#@在微细电火花沉积过程中,放电能量带走了熔化和气化的工具电极材料,通过放电通道到达工件表面,然后凝固形成微观结构。
@#@由于放电间隙非常小,熔化和气化的沉积材料的冷却速度是非常快的。
@#@对每个放电脉冲的瞬态温度场分析,沉积材料的冷却速度大约为107K/s至108K/s([Hayakawa等,2001a]和[Hayakawa等,2001b])。
@#@高冷却速度决定了沉积物的非平衡凝固过程,从而使钢的沉积物的硬度明显增加。
@#@黄铜材料在沉积过程中变软了,沉积材料的硬度为189Hv,与原材料的196Hv差不多,只是略微变软。
@#@@#@图8沉积材料的维氏硬度@#@5.3材料的致密度分析@#@利用扫描电子显微镜(SEM)研究沉积材料的纵剖面的质地。
@#@如图9所示为沉积铜与基体界面轮廓的局部放大图。
@#@图中上部分为沉积材料,下部分为高速钢工件。
@#@沉积材料与基体间结合的很好。
@#@我们也使用了A线扫描能谱分析。
@#@结果表明,随着Fe元素的质量百分比的增加,Cu和Zn元素的质量百分比减小。
@#@在结合界面,这三种元素共存,Fe元素来自于工件,Cu和Zn元素来自于工具电极。
@#@在沉积过程的初始阶段,工具电极和基体材料在放电能量的作用下多次熔化、凝固,导致元素间相互渗透,使沉积材料紧密的粘接在基体材料上。
@#@人们普遍认为,粘接发生在材料的界面上。
@#@此外,对沉积材料的纵向界面分析发现,沉积材料没有明显的缺陷,这就表明,沉积材料能够运用在电火花腐蚀中。
@#@@#@图9沉积材料的微观结构@#@6.结论@#@以上系统地分析了这种利用电火花可逆加工微结构的方法,这种方法能够在一个EDM系统中完成金属材料的去除和沉积从而完成对微结构的加工,并得到以下结论。
@#@@#@
(1)利用微细电火花可逆加工微结构是可行的。
@#@而且通过控制工艺条件,可以很容易地实现微电火花沉积和微电火花去除材料这两个可逆过程。
@#@@#@
(2)在适当的条件下,电火花沉积过程可以沉积黄铜和钢材料。
@#@沉积的微柱体质地细腻、紧密地粘接在工件上,其成分与工具电极的成分几乎相同。
@#@@#@(3)通过微细电火花可逆加工得到的微结构表面质量好,形状精度高。
@#@在沉积钢柱体的径向方向上钻80μm的微孔,加工边长为70μm、高为750μm的微方柱和直径为135μm、高为1445μm的微柱体,均取得了成功。
@#@@#@这项研究工作由中国国家自然科学基金会提供资金支持。
@#@基金号为506775049。
@#@@#@参考文献@#@Hayakawa,s.,ItiroOri,R.,Itoigawa,F.,2001a.MicrofabricationusingEDMdeposition.In:
@#@InitiativesofPrecisionEngineeringattheBeginningofaMillennium,10thInternationalConferenceonPrecisionEngineering(ICPE),Yokohama,Japan,July18-20,pp.18-20.@#@Hayakawa,s.,ItiroOri,R.,Itoigawa,f.,2001b.FabricationofmicrostructureusingEDMdeposition.In:
@#@The13thInternationalSymposiumforElectromaching(ISEMXIII),Bilbao,Spain,May9-11,pp.783-793.@#@Ho,K.H.,Newman,S.T.,2003.Stateoftheartelectricaldischargemachining(EDM).Int.J.Mach.ToolsManuf.43(13),1287-1300.@#@Jin,B.D.,Zhao,W.S.,Wang,Z.L.,Cao,G.H.,2006.Microelectricaldischargemachiningdepositioninair.Chin.J.Mech.Eng.Ed.19(4),622-655.@#@Malek,C.K.,Saile,V.,2004.ApplicationsofLIGAtechnologytoprecisionmanufacturingofhigh-aspect-ratiomicro-componentsand–systems:
@#@areview.Microelectron.J.35
(2),131-143.@#@Peng,Z.L.,Wang,Z.L.,Jin,B.D.,2008.Micro-formingprocessandmicrostructureofdepositbyusingmicroEDMdepositioninair.KeyEng.Mater.375-376,153-157.@#@Rajurkar,K.P.,Levy,G.,Malshe,A.,Sundaram,M.M.,McGeough.J.,Hu,X.,Resnick,R.,DeSilva,A.,2006.Microandnanomachiningbyelectro-physicalandchemicalprocesses.CIRPAnn.Manuf.Tech";i:
2;s:
25353:
"DLT889基建化学监督导则@#@电力基本建设热力设备化学监督导则@#@1范围@#@本标准规定了电力基本建设热力设各化学监督的要求,内容包括:
@#@热力设备的出厂检查,热力设备进入安装现场的保管、安装、水压试验、化学清洗、机组启动前的吹管、整套启动试运行过程中的水汽质量标准、水汽品质调整控制、汽轮机油和抗燃油质量要求以及热力设备停(备)用防锈蚀。
@#@@#@本标准适用于火力发电厂热力设备额定压力为12.7MPa及以上的机组。
@#@对于额定压力低于12.7MPa的机组,可参照执行。
@#@@#@2规范性引用文件@#@下列文件中的条款通过本标准的引用而成为本标准的条款。
@#@凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
@#@@#@凡是不注日期的引用文件,其最新版本适用于本标准。
@#@@#@GB/T7596电厂用运行中汽轮机油质量标准@#@GB8978污水综合排放标准@#@GB/T14541电厂运行中汽轮机用矿物油维护管理导则@#@DL/T561-1995火力发电厂水汽化学监督导则@#@DL/T571电厂用抗燃油验收、运行监督及维护管理导则@#@DL/T712火力发电厂凝汽器管选材导则@#@DUT794-2001火力发电厂锅炉化学清洗导则@#@DLJT855电力基本建设火电设备维护保管规程@#@DUT5011电力建设施工及验收技术规范(汽轮机机组篇)@#@SD223火力发电厂停(各)用热力设备防锈蚀导则@#@SD246化学监督制度@#@3、总则@#@3.1火力发电厂热力设备在基建阶段的化学监督工作,应符合SD246对火力发电厂化学监督的总体要求。
@#@@#@3.2火力发电厂热力设各在基建阶段的化学监督工作,应由业主或业主委托单位负责组织,业主、施工、监理、调试等单位共同参加。
@#@业主单位应参加凝汽器管、锅炉水压试验、锅炉化学清洗、蒸汽吹管、机组168h整套试运行等重要项目的质量验收,各项监督工作应纳入工程进度计划,其执行情况应作为考核评价工程质量的依据之一。
@#@@#@3.3热力设备基建阶段的化学技术监督报告、检验报告等,整理后作为机组的基础资料存档。
@#@@#@4出厂前的检查和要求@#@4.,热力设备和部件出厂要求@#@4.1.1所有出厂的管束、管道和设备均应经过严格的吹扫。
@#@管道和管束内部不允许有积水、泥沙、污物和明显的腐蚀产物。
@#@对经过吹扫和清洗的省煤器、水冷壁、过热器、再热器管束及其联箱,管道以及可封闭的设备,其所有的开口处均应有可靠的密封措施,防止在运输过程中进入雨水、泥沙和灰尘。
@#@@#@DL/T889一2004@#@4.1.2省煤器、水冷壁及蒸汽管道等部件的内表面,应无明显的氧化铁皮及腐蚀产物。
@#@@#@4.1.3海上和陆地长途运输、存放时间较长的设备和采用奥氏体钢作为再热器或过热器的管束外表面,应涂刷防护漆,管端应密封。
@#@@#@4.1.4除氧器、凝汽器等大型容器,出厂时应采取防锈蚀措施,设备资料上应有说明。
@#@@#@4.1.5采用碳钢管材的高、低压加热器,在出厂时均应清洗干净后密封充入氮气,并保持氮气微正压0.03MPa-0.05MPa,或采用有机胺等气相保护法进行保护。
@#@采用的保护方法应在产品资料上说明。
@#@@#@4.1.6汽包内部的汽水分离装置出厂时应妥善包装,防止雨水、泥沙的污染或运输碰撞变形。
@#@当对汽包内壁和汽水分离装置表面采用涂覆的方式进行防锈蚀时,不宜采用涂漆方式,应当考虑该涂覆材料在机组整套启动试运行前容易被去除干净。
@#@@#@4.1.7汽轮机的油套管和油管、抗燃油管应采取除锈和防锈蚀措施,应有合格的防护包装。
@#@@#@4.1.8用奥氏体钢制作的设备,水压试验用水应符合本标准6.4.3条的要求。
@#@@#@4.2凝汽器管出厂要求@#@4.2.1应符合DL/T712的选材要求,应有合格的防护包装,包装箱应牢固,以保证在吊装和运输时不变形。
@#@@#@4.2.2应按批量抽样,进行材质成分分析,并出具检验报告。
@#@@#@4.2.3应逐根进行外观检查,表面应无裂纹、砂眼、凹陷、毛刺及夹杂物等缺陷。
@#@管内应无油垢污物,管子不应弯曲。
@#@铜管内表面不应有残碳膜。
@#@@#@4.2.4凝汽器管出厂时应有物理性能、热处理合格证以及以上检查的记录。
@#@@#@4.3锅炉和汽轮机防锈蚀保护设备的配1@#@4.3.1应提供锅炉主蒸汽管、高温过热器、再热器、顶棚集汽联箱及汽包顶部的充氮连接管座、阀门等配套装置。
@#@@#@4.3.2对汽轮机应提供热空气干燥系统,高压加热器、低压加热器、轴封加热器等热力设各和系统应配置充氮保护接口和装置。
@#@@#@4.3.3回转空气预热器应配有防锈蚀冲洗设备。
@#@@#@5.1现场保管和监督@#@热力设备现场保管要求@#@5.1.1热力设备到达现场后,应按DUT855的规定进行妥善保管,以保持设备良好的原始状况。
@#@设专人负责防锈蚀监督,做好检查记录,发现问题向有关部门提出要求,及时解决。
@#@@#@5.1.2热力设备和部件防锈蚀涂层损伤脱落时应及时补涂。
@#@@#@5.1.3过热器、再热器、水冷壁、高压加热器在组装前2h内方可打开密封罩,其他设备在施工当天方可打开密封罩。
@#@在搬运和存放过程中密封罩脱落应及时盖上或包覆。
@#@@#@5.1.4汽轮机的油套管和油管、抗燃油管在组装前2h内方可打开密封罩。
@#@@#@5.2凝汽器管检查监督@#@5.2.1拆箱搬运凝汽器管时应轻拿轻放,安装时不得用力捶击,避免增加凝汽器管内应力。
@#@@#@5.2.2凝汽器铜管应进行100%涡流探伤,或抽取铜管总数的5%进行水压试验,水压试验压力为0.3MPa-0.5MPa,并轻敲铜管外壁应无渗漏。
@#@对于凝汽器钦管或不锈钢管应抽取凝汽器管总数的5%进行涡流探伤,如发现不合格管子的数目达到抽样总数的1%时,则每根凝汽器管均应进行试验。
@#@凡经涡流探伤或水压试验不合格的管子不应使用。
@#@@#@5.2.3抽查凝汽器铜管总数的0.1%,按DL/P561-1995中3.6条要求对黄铜管进行24h氨熏试验,检验残余内应力。
@#@第一次抽查出现不合格时应进行2倍数量的第二次抽查,如果仍有不合格铜管时,该批号的铜管应全部做整根消除内应力的退火处理,退火蒸汽温度应为3000C^3500C,退火时间一般为4h-6h氨熏试验前,先检查铜管内表面,应光滑、无划痕,不应有残碳膜。
@#@有残碳膜的铜管视为@#@DL/T889一2004@#@不合格铜管。
@#@@#@5.2.4应抽取凝汽器管总数的。
@#@.05%-0.1%进行胀管工艺性能试验(包括压扁试验、扩张试验)。
@#@当试验不合格时,可在管子的胀口部位进行400'@#@C-550℃的退火处理后,重新做胀管工艺性能试验。
@#@@#@5.2.5凝汽器管在正式胀接前,应进行试胀工作。
@#@胀口应无欠胀或过胀,胀口处管壁厚度减薄约为4%一6%;@#@胀口处应平滑光洁、无裂纹和显著切痕;@#@胀口胀接深度一般为管板厚度的75%-90%。
@#@试胀工作合格后方可正式进行胀管。
@#@@#@5.2.6检查所有接至凝汽器的水汽管道,不应使水、汽直接冲击到凝汽器管上。
@#@进水管上的喷水孔应能使进水充分雾化。
@#@@#@5.2.7在穿管前应检查管板孔光滑无毛刺,并彻底清扫凝汽器壳体内部,除去壳体内壁的锈蚀物和油月旨。
@#@@#@5.2.8安装钦管和钦管板的凝汽器,除符合凝汽器管的有关要求外,还应符合下列要求:
@#@@#@a)钦管板和钦管端部在穿管前应使用白布以脱脂溶剂(如乙醇、三氯乙烯等)擦拭除去油污。
@#@管子胀好后,在管板外伸部分也应用乙醇清洗后再焊接。
@#@@#@b)对管孔、穿管用导向器以及对管端施工用具,每次使用前都应用乙醇清洗,穿管时不得使用铅锤。
@#@@#@5.2.9凝汽器组装应按照DL(I'@#@5011工艺质量要求进行,组装完毕后,对凝汽器汽侧应进行灌水试验,灌水高度应高出顶部凝汽器管l00mm,维持24h应无渗漏。
@#@@#@6安装和水压试验@#@6.1管系组装前的检查和吹扫@#@设备及管系在组装前,应对其内部进行检查和清扫,去除内部铁锈、泥沙、尘土、焊渣、保温材料等污物,应用无油压缩空气吹扫,大口径管必要时可做人工除锈处理。
@#@为了提高清扫效果,小口径管也可用无油压缩空气,将相当于管径2.5倍的海绵球通过管内。
@#@@#@6.2炉前水系统的预冲洗@#@6.2.1炉前水系统的试运行和水压试验,可与预冲洗的工序结合进行。
@#@对管道和设备进行冲洗和水压试验时可用澄清水,并应符合下列要求:
@#@@#@a)炉前水系统的冲洗可用凝结水泵进行,最低流速不低于1m/s或冲洗流量大于机组额定工况流量的50%.@#@b)在冲洗过程中应变动流量,扰动系统中死角处聚积的杂质使其被冲洗出系统。
@#@大型容器冲洗后,应打开人孔,清扫水箱内的滞留物。
@#@@#@c)对于有滤网的系统,冲洗后应拆开滤网进行清理。
@#@@#@6.2.2预冲洗的排水应达到如下要求:
@#@@#@a)进出口浊度的差值应小于IOFTU.@#@b)出口水的浊度应小于20FTU.@#@c)出口水应无泥沙和锈渣等杂质颗粒,清澈透明。
@#@@#@6.3锅炉水压试验前应具备的条件@#@6.3.1制备除盐水的补给水处理系统应在锅炉水压试验前具备供水条件。
@#@@#@6.3.2给水系统、凝结水系统加药装置的安装试运行,应在热力系统通水试运行前完成,具备加药和调节能力。
@#@@#@6.3.3锅炉水压试验使用的化学药品应为化学纯及以上等级药剂,并经过现场检验合格。
@#@@#@6.4锅炉水压试验@#@6.4.1汽包锅炉水冷壁和省煤器的单体或组件可以使用澄清水冲洗,并能分组单独进行水压试验。
@#@@#@6.4.2锅炉整体水压试验应采用除盐水。
@#@@#@DL/T889一2004@#@6.4.3锅炉做整体水压试验时,除盐水中应加有一定剂量的联氨或丙酮肠,用液氨或氨水调节pH值,加药量应根据水压试验后锅炉的停放时间选择,锅炉整体水压试验加药量应符合表1的要求。
@#@对于有奥氏体钢的过热器、再热器,除盐水中的氯离子含量应小于0.2mg/La@#@表1锅炉整体水压试验加药量@#@保护时间@#@联氨丙酮厉@#@mg几@#@用液氨或氨水调节@#@pH值-9/L@#@用液氨或氨水调节@#@pH值@#@两周内20010.0.10.520010.5-10.8@#@0.5-1个月200-25010.0-10.5200-5010.5-10.8@#@1--6个月250^30010.0-10.5500^80010.5-10.8@#@注屏式过热器第一次进水,应采用加有250mg/L-300mg/L联氨、调节pH值10.0-10.5的除盐水@#@6.5水压试验后的防锈蚀保护@#@经水压试验合格的锅炉,放置2周以上不能进行试运行时,应进行防锈蚀保护。
@#@保护方法为:
@#@@#@a)当采用湿法保护时,应符合表1的规定:
@#@@#@b)采用充氮气方式保护时,用氮气置换放水,氮气纯度应大于99.5,充氮保护期间维持氮气压力在。
@#@.02MPa^0.05MPa;@#@@#@c)当采用其他方式保护时,应符合相关标准的要求。
@#@@#@7化学清洗@#@7.1范围及要求@#@7.1.1直流炉和过热蒸汽出口压力为9.8MPa及以上的汽包炉,投产前应进行化学清洗。
@#@@#@7.1.2过热器内铁氧化物大于l00g/m'@#@时,可选用化学清洗,应有防止立式管产生气塞、腐蚀产物在管内沉积和奥氏体钢腐蚀的措施。
@#@@#@7.1.3再热器一般不进行化学清洗。
@#@出口压力为17AMPa及以上机组的锅炉再热器可根据情况进行化学清洗,应保持管内清洗流速在0.15m/s以上,应有消除立式管内的气塞和防止腐蚀产物在管内沉积的措施。
@#@@#@7.1.4过热器和再热器的清洗也可采用蒸汽加氧吹洗。
@#@@#@7.1.5200MW及以上机组的凝结水及高压给水管道,铁氧化物大于150g/m'@#@时,应进行化学清洗。
@#@铁氧化物小于150g/m'@#@时,可采用流速大于0.5m/s的水冲洗。
@#@当系统管道内有油脂类防锈蚀涂层时,也应进行化学清洗或碱洗。
@#@@#@7.2清洗质量@#@7.2.1应根据锅炉热力系统结构、材质、被清洗金属表面状态,结合化学清洗小型试验结果,依据DL/C794制定锅炉或热力设备化学清洗方案及实施措施。
@#@同时应充分考虑满足DL/T794-2001第4章的技术要求。
@#@@#@7.2.2热力设各化学清洗应按审核批准的方案进行,并对下列关键点进行监督检查:
@#@@#@a)检查化学清洗系统和清洗设备安装是否正确,不参加清洗的固定设备应隔离。
@#@@#@b)化学清洗药品的质量和数量经检验并合格,酸洗缓蚀剂经过验证性能可靠。
@#@@#@c)供除盐水、加热蒸汽的能力满足清洗要求。
@#@@#@d)在酸洗过程中,对酸洗介质的浓度、温度、酸洗时间、酸和铁离子浓度变化等进行监督,检查酸洗监视管和酸洗腐蚀指示片,正确判断酸洗终点。
@#@@#@4@#@DL/T889一2004@#@e)酸洗后的水冲洗应冲洗到排水全铁小于50mg/L,控制排水pH值为4.0--4.5为宜。
@#@排酸后到进入漂洗钝化的间隔时间不宜长,防止被清洗金属表面发生二次锈蚀。
@#@@#@7.2.3锅炉清洗质量应符合下列要求:
@#@@#@a)清洗后的金属表面应清洁,基本上无残留氧化物和焊渣,无明显金属粗晶析出的过洗现象,不应有镀铜现象。
@#@@#@b)用腐蚀指示片测量的金属平均腐蚀速度应小于8g/m'@#@h,腐蚀总量应小于80g/(m2·@#@h),除垢率不小于90%为合格,除垢率不小于95%为优良。
@#@@#@c)清洗后的表面应形成良好的钝化保护膜,不应出现二次锈蚀,腐蚀指示片不应出现点蚀。
@#@@#@d)固定设备上的阀门、仪表等不应受到损伤。
@#@@#@7.3清洗后的内部清理@#@锅炉化学清洗结束后,应对汽包、水冷壁下联箱、除氧器水箱、凝汽器等进行彻底清扫,清除沉渣,目视检查容器内应清洁。
@#@@#@7.4允许停放时间@#@锅炉及热力系统化学清洗的工期应安排在机组即将整套启动前。
@#@清洗结束至启动前的停放时间不应超过20天。
@#@若20天内不能投入运行,应按照DLT794的要求采取防锈蚀措施,以防止和减少清洗后的再次锈蚀。
@#@@#@8机组整套启动前的水冲洗@#@8.1一般要求@#@8.1.1锅炉启动点火前,对热力系统应进行冷态水冲洗和热态水冲洗。
@#@@#@8.1.2在冷态及热态水冲洗过程中,当凝汽器与除氧器间建立循环后,应投入凝结水泵出口加氨处理设备,控制冲洗水pH值为9.0^9.5,以形成钝化体系,减少冲洗腐蚀。
@#@当凝汽器与启动分离器建立循环后,应投入给水泵入口加氨处理设各。
@#@调节冲洗水的pH值为9.0-9.3.@#@8.1.3在冷态及热态水冲洗的整个过程中,应监督给水、炉水、凝结水中的铁、二氧化硅及其pH值·@#@@#@8.1.4锅炉有过热器反冲洗设备时,在第一次点火前,应进行过热器反冲洗。
@#@未经化学清洗的过热器在机组启动前也应进行反冲洗。
@#@冲洗的除盐水应加氨调整pH值为10.0-10.5,冲洗至出水无色透明。
@#@@#@8.2水冲洗应具备的条件@#@除盐水设备应能连续正常供水;@#@氨和联氨的加药设各能正常投运:
@#@热态冲洗时,除氧器能通汽除氧(至少在点火前6h投入),应使除氧器水尽可能达到低参数下运行的饱和温度。
@#@@#@8.3点火前的冷态水冲洗@#@8.3.1直流炉、汽包炉的凝结水和低压给水系统的冷态水冲洗。
@#@@#@当凝结水及除氧器出口水含铁量大于looogg几时,应采取排放冲洗方式:
@#@当冲洗至凝结水及除氧器出口水含铁量小于looogg几时,可采取循环冲洗方式,投入凝结水处理装置运行,使水在凝汽器与除氧器间循环。
@#@当除氧器出口水含铁量降至小于200gg/L后,凝结水系统、低压给水系统冲洗结束。
@#@@#@无凝结水处理装置时,应采用换水方式,冲洗至出水含铁量小于l00gg/Lo@#@8.3.2直流炉的高压给水系统至启动分离器间的冷态水冲洗。
@#@@#@当启动分离器出口水含铁量大于loo平g几时,应采取排放冲洗;@#@小于looogg几时,将水返回凝汽器循环冲洗,投入凝结水处理装置除去水中铁。
@#@当启动分离器出口水含铁量降至小于200gg几时,冷态水冲洗结束。
@#@@#@8.3.3汽包炉的冷态水冲洗采取排放冲洗,由低压给水系统经高压给水系统至锅炉。
@#@当锅炉水含铁量小于200gg/L时,冷态水冲洗结束。
@#@@#@8.4点火后的热态水冲洗@#@8.4.1讲行热杰水冲洗时,给水的含铁量小于100pg/L后,方可开始锅炉点火。
@#@@#@DL/T889一2004@#@8.4.2在直流炉热态水冲洗过程中,当启动分离器出口水含铁量大于100(堆9几时,应由启动分离器将水排掉;@#@当含铁量小于g/L时,将水回收至凝汽器,并通过凝结水处理装置作净化处理,直至启动分离器出口水含铁量小于l00pg几时,热态水冲洗结束。
@#@@#@8.4.3汽包炉热态水冲洗依靠锅炉排污换水,一般冲洗至锅炉水含铁量小于20011g/L时,热态水冲洗结束。
@#@@#@9蒸汽吹管@#@9.1锅炉蒸汽吹管是保证蒸汽系统洁净的重要措施之一,吹管阶段应对锅炉水、汽质量进行监督。
@#@@#@9.2蒸汽吹管阶段应监督给水的含铁量、pH值、硬度、二氧化硅等项目,除给水pH值(250C)应控@#@制在8.89.3外,其他项目可参照表2的规定执行。
@#@@#@表2机组整套启动试运行给水质量标准@#@炉型@#@锅炉过热@#@蒸汽压力@#@MPa@#@铁@#@19几@#@二氧化硅@#@林目1@#@溶解氧@#@林创L@#@硬度@#@gmoi/L@#@pH值@#@(25"@#@C)@#@联氨@#@林岁L@#@直流炉@#@12.7^-18.3@#@18.3^22.5@#@>@#@22.5@#@<@#@50@#@<@#@30@#@<@#@20@#@<@#@50@#@<@#@30@#@<@#@20@#@毛20@#@<@#@10@#@蕊10@#@-08.8-9.3(有铜系统)@#@9.0^9.5(无铜系统)@#@10-50@#@汽包炉}127<@#@80<@#@60<@#@30^0@#@9.3汽包炉进行蒸汽吹管时,炉水pH值为9-10。
@#@炉水应采用磷酸盐处理,磷酸根含量应维持为2mg几~lomg/L。
@#@每次吹管前应检查炉水外观或含铁量。
@#@当炉水含铁量大于1000Etg/L时,应加强排污;@#@当炉水含铁量大于3000gg几或炉水发红、浑浊时,应在吹管间歇以整炉换水方式降低其含量。
@#@在吹管后期,应进行蒸汽质量监督,测定蒸汽中铁、二氧化硅的含量,并观察水样应清亮透明。
@#@@#@9.4直流炉吹管停歇时,直流炉中的水应采取凝汽器一除氧器一锅炉一启动分离器间的循环,进行凝结水处理,以保持水质正常。
@#@@#@9.5吹管结束后,以带压热炉放水方式排放锅炉水。
@#@应清理凝结水泵、给水泵滤网。
@#@排空凝汽器热水井和除氧器水箱内的水,清除容器内滞留的铁锈渣和杂物。
@#@@#@9.6吹管结束,锅炉系统恢复正常后,锅炉应按本标准第11章的要求进行防锈蚀保护。
@#@@#@10机组整套启动试运行@#@10.1一般要求@#@10.1.1机组水汽取样分析装置具备投运条件。
@#@水样温度和流量应符合设计要求,能满足人工和在线化学仪表同时分析的要求。
@#@机组168h满负荷试运行时,在线化学仪表应投入运行。
@#@@#@10.1.2凝结水、给水和炉水自动加药装置应能投入运行,满足水质调节要求。
@#@@#@10.1.3除氧器投入运行应使除氧器水达到运行参数的饱和温度,有足够的排汽,降低给水溶解氧量。
@#@@#@10.1.4汽轮机油在线滤油机应保持连续运行,去除汽轮机油系统和调速系统中的杂质颗粒和水分。
@#@@#@10.1.5没有凝结水处理设备的机组应储备有足够的锅炉补给水。
@#@@#@10.1.6设计为锅炉给水加氧处理的直流炉或汽包炉,在机组试运行期间给水应采用加氨和联氨处理。
@#@汽包炉炉水加磷酸盐处理。
@#@@#@10.1.7循环水加药系统应能投入运行,按设计或调整试验后的技术条件对循环水进行阻垢、缓蚀以及杀生灭藻处理。
@#@凝汽器胶球清洗系统应能投入运行。
@#@@#@10.1.8全厂闭式循环冷却水系统投入运行前应进行水冲洗,冲洗流量应大于运行流量,冲洗至排水清澈无杂质颗粒。
@#@闭式循环冷却水应是化学除盐水或凝结水。
@#@闭式循环冷却水系统防腐蚀处理可在冷却水中加入磷酸盐,磷酸根为100mg/L-150mg/Lo@#@10.2给水质量要求@#@在机组整套启动试运行过程中,给水质量的控制应符合表2的规定。
@#@@#@10.3锅炉水质要求@#@在机组整套启动试运行过程中,汽包炉应采取磷酸盐处理或全挥发处理,使炉水pH值维持靠上限运行,以降低蒸汽中二氧化硅的含量。
@#@@#@机组整套启动试运行时汽包炉炉水质量应符合表3的规定。
@#@@#@表3机组整套启动试运行汽包炉炉水质量标准@#@锅炉过热@#@蒸汽压力@#@MPa@#@处理方式@#@电导率@#@(25℃)@#@峪/Cm@#@二氧化硅@#@mg/L@#@铁@#@林g/L@#@磷酸根@#@mg/L@#@pH值@#@(25'@#@C)@#@12.7-15石磷酸盐处理<@#@6050.45541M】2-89-10@#@15.7-18.3@#@磷酸盐处理<@#@50-<@#@0.25<@#@3000.5--39^10@#@挥发性处理<@#@2050253009.0-9.5@#@>@#@18.3挥发性处理<@#@20<@#@02<@#@3009.0^9.5@#@注:
@#@二氧化硅给出的是目标值。
@#@实际炉水允许的二氧化硅含量,应保证蒸汽二氧化硅符合表4的要求@#@10.4蒸汽质量要求@#@机组整套启动试运行和168h满负荷试运行时的蒸汽质量应符合表4的规定。
@#@当汽轮机蒸汽冲转时,蒸汽质量可允许暂时放宽至二氧化硅含量5100gg/kg,钠含量-<@#@20gg/kg,但应采取措施,争取在较短时间内使蒸汽质量达到表4的要求。
@#@@#@表4机组整套启动试运行、168h满负荷试运行时的蒸汽质量标准@#@炉型@#@锅炉过热@#@蒸汽压力@#@、n】a@#@阶段@#@钠@#@98/k名@#@二氧化硅@#@Ag压9@#@铁@#@9创k8@#@铜@#@gg/kg@#@电导率@#@(氢离子交换@#@后,250c>@#@@#@1t8/cm@#@汽包炉12.7-18.3@#@带负荷试运行520560共1.0@#@168h满负荷试运行毛10520簇205550.3@#@直流炉@#@123-183@#@带负荷试运行520530@#@168h满负荷试运行簇10520续1055共0.3@#@18.4-25刀168h满负荷试运行<@#@5蕊15簇10<@#@550.3@#@10.5锅炉洗硅运行@#@在锅炉洗硅运行期间,当蒸汽中二氧化硅大于60ug/kg,应采取加强锅炉排污或降负荷运行措施,保证蒸汽品质合格。
@#@@#@10.6凝结水处理系统@#@设置有凝结水处理装置的机组,在机组整套启动试运行前,凝结水处理装置应具各投运条件,应保证凝结水处理设备可靠运行。
@#@在整套启动试运行阶段,为减少结垢物质、有害离子和金属腐蚀产物进入热力系统,减少热损失和纯水损失,应尽早投入凝结水处理装置。
@#@当机组带50%及以上负荷运行时应投入凝结水处理装置。
@#@@#@10.7凝结水质量要求@#@机组整套启动时,凝结水回收应以不影响给水质量为前提。
@#@回收的凝结水质量应符合表5的规定,但应采取措施使其在短时间内达到启动时给水质量的要求。
@#@@#@外状@#@硬度@#@pmol几@#@表5凝结水回收质量标准@#@}铁{@#@无色透明{55.0}@#@注:
@#@对于海滨电厂还应控制含钠量不大于8011g/L.@#@pg/L@#@毛90@#@二氧化硅@#@p91L@#@蕊80@#@铜@#@林泌@#@530@#@10.8锅炉补给水质量@#@机组整套启动试运行,锅炉补给水的质量以不影响给水质量为标准。
@#@补给水质量应符合表6的规@#@定。
@#@@#@表6补给水质量标准@#@水处理系统@#@硬度@#@林moUL@#@二氧化硅@#@9留L@#@电导率@#@(250C)@#@As/cm@#@一级化学除盐加混床出水-0<@#@2050.2@#@10.9疏水监督@#@在机组整套启动试运行时,应严格注意疏水的监督和管理,特别是高、低压加热器、汽动给水泵等设各首次投入运行时,应注意对凝结水和疏水水质的影响。
@#@当高、低压加热器疏水含铁量大于4009g几时,不应回收。
@#@@#@10.10发电机内冷却水质量要求@#@10.10.1发电机内冷却水系统投入运行前应进行冲洗,冲洗水质应符合表6的要求。
@#@@#@10.10.2冲洗水的流量、流速应大于正常运行下的流量、";i:
3;s:
3265:
"DTU安装文档说明@#@文档说明@#@一、环境安装配置(一定最好按这个顺序)@#@1首先安装IIS@#@1.安装IIS服务@#@
(1)添加IIS服务@#@除了服务器需要安装IIS服务等组件外,其他的计算机均不需要@#@具体步骤如下:
@#@@#@进入控制面板,双击添加删除程序,然后点击添加/删除Windows组件。
@#@看到如下界面:
@#@@#@将WindowsMediasercices选中,如下图@#@然后点应用程序服务器,如下图:
@#@@#@然后点详细信息(D)…,如下图:
@#@@#@将ASP.NET选中,如下图@#@然后点Internet信息服务(IIs)再点详细信息(D)…,将第一项:
@#@Frontpage2002ServerExtensions和最后一项:
@#@文件传输协议(FTP)服务选中,如下图:
@#@@#@连续点击确定,然后放入windows2003server(ServicePack1)系统光盘,等待安装完毕!
@#@@#@2安装.NETFrameWork3.5@#@下载.NETFrameWork3.5直接安装即可@#@安装SQLSERVER2008数据库@#@2.4安装数据库@#@2.4.1安装数据库软件SQL2008(最小标准版,建议企业版)。
@#@如图示@#@上图为安装主界面,包含了有关SQLServer2008的各种信息,很直观,开始安装选择:
@#@全新SQLServer独立安装或向现有安装添加功能;@#@@#@一些必需条件检查;@#@@#@然后是产品序列号输入,这也是SQLServer首次采用此种授权管理方式;@#@从微软网站下载的版本其实和正式版本无异,你如果有正式的序列号,在此输入即可成为正式版;@#@当然在此处你也可以选择安装企业评估版,待以后通过上图的安装中心界面可将试用版升级为其它版本的正式版。
@#@@#@SQLServer2008企业版授权协议;@#@@#@安装组件选择,默认情况下什么也没有选中,根据情况选择即可;@#@@#@ @#@配置实例并选择安装路径;@#@从图中可以看出,虽然实例安装到了D盘,但只用了177M,将近2G的内容都安装到了C盘;@#@@#@配置各SQLServer服务的帐户名和启动类型,对开发人员来说非常实用;@#@@#@这里用混合模式用户名sa密码music418(这样设置)@#@配置身份验证模式,和以往版本没有什么不同;@#@但新增了一个“指定SQLServer管理员”的必填项,该管理员是指Windows帐户,你可以新建一个专门用于SQLServer的帐户,或点击“添加当前用户”添加当前用户为管理员;@#@同时“数据目录”页可指定各种类型数据文件的存储位置;@#@@#@安装信息汇总,安装前的最后一步;@#@@#@ @#@开始安装并安装完成用时大约1小时,当然这取决于你安装的组件。
@#@@#@安装完成后的开始菜单:
@#@@#@启动SQLServerManagementStudio@#@二、软件部署@#@1.在IIS上面部署网站系统@#@打开控制面板->@#@管理工具->@#@INTERNET信息服务,展开菜单,在默认网站上单击右键,如图即可设置本机IP地址@#@2.打开GpsServer.exe一直运行(接收TCP数据)(前提打开5000端口)@#@至此所有安装完毕!
@#@@#@打开系统方法@#@在IE地址栏输入:
@#@http:
@#@//192.168.1.23/login.aspx@#@输入用户名gx密码gx@#@登录后如图@#@";i:
4;s:
19815:
"EDS后台管理系统测试总结报告@#@XX系统测试总结报告@#@ @#@@#@引言@#@编写目的@#@编写该测试总结报告主要有以下几个目的@#@1.通过对测试结果的分析,得到对软件质量的评价@#@2.分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考@#@3.评估测试测试执行和测试计划是否符合@#@4.分析系统存在的缺陷,为修复和预防bug提供建议@#@背景@#@用户群@#@主要读者:
@#@XX项目管理人员,XX项目测试经理@#@其他读者:
@#@XX项目相关人员。
@#@@#@定义@#@严重bug:
@#@出现以下缺陷,测试定义为严重bug@#@✓系统无响应,处于死机状态,需要其他人工修复系统才可复原。
@#@@#@✓点击某个菜单后出现“Thepagecannotbedisplayed”或者返回异常错误。
@#@@#@✓进行某个操作(增加、修改、删除等)后,出现“Thepagecannotbedisplayed”或者返回异常错误@#@✓当对必填字段进行校验时,未输入必输字段,出现“Thepagecannotbedisplayed”或者返回异常错误@#@✓系统定义不能重复的字段输入重复数据后,出现“Thepagecannotbedisplayed”或者返回异常错误@#@测试对象@#@略@#@测试阶段@#@系统测试@#@测试工具@#@Bugzilla缺陷管理系统@#@参考资料@#@《XX需求和设计说明书》@#@《XX数据字典》@#@《XX后台管理系统测试计划》@#@《XX后台管理系统测试用例》@#@《XX项目计划》@#@测试概要@#@XX后台管理系统测试从2007年7月2日开始到2007年8月10日结束,共持续39天,测试功能点174个,执行2385个测试用例,平均每个功能点执行测试用例13.7个,测试共发现427个bug,其中严重级别的bug68个,无效bug44个,平均每个测试功能点2.2个bug。
@#@@#@XX总共发布11个测试版本,其中B1—B5为计划内迭代开发版本(针对项目计划的基线标识),B6-B8为回归测试版本。
@#@计划内测试版本,B1—B4测试进度依照项目计划时间准时完成测试并提交报告,其中B4版本推迟一天发布版本,测试通过增加一个人日,准时完成测试。
@#@B5版本推迟发布2天,测试增加2个人日,准时完成测试。
@#@@#@B6-B11为计划外回归测试版本,测试增加5个工作人日的资源,准时完成测试。
@#@@#@XX测试通过Bugzilla缺陷管理工具进行缺陷跟踪管理,B1—B4测试阶段都有详细的bug分析表和阶段测试报告。
@#@@#@进度回顾@#@版本/时间@#@计划开始时间@#@实际开始时间@#@计划完成时间@#@实际完成时间@#@加班@#@增加资源@#@B1@#@2007.7.2@#@2007.7.2@#@2007.7.5@#@2007.7.5@#@否@#@否@#@B2@#@2007.7.16@#@2007.7.16@#@2007.7.19@#@2007.7.19@#@否@#@否@#@B3@#@2007.7.23@#@2007.7.23@#@2007.7.25@#@2007.7.24@#@否@#@2个人日@#@B4@#@2007.7.28@#@2007.7.29@#@2007.7.31@#@2007.7.31@#@1个人1天1个人2天@#@2个人日@#@B5@#@2007.8.1@#@2007.8.2@#@2007.8.6@#@2007.8.3@#@否@#@2个人日@#@B6@#@2007.8.4@#@2007.8.4@#@2个人1天@#@2个人日@#@B7@#@2007.8.5@#@2007.8.5@#@1个人1天@#@1个人日@#@B8@#@B9@#@2007.8.9@#@2007.8.9@#@2007.8.10@#@2007.8.10@#@否@#@2个人日@#@B10@#@合计@#@1个人6天@#@11个人日@#@测试执行@#@此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。
@#@针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试@#@测试用例@#@功能性@#@系统实现的主要功能,包括查询,添加,修改,删除。
@#@@#@系统实现的次要功能,包括为用户分配酒店,为用户分配权限,渠道酒店绑定,渠道RATE绑定,权限控制菜单按钮。
@#@@#@需求规定的输入输出字段,以及需求规定的输入限制@#@易用性@#@操作按钮提示信息正确性,一致性,可理解性@#@限制条件提示信息正确性,一致性,可理解性@#@必填项标识@#@输入方式可理解性@#@中文界面下数据语言与界面语言的一致性@#@ @#@@#@测试环境@#@软硬件环境@#@硬件环境@#@应用服务器@#@数据库服务器@#@客户端@#@硬件配置@#@CPU:
@#@Intel(R)Celeron(R)CPU2.40GHzstepping01@#@Memory:
@#@1048256k@#@HD:
@#@ST380817AS80GSATA@#@CPU:
@#@Intel(R)Celeron(R)CPU2.40GHzstepping01@#@Memory:
@#@1048256k@#@HD:
@#@ST380817AS80GSATA@#@CPU:
@#@Intel(R)Celeron(R)CPU2.40GHzstepping01@#@Memory:
@#@1048256k@#@HD:
@#@ST380817AS80GSATA@#@软件配置@#@OS:
@#@CentOS4.2@#@JDK1.5.0_06@#@Apache2.2.0@#@Tomcat5.5.15@#@OS:
@#@CentOS4.2@#@MySQL5.0.17Linux@#@Window2000Professional(SP2)IE6.0.2900.2180.xpsp_sp2@#@网络环境@#@10MLAN@#@10MLAN@#@10MLAN@#@网络拓扑@#@测试结果@#@Bug趋势图@#@此次黑盒测试总共发布11个版本,B1—B5为计划内迭代开发版本(针对项目计划的基线标识),B6-B11为进行的回归测试版本,bug版本趋势图如下图所示:
@#@@#@第一阶段,增量确认测试。
@#@@#@时间从2007年7月2日到2007年8月3日。
@#@从Bug趋势图中可以看出,每个版本的bug数基本维持在60个左右。
@#@@#@B1:
@#@从图中看到B1共有33个BUG,因为B1版本有一个功能模块在B2版本才开始测试,B1测试模块相对较少,所以B1版本bug相对较少。
@#@@#@B2:
@#@由于B1中的一个功能模块增加到Build2中进行测试,这一版本除了对B1中的BUG进行验证同时对B1进行了回归测试,所以B2中的bug数相对B1出现了明显的增长趋势,@#@B3:
@#@B3版本因为有B2版本的bug验收测试,以及B1,B2的回归测试,共发现67个bug,和B2基本保持一致。
@#@@#@B4:
@#@B4版本bug数有一个下降的趋势,是因为B4版本推迟发布,新增加了测试人员参与测试,对系统不够熟悉,以及测试时间紧张,部分测试用例没有执行,测试覆盖度不够,所以发现bug数呈下降趋势。
@#@@#@B5:
@#@B5版本bug数又有一个增加的趋势,主要是由于开发功能模块多,该版本需求定义不明确。
@#@@#@第二阶段,BUG验证和功能回归确认测试。
@#@@#@时间从2007年8月4日到2007年8月14日。
@#@B6和B7进行了回归测试,B8没有进行回归测试,只验证了B1-B7的bug。
@#@@#@B6:
@#@进行第一轮回归测试,发现的bug数为33个,遗留一个问题,为数据字典种类默认值问题@#@B7:
@#@进行第二轮回归测试,第一次回归测试没有涉及到权限控制菜单按钮的测试,在本次回归测试的时候,重点进行了这个方面的测试,又发现了大量的权限相关的bug。
@#@@#@B8:
@#@B8没有进行全面的回归测试,只验证了B1-B7未通过验证的bug,所以该版本的bug数明显比较少。
@#@@#@B9:
@#@B9版本进行了全面的回归测试,同时重点测试了权限控制,所以发先的bug数又呈现上升的趋势。
@#@测试发现44个bug,严重级别的bug为14个,严重级别的bug集中在权限控制上,功能性严重bug没有发现,说明权限控制依旧不稳定,但是系统功能已经稳定。
@#@@#@B10:
@#@B10版本验证了B9版本发现得bug,没有进行全面的回归测试。
@#@B10版本在验证bug的时候,重现打开Bug6个,新增bug2个,重新打开bug有5个为严重级别bug,是关于权限控制的bug,而新发现的bug,1个为严重级别的bug,也是属于权限控制的。
@#@说明,权限控制还存在着问题,需要修改权限管理bug,重新发布版本后进行全面的回归测试。
@#@B10版本新发现的bug详细分析见遗留bug分析。
@#@@#@B11:
@#@B11中验证了B1—B10未验证的bug,重点测试了权限控制,同时进行了查询,添加,删除,修改的功能测试,测试过程中未发现bug。
@#@@#@Bug严重程度@#@测试发现的bug主要集中在normal和minor阶段,属于一般性的缺陷,但是测试的时候,出现了68个严重级别的bug,出现严重级别的bug主要表现在以下几个方面@#@✓系统主要功能没有实现@#@✓添加数据代码重复后,出现的找不到页面的错误@#@✓多语言处理,未考虑非语种代码的情况@#@✓数据库设计未考虑系统管理员角色,导致用系统管理员进行操作的时候出现找不到页面错误@#@✓权限控制异常@#@严重级别bug按版本分布如下:
@#@@#@由严重bug版本分布图可以看出,严重级别的bug版本趋势和bug版本趋势基本是一致的,但是,在B7和B9版本中年,严重级别的bug明显增多,主要原因是B7和B9版本测试了权限控制按钮功能,权限问题出现的严重级别的bug比较多。
@#@@#@权限bug主要表现:
@#@@#@✓具有相应按钮操作的权限,页面无相应按钮,无法执行该功能@#@✓无相应按钮操作权限,页面有相应按钮,点击按钮能出现权限异常错误@#@✓有相应按钮操作权限,有相应按钮,执行该功能出现权限异常错误@#@Bug引入阶段@#@由上图可以看出,主要为前台编码和页面设计方面的bug,占到了全部bug的2/3。
@#@@#@Bug引入原因@#@由上图可以看出,主要为前台编码和易用性方面的bug,占到了全部bug的2/3。
@#@@#@Bug状态分布@#@由bug状态图可以看出,未解决的bug有4个,主要是B8中新提交的bug,是关于用户管理的bug,因为用户权限管理需要重新设计所以,该部分的bug暂时没有解决。
@#@@#@测试结论@#@功能性@#@系统正确实现了通过数据字典管理基础数据的功能,实现了数据内容的多语言功能,实现了中英文界面。
@#@实现了基础数据管理,酒店集团管理,酒店基础信息管理,渠道管理,代理管理,用户管理的查询,添加,修改,删除的功能,系统还实现了将权限控制细化到菜单按钮的功能。
@#@@#@系统在实现用户管理下的权限管理功能时,存在重大的缺陷,权限控制不严密,权限设计有遗漏。
@#@@#@易用性@#@现有系统实现了如下易用性:
@#@@#@✓查询,添加,删除,修改操作相关提示信息的一致性,可理解性@#@✓输入限制的正确性@#@✓输入限制提示信息的正确性,可理解性,一致性@#@现有系统存在如下易用性缺陷:
@#@@#@✓界面排版不美观@#@✓输入,输出字段的可理解性差@#@✓输入缺少解释性说明@#@✓中英文对应的正确性@#@✓中英文混排@#@可靠性@#@现有系统的可靠性控制不够严密,很多控制是通过页面控制实现的,如果页面控制失效,可以向数据库插入数据,引发错误。
@#@@#@现有系统的容错性不高,如果系统出现错误,返回错误类型为找不到页面错误,无法回复到出错前的状态@#@兼容性@#@现有系统支持window下的IE浏览器和傲游浏览器,支持linux系统下的IE浏览器和火狐浏览器。
@#@@#@现有系统未进行其他兼容性测试@#@安全性@#@现有系统控制了以下安全性问题:
@#@@#@✓把某一个登录后的页面保存下来,不能单独对其进行操作不进行登录@#@✓直接输入某一页面的Url能否打开页面并进行操作不应该允许。
@#@@#@现有系统未控制以下安全性问题:
@#@@#@✓用户名和密码应对大小写敏感@#@✓登陆错误次数限制@#@分析摘要@#@覆盖率@#@此次测试,所有测试用例都是在中文界面下执行,未在英文界面下执行,测试不包括英文界面下的测试,也不包括正对英文翻译的测试。
@#@@#@此次测试,部分页面需求描述无明确的定义,对输入限制无详细定义,无明确的测试依据,在测试过程中,测试是根据输入字段含义,测试人员理解,以及和项目经理,开发人员沟通获得测试依据,无法保证测试依据的正确性和完整性,因此,没有进行完整的,正确的无效数据的测试,测试覆盖率不够,无法保证测试的有效性和正确性@#@下面为此次测试测试用例覆盖率分析图:
@#@@#@遗留缺陷的影响@#@1.缺陷描述:
@#@酒店娱乐项添加页面,“距离”字段无单位,建议增加单位@#@缺陷影响:
@#@距离字段无单位说明,无衡量标准,用户易用性不好@#@推迟原因:
@#@需求定义无单位定义,统一在升级版本中解决@#@2.缺陷描述:
@#@酒店基础信息管理模块,默认语言设置不一致。
@#@用中文查询酒店,进入酒店基础信息模块后,如下模块,语言显示为“请选择”@#@列表页面@#@添加页面@#@取消政策@#@停留政策@#@担保政策@#@机场@#@参照点@#@会议室详情@#@打包促销@#@服务@#@Rate@#@而其他模块语言显示“中文语言”@#@缺陷影响:
@#@相同功能模块默认语言设置不一致,一致性不好@#@推迟原因:
@#@默认语言设置,目前无统一标准,升级版本中统一@#@3.缺陷描述:
@#@tomcat日志有乱码,日志无项目名称,查看不方便@#@缺陷影响:
@#@其他项目日志都有项目名称,日志无项目名称,查看不方便@#@推迟原因:
@#@目前的日志为了调试方便,显示了很多其它信息,在项目正式发布时会统一处理的。
@#@@#@4.缺陷描述:
@#@取消政策管理要么,取消时间“天/小时”缺少单位补充字段@#@缺陷影响:
@#@该处因为是两个不同的单位时间,需要有另外一个单位补充字段补充所所填写内容的单位@#@推迟原因:
@#@该缺陷单位补充字段本来存在,翻译不够准确,不能理解为补充单位的字段,需要等翻译完毕后再确认。
@#@@#@5.缺陷描述:
@#@数据字典种类修改,默认值设置后,在调用该数据字典种类的数据字典,默认值无显示@#@缺陷影响:
@#@数据字典种类的默认值设置后,不能显示设置的默认值,相当于数据字典种类默认值设置功能未实现@#@推迟原因:
@#@该功能暂时不好实现,需要和和系统的默认语种一起处理。
@#@@#@6.缺陷描述:
@#@担保政策管理页面,“EdpositDue”缺少解释行输入描述信息@#@缺陷影响:
@#@缺少解释性输入描述信息,用户不理解应该输入什么内容@#@推迟原因:
@#@需求没有描述,需要解释性说明文字由项目经理整理后,在升级版本中添加@#@7.缺陷描述:
@#@多媒体添加,文件上传功能未实现@#@缺陷影响:
@#@文件上传功能未实现@#@推迟原因:
@#@该功能暂时不好完成,在下个版本中完成@#@8.缺陷描述:
@#@参照点添加权限和修改权限单独控制出现权限异常错误@#@缺陷影响:
@#@用户执行添加,修改时,出现权限异常,无法完成任务@#@推迟原因:
@#@B9版本发现该权限,B10版本未通过验证,目前该模块开发人员调休,无法修改bug,@#@9.缺陷描述:
@#@酒店渠道绑定关系权限控制出现权限异常错误@#@缺陷影响:
@#@a>@#@权限控制易用性不好,会引起用户误操作;@#@@#@b>@#@权限控制错误@#@推迟原因:
@#@B9版本发现该权限,B10版本未通过验证。
@#@该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。
@#@@#@10.缺陷描述:
@#@酒店Rate绑定关系权限控制出现权限异常错误@#@缺陷影响:
@#@a>@#@权限控制易用性不好,会引起用户误操作;@#@@#@b>@#@权限控制错误@#@推迟原因:
@#@B9版本发现该权限,B10版本未通过验证。
@#@该模块后台无insert权限,只有Update权限,与其他模块不同,需要重新设置权限控制方式。
@#@@#@11.缺陷描述:
@#@新建业务管理员权限用户,进入打包促销页面出现权限异常错误@#@缺陷影响:
@#@除系统管理员外,其他用户无法进行打包促销操作@#@推迟原因:
@#@B10版本发现该bug,目前该模块开发人员调休,无法修改bug@#@建议@#@✓在项目开始的时候应该制定编码标准,数据库标准,需求变更标准,开发和测试人员都严格按照标准进行,可以在后期减少因为开发,测试不一致而导致的问题,同时也可以降低沟通成本。
@#@@#@✓发布版本的时候,正确布置测试环境,减少因为测试环境,测试数据库数据的问题而出现的无效bug。
@#@@#@✓开发人员解决bug的时候,填写bug原因以及解决方式,方便bug的跟踪。
@#@@#@✓开发人员在开发版本上发现bug,可以通知测试人员,因为开发人员发现的bug很有可能在测试版本上出现,而测试人员和开发人员的思路不同,有可能测试人员没有发现该bug,而且,这样可以保证发现的bug都能够被跟踪。
@#@@#@度量@#@资源消耗@#@测试时间@#@2007年7月2日至2007年8月6日共35天@#@测试人力@#@1人×@#@7天+1人×@#@35天=42人天@#@硬件资源@#@服务器:
@#@PC2台@#@客户端:
@#@PC2台@#@缺陷密度@#@典型缺陷引入原因分析@#@测试过程中发现的缺陷主要有以下几个方面:
@#@@#@1.需求定义不明确@#@需求文档中,存在功能定义错误,输入输出字段描述错误,输入输出字段限制定义错误,输入输出限制定义缺失这几种类型的缺陷。
@#@使得开发人员根据需求进行设计时,没有考虑相关功能的关联性,以及需求错误的地方,在测试过程中,需求相关的问题表现出来。
@#@需求做改正,设计必须跟着做改动,浪费时间和影响开发人员的积极性,降低开发人员对需求的信任,可能会导致开发人员不按照需求进行设计而根据自己的经验来进行设计。
@#@@#@2.功能性错误@#@✓功能没有实现,导致无法进行需求规定的功能的测试。
@#@主要是无法进入酒店设施管理,会议室管理页面,酒店安全项管理无法保存信息,地区,房型删除功能缺失。
@#@@#@✓功能实现错误,实现了需求未定义的功能,执行需求定义的功能时系统出现错误。
@#@主要是角色拥有不属于自己的权限,酒店联系人删除页面跳转错误等。
@#@@#@3.页面设计和需求不一致@#@页面设计没有根据需求进行,输入,输出字段文字错误,用户无法理解字段含义。
@#@页面设计没有完成需求规定的输入限制验证,导致用户可以输入错误的或者无效的数据,这些数据有可能会引起功能性错误。
@#@@#@4.多语言数据问题@#@✓系统中很多输入字段是通过调用数据字典的方式输入,但是现有系统中,很多数据字典的多语言信息没有完成,导致使用多语言的时候,显示空白字段。
@#@@#@✓系统中很多地方使用多语言,由于多语言编码不统一导致页面设计和数据设计使用语言编码不一致,由此引起的多语言数据无法显示的缺陷。
@#@@#@5.页面设计易用性缺陷@#@✓页面设计不友好,系统中很多页面的输入字段无明确的输入提示,用户无法理解何种输入是正确的,但是用户输入错误后,系统提示出错,增加用户负担。
@#@@#@✓提示信息错误,不同模块相同结果的提示信息不一致,用户操作后,相应的提示信息不明确,引起用户误解。
@#@@#@✓提示信息一致性,用户在不同页面执行相同的操作,提示信息不同。
@#@@#@6.开发人员疏忽引起的缺陷@#@因为开发人员的疏忽,导致系统需要验证的地方,调用了错误的验证,系统需要进行输入控制的地方没有进行相应的控制。
@#@@#@";i:
5;s:
16394:
"fanuc系统参数21@#@第七节系统参数18i与21i@#@系统参数不正确也会使系统报警。
@#@另外,工作中常常遇到工作台不能回到零点、位置显@#@示值不对或是用MDI键盘不能输入刀偏量等数值,这些故障往往和参数值有关,因此维修时若确认PMC信号或连线无误,应检查有关参数。
@#@@#@一•16系统类参数@#@1・SETTING参数@#@参数号@#@符号@#@意义@#@16-T@#@16-M@#@0/0@#@TVC@#@代码竖向校验@#@0@#@0@#@0/1@#@ISO@#@EIA/ISO代码@#@0@#@0@#@0/2@#@INI@#@MDI方式公/英制@#@0@#@0@#@0/5@#@SEQ@#@自动加顺序号@#@0@#@0@#@2/0@#@RDG@#@远程诊断@#@0@#@0@#@3216@#@自动加程序段号时程序段号的间隔@#@0@#@0@#@ @#@@#@2.RS232C口参数@#@20@#@I/O通道(接口板):
@#@@#@0,1:
@#@主CPU板JD3A@#@2:
@#@主CPU板JD3B@#@3:
@#@远程缓冲JD5C或选择板1@#@的JD6A(RS-422)@#@5:
@#@DataServer@#@10:
@#@DNC1/DNC2接口@#@0@#@0@#@100/3@#@XCR@#@程序段结束的输出码@#@0@#@0@#@100/5@#@XD3@#@DNC运行时:
@#@读一段/读至缓冲器满@#@0@#@0@#@ @#@@#@I/O通道0的参数:
@#@@#@101/0@#@SB2@#@停止位数@#@0@#@0@#@101/3@#@ASII@#@数据输入代码:
@#@ASCII或EIA/ISO@#@0@#@0@#@101/7@#@NFD@#@数据输出时数据后的同步孔的输出@#@0@#@0@#@102@#@输入输出设备号:
@#@@#@0:
@#@普通RS-232口设备(用@#@DC1-DC4码)@#@0@#@0@#@3:
@#@HandyFile(37软盘驱动器)@#@103@#@波特率:
@#@@#@10:
@#@4800@#@11:
@#@9600@#@12:
@#@19200@#@0@#@0@#@I/O通道1的参数:
@#@@#@111/0@#@SB2@#@停止位数@#@0@#@0@#@111/3@#@ASI@#@数据输入代码:
@#@ASCII或EIA/ISO@#@0@#@0@#@111/7@#@XFD@#@数据输出时数据后的同步孔的输出@#@0@#@0@#@112@#@输入输出设备号:
@#@@#@0:
@#@普通RS-232口设备(用DC1-@#@DC4码)@#@3:
@#@HandyFile(3”软盘驱动器)@#@0@#@0@#@113@#@波特率:
@#@10:
@#@4800@#@11:
@#@9600@#@12:
@#@19200@#@0@#@0@#@其它通道参数请见参数说明书。
@#@@#@3.进给伺服控制参数@#@1001/0@#@INM@#@公/英制丝杠@#@0@#@0@#@1002/2@#@SFD@#@是否移动参考点@#@0@#@0@#@1002/3@#@AZR@#@未回参考点时是否报警(#90号)@#@0@#@1006/0,1@#@ROT,ROS@#@设定回转轴和回转方式@#@0@#@0@#@1006/3@#@DIA@#@指定直径/半径值编程@#@0@#@1006/5@#@ZMI@#@回参考点方向@#@0@#@0@#@1007/3@#@RAA@#@回转轴的转向(与1008/1:
@#@RAB合用)@#@0@#@0@#@1008/0(ROA@#@回转轴的循环功能@#@0@#@0@#@1008/1品@#@绝对回转指令时,是否近距回转@#@0@#@0@#@1008/2@#@RRL@#@相对回转指令时是否规算@#@0@#@0@#@1260@#@回转轴一转的回转量@#@0@#@0@#@1010@#@CNC的控制轴数(不包括PMC轴)@#@0@#@0@#@1020@#@各轴的编程轴名@#@0@#@0@#@1022@#@基本坐标系的轴指定@#@0@#@0@#@1023@#@各轴的伺服轴号@#@0@#@0@#@1410@#@空运行速度@#@0@#@0@#@1420@#@快速移动(G00)速度@#@0@#@0@#@1421@#@快速移动倍率的低速(Fo)@#@0@#@0@#@1422@#@最高进给速度允许值(所有轴一样)@#@0@#@0@#@1423@#@最高进给速度允许值(各轴分别设)@#@0@#@0@#@1424@#@手动快速移动速度@#@0@#@0@#@1425@#@回参考点的慢速FL@#@0@#@0@#@1620@#@快速移动G00时直线加减速时间常数@#@0@#@0@#@1622@#@切削进给时指数加减速时间常数@#@0@#@0@#@1624@#@JOG方式的指数加减速时间常数@#@0@#@0@#@1626@#@螺纹切削时的加减速时间常数@#@0@#@1815/1@#@OPT@#@用分离型编码器@#@0@#@0@#@1815/5@#@毗@#@用绝对位置编码器@#@0@#@0@#@1816/4,5,6@#@DM1—3@#@检测倍乘比DMR@#@0@#@0@#@1820@#@指令倍乘比CMR@#@0@#@0@#@1819/0@#@FUP@#@位置跟踪功能生效@#@0@#@0@#@1825@#@位置环伺服增益@#@0@#@0@#@1826@#@到位宽度@#@0@#@0@#@1828@#@运动时的允许位置误差@#@0@#@0@#@1829@#@停止时的允许位置误差@#@0@#@0@#@1850@#@参考点的栅格偏移量@#@0@#@0@#@1851@#@反向间隙补偿量@#@0@#@0@#@1852@#@快速移动时的反向间隙补偿量@#@0@#@0@#@1800/4@#@RBK@#@进给/快移时反向间补量分开@#@0@#@0@#@4.坐标系参数@#@1201/0@#@ZPR@#@手动回零点后自动设定工件坐标系@#@0@#@0@#@1250@#@自动设定工件坐标系的坐标值@#@0@#@0@#@1201/2@#@ZCL@#@手动回零点后是否取消局部坐标系@#@0@#@0@#@1202/3@#@RLC@#@复位时是否取消局部坐标系@#@0@#@0@#@1240@#@第一参考点的坐标值@#@0@#@0@#@1241@#@第二参考点的坐标值@#@0@#@0@#@1242@#@第三参考点的坐标值@#@0@#@0@#@1243@#@第四参考点的坐标值@#@0@#@0@#@5.行程限位参数@#@1300/0@#@OUT@#@第二行程限位的禁止区(内/外)@#@0@#@0@#@1320@#@第一行程限位的正向值@#@0@#@0@#@1322@#@第一行程限位的反向值@#@0@#@0@#@1323@#@第二行程限位的正向值@#@0@#@0@#@1324@#@第二行程限位的反向值@#@0@#@0@#@1325@#@第三行程限位的正向值@#@0@#@0@#@1321@#@第三行程限位的反向值@#@0@#@0@#@6.DI/DO参数@#@3003/0@#@[TL@#@互锁信号的生效@#@0@#@0@#@3003/2@#@ITX@#@各轴互锁信号的生效@#@0@#@0@#@3003/3@#@)IT@#@各轴各方向互锁信号的生效@#@0@#@0@#@3004/5@#@3TH@#@超程限位信号的检测@#@0@#@0@#@3010@#@MF,SF,TF,BF滞后的时间@#@0@#@0@#@3011@#@FIN宽度@#@0@#@0@#@3017@#@RST信号的输出时间@#@0@#@0@#@3030@#@W代码位数@#@0@#@0@#@3031@#@S代码位数@#@0@#@0@#@3032@#@r代码位数@#@0@#@0@#@3033@#@B代码位数@#@0@#@0@#@7.显示和编辑@#@3102/3@#@3HI@#@汉字显示@#@0@#@0@#@3104/3@#@PPD@#@自动设坐标系时相对坐标系清零@#@0@#@0@#@3104/4@#@DRL@#@相对位置显示是否包括刀长补偿量@#@0@#@0@#@3104/5@#@DRC@#@相对位置显示是否包括刀径补偿量@#@0@#@0@#@3104/6@#@DRC@#@绝对位置显示是否包括刀长补偿量@#@0@#@0@#@3104/7@#@DAC@#@绝对位置显示是否包括刀径补偿量@#@0@#@0@#@3105/0@#@DPF@#@显示实际进给速度@#@0@#@0@#@3105/@#@DPS@#@显示实际主轴速度和T代码@#@0@#@0@#@3106/4@#@0PH@#@显示操作履历@#@0@#@0@#@3106/5@#@SOV@#@显示主轴倍率值@#@0@#@0@#@3106/7@#@3HS@#@操作履历釆样@#@0@#@0@#@3107/4@#@SOR@#@程序目录按程序序号显示@#@0@#@0@#@3107/5@#@DMN@#@显示G代码菜单@#@0@#@0@#@3109/1@#@DWT@#@儿何/磨损补偿显示G/W@#@0@#@0@#@3111/0@#@SVS@#@显示伺服设定画面@#@0@#@0@#@3111/1@#@3PS@#@显不主轴调整画面@#@0@#@0@#@3111/5@#@3PM@#@显示操作监控画面@#@0@#@0@#@3111/6@#@3PS@#@操作监控画面显示主轴和电机的速度@#@0@#@0@#@3111/7@#@VPA@#@报警时转到报警画面@#@0@#@0@#@3112/0@#@SGD@#@波形诊断显示生效(程序图形显示无效)@#@0@#@0@#@3112/5@#@0PH@#@操作履历记录生效@#@0@#@0@#@3122@#@操作履历画面上的时间间隔@#@0@#@0@#@3203/7@#@ICL@#@VIDI方式编辑的程序是否能保留@#@0@#@0@#@3290/0@#@W0F@#@用MDI键输入刀偏量@#@0@#@0@#@3290/2@#@MCV@#@用MDI键输入宏程序变量@#@0@#@0@#@3290/3@#@WZ0@#@用MDI键输入工件零点偏移量@#@0@#@0@#@3290/4@#@IWZ@#@用MDI键输入工件零点偏移量(自动方式)@#@0@#@3290/7@#@KEY@#@程序和数据的保护键@#@0@#@0@#@8.编程参数@#@3202/0@#@VE8@#@08000—8999程序的保护@#@0@#@0@#@3202/4@#@VE9@#@09000—9999程序的保护@#@0@#@0@#@3401/0@#@DPI@#@小数点的含义@#@0@#@0@#@3401/4@#@VIDI方式G90/G91的切换@#@0@#@3401/5@#@^BS@#@VIDI方式用该参数切换G90/G91@#@0@#@9.螺距误差补偿@#@3620@#@各轴参考点的补偿号@#@0@#@0@#@3621@#@负方向的最小补偿点号@#@0@#@0@#@3622@#@正方向的最大补偿点号@#@0@#@0@#@3623@#@螺补量比率@#@0@#@0@#@3624@#@螺补间隔@#@0@#@0@#@10.刀具补偿@#@3109/1@#@DWT@#@G,W分开@#@0@#@0@#@3290/0@#@5V0F@#@VIDI设磨损值@#@0@#@0@#@3290/1@#@G0F@#@VIDI设儿何值@#@0@#@0@#@5001/0@#@TCL@#@刀长补偿A,B,C@#@0@#@5001/1@#@TLB@#@刀长补偿轴@#@0@#@5001/2@#@0FH@#@补偿号地址D,H@#@0@#@5001/5@#@TPH@#@G45-G48的补偿号地址D,H@#@0@#@5002/0@#@LD1@#@刀补值为刀号的哪位数@#@0@#@5002/1@#@LGN@#@儿何补偿的补偿号@#@0@#@5002/5@#@LGC@#@儿何补偿的删除@#@0@#@5002/7@#@SVNP@#@刀尖半径补偿号的指定@#@0@#@5003/6@#@LVC/LVK@#@复位时删除刀偏量@#@0@#@0@#@5003/7@#@TGC@#@复位时删除儿何补偿量(#5003/6二1)@#@0@#@5004/1@#@0RC@#@刀偏值半径/直径指定@#@0@#@5005/2@#@PRC@#@直接输入刀补值用PRC信号@#@0@#@5006/0@#@0IM@#@公/英制单位转换时自动转换刀补值@#@0@#@0@#@5013@#@最大的磨损补偿值@#@0@#@5014@#@最大的磨损补偿增量值@#@0@#@11.主轴参数@#@3701/1@#@ISI@#@使用串行主轴@#@0@#@0@#@3701/4@#@SS2@#@用第二串行主轴@#@0@#@0@#@3705/0@#@ESF@#@S和SF的输出@#@0@#@0@#@3705/1@#@GST@#@S0R信号用于换挡/定向@#@0@#@3705/2@#@SGB@#@换挡方法A,B@#@0@#@3705/4@#@EVS@#@S和SF的输出@#@0@#@3706/4@#@GTT@#@主轴速度挡数(T/M型)@#@0@#@3706/6,7@#@CW/TCW@#@W03/M04的极性@#@0@#@0@#@3708/0@#@SAR@#@检查主轴速度到达信号@#@0@#@0@#@3708/1@#@SAT@#@螺纹切削开始检查SAR@#@0@#@3730@#@主轴模拟输出的增益调整@#@0@#@0@#@3731@#@主轴模拟输出时电压偏移的补偿@#@0@#@0@#@3732@#@定向/换挡的主轴速度@#@0@#@0@#@3735@#@主轴电机的允许最低速度@#@0@#@3736@#@主轴电机的允许最低速度@#@0@#@3740@#@检查SAR的延时时间@#@0@#@0@#@3741@#@第一挡主轴最高速度@#@0@#@0@#@3742@#@第二挡主轴最高速度@#@0@#@0@#@3743@#@第三挡主轴最高速度@#@0@#@0@#@3744@#@第四挡主轴最高速度@#@0@#@3751@#@第一至第二挡的切换速度@#@0@#@3752@#@第二至第三挡的切换速度@#@0@#@3771@#@G96的最低主轴速度@#@0@#@0@#@3772@#@最高主轴速度@#@0@#@0@#@4019/7@#@主轴电机初始化@#@0@#@0@#@4133@#@主轴电机代码@#@0@#@0@#@12-其它@#@6510@#@图形显示的绘图坐标系@#@0@#@7110@#@手摇脉冲发生器的个数@#@0@#@0@#@7113@#@手脉的倍比m@#@0@#@0@#@7114@#@手脉的倍比n@#@0@#@0@#@13.0i系统的有关参扌@#@8130@#@总控制轴数@#@0@#@0@#@8131/0@#@HPG@#@使用手摇脉冲发生器@#@0@#@0@#@8132/0@#@TLF@#@刀具寿命管理功能@#@0@#@0@#@8132/3@#@ISC@#@用分度工作台@#@0@#@8133/0@#@SSC@#@G96功能生效@#@0@#@0@#@二.0系统参数@#@1.SETTING参数@#@参数号@#@符号@#@意义@#@0-T@#@0-M@#@0000@#@PWE@#@参数写入@#@0@#@0@#@0000@#@TV0N@#@代码竖向校验@#@0@#@0@#@0000@#@ISO@#@EIA/ISO代码@#@0@#@0@#@0000@#@INCH@#@VIDI方式公/英制@#@0@#@0@#@0000@#@I/O@#@RS-232C口@#@0@#@0@#@0000@#@SEQ@#@自动加顺序号@#@0@#@0@#@2.RS232C口参数@#@2/0@#@STP2@#@通道0停止位@#@0@#@0@#@552@#@通道0波特率@#@0@#@0@#@12/0@#@STP2@#@通道1停止位@#@0@#@0@#@553@#@通道1波特率@#@0@#@0@#@50/0@#@STP2@#@通道2停止位@#@0@#@0@#@250@#@通道2波特率@#@0@#@0@#@51/0@#@STP2@#@通道3停止位@#@0@#@0@#@251@#@通道3波特率@#@0@#@0@#@55/3@#@RS42@#@RemoteBuffer口RS232/422@#@0@#@0@#@390/7@#@\0DC3@#@缓冲区满@#@0@#@0@#@3.伺服控制轴参数@#@ @#@@#@1/0@#@3CW@#@公/英制丝杠@#@0@#@0@#@3/0.1.2.4@#@ZM@#@回零方向@#@0@#@0@#@8/2.3.4@#@ww@#@轴名称@#@0@#@30/0.4@#@ww@#@轴名称@#@0@#@32/2.3@#@LIN@#@3,4轴,回转轴/直线轴@#@0@#@388/1(ROAX@#@回转轴循环功能@#@0@#@388/2pODRC@#@绝对指令近距离回转@#@0@#@388/3@#@ROCNT@#@相对指令规算@#@0@#@788@#@回转轴每转回转角度@#@0@#@11/2@#@WLN@#@第4轴,回转轴/直线轴@#@0@#@398/1@#@回转轴循环功能@#@0@#@398/2RODRC@#@绝对指令近距离回转@#@0@#@398/3@#@R0CNT@#@相对指令规算@#@0@#@788@#@回转轴每转回转角度@#@0@#@860@#@回转轴每转回转角度@#@0@#@500-503@#@INPX,Y,Z,4@#@到位宽度@#@0@#@0@#@504-507@#@SERRX,Y,Z,4@#@运动时误差极限@#@0@#@0@#@508-511@#@SRDSX.Y,Z,4@#@栅格偏移量@#@0@#@0@#@512-515@#@LPGIN@#@位置伺服增益@#@0@#@0@#@517@#@LPGIN@#@位置伺服增益(各轴增益)@#@0@#@0@#@518-521@#@RPDFX,Y,X,4@#@G00速度@#@0@#@0@#@522-525@#@LINTX,Y,Z,4@#@直线加/减速时间常数@#@0@#@0@#@526@#@THRDT@#@G92时间常数@#@0@#@528@#@THDFL@#@G92X轴的最低速度@#@0@#@527@#@FEDMX@#@F的极限值@#@0@#@0@#@529@#@FEEDT@#@F的时间常数@#@0@#@0@#@530@#@FEDFL@#@指数函数加减速时间常数@#@0@#@0@#@533@#@RPDFL@#@手动快速移动倍率的最低值@#@0@#@0@#@534@#@ZRNFL@#@回零点的低速@#@0@#@0@#@535-538@#@BKLX,Y,Z,4@#@反向间隙@#@0@#@0@#@593-596@#@STPEX,Y,Z,4@#@伺服轴停止时的位置误差极限@#@0@#@0@#@393/5@#@快速倍率为零时机床移动@#@0@#@0@#@4.坐标系参数@#@ @#@@#@10/7@#@旺RS@#@回零点后自动设定工件坐标系@#@0@#@0@#@2/1@#@PPD@#@自动设坐标系相对坐标值清零@#@0@#@24/6@#@CLCL@#@手动回零后清除局部坐标系@#@0@#@28/5@#@EX10D@#@坐标系外部偏移时刀偏量的值(X10)@#@0@#@708-711@#@自动设定工件坐标系的坐标值@#@0@#@735-738@#@第二参考点@#@0@#@0@#@780-783@#@第三参考点@#@0@#@0@#@784-787@#@第四参考点@#@0@#@0@#@5.行程限位@#@ @#@@#@&@#@/6@#@0TZN@#@Z轴行程限位检查否@#@0@#@15/4@#@LM2@#@第二行程限位@#@0@#@24/4@#@INOUT@#@第三行程限位@#@0@#@57/5@#@H0T3@#@换超程-LMX—+LMZ有效@#@0@#@65/3@#@PS0T@#@回零点前是否检查行程限位@#@0@#@0@#@700-703@#@各轴正向行程@#@0@#@0@#@704-707@#@各轴反向行程@#@0@#@0@#@15/2@#@30TZ@#@硬超程-LMX--+LMZ有效@#@0@#@20/4@#@LM2@#@第二行程限位@#@0@#@24/4@#@INOUT@#@第三行程限位@#@0@#@743-746@#@第二行程正向限位@#@0@#@747-750@#@第二行程反向限位@#@0@#@804-806@#@第三行程正向限位@#@0@#@807-809@#@第三行程反向限位@#@0@#@770-773@#@第二行程正向限位@#@0@#@774-777@#@第二行程反向限位@#@0@#@747-750@#@第三行程正向限位@#@0@#@751-754@#@第三行程反向限位@#@0@#@760-763@#@第四行程正向限位@#@0@#@764-767@#@第四行程反向限位@#@0@#@6.进给与伺服电机参数@#@ @#@@#@1/6(RDRN@#@空运行时,快速移动指令是否有效@#@0@#@0@#@8/5@#@快速倍率信号R0V2(G117/7)有效@#@0@#@49/6@#@VPRV@#@不用位置编码器实现主轴每转进给@#@0@#@0@#@20/5@#@VCIPS@#@是否进行到位检查@#@0@#@0@#@4—7@#@参考计数器容量@#@0@#@0@#@4—7@#@检测倍比@#@0@#@0@#@21/0.1.2.3@#@毗@#@绝对位置编码器@#@0@#@0@#@35/7@#@ACMR@#@任意CMR@#@0@#@0@#@37/0.1.2.3@#@SPTP@#@用分离型编码器@#@0@#@0@#@100-103@#@指令倍比CMR@#@0@#@0@#@7.DI/DO参数@#@ @#@@#@8/7@#@EILK@#@Z轴/各轴互锁@#@0@#@0@#@9/0.1.2.3@#@TFIN@#@FIN信号时间@#@0@#@0@#@9/4.5.6.7@#@TMF@#@W,S,T读信号时间@#@0@#@0@#@12/1@#@ZILK@#@Z轴/所有轴互锁@#@0@#@31/5@#@WDCF@#@GR1,GR2,DRN地址@#@0@#@252@#@复位信号扩展时间@#@0@#@0@#@&@#@显示和编辑@#@1/1@#@PROD@#@相对坐标显示是否包括刀补量@#@0@#@0@#@2/1@#@PPD@#@自动设坐标系相对坐标清零@#@0@#@0@#@15/1@#@WCH@#@刀具磨损补偿显示W@#@0@#@0@#@18/5@#@PROAD@#@绝对坐标系显示是否包括刀补量@#@0@#@23/3@#@SHI@#@汉字显示@#@0@#@0@#@28/2@#@DACTF@#@显示实际速度@#@0@#@0@#@29/0.1@#@DSP@#@第3,4轴位置显示@#@0@#@35/3@#@VDSP@#@第4轴位置显示@#@0@#@38/3@#@FLKY@#@用全键盘@#@0@#@0@#@48/7@#@SFFDSP@#@显示软按键@#@0@#@0@#@60/0@#@DADRDP@#@诊断画面上显示地址字@#@0@#@0@#@60/2@#@LDDSPG@#@显示梯形图@#@0@#@0@#@60/5@#@显示操作监控画面@#@0@#@0@#@64/0@#@SETREL@#@自动设坐标系时相对坐标清零@#@0@#@0@#@77/2@#@伺服波形显示@#@0@#@0@#@389/0@#@SRVSET@#@显示伺服设定画面@#@0@#@0@#@389/1@#@iVKNMDI@#@显示主轴调整画面@#@0@#@0@#@9.编程参数@#@ @#@@#@10/4@#@PRG9@#@09000-09999号程序保护@#@0@#@0@#@15/7@#@CPRD@#@小数点的含义@#@0@#@0@#@28/4@#@EXTS@#@外部程序号检索@#@0@#@0@#@29/5@#@4ABS@#@VIDI-B中,指令取决于G90/G91设定@#@0@#@389/2@#@〉RG8@#@08000-08999号程序保护@#@0@#@0@#@394/6@#@AKZRST@#@自动设工件坐标系时设为G54@#@0@#@10.螺距误差补偿@#@11/0.1@#@PML@#@螺补倍率@#@0@#@0@#@712-715@#@螺补间隔@#@0@#@756-759@#@螺补间隔@#@0@#@1000,2000@#@3000,4000@#@补偿基准点@#@0@#@0@#@1001-1128@#@2001-2128@#@3001-3128@#@1001-4128@#@补偿值@#@0@#@0@#@11.刀具补偿@#@1/3@#@TOC@#@复位时清除刀长补偿矢量@#@0@#@0@#@1/4@#@ORC@#@刀具补偿值(半径/直径输入)@#@0@#@8/6@#@VOFC@#@刀补量计数器输入@#@0@#@10/5@#@DOFSI@#@刀偏量直接输入@#@0@#@13/1@#@S0FU2@#@儿何补偿号(由刀补号或刀号)指定@#@0@#@13/2@#@SMOFS@#@加儿何补偿值(运动/变坐标)@#@0@#@14/0@#@T2D@#@r代码位数@#@0@#@14/1@#@&@#@MCL@#@复位时是否清儿何补偿值@#@0@#@14/5@#@iVIGA@#@刀补量的限制@#@0@#@15/4@#@HORB@#@直接输入刀补测量值的按钮@#@0@#@24/6@#@3NI@#@刀补测量B时补偿号的选择@#@0@#@75/3@#@iVN";i:
6;s:
10746:
"GTJ基础主梁的计算学习@#@从计算设置学新平法@#@ @#@ @#@ @#@ @#@——基础主梁的计算学习@#@ @#@ @#@基础主梁钢筋的计算主要是底部和顶部的贯通纵筋、底部非贯通纵筋、侧面纵向构造钢筋和箍筋的计算,算法主要来源于16G101-3。
@#@@#@ @#@ @#@ @#@ @#@一、算量基本方法:
@#@@#@ @#@ @#@ @#@ @#@
(一)底部和顶部贯通纵筋:
@#@@#@ @#@ @#@ @#@1、端部外伸时底部和顶部贯通纵筋:
@#@@#@ @#@ @#@@#@ @#@ @#@ @#@端部外伸时上部第一排纵筋和下部最底排纵筋伸至边缘弯折,弯折长度为12*d;@#@底部非底排纵筋伸至边缘即可;@#@上部非第一排纵筋不伸入外伸@#@端,伸入支座对边弯折,弯折长度为12*d;@#@计算规则来源于平法16G101-3第81页。
@#@在软件中是通过基础主梁节点设置第一项“基础主梁端部外伸构@#@造”来设置。
@#@@#@注意:
@#@基础梁底部纵筋多于一排时用斜线“/”隔开,如:
@#@2B25/4B28;@#@则表示底部最底排纵筋是4B28,底部第二排是2B25。
@#@软件还提供了多种形式可以@#@选择.@#@ @#@@#@图001@#@图002@#@ @#@@#@图003@#@ @#@@#@ @#@ @#@ @#@ @#@2、端部无外伸时底部和顶部贯通纵筋:
@#@@#@ @#@ @#@ @#@ @#@端部无外伸时,根据平法16G101-3第81页,规范算法要求基础梁底部和顶部纵筋成对连通设置,底部和顶部多出的钢筋伸至端部弯折,弯折长度@#@为15*d;@#@软件配备了两种方式,一种是规范算法,一种是传统算法。
@#@传统算法,底部和顶部第一排纵筋伸至对边弯折,弯折长度为h/2,其余钢筋伸至@#@端部弯折,弯折长度为15*d。
@#@软件中两种方式可以通过节点的选择来完成。
@#@@#@ @#@@#@图004@#@ @#@@#@图005@#@ @#@@#@ @#@ @#@3、基础主梁顶部有高差时纵筋的计算:
@#@@#@ @#@ @#@ @#@ @#@下部纵筋连续通过支座;@#@低跨上部纵筋伸入支座内,伸入长度为la;@#@高跨上部第一排纵筋伸入低跨梁内,伸入长度为la;@#@非第一排纵筋伸入支座@#@内la。
@#@计算规则来源于平法16G101-3第83页。
@#@在软件中是通过基础主梁节点设置第三项“基础主梁顶有高差构造”来设置。
@#@软件配备了二种方式,一种是@#@规范做法,一种是常规做法,可以根据图纸来进行选择和修改。
@#@@#@ @#@@#@图006@#@图007@#@ @#@@#@ @#@ @#@4、基础主梁底部有高差时纵筋的计算:
@#@@#@ @#@ @#@ @#@上部纵筋贯穿支座;@#@下部最底排纵筋伸入高跨梁内,伸入长度为la;@#@非底排纵筋伸入支座内锚固,伸入长度为la;@#@计算规则来源于平法16G101-3第@#@83页。
@#@在软件中是通过基础主梁节点设置第四项“基础主梁底有高差构造”来设置,在节点设置中输入放坡角度,底部钢筋计算时会按照角度计算斜长。
@#@@#@软件配备了三种节点可以选择。
@#@其中还包含顶和底均有高差的。
@#@@#@图008@#@图009@#@ @#@@#@ @#@ @#@
(二)底部非贯通纵筋:
@#@@#@ @#@ @#@ @#@基础主梁底部非贯通纵筋伸入跨内的长度为自柱中线向跨内延伸至L0/3位置,且不小于1.2L0+hb+0.5hc,hb为基础主梁截面高度,hc为支座宽,@#@对于中间跨非贯通筋,L0取柱中线两边较大一跨的中心跨度值。
@#@计算规则来源于平法16G101-3第79页@#@ @#@@#@图010@#@ @#@@#@(三)侧面构造钢筋:
@#@@#@ @#@ @#@ @#@ @#@侧面构造钢筋以大写字母G打头注写,且对称布置,如G8B16,表示梁两侧共配置8根构造纵筋,每侧4根;@#@侧面构造钢筋锚入支座内15*d即可;@#@@#@见计算设置第15项。
@#@@#@ @#@@#@ @#@@#@(四)箍筋:
@#@@#@ @#@ @#@ @#@ @#@基础主梁跨内的箍筋计算同框架梁,与框架梁不同的是,基础主梁在节点区通常也要布置箍筋,节点区内箍筋按梁端部箍筋设置;@#@因此,端支座@#@内箍筋根数计算公式为N=ceil(支座宽-bhc+起步-s加密)/s加密+1,中间支座箍筋根数计算公式为N=ceil(支座宽+2*起步-2*s加密)/s加密+1。
@#@计算规则@#@来源于平法16G101-3第88页。
@#@@#@ @#@二、软件计算设置:
@#@ @#@ @#@@#@ @#@@#@ @#@ @#@ @#@ @#@ @#@1、基础主梁下部非通长筋伸入跨内的长度:
@#@@#@来源:
@#@16G101-3第79页 @#@ @#@@#@说明:
@#@基础主梁底部非贯通纵筋伸入跨内的长度为自柱中线向跨内延伸至L0/3位置,且不小于1.2L0+hb+0.5hc,hb为基础主梁截面高度,hc为支座@#@宽,对于中间跨非贯通筋,L0取柱中线两边较大一跨的中心跨度值。
@#@@#@影响范围:
@#@下部非通长筋的长度;@#@@#@2、箍筋弯钩角度:
@#@@#@说明:
@#@提供135°@#@、90°@#@、180°@#@三种选择;@#@@#@影响范围:
@#@基础主梁箍筋的长度;@#@@#@箍筋135度的弯钩=平直段(10d或75mm的大值)+1.9d@#@箍筋90度的弯钩=平直段(10d或75mm的大值)+0.5d@#@箍筋180度的弯钩=平直段(10d或75mm的大值)+3.25d@#@直筋180度的弯钩=平直段(10d或75mm的大值)+2*6.25D@#@ @#@3、纵筋搭接接头错开百分率(不考虑架立筋):
@#@@#@来源:
@#@00G101第25页(选择0时);@#@16G101-3第60页@#@说明:
@#@指在同一截面上的搭接接头的面积百分率;@#@提供0、≤25%、50%、100%四种选择;@#@@#@影响范围:
@#@纵筋的长度;@#@不同的接头率决定不同的搭接长度修正系数;@#@钢筋搭接长度=修正系数*锚固长度;@#@接头率越大,修正系数越大,需要的搭接@#@长度越长;@#@@#@ @#@ @#@ @#@ @#@ @#@@#@ @#@ @#@ @#@ @#@ @#@@#@ @#@ @#@ @#@ @#@4、附加(反扣)吊筋锚固长度:
@#@@#@图011@#@来源:
@#@16G101-3第79页@#@说明:
@#@通常在次梁和主梁相交位置要在主梁上设置吊筋,吊筋高度应根据主梁高度推算,吊筋顶部平直段等于次梁宽度加2*50,吊筋锚固长度默认为@#@20*d,可以根据设计情况修改此项默认值;@#@@#@影响范围:
@#@吊筋的长度;@#@@#@ @#@ @#@ @#@ @#@ @#@5、附加(反扣)吊筋弯折角度:
@#@@#@来源:
@#@16G101-3第79页@#@图012@#@说明:
@#@梁高大于800时,弯折角度为60,梁高小于等于800时,弯折角度为45,用户可以根据实际情况进行编辑弯折角度;@#@@#@影响范围:
@#@吊筋的长度;@#@@#@ @#@ @#@ @#@ @#@ @#@@#@ @#@ @#@ @#@ @#@ @#@6、次梁两侧共增加箍筋数量:
@#@@#@来源:
@#@16G101-3第79页;@#@@#@说明:
@#@默认为0根,用户可根据实际情况输入根数,当次梁加筋和箍筋的钢筋信息不同时可以输入根数+级别+直径的形式,计算时即可按照自己输入@#@的钢筋信息计算;@#@@#@图012@#@影响范围:
@#@次梁加筋的根数,次梁加筋的根数、级别和直径;@#@@#@ @#@ @#@ @#@ @#@ @#@@#@ @#@ @#@ @#@ @#@ @#@7、拉筋配置:
@#@@#@来源:
@#@16G101-3第82页;@#@@#@图013@#@说明:
@#@拉筋默认配置为直径8mm的一级钢,用户可根据实际情况进行调整;@#@拉筋的间距默认为箍筋间距的两倍,当实际工程中拉筋间距不是箍筋间距 @#@@#@两倍时,可以在基础梁属性中拉筋信息一项自行输入想要的间距信息;@#@@#@影响范围:
@#@拉筋的级别、直径;@#@@#@ @#@ @#@ @#@ @#@ @#@8、箍筋加密长度:
@#@@#@来源:
@#@16G101-1第88页;@#@@#@说明:
@#@一级抗震时,箍筋加密长度为max(2*h,500),非一级抗震时,箍筋加密长度为max(1.5*h,500);@#@用户可以根据工程实际情况自行调整加@#@密长度;@#@@#@影响范围:
@#@箍筋的数量;@#@@#@ @#@ @#@ @#@ @#@ @#@9、起始箍筋距支座边距离:
@#@@#@来源:
@#@16G101-3第79页;@#@@#@图014@#@说明:
@#@默认为50;@#@@#@影响范围:
@#@箍筋的数量;@#@@#@ @#@ @#@ @#@@#@10、侧面构造筋的锚固长度:
@#@@#@来源:
@#@16G101-3第22页;@#@@#@图015@#@说明:
@#@默认为15*d;@#@一般情况下,当hw>@#@=450时,在梁的两个侧面应沿高度配置纵向构造钢筋,纵向构造钢筋间距=<@#@200;@#@@#@影响范围:
@#@侧面构造筋的长度;@#@@#@ @#@ @#@ @#@ @#@11、侧面构造筋的搭接长度:
@#@@#@来源:
@#@16G101-3第22页;@#@@#@说明:
@#@默认为15*d;@#@因基础主梁图集中没有明确说明,因此搭接长度还是取框架梁中的说明;@#@@#@影响范围:
@#@侧面构造筋的长度;@#@@#@ @#@ @#@ @#@ @#@ @#@12、加腋梁箍筋加密起始位置:
@#@@#@来源:
@#@16G101-3第86页;@#@@#@说明:
@#@提供两个选项,加腋端部和柱边,加腋端部是指箍筋加密范围是从加腋端部开始,柱边是指加密范围从支座边开始,注意在加腋部位箍筋高度是@#@一个变值;@#@在16G101-3第86页说明了基础次梁的加腋构造,也明确箍筋加密起始位置。
@#@软件的设置取自次梁的构造。
@#@@#@影响范围:
@#@侧面构造筋的长度;@#@@#@ @#@ @#@ @#@ @#@ @#@ @#@13、基础主梁箍筋/拉筋根数计算方式:
@#@@#@说明:
@#@提供(四舍五入+1)、(向上取整+1)、(向下取整+1)、(四舍五入)、(向上取整)、(向下取整)七种选择;@#@ @#@@#@ @#@@#@注意:
@#@@#@1)只有当箍筋间距只有一个时计算取这个设置,当箍筋区分加密区和非加密区时,采用加密区向上取整加一,非加密区向上取整减一的方式计算;@#@@#@2)当梁箍筋有两种或两种以上形式时,例如“A10@100/200”或“A8@100[1500];@#@A10@200[2000],箍筋根数计算按照实际排布情况计算,不再取计算@#@设置中的“根数计算方式”;@#@例如梁箍筋为“A10@100/200”,那么当前跨左右两端加密区按照向上取整+1计算,中间非加密区按照向上取整-1计算。
@#@@#@计算设置中的“根数计算方式”只适用于箍筋有一种形式时,例如“A10@100”。
@#@@#@影响范围:
@#@箍筋数量;@#@@#@ @#@@#@";i:
7;s:
15458:
"IPO过会情况分析@#@2013-2017年IPO过会情况分析@#@A股市场成成立将近30年的时间,在中国经济增速换挡、转型升级的背景下,金融深化改革进程中,近几年IPO情况出现了一些新的变化。
@#@下面回顾2013-2017年IPO情况,进行分析:
@#@@#@一、2014-2017年IPO情况回顾@#@公司上市速度明显增快,新股发行常态化,有效缓解IPO“堰塞湖”。
@#@尤其2017年由430家公司成功登陆A股市场,创出历史新高,较2016年增加86%,募集金额2401亿元。
@#@统计数据如下图所示:
@#@@#@数据来源——大智慧,天道资本@#@从上市公的地域来看,广东近四年共成功上市209家,领跑新股发行。
@#@浙江165家,江苏147家,北京88家,上海81家,占据家数排名的前5位。
@#@供给690家,合计占总上市家数的68%。
@#@@#@数据来源——大智慧,天道资本@#@过会率方面,随着2017年IPO提速,过会率呈现断崖式下跌,如下图所示:
@#@@#@数据来源——大智慧,天道资本@#@@#@从上图可以看出,2014-2016年,过会率均保持在93%-95%之间,2017年过会率仅79.83%。
@#@分析2017年各月具体情况如下图:
@#@@#@数据来源——choice,天道资本@#@从上图可以看出,每个月均有16家及以上的企业上会,其中5月份IPO上会的数量最多,有63家,1月份54家的数量居第二。
@#@@#@2017年9月份之前,过会率相对比较稳定,过会率80%左右。
@#@其中,3月份IPO过会率最高,达94.23%。
@#@2017年10月份,随着新一届发审委的上任,过会率出现断崖式下跌。
@#@10月、11月、12月三个月的通过率分别为72.72%、52.94%、56.25%。
@#@三个月的整体通过率大幅下降,如下图所示:
@#@@#@数据来源——证监会,天道资本@#@从行业来看,2017年,制造业、信息传输、软件和信息技术服务业、科学研究和技术服务业IPO成功数量位列前三位,如下图所示:
@#@@#@数据来源——choice,天道资本@#@二、2017年新三板转板IPO情况@#@2017年新三板IPO战绩并不乐观,全年上会的企业有38家,占全年上会的475家比例为8%,通过26家,占全年过会的430家比例为6.05%。
@#@新三板转板IPO通过率68%,低于整体过会率79.83%。
@#@无论从哪个维度来看,2017年新三板转IPO的表现并不出彩。
@#@@#@2017年成功过会新三板企业名单:
@#@@#@另外12家被否企业核心原因:
@#@@#@
(1)爱威科技:
@#@被质疑是否存在商业贿赂、毛利率异常、涉嫌税务违法等。
@#@@#@
(2)泰达新材:
@#@2016年应收下降净利(扣非)未同步下降;@#@高管薪酬偏低、主要产品单位生产成本低于同行业可比公司,质疑是否主要经营一种业务。
@#@@#@ (3)耐普矿机:
@#@综合毛利率高于同行业可比公司、销售给江铜集团橡胶耐磨制品的毛利率高于销售给其他客户的毛利率、高管薪酬和员工平均薪酬水平和同行业公司比较是否偏低、净利润波动较大、存在业绩下滑超过50%的风险、营收逆行业趋势增长@#@ (4)广信科技:
@#@净利润未达3000万,业务增长缓慢的原因,亏损原因;@#@被质疑存在同业竞争。
@#@@#@ (5)森鹰窗业:
@#@内控制度问题,经销商模式,毛利率远高于同行业平均水平,行政处罚以来披露,应收账款过高。
@#@应收账款占主营业务收入比例较高的主要原因及其合理性。
@#@@#@ (6)钜泉光电:
@#@业绩下滑,扣非净利不足3000万,被质疑可持续盈利能力;@#@无实际控制人的理由和依据,是否存在潜在的重大权属纠纷;@#@经销商集中度较高,被质疑是否存在关联关系;@#@是否存在单一客户重大依赖;@#@保荐机构的保荐执业独立性被质疑。
@#@经销商模式的合理性,业务合理性和真实性;@#@毛利率出现异常的原因;@#@@#@ (7)鸿禧能源:
@#@关联方及关联交易披露是否真实、准确、完整,是否存在分摊成本、承担费用或其他利益转移的情形。
@#@销售费用金额较低的原因及合理性。
@#@前五大客户采购数量、金额大幅变动的商业合理性。
@#@是否存在股份代持或利益输送等情形。
@#@募投项目是否与行业发展趋势一致。
@#@@#@ (8)博拉网络:
@#@三类股东清理时被质疑有代持嫌疑,重数传媒的毛利率异常、重大依赖实控人、业务独立性被询问。
@#@@#@ (9)顺博合金:
@#@被疑是否完整披露关联方关系、恰当披露关联交易等,还有盈利能力受市场价格波动影响较大,毛利率为5%~7%,如何应对铝价大幅变动。
@#@@#@ (10)金丹科技:
@#@采购原材料涉及的现金支付情况、糖化渣销售收入占比不高但毛利率贡献很大、出口销售收入占比过高、原材料采购价格与市场存在差异,政府补贴比重过高等问题受到关注。
@#@@#@ (11)通领科技:
@#@实际控制人认定;@#@同业竞争;@#@营业利润下滑,持续盈利能力重大不确定性,毛利率变动趋势异于同行业;@#@外销毛利率高于内销毛利率的合理性;@#@关联交易披露完整性及关联交易合理公允性;@#@@#@(12)宇邦新材:
@#@毛利率高于同行业可比公司平均水平及变动趋势存在明显差异的原因及合理性;@#@可持续盈利能力是否存在重大不确定性;@#@是否存在利润调节行为;@#@是否存在通过放松信用政策刺激销售的情形;@#@是否存在商业承兑汇票到期未兑付而应转入应收账款核算的情形;@#@是否存在关联关系,是否存在为发行人代垫费用、代为承担成本或转移定价、其他利益安排等利益输送情形;@#@募投项目实施的可行性与必要性。
@#@@#@3月13日,证监会披露了广东文灿压铸股份有限公司(832154,下称文灿股份)上会的结果,文灿股份首发获通过。
@#@文灿股份作为首家IPO过会的含有“三类股东”直接持股的新三板企业,表明“三类股东”问题解决已获实质性突破,对提振新三板市场信心具有积极作用。
@#@@#@“三类股东”问题破冰,将重振市场投资者信心,消除拟IPO企业顾虑,将有利于提升“三类股东”投资新三板企业的热情,新三板企业转板迎来利好。
@#@@#@三、市场趋势分析@#@1、审核从严将成为新常态@#@随着去年10月份新一届发审委履职以来,IPO审核从严把关,过会率连创新低,甚至一度出现“七否六”、“零通过”的局面。
@#@@#@加上最近证监会官员强监管的接连表态,对发审委和委员的履职行为进行360度评价,要健全监督制约机制,坚持无禁区、全覆盖、零容忍,终身追责。
@#@@#@如今看来,事实上新股发审从严化的趋势已经形成,IPO各项工作正在稳步运行。
@#@那么在这高标准、严要求的趋势下,2018年IPO审核也将保持较低的通过率。
@#@@#@2、从源头上净化市场环境,杜绝企业带病上市。
@#@@#@目前还存在与实施注册制改革完全不适应的问题,注册制授权决定延期两年。
@#@为了抑制壳概念炒作以及从源头上控制申请上市的企业的质量,对于重组上市类交易(俗称借壳上市),企业在IPO被否决后至少应运行3年才可筹划重组上市。
@#@截止到今天3月11日,已经有29家排队企业申请终止审查,进一步解决IPO“堰塞湖”问题,未注册制实施创造条件。
@#@@#@3、加大对市场违法违规行为打击的力度。
@#@@#@2018年IPO低通过率常态化后,预计将推出一系列政策来加大对违法违规行为的惩罚力度,包括完善退市制度、提高违法成本等,扭转扭曲的投机心态和市场环境,为注册制实施创造条件。
@#@@#@三、2017年IPO被否原因分析@#@2017年有86家上会企业被否,经过对2017年被否企业问题分析,发审委的审核重点集中在:
@#@关联交易、持续盈利能力、股权问题、财务问题、合法合规问题、内部控制问题、独立性问题、客户依赖问题、人员问题、募投项目的合理性问题等核心问题,是审核的重点。
@#@@#@①关联交易问题@#@具体表现形式为:
@#@关联交易、关联担保、关联借款、关联方资金占用、大额票据融资、商业贿赂、同业竞争、关联方注销、关联方代垫费用等。
@#@除担保和资金占用之外,与关联方的关联交易并不是完全禁止的,但需要重点关注交易的重要性、交易的公允性、交易的真实性、交易的内控程序、交易的必要性及未来趋势。
@#@@#@②持续盈利能力@#@具体表现形式为:
@#@持续盈利能力、利润下滑、公司被复制替代风险、流动比率过低、高新技术企业资格税收优惠消失影响、潜在风险、出口退税对业绩影响等, 持续盈利能力体现在盈利水平、盈利结构和盈利趋势三个方面,盈利水平是“血肉”,盈利结构是“骨架”,而盈利趋势则是“灵魂”。
@#@@#@③股权相关问题@#@具体表现为:
@#@实际控制人认定、股权转让合理性、股权代持、潜在股权争议或纠纷、潜在对赌协议条款等方面。
@#@@#@④毛利率及应收账款质疑@#@具体表现为:
@#@毛利率异常、应收账款异常、信用政策、存货周转率、期间费用、成本费用、资金成本低于同行业等,毛利率是影响公司业绩的关键因素,与同行业公司或自己公司历史毛利率情况相比出现异常波动可能有一定的问题。
@#@@#@⑤会计处理合规性、收入真实性质疑@#@具体表现为:
@#@披露信息的真实性、完整性、准确性;@#@收入的真实性和会计处理合规性;@#@会计处理方面折旧计算和存货跌价准备等计提。
@#@@#@⑥合法合规问题@#@具体表现为:
@#@业务资质、业务授权、合法合规、环境保护、未按照规定办理外汇登记前多次向境外股东利润分配、划拨土地实际用途合规性、诉讼纠纷、权属纠纷。
@#@@#@⑦内部控制规范性问题@#@⑧独立性问题@#@具体表现为:
@#@发行人独立性、股东或关联方代垫费用、保荐机构独立性,此问题与关联方交易问题高度相关。
@#@@#@⑨客户依赖问题@#@具体表现为:
@#@客户依赖、客户集中度高、客户关联方质疑、分包公司依赖、供应商依赖、供应商及客户重合、前五大客户交易金额波动剧烈,此问题亦同独立性、关联交易、收入真实性问题高度相关,会影响公司的持续盈利能力。
@#@@#@⑩员工问题@#@具体表现为:
@#@人员相关问题、职工薪酬、人员稳定、研发支出。
@#@@#@IPO被否的原因对于各个企业而言不尽相同,涉及经营能力的持续性、企业会计及财务问题、信息披露、内控体系、合规性等,提示排队的企业还是要做好自检自查。
@#@@#@新一届发审委对细节尤为关注,审核的维度全面且十分严谨,上一届发审委审核业绩为王的思路已经不再适用了,目前发审委更关注内部控制和财务真实性。
@#@@#@@#@四、案例分析@#@江苏蓝电环保:
@#@泛滥的环保概念无法掩饰没有核心竞争力和发展前景的残酷现实。
@#@@#@1、发行人80%以上的业务都是销售脱硫和除尘设备的,报告期内净利润大幅波动且一直处于比较低的规模,2016年只有2000多万的净利润,比2015年下降了接近50%。
@#@@#@2、发行人生产的脱硫设备采用离子液脱硫,属于国内领先的脱硫技术,该离子液脱硫技术由成都华西持有,发行人2011年7月与成都华西签订《合作协议》合作开拓脱硫业务,相关收入占当期全部脱硫收入的比例分别为76.35%、24.48%及35.74%。
@#@发行人尽管有技术和生产设备优势,但是在整个合作协议中离子液这个产品和技术才是最关键的,对发行人脱硫业务有本质影响。
@#@@#@3、发行人检修和配件业务的毛利率一直是非常高的,同时发行人脱硫业务的毛利率远高于可比上市公司。
@#@@#@发审委询问:
@#@@#@1、持续盈利能力@#@
(1)与成都华西合作的背景及原因,合作协议的可持续性,如合作协议终止,是否有足够的应对措施,是否会对生产经营和财务状况造成重大不利影响,是否存在影响持续盈利能力的不利情形。
@#@@#@
(2)核心技术是否具备完整性和独立性,对成都华西是否构成重大依赖。
@#@@#@(3)与成都华西是否存在关联关系或其他利益安排。
@#@请保荐代表人说明核查方法、依据,并发表明确核查意见。
@#@@#@发行人尽管有技术和生产设备优势,但是在整个合作协议中离子液这个产品和技术才是最关键的,也是对发行人脱硫这个业务有本质影响的,尽管发行人通过签署长期合作协议来确定发行人自身的技术水平和竞争力,不过还是会存在比较大的经营风险。
@#@@#@发行人与成都华西的销售占比呈下降的趋势,并且下降趋势还比较明显,主要原因有两个,一个是因为发行人采用非离子液技术的项目越来越多,另外一个是掌握离子液技术的企业越来越多,与发行人展开技术合作的企业也越来越多。
@#@@#@影响公司的持续盈利能力。
@#@@#@2、大客户依赖@#@1)结合报告期内主要客户的收入占比、在手订单情况,说明是否存在客户集中度较高的风险。
@#@@#@
(2)说明对第一大客户是否存在重大依赖。
@#@@#@(3)说明销售费用率低于同行业可比公司的合理性,是否存在调节销售费用、关联方承担销售费用等情形。
@#@请保荐代表人说明核查方法、依据,并发表明确核查意见。
@#@@#@发行人前五大客户的销售占比在50%左右,最高的时候可以达到70%以上,这个比例还是很高的。
@#@当然,这个行业的客户主要还是一些大的企业,客户集中度稍微高一点倒也符合行业特征,从这个角度来看,发审会对于客户的关注和担忧更多是对发行人所处行业的关注和担忧。
@#@@#@3、毛利率异常@#@
(1)说明各期跨期项目收入的毛利率变化情况及其原因。
@#@@#@
(2)结合定价机制、主要项目毛利率等情况,说明毛利率变动原因。
@#@@#@(3)结合应用领域、技术研发及应用等情况,说明毛利率高于同行业可比公司的原因及合理性。
@#@请保荐代表人说明核查方法、依据,并发表明确核查意见。
@#@@#@①发行人检修和配件业务的毛利率一直是非常高的,如何进行核查并保证数据真实性是一个难点问题;@#@②发行人除尘设备毛利率与同行业基本一致,但是脱硫业务的毛利率远高于可比上市公司,尽管发行人做了很多解释,但是都是一些定性的分析并不能说明本质问题;@#@③发行人与离子液厂家的相关业务合作,是否可以通过一种方式提高发行人脱硫业务的毛利率我们不得而知,不过发行人也没有很好地说透这个问题。
@#@@#@";i:
8;s:
22302:
"JSF生命周期及组件开发P@#@JSF生命周期概述@#@JSF程序生命周期的5个阶段如下(注意每个阶段的事件处理):
@#@@#@1.恢复视图@#@2.应用请求的值;@#@处理验证@#@3.更新模型值;@#@处理事件@#@4.调用程序;@#@处理事件@#@5.进行响应;@#@处理事件@#@这5个阶段显示了JSF通常处理GUI的顺序。
@#@虽然这个清单列出了每个阶段中事件处理的可能执行顺序,但是JSF的生命周期很难是固定一成不变的。
@#@您可以通过忽略某个阶段或合并整个生命周期从而对执行顺序进行修改。
@#@例如,如果一个无效的请求值被拷贝到一个组件中,那么当前的视图就会重新显示,而有些阶段就可能不会执行。
@#@@#@在这种情况中,您可以执行一个FacesContext.responseComplete()方法调用,将用户重定向到一个不同的页面上,然后使用请求分发器(从FacesContext中的请求对象中获得)将其转发到一个适当的Web资源上。
@#@另外,您可以调用FacesContext.renderResponse重新显示原来的视图。
@#@(详细信息请参看下面的示例程序。
@#@)@#@关键是让生命周期构成您的开发项目,而不完全依赖于生命周期。
@#@在需要时,您可以修改生命周期,而不用担心破坏您的程序。
@#@在大部分情况中,您会发现JSF的生命周期是值得遵守的,因为它的逻辑非常好。
@#@表单必须在任何应用程序逻辑执行之前进行验证,并且在进行验证之前,必须对域中的数据进行转换。
@#@遵守生命周期的规定,可以让您更自由地考虑有关验证和转换的问题,而不是请求处理本身的阶段。
@#@有一点非常重要:
@#@其他Web框架也都具有类似的生命周期;@#@它们只不过是没有很好地进行宣传。
@#@@#@有些使用JSF的开发者可能从来都不会编写一个组件,也不会对框架进行任何扩展;@#@而另外一些人则专注于这种任务的开发。
@#@尽管JSF的生命周期与大部分那其他项目都是相同的,但是根据在项目中的角色您可以采用不同的阶段。
@#@如果您更专注于通用的应用程序开发,就可能会关注请求处理生命周期的中间阶段:
@#@@#@∙应用请求值@#@∙更新模型值@#@∙调用程序@#@如果您专注于JSF组件的开发,就可能会关注于整个生命周期中的第一个阶段和最后一个阶段:
@#@@#@∙恢复视图@#@∙进行响应@#@在接下来的几节中,我们将遍历JSF请求处理生命周期的每个步骤,包括事件处理和验证。
@#@了解了每个步骤的基本知识之后,我们将简要介绍一个示例程序,它可以展示这些步骤如何一起使用。
@#@在开始之前,首先来看一下图1,这是一个有关JSF生命周期的图。
@#@@#@图1JSF生命周期@#@阶段1:
@#@恢复视图@#@在JSF生命周期的第一个阶段—恢复视图中,会有一个来自FacesServlet控制器的请求。
@#@控制器会对请求进行考查,并提取出视图的ID,这是由JSP页面的名字来确定的。
@#@@#@JSF框架控制器使用这个视图ID来为当前的视图查找组件。
@#@如果这个视图尚未存在,那么JSF控制器就会创建它。
@#@如果这个视图早已存在,那么JSF控制器就会使用它。
@#@这个视图包含了所有的GUI组件。
@#@@#@生命周期的这个阶段表示为三个视图实例:
@#@新视图、原始视图和后视图,每个视图的处理方式都不相同。
@#@在新视图的情况中,JSF会构建Faces页面的视图,并将事件处理程序和验证程序绑定到组件上。
@#@这个视图被保存在一个FacesContext对象中。
@#@@#@FacesContext对象包含了JSF用来管理当前会话中当前请求的GUI组件状态所需要的所有状态信息。
@#@FacesContext将视图保存在自己的viewRoot属性中;@#@viewRoot包含了当前视图ID的所有JSF组件。
@#@@#@在原始视图的情况中(第一次加载的是一个页面),JSF会创建一个空视图。
@#@这个空视图会在用户事件产生时进行填充。
@#@JSF可以直接从原始视图过渡到进行响应的阶段。
@#@@#@在后视图(postback)的情况中(用户返回之前访问过的页面),包含页面的视图早已经存在了,因此只需要进行恢复就可以了。
@#@在这种情况中,JSF就使用现有视图的状态信息来重构状态。
@#@后视图的下一个阶段是应用请求值。
@#@@#@阶段2:
@#@应用请求值@#@应用请求值阶段的目的是让每个组件检索自己当前的状态信息。
@#@这些组件必须首先通过FacesContext对象进行检索或创建(使用其值)。
@#@虽然组件值也可以从cookie或头文件中进行检索,但是它们通常是通过请求参数进行检索的。
@#@@#@如果一个组件的即时事件处理属性没有设置为true,那么就会对这些值进行转换。
@#@因此,如果域被绑定到一个Integer属性上,那么该值就会被转换为一个Integer类型。
@#@如果值的转换失败了,那么就会生成一个错误消息,并在FacesContext中进行排队,在产生响应的阶段会显示其中的消息,同时还会显示所有的验证错误。
@#@@#@如果一个组件的即时事件处理属性的确被设置为true,那么这些值就会被转换为适当的类型,并进行有效性验证。
@#@然后转换后的值会被保存到组件中。
@#@如果值转换或值的有效性验证失败了,就会生成一个错误消息,并在FacesContext中进行排队,在产生响应的阶段会显示其中的消息,同时还会显示所有的验证错误。
@#@@#@阶段3:
@#@处理验证@#@生命周期中的第一个事件处理发生在应用请求值阶段之后。
@#@在这个阶段中,每个组件都有一些值需要根据应用程序的验证规则进行有效性验证。
@#@这些验证规则可以是预先进行定义的(JSF中提供的),也可以由开发者进行定义。
@#@用户所输入的值会与这些验证规则进行比较。
@#@如果说输入的值无效,就会向FacesContext中添加一个错误消息,并且该组件会被表示为无效的。
@#@如果一个组件被表示为无效的,那么JSF就会转到产生响应的阶段,在这个阶段中会显示当前的视图,以及验证错误消息。
@#@如果没有有效性验证错误,那么JSF就会转到更新模型值的阶段。
@#@@#@阶段4:
@#@更新模型值@#@JSF应用程序生命周期中的第四个阶段——更新模型值负责更新服务器端模型的实际值,通常来讲,这都是通过更新后台bean(称为管理bean)的属性实现的。
@#@只有那些与组件值绑定在一起的bean属性才会被更新。
@#@注意这个阶段发生在有效性验证之后,因此可以确保拷贝到bean属性的值都是有效的(至少在表单域一级都是有效的;@#@在业务规则一级仍可能无效)。
@#@@#@阶段5:
@#@调用程序@#@在生命周期的第五个阶段——调用程序中,JSF控制程序会调用程序来处理表单的提交操作。
@#@组件值已经经过了类型转换和有效性验证,并被应用到模型对象中了,因此您现在可以使用它们来执行应用程序的业务逻辑了。
@#@@#@在这个阶段,您还可以为一个给定的序列或很多可能的序列指定后面的逻辑视图,这可以通过为一次成功的表单提交定义一个特定的结果并返回这个结果来实现。
@#@例如:
@#@在成功输出时,将用户重定向到下一页中。
@#@要让这种导航工作能够起作用,您需要在faces-config.xml文件中创建一个到成功输出的映射作为一条导航规则。
@#@一旦导航发生之后,您就转换到生命周期的最后一个阶段了。
@#@@#@阶段6:
@#@进行响应@#@在生命周期的第六个阶段——进行响应中,您可以在视图中显示当前状态中的所有组件。
@#@@#@ @#@@#@JSF组件开发@#@JSF拥有一个与AWT的GUI组件模型类似的组件模型。
@#@可以用JSF创建可重用组件。
@#@但不幸的是,存在一个误解:
@#@用JSF创建组件很困难。
@#@不要相信这些从未试过它的人们的FUD!
@#@开发JSF组件并不困难。
@#@由于不用一遍又一遍重复相同的代码,可以节约时间。
@#@一旦创建了组件,就可以容易地把组件拖到任何JSP、甚至任何JSF表单中,如果正在处理的站点有250个页面,这就很重要了。
@#@JSF的大多数功能来自基类。
@#@因为所有的繁重工作都由API和基类完成,所以JSF把组件创建变得很容易。
@#@@#@贯穿这个系列,我一直在试图帮助您克服造成许多Java开发人员逃避使用JSF技术的FUD。
@#@我讨论了对这项技术的基本误解,介绍了它的底层框架和它最有价值的开发特性。
@#@有了这些基础工作之后,我认为您已经可以采取行动,开发自己的定制JSF组件了。
@#@使用JSF的东西,我敢保证要比您想像的要更加容易,而且从节约的时间和精力上来说,回报如此之多,多得不能忽略。
@#@@#@这篇文章中的示例是用JDK1.5和Tomcat开发的。
@#@请单击页面顶部的示例代码下载示例源代码。
@#@注意,与以前的文章不同,这篇文章没有关联的build文件,因为我特意把它留给您作为一个练习了。
@#@只要设置IDE或编译器,把/src中的类编译到/webapp/WEB-INF/classes,并在/webapp/WEB-INF/lib中包含所有JAR文件(以及servlet-api.jar和jsp-api.jar,它们包含在Tomcat中)。
@#@@#@JSF组件模型@#@JSF组件模型与AWTGUI组件模型类似。
@#@它有事件和属性,就像Swing组件模型一样。
@#@它也有包含组件的容器,容器也是组件,也可以由其他容器包含。
@#@从理论上说,JSF组件模型分离自HTML和JSP。
@#@JSF自带的标准组件集里面有JSP绑定,可以生成HTML渲染。
@#@@#@JSF组件的示例包括日历输入组件和HTML富文本输入组件。
@#@您可能从来没时间去编写这样的组件,但是如果它们已经存在,那会如何呢?
@#@通过把常用功能变成商品,组件模型降低了向Web应用程序添加更多功能的门槛。
@#@@#@组件的功能通常围绕着两个动作:
@#@解码和编码数据。
@#@解码是把进入的请求参数转换成组件的值的过程。
@#@编码是把组件的当前值转换成对应的标记(也就是HTML)的过程。
@#@@#@JSF框架提供了两个选项用于编码和解码数据。
@#@使用直接实现方式,组件自己实现解码和编码。
@#@使用委托实现方式,组件委托渲染器进行编码和解码。
@#@如果选择委托实现,可以把组件与不同的渲染器关联,会在页面上以不同的方式渲染组件;@#@例如多选列表框和一列复选框。
@#@@#@因此,JSF组件由两部分构成:
@#@组件和渲染器。
@#@JSF组件类定义UI组件的状态和行为;@#@渲染器定义如何从请求读取组件、如何显示组件——通常通过HTML渲染。
@#@渲染器把组件的值转换成适当的标记。
@#@事件排队和性能验证发生在组件内部。
@#@@#@在图1中可以看到数据编码和解码出现在JSF生命周期中的什么阶段(到现在,我希望您已经熟悉JSF生命周期了)。
@#@@#@图1.JSF生命周期和JSF组件@#@更多组件概念@#@所有JSF组件的基类是UIComponent。
@#@在开发自己的组件时,需要继承UIComponentBase,它扩展了UIComponent并提供了UIComponent中所有抽象方法的默认实现。
@#@@#@组件拥有双亲和标识符。
@#@每个组件都关联着一个组件类型,组件类型用于在faces的上下文配置文件(faces-config.xml)中登记组件。
@#@可以用JSF-EL(表达式语言)把JSF组件绑定到受管理的bean属性。
@#@可以把表达式关联到组件上的任何属性,这样就允许用JSF-EL设置组件的属性值。
@#@在创建使用JSF-EL绑定的组件属性时,需要创建值绑定表达式。
@#@在调用绑定属性的getter方法时,除非setter方法已经设置了值,否则getter方法必须用值绑定获得值。
@#@@#@组件可以作为ValueHolder或EditableValueHolder。
@#@ValueHolder与一个或多个Validator和Converter相关联;@#@所以JSFUI组件也与Validator和Converter关联。
@#@@#@像表单字段组件这样的组件拥有一个ValueBinding,它必须绑定到JavaBean的读写属性。
@#@组件可以调用getParent方法访问它们的双亲,也可以调用getChildren方法访问它们的子女。
@#@组件也可以有facet组件,facet组件是当前组件的子组件,可以调用getFacets方法访问它,这个方法返回一个映射。
@#@Facets是著名的子组件。
@#@这里描述的许多组件的概念将会是接下来展示的示例的一部分,所以请记住它们!
@#@@#@JSF样式的HelloWorld!
@#@@#@我们用一个又好又容易的示例来开始JSF组件的开发:
@#@我将展示如何渲染Label标记(示例:
@#@<@#@label>@#@FormTest<@#@/label>@#@)。
@#@@#@下面是我要采取的步骤:
@#@@#@1.扩展UIComponent@#@o创建一个类,扩展UIComponent@#@o保存组件状态@#@o用faces-config.xml登记组件@#@2.定义渲染器或者内联地实现它@#@o覆盖encode@#@o覆盖decode@#@o用faces-config.xml登记渲染器@#@3.创建定制标记,继承UIComponentTag@#@o返回渲染器类型@#@o返回组件类型@#@o设置可能使用JSF表达式的属性@#@Label示例将演示JSF组件开发的以下方面:
@#@@#@∙创建组件@#@∙直接实现渲染器@#@∙编码输出@#@∙把定制标记与组件关联@#@返回图1,可以看到在这个示例中会有两个生命周期属性在活动。
@#@它们是ApplyRequestValue和RenderResponse。
@#@在图2中,可以看到在JSP中如何使用Label标记的(<@#@label>@#@FormTest<@#@/label>@#@)。
@#@@#@图2.在JSP中使用JSF标记@#@第1步:
@#@扩展UIComponent@#@第一步是创建一个组件,继承UIOutput,后者是UIComponent的子类。
@#@除了继承这个类之外,我还添加了组件将会显示的label属性,如清单1所示:
@#@@#@清单1.继承UIComponent并添加label@#@importjava.io.IOException;@#@@#@importponent.UIOutput;@#@@#@importjavax.faces.context.FacesContext;@#@@#@importjavax.faces.context.ResponseWriter;@#@@#@publicclassLabelComponentextendsUIOutput{@#@privateStringlabel;@#@@#@publicStringgetLabel(){@#@returnlabel;@#@@#@}@#@publicvoidsetLabel(Stringlabel){@#@this.label=label;@#@@#@}@#@...@#@接下来要做的是保存组件状态。
@#@JSF通常通过会话、隐藏表单字段、cookies等进行实际的存储和状态管理。
@#@(这通常是用户配置的设置)。
@#@要保存组件状态,需要覆盖组件的saveState和restoreState方法,如清单2所示:
@#@@#@清单2.保存组件状态@#@@Override@#@publicObjectsaveState(FacesContextcontext){@#@Objectvalues[]=newObject[2];@#@@#@values[0]=super.saveState(context);@#@@#@values[1]=label;@#@@#@return((Object)(values));@#@@#@}@#@@Override@#@publicvoidrestoreState(FacesContextcontext,Objectstate){@#@Objectvalues[]=(Object[])state;@#@@#@super.restoreState(context,values[0]);@#@@#@label=(String)values[1];@#@@#@}@#@可以注意到,我使用的是JDK1.5。
@#@我对编译器进行了设置,所以我必须指定override注释,以便指明哪些方法要覆盖基类的方法。
@#@这样做可以更容易地标识出JSF的钩子在哪。
@#@@#@创建组件的最后一步是用faces-config.xml登记它,如下所示:
@#@@#@<@#@faces-config>@#@@#@<@#@component>@#@@#@<@#@component-type>@#@simple.Label<@#@/component-type>@#@@#@<@#@component-class>@#@@#@arcmind.simple.LabelComponent@#@<@#@/component-class>@#@@#@<@#@/component>@#@@#@...@#@第2步:
@#@定义渲染器@#@下面要做的是内联地定义渲染器的功能。
@#@稍后我会介绍如何创建独立的渲染器。
@#@现在,先从编码Label组件的输出、显示label开始,如清单3所示:
@#@@#@清单3.编码组件的输出@#@publicclassLabelComponentextendsUIOutput{@#@...@#@publicvoidencodeBegin(FacesContextcontext)@#@throwsIOException{@#@ResponseWriterwriter=context.getResponseWriter();@#@@#@writer.startElement("@#@label"@#@,this);@#@@#@writer.write(label);@#@@#@writer.endElement("@#@label"@#@);@#@@#@writer.flush();@#@@#@}@#@...@#@}@#@注意,响应写入器(javax.faces.context.ResponseWriter)可以容易地处理HTML这样的标记语言。
@#@清单3的代码输出<@#@label>@#@元素体内的label的值。
@#@@#@下面显示的family属性用来把Label组件与渲染器关联。
@#@虽然目前Label组件还不需要这个属性(因为还没有独立的渲染器),但是在这篇文章后面,在介绍如何创建独立渲染器的时候,会需要它。
@#@@#@publicclassLabelComponentextendsUIOutput{@#@...@#@publicStringgetFamily(){@#@return"@#@simple.Label"@#@;@#@@#@}@#@...@#@}@#@插曲:
@#@研究JSF-RI@#@如果正在使用来自SunMicrosystems的JSF参考实现(不是MyFaces实现),那么就不得不在组件创建代码中添加下面一段:
@#@@#@publicvoidencodeEnd(FacesContextcontext)@#@throwsIOException{@#@return;@#@@#@}@#@publicvoiddecode(FacesContextcontext){@#@return;@#@@#@}@#@Sun的JSFRI期望,在组件没有渲染器的时候,渲染器会发送一个空指针异常。
@#@MyFaces实现不要求处理这个需求,但是在代码中包含以上方法依然是个好主意,这样组件既可以在MyFaces环境中工作也可以在JSFRI环境中工作了。
@#@@#@第3步:
@#@创建定制标记@#@JSF组件不是天生绑定到JSP上的。
@#@要连接起JSP世界和JSF世界,需要能够返回组件类型的定制标记(然后在faces-context文件中登记)和渲染器,如图3所示。
@#@@#@图3.连接JSF和JSP@#@注意,由于没有独立的渲染器,所以可以给getRendererType()返回null值。
@#@还请注意,必须已经把label属性的值从定制标记设置到组件上,如下所示:
@#@@#@[LabelTag.java]@#@publicclassLabelTagextendsUIComponentTag{@#@…@#@protectedvoidsetProperties(UIComponentcomponent){@#@/*youhavetocallthesuperclass*/@#@super.setProperties(component);@#@@#@((LabelComponent)component).setLabel(label);@#@@#@}@#@记住,Tag设置从JSP到Label组件的绑定,如图4所示。
@#@@#@图4.绑定JSF和JSP@#@现在要做的全部工作就是创建一个TLD(标记库描述符)文件,以登记定制标记,如清单4所示:
@#@@#@清单4.登记定制标记@#@[arcmind.tld]@#@<@#@taglib>@#@@#@<@#@tlib-version>@#@0.03<@#@/tlib-version>@#@@#@<@#@jsp-version>@#@1.2<@#@/jsp-version>@#@@#@<@#@short-name>@#@arcmind<@#@/short-name>@#@@#@<@#@uri>@#@@#@<@#@description>@#@ArcMindtags<@#@/description>@#@@#@<@#@tag>@#@@#@<@#@name>@#@slabel<@#@/name>@#@@#@<@#@tag-class>@#@arcmind.simple.LabelTag<@#@/tag-class>@#@@#@<@#@attribute>@#@@#@<@#@name>@#@label<@#@/name>@#@@#@<@#@description>@#@Thevalueofthelabel<@#@/description>@#@@#@<@#@/attribute>@#@@#@<@#@/tag>@#@@#@...@#@一旦定义了TLD文件,就可以开始在JSP中使用标记了,如下面示例所示:
@#@@#@[test.jsp]@#@<@#@%@taglibprefix="@#@arcmind"@#@@#@uri="@#@%>@#@@#@...@#@<@#@arcmind:
@#@slabellabel="@#@FormTest"@#@/>@#@@#@现在就可以了——开发一个简单的JSF组件不需要更多了。
@#@但是如果想创建稍微复杂一些的组件,针对更复杂的使用场景时该怎么办?
@#@请继续往下看。
@#@@#@ @#@@#@复合组件@#@在下一个示例中,我将介绍如何创建这样一个组件(和标记),它可以记住最后一个人离开的位置。
@#@Field组件把多个组件的工作组合到一个组件中。
@#@复合组件是JSF组件开发的重点,会节约大量时间!
@#@@#@Field组件把标签、文本输入和消息功能组合到一个组件。
@#@Field的文本输入功能允许用户输入文本。
@#@如果有问题(例如输入不正确),它的标签功能会显示红色,还会显示星号(*)表示必需的字段。
@#@它的消息功能允许它在必要的时候写出出错消息。
@#@@#@Field组件示例演示了以下内容:
@#@@#@∙UIInput组件@#@∙处理值绑定和组件属性@#@∙解码来自请求参数的值@#@∙处理出错消息@#@ @#@@#@与Label组件不同,Field组件使用独立渲染器。
@#@如果为一个基于HTML的应用程序开发组件,那么不要费力使用独立渲染器。
@#@这么做是额外的无用功。
@#@如果正在开发许多JSF组件,打算卖给客户,而针对的客户又不止一个,那么就需要独立的渲染器了。
@#@简而言之,渲染器适用于商业框架的开发人员,不适用于开发内部Web应用程序的应用程序开发人员。
@#@@#@了解代码@#@由于我已经介绍了创建组件、定义渲染器以及创建定制标记的基本步骤,所以这次我让代码自己说话,我只点出几个重要的细节。
@#@在清单5中,可以看到在典型的应用程序示例中如何使用Field标记的:
@#@@#@清单5.Field标记@#@<@#@f:
@#@view>@#@@#@<@#@h2>@#@CDForm<@#@/h2>@#@@#@<@#@h:
@#@formid="@#@cdForm"@#@>@#@@#@<@#@h:
@#@inputHiddenid="@#@rowIndex"@#@value="@#@#{CDManagerBean.rowIndex}"@#@/>@#@@#@<@#@arcmind:
@#@fieldid="@#@title"@#@@#@value="@#@#{CDManagerBean.title}"@#@@#@label="@#@Title:
@#@"@#@@#@errorStyleClass="@#@errorTe";i:
9;s:
16491:
"Oracle时间函数@#@Oracle时间函数.txt我的人生有A面也有B面,你的人生有S面也有B面。
@#@失败不可怕,关键看是不是成功他妈。
@#@现在的大学生太没素质了!
@#@过来拷毛片,居然用剪切!
@#@有空学风水去,死后占个好墓也算弥补了生前买不起好房的遗憾。
@#@@#@常用日期型函数@#@1。
@#@Sysdate当前日期和时间@#@SQL>@#@Selectsysdatefromdual;@#@@#@SYSDATE@#@----------@#@21-6月-05@#@@#@2。
@#@Last_day本月最后一天@#@SQL>@#@Selectlast_day(sysdate)fromdual;@#@@#@LAST_DAY(S@#@----------@#@30-6月-05@#@@#@3。
@#@Add_months(d,n)当前日期d后推n个月@#@用于从一个日期值增加或减少一些月份@#@date_value:
@#@=add_months(date_value,number_of_months)@#@@#@SQL>@#@Selectadd_months(sysdate,2)fromdual;@#@@#@ADD_MONTHS@#@----------@#@21-8月-05@#@@#@4。
@#@Months_between(f,s)日期f和s间相差月数@#@SQL>@#@selectmonths_between(sysdate,to_date('@#@2005-11-12'@#@,'@#@yyyy-mm-dd'@#@))fromdual;@#@@#@MONTHS_BETWEEN(SYSDATE,TO_DATE('@#@2005-11-12'@#@,'@#@YYYY-MM-DD'@#@))@#@----------------------------------------------------------@#@-4.6966741@#@5。
@#@NEXT_DAY(d,day_of_week)@#@返回由"@#@day_of_week"@#@命名的,在变量"@#@d"@#@指定的日期之后的第一个工作日的日期。
@#@参数"@#@day_of_week"@#@必须为该星期中的某一天。
@#@@#@SQL>@#@SELECTnext_day(to_date('@#@20050620'@#@,'@#@YYYYMMDD'@#@),1)FROMdual;@#@@#@NEXT_DAY(T@#@----------@#@26-6月-05@#@@#@6。
@#@current_date()返回当前会话时区中的当前日期@#@date_value:
@#@=current_date@#@SQL>@#@columnsessiontimezonefora15@#@SQL>@#@selectsessiontimezone,current_datefromdual;@#@@#@SESSIONTIMEZONECURRENT_DA@#@-------------------------@#@+08:
@#@0013-11月-03@#@@#@SQL>@#@altersessionsettime_zone='@#@-11:
@#@00'@#@2/@#@会话已更改。
@#@@#@@#@SQL>@#@selectsessiontimezone,current_timestampfromdual;@#@@#@SESSIONTIMEZONECURRENT_TIMESTAMP@#@---------------------------------------------------@#@-11:
@#@0012-11月-0304.59.13.668000下午-11:
@#@00@#@7。
@#@current_timestamp()以timestampwithtimezone数据类型返回当前会话时区中的当前日期@#@SQL>@#@selectcurrent_timestampfromdual;@#@@#@CURRENT_TIMESTAMP@#@---------------------------------------------------------------------------@#@21-6月-0510.13.08.220589上午+08:
@#@00@#@8。
@#@dbtimezone()返回时区@#@SQL>@#@selectdbtimezonefromdual;@#@@#@DBTIME@#@------@#@-08:
@#@00@#@@#@9。
@#@extract()找出日期或间隔值的字段值@#@date_value:
@#@=extract(date_fieldfrom[datetime_value|interval_value])@#@SQL>@#@selectextract(monthfromsysdate)"@#@ThisMonth"@#@fromdual;@#@@#@ThisMonth@#@----------@#@6@#@SQL>@#@selectextract(yearfromadd_months(sysdate,36))"@#@Years"@#@fromdual;@#@@#@Years@#@----------@#@2008@#@10。
@#@localtimestamp()返回会话中的日期和时间@#@SQL>@#@selectlocaltimestampfromdual;@#@@#@LOCALTIMESTAMP@#@---------------------------------------------------------------------------@#@21-6月-0510.18.15.855652上午@#@常用日期数据格式(该段为摘抄)@#@@#@Y或YY或YYY年的最后一位,两位或三位Selectto_char(sysdate,’YYY’)fromdual;@#@002表示2002年@#@SYEAR或YEARSYEAR使公元前的年份前加一负号Selectto_char(sysdate,’SYEAR’)fromdual;@#@-1112表示公元前1112年@#@Q季度,1~3月为第一季度Selectto_char(sysdate,’Q’)fromdual;@#@2表示第二季度①@#@MM月份数Selectto_char(sysdate,’MM’)fromdual;@#@12表示12月@#@RM月份的罗马表示Selectto_char(sysdate,’RM’)fromdual;@#@IV表示4月@#@Month用9个字符长度表示的月份名Selectto_char(sysdate,’Month’)fromdual;@#@May后跟6个空格表示5月@#@WW当年第几周Selectto_char(sysdate,’WW’)fromdual;@#@24表示2002年6月13日为第24周@#@W本月第几周Selectto_char(sysdate,’W’)fromdual;@#@2002年10月1日为第1周@#@DDD当年第几,1月1日为001,2月1日为032Selectto_char(sysdate,’DDD’)fromdual;@#@3632002年12月29日为第363天@#@DD当月第几天Selectto_char(sysdate,’DD’)fromdual;@#@0410月4日为第4天@#@D周内第几天Selectto_char(sysdate,’D’)fromdual;@#@52002年3月14日为星期一@#@DY周内第几天缩写Selectto_char(sysdate,’DY’)fromdual;@#@SUN2002年3月24日为星期天@#@HH或HH1212进制小时数Selectto_char(sysdate,’HH’)fromdual;@#@02午夜2点过8分为02@#@HH2424小时制Selectto_char(sysdate,’HH24’)fromdual;@#@14下午2点08分为14@#@MI分钟数(0~59)Selectto_char(sysdate,’MI’)fromdual;@#@17下午4点17分@#@SS秒数(0~59)Selectto_char(sysdate,’SS’)fromdual;@#@2211点3分22秒@#@提示注意不要将MM格式用于分钟(分钟应该使用MI)。
@#@MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。
@#@@#@@#@现在给出一些实践后的用法:
@#@@#@@#@1。
@#@上月末天:
@#@@#@SQL>@#@selectto_char(add_months(last_day(sysdate),-1),'@#@yyyy-MM-dd'@#@)LastDayfrom@#@dual;@#@@#@@#@LASTDAY@#@----------@#@2005-05-31@#@@#@2。
@#@上月今天@#@SQL>@#@selectto_char(add_months(sysdate,-1),'@#@yyyy-MM-dd'@#@)PreTodayfromdual;@#@@#@@#@PRETODAY@#@----------@#@2005-05-21@#@@#@3.上月首天@#@SQL>@#@selectto_char(add_months(last_day(sysdate)+1,-2),'@#@yyyy-MM-dd'@#@)firstDayfromdual;@#@@#@FIRSTDAY@#@----------@#@2005-05-01@#@@#@4.按照每周进行统计@#@SQL>@#@selectto_char(sysdate,'@#@ww'@#@)fromdualgroupbyto_char(sysdate,'@#@ww'@#@);@#@@#@TO@#@--@#@25@#@@#@5。
@#@按照每月进行统计@#@SQL>@#@selectto_char(sysdate,'@#@mm'@#@)fromdualgroupbyto_char(sysdate,'@#@mm'@#@);@#@@#@TO@#@--@#@06@#@@#@6。
@#@按照每季度进行统计@#@SQL>@#@selectto_char(sysdate,'@#@q'@#@)fromdualgroupbyto_char(sysdate,'@#@q'@#@);@#@@#@T@#@-@#@2@#@@#@7。
@#@按照每年进行统计@#@SQL>@#@selectto_char(sysdate,'@#@yyyy'@#@)fromdualgroupbyto_char(sysdate,'@#@yyyy'@#@);@#@@#@TO_C@#@----@#@2005@#@@#@8.要找到某月中所有周五的具体日期@#@selectto_char(t.d,'@#@YY-MM-DD'@#@)from(@#@selecttrunc(sysdate,'@#@MM'@#@)+rownum-1asd@#@fromdba_objects@#@whererownum<@#@32)t@#@whereto_char(t.d,'@#@MM'@#@)=to_char(sysdate,'@#@MM'@#@)--找出当前月份的周五的日期@#@andtrim(to_char(t.d,'@#@Day'@#@))='@#@星期五'@#@@#@--------@#@03-05-02@#@03-05-09@#@03-05-16@#@03-05-23@#@03-05-30@#@@#@如果把whereto_char(t.d,'@#@MM'@#@)=to_char(sysdate,'@#@MM'@#@)改成sysdate-90,即为查找当前月份的前三个月中的每周五的日期。
@#@@#@9.oracle中时间运算@#@@#@内容如下:
@#@@#@1、oracle支持对日期进行运算@#@2、日期运算时是以天为单位进行的@#@3、当需要以分秒等更小的单位算值时,按时间进制进行转换即可@#@4、进行时间进制转换时注意加括号,否则会出问题@#@SQL>@#@altersessionsetnls_date_format='@#@yyyy-mm-ddhh:
@#@mi:
@#@ss'@#@;@#@@#@会话已更改。
@#@@#@@#@SQL>@#@setserverouton@#@SQL>@#@declare@#@2DateValuedate;@#@@#@3begin@#@4selectsysdateintoDateValuefromdual;@#@@#@5dbms_output.put_line('@#@源时间:
@#@'@#@||to_char(DateValue));@#@@#@6dbms_output.put_line('@#@源时间减1天:
@#@'@#@||to_char(DateValue-1));@#@@#@7dbms_output.put_line('@#@源时间减1天1小时:
@#@'@#@||to_char(DateValue-1-1/24));@#@@#@8dbms_output.put_line('@#@源时间减1天1小时1分:
@#@'@#@||to_char(DateValue-1-1/24-1/(24*60)));@#@@#@9dbms_output.put_line('@#@源时间减1天1小时1分1秒:
@#@'@#@||to_char(DateValue-1-1/24-1/(24*60)-1/(24*60*60)));@#@@#@10end;@#@@#@11/@#@源时间:
@#@2003-12-2911:
@#@53:
@#@41@#@源时间减1天:
@#@2003-12-2811:
@#@53:
@#@41@#@源时间减1天1小时:
@#@2003-12-2810:
@#@53:
@#@41@#@源时间减1天1小时1分:
@#@2003-12-2810:
@#@52:
@#@41@#@源时间减1天1小时1分1秒:
@#@2003-12-2810:
@#@52:
@#@40@#@PL/SQL过程已成功完成。
@#@@#@@#@在Oracle中实现时间相加处理@#@--名称:
@#@Add_Times@#@--功能:
@#@返回d1与NewTime相加以后的结果,实现时间的相加@#@--说明:
@#@对于NewTime中的日期不予考虑@#@--日期:
@#@2004-12-07@#@--版本:
@#@1.0@#@--作者:
@#@Kevin@#@@#@createorreplacefunctionAdd_Times(d1indate,NewTimeindate)returndate@#@is@#@hhnumber;@#@@#@mmnumber;@#@@#@ssnumber;@#@@#@hoursnumber;@#@@#@dResultdate;@#@@#@begin@#@--下面依次取出时、分、秒@#@selectto_number(to_char(NewTime,'@#@HH24'@#@))intohhfromdual;@#@@#@selectto_number(to_char(NewTime,'@#@MI'@#@))intommfromdual;@#@@#@selectto_number(to_char(NewTime,'@#@SS'@#@))intossfromdual;@#@@#@--换算出NewTime中小时总和,在一天的百分几@#@hours:
@#@=(hh+(mm/60)+(ss/3600))/24;@#@@#@--得出时间相加后的结果@#@selectd1+hoursintodResultfromdual;@#@@#@return(dResult);@#@@#@endAdd_Times;@#@@#@@#@--测试用例@#@--selectAdd_Times(sysdate,to_date('@#@2004-12-0603:
@#@23:
@#@00'@#@,'@#@YYYY-MM-DDHH24:
@#@MI:
@#@SS'@#@))fromdual@#@@#@在Oracle9i中计算时间差@#@计算时间差是OracleDATA数据类型的一个常见问题。
@#@Oracle支持日期计算,你可以创建诸如“日期1-日期2”这样的表达式来计算这两个日期之间的时间差。
@#@@#@@#@@#@一旦你发现了时间差异,你可以使用简单的技巧来以天、小时、分钟或者秒为单位来计算时间差。
@#@为了得到数据差,你必须选择合适的时间度量单位,这样就可以进行数据格式隐藏。
@#@@#@@#@使用完善复杂的转换函数来转换日期是一个诱惑,但是你会发现这不是最好的解决方法。
@#@@#@@#@round(to_number(end-date-start_date))-消逝的时间(以天为单位)@#@@#@round(to_number(end-date-start_date)*24)-消逝的时间(以小时为单位)@#@@#@round(to_number(end-date-start_date)*1440)-消逝的时间(以分钟为单位)@#@@#@显示时间差的默认模式是什么?
@#@为了找到这个问题的答案,让我们进行一个简单的SQL*Plus查询。
@#@@#@@#@SQL>@#@selectsysdate-(sysdate-3)fromdual;@#@@#@@#@SYSDATE-(SYSDATE-3)@#@-------------------@#@3@#@@#@这里,我们看到了Oracle使用天来作为消逝时间的单位,所以我们可以很容易的使用转换函数来把它转换成小时或者分钟。
@#@然而,当分钟数不是一个整数时,我们就会遇到放置小数点的问题。
@#@@#@@#@Select@#@(sysdate-(sysdate-3.111))*1440@#@from@#@dual;@#@@#@@#@(SYSDATE-(SYSDATE-3.111))*1440@#@------------------------------@#@4479.83333@#@@#@当然,我们可以用ROUND函数(即取整函数)来解决这个问题,但是要记住我们必须首先把DATE数据类型转换成NUMBER数据类型。
@#@@#@@#@Select@#@round(to_number(sysdate-(sysdate-3.111))*1440)@#@from@#@dual;@#@@#@@#@ROUND(TO_NUMBER(SYSDATE-(SYSDATE-3.111))*1440)@#@----------------------------------------------@#@4480@#@@#@我们可以用这些函数把一个消逝时间近似转换成分钟并把这个值写入Oracle表格中。
@#@在这个例子里,我们有一个离线(logoff)系统级触发机制来计算已经开始的会话时间并把它放入一个OracleSTATSPACKUSER_LOG扩展表格之中。
@#@@#@@#@Update@#@perfstat.stats$user_log@#@set@#@elapsed_minutes=@#@round(to_number(logoff_time-logon_time)*1440)@#@where@#@user=user_id@#@and@#@elapsed_minutesisNULL;@#@@#@查出任一年月所含的工作日@#@CREATEORREPLACEFUNCTIONGet_WorkingDays(@#@nyINVARCHAR2@#@)RETURNINTEGERIS@#@ResultINTEGER;@#@@#@BEGIN@#@SELECTCOUNT(*)INTOResult@#@FROM(SELECTMOD(MOD(q.rq-to_date('@#@2001-12-30'@#@,'@#@yyyy-mm-dd'@#@),7),7)weekday@#@FROM(SELECTto_date(ny||t.dd,'@#@yyyymmdd'@#@)rq@#@FROM(SELECTsubstr(100+ROWNUM,2,2)dd@#@FROMljrqzWHERERownum<@#@=31@#@)t@#@WHEREto_date(ny||t.dd,'@#@yyyymmdd'@#@)@#@BETWEENto_date(ny,'@#@yyyymm'@#@)@#@ANDlast_day(to_date(ny,'@#@yyyymm'@#@))@#@)q@#@)a@#@WHEREa.weekdayNOTIN(0,6);@#@@#@RETURNResult;@#@@#@ENDGet_WorkingDays;@#@@#@@#@______________________________________@#@@#@还有一个版本@#@CREATEORREPLACEFUNCTIONGet_WorkingDays(@#@nyINVARCHAR2@#@)RETURNINTEGERIS@#@ResultINTEGER:
@#@=0;@#@@#@mytsINTEGER;@#@--所给年月的天数@#@sctsINTEGER;@#@--某天距2001-12-30所差的天数@#@rqDATE;@#@@#@djtINTEGER:
@#@=1;@#@--@#@BEGIN@#@myts:
@#@=to_char(last_day(to_date(ny,'@#@yyyymm'@#@)),'@#@dd'@#@);@#@@#@LOOP@#@rq:
@#@=TO_date(ny||substr(100+djt,2),'@#@yyyymmdd'@#@);@#@@#@scts:
@#@=rq-to_date('@#@2001-12-30'@#@,'@#@yyyy-mm-dd'@#@);@#@@#@IFMOD(MOD(scts,7)+7,7)NOTIN(0,6)THEN@#@Result:
@#@=Result+1;@#@@#@ENDIF;@#@@#@djt:
@#@=djt+1;@#@@#@EXITWHENdjt>@#@myts;@#@@#@ENDLOOP;@#@@#@RETURNResult;@#@@#@ENDGet_WorkingDays;@#@@#@@#@以上两个版本的比较@#@@#@第一个版本一条SQL语句就可以得出结果,不需要编程就可以达到目的。
@#@但需要使用任意一张有权访问的、记录条数至少为31的一张表或视图。
@#@@#@第二个版本需要编程,但不需要表或者视图。
@#@@#@这两个版本都还存在需要完善的地方,即没有考虑节日,如五一、十一、元旦、春节这些节假期都没有去除。
@#@这些节假日应该维护成一张表,然后通过查表来去除这些节假日。
@#@@#@ @#@@#@oracle时间函数@#@1、转换函数@#@与date操作关系最大的就是两个转换函数:
@#@to_date(),to_char()@#@to_date()作用将字符类型按一定格式转化为日期类型:
@#@@#@具体用法:
@#@to_date('@#@2004-11-27'@#@,'@#@yyyy-mm-dd'@#@),前者为字符串,后者为转换日期格式,注意,前后两者要一一对应。
@#@@#@如;@#@to_date('@#@2004-11-2713:
@#@34:
@#@43'@#@,'@#@yyyy-mm-ddhh24:
@#@mi:
@#@ss'@#@)将得到具体的时间@#@多种日期格式:
@#@@#@YYYY:
@#@四位表示的年份@#@YYY,YY,Y:
@#@年份的最后三位、两位或一位,缺省为当前世纪@#@MM:
@#@01~12的月份编号@#@MONTH:
@#@九个字符表示的月份,右边用空格填补@#@MON:
@#@三位字符的月份缩写@#@WW:
@#@一年中的星期@#@D:
@#@星期中的第几天@#@DD:
@#@月份中的第几天@#@DDD:
@#@年所中的第几天@#@DAY:
@#@九个字符表示的天的全称,右边用空格补齐@#@HH,HH12:
@#@一天中的第几个小时,12进制表示法@#@HH24:
@#@一天中的第几个小时,取值为00~23@#@MI:
@#@一小时中的分钟@#@SS:
@#@一分钟中的秒@#@SSSS:
@#@从午夜开始过去的秒数@#@to_char():
@#@将日期转按一定格式换成字符类型@#@SQL>@#@selectto_char(sysdate,'@#@yyyy-mm-ddhh24:
@#@mi:
@#@ss'@#@)timefromdual;@#@@#@TIME@#@-------------------@#@2004-10-0815:
@#@22:
@#@58@#@即把当前时间按yyyy-mm-ddhh24:
@#@mi:
@#@ss格式转换成字符类型@#@在oracle中处理日期大全@#@TO_DATE格式@#@Day:
@#@@#@ddnumber12@#@dy";i:
10;s:
24603:
"PLC实验指导书11122@#@北京印刷学院@#@信息与机电工程学院@#@信息工程系@#@《电气控制与PLC》实验@#@指@#@导@#@书@#@ @#@@#@自动化教研室编@#@NST-2301@#@工业自动化综合控制实验装置(PLC)@#@ @#@@#@实@#@验@#@指@#@导@#@书@#@ @#@@#@09级实验项目编号@#@实验项目名称@#@实验学时@#@时间安排@#@可参考实验书@#@内容提要@#@1@#@电动机的点动与运转@#@2@#@(4.24)10周
(1)周一8:
@#@40-11:
@#@40@#@
(2)周二1:
@#@30-4:
@#@4:
@#@30@#@实验1、2@#@利用常用电器控制电动机的工作@#@2@#@基本I/O指令、计数器、定时器@#@2@#@实验3、6@#@在三菱环境下,熟悉PLC接线及基本I/O指令、计数器、定时器指令。
@#@@#@(5.8)12周
(1)周一8:
@#@40-11:
@#@40@#@
(2)周二1:
@#@30-4:
@#@4:
@#@30@#@3@#@移位指令设计应用@#@2@#@实验7@#@在三菱环境下,熟悉移位指令@#@4@#@PLC程序设计
(1)@#@2@#@(5.22)14周
(1)周一1:
@#@30-4:
@#@30@#@
(2)周二1:
@#@30-4:
@#@4:
@#@30@#@实验10、11@#@一个PLC系统的综合程序设计@#@5@#@PLC程序设计
(2)@#@2@#@实验12、13@#@一个PLC系统的综合程序设计@#@15周周二下午1:
@#@00-2:
@#@00@#@2:
@#@00-3:
@#@00@#@3:
@#@00-4:
@#@00@#@6@#@PLC的通信实验@#@2@#@上机考试@#@PLC与PLC的通信实现@#@09级自动化PLC实验安排@#@ @#@@#@一目录@#@目录………………………………………………………………………………………………1@#@一硬件介绍……………………………………………………………………………………3@#@1实验模块………………………………………………………………………………………3@#@2编程电缆………………………………………………………………………………………3@#@3编程器的使用…………………………………………………………………………………4@#@二软件组成……………………………………………………………………………………5@#@三实验指导……………………………………………………………………………………6@#@实验1电机单向全电压启动…………………………………………………………………20@#@实验2电机正反转控制………………………………………………………………………21实验3电机Y-△降压启动…………………………………………………………………22@#@实验4电机单向全电压启动…………………………………………………………………23@#@实验5电机正反转控制………………………………………………………………………23@#@实验6电机Y-△降压启动……………………………………………………………………23@#@实验7抢答器实验……………………………………………………………………………24@#@实验8优先级判别实验………………………………………………………………………24@#@实验9数值运算………………………………………………………………………………25@#@实验10闪烁灯光控制…………………………………………………………………………25实验11发射灯光控制…………………………………………………………………………25@#@实验12流水灯光控制…………………………………………………………………………26@#@实验13红绿灯手动控制………………………………………………………………………26@#@实验14红绿灯自动控制………………………………………………………………………26@#@实验15红绿灯开闭时间可调控制……………………………………………………………27@#@实验16水池水位自动控制……………………………………………………………………27@#@实验17水塔水位自动控制……………………………………………………………………27@#@实验18自诊断水池水位自动控制……………………………………………………………28@#@实验19成型机半自动控制……………………………………………………………………28@#@实验20成型机全自动控制……………………………………………………………………29@#@实验21带计数成型机自动控制………………………………………………………………29@#@实验22轧钢机半自动控制……………………………………………………………………30@#@实验23轧钢机全自动控制……………………………………………………………………30@#@实验24带计数轧钢机自动控制………………………………………………………………31@#@实验25二种液体混合控制……………………………………………………………………31@#@实验26三种液体混合控制……………………………………………………………………32@#@实验27三种液体自动加热混合控制…………………………………………………………32@#@实验28自动装车控制…………………………………………………………………………33@#@实验29自动送料装车控制……………………………………………………………………33@#@实验30带计数自动送料装车控制……………………………………………………………34@#@实验31邮件分捡控制…………………………………………………………………………34@#@实验32机械手控制系统………………………………………………………………………36@#@实验33半自动皮带运输机……………………………………………………………………36@#@实验34全自动皮带运输机……………………………………………………………………37@#@实验35四层电梯控制…………………………………………………………………………37@#@实验36步进电机控制…………………………………………………………………………39@#@ @#@@#@一硬件介绍@#@NST-2301工业自动化综合控制实验装置,具有漏电保护装置和过流保护装置,提供了2组交流380V电源输出(1组采用插头输出,1组采用接线端子输出),2组交流220V电源输出(1组采用插头输出,1组采用接线端子输出),2组直流24V电源输出,1组5V可调直流电源输出,直流电源均有数字电表显示数值。
@#@@#@
(1)工作电源:
@#@AC380±@#@5%(三相五线),50HZ;@#@@#@
(2)环境温度:
@#@-50℃~40℃;@#@@#@(3)外型尺寸:
@#@1800×@#@700×@#@1400mm;@#@@#@(4)相对湿度:
@#@≤85%RH(250℃);@#@@#@(5)额定电流:
@#@10A;@#@@#@(6)PLC:
@#@FX2N-48MR-001(三菱);@#@@#@(7)变频器:
@#@FR-A740-0.75KW(三菱);@#@@#@(8)设备重量:
@#@约140Kg。
@#@@#@1、实验模块@#@NST-2301-1:
@#@PLC主机模块@#@NST-2301-2:
@#@电机模拟控制、数码管显示、天塔之光、交通灯控制@#@NST-2301-3:
@#@水塔水位模拟控制、成型机模拟控制、轧钢机控制、多种液体混合控制@#@NST-2301-4:
@#@自动装车送料控制、邮件分捡机控制、皮带运输机控制、步进电机模拟控制@#@NST-2301-5:
@#@电梯控制、机械手控制@#@NST-2301-6:
@#@接触器继电器模块@#@2、编程电缆@#@ @#@@#@计算机PLC@#@3、编程器的使用@#@ @#@@#@ @#@@#@FX-20P-E编程器由液晶显示器,ROM写入器接口,存储器卡盒的接口以及有功能键,指令键元件符号键和数字键组成。
@#@FX-20P手持编程器(HandyProgrammingPanel,简称HPP)用于FX系列PLC,FX-20P有联机(OnLine)和脱机(Offline)两种操作方式。
@#@@#@开机显示:
@#@@#@PROGRAMMODE;@#@模式选择@#@ONLINE(PC);@#@联机;@#@@#@OFFLINE(HPP);@#@脱机;@#@@#@
(1)HPP操作面板@#@①功能键【RD/WR】,读出/写入;@#@【INS/DEL】,插入/删除;@#@【MNT/TEST】,监视/测试;@#@各功能键交替起作用,按一次时选择第一个功能,再按一次,则选择第二个功能。
@#@@#@②其它键【OTHER】,在任何状态下按此键,显示方式菜单(项目单)。
@#@安装ROM写入模块时,在脱机方式菜单上进行项目选择。
@#@@#@③清除键【CLEAR】,如在按【GO】键前(即确认前)按此键,则清除键入的数据。
@#@此键也可以用于清除显示屏上的出错信息或恢复原来的画面。
@#@@#@④帮助键【HELP】,显示应用指令一览表。
@#@在监视时,进行十进制数和十六进制数的转换。
@#@@#@⑤空格键【SP】,在输入时,用此键指定元件号和常数。
@#@@#@⑥步序键【STEP】,用此键设定步序号。
@#@@#@⑦光标键【↑】、【↓】,用此键移动光标和提示符,指定当前元件的前一个或后一个元件,作行滚动。
@#@@#@⑧执行键【GO】,此键用于指令的确认、执行,显示后面的画面(滚动)和再搜索。
@#@@#@⑨指令、元件号、数字键,上部为指令,下部为元件符号或数字。
@#@上、下部的功能是根据当前所执行的操作自动进行切换。
@#@下部的元件符号【Z/V】、【K/H】、【P/I】交替起作用。
@#@ @#@
(2)HPP主要功能操作@#@手持编程器HPP复位:
@#@RST+GO;@#@@#@程序删除:
@#@PLC处于STOP状态。
@#@@#@逐条删除:
@#@读出程序,逐条删除用光标指定的指令或指针,基本操作:
@#@【读出程序】→【INS】→【DEL】→【↑】、【↓】→【GO】。
@#@@#@指定范围的删除:
@#@【INS】→【DEL】→【STEP】→【步序号】→【SP】→【STEP】→【步序号】→【GO】。
@#@@#@元件监控:
@#@【MNT】→【SP】→【元件符号】→【元件号】→【GO】→【↑】、【↓】。
@#@@#@强制ON/OFF:
@#@PC状态:
@#@RUN、STOP@#@元件的强制ON/OFF,先进行元件监控,而后进行测试功能。
@#@【MNT】→【SP】→【元件符号】→【元件号】→【GO】→【TEST】→【SET】/【RST】。
@#@其中【SET】为强制ON,【RST】为强制OFF。
@#@@#@注意:
@#@在PLC为RUN运行时,可能会使强制失效,为验证强制输出,最好PLC为STOP。
@#@ 程序的写入:
@#@【RD/WR】→【指令】→【元件号】→【GO】。
@#@@#@计时器写入:
@#@【RD/WR】→【OUT】→【T×@#@×@#@】→【SP】→【K】→【延时时间值】→【GO】。
@#@@#@程序的插入:
@#@PLC处于STOP状态。
@#@读出程序→【INS】→指令的插入→【GO】。
@#@@#@联机方式菜单有7个项目:
@#@@#@方式切换、程序检查、存储盒传送、参数设置、元件变换、蜂鸣器音量调整、锁存清除。
@#@@#@方式切换:
@#@由联机方式切换到脱机方式。
@#@按【GO】键,进行联机→脱机方式切换。
@#@按【CLEAR】键返回方式菜单。
@#@1、方式切换:
@#@由联机方式切换到脱机方式。
@#@按【GO】键,进行联机→脱机方式切换。
@#@按【CLEAR】键返回方式菜单。
@#@@#@ 程序检查:
@#@程序检查时,分“有错”和“无错”两种情况。
@#@有错时,显示有错的步序号,出错信息和出错代码。
@#@有错或无错时,只要按【CLEAR】或【OTHER】键,则显示方式菜单。
@#@@#@存储盒的传送:
@#@PLC停止状态;@#@用【↑】、【↓】键,使光标对准所选项目,然后按【GO】。
@#@ 说明:
@#@FXROM→EEPROM时,应将EEPROM盒内的保护开关置于OFF;@#@4K或8K的程序,不能从存储盒传送到内部RAM(显示“PCPARA.ERROR)。
@#@正确传送后,显示“COMPLETED”。
@#@@#@参数设定:
@#@参数设定包括:
@#@缺省值(DEFAULTvalues)、存储器容量、锁存范围、文件寄存器的设定和关键字登记。
@#@@#@元件变换:
@#@PLC停止状态;@#@此操作可以在同一类元件内进行元件号变换。
@#@执行此操作时,程序中的该元件号全部被置换(包括在END指令后的该元件号)。
@#@@#@蜂鸣器音量调整:
@#@PLC停止状态;@#@利用【↑】、【↓】键调整显示条的长度,条越长,音量越大,音量分10级,用【OTHER】或【CLEAR】键,返回方式菜单。
@#@@#@锁存清除:
@#@PLC停止状态;@#@@#@注意:
@#@程序存储器为EPROM时,此操作不能用来进行文件寄存器的清除。
@#@程序为EEPROM时,存储器保护开关处于OFF位置,才能进行文件寄存器的清除。
@#@文件寄存器以外的元件,无论存储器的形式为RAM、EPROM、EEPROM中任何一种,其锁存清除均有效。
@#@@#@4、导线@#@ @#@@#@模拟实验用电机拖动实验用@#@5、电机@#@三相异步电动机,额定电压Ue=380V,Pe=0.18KW,端子引线图如下所示:
@#@@#@ @#@@#@二软件组成@#@FX系列可编程控制器,有两种编程软件:
@#@GXDeveloper和FXGP/WIN-C。
@#@在GX-Developer或FXGP/WIN-C。
@#@编程环境下面,可以进行程序的编制,调试,在线监控,程序修改等操作。
@#@以下以FXGP/WIN-C软件环境进行介绍:
@#@@#@FXGP/WIN-C。
@#@@#@PLC的程序输入通过手持编程器、专用编程器或计算机完成。
@#@手持编程器体积小,携带方便,在现场调试时优越性强,但在程序输入、阅读、分析时较繁锁;@#@而专用编程器价格太贵,通用性差;@#@计算机编程在教学中优势较大,且其通讯更为方便。
@#@因此也就有了相应的计算机平台上的编程软件和专用通讯模块,在这节当中我们重点介绍三菱fx系列编程软件的使用和操作。
@#@三菱公司fx系列plc编程软件名称为fxgpwin,我们介绍版本为SW0PC-FXGP/WIN-CVersion3.30Copyright(C)1996MITSUBISHIELECTRICCORPORATION,其具体应用说明如下:
@#@@#@
(1)Fxgpwin编程软件对FX0/FX0S、FX1S、FX1N、FX0N、FX1FX2N/FX2NC和FX(FX2/FX2C)系列三菱plc编程及其它操作。
@#@下图为软件的文件组成:
@#@@#@1)进入fxgpwin的编程环境:
@#@双击桌面fxgpwin图标或按table键选择到图标fxgpwin,即可进入编程环境。
@#@编程环境如下图:
@#@@#@ @#@@#@2)编写新程序,新建文件@#@3)选择好PLC型号后按确认键即可进入编辑界面,在视图中可以切换梯形图、指令表等。
@#@@#@4)建立好文件后就可以在其中编写程序了。
@#@程序的保存在“文件“菜单下的“另存为“下即可;@#@PLC程序上载,传入PLC。
@#@当编辑好程序后就可以向PLC上载程序,方法是:
@#@首先必须正确连接好编程电缆,其次是PLC通上电源(POWER)指示灯亮,打开菜单“PLC“——“传送“——“写出“确认。
@#@@#@5)出现程序写入步数范围选择框图,确认后即可:
@#@@#@6)PLC程序上载一样,在上述操作中选择“读入“,其他操作不变。
@#@@#@7)程序打开打开菜单“文件““打开“,出现界面,选择要打开的程序,确定即可。
@#@@#@8)退出主程序,ALT+F4或点击文件菜单下的“退出“。
@#@@#@
(2)程序的编写@#@1)编程语言的选择@#@FXGPWIN软件提供三种编程语言,分别为梯形图、指令表、SFC状态流程图。
@#@打开“视图“菜单,选择对应的编程语言。
@#@@#@2)梯形图的编辑。
@#@梯形图编辑时如图:
@#@@#@3)编写程序可通过功能栏来选择,也可以直接写指令进行程序编写。
@#@主要是熟悉菜单下各功能子菜单。
@#@@#@4)梯形图编写需进行转换,在工具菜单下选择或按F4键,转换完毕即可进行上载调试,注意端口设置。
@#@@#@5)程序的检查。
@#@在“选项“菜单下的“程序检查“,即进入程序检查环境,可检查语法错误、双线圈、电路错误。
@#@@#@(3)软元件的监控和强制执行@#@在FXGPWIN操作环境下,可以监控各软元件的状态和强制执行输出等功能。
@#@元件监控功能界面:
@#@@#@强制输出功能界面:
@#@@#@强制ON/OFF功能界面:
@#@@#@主要在“监控/测试“菜单中完成。
@#@@#@(4)其他各功能在操作过程中在帮助菜单中熟悉。
@#@@#@(5)梯形图常用项具体操作@#@1)剪切(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[剪切(Alt+t)];@#@@#@功能:
@#@将电路块单元剪切掉;@#@@#@操作方法:
@#@通过[编辑]-[块选择]菜单操作选择电路块.在通过[编辑]-剪切]菜单操作或[Ctrl]+[X]键操作,被选中的电路块被剪切掉.被剪切的数据保存在剪切板中.@#@警告:
@#@如果被剪切的数据超过了剪切板的容量,剪切操作被取消.@#@2)粘贴(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[粘贴(Alt+P)]]@#@功能:
@#@粘贴电路块单元.@#@操作方法:
@#@通过[编辑]-[粘贴]菜单操作,或[Ctrl]+[V]键操作,被选择的电路块被粘贴上.被粘贴上的电路块数据来自于执行剪切或拷贝命令时存储在剪切板上的数据.通过[编辑]-[粘贴]菜单操作或[Ctrl]+[V]键操作,被选中的电路块被粘贴.被粘贴的数据是在执行剪切或拷贝操作时被保存在剪切板中的数据.@#@警告:
@#@如果剪切板中的数据未被确认为电路块,剪切操作被禁止.@#@3)拷贝(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[拷贝(Alt+C)]@#@功能:
@#@拷贝电路块单元.@#@操作方法:
@#@通过[编辑]-[块选择]菜单操作选择电路块.在通过[编辑]-[拷贝]菜单操作或[Ctrl]+[C]键操作,被选中的电路块数据被保存在剪切板中.@#@警告:
@#@如果被拷贝的数据超过了剪切板的容量,拷贝操作被取消.@#@4)行删除(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[行删除(Alt+L)]@#@功能:
@#@在行单元中删除线路块.@#@操作方法:
@#@通过执行[编辑]-[行删除]菜单操作或[Ctrl]+[Delete]键盘操@#@作,光标所在行的线路块被删除.@#@警告:
@#@该功能在创建(更正)线路时禁用.需在完成线路变化后执行.@#@警告:
@#@被删除的数据并未存储在剪切板中.@#@5)删除(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[删除(Alt+D)]@#@功能:
@#@删除电路符号或电路块单元.@#@操作方法:
@#@通过进行[编辑]-[删除]菜单操作或[Delete]键操作删除光标所在处的电路符号欲执行修改操作,首先通过执行[编辑]-[块选择]菜单操作选择电路块.在通过[编辑]-[删除]菜单操作或[Delete]键操作,被选单元被删除。
@#@@#@警告:
@#@被删除的数据并不在剪切板中.@#@6)行插入(梯形图编辑):
@#@@#@[编辑(Alt+E)]-[行插入(Alt+I)]@#@功能:
@#@插入一行.@#@操作方法:
@#@通过执行[编辑]-[行插入]菜单操作,在光标位置上插入一行.@#@7)触点@#@[工具(Alt+T)]-[触点(Alt+n)]-[-||-...]@#@[工具(Alt+T)]-[触点(Alt+n)]-[-|/|-...]@#@[工具(Alt+T)]-[触点(Alt+n)]-[-|P|-...]@#@[工具(Alt+T)]-[触点(Alt+n)]-[-|F|-...]@#@功能:
@#@输入电路符号中的触点符号.@#@操作方法:
@#@在执行[工具]-[触点]-[-||-]菜单操作时,选中一个触点符号,显示元件输入对话框.执行[工具]-[触点]-[-|/|-]菜单操作选中B触点.执行[工具]-[触点]-[-|P|-]菜单操作选择脉冲触点符号,或执行[工具]-[触点]-[-|F|-]菜单操作选择下降沿触发触点符号.在元件输入栏中输入元件,按[Enter]键或确认按钮后,光标所在处的便有一个元件被登录.若点击参照按钮,则显示元件说明对话框,可完成更多的设置.@#@8)线圈@#@[工具(Alt+T)]-[线圈(Alt+o)]@#@功能:
@#@在电路符号中输入输出线圈.@#@操作方法:
@#@在进行[工具]-[线圈]菜单操作时,元件输入对话框被显示t.在输入栏中输入元件,按[Enter]键或确认按钮,于是光标所在地的输出线圈符号被登录.点击参照按钮显示元件说明对话框,可进行进一步的特殊设置.@#@9)功能指令线圈:
@#@@#@[工具(Alt+T)]-[功能]@#@功能:
@#@输入功能线圈命令等.@#@操作方法:
@#@在执行[工具]-[功能]菜单操作时,命令输入对话框显出.在输入栏中输入元件,按[Enter]键或确认按钮,光标所在地的应用命令被登录.再点击参照按钮,命令说明对话框被打开,可进行进一步的特殊设置.@#@10)连线@#@[工具(Alt+T)]-[连线(Alt+W)]-[|]@#@[工具(Alt+T)]-[连线(Alt+W)]-[-]@#@[工具(Alt+T)]-[连线(Alt+W)]-[-/-]@#@[工具(Alt+T)]-[连线(Alt+W)]-[|删除]@#@功能:
@#@输入垂直及水平线,删除垂直线.@#@操作方法:
@#@垂直线被菜单操作[工具]-[连线]-[|]登录,水平线被菜单操作[工具]-[连线]-[-]登录,翻转线菜单操作[被工具]-[连线]-[-/-]登录,垂直线被菜单操作[工具]-[连线]-[|删除]删除.@#@11)全部清除:
@#@@#@[工具(Alt+T)]-[全部清除(Alt+A)...]@#@功能:
@#@清除程序区(NOP命令).@#@操作方法:
@#@点击[工具]-[全部清除]菜单,显示清除对话框.通过按[Enter]键或点击确认按钮,执行清除过程.@#@警告1:
@#@所清除的仅仅是程序区,而参数的设置值未被改变.@#@12)转换(梯形图编辑):
@#@@#@[工具(Alt+T)]-[转换(Alt+C)]@#@功能:
@#@将创建的电路图转换格式存入计算机中.@#@操作方法:
@#@执行[工具]-[转换]菜单操作或按[转换]按钮(F4键).在转换过程中,显示信息电路转换中.@#@警告1.如果在不完成转换的情况下关闭电路窗口,被创建的电路图被抹去.@#@13)梯形图监控:
@#@@#@[监控/测试(Alt+M)]-[开始监控(Alt+S)]@#@功能:
@#@在显示屏上监视可编程控制器的操作状态.从电路编辑状态转换到监视状态,同时在显示的电路图中显示可编程控制器操作状态(ON/OFF).@#@操作方法:
@#@激活梯形图视图,通过进行菜单操作进入[监控/测试]-[开始监控].@#@警告1:
@#@在梯形图监控中,电路图中只有ON/OFF状态被监控.@#@警告2:
@#@当监控当前值以及设置寄存器,计时器,计数器数据时,应使用依据登录监控功能。
@#@@#@14)程序传送:
@#@@#@[PLC]-[传送(Alt+T)]@#@功能:
@#@将已创建的顺控程序成批传送到可编程控制器中.传送功能包括[读入],[写出]及[校验].@#@[读入]:
@#@将PLC中的顺控程序传送到计算机中.@#@[写出]:
@#@将计算机中的顺控程序发送到可编程控制器中.@#@[校验]:
@#@将在计算机及可编程控制器中顺控程序加以比较校验.@#@操作方法:
@#@由执行[PLC]-[传送]-[读入],-[写出],-[校验]菜单操作而完成.当选择[读入]时,应在[PLC模式设置]对话框中将已连接的PLC模式设置好.@#@警告1:
@#@计算机的RS232C端口及PLC之间必须用指定的缆线及转换器连接.执行完[读入]后,计算机中的顺控程序将被丢失,PLC模式被改变成被设定的模式,现有的顺控程序被读入的程序替代.@#@警告2:
@#@在[写出]时,PLC应停止运行,程序必须在RAM或EE-PROM内存保护关断的情况下写出.然后机动进行校验.@#@15))PLC存储器清除:
@#@@#@[PLC]-[PLC存储器清除(Alt+P)...].@#@功能:
@#@为了初始化PLC中的程序及数据.以下三项将被清除.@#@[PLC储存器]:
@#@顺控程序为NOP,参数设置为缺省值.[数据元件存储器]:
@#@数据文件缓冲器中数据置零.[位元件存储器]:
@#@X,Y,M,S,T,C的值被置零.@#@操作方法:
@#@执行[PLC]-[PLC存储器清除]菜单操作,再在[PLC存储器清除]中设置清除项.@#@警告1:
@#@计算机的RS232C端口及PLC之间必须用指定的缆线及转换器连接.@#@警告2:
@#@特殊数据寄存器数据不被清除.@#@ @#@@#@三实验指导@#@1、用本装置做实验以前,必须具备以下条件@#@◇熟悉工厂常用电器的结构、工作原理(包括电磁原理和机械原理)、规格型号、使用场合、作用和功能.如:
@#@接触器、热继电器、熔断器、行程开关、空气开关、漏电保护、中间继电器、";i:
11;s:
32:
"s7200四层电梯控制设计@#@";}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- s7200 电梯 控制 设计