BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Đề Bài: TÌM HIỂU VỀ LẬP TRÌNH WINCC CHO HỆ THỐNG SCADA
TỔNG HỢP CÁC BÀI TẬP LẬP TRÌNH C++ CHO WINCC
Chuyên ngành: Tự Động Hoá
Mục lục :
Bài 1: Lập trình cho ô tô di chuyển theo phương x:
Bài 2: Lập trình Quay cánh quạt:
Bài 3: Hình tròn di chuyển theo phương x có thể tiến , lùi và dừng
Bài 4: Di chuyể hình tròn theo đường chéo:
Bài 5: Xuất dữ liệu ra Exel
Mọi thắc mắc xin lien hệ :
Hà Nội – 2014
Bài 1: Lập trình cho ô tô di chuyển theo phương x:
Bước 1:
- Bạn vào Interal tags tạo 1 tag mới : ví dụ tag là oto:
- Loại Binary tag
Bước 2:
Bạn vào graphics Designer tạo 1 dao diện như sau:
Bước 3:
+ Bây giờ là đến phần lập trình cho oto di chuyển
- Bạn kik chuột phải vào oto chọn properties -> mục properties -> Geometry
-> position x -> kik chuột phải mục Dynamic chọn C - Action
- Và bạn lập trình như sau:
-
-
- Mọi người để ý là : static int a=200; // vì oto chúng ta ở tọa độ thứ x=200
- if(a>=400)a=0;// Tức là oto di chuyển đến vị trí x=400
thì quay về vị trí ban đầu ( tức là vị trí thứ 200)
- Bạn có thể chọn tốc độ ở mục Event Name:
-
+ Bây giờ lập trình cho nút nhấn:
- Bạn kik chuột phải vào nút chọn properties -> mục Events -> Mouse
-> Pressleft ( chuột trái ) -> kik chuột phải mục Action chọn C- Action
-
- Và bạn lập trình như sau:
-
- Bạn nhắp theo đường link để tranh viết sai nhé:
- Nếu các bạn thích khi ấn nút thì nó đổi màu thi các bạn làm như sau:
-
- Tag ở đây là tag oto mà chung ta tạo trước đó:
-
- Mục update chọn upon change nhé:
Bước 4: Mô phỏng:
-Bạn lưu lại và ấn runtime
- Kết quả:
Bài 2: Lập trình Quay cánh quạt:
Bước 1:
- Bạn vào Interal tags tạo 1 tag mới : ví dụ tag là canhquat:
- Loại Binary tag
Bước 2:
Bạn vào graphics Designer tạo 1 dao diện như sau:
- Ban nhắp vào Polygon
-
Và vẽ cái cánh quạt như thế này cộng với nút nhấn luôn nhé:
( chú ý: Bạn vẽ thêm đường thẳng rồi chọn tất cả -> link -> group nhé:
Bước 3:
+ Bây giờ là đến phần lập trình cho cánh quạt di chuyển:
- Bạn kik chuột phải vào canh quat chọn properties -> mục properties ->
Geometry -> Rotation Angle -> kik chuột phải mục Dynamic chọn C -
Action
- Và lập trình như sau:
- Mọi người để ý là : static int a=0; // vì ở góc số 0
- if(a>=360)a=0;// Tức là 1 vong có 360 độ vậy . Nếu
bạn thich quay bao nhiêu độ thì bạn sửa lại nhé:
+ Bây giờ lập trình cho nút nhấn:
- Bạn kik chuột phải vào nút chọn properties -> mục Events -> Mouse
-> Pressleft ( chuột trái ) -> kik chuột phải mục Action chọn C- Action
- Và bạn lập trình như sau:
Với nút quay:
Nhắp đúp vào Press left
- Điền số 1 và chọn tag canhquat
Với nút dừng:
Nhắp đúp vào Press left
Diền số 0 và chọn tag canhquat:
Bước 4: Mô phỏng:
-Bạn lưu lại và ấn runtime
Bài 3: Hình tròn di chuyển theo phương x có thể tiến , lùi và dừng
+ Bước 1:
- Bạn vào Interal tags tạo 2 tag mới : ví dụ tag là dichtrai và tag dichphai:
- Loại Binary tag
+ Bước 2:
- Bạn vào graphics tạo 1 giao diện như sau:
+ Bước 3: Lập trình cho từng nút nhấn và hình tròn:
- Với nút nhấn dich trái ta làm như sau:
-
- Trong c – Ation
- Bạn làm theo hướng dấn sau:
-
-
-
-
Làm tương tự với Tag dich phải ta được dòng lệnh như sau:
ở đây chọn là 0 . Vì nó đang dịch theo phía trái:
- Hoặc các bạn vào c- action viết đúng như sau: (copy paste nhé)
SetTagBit("dichphai",0); //Return-Type: BOOL
SetTagBit("dichtrai",1); //Return-Type: BOOL
- Tương tự với nút dịch phải:
- Làm tương tự với nút dừng:
-
• Viết chương trình cho hình tròn di chuyển:
- Bạn kik chuột phải vào hình tròn chọn properties -> mục properties ->
Geometry
-> position x -> kik chuột phải mục Dynamic chọn C – Action
Và lập trình như sau
static int a=340;
if (GetTagBit("dichtrai")==1)
{
a=a-10;
}
if(a<=200)a=340;
if (GetTagBit("dichphai")==1)
{
a=a+10;
}
if(a>=600)a=340;
return a;
+ Bước 4: Mô phỏng:
Bài 4: Di chuyể hình tròn theo đường chéo:
+ Bước 1:
- Tạo 1 tag tên : tag_dich_xy1 - loại dữ liệu Binary tag. Một tag nữa tên:
tag_dich_xy2 - loại dữ unsigned 32 bit. Một nút nhấn di chuyển:
-
+ Bước 2:
- Vào graphics thiết kế giao diện sau:
-
• Viết chương trình cho hình tròn di chuyển:
- Bạn kik chuột phải vào hình tròn chọn properties -> mục properties ->
Geometry
-> position x -> kik chuột phải mục Dynamic chọn C – Action
Và lập trình như sau
- Position Y chọn tag : ‘ tag_dich_xy2 ’
- Viết chương trình cho nút di chuyển:
Bước 4: Mô phỏng:
Bài 5: Xuất dữ liệu ra Exel
+ Bước 1: Bạn vào Interal tags tạo 3 tag mới : ví dụ tag là dulieu1, dulieu2,
dulieu3.
Loại usigned 16 – bit value
+ Bước 2:
Vào graphics tạo 3 cái I/O field và 1 nút lưu để xuất file như sau:
- Ta gán tag lần lượt cho 3 cái I/O field như sau:
- I/O field 1 ta chọn dulieu1.
- I/O field 2 ta chọn dulieu2.
- I/O field 3 ta chọn dulieu3.
-
- Ta lập trình cho nút luu nhu sau:
- Vào VBS – Action
-
Và lập trình như sau:
Bước 4 : Mô phỏng: