Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 113 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
113
Dung lượng
6,02 MB
Nội dung
Lời mở đầu Lời mở đầu Hịa chung với cơng xây dựng phát triển đất nước, nghiệp giáo dục nước ta bước chuyển mạnh mẽ với tốc độ phát triển nhanh chóng Một mục tiêu mà ngành giáo dục đưa giúp Việt Nam có đội ngũ kỹ sư nịng cốt, kỹ sư chun ngành có đủ lực, đủ đức đủ tài phục vụ cho nghiệp cơng nghiệp hóa, đại hóa Để đạt mục tiêu hệ trẻ đặc biệt sinh viên chúng em cần phải chủ động tìm hiểu ứng dụng thành tựu khoa học xây dựng công nghiệp nước nhà ngày vững mạnh Xuất phát từ nhu cầu thiết thực sống niềm đam mê khoa học, nhóm sinh viên chúng em nghiên cứu đề tài: “Thiết kế PLC ” Đồ án em gồm chương: Chương Giới thiệu PLC Chương Thiết kế PLC Chương Thiết kế phần cứng Chương Thiết kế phần mềm Chương Các ví dụ thực nghiệm Em xin gửi lời cảm ơn chân thành tới tất thầy mơn Tự động hóa cơng nghiệp đặc biệt thầy Nguyễn Hồng Quang tận tình giúp đỡ tạo điều kiện tốt giúp em hoàn thành đồ án Hà Nội, ngày 11 tháng năm 2018 Sinh viên thực Nguyễn Đình Tân Chương Giới thiệu PLC Chương Giới thiệu PLC Mục tiêu: - Giới thiệu trình phát triển PLC - Nêu cấu trúc phần cứng PLC - Trình bày cách thức hoạt động PLC 1.1 Tổng quan PLC 1.1.1 Lịch sử hình thành phát triển PLC (Programmable Logic Control - Bộ điều khiển logic khả trình): Được nhà thiết kế cho đời năm 1968 (Cơng ty General Motor – Mỹ), với tiêu chí kỹ thuật nhằm đáp ứng yêu cầu điều khiển: - Lập trình dễ dàng, ngơn ngữ dễ hiểu - Dễ thay đổi chương trình - Cấu trúc dạng module mở rộng, dễ dàng bảo trì sửa chữa - Đảm bảo độ tin cậy môi trường sản xuất Sự phát triển hệ thống phần cứng từ năm 1975 làm cho hệ thống PLC phát triển mạnh mẽ với chức mở rộng: - Số lượng ngõ vào, - Có khả điều khiển ngõ vào, từ xa kỹ thuật truyền thông - Bộ nhớ lớn - Nhiều loại module chuyên dùng Hệ thống điều khiển sử dụng PLC Chương Giới thiệu PLC Hình 1.1 Hệ thống điều khiển sử dụng PLC 1.1.2 Phân loại PLC phân loại theo cách: - Hãng sản xuất: Gồm nhãn hiệu Siemen, Omron, Mitsubishi, Alenbratly… - Version: PLC Siemen họ: S7-200, S7-300, S7-400, Logo Mitsubishi có họ: Fx, Fxo, Fxon 1.1.3 Các lĩnh vực ứng dụng PLC PLC sử dụng rộng rãi công nghiệp như: hệ thống nâng vận chuyển, dây chuyền đóng gói, sản xuất xi măng, điều khiển đèn giao thông, quản lý bãi đậu xe, điều khiển thang máy, dây chuyền sản xuất xe ô tô… Ưu điểm hệ thống sử dụng PLC - Độ tin cậy cao, vỏ làm vật liệu cứng, mạch thiết kế khả chống nhiễu, rung, chịu ẩm, dầu, bụi…trong môi trường khắc nghiệt - Thích ứng với nhiệm vụ điều khiển khác - Thay đổi chương trình đơn giản (tính linh hoạt cao) - Cơng suất tiêu thụ thấp - Kích thước nhỏ, dễ dành lắp đặt, sửa chữa, bảo quản - Giảm số lượng dây nối, rơle, timer so với hệ thống cổ điển Chương Giới thiệu PLC - Dễ dàng kết nối với thiết bị thơng minh khác máy tính, kết nối mạnginternet, Module mở rộng - Chức lập trình dễ dàng, ngơn ngữ lập trình dễ hiểu, dễ học - Thời gian để chu trình điều khiển hồn thành vài micro giây, điều làm tăng tốc độ suất PLC Chính nhờ ưu đó, PLC sử dụng rộng rãi hệ thống điều khiển tự động 1.1.4 Các ngôn ngữ lâp trình Có loại ngơn ngữ lập trình LAD (Hình thang) loại ngơn ngữ thích hợp với người quen với thiết kế mạch logic Hình 1.2 Câu lệnh dạng nh thang) FBD (liệt kê khối) ngôn ngữ sử dụng hàm logic AND, OR, XOR…thích hợp với người quen thiết kế mạch điện tử số Hình 1.3 Câu l ệnh dạng FBD Chương Giới thiệu PLC STL (liệt kê lệnh) dùng cho người quen với lập trình vi xử lý Hình 1.4 Câu lệnh dạng STL Đây loại ngơn ngữ ngồi cịn có ngơn ngữ High GRAPH, GRAPH (dạng đồ họa dùng cho người lĩnh vực khí, vốn quen với giản đồ Grafect khí nén) 1.2 Cấu trúc phần cứng PLC Cấu trúc PLC gồm thành phần sau : Module xử lý trung tâm (CPU) Module vào (tương tự/số) Module (tương tự/số) Module truyền thông, ghép nối mở rộng 1.3 Hoạt động PLC Hình 1.5 Cấu trúc PLC Chương Giới thiệu PLC Bộ vi xử lý quét trạng thái đầu vào thiết bị phụ trợ, thực logic điều khiển đặt chương trình ứng dụng, thực phép tính tốn điều khiển đầu tương ứng PLC Các hệ PLC cuối cho phép thực phép tính số học phép tính logic, nhớ lớn, tốc độ xử lý mạnh mẽ kết nối với máy tính, mạng nội bộ.v.v Hình 1.6 Chu kỳ qt PLC Khi thực quét đầu vào, PLC kiểm tra tín hiệu từ thiết bị vào cảm biến, cơng tắc…Trạng thái tín hiệu vào lưu tạm vào mảng nhớ Trong suốt thời gian quét chương trình, xử lý quét lệnh chương trình điều khiển, sử dụng trạng thái tín hiệu vào mảng nhớ để xác định đầu đáp ứng hay không Kết cuối trạng thái đầu ghi vào mảng nhớ, PLC cấp ngắt điện cho mạch để điều khiển thiết bị ngoại vi Chu kỳ quét PLC từ đến 25 mili giây Thời gian quét đầu vào đầu thường ngắn so với chu kỳ quét PLC Chương Thiết kế PLC Chương Thiết kế PLC Mục tiêu: - Nêu phương án thiết kế - Các linh kiện sử dụng để thiết kế 2.1 Phương án thiết kế PLC Thiết kế PLC với chức PLC S7-200 sử dụng phần mềm Step7 – MicroWin để lập trình, có đầy đỉ câu lệnh PLC Với chức mở rộng vào nhiều hơn, giá thành rẻ hơn, phục vụ cho nhu cầu nghiên cứu PLC sinh viên ứng dụng công nghiệp PLC thiết kế với yêu cầu: Module xử lý trung tâm: sử dụng vi điều khiển PIC 16F887 – vi điều khiển bit Cổng truyền thông: - module truyền thông RS232 kết nối trực tiếp với máy tính (sử dụng max232) - module truyền thơng RS485 để kết nối xa (sử dụng max485) - Sử dụng Jum đực cổng COM đực Có khả ghép, mở rộng - Sử dụng IC74HC165 mở rộng ngõ vào số - Sử dụng IC74HC595 mở rộng ngõ số Ngõ vào ngõ cách ly an tồn với xử lý trung tâm Có đầy đủ đèn báo Module hoạt động, ngõ vào ngõ hoạt động - Hệ thống led báo ngõ vào số (led xanh) - Hệ thống led báo ngõ (led đỏ) - Hệ thống led báo nguồn, xử lý trung tâm (led đỏ) Chương Thiết kế PLC 2.2 Cấu trúc hệ thống 2.2.1 Vi điều khiển 16F887 Khi sử dụng vi xử lý phải thiết kế hệ thống gồm có: Vi xử lý, có nhớ, ngoại vi Chính phức tạp nên nhà chế tạo tích hợp nhớ số thiết bị ngoại vi với vi xử lý tạo thành IC gọi vi điều khiển – Microcontroller Có nhiều hãng chế tạo vi điều khiển như: TI, Microchip, ATMEL…nhưng đề tài em trình bày vi điều khiển tiêu biểu PIC16F887 hãng Microchip Hình 2.1 Vi điều khiển PIC16F887 Đặc điểm thực thi tốc độ cao CPU là: Có 35 lệnh đơn Thời gian thực tất lệnh chu kỳ máy, ngoại trừ lệnh rẽ nhánh Tốc độ hoạt động: - Ngõ vào xung clock có tần số 20MHz - Chu kì lệnh thực lệnh 200ns Có nhiều nguồn ngắt Có kiều định đia trực tiếp, gián tiếp tức thời Chương Thiết kế PLC Bảng 2-1 Trình bày tóm tắt cấu trúc loại PIC16F88x Cấu hình minh họa hình sau: Hình 2.2 Cấu hình vi điều khiển Chương Thiết kế PLC Sơ đồ chân Hình 2.3 Sơ đồ chân PIC16F887 PIC16Fxxxx vi điều khiển gồm 35 tập lệnh có độ dài 14bit Tốc độ tối đa hoạt động 20MHz Mạch nạp theo chuẩn ICSP 2.2.2 IC Max232 Hình 2.4 IC MAX232 IC MAX232 chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều thiết bị, chiều dài kết nối nằm khoảng 12,5m đến 25,4m Ưu điểm có 10 Phụ lục void docngovao() { char a,b,b1; output_low(EN_165); output_high(EN_165); for (a=0;a0;b ) { b1=b-1; I[a][b1] = input(DATA_165); output_low(CLK_165); output_high(CLK_165); } } } void xuatngora() { char a,b; for (a=2;a>0;a ) { for (b=8;b>0;b ) { if (Q[a-1][b-1]>=1) { output_high(DATA_595); } else 110 Phụ lục { output_low(DATA_595); } output_low(CLK_595); output_high(CLK_595); } } output_low(EN_595); output_high(EN_595); } void main() { set_tris_b (0x02); output_b (0x00); setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); set_timer1 (64911); enable_interrupts(global); enable_interrupts(int_timer1); """ filec.write(a) ## a=""" while (TRUE) { docngovao(); """ filec.write(a) # thiết lập giá trị thường đóng = nghịch đảo giá trị thường mở 111 Phụ lục x=[] for i in range(0,len(listcodebd)): if (listcodebd[i]=='LDN')|(listcodebd[i]=='AN')|(listcodebd[i]=='ON')&(i0): kt = if (xld3[h] == '(') & (h>0): if (xld3[h-1] == '0')|(xld3[h-1] == '1')|(xld3[h-1] == '2')|(xld3[h-1] == '3')|(xld3[h-1] == '4')|(xld3[h-1] == '5')|(xld3[h-1] == '6')|(xld3[h-1] == '7'): kt = 118 Phụ lục if (kt==0): tang = tang + xld3[h] if (kt==1): reset=reset+xld3[h] print(tang) print(reset) biennhoC = 'biennho' + ten demC = 'dem'+ten a0 = 'tang' + ten +'='+tang+';\n' a1 = 'if (tang'+ten+'==0)' + '\n' a2 = '{' + '\n ' + biennhoC +'= 0;' + '\n' + '}' +'\n' a3 = 'if ((tang'+ten+'==1) && (' +biennhoC +'==0))' +'\n' a4 = '{' + '\n ' + demC + '++;' + '\n ' + biennhoC + '=1;'+ '\n' +'}'+'\n' a5 = 'if (' + demC+ '>= so'+ten+')' a6 = '\n'+'{' + '\n ' + ten + '=1;' + '\n' + '}'+'\n' a7 = 'if (' + demC+ '< so'+ten+')' a8 = '\n'+'{' + '\n ' + ten + '=0;' + '\n' + '}'+'\n' a9 = 'reset' + ten + '=' + reset +'; \n' a10 = 'if (' + 'reset' + ten + '==1'+')' a11 = '\n'+'{' + '\n ' + demC + '=0;' + '\n' + '}'+'\n' filec.write(a0) filec.write(a1) filec.write(a2) filec.write(a3) filec.write(a4) filec.write(a5) filec.write(a6) filec.write(a7) 119 Phụ lục filec.write(a8) filec.write(a9) filec.write(a10) filec.write(a11) filec.write('\n') if ('CTUD' == chuoi[j]): ten = chuoi[j+1] so = chuoi[j+2] string_one = ' ' string_two = OUT string=string_one.join(string_two) xld3=string.split() print(xld3) tang='' giam='' reset='' kt=0 for h in range(0,len(xld3)): if (xld3[h] == '(') & (xld3[h-1] == ')')&(h>0): kt = kt + if (kt==0): tang=tang + xld3[h] if (kt==1): giam=giam+xld3[h] if (kt==2): reset=reset+xld3[h] print(tang) print(giam) 120 Phụ lục print(reset) biennhoTC = 'biennhoT' + ten biennhoGC = 'biennhoG' + ten demC = 'dem'+ten a0 = 'tang'+ ten +'='+tang+';\n' a1 = 'if (tang'+ten+'==0)' + '\n' a2 = '{' + '\n ' + biennhoTC +'= 0;' + '\n' + '}' +'\n' a3 = 'if ((tang'+ten+'>=1) && (' +biennhoTC +'==0))' +'\n' a4 = '{' + '\n ' + demC + '++;' + '\n ' + biennhoTC + '=1;'+ '\n' +'}'+'\n' a0_1 = 'giam'+ten+'='+giam+';' a1_1 = '\n'+'if (giam'+ten+'==0)' + '\n' a2_1 = '{' + '\n ' + biennhoGC +'= 0;' + '\n' + '}' +'\n' a3_1 = 'if ((giam'+ten+'>=1) && (' +biennhoGC +'==0))' +'\n' a4_1 = '{' + '\n ' + demC + ' ;' + '\n ' + biennhoGC + '=1;'+ '\n' +'}'+'\n' a9 = 'reset' + ten + '=' + reset +'; \n' a10 = 'if (' + 'reset' + ten + '>=1'+')' a11 = '\n'+'{' + '\n ' + demC + '=0;' + '\n' + '}'+'\n' a5 = 'if (' + demC+ '>= so'+ten+')' a6 = '\n'+'{' + '\n ' + ten + '=1;' + '\n' + '}'+'\n' a7 = 'if (' + demC+ '< so'+ten+')' a8 = '\n'+'{' + '\n ' + ten + '=0;' + '\n' + '}'+'\n' filec.write(a0) filec.write(a1) filec.write(a2) filec.write(a3) filec.write(a4) filec.write(a0_1) filec.write(a1_1) 121 Phụ lục filec.write(a2_1) filec.write(a3_1) filec.write(a4_1) filec.write(a9) filec.write(a10) filec.write(a11) filec.write(a5) filec.write(a6) filec.write(a7) filec.write(a8) filec.write('\n') if ('='==chuoi[j])&(j