Professional Documents
Culture Documents
Luan Van Thac Sy HV Dai
Luan Van Thac Sy HV Dai
HÀ NỘI - 2021
`
LỜI CAM ĐOAN
Tôi xin đƣợc cam đoan đề tài luận văn thạc sĩ:” Nghiên cứu xây dựng chƣơng trình
điều khiển và truyền thông cho robot ABB 1200 nhằm nâng cao chất lƣợng cho quy trình
sản suất màn hình điện thoại” là một công trình của cá nhân tôi trong thời gian vừa qua và
sự giúp đỡ không nhỏ từ phía Công ty TNHH Samsung Display Việt Nam, dƣới sự hƣớng
dẫn nhiệt tình của PGS.TS Phạm Mạnh Thắng. Công trình này đƣợc tài trợ một phần từ
đề tài Khoa học công nghệ cấp Đại Học Quốc Gia Hà Nội, mã số đề tài: QG.20.80
`
1
MỤC LỤC
`
3
`
4
`
6
Bảng 3. 1 Bảng tín hiệu Robot cần cho chương trình lấy hàng ........................................ 45
Bảng 3. 2 Bảng tín hiệu Robot cần cho chương trình thả hàng ........................................ 47
Bảng 3. 3 Bảng các tín hiệu hệ thống Robot ..................................................................... 47
Bảng 3. 4 Bảng thông số kiểm tra tay gắp ........................................................................ 49
Bảng 3. 5 Bảng lỗi thiết bị ................................................................................................. 56
`
7
`
8
MỞ ĐẦU
Lý do chọn đề tài
Trong những năm gần đây điện thoại thông minh đóng vai trò quan trọng trong
cuộc sống của con ngƣời. Với những tính năng và các ứng dụng điện thoại thông minh
đem lại, nó đang đƣợc sử dụng vô cùng rộng rãi. Cùng với đó, là các hãng sản xuất điện
thoại đang ngày càng phát triển các dòng điện thoại thông minh hơn, quy mô sản xuất và
quy trình sản xuất ngày càng hiện đại hơn.
Ở Việt Nam, do các chính sách tốt nên đã thu hút rất nhiều nhà sản xuất điện thoại,
một trong số đó có Samsung Display. Trong quy trình sản xuất của mình, Samsung
Display Việt Nam luôn hƣớng tới sự tối ƣu, tự động hóa. Qua đó có thể hạn chế đƣợc lỗi
sản phẩm, để đến tay khách hàng là những sản phẩm tuyệt vời nhất.
Việc sử dụng robot để thay thế con ngƣời trong quy trình sản xuất màn hình điện
thoại là một điều tất yếu, nó hƣớng đến sự tối ƣu trong sản xuất, nâng cao mức độ tự động
hóa cho nhà máy. Nhƣng hiện nay trong nhà máy, còn nhiều công đoạn còn thủ công,
chƣa sử dụng robot, chất lƣợng chƣa đƣợc nâng cao.
Chính vì vậy tôi quyết định lựa chọn đề tài: ” Nghiên cứu xây dựng chƣơng trình
điều khiển và truyền thông cho robot ABB 1200 nhằm nâng cao chất lƣợng cho quy trình
sản suất màn hình điện thoại” .
Mục đích nghiên cứu
Ghép nối robot với hệ thống gắp nhả sản phẩm có thể ứng dụng và phát triển trong
nhà máy Samsung Display Việt Nam. Xây dựng chƣơng trình điều khiển và truyền thông
cho robot. Nghiên cứu cách kiểm tra tình trạng các tay gắp hút trên tay robot để ngăn
chặn lỗi phát sinh.
Đối tƣợng nghiên cứu
Phần cứng hệ thống gắp nhả sản phẩm
Robot ABB IRB1200
Phƣơng pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp với thực tế.
Nội dung của luận văn
Luận văn bao gồm 4 chƣơng:
Chƣơng 1: Tổng quan
Chƣơng 2: Cấu trúc phần cứng của hệ thống
Chƣơng 3: Phần mềm
`
9
`
10
`
11
`
12
Khoảng cách
nhún
Pad hút
Đâm Panel
FSR FSR
402 402
FSR FSR
402 402
Jig Test
Hình 1. 7 Cách chuyển từ tín hiêu sensor đến tín hiệu Robot
`
14
Start
N
Thả đủ 8 vị
trí trên Tray
Y Y
Robot tiến Xử lý
hành kiểm tra N Alarm thiết bị
thiết bị
tay gắp
N
Y
Unit Unloader
Khi 20 Y
N cho Tray thành End
Tray có
đủ panel phẩm ra ngoài
`
15
`
16
Robot đảm bảo các yêu cầu của tiêu chuẩn sau:
Bảng 2. 1 Các tiêu chuẩn robot đáp ứng
Tiêu chuẩn Mô tả
EN ISO 12100 An toàn của máy móc - Nguyên tắc chung để thiết kế - Đánh giá
rủi ro và giảm thiểu rủi ro
EN ISO 13849-1 An toàn máy móc, các bộ phận liên quan đến an toàn của hệ thống
điều khiển -Phần 1: Nguyên tắc chung khi thiết kế
EN ISO 13850 An toàn máy móc - Dừng khẩn cấp - Nguyên tắc thiết kế
EN ISO 10218-1 Robot cho môi trƣờng công nghiệp - Yêu cầu an toàn -Phần 1
Robot
EN ISO 9787 Robot và thiết bị robot - Hệ thống tọa độ và chuyển động danh
pháp
EN ISO 9283 Thao tác với rô bốt công nghiệp, tiêu chí hiệu suất và liên quan
phƣơng pháp thử
EN ISO 14644-1 Đảm bảo yêu cầu của phòng sạch
EN ISO 13732-1 Công thái học của môi trƣờng nhiệt - Phần 1
EN IEC 61000-6-4 EMC, Phát xạ chung
EN IEC 61000-6-2 EMC, Miễn dịch chung
EN IEC 60974-1 Thiết bị hàn hồ quang - Phần 1: Nguồn điện hàn
EN IEC 60974-10 Thiết bị hàn hồ quang - Phần 10: Yêu cầu EMC
EN IEC 60204-1 An toàn máy móc - Thiết bị điện của máy móc - Phần 1 Yêu cầu
chung
IEC 61340-5-1:2010 Bảo vệ các thiết bị điện tử khỏi hiện tƣợng tĩnh điện
- Yêu câu chung
IEC 60529 Mức độ bảo vệ đƣợc cung cấp bởi vỏ (mã IP)
EN 614-1 An toàn của máy móc - Nguyên tắc thiết kế tiện dụng - Phần 1:
Thuật ngữ và nguyên tắc chung
EN 574 An toàn của máy móc - Thiết bị điều khiển bằng hai tay - Chức
năng
các khía cạnh - Nguyên tắc thiết kế
ANSI/RIA R15.06 Yêu cầu an toàn đối với robot công nghiệp và hệ thống robot
ANSI/UL 1740 Tiêu chuẩn an toàn cho robot và thiết bị robot
ANSI/ESD Bảo vệ các bộ phận điện và điện tử, các cụm lắp ráp và
S20.20:2007 Thiết bị (Không bao gồm Thiết bị nổ đƣợc kích hoạt bằng điện)
Các đặc điểm chính
Bảng 2. 2 Bảng đặc điểm robot IRB 1200 – 5/0.9
Đặc điểm IRB 1200 – 5/.09
Khối lƣợng tải 5 kg
Khoảng cách chạm tới 901 mm
Sự chính xác 0.02 mm
`
17
Thông số kỹ thuật
Bảng 2. 4 Thông số kỹ thuật IRC5 Compact
Hạng mục IRC5 Compact
Phần cứng Hệ thống đa xử lý
PCI Bus
Bộ nhớ Flash dung lƣợng lớn
Hình 2. 11 Chức năng nút bấm, công tắc trên IRC5 Compact
`
21
Hình 2. 12 Các phần kết nối trên mặt trước IRC5 Compact
Kết nối với phần máy tính trên bộ điều khiển
Bảng 2. 7 Bảng giải thích ký hiệu trên hình 2.13
Tên Mô tả Lƣu ý
X1 Cung cấp nguồn điện
X2 Kết nối với máy tính Dùng cho kỹ sƣ lập trình trực
tiếp từ máy tính tới robot
X3 LAN1 kết nối với Flex Pedant
X4 LAN2 kết nối với Ethernet khác Có thể kết nối với bộ điều khiển
X5 LAN3 kết nối với Ethernet khác của thiết bị chấp hành: máy hàn,
camera
X6 WAN kết nối với WAN nhà máy Chỉ sử dụng các địa chỉ IP trong
dải sau:
• 192.168.125.0 - 255
`
22
• 192.168.126.0 - 255
• 192.168.127.0 - 255
• 192.168.128.0 - 255
• 192.168.129.0 - 255
• 192.168.130.0 - 255
X7 Panel Unit
X9 Kết nối với máy tính động cơ
X10,X11 USB Port
Hình 2. 13 Các phần kết nối trên máy tính bộ điều khiển
2.2.2 Hệ thống PLC
Bộ nguồn Q61P
CPU Q06UDV CPU
Module QJ61BT11
Module QD77MS4
`
23
Bộ nguồn Q61P
Thông số kỹ thuật
Bảng 2. 8 Bảng thông số kỹ thuật bộ nguồn Q61P
Mục Q61P
Vị trí gắn Gắn vào khe gắn nguồn cấp
Nguồn cấp đầu vào 100 to 240VAC (+10% / -15%) (85 to
264VAC)
Tần số đầu vào 50/60Hz ±5%
Điện áp đầu ra 5 VDC, 6A
Công suất biểu kiến tối đa đầu vào 120VA
Dòng điện khởi động 20A trong 8ms
Hiệu suất > 70%
Thời gian mất điện tạm thời cho phép Nhỏ hơn 20 ms
Cầu chì Tích hợp
Kích thƣớc Cao 98mm, Rộng 55.2mm, Sâu 90mm
Khối lƣợng 0.4 kg
CPU Q06UDV
`
24
Ethernet
Hình 2. 16 Kết nối PLC với máy tính
Tìm và hiển thị các PLC có trong hệ thống.
Thông số kỹ thuật.
Bảng 2. 9 Bảng thống số kỹ thuật Module QJ61BT11
Hạng mục Thống số
Tốc độ truyền thông Lựa chon 156/625kbps 2.5/5/10 Mbps
Dây kết nối Bus( RS-485)
Số lƣợng tối đa Đầu vào/ra (RX, RY): 8192 điểm
Thanh ghi (RWw): 2048 điểm
Thanh ghi (RWr): 2048 điểm
Số trạm liên kết tối đa 64
Khoảng cách/tốc độ 1200m/ 156kbps, 900m/625kbps, 400m/2.5 Mbps,
160 m/5 Mbps, 100 m/10 Mbps
Module QD77MS4
Ngoài điều khiển vị trí còn đƣợc hỗ trợ điều khiển tốc độ/momen và điều khiển
đồng bộ. Có thể dễ dàng cài đặt vị trí, giám sát và gỡ lỗi.
độ, điều khiển chuyển đổi tốc độ/vị trí, điều khiển
chuyển đổi vị trí /tốc độ, điều khiển đồng bộ, điều
khiển CAM, điều khiển momen, điều khiển chặt-
vừa.
Thời gian bắt đầu 0.88 ms
2.2.3 Hệ thống cảm biến và cơ cấu chấp hành
Sensor( FSR402)
`
27
Encoder Trục
`
29
`
30
Bảng 2. 14 Bảng các loại động cơ mà bộ khếch đại MR-J4W3-444B điều khiển
được
Rotary servo Linear servo motor Direct drive motor
motor
HG- HG-MR
KR
LM-H3P2A-07P-BSS0 TM-RFM002C20
LM-H3P3A-12P-CSS0 TM-RFM004C20
053 053 LM-K2P1A-01M-2SS1 TM-RG2M002C30
MR-J4W3- 13 13 LM-U2PAB-05M-0SS0 TM-RU2M002C30
444B 23 23 LM-U2PAD-10M-0SS0 TM-RG2M004E30
43 43 LM-U2PAF-15M-0SS0 TM-RU2M004E30
LM-U2PBB-07M-1SS0 TM-RG2M009G30
TM-RU2M009G30
Một số tính năng của bộ khuếch đại MR-J4W3-444B.
Bảng 2. 15 Bảng tính năng của bộ khuếch đại MR-J4W3-444B
Tính năng Giải thích
Chế độ điều khiển vị trí
Chế độ điều khiển tốc độ
Chế độ điều khiển
momen xoắn
Encoder độ phân giải cao Đƣợc sử dụng với động cơ quay dòng MELSERVO-J4
với độ phân giải 4194304 xung/vòng
Phát hiện vị trí tuyệt đối Chỉ cần thiết lập vị trí Home một lần, không cần thiết
của hệ thống lập lại khi khởi động lại nguồn
Kiểm soát chống rung Chống rung ở phía cuối cánh tay hoặc rung động còn lại
nâng cao của máy móc
Bộ lọc triệt tiêu cộng Dùng để ngăn chặn sự cộng hƣởng của hệ thống cơ khí
hƣởng máy
Bộ lọc triệt tiêu cộng Khi tải đƣợc gắn vào trục động cơ servo, sự cộng hƣởng
hƣởng trục bởi lực xoắn trục trong quá trình truyền động có thể tạo
ra rung động cơ học ở tần số cao. Bộ lọc triệt tiêu cộng
hƣởng trục ngăn chặn rung động
Bộ lọc thích ứng II Khi phát hiện cộng hƣởng cơ học sẽ tự động đặt các đặc
tính của bộ lọc để triệt tiêu rung động cơ học
Bộ lọc thông thấp Ngăn chặn cộng hƣởng tần số cao xảy ra khi đáp ứng
của hệ thống servo tăng lên
Bộ lọc Robust Chức năng này cung cấp phản ứng nhiễu tốt hơn trong
trƣờng hợp mức phản hồi thấp mà tỷ lệ quán tính tải trên
động cơ cao
Kiểm soát chống rung Loại bỏ rung động ± 1 xung tạo ra khi dừng động cơ
nhẹ servo.
Điều chỉnh tự động Tự động điều chỉnh độ khuếch đại đến giá trị tối ƣu nếu
`
31
`
32
Các phần trên bộ khuếch đại Bảng 2. 17 Tên các phần trên bộ khuếch đại
Vị Tên/Ứng dụng
trí
1 Hiển thị trạng thái và Alarm
2 Công tắc xoay lựa chọn trục
(SW1) Đƣợc sử dụng để đặt
số trục của bộ khuếch đại
servo.
3 1: Chế độ vận hành thử
2,3,4: Vô hiệu hóa điều khiển
trục
5,6: Công tắc cài đặt số trục
phụ
4 Cổng kết nối USB( CN5)
5 Đèn sạc
6 Đầu kết nối nguồn điện đầu
vào(CNP1)
7 Đầu nối nguồnđiện mạch điều
khiển (CNP2)
8 Tấm bảo vệ
9 Kết nối nguồn điện động cơ A
(CNP3A)
10 Kết nối nguồn điện động cơ B
(CNP3B)
11 Kết nối nguồn điện động cơ C
(CNP3C)
12 Nối đất bảo vệ(PE)
13 Kết nối I/O ( CN3)
14 Đầu nối tín hiệu STO (CN8)
15 Kết nối cáp SSCNET III
(CN1A)
16 Kết nối cáp SSCNET III
(CN1B)
17 Kết nối encoder động cơ A
(CN2A)
18 Kết nối encoder động cơ B
(CN2B)
19 Kết nối encoder động cơ C
(CN2C)
Hình 2. 26 Các phần trên bộ khuếch đại 20 Kết nối pin ( CN4)
`
33
Mục FR-E720-0.1K
Đầu ra
Dòng điện định mức 0.8 A
`
34
`
35
Chân Tên
1 SLD
2 DA
3 DG
4 DB
5 NC
6 FG
`
38
Bảng sau cung cấp dữ liệu cần thiết về các loại lệnh Fieldbus cho Giao tiếp
DeviceNet Lean.
Bảng 2. 24 Bảng thông số DevideNet Lean
Loại lệnh Fieldbus Đƣờng dẫn( Thông số Giá trị cho phép
DevideNet Lean)
StationNo 6, 20 68 24 01 30 01, C6,1 1-64
BaudRate 6, 20 68 24 01 30 01, C6,1 0 = 156 kbps
1 = 625 kbps
2 = 2.5 Mbps
3 = 5 Mbps
4 = 10 Mbps
OccStat 6, 20 68 24 01 30 01, C6,1 1=1 trạm chiếm đóng
2=2 trạm chiếm đóng
3=3 trạm chiếm đóng
4=4 trạm chiếm đóng
BasicIO 6, 20 68 24 01 30 01, C6,1 0 = Bit I/O only
1 = Bit I/O and word I/O
Bảng size vào/ra data
Bảng 2. 25 Bảng size vào/ra data
Giá trị của Số bit khi Số byte khi Số bit khi Số byte khi
OccStat BasicIO = 0 BasicIO = 0 BasicIO = 1 BasicIO = 1
1 16 2 80 10
2 48 6 176 22
3 80 10 272 34
4 112 14 368 46
`
39
Start
End
`
42
Bƣớc 1: Tạo chƣơng trình Worldzone. Mục đích đê luôn xác định đƣợc Robot ở
vùng nào khi robot đƣợc cấp nguồn. Cần tạo các điểm của WorldZone( Xác định trực tiếp
trên thực tế). Ta chia khu vực làm việc của robot thành 2 phần: WorldZone1,
WorldZone2. Tại WorldZone1 taọ 2 điểm( Plow11, PHigh11) nhƣ hình vẽ:
Start
(rhome)
End
`
44
Start
N
CI_Get=1
CO_Get_Comp=0
Y
Đƣa robot đến điểm
pvision. Vision xác
định vị trí hàng
End
Trên phần mềm RobotStudio tạo biến đầu vào CI_Get, các biến đầu ra CO_02,
CO_Get_Comp các biến nhận giá trị vị trí hàng X1, Y1, ANG.
Bảng 3. 1 Bảng tín hiệu Robot cần cho chương trình lấy hàng
Name Type Signal Devide Mapping
CI_Get DI 2
CO_Get_Comp DO 4
CO_02 DO 2
CI_VAC_OK DI 4
X1 AI 112-143
Y1 AI 144-175
ANG AI 176-207
Trên GXWork2, tạo các biến D2000 : Giá trị X1 ( tƣơng ứng với X1 của Robot),
D2002: Giá trị Y1 (tƣơng ứng với Y1 của Robot), D2004: Giá trị ANG ( tƣơng ứng với
ANG của Robot), X104: Get_Comp ( tƣơng ứng với CI_Get_Comp của Robot), X102:
Vacc Robot On ( tƣơng ứng với CO_02 của Robot), Y102: CI_Get ( tƣơng ứng với
CI_Get của Robot), Y104: Robot Vacc On OK ( tƣơng ứng với CI_VAC_OK của Robot).
Bƣớc 2: Xác định các điểm robotaget cần thiết: pvision là vị trí để camera chụp
hình ảnh, pget là vị trí gốc của hàng
Bƣớc 3: Lập trình trên RobotStudio
Chƣơng trình thả hàng
Sau khi robot đã gắp đƣợc hàng sẽ di chuyển để thả hàng vào 8 vị trí trên Tray có
sẵn. Cột 1 Cột 0
Y=300
5 1 Hàng 0
X=103
6 2 Hàng 1
7 3 Hàng 2
8 4 Hàng 3
Hình 3. 14 Mô tả Tray
Vị trí do PLC gửi, nhiệm vụ của robot cần di chuyển chính xác đến vị trí đó để thả
hàng.
`
46
Start
N
CI_put=1
CO_putcomp=0
Vị trí =8
N
Y
N
Kiểm tra PLC báo Alarm
tay gắp OK? Robot Stop
End
`
47
Bƣớc 1: Tạo các đầu vào, đầu ra cần thiết trên RobotStudio, GXWork2
Bảng 3. 2 Bảng tín hiệu Robot cần cho chương trình thả hàng
Name Type Signal Devide Mapping
CI_put DI 3
CO_putcomp DO 5
CI_TAY GẮP_NG DI 6
Vitri AI 208-239
Trên GXWork2, tạo các biến : Y103 CI_put ( tƣơng đƣơng CI_put của Robot),
Y106: Tay gắp NG ( tƣơng đƣơng với CI_TAY GẮP_NG của Robot), D2006: Thanh ghi
vị trí thả hàng ( tƣơng đƣơng Vitri của Robot), X105: putcomp ( tƣơng đƣơng
CO_putcomp của Robot).
Bƣớc 2: Xác định các điểm robotaget cần thiết papp1, papp2 là các điểm tiếp cận
để robot vào thả hàng, pwait là điểm đợi để thả hàng, punload1up là điểm thả hàng gốc,
pcheck : vị trí để kiểm tra tay gắp.
Bƣớc 3: Lập trình trên RobotStudio.
Quản lý trạng thái robot
Để PLC biết đƣợc trạng thái và các lỗi của robot, ta tiến hành lập tạo các biến vào
ra nhƣ sau: Controller Configuration I/O Systems System Output
Bảng 3. 3 Bảng các tín hiệu hệ thống Robot
System output I/O Robot Devide I/O PLC
Mapping
Backup Err CO_Backup_Err 20 X120
`
48
Start
Outputlevel =1
End
lắp đặt các tay gắp này vào robot, các tay gắp đƣợc lắp thẳng và 4 chân tay gắp đồng
phẳng với nhau. Bƣớc 3 sẽ điều chỉnh khoảng cách xuống của tay gắp trên Jig kiểm tra
là giống nhƣ thực tế robot xuống lấy hàng. Bƣớc 4 cho robot xuống kiểm tra và lấy thông
số trả về.
Bảng 3. 4 Bảng thông số kiểm tra tay gắp
`
50
Phần 1: Auto
Tại cửa sổ này cài đặt bit address( liên kết với PLC), màu sắc bình thƣờng và khi
đƣợc tác động, nhãn tên . Các nút bấm điều khiển: Start, Stop, Reset. Các nút bẩm
chuyển màn hình: Auto, Manual, Teaching, Monitoring.
Phần 2: Manual
Trong màn hình Manual, có thể điều khiển bằng tay mọi thiết bị trong hệ thống. Hệ
thống đƣợc chia ra làm 5 phần trong manual: In Conveyor, Transfer, Out Conveyor,
Robot, Vision.
`
52
`
53
Phần 3: Teaching
Trong phần Teaching: Có thể điều khiển động cơ đi lên, đi xuống, đƣa động cơ về
gốc, hay quan sát mã lỗi, cài đặt tốc độ di chuyển, đƣa động cơ đến vị trí đã cài đặt.
Phần 4: Monitoring
Hiển thị trạng thái của toàn bộ đầu vào đầu ra của hệ thống.
`
55
Phần 5: Alarm
Bảng 3. 5 Bảng lỗi thiết bị
Tên Alarm Giải thích
SERIOUS ALARM: LIGHT CURTAIN Do chạm vào cảm biến cửa
SERIOUS ALARM: TAY GẮP IN Lỗi mất khí hút tay gắp in
VACC
SERIOUS ALARM:TAY GẮP OUT Lỗi mất khí hút tay gắp out
VACC
Khi lỗi xuất hiện trên màn hình giao diện sẽ xuất hiện thông báo và thiết bị sẽ dừng
hoạt động.
Hình 3. 32 Hình ảnh Alarm thông báo khi phát sinh lỗi
`
57
`
59
`
62
`
66
`
68
`
69
PHỤ LỤC
1. Code chƣơng trình Robot
MODULE worldzone(SYSMODULE)
CONST pos pwz_zone1_Low1:= pLow11.trans;
CONST pos pwz_zone1_Hight1:= pHight11.trans;
PROC rZone()
WZBoxDef\Inside,szone1,pwz_zone1_Low1,pwz_zone1_Hight1;
WZDOSet\Stat,wzone1\Inside,szone1,CO_Zone1,1;
WZBoxDef\Inside,szone2,pwz_zone2_Low2,pwz_zone2_Hight2;
WZDOSet\Stat,wzone2\Inside,szone2,CO_Zone2,1;
ENDPROC
ENDMODULE
MODULE M_data
VAR num row;
VAR num col;
PERS num vitri:=8;
CONST num X:=-300;
CONST num Y:=-103;
VAR num X1:=0;
VAR num Y1:=0;
VAR num ANG:=0;
ENDMODULE
MODULE MainModule
CONST robtarget pwait:=[[909.50,579.28,112.52],[0.00144926,0.999511,-
0.0312291,1.86247E-05],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget punload1up:=[[1096.15,741.38,120.97],[0.00155396,0.999511,-
0.0312144,-0.000327864],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget punload1down1:=[[-695.49,1175.43,56.82],[0.000433172,-
0.015125,-0.999252,0.0355832],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
`
70
PROC main()
TPErase;
rhome;
WHILE CI_get=1 AND CO_Getcomp=0 DO
`
71
rget;
ENDWHILE
WHILE CI_put=1 AND CO_putcomp=0 DO
rput;
ENDWHILE
ENDPROC
PROC rhome()
IF CO_Zone1=0 AND CO_Zone2=0 THEN
TPWrite "Plz Jogging Robot to working zone";
ENDIF
IF CO_Zone1=1 THEN
Movej phome,v100,z50,tool1\WObj:=wobj1;
ENDIF
IF CO_Zone2=1 THEN
pCurrent:=Crobt(\Tool:=tool1\WObj:=wobj1);
IF pCurrent.trans.z<620 THEN
pCurrent.trans.z:=620;
MoveL pCurrent,v100,z50,tool0;
ENDIF
MoveL pwait,v100,z50,tool1\WObj:=wobj1;
MoveL papp2,v100,z50,tool1\WObj:=wobj1;
MoveL papp1,v100,z50,tool1\WObj:=wobj1;
MoveL phome,v100,z50,tool1\WObj:=wobj1;
ENDIF
ENDPROC
PROC rget()
MoveL pvisionwait,v200,fine,tool1\WObj:=wobj1;
WaitTime 1;
MoveL Offs(pvisionwait,0,0,-250),v300,z30,tool1\WObj:=wobj1;
MoveL Offs(pget,(X1)/100,(Y1)/100,50),v300,fine,tool1\WObj:=wobj1;
pCurrent:=Crobt(\Tool:=tool1\WObj:=wobj1);
MoveL RelTool(pCurrent,0,0,0\Rz:=(ANG)/100),v50\T:=3,fine,tool1\WObj:=wobj1;
pCurrent:=Crobt(\Tool:=tool1\WObj:=wobj1);
MoveL Offs(pCurrent,0,0,-54),v30,fine,tool1\WObj:=wobj1;
SetDO CO_02,1;
WaitDI CI_VAC_OK,1;
MoveL Offs(pvisionwait,0,0,-250),v100,z50,tool1\WObj:=wobj1;
`
72
PulseDO\PLength:=1,CO_Getcomp;
WaitTime 0.5;
ENDIF
ENDPROC
PROC rput()
vitri:=Vi_tri;
col:=(vitri-1) MOD 4; !chia lay so du
row:=(vitri-1) DIV 4 !chia lay so nguyen
MoveL papp1,v300,z50,tool1\WObj:=wobj1;
MoveL papp2,v300,z50,tool1\WObj:=wobj1;
MoveL pwait,v300,z50,tool1\WObj:=wobj1;
MoveL Offs(punload1up,row*X,col*Y,0),v300,fine,tool1\WObj:=wobj1;
pCurrent:=Crobt(\Tool:=tool1\WObj:=wobj1);
IF vitri=4 OR vitri=8 THEN
MoveL Offs(pCurrent,0,0,-13),v10,fine,tool1\WObj:=wobj1;
ELSE
MoveL Offs(pCurrent,0,0,-55),v10,fine,tool1\WObj:=wobj1;
ENDIF
SetDO CO_02,0;
WaitDI CI_VAC_OK,0;
WaitTime 0.5;
MoveL pwait,v300,z50,tool1\WObj:=wobj1;
MoveL papp2,v300,z50,tool1\WObj:=wobj1;
MoveL papp1,v300,z50,tool1\WObj:=wobj1;
MoveL phome,v300,z50,tool1\WObj:=wobj1;
PulseDO\PLength:=1,CO_putcomp;
WaitTime 1;
IF vitri=8 AND CO_putcomp= 1 THEN
MoveL pcheck,v50,z50,tool1\WObj:=wobj1;
MoveL Offs(pcheck,0,0,-75),v50,fine,tool1\WObj:=wobj1;
WaitTime 1;
MoveL pcheck,v50,z50,tool1\WObj:=wobj1;
MoveL phome,v300,z50,tool1\WObj:=wobj1;
IF CI_TAY GẮP_NG=1 THEN
TPWrite "TAY GẮP NG";
Stop;
ENDIF
ENDIF
ENDPROC
ENDMODULE
`
73
digitalWrite(outputlevel1,0 );
Serial.println(" -1 High Pressure");
Serial.println( pressureReading0);
//delay(1000);
}
else
{
digitalWrite(outputlevel1,1);
}
pressureReading1 = analogRead(pressureAnalogPin1);
if (pressureReading1 > Alarm)
{
digitalWrite(outputlevel2,0 );
Serial.println(" -2 High Pressure");
Serial.println( pressureReading1);
//delay(1000);
}
else
{
digitalWrite(outputlevel2,1);
}
pressureReading2 = analogRead(pressureAnalogPin2);
if (pressureReading2 > Alarm)
{
`
75
digitalWrite(outputlevel3,0 );
Serial.println(" -3 High Pressure");
Serial.println( pressureReading2);
//delay(1000);
}
else
{
digitalWrite(outputlevel3,1);
}
pressureReading3 = analogRead(pressureAnalogPin3);
if (pressureReading3 > Alarm)
{
digitalWrite(outputlevel4,0 );
Serial.println(" -4 High Pressure");
Serial.println( pressureReading3);
//delay(1000);
}
else
{
digitalWrite(outputlevel4,1);
}
}