发那科机械手程序.docx
- 格式:docx
- 大小:13.99 KB
- 文档页数:3
1. IF (DO[120]=OFF,JMP LBL[88]// 机械手有没有在等待点附近 //
2.
3. DO[101]=OFF 4. DO[102]=OFF
5. DO[103]=OFF
6. DO[104]=OFF 7. DO[105]=OFF
8. DO[107]=OFF 将所有用到的输出点全部关闭
9. DO[109]=OFF
10. DO[110]=OFF 11. DO[111]=OFF
12. DO[112]=OFF
13. DO[108]=OFF
14.
15.
16. IF(DI[111]=OFF AND
DI[112]=OFF JMP LBL[88]// 如果两台磨床门没有打开,跳转到标签88
17. WAIT DI[107]=ON // 等待 有料盘 信号打开 //
18. DO[104]=ON // 电机正转,送料 //
19. WAIT DI[108]=ON // 等待 料盘到位 信号打开 //
20. DO[103]=ON // 推料盘气缸推出,将料盘顶住 //
21. DO[104]=OFF // 电机正转 停止 //
22.
23.
24. R[1]=0// 计数器清零 //
25. R[2]=0 // 计数器清零 //
26. R[3]=0 // 计数器清零 //
27. (从此处开始,机械手去料盘拿料)
28. LBL[1] // 标签 1//
29. UFRAME_NUM=4// 使用 4 号 用户坐标 //
30. UTOOL_NUM=4// 使用 4 号 工具坐标 // 31. J P[1]100% FINE
32. J P[2]100%CNT100
33.
34. PR[5,1]=R[1]*60 35. PR[5,2]=R[2]*60 36. PR[5,3]=0 37. PR[5,4]=0 38. PR[5,5]=0
39. PR[5,6]=0
40.
41. PR[4,1]=R[1]*60 42. PR[4,2]=R[2]*60
43. PR[4,3]=0
44. PR[4,4]=0 45. PR[4,5]=0 46. PR[4,6]=0
47.
48. CALL HAND1_OPEN
49.
50. L PR[2] 1000mm/sec FINE offset,PR[4]
51. L PR[2] 1000mm/sec FINE offset,PR[5]
52.
53. CALL HAND1_CLOSE 54.
56.
57. L PR[2] 1000mm/sec FINE offset,PR[4]
58.
59. J P[2] 100% CNT100 OFFSET,PR[5]
60. J P[1] 100% FINE(到此处,机械手去料盘拿料 结束)
61.
62. IF DI[101]=OFF AND DI[102]=OFF,JMP LBL[66] // DI[101] 和 DI[102] 同时关闭,说
明夹爪 1 上没有料,跳转到标签 66
63.
64. WAIT(DI[109]=ON OR DI[110]=ON) // 等待一个允许上下料信号 //
65. IF (DI[109]=ON AND DI[102]=ON AND DI[101]=OFF,CALL PART1 // 如果一号磨床上下
料信号为 ON 并且一号夹爪上有料,呼叫 程序 part1//
66.
67. IF (DI[110]=ON AND DI[102]=ON AND DI[101]=OFF,CALL PART2 // 如果二号磨床上下
料信号为 ON 并且一号夹爪上有料,呼叫 程序 part2//
68.
69. (从此处开始,机械手把从磨床取下的料放回料盘) 70. UFRAME_NUM=4 71. UTOOL_NUM=4
72.
73.
74. J P[1] 100% FINE
75. J P[4] 100% FINE 76. L PR[3] 1000mm/sec FINE OFFSET,PR[4]
77. L PR[3] 100mm/sec FINE OFFSET,PR[5] 78.
79. CALL HAND2_OPEN
80.
81. WAIT (sec)
82.
83. L PR[3] 1000mm/sec FINE OFFSET,PR[4]
84. J P[4] 100% FINE
85. J P[1] 100% FINE (到此处,机械手放料结束)
86.
87.
88. R[2]=R[2]+1 (Y 方向计数器加 1) 89. R[3]=R[3]+1
90. IF (R[3]=R[5]),JMP LBL[99] 91. IF(R[3] MOD 6=0),JMP LBL[2]
92. JMP LBL[1] 93. LBL[2]
94. R[1]=R[1]+1 ( x 方向计数器加 1)
95. R[2]=0 ( Y 方向计数器清零)
96.
97. JMP LBL[55] 98. LBL[77]
99. UALM[1](用户报警 1)
100.LBL[55]
101.
102.JMP LBL[1]
103.
104.LBL[99]
105. DO103]=OFF // 推料盘气缸缩回 //
106.WAIT sec
107. DO[105]=ON // 电机反转,料盘回起始位 //
108. WAIT DI[107]=ON // 料盘回到起始位 //
109. DO[105]=OFF // 反转关闭 //
110.END
111.
112. LBL[66]
113. DO[82]=PULSE, SEC // 将 DO[82] 打开 3 秒//
114. UALM[3](用户报警 3)
115.
116.JMP LBL[1]
117.
118.END
119.
120. LBL[88]
121.DO[82]=PULSE, SEC
END