1. Trang chủ
  2. » Luận Văn - Báo Cáo

phan_loai_san_pham_ma_qr

119 3 5
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI (9)
    • 1.1. Đặt vấn đề (9)
    • 1.2. Mục tiêu đề tài (11)
    • 1.3. Đối tượng nghiên cứu (12)
    • 1.4. Phương pháp thực hiện (12)
    • 1.5. Dự kiến kết quả đạt được (13)
    • 1.6. Nội dung đề tài (13)
  • CHƯƠNG 2. TỔNG QUAN GIẢI PHÁP CÔNG NGHỆ (14)
    • 2.1. Tổng quan hệ thống (14)
    • 2.2. Qr code là gì ? (16)
    • 2.3. Phương pháp tạo mã QR code (19)
    • 2.4. Tổng quan về xử lý ảnh và đọc mã QR code (20)
      • 2.4.1. Giới thiệu thư viện mã nguồn mở OpenCV (20)
      • 2.4.2. Giới thiệu về xử lí ảnh (21)
      • 2.4.3. Xử lí ảnh và đọc mã QR code (23)
    • 2.5. Giới thiệu về PLC (24)
      • 2.5.1. Tổng quan về PLC S7-1200 (24)
      • 2.5.2. Những đặc điểm nổi bật của S7-1200 (25)
    • 2.6. Phần mềm lập trình cho PLC s7 – 1200 (26)
      • 2.6.1. Tổng quan về phần mềm TIA Portal V15 (26)
      • 2.6.2. Giao diện phần mềm TIA Portal (27)
      • 2.6.3. Sử dụng bảng Tag trong PLC (30)
      • 2.6.4. Tải chương trình xuống CPU (32)
    • 2.7. Giới thiệu về WinCC (34)
      • 2.7.1. Tổng quan về WinCC (34)
      • 2.7.2. Các đặc điểm chính của Wincc (35)
      • 2.7.3. Cấu hình giao diện Wincc (36)
    • 2.6. Webserver (38)
      • 2.6.1. Ngôn ngữ lập trình Python (38)
      • 2.6.2. Visual Studio Code (39)
      • 2.6.3. Ngôn ngữ HTML (40)
      • 2.6.4. CSS (40)
    • 2.7. Thư viện mã nguồn mở Snap7 (40)
  • CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ (43)
    • 3.1. Tính toán và thiết kế phần cứng (43)
      • 3.1.1. Phương án thiết kế (43)
      • 3.1.2. Bản thiết kế của hệ thống trên CAD (44)
    • 3.2 Thiết kế sơ đồ khối hệ thống (49)
    • 3.3. Lựa chọn thiết bị cho hệ thống (50)
      • 3.3.1. Bộ xử lý trung tâm (50)
      • 3.3.2. Nguồn cấp cho hệ thống (50)
      • 3.3.3. Băng tải (51)
      • 3.3.4. Xilanh khí nén phân loại sản phẩm (52)
      • 3.3.5. Xilanh khí nén đẩy sản phẩm vào hệ thống phân loại sản phẩm (53)
      • 3.3.6. Cảm biến quang và cảm biến áp suất (53)
      • 3.3.7. Van AIRTAC 4V210-08 (54)
      • 3.3.8. Camera logitech C270 và Camera Sky A870 (55)
      • 3.3.9. Các thiết bị hỗ trợ khác (56)
    • 3.4. Lưu đồ giải thuật (60)
      • 3.4.1. Lưu đồ giải thuật hệ thống (60)
      • 3.4.2. Lưu đồ xử lí ảnh (62)
      • 3.4.3. Lưu đồ xử lí giữa PLC và Webserver (63)
    • 3.5. Sơ đồ đấu nối (64)
  • CHƯƠNG 4. KẾT QUẢ PHẦN CỨNG VÀ PHẦN MỀM (67)
    • 4.1. Kết quả thi công phần cứng (67)
    • 4.2. Chương trình tạo mã QR code (71)
    • 4.3. Chương trình điều khiển hệ thống TIA PORTAL V15 (73)
      • 4.3.1. Chương trình PLC (73)
      • 4.3.2. Chương trình WinCC (74)
    • 4.4. Chương trình Webserver (76)
  • CHƯƠNG 5. KẾT QUẢ CHẠY THỰC NGHIỆM (79)
    • 5.1. Kết quả phần mềm (79)
      • 5.1.1. Giao diện web server và cách thức hoạt động (79)
      • 5.2.2. Giao diện WINCC và cách thức hoạt động (81)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI (86)
  • TÀI LIỆU THAM KHẢO (88)
  • PHỤ LỤC (89)

Nội dung

Đồ án tốt nghiệp đã đạt 9 điểm, các bạn cứ tham khảo thêm TÓM TẮT Trong đề tài này, nhóm đã tìm hiểu và nghiên cứu nhiều phương pháp phân loại sản phẩm bằng mã QR, và việc phân loại sản phẩm bằng xử lý ảnh bằng camera mang đến hiệu quả khả thi nhất, từ đó nhóm đã thiết kế thành công hệ thống phân loại sản dùng mã QR. Hệ thống có khả năng nhận dạng được sản phẩm phân loại sản phẩm bằng mã QR đã quy đinh và những sản phẫm không đúng quy định. Từ đó giúp hệ thống có thể phân loại các sản phẩm lỗi và sản phẩm đạt chuẩn. Nhóm đã thiết kế và xây dựng hoàn thiện phần cứng, sử dụng PLC S7-1200 để điều khiển hệ thống, xây dựng được chương trình xử lý ảnh dựa trên Visual Code Studio để xây dựng chương trình điều khiển và giám sát hệ thống thông qua Webserver của PLC

GIỚI THIỆU ĐỀ TÀI

Đặt vấn đề

Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện- điện tử và điều khiển tự động đóng vai trò hết sức quan trọng trong mọi lĩnh vực khoa học, quản lý, công nghiệp tự động hóa, cung cấp thông tin Do đó chúng ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự nghiệp phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điều khiển tự động nói riêng Với những kỹ thuật tiên tiến như vi xử lý, PLC, vi mạch số… được ứng dụng vào lĩnh vực điều khiển, thì các hệ thống điều khiển cơ khí thô sơ, với tốc độ xử lý chậm chạp ít chính xác được thay thế bằng các hệ thống điều khiển tự động với các lệnh chương trình đã được thiết lập trước.Trong quá trình sản xuất, việc sản phẩm lỗi gần như là không thể tránh khỏi, việc kiểm tra lỗi bằng mắt thường sẽ khá mất thời gian, nhân công và hiệu quả đạt được không cao, còn nếu kiểm tra lỗi bằng cảm biến sẽ có thể tốn nhiều chi phí mà lại mang đến độ chính xác không cao Do đó, trong đề tài này nhóm quyết định áp dụng xử lý ảnh trong việc phân loại sản phẩm.

Xử lý ảnh được cho là một phân ngành khoa học mới rất phát triển trong những năm gần đây Tính ứng dụng của nó gần như là không giới hạn, với những tiến bộ trong công nghệ mở ra nhiều cơ hội mới cho các doanh nghiệp Việc sản xuất dây chuyền hàng loạt tạo ra các sản phẩm lớn thì sẽ cần kiểm tra số lượng,cũng như là chất lượng sản phẩm, có nhiều mức độ như thủ công hoặc tự động hoá,nếu áp dụng phương pháp thủ công sẽ làm mất nhiều thời gian, mất nhiều nhân công lao động, hiệu suất xử lý, độ chính xác không cao Việc kết hợp ứng dụng xử lý hình ảnh trong việc nhận diện sản phẩm bằng mã QR sẽ ngày càng hiệu quả và chính xác hơn thay cho các phương pháp khác

Từ những lý do ở trên, nhóm quyết định chọn đề tài “Thiết kế thi công mô hình phân loại sản phẩm dùng mã QR” với mục đích tăng độ chính xác gần như tuyệt đối, giảm thiểu thời gian cũng như nhân công lao động. Để thiết kế được chúng ta cần thiết kế cơ khí và điều khiển được động cơ và hệ thống hoạt động tự động dựa vào lập trình và điều khiển của PLC Ngoài ra còn có các vấn đề khác như là: vật liệu mô hình, nguồn cung cấp, tính toán thông số chi tiết

Các vấn đề cần được giải quyết đó là:

• Vấn đề cơ khí: phân tích tích lựa chọn vật liệu, thông số kỹ thuật của các chi tiết sao cho thỏa mãn yêu cầu của đề tài: nhỏ, gọn, nhẹ, bền, có tính thẩm mỹ cao, dễ dàng lắp đặt và sửa chữa

• Vấn đề nhận biết sản phẩm: Phân tích hình ảnh từ camera để xử lý số liệu phân loại sản phẩm Qrcode

• Vấn đề điều khiển: điều khiển hoàn toàn tự động, dễ dàng vận hành

• Vấn đề an toàn: đảm bảo an toàn cho người sử dụng và sản phẩm không bị hỏng.

Hệ thống phân loại bằng mã QR có thể giúp việc phân loại dễ dàng hơn trong lĩnh vực quản lý hàng hóa :

- Quản lý kho hàng: Hệ thống có thể giúp quản lý hàng tồn kho, theo dõi số lượng và vị trí của các sản phẩm trong kho, và tự động cập nhật thông tin khi có các giao dịch nhập/xuất hàng.

Mã QR được ứng dụng trong lĩnh vực vận tải và hậu cần giúp phân loại và theo dõi hàng hóa trong quá trình vận chuyển hiệu quả Mỗi đơn hàng hoặc kiện hàng được gắn một mã QR riêng Nhân viên và khách hàng dễ dàng quét mã này để biết vị trí và trạng thái của hàng hóa.

- Sản phẩm công nghệ: Mã QR code có thể được sử dụng để phân loại và quản lý sản phẩm công nghệ, chẳng hạn như điện thoại di động, máy tính xách tay,thiết bị điện tử, và các phụ kiện kèm theo Người dùng có thể quét mã QR code để biết thông tin chi tiết về sản phẩm và kiểm tra tính hợp pháp, bảo hành.

Trong ngành y tế, mã QR đóng vai trò quan trọng trong việc sắp xếp và quản lý các thiết bị y tế, mẫu xét nghiệm, thuốc và các sản phẩm liên quan Nhờ đó, quá trình kiểm kê kho, theo dõi nguồn gốc và hạn sử dụng sản phẩm được cải thiện đáng kể, góp phần đảm bảo độ chính xác trong quá trình chăm sóc sức khỏe.

Trên đây chỉ là một số ví dụ về lĩnh vực mà phân loại sản phẩm dùng mã QR code có thể được áp dụng Thực tế, ứng dụng của mã QR code là rất đa dạng và có thể phù hợp với nhiều ngành công nghiệp khác nhau tùy thuộc vào yêu cầu và mục đích sử dụng cụ thể. Ưu điểm của đồ án:

Hệ thống có thể được giám sát thông qua webserver, điều khiển và giám sát bằng WinCC, HMI Ngoài ra, mã QR còn chứa nhiều thông tin như mô tả sản phẩm, hướng dẫn sử dụng, nguồn gốc, thành phần, giá cả, mã vạch Điều này giúp tăng cường thông tin và cung cấp sự hiểu biết chi tiết về sản phẩm.

- Quản lý hàng hóa: Mô hình phân loại sản phẩm dùng mã QR code giúp quản lý hàng hóa dễ dàng hơn Bằng cách gắn kết mã QR code với từng sản phẩm,nhà sản xuất, nhà bán lẻ hoặc nhà vận chuyển có thể dễ dàng theo dõi và quản lý số lượng hàng hóa, vị trí, thông tin về nguồn gốc và hạn sử dụng.

Mục tiêu đề tài

Mục tiêu đặt ra là thiết kế: Hệ thống phân loại sản phẩm sử dụng camera để phát hiện mã QR code, có kiểu dáng nhỏ gọn, dễ dàng lắp đặt, bảo trì, sửa chữa.

- Thiết kế mô hình phần cứng hệ thống phân loại sản phẩm.

- Thiết kế chương trình điều khiển PLC, thực hiện giám sát trên web và điều khiển bằng HMI.

- Cấu hình truyền thông giữa Laptop và PLC- Thiết kế giao diện HMI và giao diện giám sát trên Webserver- Hệ thống có khả năng phân loại được các sản phẩm bằng mã QR, cũng như sai mã QR.

Đối tượng nghiên cứu

- Hệ thống phân loại sản phẩm mã Qrcode.

- Phân loại sản phẩm bằng xi lanh, khí nén.

- Xử lí ảnh để phân loại sản phẩm.

- Giám sát hệ thống qua websever.

Phương pháp thực hiện

Bao gồm hai phương pháp thực hiện - Phương pháp nghiên cứu lý thuyết:

 Nắm bắt các nội dung kiến thức liên quan từ các tài liệu qua sách vở, các diễn đàn, internet.

 Tìm hiểu về các bài toàn, mô hình hóa giúp cho việc chọn các trang bị điện và cơ khí cho phần thiết kế hệ thống.

 Tìm hiểu các tài liệu, cơ sở lý thuyết về các loại động cơ, hệ thống cảm biến,…

 Tìm hiểu về phương pháp xử lí ảnh.

 Tìm hiểu về cơ sở lý thuyết, ứng dụng viết chương trình điều khiển hệ thống phân loại cho bộ điều khiển PLC.

- Phương pháp nghiên cứu thực nghiệm:

 Thực hiện nghiên cứu, tìm hiểu, lấy ý tưởng về các hệ thống, đề tài đã có, đã đi vào vận hành trong thực tế.

 Sử dụng phần mềm Visual studio code để lập trình xử lí ảnh và thiết kế websever để giám sát quá trình của hệ thống.

 Sử dụng phần mềm TIA Portal (SIMATIC STEP 7 & WINCC) điều khiển hệ thống.

 Sử dụng phần mềm CAD để thiết kế hệ thống cơ khí.

Dự kiến kết quả đạt được

- Xây dựng thành công mô hình cơ khí 2D hệ thống phân loại sản phẩm mã Qrcode bằng phần mềm CAD.

- Xây dựng được chương trình điều khiển cho hệ thống hoạt động ổn định theo dự kiến đề ra.

- Lắp ráp, hoàn thiện mô hình sản phẩm, vận hành đúng so với thực nghiệm.

Nội dung đề tài

Phần còn lại của đề tài có nội dung sau:

 Chương 2: Tổng quan giải pháp công nghệ - Trình bày các yêu cầu, quy trình công nghệ liên quan đến đề tài.

 Chương 3: Tính toán và thiết kế - Xây dựng mô hình, quy trình hệ thống, thiết kế phù hợp, lựa chọn thiết bị.

 Chương 4: Kết quả phần cứng và phần mềm - Thi công hệ thống thực tế dựa trên kết quả của việc tính toán và thiết kế.

 Chương 5: Kết quả chạy thực nghiệm - Trình bày kết quả đạt được về mô hình thực tế

 Chương 6: Kết luận và hướng phát triển - Đưa ra những quan điểm về mô hình và việc cải tiến, mở rộng phát triển.

TỔNG QUAN GIẢI PHÁP CÔNG NGHỆ

Tổng quan hệ thống

Hiện nay có hệ thống phân loại rất đa dạng, ứng dụng nhiều công nghệ khác nhau để phân loại:

Phân loại sản phẩm bằng mã QR đang được áp dụng phổ biến hiện nay Hệ thống này giúp phân loại các kiện hàng, bưu phẩm, sản phẩm thành phẩm đã được đóng thùng carton, đóng túi và dán mã QR.

- Ưu điểm: Hệ thống có thể dễ dàng sàng lọc và lựa chọn, gom sản phẩm vào các vị trí tập kết theo yêu cầu đặt ra như:

+ Với sản phẩm điện tử, công nghệ: phân theo cùng lô sản xuất, ngày sản xuất, model…

+ Với các bưu phẩm, đơn hàng chuyển phát nhanh: phân loại theo ngày lên đơn, cách thức đóng gói, địa điểm giao hàng, hàng chuyển nhanh-tiêu chuẩn…

+ Với các sản phẩm nông sản đóng gói: phân loại theo hạn sử dụng, số lô chế biến, cấp sản phẩm…

- Nhược điểm là cần sử dụng nhiều máy đọc mã trong khâu nhận dạng mới cho kết quả mong muốn.

Hình 2 7 Hệ thống phân loại sản phẩm theo mã vạch

 Phân loại theo khối lượng : dùng cảm biến tích hợp trên băng tải để cân đo khối lượng sau đó gửi tín hiệu về bộ điều khiển để phân loại

- Ưu điểm: Ứng dụng nhiều trong các ngành thực phẩm, thủy hải sản, nông sản,… - Nhược điểm của hệ thống là dễ bị nhiễu do tác động bên ngoài, tốn kém nhiều khi sử dụng cảm biến.

Hình 2 8 Hệ thống phân loại sản phẩm theo khối lượng

 Phân loại theo màu sắc, kích thước, hình dạng: có thể sử dụng cảm biến hoặc camera để xác định màu sắc, hình dạng, kích thước của vật

- Ưu điểm: Ứng dụng nhiều trong các ngành nông nghiệp, thực phẩm, dầu, hóa chất, công nghiệp dược phẩm, linh kiện điện tử, thiết bị y tế…

- Nhược điểm là khi đặt trong điều kiện ánh sáng không tốt thì khó ra kết quả chính xác.

Hình 2 9 Hệ thống phân loại sản phẩm theo màu sắc

Hệ thống phân loại dùng xử lý ảnh hiện nay đang được dùng rất nhiều trong công nghiệp với độ tin cậy cao Các hệ thống phân loại trước kia như đọc mã vạch, mã QR, thay vì dùng một công cụ riêng biệt thì công nghệ phân loại dùng xử lý ảnh đều đáp ứng hầu hết các yêu cầu về nhận dạng Trong dây chuyền sản xuất khâu đóng gói và kiểm tra là công đoạn cuối cùng của quá trình sản xuất vì vậy cần phải kiểm tra kĩ lưỡng chính xác số lượng cũng như chất lượng.

Hệ thống phân loại sản phẩm dùng xử lý ảnh dùng công nghệ xử lý hình ảnh trên dây chuyền nhận dạng và phân loại sản phẩm lỗi và sản phẩm đạt chuẩn Hệ thống bao gồm camera có chức năng thu thập hình ảnh sau đó xử lý để phát hiện,ngõ ra của bộ xử lý trả tín hiệu về bộ xử lý trung tâm.

Qr code là gì ?

QR Code (Mã QR) là mã phản hồi nhanh, mã vạch ma trận hoặc mã vạch 2 chiều Vào năm 1994, Denso Wave (thuộc Toyota) phát minh ra mã QR QR Code có thể được quét nhanh chóng bằng đầu đọc mã vạch hoặc điện thoại thông minh có camera và ứng dụng quét mã, giúp người dùng thuận tiện hơn Về cấu tạo, QR Code gồm các ô vuông đen trên nền trắng được sắp xếp trong lưới vuông, với 3 ô vuông lớn ở góc dùng để định vị hình ảnh, còn lại là thông tin định dạng, mã sửa lỗi và dữ liệu.

Hình 2.4 Mô tả QR code

+ (1) Hoa văn định vị (Finder pattern): Các hoa văn định vị nằm ở 3 góc của mã QR Mục đích của chúng là biểu thị hướng cho mã, giúp camera có thể xác định được phạm vi mã cũng như đọc thông tin ngay trong trường hợp mã bị biến dạng

+ (2) Thông tin định dạng (Format Information): Các mẫu định dạng có chức năng sửa lỗi, quyết định mức độ sửa lỗi của mã QR Để giúp cho việc cân bằng giữa các ô đen và trắng trên mã, chức năng Mask được thiết lập Dựa vào 8 loại nguyên tắc, các thông tin lưu trên mã QR vẫn đảm bảo sự toàn vẹn cũng như màu sắc của các ô đen trắng để bảo đảm sự cân bằng

+ (3) Vùng dữ liệu (Data): Chứa những dữ liệu thực tế

+ (4) Mô-đun (Module): Các ô đen mã QR chứa các đoạn mã nhị phân và mang giá trị là 1, các ô trắng có giá trị là 0 Tập hợp các ô chính là các thông tin lưu trữ vào mã QR

+ (5) Ký hiệu căn chỉnh (Alignment pattern): Giúp định hướng mã QR, có thể giải mã từ mọi góc độ Ngay cả khi mã đang ngược hoặc ở một góc khác, máy vẫn có thể đọc được mã một cách dễ dàng.

+ (6) Mẫu thời gian (Timing pattern): Khi sử dụng mẫu này, máy quét có thể biết được độ lớn của ma trận dữ liệu 7

+ (7) Thông tin phiên bản (Version pattern): Chỉ định phiên bản của mã QR, được xác định bởi số lượng mô-đun Hiện tại, có tất cả 40 phiên bản từ 1 đến 40 Phiên bản 1 gồm 21 mô-đun, mỗi phiên bản tiếp theo sẽ tăng thêm 4 môđun cho đến khi đạt đến phiên bản 40 với tổng số 177 mô-đun Càng nhiều môđun bên trong mã QR, nó sẽ có nhiều dung lượng lưu trữ hơn Đối với mục đích tiếp thị, thường dũng mã QR với phiên bản từ 1 đến 7

+ (8) Vùng yên tĩnh (Quiet zone): Đây là không gian trống xung quanh mã, cho phép bộ đọc mã phân biệt mã QR với môi trường xung quanh - Đặc điểm: Cùng là mã vạch nhưng QR Code lại là phiên bản cải tiến của mã vạch truyền thống Mã vạch truyền thống là một dãy các vạch được xếp liền kề nhau, chỉ chứa được tối đa 20 ký tự số, trong khi đó thì mã QR có khả năng chứa tối đa 7.089 ký tự số và 4.296 ký tự chữ số Điều này cho phép lượng thông tin truyền tải sẽ nhiều hơn, hỗ trợ tốt hơn cho người dùng, đặc biệt là những doanh nghiệp kinh doanh muốn gửi thông điệp đến khách hàng của mình Không chỉ thế, nếu so về kích thước thì QR Code chiếm ít không gian hơn rất nhiều so với mã vạch truyền thống Nếu in trên sản phẩm hoặc danh thiếp thì sẽ nhỏ gọn và tăng tính thẩm mỹ hơn Một mã QR có thể chứa đựng một địa chỉ web (URL), các thông tin liên hệ của cá nhân hoặc doanh nghiệp như sản phẩm, địa chỉ email, số điện thoại, địa chỉ nhà, tin nhắn SMS,…

Cũng tùy thuộc vào thiết bị đọc mã QR mà khi quét nó sẽ dẫn tới một trang web,gọi đến một số điện thoại, xem một tin nhắn,…

Hình 2.5 Mã vạch truyên thống và mã QR code

Phương pháp tạo mã QR code

Có nhiều phương pháp để tạo mã QR code Dưới đây là các phương pháp phổ biến để tạo mã QR code:

- Sử dụng công cụ tạo mã QR trực tuyến: Có nhiều công cụ trực tuyến miễn phí và trả phí có sẵn để tạo mã QR code Chúng ta có thể tìm kiếm trên web để tìm các công cụ này và làm theo hướng dẫn trên trang web để tạo mã QR code theo nhu cầu của bạn Các công cụ này thường cho phép tùy chỉnh nội dung, kích thước, màu sắc và kiểu mã QR.

- Sử dụng thư viện mã hóa QR code trong ngôn ngữ lập trình: Đối với các nhà phát triển, chúng ta có thể sử dụng thư viện mã hóa QR code có sẵn trong nhiều ngôn ngữ lập trình để tạo mã QR code theo mã hóa Ví dụ: Python có thư viện qrcode, Java có thư viện zxing, JavaScript có thư viện qrcode.js, và nhiều ngôn ngữ khác cũng có thư viện tương tự Chúng ta có thể sử dụng thư viện này để tạo mã QR code và tùy chỉnh các thông số như nội dung, kích thước, màu sắc và hiệu ứng.

- Sử dụng ứng dụng di động: Có nhiều ứng dụng di động miễn phí và trả phí có sẵn trên các nền tảng Android và iOS để tạo mã QR code Chúng ta có thể tìm kiếm trong cửa hàng ứng dụng của điện thoại di động và tải xuống ứng dụng phù hợp Những ứng dụng này thường cho phép nhập nội dung và tùy chỉnh mã QR code trên điện thoại di động của bạn. Ở đồ án này, chúng em sử dụng ngôn ngữ lập trình python trong Visual StudioCode để tạo ra mã QR.

Tổng quan về xử lý ảnh và đọc mã QR code

OpenCV là một thư viện nguồn mở được thiết kế để xử lý hình ảnh và phát triển các ứng dụng đồ họa trực tiếp Nó cung cấp một bộ sưu tập các mã nguồn mở được sử dụng rộng rãi để giải quyết các vấn đề về thị giác máy tính, từ xử lý hình ảnh đến nhận dạng đối tượng và theo dõi chuyển động.

OpenCV cho phép cải thiện tốc độ của CPU khi thực hiện các hoạt động real time.

Nó còn cung cấp một số lượng lớn các mã xử lý phục vụ cho quy trình của thị giác máy tính hay các learning machine khác.

OpenCV sở hữu giao diện thiên thiện với mọi loại ngôn ngữ lập trình, ví dụ như C+

+, C, Python hay Java… Ngoài ra, nó cũng dễ dàng tương thích với các hệ điều hành khác nhau, bao gồm từ Windows, Linux, Mac OS, iOS cho đến cả Android.

Thư viện Ooencv được ứng dụng vào rất nhiều trường hợp khác nhau Như các phần mềm định vị, bản đồ nói chung, nhà cung cấp dữ liệu hình ảnh cho các app về Map, khởi tạo ra những hình ảnh 3 chiều phức tạp, tất cả những ứng dụng công nghệ như robot, xe tự lái, bảng cảm ứng thông minh… Thư viện sử dụng nhiều ngôn ngữ lập trình phổ biến như: ngôn ngữ lập trình C+ +/C# ngôn ngữ lập trình Java và Python. Đặc điểm OpenCV OpenCV Là một thư viện mở nên sử dụng các thuật toán một cách miễn phí, cùng với việc chúng ta cũng có thể đóng góp thêm các thuật toán giúp Thư viện thêm ngày càng phát triển Các tính năng của thư viện OpenCV:

- Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng.

- Về Video cũng tương tự như hình ảnh cũng có đọc và ghi

- Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh

- Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh.

- Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh.

- Phân tích video, ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối tượng trong video.

Với Python là ngôn ngữ lập trình chính của đề tài, OpenCV có thể được phát triển dễ dàng hơn nhờ sự nhẹ nhàng và đơn giản của ngôn ngữ này Các câu lệnh ngắn gọn và cú pháp đơn giản của Python giúp người dùng, đặc biệt là những người mới bắt đầu, có thể tiếp cận và sử dụng OpenCV hiệu quả.

2.4.2 Giới thiệu về xử lí ảnh 2.4.2.1 Tổng quan về sử lí ảnh

Xử lý ảnh là một lĩnh vực xử lý tín hiệu với tín hiệu đầu vào là ảnh số và đầu ra là các giá trị, thuộc tính mong muốn Kỹ thuật này là một tập hợp các phương pháp tính toán và biến đổi để truyền tải hoặc mã hóa các ảnh tự nhiên thu được để làm tăng chất ảnh hoặc nhận dạng ảnh, phán đoán ảnh và đánh giá các nội dung của ảnh. Đây là một ngành khoa học mới rất phát triển trong những năm gần đây mang lại rất nhiều lợi ích cho cuộc sống con người như:

 Lĩnh vực bảo mật: Nhận dạng vân tay, khuôn mặt…

 Lĩnh vực giao tiếp giữa người và máy: tương tác với vật thể, dò line, tránh vật cản…

 Lĩnh vực giải trí: Trò chơi điện tử thực tế ảo…

 Lĩnh vực y tế: Chụp X-quang, MRI…

2.4.2.2 Quá trình xử lí ảnh Ảnh số là một tập hợp từ hàng nghìn cho tới hàng triệu điểm ảnh (pixel) Số điểm ảnh xác định độ phân giải của bức ảnh, độ phân giải càng cao thì bức ảnh càng sắc nét và ngược lại Mỗi điểm ảnh sẽ có hai thuộc tính (x, y) tương ứng là tọa độ theo phương ngang và dọc của chúng trên ảnh Trong quá trình xử lý ảnh, việc tính toán thực hiện trực tiếp trên các điểm ảnh Sau đây là các quá trình trong xử lý ảnh:

- Quá trình thu nhận ảnh: Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor quang hoặc máy scanner… và sau đó các tín hiệu này sẽ được số hóa Việc lựa chọn các thiết bị thu nhận ảnh sẽ phụ thuộc vào đặc tính của các đối tượng cần xử lý Các thông số quan trọng cần quan tâm là độ phân giải, chất lượng màu, dung lượng bộ nhớ và tốc độ thu nhận ảnh của các thiết bị.

- Quá trình tiền xử lý ảnh:Ở bước này, ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng… nhằm tạo ra chất lượng ảnh tốt hơn nữa tạo thuận lợi cho các bước xử lý phức tạp hơn về sau Quá trình này thường được thực hiện bởi các bộ lọc.

Phân đoạn ảnh, một bước then chốt trong xử lý ảnh, giúp phân tích ảnh thành các phần chuẩn, xác định các vùng liên thông đồng màu hoặc mức xám Mục đích của phân đoạn là tổng hợp mô tả các phần tử cấu thành ảnh thô Quá trình này cho phép chọn lọc thông tin, giảm khối lượng dữ liệu và tăng tốc độ xử lý, đặc biệt hữu ích khi các ứng dụng chỉ quan tâm đến một số đối tượng đặc trưng.

Kết quả phân đoạn ảnh thường là dữ liệu điểm ảnh thô chứa đường viền hoặc tất cả điểm ảnh của vùng ảnh Cần chuyển đổi dữ liệu này sang dạng phù hợp hơn để xử lý trên máy tính Việc biểu diễn vùng ảnh dưới dạng đường viền phù hợp với ứng dụng chỉ quan tâm đến đặc điểm hình dạng bên ngoài của vật thể, còn dạng vùng lại thích hợp cho ứng dụng khai thác tính chất bên trong Cần có phương pháp mô tả dữ liệu đã được chuyển đổi để làm nổi bật tính chất cần quan tâm, thuận tiện cho việc xử lý.

- Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình xử lý ảnh Nhận dạng ảnh có thể hiểu một cách đơn giản là gán nhãn cho các đối tượng trong ảnh Ví dụ như chữ viết, các đối tượng trong ảnh cần nhận dạng là các mẫu chữ Cần tìm cách tách riêng các mẫu chữ đó ra và tìm cách gán đúng các kí tự trong bảng chữ cái cho mẫu chữ thu được trong ảnh Giải thích là công đoạn gán nghĩa cho một tập các đối tượng đã được nhận biết.

Không phải bất kì một ứng dụng xử lý ảnh nào cũng bắt buộc phải tuân thủ theo tất cả các bước xử lý trên Một cách tổng quát thì những chức năng xử lý bao gồm cả nhận dạng và giải thích thường chỉ có mặt trong hệ thống phân tích ảnh tự động hoặc bán tự động, được dùng để rút ra những thông tin quan trọng từ ảnh, ví dụ như các ứng dụng nhận dạng kí tự, biển số, …

2.4.3 Xử lí ảnh và đọc mã QR code Ở đề tài này, thì ta xử lý ảnh để đọc mã QR code như sau:

 Đọc ảnh: Đầu tiên, chúng ta cần đọc và tải ảnh chứa mã QR code Có nhiều thư viện và công cụ có sẵn để đọc ảnh, ta sử dụng thư viện OpenCV trong Python.

 Chuyển đổi ảnh sang định dạng phù hợp: Sau khi đọc ảnh, chúng ta thường cần chuyển đổi ảnh sang một định dạng phù hợp để phục vụ cho việc xử lý tiếp theo Trong trường hợp đọc mã QR code, chúng ta thường chuyển đổi ảnh sang định dạng grayscale (ảnh xám) để giảm kích thước dữ liệu và tăng tốc độ xử lý.

 Tìm kiếm mã QR code: Tiếp theo, chúng ta sử dụng các thuật toán như thuật toán xác định vùng (region detection) để tìm kiếm các vùng chứa mã QR code trong ảnh Mã QR code thường có các đặc điểm như vị trí mẫu, hình dạng hình vuông và các góc vuông Chúng ta có thể sử dụng các phương pháp như phát hiện cạnh (edge detection) và phân đoạn (segmentation) để tìm và phân loại các vùng thích hợp.

Giới thiệu về PLC

PLC viết tắt của Programmable Logic Controller là thiết bị điều khiển khả trình cho phép thực hiện linh hoạt các thuật toán điều khiển logic thông qua một ngôn ngữ lập trình Người sử dụng có thể lập trình để thực hiện một loạt trình tự các sự kiện Các sự kiện này được kích hoạt bởi tác nhân kích thích tác động vào PLC hoặc qua các bộ đếm, thời gian Một khi sự kiện được kích hoạt, ngõ ra sẽ bật hoặc tắt các thiết bị ngoại vi. Để khắc phục những nhược điểm của bộ điều khiển dùng dây nối, người ta đã chế tao bộ điều khiển PLC nhằm thoả mãn các yêu cầu sau: o Lập trình dễ dàng, ngôn ngữ lập trình dễ học. o Gọn nhẹ, dễ bảo quản, sửa chữa. o Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp. o Hoạt động ổn định trong môi trường công nghiệp. o Giao tiếp được với các thiết bị thông minh khác như máy tính, internet, các module mở rộng.

Công việc chỉ cần thay đổi chương trình bên trong bộ nhớ PLC Việc thay đổi hay mở rộng chức năng sẽ được thực hiện một cách dễ dàng mà không cần một sự can thiệp vật lý nào so với các bộ dây nối hay Relay.

Cấu trúc tổng quan I/O của

2.5.2 Những đặc điểm nổi bật của S7-

 Tích hợp cổng truyền thông Profinet (Ethernet) tạo sự dễ dàng kết nối Simatic S7 – 1200 với Simatic HMI Basic được lập trình chung trên một nền phần mềm là TIA Portal V10.5 (Simatic Step 7 Basic, WinCC Basic) hoặc version cao hơn Các thao tác lập trình thực hiện theo cách kéo – thả, do đó tạo sự dễ dàng cho người sử dụng, lập trình nhanh chóng, đơn giản.

 Tích hợp sẵn các đầu vào ra, cùng với các board tín hiệu mở rộng, khi ứng dụng cần lượng đầu vào ra lớn sẽ tiết kiệm được chi phí và không gian tủ điện.

 S7–1200 bao gồm các họ CPU 1211C, 1212C, 1214C Mỗi loại CPU có những tính năng khác nhau, thích hợp cho từng loại ứng dụng

 Các kiểu cấp nguồn và đầu vào ra có thể là DC/DC/DC hay DC/DC/Rly

 Đều có khe cắm thẻ nhớ, dùng cho khi mở rộng bộ nhớ cho CPU, copy chương trình ứng dụng hay cập nhật firmware

 Chẩn đoán lỗi online/offline

 Đồng hồ thời gian thực cho các ứng dụng thời gian thực

Phần mềm lập trình cho PLC s7 – 1200

Totally Integrated Automation Portal (TIA Portal): là phần mềm cung cấp một môi trường thân thiện với người dùng, từ lập trình hiệu chỉnh, thư viện, và bộ điều chỉnh logic cần thiết đến ứng dụng điều khiển.

Phần mềm lập trình TIA Portal V15 giúp người dùng dễ dàng phát triển, tích hợp các hệ thống tự động hóa một cách thuận tiện, giảm thiểu thời gian trong việc tích hợp, xây dựng ứng dụng từ những phần mềm riêng biệt, gây khó khăn và dễ gặp lỗi.

TIA Portal là phần mềm cơ sở để tích hợp các phần mềm lập trình của Siemens lại với nhau, cùng một cơ sở dữ liệu chung Từ đó tạo nên tính thống nhất trong giao diện và tính toàn vẹn cho các ứng dụng Tất cả các bộ điều khiển PLC, màn hình HMI, các bộ truyền động của Siemens đều được lập trình, cấu hình trên TIA Portal.

Việc này giúp giảm thời gian trong việc thiết lập truyền thông giữa các thiết bị này.

2.6.2 Giao diện phần mềm TIA Portal

Phần mền TIA PORTAL V16 làm nhiệm vụ trung gian giữa người dùng, người lập trình và PLC Các bước để tạo một project trên phần mềm :

Bước 1: Kích đúp vào biểu tượng của TIA Portal V16.

Hình 2.9 Icon TIA Portal V15 hiển thị trên máy tính

Bước 2: Ở phần Start, kích chuột vào Create New Project để tạo dự án mới.

Bước 3: Tạo tên của Project,sau đó kích Create.

Hình 2.11 Đặt tên cho Project

Bước 4: Kích vào Configure a device trước khi kích vào Write PLC program để chọn cấu hình PLC được sử dụng trong Project.

Hình 2.12 Thiết lập cấu hình cho PLC

Bước 5: Kích Add new device, chọn loại CPU định sử dụng, ở đây chúng ta sử dụng CPU 1211 AC/DC/Rly

Hình 2.13 Chọn cấu hình phù hợp với PLC

Bước 6: Giao diện của TIA PORTAL

Hình 2.14 Giao diện TIA PORTAL

2.6.3 Sử dụng bảng Tag trong PLC

Sau khi có được giao diện, ta tiến hành gắn Tag được sử dụng trong chương trình.

Tag dùng để khai báo các biến sử dụng trong chương trình, được sử dụng mọi khối chứng năng trong PLC.

Hình 2.15 Giao diện khai báo các biến TIA PORTAL

- Name: Tên kí hiệu của địa chỉ, chỉ được sử dụng 1 tên cho 1 địa chỉ duy nhất trong tag.

- Data type: kiểu dữ liệu của tag (Bool, Word,Real…).

- Address: địa chỉ của tag.

- Retain: khai báo của tag sẽ được lưu trữ lại.

- Comment : comment miêu tả của tag.

- Tag table : địa chỉ của mỗi I/O, có thể thiết lập tự động hay thủ công.

- Visible : luôn hiện hữu địa chỉ này trong cả chương trình.

- Accessible : cho phép truy cập vào địa chỉ trong bảng tag.

- Comment : ghi chú thích vào địa chỉ nhăm giải thích địa chỉ đó biểu trưng cho I/O nào.

Sau khi khai báo tag, ta vào MAIN, ở đây ta có được giao diện chính dùng để viết chương trình:

Hình 2.16 Giao diện soạn thảo TIA PORTAL

Thanh công cụ Menu chính

2.6.4 Tải chương trình xuống CPU Đầu tiên phải thiết lập địa chỉ IP để kết nối PLC với máy tính lúc chọn lại CPU, chọn online access. Đổ từ màn hình soạn thảo chương trình bằng cách kích vào biểu tượng download trên thanh công cụ của màn hình.

Hình 2.17 Đổ chương trình vào PLC

Chọn cấu hình Type of the PG/PC interface và PG/PC interface, tiến hành Search thiết bị, sau đó nhấn chọn Load.

Hình 2.18 Thiết lập liên kết giữa máy tính và PLC

Chọn Start all để tiến hành khởi động module PLC, và nhấn Finish

Hình 2.19 Khởi động Module PLC

Giới thiệu về WinCC

WinCC (Windows Control Center) là phần mềm của hãng Siemens dùng để giám sát, điều khiển và thu thập dữ liệu trong quá trình hoạt động của hệ thống, quy trình sản xuất, là một phần mềm chuyên dụng dùng để thiết kế các giao diện giao tiếp giữa người và máy HMI (Human Machine Interface) lưu trữ và xử lý dữ liệu trong hệ thống Scada (Supervisory Control And Data Acquisition).

Chức năng chính của phần mềm WinCC là thu thập số liệu, giám sát và điều khiển quá trình sản xuất Người sử dụng WinCC có thể trao đổi dữ liệu với các thiết bị PLC của nhiều hãng khác nhau, chẳng hạn như Mitsubishi, Omron, Siemens Việc trao đổi dữ liệu này được thực hiện thông qua cổng COM sử dụng chuẩn RS232 trên máy tính (PC) và chuẩn RS485 trên PLC.

WinCC được sử dụng để mô phỏng lại các sự kiện diễn ra trong quá trình điều khiển một hệ thống dưới dạng chuổi sự kiện, cho phép người dùng vận hành và điều khiển giám sát tình trạng của hệ thống, thu thập số liệu, thực hiện các thao tác điều khiển thông qua giao diện HMI.

WinCC có 4 phiên bản chính là:

• Wincc Basic để thiết lập cho màn hình HMI cơ bản, đính kèm với trong mỗi phần mềm STEP 7 Basic and STEP 7 Professional.

• Wincc Comfort để thiết lập cho tất cả các màn hình HMI (Bao gồm Comfort HMI và điện thoại di động).

• Wincc Advanced để thiết lập cho tất cả các màn hình HMI và máy tính với phần mềm hiển thị Wincc Runtime Advanced.

Hình 2.20 Hình ví dụ cho WinCC

2.7.2 Các đặc điểm chính của Wincc

- Sử dụng công nghệ phần mềm tiên tiến: nhờ sự cộng tác của Siemens và Microsoft người dùng có thể yên tâm với sự phát triển của công nghệ phần mềm

- Hệ thống khách chủ với các chức năng SCADA: ngay từ hệ thống WinCC cơ sở đã có thể khởi động các yêu cầu hiển thị phức tạp Việc gọi những hình ảnh(picture), các cảnh báo (alarm), đồ thị trạng thái (trend), các báo cáo (report) có thể dễ dàng được thiết lập.

- Có thể nâng cấp mở rộng một cách dễ dàng từ đơn giản đến phức tạp.

- Cơ sở dữ liệu Odbe/Sql đã được tích hợp sẵn

- Các giao thức chuẩn mạnh (dde, ole, active, ope) - Ngôn ngữ vạn năng.

- Cài đặt phần mềm với khả năng lựa chọn ngôn ngữ.

- Giao tiếp hầu hết với các loại PLC

Các cấu hình hệ thống cơ bản: WinCC có thể hỗ trợ các cấu hình từ thấp đến cao, ví dụ như trong các cấu hình như sau.

- Hệ thống điều khiển dùng 1 máy tính (sing-user system).

- Hệ thống điều khiển dùng nhiều máy tính (nuti-user system).

- Cấu trúc Client/Server có dự phòng.

- Cấu trúc phân tán với nhiều trạm chủ (sever).

2.7.3 Cấu hình giao diện Wincc Để cấu hình kết nối WinCC với PLC Ta tiến hành theo các bước sau:

- B1: Tạo Project và lập trình cho PLC - B2: Khai báo địa chỉ IP cho PLC và máy tính + Đặt địa chỉ cho PLC: Chọn PLC1 (CPU)/Device configuration/FROFINET interface/Khai báo địa chỉ IP cho PLC (Ví dụ: 192.168.0.1)

Hình 2.21 Khai báo địa chỉ IP cho PLC

- B3: Khai báo cửa sổ Wincc advanced.

+ Tại cửa sổ TIA Portal chọn Add new device/PC System/PC Station + Click PC

Station/Click đúp vào IE general/Click đúp vào Wincc RT Advanced.

Hình 2.22 Khai báo của cửa số WinCC Advanced

+ Chọn Device & Network/Chọn Connection và nối dây giữa PLC với máy tính/Click vào biểu tượng Show address labels để kiểm tra lại địa chỉ IP đã đặt ở bước 1

Hình 2 23 Connect và nối dây với máy tính

Webserver

Web Server được hiểu là máy chủ web Máy chủ web là một máy tính lớn có chứa toàn bộ dữ liệu mà nó được cấp quyền quản lý như hình ảnh, âm thanh, tập tin, Và chịu trách nhiệm thực hiện kết nối mở rộng với các mạng máy tính khác. Ở mỗi Web Server sẽ có một địa chỉ IP riêng và có khả năng đọc đa dạng ngôn ngữ.

Bên cạnh việc quản lý dữ liệu được tải lên của người dùng, Web Server còn cung cấp thông tin, dữ liệu đó cho các máy chủ khách bằng HTTP trong môi trường có kết nối Internet Để đảm bảo Web Server luôn hoạt động tốt, cần có dung lượng lớn và tốc độ kết nối Internet cao.

2.6.1 Ngôn ngữ lập trình Python

Python là ngôn ngữ lập trình máy tính bậc cao thường được sử dụng để xây dựng trang web và phần mềm, tự động hóa các tác vụ và tiến hành phân tích dữ liệu.

Python là ngôn ngữ có mục đích chung, nghĩa là nó có thể được sử dụng để tạo nhiều chương trình khác nhau và không chuyên biệt cho bất kỳ vấn đề cụ thể nào.

Hình 2.24 Ngôn ngữ lập trình python

Python là ngôn ngữ được ứng dụng đa dạng trong các lĩnh vực:

- Làm Web với các Framework của Python: Django và Flask là 2 framework phổ biến hiện nay dành cho các lập trình viên Python để tạo ra các website

- Tool tự động hóa: các ứng dụng như từ điển, crawl dữ liệu từ website, tool giúp tự động hóa công việc được các lập trình viên ưu tiên lựa chọn Python để viết nhờ tốc độ code nhanh của nó.

- Khoa học máy tính: Trong Python có rất nhiều thư viện quan trọng phục vụ cho ngành khoa học máy tính như: OpenCV cho xử lý ảnh và machine learning, Scipy và Numpys cho lĩnh vực toán học, đại số tuyến tính, Pandas cho việc phân tích dữ liệu, …

- Lĩnh vực IoT: Python có thể viết được các ứng dụng cho nền tảng nhúng, đồng thời cũng được lựa chọn cho việc xử lý dữ liệu lớn Vì thế Python là một ngôn ngữ quen thuộc trong lĩnh vực Internet kết nối vạn vật.

- Làm game: Pygame là một bộ module Python cross-platform được thiết kế để viết game cho cả máy tính và các thiết bị di động.

- Visual Studio Code chính là ứng dụng cho phép biên tập, soạn thảo các đoạn code để hỗ trợ trong quá trình thực hiện xây dựng, thiết kế website một cách nhanh chóng Trình soạn thảo này vận hành mượt mà trên các nền tảng như Windows, macOS, Linux Hơn thế nữa, VS Code còn cho khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng dễ dàng.

- Visual Studio Code (viết tắt là VS Code) là một trình soạn thảo mã nguồn mở và miễn phí được phát triển bởi Microsoft Nó hỗ trợ nhiều ngôn ngữ lập trình như C, C ++, Ruby, Python, PHP, JavaScript, và nhiều hơn nữa.

HTML (viết tắt của Hypertext Markup Language hay ngôn ngữ đánh dấu siêu văn bản) là ngôn ngữ đánh dấu được dùng để tạo các trang siêu văn bản được sử dụng trên mạng internet (hay trang web) Gọi là ngôn ngữ đánh dấu là vì HTML sử dụng các thẻ để định nghĩa (hay đánh dấu) các thành phần khác nhau trên trang web.

Có bốn loại phần tử đánh dấu trong HTML:

 Đánh dấu có cấu trúc miêu tả mục đích của phần văn bản

 Đánh dấu trình bày miêu tả phần hiện hình trực quan của phần văn bản bất kể chức năng của nó là gì

 Đánh dấu liên kết ngoài chứa phần liên kết từ trang này đến trang kia

 Các phần tử thành phần điều khiển giúp tạo ra các đối tượng

CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu(HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…

Thư viện mã nguồn mở Snap7

Snap7 là một thư viện mã nguồn mở hỗ trợ giao tiếp Ethernet đa nền tảng, đặc biệt phù hợp khi giao tiếp dữ liệu trực tiếp giữa các dòng PLC của Siemens và các thiết bị phần cứng không phải của Siemens Thư viện này hỗ trợ từ các dòng CPU cũ như S7-200, S7-300 đến các dòng CPU mới nhất S7-1200, S7- 1500 và một phầnSimatic Drives Mặc dù thư viện được thiết kế để khắc phục tình trạng của máy chủ

OPC khi truyền thông lượng lớn dữ liệu tốc độ cao trong công nghiệp thì Snap7 vẫn phù hợp với các ứng dụng giao tiếp ethernet cho các board mạch quy mô nhỏ hơn.

Thư viện tập trung vào giao tiếp PC-PLC gồm ba thành phần chuyên biệt là Server, Client và Partner cho phép tích hợp hoàn toàn chương trình phát triển trên PC vào hệ thống tự động hóa. Đặc điểm chính: o Được thiết kế phù hợp với cả hai cấu trúc 32/64 bit o Hỗ trợ hầu hết các CPU phổ biến hiện nay như Intel, AMD i386/x86_64, ARM, … o Nền tảng độc lập, hiện tại đang hỗ trợ đa hệ điều hành như Window (từ NT 4.0 cho đến Window 10), Linux, BSD, Oracle Solaris 11, Apple OSX. o Mã nguồn mở, có thể mở rộng, miễn phí cho cả hai mục đích giáo dục và thương mại, không phụ thuộc bất kì bên thứ ba nào, không cần cấu hình. o Ba mô hình luồng khác nhau tối ưu hóa hiệu suất: luồng Win32, luồng Posix, 11 luồng Solaris. o Hai mô hình truyền dữ liệu: Đồng bộ cổ điển và không đồng bộ. o Hai mô hình luồng dữ liệu: Thăm dò và không yêu cầu (PLC có thể truyền dữ liệu khi nó muốn) o Hai cổng chuyên dụng: Settimino và Moka7 cho phép giao tiếp giữa các S7 PLC và Arduino hoặc các thiết bị Android.

Như đã giới thiệu, để giao tiếp giữa chương trình PC và Siemens PLCs có thể dùng thư viện Snap7 Tuy nhiên để làm việc với thư viện này bằng một ngôn ngữ thông dịch như Python cần đến Python-Snap7.

Python-Snap7 là một “Python wrapper” cho thư viện Snap7 để tích hợp vào một chương trình Python Đây là một dự án được phát triển bởi Gijs Molenaar vàStephan Preeker trên Github cho phép làm việc với thư viện Snap7 bằng ngôn ngữ lập trình Python Python – snap7 đã có sẵn trên PyPi và có thể cài đặt bằng cách sử dụng lệnh “pip install python-snap7”.

TÍNH TOÁN VÀ THIẾT KẾ

Tính toán và thiết kế phần cứng

Mặc dù mô hình thiết kế dành cho đồ án tốt nghiệp không thể đáp ứng đầy đủ yêu cầu thực tiễn và phân loại phức tạp, nhưng vẫn phải đảm bảo các yêu cầu kỹ thuật chung sau:

- Mô hình cơ bản phải phù hợp với nguyên lý phân loại trong thực tế;

- Lắp ráp, đấu nối và vận hành điều khiển dễ dàng;

- Sử dụng các vật tư, thiết bị, linh kiện thông dụng để dễ dàng thay thế sữa chữa;

- Đảm bảo tính thẩm mỹ và gọn gàng Các cơ cấu truyền động, kết nối phải đảm bảo cứng vững và tuổi thọ cao

3.1.1.2 Lựa chọn phương án thiết kế

Với những yêu cầu kỹ thuật đã phân tích ở trên, kết hợp với một số tài liệu tham khảo, nhóm quyết định sẽ sử dụng công nghệ phân loại sản phẩm bằng phương pháp xử lý ảnh thông qua thư viện OpenCV kết hợp với PLC S7 – 1200 cho đề tài.

Nhóm chọn phương án thiết kế này vì nó dễ lắp đặt và thi công mô hình chi phí không cao, còn những phương án thiết kế khác thì chi phí lắp đặt cao, nhiều thiết bị vật liệu khó tìm.

Mô hình của nhóm mô phỏng lại một hệ thống như trong thực tế Phương án thiết kế mô hình gồm các phần chính như sau:

• Sử dụng băng tải để vận chuyển sản phẩm

• Sử dụng xilanh để đẩy sản phẩm vào ô chứa

• Sử dụng cảm biến để đếm sản phẩm

• Sử dụng nguồn điện 220, nguồn tổ ong 24V

• Sử dụng camera điện thoại để xử lý ảnh thông qua thư viện OpenCV.

• Sử dụng PLC S7 1200 CPU 1211C AC/DC/Rly để lập trình điều khiển quá trình hoạt động của mô hình.

Mô hình ở đề tài được hướng thiết kế theo mô hình phân loại sản phẩm thực tế với các chức năng được mô phỏng tương tự gồm có:

- Bảng điều khiển trên tủ điện + Nút nhấn Start

3.1.2 Bản thiết kế của hệ thống trên CAD

Việc thiết kế hệ thống dựa trên sản phẩm thực tế, liên quan đến khối lượng, kích thước để từ đó thiết kế băng tải phù hợp hệ thống Băng tải có kích thước 12x50x10 (cm) a Thiết kế băng tải

Hình 3 1 Mô hình thiết kế băng tải hệ thống b Thiết kế máng trượt và gá đỡ camera

Hình 3 2 Thiết kế máng trượt sản phẩm

Hình 3 3 Thiết kế gá đỡ camera c Thiết kế ống chứa phôi và đế ống chứa phôi

Hình 3 4 Thiết kế ống chứa phôi

Hình 3 5 Thiết kế đế ống chứa phôi c Thiết kế khung mô hình

Hình 3 6 Thiết kế Khung mô hình

Hình 3 7 Bản vẽ cad tổng thể của hệ thống

Thiết kế sơ đồ khối hệ thống

Hình 3 8 Sơ đồ khối của hệ thống

 Chức năng của từng khối:

- Khối nguồn: cung cấp nguồn cho toàn bộ hệ thống

- Nút nhấn, ngõ vào ra tác động:

+ Ngõ vào gồm nút nhấn để tác động vào hệ thống hoạt động, dừng, dừng khẩn cấp, cảm biến quang giúp phát hiện sản phẩm đến hành trình hay chưa.

+ Ngõ ra cụm van solenoid để điều khiển xilanh khí nén.

- Tín hiệu hình ảnh từ camera: truyền hình ảnh từ camera đến thư viện OpenCV.

- Khối xử lý : thu nhận hình ảnh, xử lý ảnh đếm số lượng sản phẩm và quét mã QR gửi tín hiệu về PLC.

+ Thu nhận tín hiệu nút nhấn, cảm biến tác động vào ngõ ra động cơ, xilanh hệ thống

+ Thu nhận tín hiệu từ Camera để xác định sản phẩm thuộc loại nào.

+ Gửi tín hiệu về Webserver

- Giao diện giám sát Webserver: nhận tín hiệu từ PLC, hiển thị lên giao diện được thiết kế giám sát

Lựa chọn thiết bị cho hệ thống

Hình 3 9 PLC S7-1200 CPU 1211C AC/DC/RLY

Số lượng ngõ vào 14 (DI)

Số lượng ngõ ra 10 (DO)

Số ngõ vào Analog Input 2 (AI)

Giao tiếp truyền thông Ethernet

Bộ nhớ dữ liệu 75 Kb

Bảng 3 6 Thông số kỹ thuật của S7-1200 CPU 1211C AC/DC/RLY

3.3.2 Nguồn cấp cho hệ thống

Các thiết bị trong hệ thống sử dụng nguồn 100-240 V AC, 24 V DC để hoạt động,tuy nhiên điện sử dụng là điện lưới 220VAC Do PLC, van solenoid, động cơ giảm tốc, đèn tín hiệu sử dụng trong hệ thống đều là 24VDC nên nhóm sử dụng nguồn tổ ong, một nguồn 24VDC 10A cấp cho hệ thống hoạt động.

Bảng 3 7 Thông số kỹ thuật của nguồn tổ ong 24V 10A

Để vận chuyển sản phẩm đến các vị trí phân loại theo kích thước đồ án, nhóm nghiên cứu sử dụng băng tải mini có kích thước 12x50x10mm được kết hợp với động cơ 12V-24V và hộp giảm tốc Hệ thống này giúp sản phẩm được đưa đến đúng vị trí cần thiết để thực hiện quá trình phân loại hiệu quả.

Kích thước 12cm x 50cm x 10cm

Bảng 3 3 Thông số kỹ thuật của nguồn tổ ong 24V 10A

3.3.4 Xilanh khí nén phân loại sản phẩm

Do sản phẩm nhẹ, không nặng và dạng hình hộp nên nhóm sử dụng xilanh khí nén vuông AIRTAC dạng kép để đẩy, phân loại sản phẩm dễ dàng hơn.

Hình 3 12 Xilanh khí nén vuông

Thông số kỹ thuật Áp suất hoạt động 0.15 – 1.0 MPa

Bảng 3 4 Thông số kỹ thuật Xilanh khí nén vuông

3.3.5 Xilanh khí nén đẩy sản phẩm vào hệ thống phân loại sản phẩm

Hệ thống cần thiết bị để đẩy sản phẩm vào vị trí cần thiết để tiến hành phân loại mã QR và sản phẩm nhỏ nhẹ phù hợp nên nhóm sử dụng xilanh khí nén AIRTAC

Thông số kỹ thuật Áp suất hoạt động 0.15 – 1.0 MPa

Bảng 3 5 Thông số kỹ thuật của Xilanh khí nén

3.3.6 Cảm biến quang và cảm biến áp suất Để nhận diện vị trí sản phẩm cũng như giúp các xilanh đẩy chính xác sản phẩm thì nhóm sử dụng cảm biến quang để nhận biết sản phẩm Do PLC sử dụng ngõ vào sourcing (cấp dòng) và khoảng cách cần phát hiện từ cảm biến đến sản phẩm ngắn, nến nhóm lựa chọn cảm biến quang dạng NPN E3F-DS30C4.

Hình 3 14 Cảm biến quang NPN E3F-DS30C4

Kích thước đường kính 18 mm Điện áp làm việc 6-36VDC

Khoảng cách phát hiện 60-300 mm Điều chỉnh khoảng cách Biến trở

Bảng 3 6 Thông số kỹ thuật của cảm biến quang NPN E3F-DS30C4

Kích thước cổng xã 1/8 inch Áp suất 0.15-0.8 MPa

Bảng 3 7 Thông số kỹ thuật của Van Airtac 4V210-08

3.3.8 Camera logitech C270 và Camera Sky A870

Để tối ưu hóa khả năng nhận diện, hệ thống sử dụng hai camera riêng biệt: một camera Logitech C270 chuyên nhận diện số lượng sản phẩm và một camera được tích hợp trên điện thoại Sky A870L chuyên nhận diện mã vạch.

Thông số kỹ thuật Độ phân giải HD (1280 x 720 pixels)

Bảng 3 8 Thông số kỹ thuật của camera logitech C270

3.3.9 Các thiết bị hỗ trợ khác

Để đảm bảo an toàn và dễ dàng điều khiển, các hệ thống tự động hóa thường sử dụng relay trung gian Relay trung gian đóng vai trò là thiết bị trung chuyển giữa bộ điều khiển và thiết bị chấp hành Khi nhận tín hiệu bật/tắt từ bộ điều khiển, relay đóng/ngắt tiếp điểm để cung cấp hoặc cắt nguồn điện cho thiết bị Để đảm bảo độ tin cậy của hệ thống, relay trung gian phải phản ứng nhanh và có tiếp điểm chịu được điện áp và dòng điện cao.

Nhóm chọn loại Relay LY2N DC24 24VDC 2 cặp tiếp điểm (1 thường đóng và 1 thường hở, 8 chân), đảm bảo đủ số lượng tiếp điểm cần sử dụng, điện áp hoạt động phù hợp với điện áp ngõ ra bộ điều khiển.

Hình 3 17 Relay LY2N DC24 Omron 24VDC

Thông số kỹ thuật Điện áp cuộn dây 24 VDC

Số tiếp điểm thường đóng 1Số tiếp điểm thường mở 1

Số chân 8 Đèn báo Có

Bảng 3 8 Thông số kỹ thuật của Relay

 MCB Để có thể tự động cắt điện khi gặp sự cố quá tải, ngắn mạch, cũng như bảo vệ an toàn cho người và thiết bị điện Nhóm sử dụng MCB làm thiết bị đóng cắt.

Với hệ thống này, nhóm sử dụng MCB Chint NXB-63 2P 20A 6KA.

Hình 3 18 Cầu dao 2pha Chint NXB-63 2P 20A 6KA

Bảng 3 10 Thông số kỹ thuật MCB

 Nút Start, Stop, Emergency Để bật và tắt hệ thống sử dụng hai nút nhấn Start và Stop, khi hệ thống gặp sự cố khẩn cấp, nhóm sử dụng thiết bị LA38/203-209B làm nút bật và tắt hệ thống, PBCY090-LAY37 làm nút nhấn dừng khẩn cấp.

Hình 3 19 Nút bật tắt hệ thống

Thông số kỹ thuật Điện áp định mức 440V

Chất liệu Nhựa, kim loại

Nắp kính đường 22mm 22mm

Nhiệt độ làm việc -5 độ - 50 độ C

Bảng 3 11 Thông số cơ bản của nút bật tắt hệ thống

Hình 3 20 Nút dừng khẩn cấp

Thông số kỹ thuật Điện áp định mức 660V

Chất liệu Nhựa, kim loại

Nắp kính đường 22mm 22mm

Bảng 3 12 Thông số cơ bản của nút dừng khẩn cấp

Lưu đồ giải thuật

Hình 3 21 Lưu đồ giải thuật hệ thống

-Nhấn Start, xi lanh 3 đẩy phôi chứ mã QR code ra khu vực có camera.

- Hệ thống bắt đầu phân loại, khi có phôi thì camera của điện thoại sẽ quét mã QR code, xử lí ảnh diễn ra trong 2 giây Sau khi xử lí ảnh xong thì băng tải bắt đầu hoạt động

- Nếu sản phẩm là loại 1 thì được di chuyển tới khi cảm biến quang 1 phát hiện sản phẩm đến thì xilanh 1 đẩy sản phẩm vào máng trượt 1.

- Nếu sản phẩm là loại 2 thì được di chuyển tới khi cảm biến quang 2 phát hiện sản phẩm đến thì xilanh 1 đẩy sản phẩm vào máng trượt 2.

- Nếu sản phẩm là loại 3 hoặc không quét được mã QR code thì được di chuyển tới khi cảm biến quang 3 phát hiện và phẩm vào máng trượt 3.

- Mỗi khi có một loại sản phẩm được phân loại thì counter loại đó sẽ được đếm lên

- Khi nhấn Stop, băng tải dừng, hệ thống tắt.

- Khi nhấn Reset, hệ thống dừng và cái counter sẽ về 0.

- Trong quá trình hoạt động, việc phân loại chỉ được thực hiện tiếp khi sản phẩm trước đó đã được phân loại, khi gặp sự cố thì nhấn nút nhấn khẩn cấp hệ thống dừng, băng tải dừng, khi tắt nút nhấn thì hệ thống trạng thái sẵn sàng chờ tín hiệuStart.

3.4.2 Lưu đồ xử lí ảnh

Hình 3 22 Lưu đồ xử lý ảnh

Lưu đồ trên thể hiện việc xử lý mã QR code bằng sử dụng thư viện OpenCV Quá trình chính bao gồm:

- Khởi tạo các biến và thư viện cần thiết.

- Khởi tạo camera và thiết lập thông số.

- Trong một vòng lặp chính, đọc từng khung hình từ camera để phát hiện và giải mã mã QR code trong khung hình.

- Nếu mã QR code không được đọc được trong khung hình, chương trình sẽ không thực hiện các hành động liên quan đến mã QR code và sẽ tiếp tục vòng lặp để đọc khung hình tiếp theo từ camera.

- Nếu mã QR code được phát hiện, vẽ khung xung quanh mã QR code và hiển thị nội dung của mã lên hình ảnh.

3.4.3 Lưu đồ xử lí giữa PLC và Webserver

Hình 3 23 Lưu đồ xử lý giữa PLC và Webserver

Lưu đồ trên thể hiện kết nối và truy cập dữ liệu từ PLC, cũng như xử lý mãQR code từ camera sử dụng thư viện OpenCV để phân loại sản phẩm và đồng thời lấy dữ liệu từ PLC hiện thị trạng thái của hệ thống:

- Kết nối và truy cập dữ liệu từ một thiết bị PLC thông qua giao thức Snap7.

- Thiết lập giá trị cho các biến trong PLC.

- Sử dụng camera để đọc và giải mã mã QR code.

- Hiển thị nội dung của mã QR và gửi dữ liệu về PLC để phân loại sản phẩm Nếu không đọc được thì tiếp tục vòng lặp để đọc khung hình tiếp theo từ camera.

- Đọc dữ liệu từ PLC và hiển thị trạng thái hoạt động của hệ thống lên webserver.

- Đóng kết nối với PLC kết thúc chương trình.

Sơ đồ đấu nối

Hình 3 24 Sơ đồ đấu nối của nguồn và đấu nối ngõ vào PLC

Hình 3 25 Sơ đồ đấu nối đấu nối ngõ ra PLC tới Relay

Hình 3 26 Sơ đồ đấu nối Relay tới các thiết bị

Hình 3 27 Sơ đồ đấu nối cảm biến

KẾT QUẢ PHẦN CỨNG VÀ PHẦN MỀM

Kết quả thi công phần cứng

Sau khi thi công hệ thống theo bản thiết kế, nhóm đã đạt được kết quả như hình bên dưới:

Hình 4.1 Tổng quan mô hình hệ thống

Phần cứng thi công chính xác, băng tải ổn định, xilanh và cảm biến được giá chắc chắn, động cơ khá ổn định và chắc chắn.

Hình 4.2 Mô hình hệ thống

Hình 4.3 Bên ngoài tủ điện

Hình 4.4 Bên trong tủ điện

Hình 4.5 Tổng quan hệ thống

Hình 4.6 Tổng quan hệ thống

Chương trình tạo mã QR code

Ta mở chương trình Visual Studio Code và ta nhấn nút Run Python File để chạy chương trình tạo mã QR:

Hình 4.7 Chạy chương trình Python

Sau khi chạy chương trình, nó hiện lên ứng dụng tạo mã QR code:

Hình 4.8 Giao diện tạo mã QR code

Sau đó ta nhập nội dung để tạo mã QR code Ví dụ: loại 1

Hình 4.9 Nhập nội dung tạo mã QR

Tiếp theo nhấn Create để tạo mã QR code, ta được như hình dưới

Hình 4.10 Tạo mã QR code

Cuối cùng ta nhấn Save để lưu về file mà ta mong muốn.

Chương trình điều khiển hệ thống TIA PORTAL V15

Hình 4.11 Chương trình PLC Để đổ chương trình vào PLC thực, ta nhấn Download to device

Hình 4.12 Đổ chương trình PLC

Chọn Start all để tiến hành khởi động module PLC, và nhấn Finish

Hình 4.13 Khởi động Module PLC

Sau đó, ta chọn Monitoring on/off để chạy chương trình điều khiển PLC

4.3.2 Chương trình WinCC Đây là chương trình WinCC

Hình 4.15 Chương trình WinCC Để chạy chương trình thì ta nhấn Start Runtime on the PC trên thanh công cụ

Chương trình Webserver

Bước đầu ta mở Visual Studio code lên, vào file main.py , sau đó nhấn chọn

Terminal và chọn new Terminal

Hình 4.18 Chạy file main.py

Sau khi mở new Terminal lên, ta nhấn enter để chạy chương trình xử lý ảnh

Hình 4.19 Chia đôi cửa sổ Terminal

Sau khi đã chạy chương trình xử lý ảnh, ta nhấn lại Terminal và nhấn chọn split Terminal

Khi đã mở lên, ta nhập dòng python \web\run_webserver.py và nhấn enter , sau khi chương trình chạy sẽ trả về địa chỉ localhost:3005 web server khi đã có địa chỉ ta lên trình duyệt mở theo địa chỉ http://localhost:3005/ để mở giao diện của web server Kết quả như hình dưới.

KẾT QUẢ CHẠY THỰC NGHIỆM

Kết quả phần mềm

Hình 5.1 Giao diện trang bìa web server

Sau khi chạy code bên visual studio code để lấy địa chỉ Sau khi cho ra địa chỉ http://localhost:3005/ Chúng ta vào trình duyệt để mở web server, hình 5.1 là giao diện của trang bìa, để tiếp tục sử dụng, chúng ta nhấn vô dòng chữ Hệ Thống giám sát cuối trang

Hình 5.2 Giao diện hệ thống giám sát chính của web server khi chưa hoạt động

Sau khi mở giao diện của web server lên, để web server hoạt đông, chúng ta nhấn start bên tủ điện hoặc giao điện wincc Khi nhấn song, hệ thống giám sát sẽ hiển thị trạng thái hoạt động của hệ thống và băng tải sẽ chạy bằng cách hiển thị đèn màu xanh trên web server như hình 5.3 bên dưới

Hình 5.3 Giao diện hệ thống giám sát chính của web server khi hoạt động

Sau khi hệ thống hoạt động, xilanh 1 sẽ đẩy vật ra và xử lý ảnh và phân loại, đồng thời tín hiệu sẽ được truyền về web server để hiển thị sản phẩm phân loại vừa rồi là sản phẩm loại mấy và đếm số lượng của loại đó Ví dụ như hình 5.4 bên dưới là đang phân loại 1

Hình 5.4 Giao diện hệ thống giám sát chính của web server khi phân loại 1

Hình 5.5 Giao diện hệ thống giám sát chính của web server khi phân loại 2

Các sản phẩm sau khi được chụp ảnh và phân loại sẽ được cảm biến nhận dạng và truyền tín hiệu lên máy chủ web để đếm và thống kê, bao gồm: Loại 1, Loại 2, Loại 3 và tổng số lượng của 3 loại này.

5.2.2 Giao diện WINCC và cách thức hoạt động Để làm được wincc chúng ta cần phải đặt tên và khai báo tên cho các địa cho các cảm biến và linh kiện trong phần cứng

Hình 5.6 Khai báo tên cho các thiết bị

Hình 5.7 Giao diện wincc khi hệ thông chưa hoạt động

Sau khi mở giao diện của wincc lên, để wincc hoạt động , chúng ta nhấn start Khi nhấn song, hệ thống phân loại sẽ hiển thị trạng thái hoạt động của hệ thống và băng tải sẽ chạy bằng cách hiển thị đèn màu xanh ở Trạng thái xilanh 1 (XL1) sẽ đẩy ra vật ra, đồng thời cũng được mô phỏng trên wincc như hình 5.8 bên dưới

Hình 5.8 Giao diện wincc khi hệ thống hoạt động, xilanh đẩy vật ra

Khi vật được đẩy ra, sẽ được camera của điện thoại nhận diện để xử lý hình ảnh, và băng tải chạy để phân loại sản phẩm

Hình 5.9 Giao diện wincc khi hệ thống hoạt động, xilanh đẩy loại 1 ra

Sau khi xử lý hình ảnh, hệ thống sẽ nhận diện sản phẩm đang di chuyển là loại mấy, cảm biến sẽ nhận tín hiệu để xilanh 2 ( XL2) đẩy vậy ra nếu là sảm phẩm Loại 1, đồng thời trang thái hoạt động sẽ sáng đèn tương ứng với các sản phẩm mỗi khi phân loại, các sản phẩm loại khác cũng tương tự như các hình bên dưới

Hình 5.10 Giao diện wincc khi hệ thống hoạt động, xilanh đẩy loại 2 ra

Hình 5.11 Giao diện wincc khi hệ thống hoạt động, phân loại 3

Loại 3 đươc nhận định là sản phẩm lỗi nên sẽ đi thẳng đến cuối băng tải Mỗi khi các sản phẩm đi qua, các cảm biến tương ứng với các loại (CB1,CB2,CB3) sẽ nhận tín hiệu để đếm số lượng để đẩy lên giao điện wincc gồm ( loại 1,loại 2,loại 3, Tổng số lượng cả 3 loại ) Để dừng hệ thống ta nhấn stop.Còn muốn bắt đầu một chu trình mới, ta nhấn Reset,sau đó nhấn start để bắt đầu một chu trình mới

Ngày đăng: 18/09/2024, 21:49

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

w