Bước 1: Mở s7-300
Nhấp Next
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
60 trang |
Chia sẻ: oanh_nt | Lượt xem: 3525 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Báo cáo Điều khiển thang máy với s7-300 và wincc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đ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<180)
{
VITRI = VITRI+6;
}
else
{
VITRI=VITRI;
}
}
{
if(CHON_T2==1)
{
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<440)
{
VITRI = VITRI+6;
}
else
{
VITRI=VITRI;
}
}
{
if(CHON_T4==1)
{
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