当前位置:文档之家› ROBOT程序例子

ROBOT程序例子

ROBOT程序例子
ROBOT程序例子

ROBOT 程序说明

RSR0001 系统自动启动程序(不要修改或者改名)

TYPE01 工作程序,不同工件对应不同名称的程序来实现工作,

为RSR0001调用

FIX01 子程序,为TYPE01调用

MOV01 子程序,为TYPE01调用

FROMHOME 原位置运动至等待位置的程序

TOHOME 等待位置运动至原位置程序

ALM_OUT 将机器人报警输出至PLC

DOOFF 清除数字输出信号

REGCLEAR 清除寄存器数据

CV_HP 机器人从传送带运动至原位置程序

DCM_HP 机器人从压铸机运动至原位置程序

对于所有的程序,更换工件后只需要修改红色的三个程序,其他程序可以不需要修改。

程序名称:RSR0001(ROBOT主程序,根据选择模具种类选择TYPE子程序)

行 程序 LBL号码注解

1 UFRAME_NUM=0 选择0号用户坐标系

2 UTOOL_NUM=1 选择1号工具坐标系 3

4 $WAITTMOUT=300 系统等待时间3s

5 WAIT DI[15:ROBOT HOME]=ON TIMEOUT,

LBL[70] 等待输入DI[15]机械手原位置信号为ON 超时则跳转至标记[70]

6

7 OVERRIDE=50% 机械手实际运动速度为50% 8

9 CALL DOOFF 调用DOOFF子程序

10 CALL REGCLEAR 调用REGCLEAR子程序

11

12 R[2:TYPE NUMBER MEMO]=

R[26:TYPE CODE INPUT] 工件种类记录寄存器R[2]等于种类代码 选择输入寄存器R[26]

13 SELECT R[2:TYPE NUMBER MEMO]=1,

CALL TYPE01 当工件种类记录寄存器R[2]=1时, 调用TYPE01子程序

14 =2,CALL TYPE02 当工件种类记录寄存器R[2]=2时,

调用TYPE02子程序

15 =3,CALL TYPE03 当工件种类记录寄存器R[2]=3时,

调用TYPE03子程序

16 =4,CALL TYPE04 当工件种类记录寄存器R[2]=4时,

调用TYPE04子程序

17 =5,CALL TYPE05 当工件种类记录寄存器R[2]=5时,

调用TYPE05子程序

18 =6,CALL TYPE06 当工件种类记录寄存器R[2]=6时,

调用TYPE06子程序

19 =7,CALL TYPE07 当工件种类记录寄存器R[2]=7时,

调用TYPE07子程序

20 =8,CALL TYPE8 当工件种类记录寄存器R[2]=8时,

调用TYPE08子程序

21 =9,CALL TYPE9 当工件种类记录寄存器R[2]=9时,

调用TYPE09子程序

22 =10,CALL TYPE10 当工件种类记录寄存器R[2]=10时,

调用TYPE10子程序

23 =11,CALL TYPE11 当工件种类记录寄存器R[2]=11时,

调用TYPE11子程序

24 =12,CALL TYPE12 当工件种类记录寄存器R[2]=12时,

调用TYPE12子程序

25 =13,CALL TYPE13 当工件种类记录寄存器R[2]=13时,

调用TYPE13子程序

26 =14,CALL TYPE14 当工件种类记录寄存器R[2]=14时,

调用TYPE14子程序

27 =15,CALL TYPE15 当工件种类记录寄存器R[2]=15时,

调用TYPE15子程序

28 =16,CALL TYPE16 当工件种类记录寄存器R[2]=16时,

调用TYPE16子程序

29 =17,CALL TYPE17 当工件种类记录寄存器R[2]=17时,

调用TYPE17子程序

30 =18,CALL TYPE18 当工件种类记录寄存器R[2]=18时,

调用TYPE18子程序

31 =19,CALL TYPE19 当工件种类记录寄存器R[2]=19时,

调用TYPE19子程序

32 =20,CALL TYPE20 当工件种类记录寄存器R[2]=20时,

调用TYPE20子程序

33 =21,CALL TYPE21 当工件种类记录寄存器R[2]=21时,

调用TYPE21子程序

34 =22,CALL TYPE22 当工件种类记录寄存器R[2]=22时,

调用TYPE22子程序

35 =23,CALL TYPE23 当工件种类记录寄存器R[2]=23时,

调用TYPE23子程序

36 =24,CALL TYPE24 当工件种类记录寄存器R[2]=24时,

调用TYPE24子程序

37 =25,CALL TYPE25 当工件种类记录寄存器R[2]=25时,

调用TYPE25子程序

38 =26,CALL TYPE26 当工件种类记录寄存器R[2]=26时,

调用TYPE26子程序

39 =27,CALL TYPE27 当工件种类记录寄存器R[2]=27时,

调用TYPE27子程序

40 =28,CALL TYPE28 当工件种类记录寄存器R[2]=28时,

调用TYPE28子程序

41 =29,CALL TYPE29 当工件种类记录寄存器R[2]=29时,

调用TYPE29子程序

42 =30,CALL TYPE30 当工件种类记录寄存器R[2]=30时,

调用TYPE30子程序

43 =31,CALL TYPE31 当工件种类记录寄存器R[2]=31时,

调用TYPE31子程序

44 =32,CALL TYPE32 当工件种类记录寄存器R[2]=32时,

调用TYPE32子程序

45 =33,CALL TYPE33 当工件种类记录寄存器R[2]=33时,

调用TYPE33子程序

46 =34,CALL TYPE34 当工件种类记录寄存器R[2]=34时,

调用TYPE35子程序

47 =36,CALL TYPE36 当工件种类记录寄存器R[2]=36时,

调用TYPE36子程序

调用TYPE37子程序

49 =38,CALL TYPE38 当工件种类记录寄存器R[2]=38时,

调用TYPE38子程序

50 =39,CALL TYPE39 当工件种类记录寄存器R[2]=39时,

调用TYPE39子程序

51 =40,CALL TYPE40 当工件种类记录寄存器R[2]=40时,

调用TYPE40子程序

52 =41,CALL TYPE41 当工件种类记录寄存器R[2]=41时,

调用TYPE41子程序

53 =42,CALL TYPE42 当工件种类记录寄存器R[2]=42时,

调用TYPE42子程序

54 =43,CALL TYPE43 当工件种类记录寄存器R[2]=43时,

调用TYPE43子程序

55 =44,CALL TYPE44 当工件种类记录寄存器R[2]=44时,

调用TYPE44子程序

56 =45,CALL TYPE45 当工件种类记录寄存器R[2]=45时,

调用TYPE45子程序

57 =46,CALL TYPE46 当工件种类记录寄存器R[2]=46时,

调用TYPE46子程序

58 =47,CALL TYPE47 当工件种类记录寄存器R[2]=47时,

调用TYPE47子程序

59 =48,CALL TYPE48 当工件种类记录寄存器R[2]=48时,

调用TYPE48子程序

60 =49,CALL TYPE49 当工件种类记录寄存器R[2]=49时,

调用TYPE49子程序

61 =50,CALL TYPE50 当工件种类记录寄存器R[2]=50时,

调用TYPE50子程序

62 =51,CALL TYPE51 当工件种类记录寄存器R[2]=51时,

调用TYPE51子程序

63 =52,CALL TYPE52 当工件种类记录寄存器R[2]=52时,

调用TYPE52子程序

64 =53,CALL TYPE53 当工件种类记录寄存器R[2]=53时,

调用TYPE53子程序

65 =54,CALL TYPE54 当工件种类记录寄存器R[2]=54时,

调用TYPE54子程序

66 =55,CALL TYPE55 当工件种类记录寄存器R[2]=55时,

调用TYPE55子程序

67 =56,CALL TYPE56 当工件种类记录寄存器R[2]=56时,

调用TYPE56子程序

68 =57,CALL TYPE57 当工件种类记录寄存器R[2]=57时,

调用TYPE57子程序

69 =58,CALL TYPE58 当工件种类记录寄存器R[2]=58时,

调用TYPE58子程序

调用TYPE59子程序

71 =60,CALL TYPE60 当工件种类记录寄存器R[2]=60时,

调用TYPE60子程序

72 =61,CALL TYPE61 当工件种类记录寄存器R[2]=61时,

调用TYPE61子程序

73 =62,CALL TYPE62 当工件种类记录寄存器R[2]=62时,

调用TYPE62子程序

74 =63,CALL TYPE63 当工件种类记录寄存器R[2]=63时,

调用TYPE63子程序

75 =64,CALL TYPE64 当工件种类记录寄存器R[2]=64时,

调用TYPE64子程序

76 =65,CALL TYPE65 当工件种类记录寄存器R[2]=65时,

调用TYPE65子程序

77 =66,CALL TYPE66 当工件种类记录寄存器R[2]=66时,

调用TYPE66子程序

78 =67,CALL TYPE67 当工件种类记录寄存器R[2]=67时,

调用TYPE67子程序

79 =68,CALL TYPE68 当工件种类记录寄存器R[2]=68时,

调用TYPE68子程序

80 =69,CALL TYPE69 当工件种类记录寄存器R[2]=69时,

调用TYPE69子程序

81 =70,CALL TYPE70 当工件种类记录寄存器R[2]=70时,

调用TYPE70子程序

82 =71,CALL TYPE71 当工件种类记录寄存器R[2]=71时,

调用TYPE71子程序

83 =72,CALL TYPE72 当工件种类记录寄存器R[2]=72时,

调用TYPE72子程序

84 =73,CALL TYPE73 当工件种类记录寄存器R[2]=73时,

调用TYPE73子程序

85 =74,CALL TYPE74 当工件种类记录寄存器R[2]=74时,

调用TYPE74子程序

86 =75,CALL TYPE75 当工件种类记录寄存器R[2]=75时,

调用TYPE75子程序

87 =76,CALL TYPE76 当工件种类记录寄存器R[2]=76时,

调用TYPE76子程序

88 =77,CALL TYPE77 当工件种类记录寄存器R[2]=77时,

调用TYPE77子程序

89 =78,CALL TYPE78 当工件种类记录寄存器R[2]=78时,

调用TYPE78子程序

90 =79,CALL TYPE79 当工件种类记录寄存器R[2]=79时,

调用TYPE79子程序

91 =80,CALL TYPE80 当工件种类记录寄存器R[2]=80时,

调用TYPE80子程序

调用TYPE81子程序

93 =82,CALL TYPE82 当工件种类记录寄存器R[2]=82时,

调用TYPE82子程序

94 =83,CALL TYPE83 当工件种类记录寄存器R[2]=83时,

调用TYPE83子程序

95 =84,CALL TYPE84 当工件种类记录寄存器R[2]=84时,

调用TYPE84子程序

96 =85,CALL TYPE85 当工件种类记录寄存器R[2]=85时,

调用TYPE85子程序

97 =86,CALL TYPE86 当工件种类记录寄存器R[2]=86时,

调用TYPE86子程序

98 =87,CALL TYPE87 当工件种类记录寄存器R[2]=87时,

调用TYPE87子程序

99 =88,CALL TYPE88 当工件种类记录寄存器R[2]=88时,

调用TYPE88子程序

100 =89,CALL TYPE89 当工件种类记录寄存器R[2]=89时,

调用TYPE89子程序

101 =90,CALL TYPE90 当工件种类记录寄存器R[2]=90,

调用TYPE90子程序

102 =91,CALL TYPE91 当工件种类记录寄存器R[2]=91时,

调用TYPE91子程序

103 =92,CALL TYPE92 当工件种类记录寄存器R[2]=92时,

调用TYPE92子程序

104 =93,CALL TYPE93 当工件种类记录寄存器R[2]=93时,

调用TYPE93子程序

105 =94,CALL TYPE94 当工件种类记录寄存器R[2]=94时,

调用TYPE94子程序

106 =95,CALL TYPE95 当工件种类记录寄存器R[2]=95时,

调用TYPE95子程序

107 =96,CALL TYPE96 当工件种类记录寄存器R[2]=96时,

调用TYPE96子程序

108 =97,CALL TYPE10 当工件种类记录寄存器R[2]=97时,

调用TYPE97子程序

109 =98,CALL TYPE10 当工件种类记录寄存器R[2]=98时,

调用TYPE98子程序

110 =99,CALL TYPE99 当工件种类记录寄存器R[2]=99时,

调用TYPE99子程序

111

112

113 CALL DOOFF 调用DOOFF子程序

114 CALL REGCLEAR 调用REGCLEAR子程序

115 END 程序结束

116

117 !--- ALARM BLOCK --- 注释:报警部分

118

119 LBL[70] LBL[70]

120 R[1:ALARM MEMO]=11 报警记录寄存器R[1]=11 121 CALL ALM_OUT 调用ALM_OUT子程序 122 UALM[1] 用户自定义报警[1]

123 END 程序结束

程序名称:FROMHOME(从原点位置开始运动至等待位置)

行程序 LBL号码注解

1 UFRAME_NUM=0 选择0号用户坐标系

2 UTOOL_NUM=1 选择1号工件坐标系

3

4 $WAITTMOUT=300 系统等待时间3s

5 WAIT DI[15:ROBOT HOME]=ON TIMEOUT,

LBL[70] 等待输入DI[15]机械手原位置信号为ON,超时则跳转到标记[70]

6

7 !FRONT OF DCM FROM HOME POS 注释:从原位置运动到DCM前方

8

9 L P[1:HOME ] 100mm/sec FINE 直线运动至位置[1]

10 L P[2] 500mm/sec CNT30 直线运动至位置[2]

11 L P[3] 800mm/sec CNT100 直线运动至位置[3]

12 J P[6:FRONT OF DCM] 80% FINE 运动到位置[6](等待位置)

13 END 程序结束

14

15 !--- ALARM BLOCK --- 注释:报警部分

16

17 LBL[70] LBL[70]

18 R[1:ALARM MEMO]=11 报警记录寄存器R[1]=11

19 CALL ALM_OUT 调用ALM_OUT子程序

20 UALM[1] 用户自定义报警[1]

21 END 程序结束

22

程序名称:TOHOME(返回机械手原位置)

行 程序 LBL号码注解

1 UFRAME_NUM=0 选择0号用户坐标系

2 UTOOL_NUM=1 选择1号工件坐标系 3

4 IF DI[15:ROBOT HOME]=ON,

JMP LBL[99] 如果输入DI[15]机械手原点位置信号为ON, 则跳转至标记[99]

5

6 !--- TO HOME POS --- 注释:到机械手原位置

7

8 J P[1:WAIT POS] 30% CNT30 运动至位置[1](等待位置)

9 J P[4] 30% CNT50 运动至位置[4]

10 L P[5] 300mm/sec CNT10 直线运动至位置[5]

11 L P[6:HOME] 100mm/sec FINE 直线运动至位置[6](原位置)

12

13 LBL[99] LBL[99]

14 CALL DOOFF 调用DOOFF子程序

15 END 程序结束

程序名称:ALM_OUT(报警处理)

行程序 LBL号码注解

1 R[11:ALARM CODE OUT]=

报警代码输出寄存器R[11]等于报警记录寄存器R[1] R[1:ALARM MEMO]

2 WAIT 1.00(sec) 等待 1.0s

3 R[11:ALARM CODE OUT]=0 报警代码输出寄存器清零

4 END 程序结束

5

安川焊接机器人编程

安川焊接机器人编程 一、? ? 开机。 1、打开控制柜上的电源开关在“ON”状态。 2、将运作模式调到“TEACH”→“示教模式下” 二、焊接程序编辑。 1.进入程序编辑状态: 1.1.先在主菜单上选择[程序]一览并打开; 1.2.在[程序]的主菜单中选择[新建程序] 1.3.显示新建程序画面后按[选择]键

1.4.显示字符画面后输入程序名现以“TEST”为新建程序名举例说明; 1.5.把光标移到字母“T”、“E”“S”、“T”上按[选择]键选中各个字母; 1.6.按[回车]键进行登录;

1.7.把光标移到“执行”上并确认后,程序“TEST”被登录,并且屏幕画面上显示该程序的初始状态“NOP”、“END” 2.编辑机器人要走的轨迹(以机器人焊接直线焊缝为例);把机器人移动到离安全位置,周边环境便于作业的位置,输入程序(001); 2.1. 握住安全电源开关,接通伺服电源机器人进入 可动作状态;

2.2.用轴操作键将机器人移动到开始位置(开始位置 设置作业准备位置); 2.3.按[插补方式]键,把插补方式定为关节插补,输入缓冲显示行中显示关节插补命令, ‘MOVJ“→”“MOVJ,,VJ=0.78” 2.4.光标放在“00000”处,按[选择]键; 2.5.把光标移动到右边的速度“VJ=**”上,按[转换]键+光标“上下”键,设定再现速度,若设定速度为50%时,则画面显示“→MOVJ VJ=50%”,也可以把光标移到右边的速度,‘VJ=***'上按[选择]键后,可以直接在画面上输入要设定的速度,然后按[回车]键确认。

2.6.按[回车]键,输入程序点(即行号0001)

安川机器人程序示例

2 *cycle 注释:循环运行 3 MOVJ C00000 VJ= point ①:距对中台大概150mm的位置 4 PULSE OT#(68) T= RB时间测量point11(取出待机位置) 5 *Loop1 abel:Loop1 6 JUMP *cyclstop IF IN#(16)=ON JUMP命令:循环停止指令IN16为ON则跳至label「CYCLESTOP」 7 JUMP *Whip_out IF IN#(18)=ON JUMP命令:可取出压机板件IN18为ON则跳至label「Whipout」 8 *Whip_out label:Whip_out (去取对中台上的板件的工序) 9 PULSE OT#(31) T= 脉冲信号(输出指定时间:开始取出OUT31 10 PULSE OT#(16) T= 脉冲信号(输出指定时间):吸取指令OUT16 ON 11 MOVJ C00001 VJ= point ②:DF对中台吸取位置上(大概50mm上) 12 PULSE OT#(57) T= RB时间测量point2 (吸取位置上) 13 MOVL C00002 V= PL=1 point ③:DF对中台上板件吸取位置 14 PULSE OT#(58) T= RB时间测量point3 (吸取位置) 15 TIMER T= 定位精度提升的时间 16 WAIT IN#(24)=ON 待输入:吸取确认ON 17 PULSE OT#(59) T= RB时间测量(吸取完毕) 18 方MOVJ C00003 VJ= point ④:DF对中台吸取位置上(Z方向上升至与point①同样位置,X方向稍微移至负方 19 PULSE OT#(60) T= RB时间测量point4 (吸取位置上) 20 TIMER T= ?定位精度提升的时间? 21 PULSE OT#(27) T= 脉冲信号:取出完毕OUT27 22 MOVJ C00004 VJ= point ⑤:压机投入待机位置 23 PULSE OT#(61) T= RB时间测量point5 (取出待机位置) 24 PULSE OT#(62) T= RB时间测量point6 (投入待机位置)

安川机器人程序示例

精心整理 1NOP 程序起始命令(空指令)2*cycle 注释:循环运行 3MOVJ C00000 VJ=100.00point ①:距对中台大概150mm 的位置 4PULSE OT#(68) T=0.50RB时间测量point 11 (取出待机位置) 5*Loop1abel :Loop1 6JUMP *cyclstop IF IN#(16)=ON JUMP 命令:循环停止指令 IN16为ON 则跳至No.50 label 「CYCLESTOP 」 7JUMP *Whip_out IF IN#(18)=ON JUMP 命令:可取出压机 板件 IN18为ON 则跳至No.8 label 「Whipout 」 18方point 31PULSE OT#(63) T=0.50RB 时间测量point7 (释放位置上) 32MOVL C00007 V=1500.0 PL=3point ⑧:板件释放位置 33PULSE OT#(64) T=0.50RB 时间测量point8 (释放位置) 34TIMER T=0.10定位精度提升的时间 35 PULSE OT#(17) T=1.00OUT17脉冲信号:释放指令 36WAIT IN#(24)=OFF 待输入:时间测量point OFF 37PULSE OT#(65) T=0.50RB 时间测量 (释放完了) 38MOVJ C00008 VJ=100.00point ⑨:板件释放位置上 39PULSE OT#(66) T=0.50RB 时间测量point9 (释放位置上) 40MOVJ C00009 VJ=80.00point ⑩:返回轨迹时的RB 手柄防振减速 41MOVJ C00010 VJ=60.00point ?:point ⑤ 返回No.1压机投入待机位置

安川机器人程序示例修订稿

安川机器人程序示例公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N]

1 NOP 程序起始命令(空指令) 2 *cycle 注释:循环运行 3 MOVJC00000VJ= point①:距对中台大概150mm的位置 4 PULSEOT#(68)T= RB时间测量point11(取出待机位置) 5 *Loop1 abel:Loop1 6 JUMP*cyclstopIFIN#(16)=ON JUMP命令:循环停止指令IN16为ON则跳至label「CYCLESTOP」7 JUMP*Whip_outIFIN#(18)=ON JUMP命令:可取出压机板件IN18为ON则跳至label「Whipout」8 *Whip_out label:Whip_out(去取对中台上的板件的工序) 9 PULSEOT#(31)T= 脉冲信号(输出指定时间:开始取出OUT31 10 PULSEOT#(16)T= 脉冲信号(输出指定时间):吸取指令 OUT16ON 11 MOVJC00001VJ= point②:DF对中台吸取位置上(大概50mm上) 12 PULSEOT#(57)T= RB时间测量point2(吸取位置上) 13 MOVLC00002V=PL=1 point③:DF对中台上板件吸取位置 14 PULSEOT#(58)T= RB时间测量point3(吸取位置) 15 TIMER?T= 定位精度提升的时间 16 WAIT?IN#(24)=ON 待输入:吸取确认ON 17 PULSEOT#(59)T= RB时间测量(吸取完毕) 18 方MOVJC00003VJ= point④:DF对中台吸取位置上(Z方向上升至与point①同样位置,X方向稍微移至负方 19 PULSEOT#(60)T= RB时间测量point4 (吸取位置上) 20 TIMER?T= 定位精度提升的时间 21 PULSEOT#(27)T= 脉冲信号:取出完毕OUT27 22 MOVJC00004VJ= point⑤:压机投入待机位置 23 PULSEOT#(61)T= RB时间测量point5(取出待机位置) 24 PULSEOT#(62)T= RB时间测量point6(投入待机位置) 25 WAIT?IN#(22)=ON 待输入:板件投入侧压机无异常 26 WAIT?IN#(21)=ON 待输入:压机投料允许 27 PULSEOT#(32)T= 脉冲信号:投入开始OUT32 28 PULSEOT#(33)T= 脉冲信号:往投入压机发出模具返回指令OUT33 29 MOVJC00005VJ= point⑥:投入轨迹时的RB手柄防振用的减速 30 MOVLC00006V=PL=4 point⑦:板件释放位置上 31 PULSEOT#(63)T= RB时间测量point7(释放位置上) 32 MOVLC00007V=PL=3 point⑧:板件释放位置 33 PULSEOT#(64)T= RB时间测量point8(释放位置) 34 TIMER?T= 定位精度提升的时间 35 PULSEOT#(17)T= OUT17脉冲信号:释放指令 36 WAITIN#(24)=OFF 待输入:时间测量pointOFF 37 PULSEOT#(65)T= RB时间测量(释放完了)

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

宏程序 裳华职业技术中专鲍新涛 宏程序概述 其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出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的数值赋

安川机器人远程控制总结 _机器人端

安川机器人远程控制总结 一、m aster程序 1、master程序的设置 单击【主菜单】—>选择屏幕上的【程序内容】—>【新建程序】,如图1-1。 图1-1 单击【选择】显示如图1-2所示的界面,单击【选择】,输入程序名,单击软键盘【ENTER】,显示如图1-3所示的界面,单击【执行】,此处程序名为“MASTER”,程序创建完毕。

图1-2 图1-3 单击【主菜单】—>选择屏幕上的【程序内容】—>【主程序】,如图1-4。 图1-4 单击【选择】,显示如图1-5所示的设置主程序界面。

图1-5 单击【选择】,出现如图1-6所示的界面,单击【向下】选择“设置主程序”。 图1-6 显示如图1-7所示的界面,单击【向下】选择“MASTER”单击【选择】。

如图1-7 主程序设置完毕。 2、MASTER程序的编辑 单击【主菜单】—>选择【程序内容】—>【选择程序】—>【选择】,出现如图1-7所示的界面,单击【向下】,选择“MSATER”,单击【选择】。在如图2-1所示的界面下编辑主程序。 图2-1 此处以2个工位,每个工位3种工件的工作站为例创建主程序内容,需要熟悉机器人示教器的基本操作(如【命令一览】【插入】【回车】【选择】)。 插入DOUT OT#(1) OFF程序举例: 光标定位在左侧行号处,如图2-2,如图单击【命令一览】,选择【I/O】,单击【选择】,选择【DOUT】,如图2-3所示的界面

图2-2 图2-3 单击【选择】,显示如图2-4所示的界面,光标定位在“DOUT”上,单击【选择】,显示如图2-5所示的界面,光标定位到“数据”行的ON,单击【选择】,切换成“OFF”,单击两次【回车】则可出入该指令。需要指出的是在光标定位处插入指令是向下插入。

数控铣宏程序实例

第四章数控铣宏程序实例 §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;

安川机器人 程序示例

1 NOP 程序起始命令(空指令) 2 *cycle 注释:循环运行 3 MOVJ C00000 VJ=100.00 point ①:距对中台大概150mm的位置 4 PULSE OT#(68) T=0.50 RB时间测量point11 (取出待机位置) 5 *Loop1 abel:Loop1 6 JUMP *cyclstop IF IN#(16)=ON JUMP命令:循环停止指令 IN16为ON则跳至No.50 label「CYCLESTOP」 7 JUMP *Whip_out IF IN#(18)=ON JUMP命令:可取出压机板件 IN18为ON则跳至No.8 label「Whipout」 8 *Whip_out label:Whip_out (去取对中台上的板件的工序) 9 PULSE OT#(31) T=1.00 脉冲信号(输出指定时间:开始取出 OUT31 10 PULSE OT#(16) T=1.00 脉冲信号(输出指定时间):吸取指令 OUT16 ON 11 MOVJ C00001 VJ=100.00 point ②:DF对中台吸取位置上(大概50mm上) 12 PULSE OT#(57) T=0.50 RB时间测量point2 (吸取位置上) 13 MOVL C00002 V=1500.0 PL=1 point ③:DF对中台上板件吸取位置 14 PULSE OT#(58) T=0.50 RB时间测量point3 (吸取位置) 15 TIMER T=0.05 定位精度提升的时间 16 W AIT IN#(24)=ON 待输入:吸取确认 ON 17 PULSE OT#(59) T=0.50 RB时间测量 (吸取完毕) 18 方MOVJ C00003 VJ=100.00 point ④:DF对中台吸取位置上(Z方向上升至与point①同样位置,X方向稍微移至负方 19 PULSE OT#(60) T=0.50 RB时间测量point4 (吸取位置上) 20 TIMER T=0.10 ?定位精度提升的时间? 21 PULSE OT#(27) T=1.00 脉冲信号:取出完毕 OUT27 22 MOVJ C00004 VJ=90.00 point ⑤:No.1压机投入待机位置 23 PULSE OT#(61) T=0.50 RB时间测量point5 (取出待机位置) 24 PULSE OT#(62) T=0.50 RB时间测量point6 (投入待机位置) 25 W AIT IN#(22)=ON 待输入:板件投入侧压机无异常 26 W AIT IN#(21)=ON 待输入:压机投料允许 27 PULSE OT#(32) T=0.50 脉冲信号:投入开始 OUT32 28 PULSE OT#(33) T=1.00 脉冲信号:往投入压机发出模具返回指令 OUT33 29 MOVJ C00005 VJ=80.00 point ⑥:投入轨迹时的RB手柄防振用的减速 30 MOVL C00006 V=1500.0 PL=4 point ⑦:板件释放位置上 31 PULSE OT#(63) T=0.50 RB时间测量point7 (释放位置上) 32 MOVL C00007 V=1500.0 PL=3 point ⑧:板件释放位置 33 PULSE OT#(64) T=0.50 RB时间测量point8 (释放位置) 34 TIMER T=0.10 定位精度提升的时间 35 PULSE OT#(17) T=1.00 OUT17脉冲信号:释放指令 36 WAIT IN#(24)=OFF 待输入:时间测量point OFF 37 PULSE OT#(65) T=0.50 RB时间测量(释放完了) 38 MOVJ C00008 VJ=100.00 point ⑨:板件释放位置上 39 PULSE OT#(66) T=0.50 RB时间测量point9 (释放位置上) 40 MOVJ C00009 VJ=80.00 point ⑩:返回轨迹时的RB手柄防振减速

安川机器人操作及简单故障处理

安川机器人操作及简单故障处理 一.机器人简介 1、硬件构成:我公司二期所用的日本安川公司机 器人共有15 台,全部为MOTOMAN系列产品,共有SK120,SK6,SV3及UP6四种型号。四种型号的机器人都是由机器人本体,控制柜两部分构成。 机器人本体上装有伺服马达,传动机构及减速机构等机械装置。这几种型号的机器人都是有六个轴关节,由六台伺服马达和六套传动机构组成。六个轴的名称分别为S、L、U、R、B、T轴,其中S轴控制整个本体的来回旋转、L轴控制机器人下臂的前后摆动、U轴控制机器人上臂上下摆动、R轴控制上臂的来回旋转、B轴控制机器人手腕的上下摆动、T轴控制手腕的来回旋转。六个马达共同运动可以使机器人运行到其工作范围内的任意的一个空间位置。 控制柜内装有全部控制装置、再现操作盒及示教盘。控制装置包括主计算机(CPU单元),伺服马达驱动器,各种外部信号输入输出板,电源装置等。此系列机器人

电源的额定输入为AC220V 50/60HZ三相电源,在国内使用时必须配备电源变压器。再现操作盒上装有各种操作按纽、指示灯及通讯口等装置。示教盘上有液晶显示器和各种操作按纽,主要用于编写程序、操作机器人及观察其工作状况等。 2、机器人工作方式:机器人的工作方式为示教再 现型,即由操 作者操作机器人完成一遍所有的预定动作,机器人记录下所走过各个位置点的坐标随后自动运行中按照示教的位置、速度完成所有动作。 机器人运动时的坐标系统有五个分别为:关节坐标系、直角坐标 系、圆柱坐标系、工具坐标系和用户坐标系。机器人在关节坐标系中运动方式为各轴单独运动互不影响;在直角坐标系中机器人以本体轴的X、Y、Z三个方向平行移动;在圆柱坐标系中机器人以本体轴Z轴为中心回旋、直角或平行移动;在工具坐标系中机器人以工具尖端点的X、Y、Z轴平行移动;在用户坐标系中由用户在机器人工作的范围之内任意设定不同角度的X、Y、Z轴,机器人可延所设的各轴平行移动。

新代宏程序实例

新代宏程序实例文件编码(GHTU-UITID-GGBKT-POIU-WUUI-8968)

1、R E P E A T直到型循环REPEAT <循环体> UNTIL <条件表达式> END_REPEAT; 说明:REPEAT直到型循环控制,先执行循环体,后判断条件表达式,当条件满足时退出循环。 例如: % @MACRO ,为了;?倾向于;?关于;?当作; conj.因为,由于;? FOR <循环变量> := <表达式1> TO <表达式2> [ BY <表达式3>] DO <循环体> END_FOR; 说明:FOR循环控制,式中各参数意义如下 循环变量——控制循环次数的变量; 表达式1——循环计数的起始值,可为整数或表达式; 表达式2——循环计数的终止值,可为整数或表达式; 表达式3——循环计数每次的累加值,可为整数或表达式; 循环体——循环每次执行内容; FOR循环执行过程为:先给循环变量赋起始值,然后判断循环变量是否为终止值,当循环变量已为终止值时退出循环,否则执行循环体,再对循环变量加上每次累加值, 4、无条件转移

GOTO转移语句 语法: GOTO n; 说明:无条件地跳到指定的n行号执行,其中n可为整数或表达式。GOTO常和IF语句搭配使用,那就是说当程序检查到某个条件满足时用GOTO语句去进一步处理,但应尽量少用该语句以提高程序可读性。 范例: % @MACRO Z10.; … N100 G01 X30. Z30.; … M02; EXIT循环中断语句 语法:EXIT; 说明:循环中断,跳离循环控制;用在循环控制中,通常EXIT都和IF 语句搭配使用,当某个条件满足后就跳离循环。请参考WHILE范例。

川崎M 系列机器人 保养维护手册

前言 本手册介绍了川崎机器人MX系列、MD系列、MT400N的检查与维护的方法。 在进行任何操作前,请务必透彻阅读理解本手册与安全手册的内容,并严格遵守所有安全规则。 有关机器人手臂与控制器的安装与连接信息,请分别参阅相应的手册。 再次提醒,在完全理解本手册的内容之前,请不要执行任何操作。 对于只按照本手册中有限部分内容进行操作而导致的事故或损害,川崎公司将不会承担任何责任。 1、本手册并不构成对使用机器人的整个应用系统的担保。因此,川崎公司将不 会对使用这样的系统而可能导致的事故、损害、与(或)与工业产权相关的问题 承担责任。 2、川崎公司郑重建议:所有参与机器人操作、示教、维护、维修、点检的人员, 预先参加川崎公司准备的培训课程。 3、川崎公司保留未经预先通知而改变、修订或更新本手册的权利。 4、事先未经川崎公司书面许可,不可将本手册全部或其中的一部分再版或复制。 5、请将本手册小心保管好,以便随时使用。机器人如果需要重新安装、或搬运 到不同地点、或卖给其她用户时,请务必将本手册附上。一旦出现丢失或严重损 坏,请与您的川崎公司代理商联络。

川崎重工版权所有 符号 在本手册中,下述符号的内容应特别注意。 为确保机器人的正确安全操作、防止人员伤害与财产损失,请遵守下述方框符号表达的安全信息。

1、0 注意事项 ··················································································· 4 2、0 检查与维护项目 ········································································ 10 2、1 MX500N 、MX420L 、MX350L 型号机器人的检查与维护项目 ············· 11 2、2 MX700N 型号机器人的检查与维护项目 ········································· 12 2、3 MD400N 型号机器人的检查与维护项目 ········································· 13 2、4 MD500N 型号机器人的检查与维护项目 ········································· 14 2、5 MT400N 型号机器人的检查与维护项目 ·········································· 15 3、0 日常检查的详细内容 ·································································· 16 4、0 补充与更换 ·············································································· 17 4、1 JT1齿轮的润滑脂补充、润滑油补充及更换(MX 系列、MD400N 、MT400N) 18 4.1.1 JT1齿轮的润滑脂补充(MX 系列、MD 系列、MT400N) (18) 4.1.2 齿轮箱的润滑油补充(MX 系列、MD 系列、MT400N) (19) 4.1.3 齿轮箱的润滑油更换(MX 系列、MD 系列、MT400N) .......................... 20 4、2 JT2减速机的润滑脂更换(MX 系列、MD 系列、MT400N) (21) 4.2.1 JT2齿轮箱的润滑脂更换(MX700N) ................................................. 22 4、3 JT3减速机的润滑脂更换(MX 系列、MD 系列、MT400N) (23) 4.3.1 JT3齿轮箱的润滑脂更换(MX700N 、MD500N) ································· 24 4、4 手腕(JT4、5、6)驱动齿轮的润滑脂更换(MX 系列) ··························· 25 4、5 手腕(JT4、5、6)驱动齿轮的润滑脂更换(MT400N) ··························· 26 4、6 JT4齿轮与减速机的润滑脂更换(MX 系列) ······································ 27 4、7 JT4齿轮与减速机的润滑脂更换(MD 系列) ······································ 28 4、8 JT4齿轮与减速机的润滑脂更换(MT400N)······································ 29 4、9 JT5齿轮与减速机的润滑脂更换(MX 系列) ······································ 30 4、10 JT5减速机的润滑脂更换(MD 系列) ··············································· 31 4、11 JT5齿轮与减速机的润滑脂更换(MT400N) ······································ 32 4、12 JT6齿轮与减速机的润滑脂更换(MX 系列) ······································ 33 4、13 JT6齿轮与减速机的润滑脂更换(MT400N) ····································· 34 4、14 JT1交叉滚子轴承的润滑脂补充 (MX 系列、MD 系列、MT400N) ····· 35 4、15 JT3交叉滚子轴承的润滑脂补充 (MX 系列、MD 系列、MT400N) ····· 36 5、0 内部机器电缆检查 ······································································· 37 6、0 重新紧固 ··················································································· 38

安川机器人外部IO启动

安川机器人外部IO启动 安川机器人的外部IO启动运行,即通过外部信号控制机器人启动、暂停、复位、选择主程序和运行程序。 一、安川机器人机械安全端子台基板(JANCD-YFC22-E) 1、机械安全 I/O 基板(JANCD-YSF22B-E) 2、安全端子台基板接线外引 (1)机械安全端子台基板(JANCD-YFC22-E)是为了连接安全输出、输入信号等专用外部信号的端子台基板。 (2)安全端子基台实物图片 3、安全段子台基板100个端口作用 JANCD-YFC22-E 连接端子表 二、安川机器人通用 I/O 基板(JANCD-YIO21-E) 1、通用IO基板插头外接 (1)电箱背板插头 (2)外接实物图 (3)机器人通用输入输出连接器(CN306、307、308、309) 机器人通用输入输出连接器(CN306、307、308、309)的连接制作连接在通用 I/O 基板(JANCD-YIO21-E)的输入输出插头(CN306、307、308、 309)的电线时,请参考下图。电线请使用无屏蔽的双绞线。(电线一侧的插头及I/O端子台为选装件)(4)连接器端子头 (5)外接端子实物图CN306 (6)外接端子实物图CN308 2、通用IO基板供电电源 (1)接线板端子 (2)实物接线图:用外接开关电源24V和0V 3、通用IO基板CN306图 (1)CN306接线端子图 (2)CN306实物图 4、通用IO基板CN307 5、通用IO基板CN308

(1)CN308接线端子图 (2)CN308实物图 6、通用IO基板CN309 三、安川外部启动常用的信号及其接线图 1、安全端子台基板常用IO接线图 (1)外部急停接线图 外连接外部操作设备等的急停开关时使用。输入信号,关闭伺服电源,停止程序执行。信号输入时,无法接通伺服电源。由于机器人出厂时配有跳线,使用时必须先取下跳线。不取下跳线,即使输入了外部急停信号也不会起作用,会造成人身伤害或设备损坏。 (2)暂停接线图 连接外部操作设备等的暂停开关时使用。输入信号,停止程序。信号输入时将无法开始作业和进行轴操作。由于机器人出厂时配有跳线,使用时必须先取下跳线。不取下跳线,即使输入了外部急停信号也不会起作用,会造成人身伤害或设备损坏。 (3)外部上电接线图 连接外部操作设备等的伺服开启开关时使用。输入信号,开启伺服电源。 2、通用IO基板CN308专用IO接线图 3、通用IO基板CN306和CN309接线图 四、现场接线和操作步骤 1、端子台实物接线图 (1)按钮实物接线 (2)端子台接线实物图 2、CN308专用实物接线图 3、编写程序和设定为主程序 这里使用平移指令SFTON合SFTOF,编写安川平移搬运程序,程序及其注释如下:NOP 程序开始 *WHILE_T 无限循环标签*WHILE_T SET B010 0 赋值B010=0 SUB P010 P010 把P010清零 *A 取料放料标签*A

EXCEL宏编程实例.doc

Excel 宏编程举例说明 学习宏编程,需要VB基础,如果一点VB基础和面向对象的概念,建议先去补补VB,不然即使自认为学好了也只能拿着高射炮打蚊子! 一)、宏学习 首先需要明确的是,本文不可能教会您关于宏的所有内容。您需要学会利用"录制宏"的方法来学习宏:点击Excel"工具"下拉菜单中"宏"下?quot;录制新宏",此后可象平时一样进行有关操作,待完成后停止录制。然后再点击"工具"下拉菜单中"宏"下"宏"的"编辑"选项即可打开刚才所录制的宏的Visual Basic源程序,并且可以在此时的"帮助"下拉菜单中获得有关的编程帮助。对录制宏进行修改不仅可以学习宏的使用,还能大大简化宏的编写。 二)、基本概念 为了学习Excel中的宏,我们需要先了解以下一些基本概念。 1、工作簿:Workbooks、Workbook、ActiveWorkbook、ThisWorkbook Workbooks集合包含Excel中所有当前打开的Excel工作簿,亦即所有打开的Excel文件;Workbook对应Workbooks中的成员,即其中的Excel文件;ActiveWorkbook代表当前处于活动状态的工作簿,即当前显示的Excel文件;ThisWorkbook代表其中有Visual Basic代码正在运行的工作簿。 在具体使用中可用Workbooks(index)来引用Workbook对象,其中index为工作簿名称或编号;如Workbooks(1)、Workbooks("年度报表.xls")。而编号按照创建或打开工作簿的顺序来确定,第一个打开的工作簿编号为1,第二个打开的工作簿为2……。 2、工作表:Worksheets、Worksheet、ActiveSheet Worksheets集合包含工作簿中所有的工作表,即一个Excel文件中的所有数据表页;而Worksheet则代表其中的一个工作表;ActiveSheet代表当前处于的活动状态工作表,即当前显示的一个工作表。 可用Worksheets(index)来引用Worksheet对象,其中index为工作表名称或索引号;如Worksheets(1)、Worksheets("第一季度数据")。工作表索引号表明该工作表在工作表标签中的位置:第一个(最左边的)工作表的索引号为1,最后一个(最右边的)为Worksheets.Count。需要注意的是:在使用过程中Excel会自动重排工作表索引号,保持按照其在工作表标签中的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加或删除,工作表索引号不一定始终保持不变。3、图表:Chart 、Charts、ChartObject、ChartObjects、ActiveChart Chart代表工作簿中的图表。该图表既可为嵌入式图表(包含在ChartObject中),也可为一个分开的(单独的)图表工作表。 Charts代表指定工作簿或活动工作簿中所有图表工作表的集合,但不包括嵌入式在工作表或对话框编辑表中的图表。使用Charts(index) 可引用单个Chart图表,其中index是该图表工作表的索引号或名称;如Charts(1)、Charts("销售图表")。图表工作表的索引号表示图表工作表在工作簿的工作表标签栏上的位置。Charts(1)是工作簿中第一个(最左边的)图表工作表;Charts(Charts.Count)为最后一个(最右边的)图表工作表。 ChartObject代表工作表中的嵌入式图表,其作用是作为Chart对象的容器。利用ChartObject 可以控制工作表上嵌入式图表的外观和尺寸。 ChartObjects代表指定的图表工作表、对话框编辑表或工作表上所有嵌入式图表的集合。可由ChartObjects(index)引用单个ChartObject,其中index为嵌入式图表的编号或名称。如

川崎机器人网络通信客户端标准模板(单文件)

.PROGRAM tcpip() #0;川崎机器人TCP/IP通信程序_客户端 ;************************************************** ;* 川崎机器人TCP/IP通信程序* ;* 佛山隆深机器人有限公司* ;* 修改日期: 20170501 * ;* 程序编写: 闪剑* ;************************************************** status:;检查是否与视觉系统建立连接(防止重复连接错误发生) TCP_STATUS .s1,.s2[1],.s3[1],.s4[1],.s5[1],.$s6[1] IF .s1==0 GOTO connect;当前机器人无网络连接 IF .s3[1]==0 THEN;套接字ID非法 PRINT "请重新启动机器人电源!" TWAIT 3 RETURN;返回主程序 END IF .s3[1]>0 AND sock_id>0 GOTO send;已连接则跳转到发送数据部分10 connect:;##########建立通信连接########## port = 9000;通信服务器端口号(8192-65535之间) ip[1] = 192;服务器地址第一组 ip[2] = 168;服务器地址第二组 ip[3] = 0 ;服务器地址第三组 ip[4] = 15 ;服务器地址第四组 TCP_CONNECT sock_id,port,ip[1],10;建立通信指令 IF sock_id<=0 THEN;通信失败 $state = "连接失败" TWAIT 1 GOTO connect ELSE $state = "通信打开" END TWAIT 4;等待软件建立通道 send:;##########发送指令到服务器请求数据########## TCP_SEND .rets,sock_id,$send_buf[1],1,10;发送数据指令 IF .rets<>0 THEN;发送数据失败 $state = "发送失败" IF sock_id>0 GOTO close GOTO send ELSE $state = "发送成功" END recv:;##########接收服务器回传的数据########## .retr = 0 .num = 0

安川机器人程序示例

1N O P程序起始命令(空指令)2*cycle注释:循环运行 3MOVJ?C00000?VJ=100.00point?①:距对中台大概150mm的位置 4PULSE?OT#(68)?T=0.50RB时间测量point11?(取出待机位置) 5*Loop1abel:Loop1 6JUMP?*cyclstop?IF?IN#(16)=ON JUMP命令:循环停止指令?IN16为ON则跳至No.50?label「CYCLESTOP」 7JUMP?*Whip_out?IF?IN#(18)=ON JUMP命令:可取出压机?板件?IN18为ON则跳至No.8?label「Whipout」 8*Whip_outlabel:Whip_out?(去取对中台上的板件的工序) 9PULSE?OT#(31)?T=1.00脉冲信号(输出指定时间:开始取出?OUT31 10PULSE?OT#(16)?T=1.00脉冲信号(输出指定时间):吸取指令?OUT16?ON 11MOVJ?C00001?VJ=100.00point?②:DF对中台吸取位置上(大概50mm上)12PULSE?OT#(57)?T=0.50RB时间测量point2?(吸取位置上) 13MOVL?C00002?V=1500.0?PL=1point?③:DF对中台上板件吸取位置 14PULSE?OT#(58)?T=0.50RB时间测量point3?(吸取位置) 15TIMER?T=0.05定位精度提升的时间 16WAIT?IN#(24)=ON待输入:吸取确认?ON 17PULSE?OT#(59)?T=0.50RB时间测量?(吸取完毕) 18方MOVJ?C00003?VJ=100.00 point???④:DF对中台吸取位置上(Z方向上升至与point①同样位置,X方向稍微移至负方 19PULSE?OT#(60)?T=0.50RB时间测量point4(吸取位置上) 20TIMER?T=0.10?定位精度提升的时间? 21PULSE?OT#(27)?T=1.00脉冲信号:取出完毕?OUT27 22MOVJ?C00004?VJ=90.00point?⑤:No.1压机投入待机位置? 23PULSE?OT#(61)?T=0.50RB时间测量point5?(取出待机位置) 24PULSE?OT#(62)?T=0.50RB时间测量point6?(投入待机位置) 25WAIT?IN#(22)=ON待输入:板件投入侧压机无异常 26WAIT?IN#(21)=ON待输入:压机投料允许 27PULSE?OT#(32)?T=0.50脉冲信号:投入开始?OUT32 28PULSE?OT#(33)?T=1.00脉冲信号:往投入压机发出模具返回指令?OUT33 29MOVJ?C00005?VJ=80.00point?⑥:投入轨迹时的RB手柄防振用的减速 30MOVL?C00006?V=1500.0?PL=4point?⑦:板件释放位置上? 31PULSE?OT#(63)?T=0.50RB时间测量point7?(释放位置上) 32MOVL?C00007?V=1500.0?PL=3point?⑧:板件释放位置 33PULSE?OT#(64)?T=0.50RB时间测量point8?(释放位置) 34TIMER?T=0.10定位精度提升的时间 35?PULSE?OT#(17)?T=1.00OUT17脉冲信号:释放指令 36WAIT?IN#(24)=OFF待输入:时间测量point?OFF 37PULSE?OT#(65)?T=0.50RB时间测量?(释放完了) 38MOVJ?C00008?VJ=100.00point?⑨:板件释放位置上?

相关主题
文本预览
相关文档 最新文档