Yêu cầu: Hiệu ứng Slide to unlock HMI giống như trượt để mở khóa màn hình iPhone
Giải pháp: Xác định tọa độ của con trỏ lúc nhấn là nhả để xử lý dữ liệu
Tọa độ X,Y của HMI Weintek như sau:
Dùng biến nội của HMI để lấy dữ liệu tọa độ con trỏ Touch hoặc Leave (2 thuật ngữ này để tiếng Anh cho dễ hiểu). Biến lưu giá trị vị trí của con trỏ:
LW-9042: Vị trí Touch X
LW-9043: Vị trí Touch Y
LW-9044: Vị trí Leave X
LW-9045: Vị trí Leave Y
Lưu đồ thuật toán:
Lưu đồ thuật toán Slide to Unlock for HMI |
Macro như sau:
Có thể dùng cách 2 là chỉ cần cái Slide Bar kia cũng làm được nhưng mình muốn giải bài toán liên quan đến trượt và vuốt.
Download Demo Project: Slide To Unlock HMI tham khảo:
Demo_Slide_to_Unlock_[Unlockplc.com].rar
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
| macro_command main() short Screen_ID, Touch_Pos[4], Distance, LW100, LB10_BienPhu //GetData Position touch and leave: X,Y From LW9042->LW9045// GetData(Touch_Pos[0], "Local HMI" , LW, 9042, 4) //Get Distance coordinates X touch and Leave Distance=Touch_Pos[2]-Touch_Pos[0] SetData(Distance, "Local HMI" , RW, 50, 1) //Clear Slide Bar LW100=0 //Bien Phu De Chi Chay Macro cho trang Main LB10_BienPhu = 1 SetData(LW100, "Local HMI" , LW, 100, 1) if Touch_Pos[1]>180 and Touch_Pos[3] < 300 then if Distance > 100 and Distance < 380 then Screen_ID=11 SetData(LB10_BienPhu, "Local HMI" , LB, 10, 1) SetData(Screen_ID, "Local HMI" , LW, 0, 1) end if end if end macro_command |
macro_command main() short Screen_ID, Touch_Pos[4], Distance, LW100, LB10_BienPhu //GetData Position touch and leave: X,Y From LW9042->LW9045// GetData(Touch_Pos[0], "Local HMI", LW, 9042, 4) //Get Distance coordinates X touch and Leave Distance=Touch_Pos[2]-Touch_Pos[0] SetData(Distance, "Local HMI", RW, 50, 1) //Clear Slide Bar LW100=0 //Bien Phu De Chi Chay Macro cho trang Main LB10_BienPhu = 1 SetData(LW100, "Local HMI", LW, 100, 1) if Touch_Pos[1]>180 and Touch_Pos[3] < 300 then if Distance > 100 and Distance < 380 then Screen_ID=11 SetData(LB10_BienPhu, "Local HMI", LB, 10, 1) SetData(Screen_ID, "Local HMI", LW, 0, 1) end if end if end macro_command
Có thể dùng cách 2 là chỉ cần cái Slide Bar kia cũng làm được nhưng mình muốn giải bài toán liên quan đến trượt và vuốt.
Download Demo Project: Slide To Unlock HMI tham khảo:
Demo_Slide_to_Unlock_[Unlockplc.com].rar
Nhấn Thích và G +1 nếu có ích ____________________________
Yêu cầu link download | Báo giá | Support - CLICK liên hệ DacoThuy
0 comments:
Đăng nhận xét