Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
21 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 8:Ảnh đã cắt trên Raspberry
2.5.1.2 Lọc màu
Như đã nói ở phần trước, thì có 2 cách lọc màu đó là lọc màu theo dãy màu HSV và dãy màu RGB. Tuy nhiên, với đề tài phân loại sản phẩm theo hình dạng này thì việc phân biệt màu khơng q chú trọng.Vì vậy chúng ta chỉ cần đưa ảnh về màu xám theo dãy màu RGB là đơn giản nhất. Và việc lọc màu ảnh về màu xám này là quá trình giúp ta biến đổi ảnh dễ dàng hơn với tùng pixel màu.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
22 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 9: Lọc màu ảnh trên Raspberry
2.5.1.3 Biến đổi ảnh
Ở bước này ta biến đổi ảnh về ảnh nhị phân (với mỗi điểm ảnh chỉ có 2 màu trắng và đen) với giá trị 0 là đen (tối nhất) và 255 là trắng ( sáng nhất). Tuy nhiên, việc biến đổi này vẫn còn độ nhiễu của các điểm ảnh. Do vậy, chúng ta phải chỉnh lại ngưỡng của ảnh nhị phân, để loại bỏ bớt những điểm ảnh không cần thiết trong khoảng giá trị là 0 đến 255 pixel và từ đó ta có thể dễ dàng tìm được tập hợp các điểm ảnh mà ta cần
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
23 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hồng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 2. 10: Ảnh nhị phân trên Raspberry
2.5.1.4 Tìm điểm
Ở đề tài này thì việc tìm điểm trên ảnh nhị phân mà ta đã biến đổi ảnh trước đó, giúp chúng ta xác định các điểm mà ta cần. Từ việc tìm điểm này, ta đã tách ra được 2 vùng điểm ảnh là vùng điểm không cần và vùng điểm cần nhận dạng ảnh trên bức ảnh nhị phân. Với vùng không cần là vùng điểm ảnh với giá trị là 0 và vùng cần tìm là 255. Vậy là ta đã nhận dạng được tập hợp điểm cần tính tốn để phát hiện hình dạng sản phẩm.
2.5.1.5 Vẽ viền quanh ảnh
Giúp ta vẽ lên viền bao quanh ảnh, từ đó dễ dàng quan sát ảnh qua Camera.
2.5.1.6 Kết luận
Như vậy bước tiền xử lý ảnh này, nói một cách đơn giản là thì lọc nhiễu để camera nhận dạng ảnh một cách chính xác nhất.
2.5.2Xác định cạnh và tính tốn ảnh để nhận dạng hình dạng
Từ bước tiền xử lý ảnh ở trên, đó là cơ sở giúp ta phân biệt được 4 hình dạng đó là hình chữ nhật, hình tam giác, hình vng và hình trịn. Để có thể phân biệt được 4 hình dạng này, thì ta dùng phương pháp đó là xác định cạnh của ảnh. Với tam giác là
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
24 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
có 3 cạnh, hình vng và hình chữ nhật có 4 cạnh, cịn nhiều cạnh hơn đó sẽ là hình trịn, từ đó ta sẽ phân biệt các hình thơng qua tìm cạnh của ảnh. Vấn đề là làm sao ta có thể xác định số cạnh của ảnh, với hình tam giác thì có 3 cạnh và hình trịn có nhiều số cạnh nhất là đơn giản. Vậy làm như thế nào mới phân được đâu là hình vng và hình chữ nhật trong khi nó có số cạnh đều là 4. Để nhận dạnh được hai hình đó là hình vng và hình chữ nhật thì ta buộc phải tính tốn vùng điểm ảnh của hai hình đó với vùng điểm ảnh hình chữ nhật là lớn nhất rồi đến hình vng cuối cùng tam giác.
2.5.2.1 Xác định cạnh
Để có thể xác định cạnh trên ảnh thì ta sẽ dùng phương pháp giảm điểm để tìm được khoảng cách xa nhất của hai điểm, là hai điểm đầu và điểm cuối trong tập hợp điểm ảnh, từ đó để tạo ra một đoạn thẳng trên ảnh như thế thì ta đã tìm ra một cạnh trên ảnh.
Hình 2. 11: Giảm điểm và tạo đoạn thẳng của lệnh ApproxPolyDP trong OpenCV
2.5.2.2 Tính tốn ảnh
Việc tính tốn này giúp ta phân biệt được là hình vng và hình chữ nhật. Tuy nhiên, với sản phẩm sẽ phân loại là loại khối dạng 3D, nên đôi khi ảnh sẽ nhận dạng số cạnh bị sai, phát sinh ra thêm cạnh như hình tam giác có 3 cạnh nhưng khi nhận dạng cạnh sẽ thêm 1 đến 2 cạnh, như thế thì tam giác sẽ có đến 4 đến 5 cạnh và hình chữ nhật với hình vng cũng tương tự thế, thì việc nhận dạng và phân loại hình dạng sẽ bị phân loại nhầm. Vì thế, việc tính tốn ảnh này ngồi việc phân biệt được 2 hình là hình vng và hình chữ nhât, cịn giúp ta giúp ta nâng cao độ chính xác khi xử lý ảnh để phân loại sản phẩm chính xác nhất.
Ở đề tài này, việc tính tốn khá là đơn giản cho việc phân biệt hình vng và hình chữ nhật. Lấy hiệu của hai cạnh trên ảnh, với hình chữ nhật là lớn nhất đến hình vng. Với tam giác là nhỏ nhất nên ta sẽ tính vùng điểm trên ảnh để nhận dạng tam giác với vùng điểm trên ảnh bé hơn kết quả khi được tính tốn ra sẽ là tam giác. Hình trịn thì đơn giản nhất với số cạnh lớn hơn 8 cạnh sẽ là hình trịn.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
25 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
CHƯƠNG 3:TỔNG QUAN VỀ PLC VÀ PHẦN MỀM TIA PORTAL
3.1 Giới thiệu về PLC
PLC (Programmable Logic Controller) là thiết bị điều khiển lập trình từ đó thực hiện được các thuật tốn điều khiển logic thơng qua ngơn ngữ lập trình của PLC. PLC được lên ý tưởng ban đầu của một nhóm kỹ sư thuộc hãng General Motor vào năm 1968. Từ những năm đầu của thế kỉ 20, PLC được sử dụng ngày càng rộng rãi và phổ biến trong công nghiệp của nước ta như là 1 giải pháp lý tưởng cho việc tự động hóa các q trình sản xuất, nhằm tăng năng suất của một hệ thống, nhà máy. Đi đôi với sự phát triển cơng nghệ máy tính vượt bậc theo từng ngày như hiện nay, bộ điều khiển lập trình đạt được những ưu thế cơ bản trong ứng dụng điều khiển công nghiệp.
Hiện nay có nhiều hãng sản xuất ra PLC như PLC Mitsubishi, Siemens, Panasonic…
Ngơn ngữ lập trình của PLC được sử dụng phổ biến như: LAD (Ladder logic – thang logic), FBD (Function Block Diagram – Khối chức năng), STL (Statement List – Liệt kê lệnh) trong đó Ladder logic là ngơn ngữ lập trình PLC được nhiều kỹ thuật, lập trình viên dùng và ưu chuộng nhất.
PLC được ứng dụng trong công nghiệp nhưng những dây chuyền hệ thống đóng gói sản phẩm, băng chuyền sản phẩm với quy mơ nhỏ thì có thể sử dụng những PLC có ít in/out với chi phí kinh tế thấp nhưng vẫn được sử dụng cho những ứng dụng cơ bản. Đối với những tác vụ, yêu cầu kĩ thuật phức tạp thì có thể sử dụng module khác nhau với lượng I/O, thêm module truyền thông, analog để phù hợp với yêu cầu đặt ra.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
26 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
Như vậy, PLC là 1 máy tính thu nhỏ nhưng với các tiêu chuẩn cơng nghiệp cao và khả năng lập trình logic mạnh. PLC là đầu não quan trọng và linh hoạt trong điều khiển tự động hóa.
Lịch sử phát triển của PLC
Trước khi có PLC thì việc điều khiển các cơ cấu máy móc thực hiện theo logic thì chỉ có thể sử dụng các Role trung gian, Timer, Counter…và cùng với đó, hệ thống càng phức tạp, càng nhiều quy trình thì có càng nhiều khí cụ điện như trên được dùng. Việc đó gây ra nhiều vấn đề trong quá trình lắp đặt, sử dụng và bảo trì, vì thế PLC được phát minh và là bước tiến lớn trong hoạt động sản xuất thời bấy giờ
Năm 1968, Bộ điều khiển lập trình đầu tiên (Programmable Logic Controller) hay cịn có tên gọi là Modicon đã được Dick Morley và những kỹ sư của Công ty General Motor – Hoa Kỳ sáng chế.
Các chỉ tiêu kỹ thuật được đưa ra nhằm đáp ứng các yêu cầu điều khiển như: - Dễ lập trình và thay đổi chương trình theo hệ thống.
- Cấu trúc dạng Module mở rộng, dễ bảo trì và sữa chữa. - Đảm bảo độ tin cậy trong mơi trường sản xuất.
Hình 3. 2: Bộ PLC đầu tiên của Mỹ
Tuy nhiên vì là bộ vi điều khiển với thế hệ đầu tiên cùng với những hạn chế về công nghệ những năm 70, bộ điều khiển lập trình cịn khá đơn điệu và đặc biệt cồng kềnh, do đó khiến người vận hành và các kỹ sư gặp khó khăn trong việc vận chuyển, lắp đặt, vận hành và lập trình trên bộ điều khiển lập trình. Vì vậy các nhà thiết kế - chế tạo từng bước một cải tiến hệ thống trở gọn nhẹ, dễ vận hành cũng như ưu việt hơn về nhiều mặt.
Tiếp theo đó, hệ thống điều khiển lập trình cầm tay (Programmable Controller Handle) đầu tiên được ra đời vào năm 1969 nhằm đơn giản hóa việc lập trình. Sự phát
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
27 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
triển này này đã tạo ra sự thuận lợi và phát triển thật sự cho kỹ thuật lập trình điều khiển thời bấy giờ.
Hình 3. 3: Bộ PLC năm 1969
Trong giai đoạn này, các hệ thống điều khiển lập trình (PLC) chỉ nhằm thay thế hệ thống Relay và dây nối trong hệ thống điều khiển ở những thời kỳ đầu. Qua quá trình vận hành, các nhà thiết kế và sáng chế đã ghi nhận và rút ra được những ưu điểm, những thiếu xót và từng bước tạo ra được một tiêu chuẩn mới cho hệ thống, và đó là tiêu chuẩn: Dạng lập trình dùng giản đồ hình thang.
Từ đầu năm 1970, sự phát triển của hệ thống phần cứng đã làm cho hệ thống PLC phát triển mạnh mẽ hơn với nhiều các chức năng mở rộng:
- Số lượng Input và Output nhiều hơn và có khả năng điều khiển các đầu vào, đầu ratừ xa bằng kỹ thuật truyền thông.
- Bộ lưu trữ dữ liệu khơng cịn hạn chế và được nhiều hơn.
- Nhiều loại Module chuyên dùng hơn với từng yêu cầu kĩ thuật khác nhau. Cùng với sự phát triển của phần cứng, sự phát triển của công nghệ phần mềm cũng được đẩy lên một bậc mới, bộ lập trình điều khiển PLC khơng chỉ thực hiện các lệnh Logic đơn giản mà cịn có thêm các lệnh đếm sự kiện xảy ra, xử lý toán học, xử lý xung, thời gian thực…và dần trở thành một thiết bị không thể thiếu trong công nghiệp tự động.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
28 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân Hình 3. 4: Bộ Module PLC năm 1970
Ngày nay ,khi mà khoa học cơng nghệ của lồi người đã phát triển,vi mạch điện tử và công nghệ thông tin phát triển vượt bậc , PLC không chỉ được thiết ngày càng nhỏ gọn từ những cỗ máy cồng kềnh và khó vận hành, cùng với đó chức năng cũng được bổ xung khá nhiều. So sánh với những PLC đời đầu được sáng chế và phát minh những năm 1970, PLC thời nay đã có thêm các chức năng nâng cao hơn như truyền thông, PID, kết nối Internet, điều khiển Servo, động cơ Step, và đặc biệt có thể điều khiển và giám sát thông qua Webserver, cùng nhiều chức năng khác. Cấu hình được nâng cao và phát triển như có mở rộng nhiều module hơn, tốc độ xử lý tăng lên phù hợp với những yêu cầu lập trình khác nhau.
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
29 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
3.2 Giới thiệu về PLC S7 – 1200
Hình 3. 6: PLC S7 – 1200
PLC S7 – 1200 với nhiều CPU khác nhau được ra mắt vào năm 2009, mục đích nhằm thay thế dần cho PLC S7–200 với nhiều tính năng nổi trổi hơn.
S7 – 1200 có thể kiểm sốt nhiều ứng dụng, thiết kế gọn, chi phí thấp, có tập lệnh mạnh, giúp người lập trình có giải pháp hồn thiện với nhiều ứng dụng tùy thuộc vào môi trường làm việc.
CPU của PLC S7 - 1200 được kết hợp với một Microprocessor, một nguồn cung cấp được tích hợp sẵn, các đầu vào/ra (DI/DO), được thiết kế theo nền tảng Profinet, điều khiển vị trí (motion control), các bộ đến xung tốc độ cao, các ngõ Analog Input/Output.
Một số tính năng bảo mật giúp bảo vệ quyền truy cập vào cả CPU và chương trình điều khiển:
- Tất cả các CPU đều cung cấp bảo vệ bằng password chống truy cập vào PLC. - Tính năng “Know-How Protection” để bảo vệ các block đặc biệt .
- S7-1200 cung cấp một cổng truyền thông mạng Profinet, hỗ trợ chuẩn Ethernet và TCP/IP. Ngoài ra, PLC S7 - 1200 có thể truyền thơng Profibus, GPRS, RS485, RS232 thông qua các module mở rộng ngồi.
- Dịng sản phẩm PLC S7-1200 có nhiều CPU khác nhau như: CPU 1211, CPU 1212, CPU 1214, CPU 1215, CPU 1217…trong mỗi dòng CPU đều được phân biệt bởi ký hiệu như AC/DC/RLY, DC/DC/DC, AC/DC/DC…tương ứng với nguồn nuôi cho CPU, dạng cổng Input, dạng Ouput. Mỗi CPU có bộ nhớ làm việc, chu kỳ lệnh,
Tên đề tài: Ứng dụng xử lý ảnh để phân loai sản phẩm theo hình dạng, điều khiển và giám sát qua WinCC
30 SVTH: Bùi Anh Dũng
Phạm Lê Bảo Hoàng
Người hướng dẫn: ThS. Phan Thị Thanh Vân
cổng truyền thông giao tiếp, khối tổ chức chương trình OB, chức năng khác nhau…Tùy vào ứng dụng và hệ thống mà ta sẽ lựa chọn dòng CPU phù hợp để đáp ứng về tốc độ xử lý, cũng như về giá thành của CPU.
3.2.1Cấu trúc phần cứng của PLC S7 – 1200
1 - Chế độ hoạt động của các ngõ I/O. 2 - Chế độ hoạt động của PLC.
3 - Cổng kết nối. 4 - Khe cắm thẻ nhớ. 5 - Nơi gắn dây nối.
Hình 3. 7: Cấu trúc PLC S7 – 1200
Các đèn báo trên CPU:
- STOP / RUN (cam / xanh): CPU ngừng / đang thực hiện chương trình đã nạp vào bộ nhớ.
- ERROR (màu đỏ) : màu đỏ ERROR báo hiệu việc thực hiện chương trình đã xảy ra lỗi.
- MAINT (Maintenance): led cháy báo hiệu việc có thẻ nhớ được gắn vào hay không.
- LINK: Màu xanh báo hiệu việc kết nối với tính thành cơng. - Rx / Tx: Đèn vàng nhấp nháy báo hiệu tín hiệu được truyền.
Đèn cổng vào ra:
- Ix.x (đèn xanh): Đèn xanh ở cổng vào báo hiệu trạng thái tức thời của cổng Ix.x. đèn nào báo hiệu trạng thái của tín hiệu theo giá trị của công tắc.
- Qx.x (đèn xanh): Đèn xanh ở cổng ra báo hiệu trạng thái tức thời của cổng Qx.x. Đèn nào báo hiệu trạng thái của tín hiệu theo giá trị logic của cổng.
Phân loại CPU S7 – 1200:
Bảng 3. 1: Bảng phân loại CPU
Chức năng CPU 1211C CPU 1212C CPU 1214C
Kích thước (mm): 90 x 100 x 75 90 x 100 x 75 110 x 100 x 75 Bộ nhớ làm việc Bộ nhớ nạp Bộ nhớ giữ lại 25 KB 25 KB 50 KB