Tải bản đầy đủ (.pdf) (5 trang)

ANH DONG TRONG WINCC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 5 trang )

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;
}

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×