文档库 最新最全的文档下载
当前位置:文档库 › 数控宏程序变量赋值试题

数控宏程序变量赋值试题

数控宏程序变量赋值试题
数控宏程序变量赋值试题

数控宏编程变量相关理论知识试卷

一、选择题(选择正确的答案,将相应的字母填入题内的括号中。每题0.5分。共160题,满分80分):1.在变量赋值方法Ⅱ中,自变量地址I6对应的变量是()。

A、#40

B、#39

C、#19

D、#26

2.在运算指令中,形式为#i=ROUND[#j]代表的意义是()。

A、圆周率

B、四舍五入整数化

C、圆弧度

D、加权平均

3.下列宏程序的变量表示不正确的是()。

A、#0

B、#[200-1]

C、#10

D、#[#57]

4.FOR 当一个带有一个确定值的操作程序被循环重复,()循环就会被运行。

A、FOR

B、GOTO

C、ELSE

D、WHILE

5.在发那克0i系统中,描述算术运算的反正切的正确格式是()。

A、#i=ATAN[#j/#k]

B、#i=A TAN[#j]

C、#i=ATAN[#j]/[#k]

D、#i=TAN[#j]/[#k]

6.在变量赋值方法I中,引数(自变量)A对应的变量是()。

A、#22

B、#1

C、#110

D、#25

7.在运算指令中,形式为#i=TAN{#j}代表的意义是()

A、正切

B、合并

C、反余切

D、立方根

8.在运算指令中,形式为#i=SQRT[#j]代表的意义是()

A、矩阵

B、平方根

C、积数

D、权数

9.FOR计算循环表达式:FOR变量=初始值TO最后值:NC程序().

A、ENDLOOP

B、ENDIF

C、ENDWHILE

D、ENDFOR

10.在运算指令中,形式为#i=#jMOD#K代表的意义是()

A、反三角函数

B、平均值

C、空

D、取余

11、在运算指令中,形式为#i=#jXOR#k代表的意义是()

A、立方值

B、极限值

C、异或

D、均值

12.在变量赋值方法一中,引数(自变量)M对应的变量是()

A、#13

B、#52

C、#321

D、#95

13.计数变量同时会从初始值到最后值增加值必须小于最后值。变量必须属于()类型。

A、char(字符)

B、float (浮点)

C、signed(符号)

D、int(整数)

14、在变量赋值方法I中,引数(自编量)J对应的变量是()。

A、#22B、#5C、#110D、#25

15.在宏程序段#1=#6/#2-#3*COS[#4]中;优先进行的运算是()(FANUC系统、华中系统)。

A、函数:COS[#4]

B、乘:#3*

C、减:#2 -

D、除:#6/

16.G65代码是FANUC数控系统中的调用()功能(FANUC系统)。

A、子程序

B、宏程序

C、参数

D、刀具

17.在变量赋值方法I中,引数(自变量)A对应的变量是()(FANUC系统)。

A、#101

B、#31

C、#21

D、#1

18.在运算指令中,形式为Ri=COS(Rj)的函数表示的意义是()(SIEMENS系统)。

A、正弦

B、余弦

C、反正弦

D、反余弦

19.正弦函数运算中的角度单位是()(SIEMENS系统)。

A、弧度

B、度

C、分

D、秒

20.若Ri=TRUNC(Rj);Rj=2.325;则Ri的赋值是()(SIEMENS系统)。

A、2

B、2.3

C、2.5

D、3

21.在运算指令中,形式为#i=SIGN[#j]的函数表示的意义是()(华中系统)。

A、自然对数

B、取符号

C、指数

D、取整22.IF…;…;ENDIF;是()(华中系统)。

A、赋值语句

B、条件判别语句

C、循环语句

D、无条件转移语句23.下列运算符中含义是小于、小于或等于的是()(SIEMENS系统)。

A、<、< =

B、>、<

C、= =、<

D、< >、>

24.下列变量在程序中的表达方式书写错误码的是()(FANUC系统、华中系统)。

A、Z[#15+20]

B、#5=#1-#3

C、SIN[#13]

D、20.=#11

25.在FANUC数控系统中,可以独立使用并保存计算结果的变量为()(FANUC系统)。

A、空变量

B、系统变量

C、公共变量

D、局部变量

26.在运算指令中,形式为#1=SQRT{#1}的函数表示的意义是()。(fanuc系统.华中系统)

A、圆周率

B、四舍五入整数化

C、求数学期望值

D、弧度

27.表示正切函数的运算指令是()。(fanuc系统. 华中系统)

A、#1=TAN{#1}

B、#1=A TAN{#1}

C、#1=FIX{#1}

D、#1=COS{#1}

28.在运算指令中,形式为#1=SQRT{#1}的函数表示的意义是()。(fanuc系统.华中系统)

A、矩形

B、数列

C、平方根

D、条件求和

29.在运算指令中,形式为Ri=SIN{Ri}的函数表示的意义是()。(SIEMENS系统)

A、圆弧

B、立方根

C、合并

D、正弦

30.执行程序段N5 R5=-30;N60 R4=ABS(R5);后,R4赋值为()。(SIEMENS系统)

A. -30

B.30

C.900

D.-0.5

31. 在运算指令中,形式为Ri=LN(Ri)的函数表示的意义是()。(SIEMENS系统)

A.离心率

B.自然对数

C.轴距

D.螺旋轴弯曲度

32.运算表达式R1=R2+R3*SIN(R4)-8,按运算次序首先是()(SIEMENS系统)。

A.R2+R3 B.R3*SIN(R4)C.SIN(R4)D.SIN(R4)-8

33.在运算指令中,形式为#i=FUP[#j]的函数表示的意义是( )(FANUC系统)。

(A)四舍五入整数化(B)舍去小数点(C)小数点以下舍去(D)下取整

34.宏程序的变量之间可进行算术和逻辑运算,下列( )属于逻辑运算

(FANUC系统、华中系统)。

(A)绝对值(B)开平方(C)函数运算(D)或

35.在FANUC数控系统中,可以独立使用并保存计算结果的变量为( )。(FANUC系统、华中系统)。

(A)空变量(B)系统变量(C)公共变量(D)局部变量

36.宏程序中大于或等于的运算符为( )(FANUC系统、华中系统)。

(A)LE (B)EQ (C)GE (D)NE

37.在运算指令中,形式为#i=INT[#j]的函数表示的意义是( )(华中系统)。

(A)自然对数(B)舍去小数点(C)取整(D)非负数

38.GOTOF MARKE1 ;…;MARKE1:…;是( )(SIEMENS系统)。

(A)赋值语句(B)条件跳转语句(C)循环语句(D)无条件跳转语句

39.WHILE… ;…;ENDW;是( )(华中系统)。

(A)赋值语句(B)条件判别语句(C)循环语句(D)无条件转移语句

40.在运算指令中,形式为#i=ASIN[#j]的函数表示的意义是( )(FANUC系统、华中系统)。

(A)舍入(B)立方根(C)合并(D)反正弦

41.用户宏程序是指含有( )的程序(FANUC 系统、华中系统)。

A、子程序

B、变量

C、固定循环

D、常量

42.在运算指令中,形式为#i=FIX[#j]的函数表示的意义是( )(FANUC 系统)。

A、对数

B、舍去小数点

C、上取整

D、非负数

43.若#24、#26 表示的是加工点的X、Z 坐标,则描述其X 和Z 向运动关系的宏程序段

#26=[#1/#2]*SQRT{#2*#2-#24*#24};所描述的加工路线是( )(FANUC 系统、华中系统)。

A、圆弧

B、椭圆

C、抛物线

D、双曲线

44.下列变量引用段中,正确的引用格式为()

A.G01 [#1+#2] F[#3] B.G01X#1+#2 F#3 C.G01X=#1+#2 F=#3 D.G01Z#1 F#3

45.在运算指令中,形式为#i=TAN[#j]的函数表示的意义是90 ( )(FANUC系统,华中系统)。

(A)误差(B)对数(C)正切(D)余切

46.执行G65P1000A42C73.28R0.3,宏程序01000内的变量#1的值是()(FANUC系统)

(A)35 (B) 73.28 (C)0.3 (D)42

47.符号键在编程时用于输入符号,()键用于每个程序段的结束符。

(A)CAN (B)POS (C)EOB (D)SHIFT

48.在运算指令中,形式RI=TRUNC(Rj)的函数表示意义是()(SIEMENS系统)。

(A)对数(B)舍去小数点(C)取整(D)非负数

49.在变量赋值方法Ⅱ中,自变量地址J4对应的变量是()(FANUC系统)。

(A)#40 (B)#34 (C)#14 (D)#24

50.在变量赋值发方法I中,引数(自变量)A对应的变量是()(FANUC系统)

(A)#101 (B)#31 (C)#21 (D)#1

51、下列变量在程序中的表达方式书写错误码的是()(FANUC系统丶华中系统)。

(A)Z[#15+20] (B)#5=#1-#3 (C)SIN[#13] (D)20=11

52.在变量使用中,下面选项()的格式是对(FUANUC系统,华中系统)

(A)O#1 (B)/#2G00X100.0 (C)N#3X200.0 (D)#5=#1-#3

53.在运算指令中形式中#i=ASIN[#j]的函数表示的意义是()(FANUC系统,华中系统)

(A)舍入(B)立方根(C)合并(D)反正弦

54.执行程序段N50 #25=-30;N60 #24=ABS[#25];后,#24赋值为()(FAND 系统,华中系统)。

A.-30

B.30

C.900

D.-0.5

55.表达式#I=EXP[#J]的运算指令表示( ) (FANUC系统,华中系统)。

A.自然对数

B.指令函数

C.上取整

D.下取整

56.在运算指令中,形式为#I=LN[#J]的函数表示的意义是( ) (FANUC系统,华中系统)。

A.离心率

B. 自然对数

C.轴距

D.螺旋轴弯曲度

57.表达式#i=LN(#j)是()运算(FANUC系统;华中系统).

(A)自然对数;(B)指数函数;(C)下取整;(D)上取整;

58.在运算指令中,形式为#i=FIX[#j]的函数表示的意义上()(FANUC系统).

(A)对数; (B)舍去小数点; (C)上整数; ( D)非负数;

59.在运算指令中,形式为#i=ROUND[#j]的函数表示的意义是()(FANUC系统)。

(A)圆周率;(B)四舍五入整数化;(C)求数学期望值;(D)弧度;

60.在运算指令中,型式为#i=FUP[#j]的函数表示的意义是()(FANUC系统)。

(A)四舍五入整数化;(B)舍去小数点;(C)小数点以下舍去;(D)下取整;

61.在宏程序变量表达式中运算次序优先的为()(FANUC系统。华中系统)。

A乘和除的运算 B最内层的方括号里的表达方式 C函数 D 加和减

62.运算表达式#1=#2+#1*SIN[#4]-8:按运算次序首先是()(FANUC系统。华中系统)

A.#2+#3

B.#3*SIN[4]

C. SIN [#4]

D. SIN [#4]-8

63.N50 G0T090;表示()(FANUC系统)。

A在程序段N50~N90只见进行有条件的程序循环 B在程序段N50~N90只见进行无条件的程序循环C程序有条件转向N90程序段 D程序无条件转向N90程序段

64.在WHTLE后指定一个条件表达式,当指定条件不满足时则执行()(FANUC系统)。

A.WHTLE到DO之间的程序 B.DO到END之间的程序 C.END之后的程序 D.程序结束复位65.在WHTLE后指定一个条件表达式,当指定条件满足时则执行()(FANUC系统)。

A.WHTLE到DO之间的程序 B.DO到END之间的程序 C END之后的程序 D 程序结束复位

66.WHILE语句中()时,将产生无限循环(FANUC系统)。

A 没指定DO

B 没指定END

C 没指定WHILE D没指定DO后的标号

67.宏指令的比较运算中“NE”表示()(FANUC系统、华中系统)。

A 等于 B不等于 C 小于或等于 D 大于

68.IF[#2 EQ 10]…中“#2 EQ 10”表示()(FANUC系统、华中系统)。

A #2中的赋值小于10

B #2中的赋值大于10

C #2中的赋值等于10

D #2中的赋值不等于10

69.宏指令的比较运算符中“EQ”表示()(FANUC系统、华中系统)。

A 等于 B不等于 C 小于或等于 D 大于

70.宏程序中大于或等与的运算符为()(FANUC系统、华中系统)。

A. LE

B. EQ

C. GE

D. GT

71.运算式#JGT#K中的关系运算符GT表示()(FANUC系统、华中系统)。

A 与 B非 C 大于 D 加

72.宏程序中小于或等于的运算符为()(FANUC系统、华中系统)。

A. LE B .EQ C. GE D. NE

73.下列运算符中含义是小于、小于或等于的是()(FANUC系统、华中系统)。

A. LT、LE

B. GT、LT

C. GE、LE

D. NE、LE

74.宏指令的比较运算符中“LT”表示()(FANUC系统、华中系统)。

A 小于 B不等于 C 大于或等于 D 小于或等于

75.G65代码是FANUC数控系统中的调用()功能(FANUC系统)。

A 子程序

B 宏程序

C 参数

D 刀具

76. FANUC系统非模态调用G65指令中地址()不能在自变量中使用(FANUC系统)。

A . A、B、C B. I、J、K C. G、L、N D. X、Y、Z

77.下列地址符中不可以作为宏程序调用指令中自变量符号的是()(FANUC系统)。

A . I、 B. K、 C. N、 D. H、

78.宏程序调用指令中自变量I对应的局部变量是()(FANUC系统)。

A. #1

B. #9

C. #10

D. #4

79.在变量的赋值方法II中,自变量地址I6对应的变量是()(FANUC系统)。

A. #99

B. #19

C. #29

D. #39

80. FANUC系统中自变量的赋值方法II中只使用A、B、C和I、J、K这6个字母,其中I、

J、K可以重复指定()次(FANUC系统)。

A. 1

B. 10

C. 3

D. 5

81.椭圆参数方程式为()(FANUC系统、华中系统)。

A X=a*sinθ;Y=b*cosθ

B X=b*cos(θ/b);Y=a*sinθ

C X=a*cosθ;Y=b*sinθ

D X=b*sinθ;Y=a*cos(θ/a)

82.在运算指令中,形式为Ri=ACOS(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)只取零(B)位移误差(C)反余弦(D)余切

83.在运算指令中,形式为Ri=COS(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)正弦(B)余弦(C)反正弦(D)反余弦

84.表示余弦函数的运算指令是()(SIEMENS系统)。

(A)Ri=TAN(Rj)(B)Ri=ACOS(Rj)(C)Ri=COS(Rj)(D)Ri=SIN(Rj)

85.正弦函数运算中的角度单位是()(SIEMENS系统)。

(A)弧度(B)度(C)分(D)秒

86.在运算指令中,形式为Ri=ASIN(Rj)的函数表示的意义是()(SIEMENS系统)。(A)舍入(B)立方根(C)合并(D)反正弦

87.在运算指令中,形式为Ri=ATAN(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)余弦(B)反正切(C)切线(D)反余切

88.在运算指令中,形式为Ri=TAN(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)误差(B)对数(C)正切(D)余切

89.在运算指令中,形式为Ri=ABS(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)离散(B)非负(C)绝对值(D)位移

90.在运算指令中,形式为Ri=SQRT(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)矩阵(B)数列(C)平方根(D)条件求和

91.在运算指令中,形式为Ri=LN(Rj)的函数表示的意义是()(SIEMENS系统)。

(A)离心率(B)自然对数(C)轴距(D)螺旋轴弯曲度

92.表示式Ri=EXP(Rj)是()运算(SIEMENS系统)。

(A)自然对数(B)指数函数(C)下取整(D)上取整

93.若Ri=TRUNC(Rj);Rj=2.325;则Ri的赋值是()(SIEMENS系统)。

(A)2 (B)2.3 (C)2.5 (D)3

94.在运算指令中,取整指令的格式为()。(SIEMENS系统)

(A)Ri=EXP(Rj) (B)ABS(Rj) (C)LN(Rj) (D)Ri=TRUNC(Rj)

95.在运算指令中,形式为#j=INT[#j]的函数表示的意义是()(华中系统)。

(A)自然对数(B)舍去小数点(C)取整(D)非负数

96.在运算指令中,取符号指令的格式是()(华中系统)。

(A)Ri=LN(Rj) (B)Ri=INT(Rj*Rk) (C)Ri=EXP(Rj) (D)Ri=SIGN(Rj)

97.在运算指令中,形式为#i=SIGN[#j]的函数表示的意义是()。(华中系统)

(A)自然对数(B)取符号(C)指数(D)取整

98.在宏程序段R1=R6/R2-R3*COS(R4);中优先进行的运算是()(SIEMENS系统)。

(A)函数:COS(R4)(B)乘:R3* (C)减:R2- (D)除:R6/

99.在宏程序变量表示式中运算次序优先的为()(SIEMENS系统)。

(A)乘和除运算(B)括号内的运算(C)函数(D)加和减

100.程序段“N30 IF[#1GT10];…N80 ENDIF ;N90…;”表示()(华中系统)。

(A)如果变量#1的值大于10,程序继续按顺序向下运行

(B)如果变量#1的值大于10的条件不成立,程序继续按顺序向下运行

(C)如果变量#1的值大于10,循环执行此程序段之后的程序段至N80的程序段

(D)如果变量#1的值不大于10,循环执行此程序之后的程序段至N80的程序段

101.如要编程实现:“如果A大于或等于B,那么继续运行程序至某程序段,否则程序将跳过这些程序运行后面的程序段”,下面语句中正确的是()(华中系统)。

(A)WHILE[A GE B];…ENDW (B)WHILE[A LT B];…ENDW

(C)IF[A GE B];…ENDIF (D)IF[A LT B];…ENDIF

102.如要编程实现:“如果R1大于或等于R2,那么程序向后跳转至“LABEL1”程序段”,下面语句中正确的是()(SIEMENS系统)。

(A)GOTOF LABEL1 (B)GOTOB LABEL1 (C)IF R1>=R2 GOTOF LABEL1 (D)IF R1>=R2 GOTOB LABEL1 103.GOTOF MARKE1;…;MARKE1:…;是()(SIEMENS系统)。

(A)赋值语句(B)条件跳转语句(C)循环语句(D)无条件跳转语句

104.IF R1>=R2 GOTOF LABEL1;…;LABEL1;…;是()(SIEMENS系统)。

(A)赋值语句(B)条件跳转语句(C)循环语句(D)无条件跳转语句

105.在WHILE后指定一个条件表达式,当指定条件满足时,则执行()(华中系统)。

(A)WHILE之前的程序(B)EWHILE到ENDW之间的程序

(C)ENDW之后的程序(D)程序直接结束

106.在WHILE后指定一个条件表达式,当指定条件不满足时,则执行()(华中系统)。

(A)WHILE之前的程序(B)EWHILE到ENDW之间的程序

(C)ENDW之后的程序(D)程序直接结束

107.WHILE…;…;ENDW;是()(华中系统)。

(A)赋值语句(B)条件判别语句(C)循环语句(D)无条件跳转语句

108.IF R2= =10…中“R2= =10”表示()(SIEMENS系统)。

(A)R2中的赋值小于10 (B)R2中的赋值大于10

(C)R2中的赋值等于10 (D)R2中的赋值不等于10

109. 宏指令的比较运算符中“< >”表示()SIEMENS系统)。

(A)等于( B、)不等于( C、)小于(D)、大于

110.宏指令的比较运算符中“= = ”表示()SIEMENS系统)。

(A、)等于( B、)不等于( C、)小于( D、)大于

111.宏程序中大于或等于的运算符为()(SIEMENS系统)。

(A)、= = (B、)< (C、)< > (D、)> =

112.宏指令的比较运算符中“<”表示()(SIEMENS系统)。

(A)、等于(B)、不等于(C、)小于(D)、大于

113.表示小于的关系运算符是()(SIEMENS系统)。

(A)、= = (B、)< ( C、)< > (D、) > =

114.下列运算符中含义是小于、小于或等于的是()(SIEMENS系统)。

(A)、<、<= (B)、 >、< (C)、= = 、< (D、)< >、>

115.下面的宏变量中()是当前局部变量(华中系统)。

(A)、#1 (B、)#100 (C、)#200 ( D)、#300

116.宏程序中,圆周率“PI”是()(华中系统)。

(A、)常量( B、)当前局部变量( C、)全局变量(D、)一层局部变量

117.下面的宏变量中()是全局变量(华中系统)。

(A)#1 (B)#100 (C)200 (D)#300

118.若R4、R6表示的是加工点的X、Z坐标,则描述其X和Z向运动关系的宏程序段R6=[R1/R2]* SQRT {R2*R2-R4*R4}:所描述的加工路线是()(SIEMENS系统)。

(A)圆弧(B)椭圆(C)抛物线(D)双曲线

119.若R4、R6表示的是加工点的X、Z坐标,则描述其X和Z向运动关系的宏程序段R6=SQRT{2*R2*R4}:所描述的加工路线是()(SIEMENS系统)。

(A)圆弧(B)椭圆(C)抛物线(D)双曲线

120.椭圆参数方程式为()(SIEMENS系统)。

(A)X=a*Sin 0;Y=b*Cos 0 (B)X= b*Cos 0(0/b);Y= a*Sin 0

(C)X=a*Cos0;Y=b*Sin 0 (D)X= b*Sin 0;Y= a*Cos 0(0/a )

121.IF…;…;ENDIF;是()。(华中系统)

A赋值语句B条件判别语句C循环语句D无条件转移语句

122.在变量使用中,下面选项()的格式是对的。(FANUC系统.华中系统)

A、0#1

B、#2G00X100.0

C、N#3X200.0

D、#5=#1-#3

123.如要编程实现:“如果R1大于等于R2,那么程序向后跳转至“LABEL1程序段,”,下面语句中正确的是()。(SIEMENC系统)

(A)GOTOF LABEL1 (B)GOTOB LABEL1

(C)IF R1≥R2 GOTOF LABEL1 (D)IF R1≥R2 GOTOB LABEL1

124.执行程序段N10#24=60 N20 #26=-40 N30 G01X[ #24] Z[ #26]F0.1后刀具所在位置的坐标为()

A、X#24,Z#26

B、X24,Z26

C、X60,Z26

D、x60 z-40

125.在WHILE后指定一个条件表达式,当指定条件满足时,则执行()

A、WHILE到DO之间的程序 B DO到时END之间的程序

C、END之后的程序

D、程序结束复位

126.在运算指令中,形式为# i = # j MOD # k代表的意义是( )。

A.四次方根

B.微分

C.导数

D.取余

127、在运算指令中,形式为#iI = # i AND #k代表的意义是( )。

A.分数

B.小数

C.倒数

D.逻辑数

128、在变量赋值方方法I中,引数(自变量)Z对应的变量是( )。

A. #23

B. #26

C. #110

D. #5

129.在变量赋值方法I中,引数(自变量)C对应的变量是( )。

A. #43

B. #31

C. #3

D. #39

130.在运算指令中,形式为#i = FUP [#j] 代表的意义是( )。

A. 求概率

B. 小数点以下进位

C. 求方差

D. 余切

131.在变量赋值方方法I中,引数(自变量)I对应的变量是( )。

A. #22

B. #4

C. #110

D. #25

132.在变量赋值方方法I中,引数(自变量)Q对应的变量是( )。

A. #23

B. #17

C. #199

D. #25

133.在运算指令中,形式为#i=#j+#k 代表的意义是( )。

A. 最小值

B. 和

C. 极限

D. 反余切

134.FANUC系统中,下列()变量属于公用变量。

A)#30 B)#140 C)#2000 D)#5201

135. 在法拉克Oi系统中,自变量赋值I的地址R所对应的变量是()A#16 B#17 C#18 D#19

136.在变量赋值方法II中,自变量地址I6所对应的变量是()

A#40 B#39 C#19 D#26

137.WHILE程序循环表达式,WHILE程序循环,NC程序段()

A、ENDLOOP

B、ENDIF

C、ENDWHILE

D、ENDFOR 138.在变量赋值方法I中,引数(自变量)B对应的变量是()

A、#101

B、#31

C、#21

D、#2

139.在变量赋值方法I中,引数(自变量)K对应的变量是()

A、#6

B、#51

C、#069

D、#125

140.在变量赋值方法I中,引数(自变量)Q对应的变量是()

A、#17

B、#51

C、#101

D、#069

141.宏程序()。

A、计算错误率高

B、计算功能差,不可用于复杂零件

C、可用于加工不规则形状零件

D、无逻辑功能

142.在运算指令中,形式为#i=#j代表的意义是()。

A、自然对数

B、定义、转换

C、余切

D、反余切

143.在运算指令中,形式为#i=EXP[#j]代表的意义是()

A、X+X4

B、5X+2Y

C、e x

D、tan(A+B)

144.宏程序格式与()一样,结尾用M99返主程序

A主程序B、子程序C、大程序D、小程序

145.G65指令的含义是()指令。

A、精镗循环

B、调用宏

C、指定工作坐标系

D、调用子程序146.在变量赋值方法II中,引数(自变量)K1对应的变量是()。

A、#2

B、#3

C、#6

D、#26

147.在运算指令中,形式为#i=#j-#k代表的意义是()

A、-sink

B、极限

C、-cosj

D、差

148.在运算指令中,形式为#i=#j/#k代表的意义是()

A、极限

B、商

C、最大值

D、小数

149.在运算指令中,形式为#i=FIX[#j]代表的意义是()

A、加权

B、小数点向后移动三位

C、取正数

D、小数点以下舍去

150.在运算指令中,形式为#i=FUP[#j]代表的意义是()

A、概率平均值

B、立方根

C、求方差

D、小数点以下进位

151.在变量赋值方法I中,引数(自变量)C对应的变量是()

A、#43

B、#31

C、#3

D、#39。

152.在变量赋值方法I中,引数(自变量)E对应的变量是()。

A、#8

B、#24

C、#27

D、#108

153.WHILE[#3GT#5]DO 2的含义为()。

A. 如果#3大于#5时循环2继续

B. 如果#3小于#5时循环2继续

C. 如果#3等于#5时循环2继续

D. 如果#3小于等于#5时循环2继续

154.在运算指令中,取符号指令的格式是( )(华中系统)。

A、Ri=LN(Rj)

B、Ri=INT(Rj*Rk)

C、Ri=EXP(Rj)

D、Ri=SIGN(Rj)

155.下面的宏变量中( )是全局变量(华中系统)。

A、#1

B、#100

C、#200

D、#300

156.在运算指令中,形式为#i=#j-#k代表的意义是( )。

A、负对数

B、差

C、负导数

D、分数

157、在变量赋值方法I中,引数(自变量)F对应的变量是( )。

A、#9

B、#51

C、#101

D、#49

158.在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种程序叫( )。

A、宏程序

B、主程序

C、子程序

D、小程序

159.用户宏程序就是()。

A、由预备功能指令编写的子程序,主程序需要时可使用呼叫子程序的方式随时调用。

B、使用宏指令编写的程序,程序中除使用常用预备功能指令外,还使用了用户宏指令实现变量运算、判定、转移等功能。

C、工件加工源程序,通过数控装置运算、判断处理后,转变成工件的加工程序,由主程序随时调用。

D、一种循环程序,可以反复使用许多次。

160.在发那克0i系统中,假设#1=1.2,#2= -1.2,则以下( )是正确的。

A、#3=FUP[#1]= 2.0,#4=FIX[#2]= -2.0

B、#3=FUP[#1]= 2.0,#4=FIX[#2]= -1.0

C、#3=FIX[#1]= 1.0,#4=FUP[#2]= -1.0

D、#3=FIX[#1]= 1.0,#4=FUP[#2]= -2.0

二、多选题(第161~180题。每题有多个答案,多选、漏选、错选都不给分。每题1分。共20题,满分20分)

161.在变量赋值方法中,引数(自变量)A和K分别对应的变量是()(FANUC系统)。

(A)#7 (B)#1 (C)#21 (D)#6 (E)#4

162.在宏程序中,下列符号的含义分别是( )(FANUC系统、华中系统)。

(A)“*”为算术乘(B)“EQ”为等于(C)“OR”为逻辑或(D)“TAN”为函数正切

(E)“IF...”为条件表达式

163.下列运算( )不是取整运算指令(SIEMENS系统)。

(A)Ri=LN(Rj) (B)Ri=TRUNC(Rj*Rk) (C)Ri=EXP(Rj) (D)Ri=TRUNC(Rj) (E)Ri=ABS(Rj) 164.FANUC 系统中,下列( )变量内的数据即使断电也不会清除(FANUC 系统、华中系统)。

(A)#300 (B)#400 (C)#500 (D)#899 (E) #999

165.下列运算()是自然对数和指数函数的运算指令。

(A)# i=ASIN[#J] (B)#i=FIX[#J] (C)#i=LN[#j] (D)#i=EXP[#j] (E)#i=ABS[#j] 166.运算符“= =”、“〈〉”分别表示()。(SIEMENS系统)

(A)等于(B)不等于(C)小于(D)大于(E)大于或等于

167.在变量使用中,下面选项()的格式是不对的(FANUC系统、华中系统)。

(A)0#1 (B)/#2G00X100.0 (C)N#3X200.0 (D)G01 X[#1+#2] (E)SIN[#13] (F)[#3] 168.FANUC系统中,下列()变量的数据断电时初始化为空(FANUC系统、华中系统)。

(A)#1 (B)#100 (C)#199 (D)#500 (E)#999

169.在宏程序中,下列符号的含义是()(FANUC系统、华中系统)。

(A)“*”为算术乘(B)“EQ”为等于(C)”OR”为逻辑或

(D)”TAN”为函数正切(E)”IF…”为条件表达式

170.宏指令具有下列功能中的()(FANUC系统、华中系统)。

(A)变量赋值(B)算术运算(C)逻辑运算(D)条件转移(E)循环语句

171.关于程序IF[#1GT10] G0T0 100;,下列说法正确的是()(FANUC系统)。

(A)如果#1小于或等于10,则跳转到N100的程序段

(B)如果#1小于或等于10,则执行IF到N100之间的程序段

(C)如果#1大于10,则执行IF到N100的之间的程序段

(D)如果#1大于10,则100赋值给#1 (E)如果#1大于10,则跳转到N100的程序段

172.关于程序IF[#1LT100] G0T0 10;,下列说法不正确的是()(FANUC系统)。

(A)如果#1小于100,则跳转到N10的程序段

(B)如果#1小于100,则执行IF到N10之间的程序段

(C)如果#1大于或等于100,则执行IF到N100之间的程序段

(D)如果#1大于或等于10,则100赋值给#1

(E)如果#1大于或等于100,则跳转到N10的程序段

173.WHILE[#10LT10] D01;…..END1;.下列说法正确的是()(FANUC系统)。

(A)当#10大于10则跳转到END1后的程序段

(B)当#10大于10则执行DO1到END1之间的程序段

(C)当#110小于10则跳转到END1后的程序段

(D)当#10小于10则执行DO1到END1之间的程序段

(E)当#10小于10则执行DO1到END1之间的程序段一次,再执行END1后的程序

174.WHILE[#1GT10] DO1;…END1;,下列说法正确的是()(FANUC系统)。

(A)当#1大于10则转到END1后的程序段

(B)当#1大于10则执行DO1到END1之间的程序段

(C)当#1小于10则转到END1后的程序段

(D)当#1小于10则执行DO1到END1之间的程序段

(E)当#1大于10则执行DO1到END1的程序段一次,再执行END1后的程序

175.表示等于和不等于的关系运算符是()(FANUC系统、华中系统)。

(A)EQ (B)GT (C)NE (D)LE (E)LT

176.运算符GT. GE分别表示()(FANUC系统。华中系统)。

(A)= (B)≠(C)≤(D)> (E) ≥

177.关于程序N20 F[#1LT];…N90 ENDIF;N100…;下列说法正确的是()(华中系统)。

(A)如果#1大于10,则跳转到N100的程序段

(B)如果#1大于10,则执行IF到N100的之间的程序段

(C)如果#1大于或等于10,则执行IF到N100的之间的程序段

(D)如果#1大于或等于10,则100赋值给#1

(E)如果#1大于或等于10,则跳转到N100的程序段

178.WHILE #1 GT 10;…ENDW;,下列说法不正确的是()(SIEMENS系统)。

(A)当#1大于10,则转到ENDW的程序段

(B)当#1大于10,则执行WHILE到ENDW之间的程序段

(C)当#1大于或等于10,则转到ENDW后的程序段

(D)当#1大于或等于10,则执行WHILE到ENDW之间的程序段

(E)当#1大于10,则执行WHILE到ENDW的程序段一次,再执行ENDW后的程序

179. WHILE #10 LT 10;…ENDW;,下列说法正确的是()(华中系统)。

(A)当#10大于或等于10,则转到ENDW后的程序段

(B)当#10大于或等于10,则执行WHILE到ENDW之间的程序段

(C)当#10小于10,则转到ENDW的程序段

(D)当#10小于10,则执行WHILE到ENDW之间的程序段

(E)当#10小于10,则执行WHILE到ENDW的程序段一次,再执行ENDW后的程序

180.表示等于和不等于的关系运算符是()(SIEMENS系统)。

(A)= = (B)< (C)< > (D)> (E)< =

1.变量的表示

不同的数控系统,变量表示方法也不一样。FANUC系统的变量通常用变量符号“#”和变量号指定,如#103、#100等。

2.变量的类型

变量一般分为空变量、局部变量、全局变量和系统变量(如表1所示)。全局变量是指在主程序和主程序调用的各用户宏程序内部都有效的变量;局部变量只能在宏程序内部使用,用于保存数据,如运算结果等,当电源关闭时,局部变量被清空,而当宏程序被调用时,调用参数被赋值给局部变量;系统变量是系统固定用途的变量,可被任何程序使用,有些是只读变量,有些可以赋值或修改;空变量总为空。

表1 变量类型及含义

3.变量值的范围

局部变量和全局变量的取值范围为-1047~-10-29或10-29~1047,同时含有0。

4.变量的引用.

当用表达式指定变量时,应使用括号,如G01 X[#1+#2] F#3;

当改变变量符号时,应把负号(-)放在#前面,如G00 X-#1;

当引用未定义变量时,变量和地址字都被忽略,例如:#1定义为0,G00 X#1 Y#4执行的结果为G00 X0。

5. 变量与地址(自变量)的对应关系

系统可用两种形式的自变量指定,表12-1为自变量指定I的自变量与变量的对应关系。表12-2为自变量指宾II的自变量与变量的对应关系。

表12-1 自变量指定I的变量对应关系

在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。

举例:G65 P3000 L2 B4 A5 D6 J7 K8 正确(J、K符合顺序要求)

在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6

举例:G65 P3000 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)

自变量指定II使用A、B、C和1次,使用I、J、K各10次。

系统能够自动识别自变量指定I和自变量指定II并赋给宏程序中相应的变量号。如果自变量指定I和自变量指定II混合使用,则后指定的自变量类型有效。

举例:G65 A1.0 B2.0 I-3.0 I4.0 D5.0 p1000

宏程序中:#1:1.0

#2:2.0,

#3:

#4:-3.0

#5:

#6:

#7:5.0

说明:I4.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的D5.0,而不使用自变量指定II中的I4.0。

6. 本级变量#1~#33

作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本

级变量即为空白变量。

局部变量#1~#33(一个宏程序中的同名变量)从0到4级,主程序是0级。每调用一个含有同名变量的宏程序,级别加1,前一级的变量被保存。当一个宏程序结束(执行M99)时,级别减1。

例如:

主程序宏程序宏程序宏程序宏程序

(0级)(1级)(2级)(3级)(4级)

O0001 O0002 O0003 O0004 O0005

#1=1;#1=2 #1=3 #1=4 #1=5

G65P2A2;G65P3A3 G65P4A4 G65P5P5 ……

……………………M99

M30 M99 M99 M99

12.2 变量的运算

对宏程序中的变量可以可以进行算术运算和逻辑运算。

1. 算术运算

可以进行加、减、乘、除运算。运算功能和格式如表12-3所示。

举例:G00X[#1+#2]

X坐标的值是变量1与变量2之和。

2. 三角函数计算

对宏程序中的变量可进行正弦(SIN)、反正弦(ASIN)、余弦(COS)、反余弦(ACOS)、正切(TAN)、反正切(A TAN)函数运算。三角函数中的角度以度为单位。运算功能和格式如表12-3所示。

3. 其它函数计算

对宏程序中的变量还可以进行平方根(SQRT)、绝对值(ABS)、舍入(ROUN)、上取整(FIX)、下取整(FUP)、自然对数(LN)、指数(EXP)运算。运算功能和格式如表12-3所示。

对于自然对数LN[#j],相对误差可能大于10-8。当#j≤0时,发出P/S报警No.111。

对于批数函数EXP[#j],相对误差可能大于10-8。当运算结果大于3。65×1047(j大约110)时,出现溢出并发出P/S报警No.111。

对于取整函数ROUN[#j],根据最小设定单位四舍五入。

例如,假设最小设定单位为1/1000mm,#1=1.2345,则#2=ROUN[#1]的值是1.0。

对于上取整FIF[#j],绝对值值大于原数的绝对值。对于下取整FUP绝对值小于原数的绝对值。

例如,假设#1=1.2,则#2=FIX[#1]的值是2.0。

假设#1=1.2,则#2=FUP[#1]的值是1.0。

假设#1=-1.2,则#2=FIX[#1]的值是-2.0。

假设#1=-1.2,则#2=FUP[#1]的值是-1.0。

4. 逻辑运算

对宏程序中的变量可进行与、或、异或逻辑运算。逻辑运算是按位进行。运算功能和格式如表12-3所示。

5. 数制转换

变量可以在BCD码与二进制之间转换。

6. 关系运算

由关系运算符和变量(或表达式)组成表达式。系统中使用的关系运算符如下。

(1)等于(EQ)

用EQ与两个变量(或表达式)组成表达式,当运算符EQ两边的变量(或表达式)相等时,表达式的值为真,否则为假。

例如,#1EQ#2,当#1与#2相等时,表达式的值为真。

(2)不等于(NE)

用NE与两个变量或表达式组成表达式,当运算符NE两边的变量(或表达式)不相等时,表达式的值为真,否则为假。

例如,#1NE#2,当#1与#2不相等时,表达式的值为真。

(3)大于等于(GE)

用GE与两个变量或表达式组成表达式,当左边的变量(或表达式)大于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GE#2,当#1大于或等于#2时,表达式的值为真。否则为假。

(4)大于(GT)

用GT与两个变量或表达式组成表达式,当左边的变量(或表达式)大于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GT#2,当#1大于#2时,表达式的值为真。否则为假。

(5)小于等于(LE)

用LE与两个变量或表达式组成表达式,当左边的变量(或表达式)小于或等于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1LE#2,当#1小于或等于#2时,表达式的值为真。否则为假。

(6)小于(LT)

用LT与两个变量或表达式组成表达式,当左边的变量(或表达式)小于右边的变量(或表达式)时,表达式的值为真,否则为假。

例如,#1GE#2,当#1大于#2时,表达式的值为真。否则为假。

7. 运算优先级

运算符的优先顺序是

(1)函数。函数的优先级最高。

(2)乘、除、与运算。乘、除、与运算的优先级次于函数的优先级。

(3)加、减、或、异或运算。加、减、或、异或运算的优先级次于乘、除、与运算。乘、除、与运算的优先级。

(4)关系运算。关系运算的优先级最低。

用方括号可以改变优先级,括号不能超过5层。超过5层时,发出P/S报警No.111。

8. 变量值的精度

变量值的精度为8位十进制数。

例如,用赋值语句#1=9876543210123.456时,实际上#1=9876543200000.000。

用赋值语句#2=9876543277777.456时,实际上#1=9876543300000.000。

12.3 宏程序结构

宏程序从结构上可以有顺序结构、分支结构和循环结构。本节介绍分支和循环结构的实现方法。

1. 无条件转移(GOTO)

格式:GOTOn;n为顺序号(1~9999)

例如,GOTO6;

语句组

N6 G00X100;

执行GOTO6语句时,转去执行标号为N6的程序段。

2. 条件转移(IF)

格式:IF[关系表达式]

GOTOn;

例如,IF[#1LT30]

GOTO7

语句组

N7G00X100X5

如果#1大于30,转去执行标号为N7的程序段,否则执行GOTO7下面的语句组。

3. 条件转移(IF)

格式:IF[表达式]THEN

THEN后只能跟一个语句。

例如,IF[#1EQ#2]THEN#3=0;

当#1等于#2时,将0赋给变量#3。

4. 循环(WHILE)

格式:WHILE[关系表达式]DO m;

语句组;

END m;

当条件表达式成立时执行从DO到END之间的程序,否则转去执行END后面的程序段。例如,#1=5;

WHILE[#1LE30]DO 1;

#1=#1+5;

G00X#1Y#1;

END 1;

M99;

当#1小于等于30时,执行循环程序,当#1大于30时结束循环返回主程序。

12.4 宏程序的调用与返回

1. 宏程序的简单调用

宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。

调用指令格式:G65P(宏程序号)L(重复次数)(变量分配)

其中:G65——宏程序调用指令

P(宏程序号)——被调用的宏程序代号;

L(重复次数)——宏程序重复运行的次数,重复次数为1时,可省略不写;

(变量分配)——为宏程序中使用的变量赋值。

宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多嵌套4层。

2. 宏程序的开始与返回

宏程序的编写格式与子程序相同。其格式为:

O0010(0001~8999为宏程序号)//程序名

N10……//指令

……

N30 M99 //宏程序结束

宏程序以程序号开始,以M99结束。

数控宏编程变量相关理论知识试卷

一、选择题(选择正确的答案,将相应的字母填入题内的括号中。每题0.5分。共160题,满分80分):

1.C

2.B

3.A

4.A

5.B

6.B

7.A

8.B

9.D 10.D 11.C 12.A 13.D 14.B 15.A 16.B 17.D 18.B 19.A 20.A 21.B 22.B 23.A 24.D 25.D

26.C 27.A 28.C 29.D 30.B 31.B 32.C 33.D 34.D 35.D

36.C 37.C 38.D 39.C 40.D 41.B 42.C 43.B 44.D 45.C

46.D 47.C 48.C 49.C 50.D 51.D 52.D 53.D 54.B 55.B

56.B 57.A 58.C 59.B 60.D 61.B 62.C 63.D 64.C 65.B

66.C 67.B 68.C 69.A 70.C 71.C 72.A 73.A 74.A 75.B

76.C 77.C 78.D 79.B 80.B 81.C 82.C 83.B 84.C 85.A

86.D 87.B 88.C 89.C 90.C 91.B 92.B 93.A 94.D 95.C

96.D 97.B 98.A 99.B 100.A 101.C 102.D 103.D 104.B 105.B

106.C 107.C 108.C 109.B 110.A 111.D 112.C 113.B 114.A 115.A

116.A 117.B 118.B 119.C 120.C 121.B 122.D 123.D 124.D 125.B

126.D 127.D 128.B 129.C 130.B 131.B 132.B 133.B 134.B 135.C

136.C 137. 138.D 139.A 140.A 141.C 142.B 143.C 144.B 145.B

146.C 147.D 148.B 149.D 150.D 151.C 152.A 153.A 154.D 155.B

156.B 157.A 158.A 159.B 160.B

二、多选题(第1~20题。多选、漏选、错选都不得分,每题0.5分。共40题,满分20分)

161.B D 162.A B C D E 163.A C E 164.C D E 165.C D 166.A B 167.A B C 168.ABC 169.A B C D E 170.A B C D E 171.B C D E 172.B E 173.B D E 174.A D 175.A C 176.D E 177.B E 178.A D E 179.A D 180.A C

数控车床由浅入深的宏程序实例

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说,如果没有宏的话,我们要逐点算出上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。 A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序 则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。 宏程序的作用 数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。 宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。 宏的分类 B类宏 由于现在B类宏程序的大量使用,很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如(FANUC)OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好

再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A 类宏的引用; A类宏 A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的,xx 的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM.#xx就是号,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD 系统中有#0~#100~#149~#500~#531.关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 应用 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令 H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把#10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

数控机床宏程序例题

由浅入深宏程序10-车床旋转正弦函数宏程序 正弦函数曲线旋转宏程序 坐标点旋转1 s = x cos(b) – y sin(b) t = x sin(b) + y cos(b) 根据下图,原来的点(#1,#2),旋转后的点(#4,#5),则公式: #4=#1*COS[b]- #2*SIN[b] #5=#1*SIN[b]+ #2*COS[b] 公式中角度b,逆时针为正,顺时针为负。 下图中正弦曲线如果以其左边的端点为参考原点,则此条正弦曲线顺时针旋转了16度,即b=-16 正弦函数旋转图纸1 此正弦曲线周期为24,对应直角坐标系的360 对应关系【0,360】 y=sin(x) 【0,24】 y=sin(360*x/24) 可理解为: 360/24是单位数值对应的角度 360*x/24是当变量在【0,24】范围取值为x时对应的角度 sin(360*x/24)是当角度为360*x/24时的正弦函数值 旋转正弦函数曲线粗精加工程序如下: T0101

M3S800 G0X52Z5 #6=26 工件毛坯假设为50mm,#6为每层切削时向+X的偏移量。N5 G0X[#6+] 0F #1=48 N10 #2=sin【360*#1/24】 #4=#1*COS[-16]- #2*SIN[-16] 旋转30度之后对应的坐标值#5=#1*SIN[-16]+ #2*COS[-16] #7=#4-【】坐标平移后的坐标。 #8=45+2*#5+#6 G1X[#8]Z[#7] 沿小段直线插补加工 #1=# 递减,此值越小,工件表面越光滑。 IF [#1 GE 0] GOTO 10 条件判断是否到达终点。 Z-50 G1X52 直线插补切到工件外圆之外 G0Z5 #6=#6-2 IF [#6 GE 0] GOTO 5 G0X150Z150 M5 M30

华中数控铣床宏程序实例

华中数控铣床宏程序实例 O0001(分开的太极) %0001 G54G00X-30Y30Z50 M03S1000 Z3 #0=4 #2=90 WHILE#2LT180 G01Z[#0*SIN[#2*PI/180]]F 200 #101=ABS[#0*COS[#2*PI/1 80]] G01G41Y9D101 X7 G02Y-9R9 G01X-7 G02Y9R9 G03X0Y20R20 G01G40X-30Y30 G41X-12Y13D101 G03X-7Y9R5 G02Y0R4.5 G03Y-9R4.5 G01G40X30Y-30 G41X12Y-3D101 G03X7Y-9R5 G02Y0R4.5 G03Y9R4.5 G01G40Y30X-30 #2=#2+1 ENDW G00Z50 M30 o0002(花) %0002 G54G00X0Y0Z50 M03S1500 Z5 G01Z0F250 #1=90 WHILE#1GE0 #2=10*COS[#1*PI/180] #3=10*SIN[#1*PI/180]-10 G18G01X[#2]Z[#3] G17G02I[-#2] #1=#1-1.5 ENDW G00Z5 X-10 #6=270 WHILE#6GE180 #7=14*COS[#6*PI/180] #8=10*SIN[#6*PI/180] #9=#7-10 #10=#7+28 #11=ABS[#9*COS[72*PI/18 0]] #12=ABS[#9*SIN[72*PI/18 0]] #13=ABS[#9*COS[144*PI/1 80]] #14=ABS[#9*SIN[144*PI/1 80]] G18G01X[#9]Z[#8] G17G03X[-#11]Y[#12]R[#1 0] X[-#13]Y[#14]R[#10] Y[-#14]R[#10] X[#11]Y[-#12]R[#10] Y0X[#9]R[#10] #6=#6-1.5 ENDW G00Z50 M30 O0003(太极倒角) %0003 G54G00x-20y60z50 M03S1500 Z5 #1=90 WHILE#1GE0 G01Z[5*SIN[#1*PI/180]-5]F 250 #101=ABS[5*COS[#1*PI/18 0]]-5 G01G41X0D101 Y42 G02Y0R21 G03Y-42R21 G01Y-60 Y-42 G02J42 Y0R21 G03Y42R21 G01Y60 G40X-20 #1=#1-1 ENDW G00Z50 M30 O0004(椭圆铣平面) %0004 G54G00X0Y0Z50 M03S1500 Z5 G01Z-3F250 #1=41 WHILE#1GE5 G01X[#1] #2=0 WHILE#2LT360 #3=#1*COS[#2*PI/180] #4=#1*4/5*SIN[#2*PI/180] G01X[#3]Y[#4] #2=#2+1 ENDW #1=#1-5 ENDW G00Z50 M30 其二 G54G00X43Y0Z50 M03S1500 Z5 G01Z-3F250 #1=43

数控车床编程实例 100

数控车床编程实例 例1.G01直线插补指令编程如下图所示 安装装仿形工件 坐标点X(直径)Z圆弧半径圆弧顺逆A00 B300 C30-48 D64-58 E84-73 F84-150 0-150 FUNAC数控车编程如下: O9001 N10 G50 X100 Z10 (设立坐标系,定义对刀点的位置) N20 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处) N30 G01 U10 W-5 G98 F120 (倒3×45°角) N40 Z-48 (加工Φ26 外圆) N50 U34 W-10 (切第一段锥) N60 U20 Z-73 (切第二段锥) N70 X90 (退刀) N80 G00 X100 Z10 (回对刀点) N90 M05 (主轴停) N100 M30 (主程序结束并复位) //////////////////////////////////////////////////////////////////////////////////////// 华中数控车床编程如下: %9001 N10 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N20 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处)

N30 G01 U10 W-5 F300 (倒3×45°角) N40 Z-48 (加工Φ26 外圆) N50 U34 W-10 (切第一段锥) N60 U20 Z-73 (切第二段锥) N70 X90 (退刀) N80 G00 X100 Z10 (回对刀点) N90 M05 (主轴停) N100 M30 (主程序结束并复位) =============================================================== 例2.G02/G03圆弧插补指令编程,如下图 安装装仿形工件 请设置安装装仿形工件,各点坐标参考如下(X向余量3mm) 坐标点X(直径)Z圆弧半径圆弧顺逆A00 B60 C30-24183 D32-3182 E32-40 F45-40 45-100 0-100 FUNAC数控车编程如下: O9002 N10 G50 X40 Z5(设立坐标系,定义对刀点的位置) N20 M03 S400 (主轴以400r/min旋转) N25 G50 S1000 (主轴最大限速1000r/min旋转)

数控铣宏程序实例

第四章数控铣宏程序实例 §4、1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360° ) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴与短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控车床编程实例详解(30个例子)-数控代码编程实例

车床编程实例一 半径编程 图3.1.1 半径编程 %3110 (主程序程序名) N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置) N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转) N3 M98 P0003 L6 (调用子程序,并循环6 次) N4 G00 X16 Z1 (返回对刀点) N5 G36 (取消半径编程) N6 M05 (主轴停) N7 M30 (主程序结束并复位) %0003 (子程序名) N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8 园弧段)N3 U3.215 W-39.877 R60 (加工R60 园弧段) N4 G02 U1.4 W-28.636 R40(加工切R40 园弧段) N5 G00 U4 (离开已加工表面) N6 W73.436 (回到循环起点Z 轴处) N7 G01 U-4.8 F100 (调整每次循环的切削量) N8 M99 (子程序结束,并回到主程序)

1

直线插补指令编程%3305车床编程实例二图3.3.5 G01 编程实例 N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N2 G00 X16 Z2 M03 (移到倒角延长线,Z 轴2mm 处) N3 G01 U10 W-5 F300 (倒3×45°角) N4 Z-48 (加工Φ26 外圆) N5 U34 W-10 (切第一段锥) N6 U20 Z-73 (切第二段锥) N7 X90 (退刀) N8 G00 X100 Z10 (回对刀点) N9 M05 (主轴停) N10 M30 (主程序结束并复位) 圆弧插补指令编程 车床编程实例三 %3308 N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置)N2 M03 S400 (主轴以400r/min 旋转) N3 G00 X0 (到达工件中心) N4 G01 Z0 F60 (工进接触工件毛坯) N5 G03 U24 W-24 R15 (加工R15 圆弧段) N6 G02 X26 Z-31 R5 (加工R5 圆弧段) N7 G01 Z-40 (加工Φ26 外圆) N8 X40 Z5 (回对刀点) N9 M30 (主轴停、主程序结束并复位

数控铣床编程实例[1]1[1]

第五节数控铣床编程实例(参考程序请看超级链接) 实例一毛坯为70㎜×70㎜×18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件材料为45钢。 1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线 1)以已加工过的底面为定位基准,用通用台虎钳夹紧工件前后两侧面,台虎钳固定于铣床工作台上。 2)工步顺序 ①铣刀先走两个圆轨迹,再用左刀具半径补偿加工50㎜×50㎜四角倒圆的正方形。 ②每次切深为2㎜,分二次加工完。 2.选择机床设备 根据零件图样要求,选用经济型数控铣床即可达到要求。故选用XKN7125型数控立式铣床。3.选择刀具 现采用φ10㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。5.确定工件坐标系和对刀点 在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-23所示。 采用手动对刀方法(操作与前面介绍的数控铣床对刀方法相同)把点O作为对刀点。 6.编写程序 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。 考虑到加工图示的槽,深为4㎜,每次切深为2㎜,分二次加工完,则为编程方便,同时减少指令条数,可采用子程序。该工件的加工程序如下(该程序用于XKN7125铣床): N0010 G00 Z2 S800 T1 M03 N0020 X15 Y0 M08 N0030 G20 N01 P1.-2 ;调一次子程序,槽深为2㎜ N0040 G20 N01 P1.-4 ;再调一次子程序,槽深为4㎜ N0050 G01 Z2 M09

数控铣宏程序实例

第四章 数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm ) 椭圆心不在原点的参数方程 X=a*C OS [#1]+ M Y=b*SIN [#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*C OS [#1]+ M Y=#3=b*SIN [#1]+ N 因为此椭圆绕(M ,N )旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y :旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS [#1]+M;

#3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03;

FANUC_0-TD数控车床编程实例

FANUC 0-TD数控车床编程实例 2007-04-18 21:19 如图示: O0002;O机能指定程序号。 N10 T0101; N20 S500 M03;主轴正转。 N30 G00 X45 Z2;到毛坯外。 N40 G71 U1.5 R1;与N50一起根据轮廓段组N60-N140自动分配切削参数进行粗车循环,U 为吃刀量,R为退刀量,均为半径值。 N50 G71 P60 Q140 U0.5 W0.2 F0.3;P为轮廓开始段号,Q为轮廓结束段号,U为X向精加工余量(直径值),W为Z向精加工余量 N60 G01 X18 Z0;轮廓开始。 N80 X20 Z-1; N90 Z-28; N100 X27.368 Z-45.042;点A。 N110 G03 X25.019 Z-54.286 R14;点B。 N120 G02 X26.806 Z-60.985 R6;点C。 N130 G03 X36 Z-73 R18; N140 G01 Z-85;

N150 G70 P60 Q140 S1100 F0.05; N160 G00 X50 Z60;远离工件,准备换刀。 N170 T0202;换割刀。割刀刀宽4mm N180 S200 M03;割槽时,要求低转速。 N200 G00 X22 Z-28;准备割第一刀。 N210 G01 X16 F0.03;割第一刀。 N220 G04 P1000;停留1S。 N230 G00 X22;退刀。 N240 Z-24;准备割第二刀。 N250 G01 X16 F0.03;割第二刀。 N260 G04 P1000;停留1S。 N270 G00 X22;退刀。 N280 Z-21;准备用右刀尖割倒角。 N290 G01 X16 Z-24 F0.1;用右刀尖割倒角。 N300 G00 X50; N310 Z60; N320 T0303; N330 S300 M03;降低转速以切螺纹。 N340 G00 X22 Z-23;准备切螺纹的第一线。 N350 G92 X19.2 Z3 F3;切螺纹,导程3。 N360 X18.7; N370 X18.3; N380 X18.05; N390 G00 X22 Z-24.5;准备切螺纹的第二线。 N400 G92 X19.2 Z3 F3; N410 X18.7; N420 X18.3; N430 X18.05; N440 G00 X50; N450 Z60; N470 T0202; N480 S200 M03; N490 G00 X38 Z-84;准备割断。 N500 G01 X0 F0.03;割断。 N520 G00 X50; N525 Z0;停在工件右端面,方便第二个工件的加工。N530 M05; N540 M30;返回程序头 O0235; N1T0101; N2G00X40.0Z0; N3M03S800 N4G71U2.0R0.5; N5G71P6Q12X0.5Z10.0F10;

数控铣宏程序实例(DOC)

数控铣宏程序实例(DOC)

数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1:整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N1 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOT01; GOO Z50; M30;

例2:斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO Xa+M YN; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N; GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 ; GOO Z100; M30;

数控铣床编程实例及答案

数控铣床练习题一 答案: 铣床程序1 O1 N1 G90 N2 G54 N3 G17 N4 T03 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H03 Z100.0 N7 G00 X-50.0 Y-100.0 N8 G01 Z-7.0 F100 N9 G01 Y100.0 N10 G00 Z100.0 N11 G00 X50.0 Y-100.0 N12 G00 Z-3.0 F100 N13 G01 Y100.0 N14 G00 Z100.0 N15 G49 N16 G00 X0.0 Y0.0 N17 T10 M06 N18 G43 H10 Z100.0 N19 G81 G98 X-50.0 Y-30.0 R5.0 Z-18.0 F100 N20 Y0.0 N21 Y30.0

N22 X50.0 N23 Y0.0 N24 Y-30.0 N25 G80 N26 G49 N27 G00 X0.0 Y0.0 N28 M05 N29 M30 立体仿真图片

数控练习题二

答案: 铣床程序2: O2 N1 G90 N2 G54 N3 G17 N4 T04 M06 N5 G00 X0.0 Y0.0 M03 S1000 N6 G43 H04 Z100.0 N7 G00 X65.0 Y-50.0 N8 G01 Z-8.0 N9 G41 D04 Y-30.0 F200 N10 G03 X50.0 Y8.0 R50.0 N11 G01 X18.089 Y13.153 N12 G02 X8.0 Y25.0 R12.0 N13 G01 Y30.0 N14 G03 X8.0 Y60.0 R20.0 N15 G01 Y74.972 N16 G01 X50.0 Y82.0 N17 G01 X99.233 N18 G02 X99.233 Y8.0 R60.0 N19 G01 X50.0 N20 G40 N21 G01 X0.0 N22 G01 Y90.0 N23 G01 X120.0 N24 G01 Y0.0 N25 G01 X0.0 N26 G00 Z100.0 N27 G49 N28 T09 M06 N29 G00 X0.0 Y0.0 M03 S1000 N30 G43 H09 Z100.0 N31 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N32 X65.0 N33 X90.0 N34 G80 N35 G00 Z100.0 N36 G49 N37 T58 M06 N38 G00 X0.0 Y0.0 M03 S1000 N39 G43 H58 Z100.0 N40 G81 G98 X40.0 Y45.0 R5.0 Z-10.0 F200 N41 X65.0

数控机床宏程序编程技巧实例

论文: 数控机床宏程序编程的技巧和实例 西北工业集团有限公司 白锋刚 2018年8月11日 前言 随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。 常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、 质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:1、程序数据量大,传输费时。2、修改或调整刀具补偿需要重新后置输出。 3、打刀或其他原因造成的断点时,很难及时复位。 手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计

,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。 在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。 作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。 一、非圆曲面类的宏程序的编程技巧 1、非圆曲面可以分为两类; <1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如 抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根

数控铣床宏程序编程 经典

变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100 G01 X#1 F300 说明: 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。 例如:#[#1+#2-12] 变量的类型 变量根据变量号可以分成四种类型 变量号变量类型功能 #0 空变量该变量总是空,没有值能赋给该变量. #1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. #1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值. 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111. 小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义#1=123;变量#1的实际值是123.000。 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。 例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。 例如:

数控车床加工编程典型实例

数控车床加工编程典型实例 数控机床是一种技术密集度及自动化程度很高的机电一体化加工设备,是综合应用计算机、自动控制、自动检测及精密机械等高新技术的产物。随着数控机床的发展与普及,现代化企业对于懂得数控加工技术、能进行数控加工编程的技术人才的需求量必将不断增加。数控车床是目前使用最广泛的数控机床之一。本文就数控车床零件加工中的程序编制问题进行探讨。 一、编程方法 数控编程方法有手工编程和自动编程两种。手工编程是指从零件图样分析工艺处理、数据计算、编写程序单、输入程序到程序校验等各步骤主要有人工完成的编程过程。它适用于点位加工或几何形状不太复杂的零件的加工,以及计算较简单,程序段不多,编程易于实现的场合等。但对于几何形状复杂的零件(尤其是空间曲面组成的零件),以及几何元素不复杂但需编制程序量很大的零件,由于编程时计算数值的工作相当繁琐,工作量大,容易出错,程序校验也较困难,用手工编程难以完成,因此要采用自动编程。所谓自动编程即程序编制工作的大部分或全部有计算机完成,可以有效解决复杂零件的加工问题,也是数控编程未来的发展趋势。同时,也要看到手工编程是自动编程的基础,自动编程中许多核心经验都来源于手工编程,二者相辅相成。 二、编程步骤 拿到一张零件图纸后,首先应对零件图纸分析,确定加工工艺过程,也即确定零件的加工方法(如采用的工夹具、装夹定位方法等),加工路线(如进给路线、对刀点、换刀点等)及工艺参数(如进给速度、主轴转速、切削速度和切削深度等)。其次应进行数值计算。绝大部分数控系统都带有刀补功能,只需计算轮

廓相邻几何元素的交点(或切点)的坐标值,得出各几何元素的起点终点和圆弧的圆心坐标值即可。最后,根据计算出的刀具运动轨迹坐标值和已确定的加工参数及辅助动作,结合数控系统规定使用的坐标指令代码和程序段格式,逐段编写零件加工程序单,并输入CNC装置的存储器中。 三、典型实例分析 数控车床主要是加工回转体零件,典型的加工表面不外乎外圆柱、外圆锥、螺纹、圆弧面、切槽等。例如,要加工形状如图所示的零件,采用手工编程方法比较合适。由于不同的数控系统其编程指令代码有所不同,因此应根据设备类型进行编程。以西门子802S数控系统为例,应进行如下操作。 (1)确定加工路线 按先主后次,先精后粗的加工原则确定加工路线,采用固定循环指令对外轮廓进行粗加工,再精加工,然后车退刀槽,最后加工螺纹。 (2)装夹方法和对刀点的选择 采用三爪自定心卡盘自定心夹紧,对刀点选在工件的右端面与回转轴线的交点。 (3)选择刀具 根据加工要求,选用四把刀,1号为粗加工外圆车刀,2号为精加工外圆车刀,3号为切槽刀,4号为车螺纹刀。采用试切法对刀,对刀的同时把端面加工出来。 (4)确定切削用量 车外圆,粗车主轴转速为500r/min,进给速度为0.3mm/r,精车主轴转速为800r/min,进给速度为0.08mm/r,切槽和车螺纹时,主轴转速为300r/min,进给速度为0.1mm/r。 (5)程序编制 确定轴心线与球头中心的交点为编程原点,零件的加工程序如下: 主程序 JXCP1.MPF N05 G90 G95 G00 X80 Z100 (换刀点) N10 T1D1 M03 S500 M08 (外圆粗车刀) -CNAME=“L01” R105=1 R106=0.25 R108=1.5 (设置坯料切削循环参数) R109=7 R110=2 R111=0.3 R112=0.08 N15 LCYC95 (调用坯料切削循环粗加工) N20 G00 X80 Z100 M05 M09 N25 M00 N30 T2D1 M03 S800 M08 (外圆精车刀) N35 R105=5 (设置坯料切削循环参数)

数控铣宏程序实例

第四章数控铣宏程序实例 §4.1 椭圆加工(编程思路:以一小段直线代替曲线) 例1 整椭圆轨迹线加工(假定加工深度为2mm) 方法一:已知椭圆的参数方X=acosθ Y=bsinθ 变量数学表达式 设定θ= #1(0°~ 360°) 那么 X= #2 = acos[#1] Y= #3= bsin[#1] 程序 O0001; S1000 M03; G90 G54 G00 Z100; G00 Xa Y0; G00 Z3; G01 Z-2 F100; #1=0; N99 #2=a*cos[#1]; #3=b*sin[#1]; G01 X#2 Y#3 F300; #1=#1+1; IF[#1LE360]GOTO99; GOO Z50; M30;

例2 斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm) 椭圆心不在原点的参数方程 X=a*COS[#1]+ M Y=b*SIN[#1]+ N 变量数学表达式 设定θ=#1; (0°~360°) 那么X=#2=a*COS[#1]+ M Y=#3=b*SIN[#1]+ N 因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68 格式 G68 X - Y - R - X,Y:旋转中心坐标; R: 旋转角度 程序 O0002; S1000 M03; G90 G54 G00 Z100; GOO X0 Y0; GOO Z3; G68 XM YN R45; #1=0; N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;

GO1 X#2 Y#3 F300; G01 Z-2 F100; #1=#1+1; IF[#1LE360]GOTO99; G69 GOO Z100; M30; 例3:椭圆轮廓加工(深度2mm) 采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R 根据椭圆的参数方程可设 变量表达式θ=#1(0°~360°) a=#2 b=#3(b-R~R) X=#2*COS[#1]=#4 Y=#3*SIN[#1]=#5 程序 O0003; S1000 M03; G90 G54 G00 Z100;

数控车床编程实例

如图2-16所示工件,毛坯为φ45㎜×120㎜棒材,材料为45钢,数控车削端面、外圆。 ? 1.根据零件图样要求、毛坯情况,确定工艺方案及加工路线 1)对短轴类零件,轴心线为工艺基准,用三爪自定心卡盘夹持φ45外圆,使工件伸出卡盘80㎜,一次装夹完成粗精加工。 2)? 工步顺序 ①粗车端面及φ40㎜外圆,留1㎜精车余量。 ②精车φ40㎜外圆到尺寸。 2.选择机床设备 根据零件图样要求,选用经济型数控车床即可达到要求。故选用CK0630型数控卧式车床。 3.选择刀具 根据加工要求,选用两把刀具,T01为90°粗车刀,T03为90°精车刀。同时把两把刀在自动换刀刀架上安装好,且都对好刀,把它们的刀偏值输入相应的刀具参数中。 4.确定切削用量 切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系、对刀点和换刀点 确定以工件右端面与轴心线的交点O为工件原点,建立XOZ工件坐标系,如前页图2-16所示。 采用手动试切对刀方法(操作与前面介绍的数控车床对刀方法基本相同)把点O作为对刀点。换刀点设置在工件坐标系下X55、Z20处。 6.编写程序(以CK0630车床为例) 按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。该工件的加工程序如下: N0010 G59 X0 Z100 ;设置工件原点

N0020 G90 N0030 G92 X55 Z20 ;设置换刀点 N0040 M03 S600 N0050 M06 T01 ;取1号90°偏刀,粗车 N0060 G00 X46 Z0 N0070 G01 X0 Z0 N0080 G00 X0 Z1 N0090 G00 X41 Z1 N0100 G01 X41 Z-64 F80 ;粗车φ40㎜外圆,留1㎜精车余量 N0110 G28 N0120 G29 ;回换刀点 N0130 M06 T03 ;取3号90°偏刀,精车 N0140 G00 X40 Z1 N0150 M03 S1000 N0160 G01 X40 Z-64 F40 ;精车φ40㎜外圆到尺寸 N0170 G00 X55 Z20 N0180 M05 N0190 M02 如图2-17所示变速手柄轴,毛坯为φ25㎜×100㎜棒材,材料为45钢,完成数控车削。

数控宏程序实例

第7章宏程序 7.3 宏程序调用 7.3.1 宏程序调用指令(G65) 在主程序中可以用G65调用宏程序。指令格式如下: G65 P L 〈自变量赋值〉; 其中:P指定宏程序号:L为重复调用次数(1—9999);自变量赋值是由地址和数值构成的,用以对宏程序中的局部变量赋值。 例如: 主程序: O7002 ... G65 P7100 L2 A1.0 B2.0 ... M30 宏程序: #3=#1+#2; IF [#3 GT 360] GOTO 9; G00 G91 X#3 N9 M99

7.3.2 自变量赋值 自变量赋值有两种类型。自变量I使用除去G,L,N,O,P以外的其他字母作为地址,自变量II可以使用A,B,C每个字母一次,I,J,K每个字母可使用十次作为地址。表7—3和7—4分别为两种类型自变量赋值的地址和变量号码之间的对应关系: 表7—3 自变量赋值的地址和变量号码之间的对应关系 表7—4 自变量II的地址与变量号码之间的对应关系

上表中的I,J,K的下标只表示顺序,并不写在实际命令中。在G65的程序段中,可以同时使用表4—1及表4—2中的两组自变量赋予值。系统可以根据使用的字母自动判断自变量赋值的类型。 7.4 变量的控制和运算指令 7.4.1 算术运算和逻辑运算 在变量之间,变量和常量之间,可以进行各种运算,常用的见表7—5。

表7—5 算术和逻辑运算 运算的优先顺序如下: 1)函数。 2)乘除,逻辑与。 3)加减,逻辑或,逻辑异或。 可以用[ ]来改变顺序

7.4.2 控制指令 1.无条件转移(GOTO语句) 语句格式为: GOTO n 其中n为顺序号(1—9999),可用变量表示。例如: GOTO 1; GOTO #10; 2. 条件转移(IF 语句) 语句格式为: IF [条件式] GOTO n 条件式成立时,从顺序号为n的程序段开始执行;条件式不成立时,执行下一个程序段。 条件式有以下几类: # j EQ # K # j NE # K # j GT # K # j LT # K # j GE # K # j LE # K 条件式中变量#J或#K可以是常量也可以是表达式,条件式必须用括弧括起来。下面的程序可以得到1到10的和: O7100

数控车床编程实例详解(30个例子)

半径编程 图3.1.1 半径编程 %3110 (主程序程序名) N1 G92 X16 Z1 (设立坐标系,定义对刀点的位置) N2 G37 G00 Z0 M03 (移到子程序起点处、主轴正转) N3 M98 P0003 L6 (调用子程序,并循环6次) N4 G00 X16 Z1 (返回对刀点) N5 G36 (取消半径编程) N6 M05 (主轴停) N7 M30 (主程序结束并复位) %0003 (子程序名) N1 G01 U-12 F100 (进刀到切削起点处,注意留下后面切削的余量)N2 G03 U7.385 W-4.923 R8(加工R8园弧段) N3 U3.215 W-39.877 R60 (加工R60园弧段) N4 G02 U1.4 W-28.636 R40(加工切R40园弧段) N5 G00 U4 (离开已加工表面) N6 W73.436 (回到循环起点Z轴处) N7 G01 U-4.8 F100 (调整每次循环的切削量) N8 M99 (子程序结束,并回到主程序)

直线插补指令编程 图3.3.5 G01编程实例 %3305 N1 G92 X100 Z10 (设立坐标系,定义对刀点的位置) N2 G00 X16 Z2 M03 (移到倒角延长线,Z轴2mm处) N3 G01 U10 W-5 F300 (倒3×45°角) N4 Z-48 (加工Φ26外圆) N5 U34 W-10 (切第一段锥) N6 U20 Z-73 (切第二段锥) N7 X90 (退刀) N8 G00 X100 Z10 (回对刀点) N9 M05 (主轴停) N10 M30 (主程序结束并复位) 车床编程实例三 圆弧插补指令编程 %3308 N1 G92 X40 Z5 (设立坐标系,定义对刀点的位置) N2 M03 S400 (主轴以400r/min旋转) N3 G00 X0 (到达工件中心) N4 G01 Z0 F60 (工进接触工件毛坯) N5 G03 U24 W-24 R15 (加工R15圆弧段) N6 G02 X26 Z-31 R5 (加工R5圆弧段) N7 G01 Z-40 (加工Φ26外圆) N8 X40 Z5 (回对刀点) N9 M30 (主轴停、主程序结束并复位 图3.3.8 G02/G03编程实例

相关文档