C. Cấu hình cho OPC Server
B. TRẠM PHÂN LOẠI SẢN PHẪM
1) Chức năng
Trạm Phân loại phân loại các chi tiết phôi qua 3 máng trượt. Cảm biến khuyếch tán phát hiện chi tiết phôi đầu vào ở phía đầu khởi động của băng tải.
Đặc tính của chi tiết phôi (màu đen, màu đỏ, kim loại) được phát hiện bằng các cảm biến ở phía trước của cữa chặn và các chi tiết phơi được phân loại vào máng trượt thích hợp.
2) Các module và I/O Mặt trước của trạm gồm: - Bảng điều khiển - Module PLC - Nguồn cung cấp Mặt trên của trạm gồm: - Các van và ống dẫn khí - Mootor và băng tải
- Các các biến nhận dạng đặc tính phơi - Cần gạt
Địa chỉ các I/O và cảm biến:
Name Data Type Logical Address Comment
moto_bangtai Bool %Q0.0 Mô tơ điều khiển băng tải
cambien_cophoi Bool %I0.0
cambien_switch1_OFF Bool %I0.4
cambien_switch1_ON Bool %I0.5
switch1 Bool %Q0.1 Điều khiển switch1
cambien_switch2_OFF Bool %I0.6
cambien_switch2_ON Bool %I0.7
switch2 Bool %Q0.2 Điều khiển switch2
thanhchan Bool %Q0.3 Thanh chắn kiểm tra vật
cambien_kimloai Bool %I0.1
cambien_phoi_k_co_mau_den Bool %I0.2
cambien_baovatxuong Bool %I0.3
denbao_Start Bool %Q1.0
denbao_Reset Bool %Q1.1
denbao_BangTaiFull Bool %Q1.2
denbao_hethongbiloi Bool %Q0.7
Trình tự khởi động của hệ thống:
Điều kiện tiên quyết khởi động:
Chi tiết phơi ở phía đầu khởi động của băng tải.
Vị trí ban đầu:
Cữa chặn vươn ra, nhánh 1,2 co vào, động cơ băng tải tắt.
Trình tự:
1. Phát hiện chi tiết phơi. 2. Động cơ băng tải bật.
3. Xác minh màu sắc/vật liệu. Phát hiện chi tiết phôi màu đen, chuyển vào máng trươt phía cuối cùng của băng tải:
4. Cữ chặn co vào.
5. Chi tiết phôi đươc đẩy ra.
6. Bước chạy không.Phát hiện chi tiết phôi kim loại, chuyển vào máng trươt ở giữa của băng tải:
7. Rẽ nhánh 2 vươn ra. 8. Cữ chặn co vào.
9. Chi tiết phôi đươc đẩy ra.
10. Bước chạy không. Phát hiện chi tiết phôi màu đỏ, chuyển vào máng trươt phía cuối cùng của băng tải:
11. Rẽ nhánh 1 vươn ra. 12. Cữ chặn co vào.
13. Chi tiết phôi đươc đẩy ra. 14. Bước chạy không.
15. Động cơ băng tải tắt. 16. Cữ chặn vươn ra. 17. Rẽ nhánh 1 co vào. 18. Rẽ nhánh 2 co vào.
3) Lập trình chương trình điều khiển
Network 5 khi có tín hiệu bắt đầu và cảm biến báo có phơi
Network 6 cài đặt thời gian chờ kiểm tra phôi
Network 8: Phát hiện phôi màu đỏ
Network 11: Reset hệ thống
4) Thiết kế chương trình giám sát
Màn hình giám sát được thiết kế gồm: - Bảng điều khiển
- Phôi và băng tải - Thanh gạt và cửa chặn - Các cảm biến
Sử dụng VBS và Cscript để lập trình hiệu ứng cho màn hình giám sát:
#include "apdefap.h"
int gscAction( void )
{
int left, top;
left = GetLeft("Root_Screen.pdl","PHOI");
// bang tai chyen dong
if ( GetTagBit ("motor_bangtai")==1 ) {
if ( GetTagWord("THOIGIAN_KIEMTRA") >0 && GetTagBit("THANHCHAN") ==0 ) { if ( GetLeft("Root_Screen.pdl","PHOI") < 380 ) { left = left + 10; SetLeft("Root_Screen.pdl","PHOI",left); } else { left = 380; top = 240;
}
else if ( GetTagWord("THOIGIAN_KIEMTRA") == 0 && GetTagBit("THANHCHAN") == 1)
{
if ( GetTagBit("W2") == 1 && GetLeft("Root_Screen.pdl","PHOI") <
613 )
{
left = left + 15;
SetLeft("Root_Screen.pdl","PHOI",left); }
else if ( GetTagBit("W1") == 1 && GetLeft("Root_Screen.pdl","PHOI") < 708 ) {
left = left + 15;
SetLeft("Root_Screen.pdl","PHOI",left); }
else if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 && GetLeft("Root_Screen.pdl","PHOI") < 790 ) { left = left + 15; SetLeft("Root_Screen.pdl","PHOI",left); } } }
// dat lai vi tri ban dau
if ( GetTagBit ("co_vat_xuong")==1 ) {
if ( GetTagBit("W2") == 1 && GetTagBit("W1") == 0 ) // PHOI MAU DO { left = 689; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); }
if ( GetTagBit("W1") == 1 && GetTagBit("W2") == 0 ) // PHOI MAU DEN { left = 780; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); }
if ( GetTagBit("W1") == 0 && GetTagBit("W2") == 0 ) // PHOI KIM LOAI { left = 870; top = 92 ; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } } if (GetTagBit("RESET") == 1 ) { left = 270; top = 240; SetLeft("Root_Screen.pdl","PHOI",left); SetTop("Root_Screen.pdl","PHOI",top); } return 0;