Báo cáo môn Điều khiển lập trình 2 - Chủ đề: Điều khiển thang máy với S7-300 và WINCC
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo môn Điều khiển lập trình 2 - Chủ đề: Điều khiển thang máy với S7-300 và WINCC", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bao_cao_mon_dieu_khien_lap_trinh_2_chu_de_dieu_khien_thang_m.pdf
Nội dung text: Báo cáo môn Điều khiển lập trình 2 - Chủ đề: Điều khiển thang máy với S7-300 và WINCC
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN-ĐIỆN TỬ BÀI BÁO CÁO MÔN ĐIỀU KHIỂN LẬP TRÌNH 2 Chủ đề: ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC Giáo viên: Trần Văn Sỹ Nhóm sinh viên thực hiện: Phạm Văn Trọng 10701019 TP HCM 11/2012 SVTH: PHẠM VĂN TRỌNG 10701019 Page 1
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Các bước tiến hành Viết chương trình trên s7-300 sau đó là kết nối đồ hoạ trên Wincc I.Viết chương trình trên s7-300 Bước 1: Mở s7-300 Nhấp Next SVTH: PHẠM VĂN TRỌNG 10701019 Page 2
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 3
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Phần này chọn CPU kết nối với các loại CPU với số lượng ngõ vào ,ra số ,analog với dung lượng bộ nhớ khác nhau tuỳ theo yêu cầu. Chọn ngôn ngữ LAD Chọn khối OB1.Các khối OB khác là các khối phục vụ việc ngắt theo các yêu cầu khác nhau Đặt tên cho dự án SVTH: PHẠM VĂN TRỌNG 10701019 Page 4
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Ta nhấp tiếp vào Simatic 300 Station SVTH: PHẠM VĂN TRỌNG 10701019 Page 5
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Chọn OB1 Là nơi ta viết chương trình cho s7-300 Bên phải là nơi ta chọn các lệnh như Move, Timer, Couter , Logic bit .chứa các nút lệnh như tiếp điểm, các khối lệnh, v.v SVTH: PHẠM VĂN TRỌNG 10701019 Page 6
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Giải thích các nút nhấn và ngõ rachương trình: I0.0 I0.1 I0.2 I0.3: là các nút gọi tầng 1 đến 4. I0.4 I0.5 I0.6 I0.7: Là các cảm biến đặt ở tầng 1 đến tầng 4. I1.0: Là rơle nhiệt khi động cơ quá tải. I1.1: Là nút nhấn mở cửa. M2.0 M2.1 M2.2 M2.3 : Là các cộng tắc hành trình đặt ở tầng 1 đến 4. Q0.0: Động cơ quay lên. Q0.1: Động cơ quay xuống. Q1.0 Là đèn báo quá tải. Q1.1: Mở cửa thang máy. Q0.4 Q0.5 Q0.6 Q0.7: Là các đèn báo vị trí thang máy. M0.0 M0.1 M0.2 M0.4:Là các ngõ vào nhận tín hiệu tác động của I0.0 đến I0.3. M1.0 M1.1 M1.2 M1.3: đặt trước Q là vì phải thông qua các biến trung gian Wincc mới hiểu. Vì một vòng quét của Wincc rất nhanh nên ta sử dụng các biến trung gian. SVTH: PHẠM VĂN TRỌNG 10701019 Page 7
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 8
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 9
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 10
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 11
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Giải thích chương trình:Khi có tác động của các ngõ vào I0.0 đến I0.3 kết hợp với vị trí hiện tại của thang máy thông qua cảm biến I0.4 đến I0.7 sẽ làm Q0.0( quay lên) hoặc Q0.1(quay xuống). Sau khi viết chương trình xong ta mở SIMATIC Manager lên Chọn Option -> Set PG/PC Interface -> chọn phương thức kết nối với Wincc SVTH: PHẠM VĂN TRỌNG 10701019 Page 12
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 13
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Màn hình Set PG/PC Interface SVTH: PHẠM VĂN TRỌNG 10701019 Page 14
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Chương trình phục vụ việc mô phỏng bằng cách Insert-> tuỳ theo yêu cầu mà ta chọn Input , Output , vùng nhớ Memory, Couter , Timer. SVTH: PHẠM VĂN TRỌNG 10701019 Page 15
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Tai nơi viết chương trình ta chọn biểu tượng Download và biểu tượng có hình mắt kính để bắt đầu nạp chương trình cho mô phỏng IIChương trình bên Wincc Kết nối đồ hoạ với Wincc Ta chọn Single user Project SVTH: PHẠM VĂN TRỌNG 10701019 Page 16
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Nhấp vào Tap mangement -> chọn Driver kết nối với Wincc Sau khi chọn SIMATIC S7 PROTOCOL SUITE ->ta nhấp phải vào MPI chọn-> New Driver Connection-> ta đặt tên cho nó là s7-300( tên tuỳ ý) SVTH: PHẠM VĂN TRỌNG 10701019 Page 17
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Trong MPI-> Ta tao các biến liên kết với bên ngoài ( chương trình SIMATIC s7-300) Phần name ta đặt tên theo thuộc tính( tuỳ ý) Data type ta chọn Binary tag( biến nhị phân có giá trị 0,1) Sau đó nhấp chọn Select->Data chọn theo tên biến là I,M hoặc Q SVTH: PHẠM VĂN TRỌNG 10701019 Page 18
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 19
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Tiếp theo ta tạo chương trình đồ hoạ thực hiện việc giám sát. Graphic Designer-> Chọn NewPicture_. Đổi tên theo ý thích bằng cách nhấp phải chọn rename Tạo thuộc tính cho bóng đèn -> ta nhấp phải chọn Property-> hộp thoại Object Property xuất hiện-> property->Flashing(thuộc tính nhấp nháy)- >Flashing Background -> Dynamic value-> Data type ta chọn Boolean- >-> ta chọn các thuộc tính như hình vẽ SVTH: PHẠM VĂN TRỌNG 10701019 Page 20
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Event name-> ta chọn các thuộc tính như hình vẽ Ta đặt thuộc tính cho bóng đèn, ở dây ta cũng chọn thuộc tính Flashing .Nhưng Flasing background color off/ on ta chọn màu như nhau( có nghĩa là khi bị tác động thì nó sẽ sáng thay vì nhấp nháy) SVTH: PHẠM VĂN TRỌNG 10701019 Page 21
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Tạo thuộc tính cho cảm biến -> BlinkMode SVTH: PHẠM VĂN TRỌNG 10701019 Page 22
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 23
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM ta cũng làm tương tự nhưng ở đây ta chọn Boolean . Yes( Shaded-2) có nghĩa là nhấp nháy Tạo thuộc tính cho nút chọn tầng ta cũng chọn thuộc tíng Flashing nhấp nháy báo cho ta biết tầng được chọn SVTH: PHẠM VĂN TRỌNG 10701019 Page 24
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Tạo thuộc tính (Dislay)cho động cơ quay trái , quay phải bằng mũi tên báo hiêu chiều được chọn. Lập trình C cho WINCC với Global Script C (GSC): Cấu trúc chương trình của một C-Action cho một Property của đối tượng a. Cấu trúc của một Action Câu lệnh #include “apdefap.h” là khai báo thư viện các Function và Action mà WinCC hỗ trợ sẵn. Header (màu xám): đây là dòng mã lệnh tự động phát sinh giống nhau cho các Properties và không được thay đổi. Bao gồm: o Picture Name (lpszPictureName) o Object Name (lpszObjectName) o Property Name (lpszPropertyName) Sau khi lập trình xong Action cho Property của một đối tượng thì phải chọn Trigger cho nó. b. Một số thủ tục thường gặp khi lập trình Định nghĩa Tag: cú pháp: #define tên Tag khi lập trình” tên Tag đã khai báo trong Tag Manager” SVTH: PHẠM VĂN TRỌNG 10701019 Page 25
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Ví dụ: Khai báo hằng, biến Khai báo hằng: Cú pháp: # define Tên hằng_Giá trị của hằng Ví dụ: # define Max 365; Khai báo biến: Các kiểu dữ liệu của biến và tầm sử dụng Cú pháp:Kiểu dữ liệu của biến_Tên biến Ví dụ: int a; int b=0; c. Một số hàm hay sử dụng trong chương trình (1). SetTagBit Cú pháp: BOOL SetTagBit(Tag Tag_Name, short in value) Nội dung: Định giá trị cho một Tag có kiểu dữ liệu là Binary. (2). GetTagBit Cú pháp: BOOL GetTagBit(Tag Tag_Name) Nội dung: Lấy giá trị hiện tại của một Tag có kiểu Binary. (3).GetTop Cú pháp: long int GetTop (LPCTSTR lpszPictureName, LPCTSTR lpszObjectName); Nội dung: Trả về giá trị theo trục Y của điểm cao nhất nằm trên vật muốn trỏ đến. SVTH: PHẠM VĂN TRỌNG 10701019 Page 26
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM (4).GetLeft SVTH: PHẠM VĂN TRỌNG 10701019 Page 27
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Cú pháp: long int GetLeft (LPCTSTR lpszPictureName, LPCTSTR lpszObjectName); Thuật toán chuyển động lên xuống thang máy: Bắt đầu Chọn Chọn Chọn Chọn T2==1 T3==1 T4==1 T1==1 Đến T1 Đến T2 Đến T3 Đến T4 Kết thúc Ta sẽ viết chương trình như sau: nếu vật cần di chuyển có giá trị nhỏ hơn tọa độ cần đến thì ta trừ giá tri hiện tại với 1 giá trị nào đó(giá trị này là bước nhảy của vật cần di chuyển). Nếu vị trí của vật lớn hơn tọa độ cần đến thì ta cộng vị trí hiện tại với 1 giá trị nào đó . SVTH: PHẠM VĂN TRỌNG 10701019 Page 28
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Mở Global Script lên: SVTH: PHẠM VĂN TRỌNG 10701019 Page 29
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 30
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 31
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM #include "apdefap.h" int gscAction( void ) { int CHON_T1;// biến liên kết bên S7-300 int VITRI; int CHON_T2;// biến liên kết bên S7-300 int CHON_T3; //biến liên kết bên S7-300 int CHON_T4;// biến liên kết bên S7-300 VITRI=GetTop("THANGMAY.pdl","Rectangle1"); // Rectangle1 Là //vật muốn di chuyển CHON_T1=GetTagBit("CHON_T1"); CHON_T2=GetTagBit("CHON_T2"); CHON_T3=GetTagBit("CHON_T3"); CHON_T4=GetTagBit("CHON_T4"); SVTH: PHẠM VĂN TRỌNG 10701019 Page 32
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM { if(CHON_T3==1) SVTH: PHẠM VĂN TRỌNG 10701019 Page 33
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM { if(VITRI>180) { VITRI = VITRI-6; } if (VITRI 300) { VITRI = VITRI-6; } if (VITRI<300) { VITRI = VITRI+6; } else { VITRI=VITRI; } } { if(CHON_T1==1) { SVTH: PHẠM VĂN TRỌNG 10701019 Page 34
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM if(VITRI>440) { SVTH: PHẠM VĂN TRỌNG 10701019 Page 35
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM VITRI = VITRI-6; } if (VITRI 60) { VITRI = VITRI-6; } if (VITRI<60) { VITRI = VITRI+6; } else { VITRI=VITRI; } } SetTop("THANGMAY.pdl","Rectangle1",VITRI); } } } } SVTH: PHẠM VĂN TRỌNG 10701019 Page 36
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM return 0; } SVTH: PHẠM VĂN TRỌNG 10701019 Page 37
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 38
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 39
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Viết chương trình cho thang máy mở cửa: Ta cũng làm tương tự như phần ở trên Chương trình viết cho cửa bên trái #include "apdefap.h" int gscAction( void ) { int a; int MO_CUA_CABIN; int DONG_CUA_CABIN; a=GetLeft("THANGMAY.pdl","Rectangle6"); MO_CUA_CABIN=GetTagBit("MO_CUA_CABIN"); SVTH: PHẠM VĂN TRỌNG 10701019 Page 40
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM DONG_CUA_CABIN=GetTagBit("DONG_CUA_CABIN"); SVTH: PHẠM VĂN TRỌNG 10701019 Page 41
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM if(MO_CUA_CABIN==1) { if (a>390) { a=a-50; } else { a=a; } } if(DONG_CUA_CABIN==1) { if (a<490) { a=a+50; } else { a=a; } } SetLeft("THANGMAY.pdl","Rectangle6",a); return 0; } SVTH: PHẠM VĂN TRỌNG 10701019 Page 42
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 43
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 44
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Chương trình viết cho cửa bên phải #include "apdefap.h" int gscAction( void ) { int a; int MO_CUA_CABIN; int DONG_CUA_CABIN; a=GetLeft("THANGMAY.pdl","Rectangle7"); MO_CUA_CABIN=GetTagBit("MO_CUA_CABIN"); DONG_CUA_CABIN=GetTagBit("DONG_CUA_CABIN"); if(MO_CUA_CABIN==1) { if (a<650) { SVTH: PHẠM VĂN TRỌNG 10701019 Page 45
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM a=a+50; } SVTH: PHẠM VĂN TRỌNG 10701019 Page 46
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM else { a=a; } } if(DONG_CUA_CABIN==1) { if (a>550) { a=a-50; } else { a=a; } } SetLeft("THANGMAY.pdl","Rectangle7",a); return 0; } SVTH: PHẠM VĂN TRỌNG 10701019 Page 47
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 48
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 49
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Viết C cho nút nhấn SVTH: PHẠM VĂN TRỌNG 10701019 Page 50
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 51
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM SVTH: PHẠM VĂN TRỌNG 10701019 Page 52
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Làm tương tự cho nút nhấn đóng cửa SVTH: PHẠM VĂN TRỌNG 10701019 Page 53
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Viết C cho nút nhấn chọn tầng thực hiện các bước như trên SVTH: PHẠM VĂN TRỌNG 10701019 Page 54
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Viết chương trình cho nút nhấn cảm biến SVTH: PHẠM VĂN TRỌNG 10701019 Page 55
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Bây giở thì ta thiết lập các thông số kết nối Nhấp chọn biểu tượng Computer-> Statup-> Chon các ô như hình vẽ. SVTH: PHẠM VĂN TRỌNG 10701019 Page 56
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Graphic Runtime-> Start Picture-> nhấp Brow-> chọn đường dẫn tới Picture SVTH: PHẠM VĂN TRỌNG 10701019 Page 57
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Trong MPI ta chọn System Parameter Trong mục Unit Logical device name ta chọn PLCSIM(MPI) SVTH: PHẠM VĂN TRỌNG 10701019 Page 58
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Bên dưới MPI ta chọn S7-300 Nhấp phải chọn Property-> chọn số ô ở slot number là 2 Nhấp nút có hình ô vuông để cập nhật giá trị -> sau đó nhấp biểu tượng Runtime hình tam giác SVTH: PHẠM VĂN TRỌNG 10701019 Page 59
- ĐIỀU KHIỂN THANG MÁY VỚI S7-300 VÀ WINCC ĐH SPKT TP.HCM Kết quả mô phỏng SVTH: PHẠM VĂN TRỌNG 10701019 Page 60