TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU ĐIỀU KHIỂN VÀ VẬN HÀNH MÔ HÌNH SẢN XUẤT LINH HOẠT SỬ DỤNG PLC NGUYỄN DUY PHƯƠNG Đề tài “Nghiên cứu điều khiển và vận hành mô hình sản xuất linh hoạt sử dụng PLC” được thực hiện trên mô hình dây chuyền CIM900 sử dụng PLC MITSUBISHI được đặt tại phòng 203 tòa nhà Hitech Đại học Bách Khoa Hà Nội. Đồ án này của em gồm 5 chương với nội dung là: Tìm hiểu hệ thống sản xuất linh hoạt CIM900, hệ thống lắp ráp sản phẩm sử dụng Servo, lập trình, điều khiển hệ thống, xử lý ảnh và xây dựng giao diện giám sát hệ thống, kết luận. Trong quá trình thực hiện em có sử dụng các phần mềm như GX Work 2 để lập trình PLC, Visual Studio để lập trình xử lý ảnh và thiết kế giao diện cùng nhiều phần mềm để kết nối khác. Đề tài có tính thực tế và ứng dụng cao do hiện nay hệ thống sản xuất linh hoạt đang trở nên rất phổ biến trong hệ thống tự động hóa, đem lại lợi ích to lớn và giảm thiểu tổn hao trong quá trình sản xuất, đẩy mạnh quá trình công nghiệp hóa, hiện đại hóa đất nước.
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU ĐIỀU KHIỂN VÀ VẬN HÀNH MƠ HÌNH SẢN XUẤT LINH HOẠT SỬ DỤNG PLC NGUYỄN DUY PHƯƠNG phuong.nd174122@sis.hust.edu.vn Ngành Kỹ thuật điều khiển tự động hóa Giảng viên hướng dẫn: PGS TS Nguyễn Quang Địch Chữ ký GVHD Khoa: Trường: Tự động hóa Điện – Điện tử HÀ NỘI, 8/2022 BỘ GIÁO DỤC & ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐH BÁCH KHOA HÀ NỘI Độc lập – Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Duy Phương Khóa: 62 Tên đề tài: Trường: Điện – Điện tử Ngành: KT ĐK &TĐH Nghiên cứu điều khiển vận hành mô hình sản xuất linh hoạt sử dụng PLC Nội dung đề tài: Tìm hiểu tổng quan hệ thống Hệ thống lắp ráp sản phẩm sử dụng Servo Lập trình điều khiển hệ thống Xử lý ảnh xây dựng giao diện giám sát hệ thống Kết luận Cán hướng dẫn: Phần Họ tên cán ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… …………………………………………………………… Thời gian giao đề tài: 13/04/2022 Thời gian hoàn thành: 23/7/2022 Ngày tháng … năm 2022 CÁN BỘ HƯỚNG DẪN Lời cảm ơn Lời đầu tiên, em xin chân thành cảm ơn thầy Nguyễn Quang Địch – Giảng viên mơn Tự Động Hóa Cơng Nghiệp, Trường Đại học Bách Khoa Hà Nội – người quan tâm, dạy, hướng dẫn em suốt trình làm đồ án Em xin cảm ơn hai bạn nhóm Đồ Án Tốt Nghiệp bạn Nguyễn Tiến Thảo bạn Lê Duy Huy đễ giúp đỡ em suốt trình vừa qua để hoàn thành tốt Đồ Án Cuối cùng, em xin gửi lời cảm ơn sâu sắc tới gia đình ln động viên, khích lệ em để em đạt kết tốt Với vốn hiểu biết, kinh nghiệm nhiều hạn chế với thời gian có hạn, chắn Đồ Án khơng thể tránh khỏi thiếu sót Em mong nhận lời nhận xét, góp ý thầy/cơ để em có kinh nghiệm quý báu, nhằm phục vụ tốt cho cơng việc sau Tóm tắt nội dung đồ án Đề tài “Nghiên cứu điều khiển vận hành mơ hình sản xuất linh hoạt sử dụng PLC” thực mơ hình dây chuyền CIM900 sử dụng PLC MITSUBISHI đặt phòng 203 tòa nhà Hitech Đại học Bách Khoa Hà Nội Đồ án em gồm chương với nội dung là: Tìm hiểu hệ thống sản xuất linh hoạt CIM900, hệ thống lắp ráp sản phẩm sử dụng Servo, lập trình, điều khiển hệ thống, xử lý ảnh xây dựng giao diện giám sát hệ thống, kết luận Trong trình thực em có sử dụng phần mềm GX Work để lập trình PLC, Visual Studio để lập trình xử lý ảnh thiết kế giao diện nhiều phần mềm để kết nối khác Đề tài có tính thực tế ứng dụng cao hệ thống sản xuất linh hoạt trở nên phổ biến hệ thống tự động hóa, đem lại lợi ích to lớn giảm thiểu tổn hao trình sản xuất, đẩy mạnh trình cơng nghiệp hóa, đại hóa đất nước Sinh viên thực Nguyễn Duy Phương MỤC LỤC CHƯƠNG TỔNG QUAN HỆ THỐNG 1.1 Hệ thống sản xuất linh hoạt FMS 1.2 Tổng quan hệ thống CIM900 1.3 Cấu tạo hệ thống CIM900 Cánh tay robot Hệ thống kho hàng Các pallet Các trạm gia công sản phẩm Cơ cấu chấp hành sử dụng khí nén Hệ thống lắp ráp sản phẩm 10 Hệ thống phân loại nhận dạng sản phẩm 11 Hệ thống điều khiển giám sát 12 1.4 Mạch động lực hệ thống 14 Hệ thống động 14 CHƯƠNG HỆ THỐNG LẮP RÁP SẢN PHẨM PHẨM SỬ DỤNG SERVO 17 2.1 Cấu tạo hệ thống lắp ráp sản phẩm 17 Hệ thống động cơ, điều khiển động cấu chấp hành khí nén…………………………………………………………………… 17 Cơ cấu gắp vật sử dụng động servo kết hợp khí nén 24 Bộ điều khiển hệ thống CIM900 sử dụng PLC Mitsubishi 29 2.2 Điều khiển hệ thống gắp vật 35 Điều khiển cấu gắp vật 35 Điều khiển cấu chuyển động động servo 36 CHƯƠNG LẬP TRÌNH ĐIỀU KHIỂN HỆ THỐNG 40 3.1 Phân cổng vào cho hệ thống 40 3.2 Trình tự hoạt động hệ thống 41 3.3 Nguyên lý hoạt động trạm 41 Trạm số 41 Trạm số 43 Trạm số 46 Trạm số 48 Hoạt động hệ thống tay gắp vật 50 CHƯƠNG XỬ LÝ ẢNH VÀ XÂY DỰNG GIAO DIỆN GIÁM SÁT HỆ THỐNG 51 4.1 Giới thiệu xử lý ảnh 51 Lựa chọn camera cho hệ thống xử lý ảnh 51 Cơ sở lý thuyết xử lý ảnh 52 Ứng dụng xử lý ảnh thực tế 52 4.2 Các bước thực xử lý ảnh 53 Thu nhận ảnh (Image Acquisition) 53 Tiền xử lý ảnh (Image Processing) 53 Biểu diễn ảnh (Image representation) 53 Mô tả ảnh (Image Discription) 53 Nhận dạng nội suy ảnh 53 4.3 Các điểm quan trọng ảnh việc xử lý ảnh 54 Điểm ảnh 54 Mức xám ảnh 54 Biên 54 4.4 Visual Studio hỗ trợ lập trình giao diện xử lý ảnh 55 4.5 Giới thiệu thư viện xử lý ảnh EmguCV 55 Định nghĩa 55 Ưu điểm thư viện xử lý ảnh EmguCV 55 Tích hợp EmguCV vào Visual Studio 56 Giao tiếp Visual Studio.NET với PLC Mitsubishi Q03UDE 57 4.6 Thiết kế hệ thống xử lý ảnh 59 Kết nối Camera với máy tính 59 Xây dựng phương pháp phân loại sản phẩm theo hình dáng 60 4.7 Thiết kế giao diện điều khiển 64 4.8 Thực nghiệm kết thu 66 Chế độ Manual 66 Chế độ Auto 66 KẾT LUẬN 73 TÀI LIỆU THAM KHẢO 74 PHỤ LỤC 75 DANH MỤC HÌNH VẼ Hình 1-1 Hệ thống sản xuất linh hoạt Hình 1-2 Hệ thống CIM900 trường đại học bách khoa Hà Nội Hình 1-3 Các chi tiết sản phẩm hình thoi Hình 1-4 Các chi tiết sản phẩm hình vng Hình 1-5 Cánh tay robot hãng ABB Hình 1-6 Hệ thống kho hàng tự động Hình 1-7 Tấm pallet chứa sản phẩm Hình 1-8 Các đồng giúp nhận diện pallet Hình 1-9 Bộ giải mã nhận diện pallet Hình 1-10 Các thiết bị trạm CIM900 Hình 1-11 Xi lanh SMC model RSQA32-20TB Hình 1-12 Van khí nén 5-2 Hình 1-13 Ngun lý hoạt động xilanh khí nén trạng thái ban đầu Hình 1-14 Nguyên lý hoạt động khí nén trạng thái sau Hình 1-15 Hệ thống lắp ráp sản phẩm 10 Hình 1-16 Các khối lắp ráp sản phẩm 10 Hình 1-17 Thành phẩm hình vng 11 Hình 1-18 Thành phẩm hình thoi 11 Hình 1-19 Hệ thống nhận dạng & phân loại sản phẩm 12 Hình 1-20 Các nút bấm điều khiển hệ thống 12 Hình 1-21 Hệ thống đèn báo 13 Hình 1-22 Sơ đồ nối điện hệ thống CIM900 14 Hình 1-23 Động hệ thống CIM900 15 Hình 1-24 Bộ điều tốc động AC pha 15 Hình 2-1 Servo motor HF-KP13 HG-KR23 18 Hình 2-2 Servo driver MR-J3-10A MR-J4-20A 19 Hình 2-3 Thống số cài đặt chế độ điều khiển driver MR-J4 20 Hình 2-4 Thơng số cài đặt chế độ điều khiển MR-J3 20 Hình 2-5 Sơ đồ nối điện Module QD75P2 với MR-J4, MR-J3 21 Hình 2-6 Sơ đồ nối dây MR-J4 với thiết bị ngoại vi 22 Hình 2-7 Sơ đồ nối dây MR-J3 với thiết bị ngoại vi 23 Hình 2-8 Cơ cấu chuyển động khí nén 23 Hình 2-9 Cơ cấu gắp vật 24 Hình 2-10 Hai van khí nén 5/2 cực điều khiển 24 Hình 2-11 Hai trạng thái xylanh cấu tay kẹp 25 Hình 2-12 Cấu tạo tay kẹp vật 25 Hình 2-13 Lưu đồ hoạt động trình kẹp vật 26 Hình 2-14 Hệ thống điều khiển khí nén 27 Hình 2-15 Sơ đồ nối dây đầu hệ thống plc 28 Hình 2-16 Sơ đồ nối dây đầu vào module QX42 29 Hình 2-17 Sơ đồ nối dây đầu vào module QX41 30 Hình 2-18 PLC QCPU Q03UDE 31 Hình 2-19 Module Input QX42 31 Hình 2-20 Module Input QX41 32 Hình 2-21 Module Output QY42P 32 Hình 2-22 Module QD75P2 33 Hình 2-23 Sơ đồ ghép nối Module QD75P2 với MR-J3/J4 35 Hình 2-24 Địa kết nối giao tiếp PLC QD75 37 Hình 2-25 Một vài nhớ đệm QD75 37 Hình 2-26 Ví dụ cách giao tiếp với QD75 38 Hình 2-27 Ví dụ code chạy JOG trục 38 Hình 2-28 Các điểm định vị cài đặt 39 Hình 2-29 Ví dụ code mẫu chế độ Positioning 39 Hình 3-1 Lưu đồ hoạt động hệ thống 41 Hình 3-2 Lưu đồ hoạt động trạm số 43 Hình 3-3 Lưu đồ hoạt động trạm số 45 Hình 3-4 Lưu đồ hoạt động trạm số 47 Hình 3-5 Lưu đồ hoạt động trạm số 49 Hình 3-6 Lưu đồ hoạt động hệ thống tay gắp vật 50 Hình 4-1 Camera acA2500-14gm 52 Hình 4-2 Giao diện khởi động phần mềm 55 Hình 4-3 Giao diện cài đặt EmguCV 56 Hình 4-4 Giao diện project 57 Hình 4-5 Cài đặt thư viện EmguCV 57 Hình 4-6 Giao diện MX Component 58 Hình 4-7 Chọn cổng kết nối 58 Hình 4-8 Chọn phương thức kết nối 58 Hình 4-9 Chọn dịng PLC 59 Hình 4-10 Giao diện Pylon Viewer báo kết nối thành cơng 60 Hình 4-11 Sản phẩm cần nhận diện 60 Hình 4-12 Đoạn Ramer-Douglas-Peucker 61 Hình 4-13 Ví dụ nhận diện 61 Hình 4-14 Lưu đồ xử lý ảnh 62 Hình 4-15 Sản phẩm loại 63 Hình 4-16 Sản phẩm loại 63 Hình 4-17 Sản phẩm loại 64 Hình 4-18 Giao diện tạo project 64 Hình 4-19 Giao diện điều khiển giám sát hệ thống 65 Hình 4-20 Giao diện hệ thống sản phẩm 67 Hình 4-21 Pallet vào trạm 67 Hình 4-22 Thơng số trục 68 Hình 4-23 Thơng số trục 68 Hình 4-24 Gắp thả chi tiết 69 Hình 4-25 Gắp thả chi tiết 69 Hình 4-26 Gắp thả chi tiết 70 Hình 4-27 Gắp thả chi tiết 70 Hình 4-28 Sản phẩm hồn chỉnh 70 Hình 4-29 Giao diện sử lý có sản phẩm lỗi 71 DANH MỤC BẢNG BIỂU Bảng 1-1 Các nút điều khiển hệ thống 13 Bảng 1-2 Các đèn báo hệ thống 13 Bảng 2-1 Thông số động HF-KP13 & HG-KR23 18 Bảng 2-2 Thông số driver servo 19 Bảng 2-3 Thông số kỹ thuật QX42 31 Bảng 2-4 Module Input QX41 32 Bảng 2-5 Module Output QY42P 33 Bảng 2-6 Module QD75P2 33 Bảng 3-1 Phân cổng vào 40 Bảng 4-1 Thông số vị trí ( trục trước – trục sau) 69 plc.GetDevice("Y93", out int denvang); if (denvang == 1) { label24.BackColor = Color.Yellow; } // reset else label24.BackColor = Color.Gainsboro; // Doi che plc.GetDevice("X3", out mode); if(mode == 1) { auto.BackColor = Color.PaleGreen; manual.BackColor = Color.Gainsboro; freerun.BackColor = Color.Gainsboro; } else { manual.BackColor = Color.PaleGreen; auto.BackColor = Color.Gainsboro; freerun.BackColor = Color.Gainsboro; } // Dieu khien popup: //p1 plc.GetDevice("Y81", out int p1u); if(p1u == 1) { P1UP.BackColor = Color.PaleGreen; } else { P1UP.BackColor = Color.Transparent; } plc.GetDevice("Y80", out int p1d); if(p1d == 1) { P1DOWN.BackColor = Color.PaleGreen; } else 110 { P1DOWN.BackColor = Color.Transparent; } //p2 plc.GetDevice("Y86", out int p2u); if (p2u == 1) { P2UP.BackColor = Color.PaleGreen; } else { P2UP.BackColor = Color.Transparent; } plc.GetDevice("Y87", out int p2d); if (p2d == 1) { P2DOWN.BackColor = Color.PaleGreen; } else { P2DOWN.BackColor = Color.Transparent; } // p3 plc.GetDevice("Y8A", out int p3u); if (p3u == 1) { P3UP.BackColor = Color.PaleGreen; } else { P3UP.BackColor = Color.Transparent; } plc.GetDevice("Y8B", out int p3d); if (p3d == 1) { P3DOWN.BackColor = Color.PaleGreen; } 111 else { P3DOWN.BackColor = Color.Transparent; } // p4 plc.GetDevice("Y8E", out int p4u); if (p4u == 1) { P4UP.BackColor = Color.PaleGreen; } else { P4UP.BackColor = Color.Transparent; } plc.GetDevice("Y8F", out int p4d); if (p4d == 1) { P4DOWN.BackColor = Color.PaleGreen; } else { P4DOWN.BackColor = Color.Transparent; } // đọc dũ liệu chế độ auto plc.GetDevice("Y82", out int stopper11a); //stopper11a = stopper11 auto if (stopper11a == 1) { ST11.BackColor = Color.PaleGreen; } else ST11.BackColor = Color.Transparent; // stopper12a plc.GetDevice("Y83", out int stopper12a); if (stopper12a == 1) { ST12.BackColor = Color.PaleGreen; } else ST12.BackColor = Color.Transparent; 112 // stopper21a plc.GetDevice("Y84", out int stopper21a); if (stopper21a == 1) { ST21.BackColor = Color.PaleGreen; } else ST21.BackColor = Color.Transparent; // stopper22a plc.GetDevice("Y85", out int stopper22a); if (stopper22a == 1) { ST22.BackColor = Color.PaleGreen; } else ST22.BackColor = Color.Transparent; // stopper31a plc.GetDevice("Y88", out int stopper31a); if (stopper31a == 1) { ST31.BackColor = Color.PaleGreen; } else ST31.BackColor = Color.Transparent; // stopper32a plc.GetDevice("Y89", out int stopper32a); if (stopper32a == 1) { ST32.BackColor = Color.PaleGreen; } else ST32.BackColor = Color.Transparent; // stopper41a plc.GetDevice("Y8C", out int stopper41a); if (stopper41a == 1) { ST41.BackColor = Color.PaleGreen; } else ST41.BackColor = Color.Transparent; // stopper42a plc.GetDevice("Y8D", out int stopper42a); 113 if (stopper42a == 1) { ST42.BackColor = Color.PaleGreen; } else ST42.BackColor = Color.Transparent; //ctht 11 plc.GetDevice("X5C", out int ctht11a); if (ctht11a == 1) { CTHT11.BackColor = Color.PaleGreen; } else CTHT11.BackColor = Color.Gainsboro; //ctht 12 plc.GetDevice("X5B", out int ctht12a); if (ctht12a == 1) { CTHT12.BackColor = Color.PaleGreen; } else CTHT12.BackColor = Color.Gainsboro; //ctht 21 plc.GetDevice("X65", out int ctht21a); if (ctht21a == 1) { CTHT21.BackColor = Color.PaleGreen; } else CTHT21.BackColor = Color.Gainsboro; //ctht 22 plc.GetDevice("X64", out int ctht22a); if (ctht22a == 1) { CTHT22.BackColor = Color.PaleGreen; } else CTHT22.BackColor = Color.Gainsboro; //ctht 31 plc.GetDevice("X6C", out int ctht31a); if (ctht31a == 1) 114 { CTHT31.BackColor = Color.PaleGreen; } else CTHT31.BackColor = Color.Gainsboro; //ctht 32 plc.GetDevice("X6B", out int ctht32a); if (ctht32a == 1) { CTHT32.BackColor = Color.PaleGreen; } else CTHT32.BackColor = Color.Gainsboro; //ctht 41 plc.GetDevice("X73", out int ctht41a); if (ctht41a == 1) { CTHT41.BackColor = Color.PaleGreen; } else CTHT41.BackColor = Color.Gainsboro; //ctht 42 plc.GetDevice("X72", out int ctht42a); if (ctht42a == 1) { CTHT42.BackColor = Color.PaleGreen; } else CTHT42.BackColor = Color.Gainsboro; //Doc tin hieu servo: // servo_ready _ plc.GetDevice("X100", out int servo_ready); if (servo_ready==1) { servoready.BackColor = Color.PaleGreen; } else servoready.BackColor = Color.Gainsboro; } //=====DIEU KHIEN BANG TAI VA DONG CO========= private void START_Click(object sender, EventArgs e) { 115 plc.SetDevice("X0", 1); plc.SetDevice("X0", 0); } private void STOP_Click(object sender, EventArgs e) { plc.SetDevice("X1", 0); plc.SetDevice("X1", 1); } private void RESET_Click(object sender, EventArgs e) { plc.SetDevice("X2", 1); plc.SetDevice("X2", 0); } private void ST11_Click_1(object sender, EventArgs e) { if(stopper11) { // plc.SetDevice("M70", 1); ST11.BackColor = Color.PaleGreen; stopper11 = false; } else { plc.SetDevice("M70", 0); // ST11.BackColor = Color.Transparent; stopper11 = true; } } private void ST12_Click(object sender, EventArgs e) { if (stopper12) { plc.SetDevice("M73", 1); // ST12.BackColor = Color.PaleGreen; stopper12 = false; } else 116 { plc.SetDevice("M73", 0); ST12.BackColor = Color.Transparent; stopper12 = true; // } } private void ST21_Click(object sender, EventArgs e) { if (stopper21) { plc.SetDevice("M74", 1); // ST21.BackColor = Color.PaleGreen; stopper21 = false; } else { plc.SetDevice("M74", 0); ST21.BackColor = Color.Transparent; stopper21 = true; // } } private void ST22_Click(object sender, EventArgs e) { if (stopper22) { plc.SetDevice("M77", 1); // ST22.BackColor = Color.PaleGreen; stopper22 = false; } else { plc.SetDevice("M77", 0); // ST22.BackColor = Color.Transparent; stopper22 = true; } } private void ST31_Click(object sender, EventArgs e) 117 { if (stopper31) { plc.SetDevice("M78", 1); // ST31.BackColor = Color.PaleGreen; stopper31 = false; } else { plc.SetDevice("M78", 0); // ST31.BackColor = Color.Transparent; stopper31 = true; } } private void ST32_Click(object sender, EventArgs e) { if (stopper32) { plc.SetDevice("M81", 1); // ST32.BackColor = Color.PaleGreen; stopper32 = false; } else { plc.SetDevice("M81", 0); // ST32.BackColor = Color.Transparent; stopper32 = true; } } private void ST41_Click(object sender, EventArgs e) { if (stopper41) { plc.SetDevice("M94", 1); // ST41.BackColor = Color.PaleGreen; stopper41 = false; } 118 else { plc.SetDevice("M94", 0); ST41.BackColor = Color.Transparent; // stopper41 = true; } } private void ST42_Click(object sender, EventArgs e) { if (stopper42) { plc.SetDevice("M98", 1); // ST42.BackColor = Color.PaleGreen; stopper42 = false; } else { plc.SetDevice("M98", 0); ST42.BackColor = Color.Transparent; // stopper42 = true; } } private void P1UP_Click(object sender, EventArgs e) { plc.SetDevice("M71", 1); plc.SetDevice("M71", 0); } private void P1DOWN_Click(object sender, EventArgs e) { plc.SetDevice("M72", 1); plc.SetDevice("M72", 0); } private void P2UP_Click_1(object sender, EventArgs e) { plc.SetDevice("M75", 1); plc.SetDevice("M75", 0); } 119 private void P2DOWN_Click_1(object sender, EventArgs e) { plc.SetDevice("M76", 1); plc.SetDevice("M76", 0); } private void P3UP_Click_1(object sender, EventArgs e) { plc.SetDevice("M79", 1); plc.SetDevice("M79", 0); } private void P3DOWN_Click_1(object sender, EventArgs e) { plc.SetDevice("M80", 1); plc.SetDevice("M80", 0); } private void P4UP_Click_1(object sender, EventArgs e) { plc.SetDevice("M95", 1); plc.SetDevice("M95", 0); } private void P4DOWN_Click_1(object sender, EventArgs e) { plc.SetDevice("M96", 1); plc.SetDevice("M96", 0); } // =================== DIEU KHIEN SERVO================= private void truc1tien_Click(object sender, EventArgs e) { if (truc1thuan) { plc.SetDevice("M21", 1); truc1tien.BackColor = Color.PaleGreen; truc1thuan = false; } else { plc.SetDevice("M21", 0); 120 truc1tien.BackColor = Color.Transparent; truc1thuan = true; } } private void truc1lui_Click(object sender, EventArgs e) { if (truc1nguoc) { plc.SetDevice("M22", 1); truc1lui.BackColor = Color.PaleGreen; truc1nguoc = false; } else { plc.SetDevice("M22", 0); truc1lui.BackColor = Color.Transparent; truc1nguoc = true; } } private void dungtruc1_Click(object sender, EventArgs e) { if (truc1dung) { plc.SetDevice("M25", 1); dungtruc1.BackColor = Color.PaleGreen; truc1dung = false; } else { plc.SetDevice("M25", 0); dungtruc1.BackColor = Color.Transparent; truc1dung = true; } } private void truc2tien_Click(object sender, EventArgs e) { if (truc2thuan) 121 { plc.SetDevice("M23", 1); truc2tien.BackColor = Color.PaleGreen; truc2thuan = false; } else { plc.SetDevice("M23", 0); truc2tien.BackColor = Color.Transparent; truc2thuan = true; } } private void truc2lui_Click(object sender, EventArgs e) { if (truc2nguoc) { plc.SetDevice("M24", 1); truc2lui.BackColor = Color.PaleGreen; truc2nguoc = false; } else { plc.SetDevice("M24", 0); truc2lui.BackColor = Color.Transparent; truc2nguoc = true; } } private void dungtruc2_Click(object sender, EventArgs e) { if (truc2dung) { plc.SetDevice("M100", 1); dungtruc2.BackColor = Color.PaleGreen; truc2dung = false; } else { 122 plc.SetDevice("M100", 0); dungtruc2.BackColor = Color.Transparent; truc2dung = true; } } private void vegoc_Click(object sender, EventArgs e) { int vegoc1 = 1; plc.SetDevice("M26", vegoc1); vegoc.BackColor = Color.PaleGreen; int vegoc_1 = 0; plc.SetDevice("M26", vegoc_1); vegoc.BackColor = Color.Transparent; } //================KHAC ================================= private void standardControl6_Load(object sender, EventArgs e) {} private void standardControl10_Load(object sender, EventArgs e) {} private void panel1_Paint(object sender, PaintEventArgs e) {} private void auto_Click(object sender, EventArgs e) {} private void CTHT11_Click(object sender, EventArgs e) {} private void label18_Click(object sender, EventArgs e) {} private void manual_Click(object sender, EventArgs e) {} private void panel3_Paint(object sender, PaintEventArgs e) {} private void pictureBox2_Click(object sender, EventArgs e) {} private void CTHT41_Click(object sender, EventArgs e) {} private void label25_Click(object sender, EventArgs e) 123 {} private void label46_Click(object sender, EventArgs e) {} private void label45_Click(object sender, EventArgs e) {} private void label44_Click(object sender, EventArgs e) {} private void label43_Click(object sender, EventArgs e) {} private void label42_Click(object sender, EventArgs e) {} private void panel4_Paint(object sender, PaintEventArgs e) {} } } 124 ... Mạch động lực hệ thống 14 Hệ thống động 14 CHƯƠNG HỆ THỐNG LẮP RÁP SẢN PHẨM PHẨM SỬ DỤNG SERVO 17 2.1 Cấu tạo hệ thống lắp ráp sản phẩm 17 Hệ thống động cơ,... chiều quay động 16 CHƯƠNG HỆ THỐNG LẮP RÁP SẢN PHẨM PHẨM SỬ DỤNG SERVO Do cánh tay Robot hệ thống CIM900 hỏng nên ta thay hệ thống lắp ráp sản phẩm đặt trạm hệ thống Đây hệ thống quan trọng nên ta... số 3: trạm lắp ráp thành sản phẩm hoàn chỉnh - Trạm số 4: trạm để robot gắp sản phẩm hoàn chỉnh kho chứa gắp sản phẩm lỗi vào thùng phế phẩm Hệ thống dùng để lắp ráp bốn loại sản phẩm với hình