Tài liệu Bài giảng Ảnh động trong wincc: Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
1
ẢNH ĐỘNG TRONG WINCC
1. TẠO ẢNH ĐỘNG THEO CHIỀU NGANG:
Trong bài này ta tạo 1 nút nhấn dịch trái, 1 nút nhấn dịch phải, 1 nút nhấn dừng, 2 tag: tag_dichtrai
và tag_dichphai. Khi nhấn nút dịch trái ảnh sẽ dịch chuyển sang trái, khi nhấn nút dịch phải ảnh sẽ
dịch chuyển sang phải, nhấn nút dừng ảnh sẽ dừng.
Các bước viết chương trình cho hình tròn dịch chuyển.
Nhấn dịch trái settagbit Tag_dichtrai = 1
Tag_dichphai=0
Nhấn dịch phải Settagbit tag_dichtrai = 0
tag_dichphai = 1
Nhấn nút dừng Settagbit Tag_dichtrai = 0
Tag_dichphai = 0
Viết c action cho tọa độ x của hình tròn
Với nút nhấn dịch trái:
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
2
Làm tương tự cho nút nhấn dịch phải:
Properties / events / mouse / mouse action / C – action
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
3
Chương trình C – action của nút nhấn dịch phải:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lp...
5 trang |
Chia sẻ: hunglv | Lượt xem: 1538 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Ảnh động trong wincc, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
1
ẢNH ĐỘNG TRONG WINCC
1. TẠO ẢNH ĐỘNG THEO CHIỀU NGANG:
Trong bài này ta tạo 1 nút nhấn dịch trái, 1 nút nhấn dịch phải, 1 nút nhấn dừng, 2 tag: tag_dichtrai
và tag_dichphai. Khi nhấn nút dịch trái ảnh sẽ dịch chuyển sang trái, khi nhấn nút dịch phải ảnh sẽ
dịch chuyển sang phải, nhấn nút dừng ảnh sẽ dừng.
Các bước viết chương trình cho hình tròn dịch chuyển.
Nhấn dịch trái settagbit Tag_dichtrai = 1
Tag_dichphai=0
Nhấn dịch phải Settagbit tag_dichtrai = 0
tag_dichphai = 1
Nhấn nút dừng Settagbit Tag_dichtrai = 0
Tag_dichphai = 0
Viết c action cho tọa độ x của hình tròn
Với nút nhấn dịch trái:
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
2
Làm tương tự cho nút nhấn dịch phải:
Properties / events / mouse / mouse action / C – action
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
3
Chương trình C – action của nút nhấn dịch phải:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
SetTagBit("tag_dichphai",1); //Return-Type: BOOL
SetTagBit("tag_dichtrai",0); //Return-Type: BOOL
}
Làm tương tự cho nút nhấn dừng:
Properties / events / mouse / mouse action / C – action
Chương trình C – action của nút nhấn dịch phải:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
SetTagBit("tag_dichphai",0); //Return-Type: BOOL
SetTagBit("tag_dichtrai",0); //Return-Type: BOOL
}
Viết chương trình cho hình tròn di chuyển:
Kích chuột phải lên hình tròn chọn properties chọn thẻ properties chọn Geometry chọn
Position X C-action:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static int a=100;
if (GetTagBit("tag_dichtrai")&&a>=100)
{
a = a - 10;
}
if (GetTagBit("tag_dichtrai")&&a <=100) a = 150;
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
4
if (GetTagBit("tag_dichphai")&&a<=150)
{
a = a + 10;
}
if (GetTagBit("tag_dichphai")&&a>=150) a = 100;
return a;
}
2. TẠO ẢNH ĐỘNG THEO ĐƯỜNG CHÉO:
Giả sử ta cần tạo 1 hình tròn di chuyển từ tọa độ (x,y) = (200,200) đến tọa độ (x,y) = (400,300),số
bước dịch chuyển 10 bước.
Từ yêu cầu ta có:
Độ dịch chuyển theo chiều x là: (400-200)/10 = 20.
Độ dịch chuyển theo chiều y là: (300-200)/10 = 10.
Tọa một tag tên tag_dich_xy1 -loại dữ liệu binary tag, một tag tên tag_dich_xy2 – loại dữ liệu
unsigned 32 bit, một nút nhấn di chuyển xy, một nút nhấn dừng.
Viết chương trình cho đường tròn:
Kích chuột phải trên đường tròn chọn properties chọn thẻ properties chọn Geometry
chọn Position X C-Action và viết đoạn code như bên dưới. (Event name chọn trigger 250ms)
Postion Y liên kết đến tag_dich_xy2, chọn Upon change.
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static int x=200,y=200;
Bài giảng tích hợp PLC S7 – 200 Ngô Thanh Đông
5
if(GetTagBit("tag_dich_xy1")&& x<400)
{
x = x+20;
y = y+10;
}
if(GetTagBit("tag_dich_xy1")&& x>=400)
{x = 200;
y = 200;
}
SetTagDWord("tag_dich_xy2",y);
return x;
}
Các file đính kèm theo tài liệu này:
- Unlock-anh_dong_trong_wincc_4137.pdf