NGHIÊN CỨU THIẾT KẾ HỆ THỐNG PHÂN LOẠI NÔNG SẢN SỬ DỤNG PLC KẾT HỢP CÔNG NGHỆ XỬ LÝ ẢNH + Thiết kế bản vẽ Autocad mô hình của hệ thống phân loại cà chua + Lập trình phần mềm nhận diện cà chua Cả ba sinh viên trong nhóm cùng thực hiện: + Lắp đặt, đấu nối tủ điều khiển mô hình hệ thống + Lập trình truyền thông xử lý tín hiệu + Chạy và thử nghiệm hệ thống
Trang 1Giảng viên hướng dẫn: TS NGUYỄN NGỌC KHOÁT
Sinh viên thực hiện: TRẦN NGỌC THỊNH
Mã sinh viên: 18810430029
Ngành: Công nghệ kỹ thuật ĐK&TĐH
Chuyên ngành: TĐH&ĐK thiết bị điện công nghiệp
Hà Nội, tháng 02 năm 2023
Trang 3TRƯỜNG ĐẠI HỌC ĐIỆN LỰC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc KHOA ĐK&TĐH
Hà Nội, ngày tháng năm 2022
2 Nhóm sinh viên thực hiện
Hiện nay để phân loại sản phẩm theo mong muốn như cảm biến
màu sắc, cảm biến phân loại theo hình dáng, v.v… Những cảm biếnnày có ưu điểm chung là quá trình lắp đặt và vận hành tương đối đơngiản nhưng lại dễ gây nhiễu Tuy nhiên, công nghệ xử lý ảnh có thểkhắc phục được nhược điểm đó Một hệ thống hoàn chỉnh có thểphân loại các sản phẩm với độ tin cậy cao, hoạt động liên tục vàgiảm tối đa thời gian trì hoãn hệ thống Do đó nhóm quyết địnhnghiên cứu và thi công mô hình phân loại sản phẩm bằng PLC vàcông nghệ xử lý ảnh
3 Nội dung, nhiệm vụ nghiên cứu
a Nội dung đề tài
Chương 1: Cơ sở lý thuyết của đề tài
Chương 2: Thiết kế phần cứng và phần mềm cho hệ thống
Trang 4Chương 3: Xây dựng bài thí nghiệm ứng dụng mô hình
b Nội dung thực hiện
Sinh viên Trần Ngọc Thịnh thực hiện:
+ Thiết kế bản vẽ Autocad mô hình của hệ thống phân loại cà chua
+ Lập trình phần mềm nhận diện cà chua
Cả ba sinh viên trong nhóm cùng thực hiện:
+ Lắp đặt, đấu nối tủ điều khiển mô hình hệ thống
+ Lập trình truyền thông xử lý tín hiệu
+ Chạy và thử nghiệm hệ thống
4 Tài liệu tham khảo dự kiến
[1] Trang web: Bài giảng xử lý ảnh (tnu.edu.vn)
[2] Trang web: Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm(slideshare.net)
[3] Trang web: mtee-vn/
https://mtee.vn/gioi-thieu-bo-lap-trinh-plc-s7-1200-siemens-[4] Trang web: giao_trinh_plc_918.pdf (tailieu.vn)
[5] Trang web: 6 Ngôn ngữ lập trình PLC LD/LAD, FBD, ST/STL, SFC, IL,C/C++ (mesidas.com)
[6] Trang web: PyCharm là gì? - Blog | Got It AI (got-it.ai)
[7] Trang web: 6ES7212-1AE40-0XB0 - PLC S7-1200 CPU 1212C DC/DC/DC
- MTEE.VN
[8] Lâm Thanh Hùng (Chủ biên), Trần Vĩnh Xuyên (2022), Giáo trình Python
căn bản, Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh
[9] Trần Đăng Hưng (Chủ biên), Đặng Thành Trung, Nguyễn Thị Thanh Huyền
(2021), Giáo trình lập trình Python, Nhà xuất bản Đại học Sư phạm.
[10] Trần Văn Hiếu (2022), Tự Động Hóa SIMATIC S7 – 1200 với TIA PORTAL,
Nhà xuất bản Khoa học và Kỹ thuật
5 Ngày giao đề tài: Ngày 12 tháng 10 năm 2022
Ngày nộp quyển: Ngày 15 tháng 02 năm 2023
Trang 5TS Trương Nam Hưng TS Nguyễn Ngọc Khoát
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc KHOA ĐK&TĐH
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
I Thông tin chung
Họ và tên người hướng dẫn: Nguyễn Ngọc Khoát
Đơn vị công tác: Khoa Điều khiển và Tự động hóa
Học hàm, học vị: Tiến sĩ
Họ và tên sinh viên: Trần Ngọc Thịnh Ngày sinh: 30/12/2000
Tên đề tài: Nghiên cứu thiết kế hệ thống phân loại sản phẩm sử dụng PLC kết hợpcông nghệ xử lý ảnh
II Nhận xét về đồ án tốt nghiệp
2.1 Nhận xét về hình thức: (kết cấu, phương pháp trình bày)
Hình thức báo cáo đồ án tốt nghiệp đáp ứng được phụ lục 2, ĐHĐL
QĐ1627/QĐ-2.2 Mục tiêu và nội dung: (cơ sở lý luận, tính thực tiễn, khả năng ứng dụng)
Đáp ứng được các yêu cầu theo đề cương đồ án tốt nghiệp
III Nhận xét tinh thần và thái độ làm việc của sinh viên
Sinh viên Trần Ngọc Thịnh có tinh thần làm việc chủ động, nghiêm túc Thái độlàm việc tốt, nghiên cứu hăng say
IV Đề nghị
Không được báo cáo:
Hà Nội, ngày tháng năm 2023
Trang 6Giảng viên hướng dẫn
TS Nguyễn Ngọc Khoát
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do – Hạnh phúc KHOA ĐK&TĐH
NHẬN XÉT CỦA HỘI ĐỒNG CHẤM ĐỒ ÁN TỐT NGHIỆP
I Kết quả thực hiện và báo cáo trước hội đồng của sinh viên:
TT Nội dung Ý kiến nhận xét
1 Hình thức trình bày
2 Nội dung thực hiện
theo yêu cầu của đề
tài
3 Các kết quả tính toán
4 Kỹ năng thuyết trình
5 Trả lời câu hỏi
6 Tổng thể
Các ý kiến khác:
………
………
………
………
Hà Nội, ngày tháng năm 2023 Ủy viên hội đồng Thư ký hội đồng Chủ tịch hội đồng II GVHD xác nhận sau chỉnh sửa (nếu có) ………
………
………
Hà Nội, ngày tháng năm 2023
Trang 7Giáo viên hướng dẫn Thư ký hội đồng Chủ tịch hội đồng
TS Nguyễn Ngọc Khoát
Trang 10LỜI CẢM ƠN
Trong thời gian thực hiện đồ án, nhóm được sự giúp đỡ của gia đình, quý thầy cô
và bạn bè nên đồ án đã được hoàn thành
Em xin cảm ơn các thầy cô trong Khoa Điều khiển và Tự động hóa đã truyền đạtcác kiến thức chuyên ngành, cũng như định hướng để nhóm hoàn thành đồ án tốt
nghiệp này Đặc biệt, em xin gửi lời cảm ơn tới thầy Nguyễn Ngọc Khoát Thầy đã
hướng dẫn và giúp đỡ tận tình để nhóm nghiên cứu và hoàn thành đồ án Những lờinhận xét, góp ý và hướng dẫn của thầy đã giúp nhóm có định hướng đúng đắn trongquá trình thực hiện đề tài, giúp nhóm nhìn ra được ưu khuyết điểm của đề tài và từngbước khắc phục để có được kết quả tốt nhất
Trong quá trình làm đồ án, do kiến thức hiểu biết cũng như kinh nghiệm thực tếcòn hạn chế không tránh khỏi những sai sót, nhóm em rất mong nhận được ý kiếnđóng góp của thầy cô trong hội đồng bảo vệ để sản phẩm được hoàn thiện đồng thờigiúp nhóm rút thêm được nhiều kinh nghiệm bổ ích cho việc học tập và công việctrong tương lai
Em xin chân thành cảm ơn!
SINH VIÊN THỰC HIỆN
TRẦN NGỌC THỊNH
Trang 11MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC BẢNG BIỂU iv
DANH MỤC HÌNH VẼ v
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT viii
LỜI MỞ ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI 2
1.1 Đặt vấn đề và mục tiêu của đồ án 2
1.1.1 Đặt vấn đề 2
1.1.2 Mục tiêu của đồ án 2
1.2 Tổng quan về xử lý ảnh 3
1.3 Những vấn đề trong xử lý ảnh 7
1.4 Giới thiệu chung về PLC S7-1200 12
1.4.1 Tổng quan về PLC S7-1200 12
1.4.2 Cấu trúc bộ nhớ của PLC S7 - 1200 17
1.4.3 Vòng quét của PLC S7 – 1200 18
1.4.4 Ngôn ngữ lập trình PLC S7 – 1200 19
1.4.5 Sơ đồ đấu nối 22
1.5 Giới thiệu về ngôn ngữ lập trình Python và phần mềm Pycharm 24
1.5.1 Ngôn ngữ lập trình Python và thư viện OpenCV 24
1.5.2 Giới thiệu về phần mềm lập trình PyCharm 26
1.6 Phương pháp phân loại sản phẩm theo màu sắc 31
1.6.1 Các màu sắc cơ bản 31
1.6.2 Phương pháp nhận dạng màu sắc 31
1.7 Kết luận chương 1 35
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG VÀ PHẦN MỀM 36
Trang 122.1 Đặt vấn đề 36
2.2 Thiết kế phần cứng hệ thống 36
2.2.1 Sơ đồ khối hệ thống 36
2.2.2 Giới thiệu các thiết bị phần cứng có trong mô hình 37
2.2.3 Thiết kế, lắp đặt mô hình hệ thống 43
2.3 Thiết kế phần mềm 46
2.3.1 Quy trình nhận dạng và phân loại cà chua 46
2.3.2 Truyền thông Modbus RTU 50
2.4 Kết luận chương 2 53
CHƯƠNG 3: XÂY DỰNG BÀI THÍ NGHIỆM ỨNG DỤNG HỆ THỐNG 54
3.1 Bài thí nghiệm 1 54
3.1.1 Phát biểu bài toán 54
3.1.2 Lưu đồ thuật toán 54
3.1.3 Chương trình điều khiển 55
3.2 Bài thí nghiệm 2 56
3.2.1 Phát biểu bài toán 56
3.2.2 Lưu đồ thuật toán 57
3.2.3 Chương trình điều khiển 58
3.3 Bài thí nghiệm 3 58
3.3.1 Phát biểu bài toán 58
3.3.2 Lưu đồ thuật toán 59
3.3.3 Chương trình điều khiển 61
3.4 Kết luận chương 3 65
KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN ĐỀ TÀI 66
TÀI LIỆU THAM KHẢO 68
PHỤ LỤC 69
Trang 13DANH MỤC BẢNG BIỂU
Bảng 2.1: Bảng thông số PLC S7 – 1200 CPU 1212C DC/DC/DC [10] 38
Bảng 2.2: Bảng thông số băng tải 39
Bảng 2.3: Bảng thông số Webcam OEM HD 1080P 40
Bảng 2.4: Bảng thông số xi lanh khí nén SMC 40
Bảng 2.5: Bảng thông số van điện từ Airtac 4V210 – 06 24VDC 41
Bảng 2.6: Bảng thông số cảm biến khoảng cách 41
Bảng 2.7: Bảng thông số bộ nguồn 24VDC 42
Bảng 2.8: Bảng thông số của nút nhấn 43
Trang 14DANH MỤC HÌNH VẼ
Hình 1.1: Các bước cơ bản trong xử lý ảnh 5
Hình 1.2: Lân cận 4, lân cận 8 8
Hình 1.3: Hình tách biên 10
Hình 1.4: Phép giãn 11
Hình 1.5: Phép co 12
Hình 1.6: Các loại vùng nhớ của PLC S7 - 1200 17
Hình 1.7: Mô tả mỗi vòng quét 18
Hình 1.8: Mô tả ngôn ngữ LAD 20
Hình 1.9: Mô tả ngôn ngữ FBD 21
Hình 1.10: Mô tả ngôn ngữ STL 22
Hình 1.11: Sơ đồ đấu nối nguồn PLC 22
Hình 1.12: Sơ đồ đấu nối đầu vào của PLC S7 – 1200 23
Hình 1.13: Sơ đồ tín hiệu ngõ ra 23
Hình 1.14: Phần mềm PyCharm 26
Hình 1.15: Giao diện chính của PyCharm 29
Hình 1.16: Giao diện khi tạo project mới 29
Hình 1.17: Cấu trúc của 1 project trong PyCharm 30
Hình 1.18: Thực thi chương trình 30
Hình 1.19: Không gian màu RGB 31
Hình 1.20: Không gian màu CMYK 32
Hình 1.21: Không gian màu HSV 33
Hình 1.22: Sơ đồ các bước thực hiện phân loại màu 34
Trang 15DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
1 PLC ProgrammableController Logic Bộ điều khiển khả trình
2 HMI Human-Machine Interface Thiết bị giao tiếp giữa ngườivà máy móc thiết bị
3 BMS BuildingSystem Management Hệ thống quản lý tòa nhà
4 CPU Central Processing Unit Bộ xử lý trung tâm
5 CCD Charge Coupled Device Linh kiện tích điện kép
Trang 166 PWM Pulse Width Modulation Điều chế độ rộng xung
Trang 17LỜI MỞ ĐẦU
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 khoahọc, quản lý, công nghiệp tự động hóa, v.v… Với những kỹ thuật tiên tiến như vi xử
lý, PLC, vi mạch số, v.v… đượ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ằngcá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.Nhằm phục vụ nhiệm vụ hiện đại hóa quy trình sản xuất, hệ thống phân loại sảnphẩm ra đời là một công cụ hiệu quả giúp thay thế con người trong công việc phânloại, nó đã góp phần nâng cao hiệu quả trong công việc Một hệ thống hoàn chỉnh cóthể phân loại các sản phẩm với độ tin cậy cao, hoạt động liên tục và giảm tối đa thờigian trì hoãn hệ thống Hơn thế nữa, đối với những công việc đòi hỏi sự tập trung cao
và có tính tuần hoàn, nên các công nhân khó đảm bảo được sự chính xác trong côngviệc Điều đó ảnh hưởng trực tiếp đến chất lượng sản phẩm và uy tín của nhà sản xuất
Vì vậy, hệ thống tự động nhận dạng và phân loại sản phẩm ra đời nhằm đáp ứng nhucầu cấp bách này
Do đó dựa trên nền tảng kiến thức đã học, vốn hiểu biết về điện tử và công nghệ
xử lý ảnh cùng với sự đồng ý của giảng viên hướng dẫn – thầy Nguyễn Ngọc Khoát, nhóm chúng em chọn đề tài: “Nghiên cứu thiết kế hệ thống phân loại nông sản sử
dụng PLC kết hợp công nghệ xử lý ảnh” là đề tài của đồ án tốt nghiệp.
Trang 18CHƯƠNG 1: CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
1.1 Đặt vấn đề và mục tiêu của đồ án
1.1.1 Đặt vấn đề
Ngày nay, xã hội ngày càng phát triển Công nghiệp hoá, hiện đại hoá ngày càngđược nâng cao để phát triển đất nước và cải thiện cuộc sống của người dân Vì vậyviệc ứng dụng khoa học kỹ thuật ngày càng rộng rãi, phổ biến và mang lại hiệu quảcao trong hầu hết các lĩnh vực kinh tế, kỹ thuật cũng như trong đời sống xã hội
Xét điều kiện cụ thể ở nước ta trong công cuộc công nghiệp hoá, hiện đại hoá sửdụng ngày càng nhiều thiết bị hiện đại để điều khiển tự động các quá trình sản xuất,gia công và chế biến sản phẩm, v.v… Điều này dẫn đến việc hình thành các hệ thốngsản xuất linh hoạt, cho phép tự động hoá ở mức độ cao trên cơ sở sử dụng các máyCNC, robot công nghiệp Trong đó có một khâu quan trọng ảnh hưởng đến chất lượngsản phẩm là hệ thống phân loại sản phẩm Hệ thống phân loại sản phẩm nhằm chia sảnphẩm ra các nhóm có cùng thuộc tính với nhau để thực hiện đóng gói, loại bỏ sảnphẩm hỏng, v.v… Hiện nay để phân loại sản phẩm theo mong muốn như cảm biếnphân loại theo màu sắc, cảm biến phân loại theo hình dáng, v.v… Những cảm biến này
có ưu điểm chung là quá trình lắp đặt và vận hành tương đối đơn giản nhưng lại dễ gâynhiễu Tuy nhiên, công nghệ xử lý ảnh có thể khắc phục được nhược điểm đó Do đónhóm quyết định nghiên cứu và thi công mô hình phân loại nông sản bằng PLC vàcông nghệ xử lý ảnh Đó cũng là đề tài của đồ án tốt nghiệp của nhóm
1.1.2 Mục tiêu của đồ án
a Nội dung đồ án
+ Nghiên cứu hệ thống nhận diện và phân loại cà chua.
+ Xây dựng sơ đồ công nghệ cho bài toán nhận diện cà chua bằng công nghệ xử
lý ảnh
Trang 20Xử lý ảnh là kỹ thuật áp dụng trong việc tăng cường và xử lý các ảnh thu nhận từcác thiết bị như camera, webcam, v.v… Do đó, xử lý ảnh đã được ứng dụng và pháttriển trong rất nhiều lĩnh vực quan trọng như:
Trong lĩnh vực quân sự: xử lý và nhận dạng ảnh quân sự
Trong lĩnh vực giao tiếp người máy: nhận dạng ảnh, xử lý âm thanh, đồhọa
Trong lĩnh vực an toàn, bảo mật: nhận diện khuôn mặt người, nhận diệnvân tay, mẫu mắt, v.v
Trong lĩnh vực giải trí: trò chơi điện tử, v.v…
Trong lĩnh vực y tế: xử lý ảnh y sinh, chụp X-quang, MRI, v.v
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báođược truyền từ London đến New York từ những năm 1920 Vấn đề nâng cao chấtlượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh Việc nâng caochất lượng ảnh được phát triển vào những năm 1955 Điều này có thể giải thích được
vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lýảnh số được thuận lợi hơn Năm 1964, máy tính đã có khả năng xử lý và nâng cao chấtlượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưuảnh Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnhphát triển không ngừng Các phương pháp tri thức nhân tạo như mạng nơ-ron nhân tạo,các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụngrộng rãi và thu được nhiều kết quả khả quan hơn
Sau đây, xét các bước cần thiết trong quá trình xử lý ảnh Đầu tiên, ảnh tự nhiên
từ thế giới bên ngoài được thu nhận qua các thiết bị thu (camera, máy chụp ảnh).Trước đây, ảnh thu qua camera là các ảnh tương tự (loại camera ống kiểu CCIR) Gầnđây với sự phát triển của công nghệ, ảnh màu hoặc ảnh đen trắng được lấy ra từcamera, sau đó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho công đoạn xử lýtiếp theo Mặt khác ảnh có thể được quét từ vệ tinh chụp trực tiếp bằng máy quét ảnh.Hình 1.1 dưới đây mô tả các công đoạn cơ bản trong xử lý ảnh
Trang 21Biểu diễn ảnh
Nhận dạng ảnh
Cơ sở tri thức
Hình 1.1: Các bước cơ bản trong xử lý ảnh
a Thu nhận ảnh
Ảnh có thể nhận qua camera màu hoặc trắng đen Thường ảnh nhận qua camera
là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng
có loại camera đã số hóa (như loại CCD – Change Coupled Device) là loại photodiottạo cường độ sáng tại mỗi điểm ảnh [1]
Camera thường dùng là loại quét dòng, ảnh tạo ra có dạng hai chiều Chất lượngảnh thu nhận được phụ thuộc vào thiết bị thu, môi trường (ánh sáng, phong cảnh)
b Tiền xử lý
Sau bộ thu nhận, ảnh có thể bị nhiễu, độ tương phản thấp nên cần đưa vào bộ tiền
xử lý nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độtương phản để làm rõ hơn, nét hơn
c Phân đoạn hay phân vùng ảnh
Phân vùng ảnh là tách đầu vào thành các vùng thành phần để biểu diễn phân tích,nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư cho mụcđích phân loại bưu phẩm, cần chia các câu chữ về địa chỉ hoặc tên người thành các từ,các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khókhăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quảnhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này [1]
d Biểu diễn ảnh
Đây là phần sau khi phân đoạn ảnh, chứa các điểm ảnh của vùng ảnh (ảnh đãphân đoạn) cộng với mã liên kết ở các vùng lân cận Việc biến đổi các số liệu này
Trang 22thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tínhchất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Extraction) gắn với việc táchcác đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệtlớp đối tượng này với lớp đối tượng khác trong phạm vi ảnh nhận được [1] Ví dụ:trong nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tựgiúp phân biệt ký tự này với ký tự khác.
e Nhận dạng và nội suy ảnh
Nhận dạng là quá trình xác định ảnh Quá trình này thường thu được bằng cách sosánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ýnghĩa trên cơ sở nhận dạng [1] Ví dụ: một loại chữ số và nét gạch ngang trên phong bìthư có thể nội suy thành mã điện thoại Theo lý thuyết về nhận dạng, các mô hình toánhọc về ảnh được phân loại theo hai loại nhận dạng ảnh cơ bản:
Nhận dạng theo tham số
Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay được áp dụng trong khoa học
và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng vănbản (text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người, v.v
f Cơ sở tri thức
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,dung lượng điểm ảnh, môi trường để thu ảnh phong phú dẫn đến nhiễu Trong nhiềukhâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học nhằmđảm bảo tiện lợi cho việc xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và
xử lý ảnh ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay
đã xử lý theo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức đượcphát huy [1]
g Mô tả
Ảnh sau khi số hóa sẽ lưu vào bộ nhớ, hoặc truyền sang các khâu tiếp theo đểphân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ lớn vàkhông hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các ảnh thô đó
Trang 23được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh đượcgọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh(Region) [1].
1.3 Những vấn đề trong xử lý ảnh
a Điểm ảnh
Là đơn vị cơ bản nhất tạo nên một bức ảnh kỹ thuật số Địa chỉ của điểm ảnhđược xem như là một tọa độ (x, y) nào đó Một bức ảnh kỹ thuật số, có thể được tạo rabằng cách chụp hoặc bằng một phương pháp đồ họa nào khác, được tạo nên từ hàngngàn hoặc hàng triệu pixel riêng lẻ Bức ảnh càng chứa nhiều pixel thì càng chi tiết.Một triệu pixel thì tương đương với 1 megapixel [2]
b Ảnh số
Ảnh số là tập hợp hữu hạn các điểm ảnh với mức xám phù hợp dùng để mô tảảnh gần với ảnh thật Số điểm ảnh xác định độ phân giải của ảnh Ảnh có độ phân giảicàng cao thì càng thể hiện rõ nét các đặc điểm của tấm hình và càng làm cho tấm ảnhtrở nên thực và sắc nét hơn Một hình ảnh là một tín hiệu hai chiều, nó được xác địnhbởi hàm toán học f(x,y) trong đó x và y là hai tọa độ theo chiều ngang và chiều dọc.Các giá trị của f(x, y) tại bất kỳ điểm nào là cung cấp các giá trị điểm ảnh (pixel) tạiđiểm đó của một hình ảnh [2]
c Phân loại ảnh
Mức xám của điểm ảnh là cường độ sáng, gán bằng một giá trị tại điểm đó Cácmức ảnh xám thông thường: 16, 32, 64, 128, 256 Mức được sử dụng thông dụng nhất
là 256, tức là dùng 1 byte để biểu diễn mức xám [2] Trong đó:
Ảnh nhị phân là ảnh có 2 mức trắng và đen Chỉ có 2 giá trị 0 và 1 và chỉ sửdụng 1 bit dữ liệu trên 1 điểm ảnh
Ảnh đen trắng là ảnh có hai màu đen, trắng (không chứa màu khác) với mứcxám ở các điểm ảnh có thể khác nhau
Ảnh màu là ảnh kết hợp của 3 màu cơ bản lại với nhau để tạo ra một thế giớimàu sinh động Người ta thường dùng 3 byte để mô tả mức màu, tức là có khoảng 16,7triệu mức màu
Trang 24d Quan hệ giữa các điểm ảnh
Lân cận điểm ảnh: được nói một cách hài hước như là hàng xóm của cái điểmảnh Có 2 loại lân cận cơ bản là lân cận 4 và lân cận 8
Hình 1.2: Lân cận 4, lân cận 8Bốn điểm ảnh lân cận 4 theo cột và hàng với tọa độ lần lượt là (x+1, y), (x-1, y),(x, y+1), (x, y-1) ký hiệu là tập N4(p) Bốn điểm ảnh lân cận 4 theo đường chéo có tọa
độ lần lượt (x+1, y+1), (x+1, y+1), (x-1, y+1), (x-1, y-1) ký hiệu là tập ND(p) Tập 8điểm ảnh lân cận 8 là hợp của 2 tập trên: 8( )N p N4( )p ND p( )
Liên kết ảnh: Các mối liên kết của ảnh được xem như là mối liên kết của 2 điểmảnh gần nhau, có 3 loại liên kết: liên kết 4, liên kết 8, liên kết m (liên kết hỗn hợp).Trong ảnh đa mức xám, ta có thể đặt V chứa nhiều giá trị như V = {tập con} Cho p cótọa độ (x,y) [2]
Liên kết 4: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 4của nhau nếu q thuộc về tập N4(p)
Liên kết 8: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết 8của nhau nếu q thuộc về tập N8(p)
Liên kết m: hai điểm ảnh p và q có giá trị thuộc về tập V được gọi là liên kết Mcủa nhau nếu thỏa mãn 1 trong 2 điều kiện sau: q thuộc về tập N4(p), q thuộc về tậpND(p) và giao của hai tập N4(p), N4(q) không chứa điểm ảnh nào có giá trị thuộc V[2]
e Lọc nhiễu
Trang 25Ảnh thu nhận được thường sẽ bị nhiễu nên cần phải loại bỏ nhiễu Các toán tửkhông gian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo công dụng: làmtrơn nhiễu, nổi biên Để làm trơn nhiễu hay tách nhiễu, người ta sử dụng các bộ lọctuyến tính (lọc trung bình, thông thấp) hoặc lọc phi tuyến (trung vị, giả trung vị, lọcđồng hình) [2] Từ bản chất của nhiễu (thường tương ứng với tần số cao) và từ cơ sở lýthuyết lọc là: bộ lọc chỉ cho tín hiệu có tần số nào đó thông qua, để lọc nhiễu người tathường dùng lọc thông thấp (theo quan điểm tần số không gian) hay lấy tổ hợp tuyếntính để san bằng (lọc trung bình) Để làm nổi cạnh (ứng với tần số cao), người ta dùngcác bộ lọc thông cao, lọc Laplace Phương pháp lọc nhiễu chia làm 2 loại: lọc tuyếntính, lọc phi tuyến.
Làm trơn nhiễu bằng lọc tuyến tính: Khi chụp ảnh có thể xuất hiện nhiều loạinhiễu vào quá trình xử lý ảnh, nên ta cần phải lọc nhiễu Gồm các phương pháp cơ bảnlọc trung bình, lọc thông thấp, v.v Ví dụ lọc trung bình: Với lọc trung bình, mỗiđiểm ảnh được thay thế bằng trung bình trọng số của các điểm ảnh lân cận
Làm trơn nhiễu bằng lọc phi tuyến: Các bộ lọc phi tuyến cũng hay được dùngtrong kỹ thuật tăng cường ảnh Một số phương pháp lọc cơ bản bộ lọc trung vị, lọcngoài, v.v Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các điểmảnh còn lọc giả trung vị sẽ dùng trung bình cộng của hai giá trị “trung vị” (trung bìnhcộng của max và min)
Lọc trung vị: Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phải xếp theothứ tự tăng hay giảm dần so với giá trị trung vị Kích thước cửa sổ thường được chọnsao cho số điểm ảnh trong cửa sổ là lẻ
Lọc ngoài: Giả thiết có ngưỡng nào đó cho các mức nhiễu (có thể dựa vào lược
đồ xám) Tiến hành so sánh giá trị độ xám của một điểm ảnh với trung bình số học 8lân cận của nó [2] Nếu sai lệch lớn hơn ngưỡng, điểm ảnh này được coi như nhiễu.Trong trường hợp đó, thay thế giá trị của điểm ảnh bằng giá trị trung bình 8 lân cậnvừa tính được
f Phương pháp phát hiện biên
Trang 26Biên là một trong những vấn đề ta cần quan tâm trong xử lý ảnh Vì ở giai đoạnphân đoạn ảnh chủ yếu dựa vào biên.
Hình 1.3: Hình tách biênĐiểm biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi nhanh hoặcđột ngột về mức xám (hoặc màu) Ví dụ trong ảnh nhị phân, điểm đen gọi là điểm biênnếu lân cận nó có ít nhất một điểm trắng [2] Đường biên (đường bao: boundary): tậphợp các điểm biên liên tiếp tạo thành một đường biên hay đường bao
Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên của đường biên là một loạiđặc trưng cục bộ tiêu biểu trong phân tích, nhân dạng ảnh Thứ hai, người ta sử dụngbiên làm phân cách các vùng xám (màu) cách biệt Ngược lại, người ta cũng sử dụngcác vùng ảnh để tìm đường phân cách Tầm quan trọng của biên: để thấy rõ tầm quantrọng của biên, xét ví dụ sau: khi người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần
vẽ vài đường nứt tốc học mà không cần vẽ một cách đầy đủ Như vậy, phát hiện biênmột cách lý tưởng là phát hiện được tất cả các đường biên trong các đối tượng
g Phân đoạn ảnh
Phân đoạn ảnh là bước then chốt trong xử lý ảnh Giai đoạn này nhằm phân tíchảnh thành các vùng có cùng tính chất nào đó dựa theo biên hay các vùng liên thông.Tiêu chuẩn để xác định các vùng liên thông có thể là cùng mức xám, cùng màu haycùng độ nhóm [2]
Quá trình phân đoạn ảnh nhằm tách đối tượng cần khảo sát ra khỏi phần nội dungcòn lại của ảnh, hay phân chia các đối tượng trong ảnh thành những đối tượng riêngbiệt Như vậy quá trình phân đoạn ảnh là quá trình giảm bớt số lượng thông tin trongảnh và chỉ giữ lại những thông tin cần thiết cho ứng dụng Có nhiều phương pháp phân
Trang 27đoạn ảnh khác nhau Trong đó quá trình phân đoạn sử dụng một ngưỡng giá trị xám đểphân đoạn ảnh ra thành các đối tượng và nền là phương pháp đơn giản nhất Lúc nàycác điểm ở bên dưới ngưỡng giá trị xám thuộc về nền còn những điểm ảnh ở bên trênngưỡng giá trị xám thuộc về đối tượng Phương pháp phân đoạn ảnh này hiệu quả lớnđối với ảnh nhị phân, văn bản in hay đồ họa, v.v… [2]
h Các phép toán hình thái Morphology
Khái niệm Morphology trong xử lý ảnh số khởi nguồn từ một ngành của sinhhọc, nghiên cứu về hình thể và cấu trúc của động thực vật Đây là một công cụ giúpcác rút trích của thành phần trong ảnh nhị phân, biểu diễn và mô tả chúng dưới dạngcác vùng hoặc dạng như các đường biên, xương và bao lồi Kỹ thuật morphology cũngđược áp dụng trên ảnh xám các công đoạn tiền/hậu xử lý ảnh (pre or post processing).Các phép toán đầu tiên trong Morphology được phát triển vào những năm 1964 bởiGeorges Matheron (1930-2000) và Jean Serra (1940) tại trường đại học École desMines de Pảis, Pháp Matheron là tiến sĩ hướng dẫn của Jean, họ cố gắng xác định sốlượng đặc tính của khoáng sản thông qua “thin cross section” và công việc cho ra kếtquả là một phương pháp tiếp cận mới, cũng như sự tiến bộ trong hình học tích phân và
tô pô Từ đó đến hết năm 1970, Morphology xử lý cơ bản với các ảnh nhị phân, tạo racác phép toán và kĩ thuật như: Dilation, Erosion, Opening, Closing, v.v [2]
Hình 1.4: Phép giãnPhép giãn (Dilation): Phép toán Dilation là thao tác giãn nở/phình to các đốitượng ảnh đơn sắc
Trang 28Hình 1.5: Phép coPhép co (Erosion): Phép toán Erosion là thao tác xói mòn/co hẹp các đối tượngảnh đơn sắc Nếu như phép giãn có thể nói là thêm điểm ảnh vào trong đối tượng ảnh,làm cho đối tượng ảnh trở nên lớn hơn thì phép co sẽ làm cho đối tượng ảnh trở nênnhỏ hơn và ít điểm ảnh.
i Những định dạng của ảnh
Ảnh thu nhận được sau quá trình số hóa thường được lưu lại cho các quá trình xử
lý tiếp theo hay truyền đi Trong quá trình truyền của kỹ thuật xử lý ảnh, tồn tại nhiềuđịnh dạng khác nhau từ ảnh đen trắng như định dạng IMG, ảnh đa cấp xám cho đếnảnh màu (BMP, JPEG, GIF)
j Các phần mềm hỗ trợ xử lý ảnh
Hiện nay xử lý ảnh được giảng dạy tại trường đại học và ứng dụng vào thực tế rấtnhiều như các phần mềm chỉnh sửa hình ảnh nhận biết khuôn mặt Chính vì thế có rấtnhiều công cụ để lập trình ứng dụng vào thực tế Như phải kể đến Matlab, hay ngônngữ Python, v.v
1.4 Giới thiệu chung về PLC S7-1200
1.4.1 Tổng quan về PLC S7-1200
Siemens chính thức có mặt tại Việt Nam vào năm 1993, chuyên cung cấp cácdịch vụ và sản phẩm công nghệ điện, điện tử Trong đó, PLC Siemens cũng đã trởthành một dấu ấn trong ngành công nghiệp Việt Nam Nổi tiếng với các dòng sảnphẩm PLC: Logo, S7-200, S7-1200, S7-300, S7-1500, S7-400 Series (hiện tại dòngS7-1200 là dòng nâng cao và đang thay thế dòng S7-200)
Trang 29Bộ điều khiển logic khả trình PLC là thiết bị điện tử bán dẫn thực hiện các hàmđiều khiển logic bằng chương trình thay thế cho các mạch logic kiểu rơ le (tiếp điểm
và phi tiếp điểm) Hoạt động của PLC dựa trên nguyên tắc quét vòng PLC đọc các tínhiệu logic từ các cổng vào, ví dụ: phím bấm, tiếp điểm, tín hiệu ra cùa các cảm biếnv.v… thực hiện hàm điều khiển logic bằng chương trình và gửi kết quả đến cổng ra đểđiều khiển các cơ cấu chấp hành, ví dụ: cuộn dây rơ le, đèn, van điện từ, v.v…
Về bản chất, PLC là hệ vi xử lý được thiết kế tương tự máy tính số, với ngôn ngữlập trình riêng gần gũi với người sử dụng, được ứng dụng trong các bài toán điều khiểnlogic Hạt nhân của hệ là bộ vi xử lý thực hiện các phép tính số học và logic cùng vớicác thành phần cấu thành hệ như bộ nhớ, các cổng vào/ra, v.v…
Về phạm vi ứng dụng, PLC là thiết bị đặt tại dây chuyền sản xuất, tích hợp vớicác thành phần của hệ thống điều khiển để thực hiện điều khiển trực tiếp công nghệmột quá trình kỹ thuật PLC thường làm việc trong môi trường rất khắc nghiệt (nhiệt
độ cao, độ ẩm lớn, thời gian hoạt động liên tục) và gắn liền với người vận hành trựctiếp thiết bị Vì vậy, PLC được thiết kế và chế tạo với các tiêu chuẩn đặc biệt về độbền, tính module hóa cao, ngôn ngữ lập trình phù hợp và thân thiện với trình độ người
sử dụng
Về chức năng, PLC là thiết bị điều khiển ở mức trường Ban đầu, chức năng cơbản của PLC là bộ điều khiền các đại lượng logic Tuy nhiên, do sự phát triển, hoànthiện của các bộ vi xử lý và tích hợp hệ thống nên hiện nay PLC còn đóng vai trò làcác thiết bị tính toán, được sử dụng như một bộ điều khiển quá trình rời rạc và liên tục
Sự khác nhau về nguyên tắc hoạt động và chức năng của PLC với các máy tính côngnghiệp đang ngày càng được thu hẹp Các máy tính công nghiệp với ưu điểm nổi bật
về tốc độ xử lý, bộ nhớ lớn có thể thực hiện nhiều nhiệm vụ và chức năng điều khiển
Hệ điều hành do nhà sản xuất cung cấp được cài đặt sẵn trong bộ nhớ của PLC.Chương trình ứng dụng do người sử dụng lập trình bằng ngôn ngữ lập trình của PLC
để thực hiện một thuật toán (algorithm) điều khiển xác định Giữa phần cứng và phầnmềm có mối liên hệ chặt chẽ với nhau
Cùng với sự phát triển của phần cứng lẫn phần mềm, PLC ngày càng tăng cáctính năng cũng như vai trò trong các hoạt động công nghiệp Kích thước của PLC hiện
Trang 30nay được thu nhỏ lại để bộ nhớ và số lượng I/O càng nhiều hơn, các ứng dụng củaPLC càng mạnh hơn giúp người sử dụng giải quyết được nhiều vấn đề phức tạp trongđiều khiển hệ thống.
Người ta đã đi đến tiêu chuẩn hóa các mức chức năng chính của PLC các hệ điềukhiển là:
- Điều khiển chuyên gia giám sát:
+ Thay thế cho điều khiển rơle
+ Thay thế cho các panel điều khiển, mạch in
+ Điều khiển tự động, bán tự động bằng tay các máy và các quá trình
+ Có các khối điều khiển thông dụng (thời gian, bộ đếm)
- Điều khiển dãy:
+ Các phép toán số học
+ Cung cấp thông tin
+ Điều khiển liên tục các quá trình (nhiệt độ, áp suất, v.v…)
+ Điều khiển PID
+ Điều khiển động cơ chấp hành
+ Điều khiển động cơ bước
- Điều khiển mềm dẻo:
+ Điều khiển quá trình báo động
+ Phát hiện lỗi khi chạy chương trình
+ Ghép nối với máy tính (RS232/RS485)
+ Ghép nối với máy in
+ Thực hiện mạng tự động hóa xí nghiệp
+ Mạng cục bộ
+ Mạng mở rộng
Trang 31PLC S7-1200 được thiết kế nhỏ gọn, chi phí thấp, và một tập lệnh mạnh giúpnhững giải pháp hoàn hảo hơn cho ứng dụng sử dụng với S7-1200.
S7-1200 cung cấp một cổng PROFINET, hỗ trợ chuẩn Ethernet và TCP/IP
Các thành phần cấu tạo của PLC S7-1200 [3]
- 3 bộ điều khiển nhỏ gọn với sự phân loại trong các phiên bản khác nhau giốngnhư điều khiển AC, RELAY hoặc DC phạm vi rộng
- 2 mạch tương tự và số mở rộng ngõ vào/ra trực tiếp trên CPU làm giảm chi phísản phẩm
- 13 module tín hiệu số và tương tự khác nhau bao gồm (module SM và SB)
- 2 module giao tiếp RS232/RS485 để giao tiếp thông qua kết nối PTP
- PLC S7 - 1200 CPU 1211C có bộ nhớ làm việc 50KB work memory
- PLC S7 - 1200 CPU 1212C có bộ nhớ làm việc 75KB work memory
- PLC S7 - 1200 CPU 1214C có bộ nhớ làm việc 100KB work memory
- PLC S7 - 1200 CPU 1215C có bộ nhớ làm việc 125KB work memory
- PLC S7 - 1200 CPU 1217C có bộ nhớ làm việc 150KB work memory
Module mở rộng PLC S7 – 1200 [3]
Trang 32PLC S7 - 1200 có thể mở rộng các module tín hiệu và các module gắn ngoài để
mở rộng chức năng của CPU Ngoài ra, có thể cài đặt thêm các module truyền thông
để hỗ trợ giao thức truyền thông khác
Khả năng mở rộng của từng loại CPU tùy thuộc vào các đặc tính, thông số vàquy định của nhà sản xuất
- S7 - 1200 có các loại module mở rộng sau:
+ Communication Module (CP)
+ Signal Board (SB)
+ Signal Module (SM)
Cổng truyền thông Profinet (Ethernet)
- Dùng để kết nối máy tính với màn hình HMI hay truyền thông PLC – PLC
- Dùng kết nối với các thiết bị khác có hỗ trợ chuẩn Ethernet
- Đầu nối RJ45 với tính năng tự động chuyển đổi đấu chéo
- Tốc độ truyền 10/100 Mbits/s
- Hỗ trợ 16 kết nối Ethernet
- TCP/IP, ISO on TCP, và S7 protocol
Các tính năng về đo lường, điều khiển vị trí, điều khiển quá trình
- 6 bộ đếm tốc độ cao (high speed counter) dùng cho các ứng dụng đếm và đolường, trong đó có 3 bộ đếm 100kHz và 3 bộ đếm 30kHz
- 2 ngõ ra PTO 100KhZ để điều khiển tốc độ và vị trí động cơ bước hay bộ driveservo (servo drive)
- Ngõ ra điều rộng xung PWM, điều khiển tốc độ động cơ, vị trí valve, hay điềukhiển nhiệt độ, v.v…
- 16 bộ điều khiển PID với tính năng tự động xác định thông số điều khiển tune functionality)
(auto- Thiết kế linh hoạt
Trang 33- Mở rộng tín hiệu vào/ra bằng board tín hiệu mở rộng (signal board), gắn trựctiếp phía trước CPU, giúp mở rộng tín hiệu vào/ra mà không thay đổi kích thước hệđiều khiển.
- Mỗi CPU có thể kết nối tối đa 8 module mở rộng tín hiệu vào/ra
- Ngõ vào analog 0-10V được tích hợp trên CPU
- Ba module truyền thông có thể kết nối vào CPU mở rộng khả năng truyềnthông, ví dụ: module RS232 hay RS485
- Card nhớ SIMATIC, dùng khi cần mở rộng bộ nhớ cho CPU, copy chươngtrình ứng dụng hay khi cập nhật firmware
- Chẩn đoán lỗi online/offline
1.4.2 Cấu trúc bộ nhớ của PLC S7 - 1200
Hình 1.6: Các loại vùng nhớ của PLC S7 - 1200
Vùng nhớ Load memory: Là vùng nhớ dạng non-volatile (loại vùng nhớ mà
thông tin đã lưu trữ trên nó sẽ không bị mất khi nó bị ngắt nguồn cấp điện) Vùng nhớnày dùng để lưu chương trình người dùng, dữ liệu và cấu hình
Vùng nhớ Work memory: Là vùng nhớ dạng volatile (loại vùng nhớ mà thông
tin lưu trữ trên nó sẽ bị mất khi nó bị ngắt nguồn cấp điện) Vùng nhớ này dùng để lưumột vài thành phần của một dự án trong khi thực hiện chương trình người dùng CPU
sẽ sao chép một vài thành phần của dự án từ vùng nhớ Load memory sang vùng nhớ
Trang 34Work memory Vùng nhớ này sẽ bị mất khi mất điện, và nó được khôi phục bởi CPUkhi nguồn điện được cấp trở lại Có thể hiểu vùng nhớ này giống như RAM của máytính.
Vùng nhớ Retentive: Là vùng nhớ dạng non-volatile, dùng để lưu trữ các giá trị
của vùng nhớ Work memory CPU sử dụng vùng nhớ Retentive để lưu các giá trị đượclựa chọn bởi chương trình của người dùng trong thời gian bị mất điện Khi có điện trởlại CPU sẽ khôi phục những giá trị được lưu trữ này
Tóm lại, có thể hiểu như sau: Khi người dùng download một dự án xuống CPU,đầu tiên CPU sẽ lưu chương trình trong vùng nhớ Load memory Vùng nhớ này nằmtrong CPU hoặc trong thẻ nhớ (nếu có) Khi thực hiện chương trình thì CPU sẽ saochép chương trình lập trình sang vùng nhớ Work memory để thực hiện chương trình
Và khi chương trình được thực hiện thì những giá trị nào được lựa chọn là Retentive sẽđược nhớ cho dù CPU bị mất nguồn
1.4.3 Vòng quét của PLC S7 – 1200
Gửi các tín hiệu tới đầu ra
Nhận các tín hiệu đầu vào
Thực hiện chương trình điều khiển
Kiểm tra trạng thái làm việc của CPU
Xử lý các yêu cầu vềtruyền thông (nếu có)
Hình 1.7: Mô tả mỗi vòng quétPLC thực hiện các công việc (bao gồm cả chương trình điều khiển) theo chu trìnhlặp Mỗi vòng lặp được gọi là một vòng quét (scancycle) Mỗi vòng quét được bắt đầubằng việc chuyển dữ liệu từ các cổng vào số tới vùng bộ đệm ảo I, tiếp theo là giaiđoạn thực hiện chương trình Trong từng vòng quét, chương trình được thực hiện từlệnh đầu tiên đến lệnh kết thúc của khối OB1 [4]
Sau giai đoạn thực hiện chương trình là giai đoạn chuyển các nội dung của bộđệm ảo Q tới các cổng ra số Vòng quét được kết thúc bằng giai đoạn xử lý các yêu
Trang 35cầu truyền thông (nếu có) và kiểm tra trạng thái của CPU Mỗi vòng quét có thể mô tảnhư hình 1.7.
Bộ đệm I và Q không liên quan tới các cổng vào/ra tương tự nên các lệnh truynhập cổng tương tự được thực hiện trực tiếp với cổng vật lý chứ không thông qua bộđệm
Thời gian cần thiết để cho PLC thực hiện được một vòng quét được gọi là thờigian vòng quét (Scan time) Thời gian vòng quét không cố định, tức là không phảivòng quét nào cũng được thực hiện trong một khoảng thời gian như nhau Có vòngquét được thực hiện lâu, có vòng quét được thực hiện nhanh tuỳ thuộc vào số lệnhtrong chương trình được thực hiện, vào khối lượng dữ liệu truyền thông Trong vòngquét đó Như vậy giữa việc đọc dữ liệu từ đối tượng để xử lý, tính toán và việc gửi tínhiệu điều khiển đến đối tượng có một khoảng thời gian trễ đúng bằng thời gian vòngquét Nói cách khác, thời gian vòng quét quyết định tính thời gian thực của chươngtrình điều khiển trong PLC Thời gian vòng quét càng ngắn, tính thời gian thực củachương trình càng cao [4]
Tại thời điểm thực hiện lệnh vào/ra, thông thường lệnh không làm việc trực tiếpvới cổng vào/ra mà chỉ thông qua bộ nhớ đệm của cổng trong vùng nhớ tham số Việctruyền thông giữa bộ đệm ảo với ngoại vi trong giai đoạn 1 và 3 do hệ điều hành CPUquản lý Ở một số modul CPU, khi gặp lệnh vào/ra ngay lập tức hệ thống sẽ cho dừngmọi công việc khác, ngay cả chương trình xử lý ngắt, để thực hiện với cổng vào/ra.Thời gian thực hiện hết 1 vòng quét phụ thuộc vào hai yếu tố như sau:
- Một là số câu lệnh có trong vòng quét của chương trình, càng nhiều câu lệnh thìthời gian thực hiện vòng quét sẽ càng lớn
- Hai là tốc độ xử lý lệnh của CPU Nếu tốc độ xử lý lệnh của CPU càng lớn thìthời gian vòng quét càng ngắn
1.4.4 Ngôn ngữ lập trình PLC S7 – 1200
- PLC S7- 1200 có ba loại ngôn ngữ lập trình chính, bao gồm:
+ Ngôn ngữ lập trình LAD (Ladder logic)
Trang 36+ Ngôn ngữ lập trình FBD (Function Block Diagram)
+ Ngôn ngữ lập trình STL (Statement List)
Ngôn ngữ LAD (Ladder logic)
Ladder Logic còn được biết đến với tên gọi khác như: sơ đồ bậc thang Nó là mộtngôn ngữ lập trình PLC đồ họa nhằm thể hiện các hoạt động logic với ký hiệu tượngtrưng Ladder Logic “LAD” không chỉ là một ngôn ngữ lập trình cho PLC Nó là mộttrong những ngôn ngữ lập trình PLC được tiêu chuẩn hóa Điều này đơn giản có nghĩa
là Ladder Logic đã được mô tả theo một tiêu chuẩn Tiêu chuẩn đó được gọi là IEC61131-3 [5]
Hình 1.8: Mô tả ngôn ngữ LAD
- Ưu điểm:
+ LAD với cấu trúc bậc thang dễ sắp xếp, tổ chức và tiện theo dõi
+ Cho phép ghi chú thích, hỗ trợ chỉnh sửa online
+ Dễ dàng cho những người mới bắt đầu lập trình
+ Luôn luôn có thể chuyển từ dạng STL sang LAD
- Nhược điểm: Một số lập trình chức năng không có sẵn, đặc biệt là khó khăn
trong việc lập trình chyển động hoặc phân luồng Hầu hết các hãng PLC đều hỗ trợngôn ngữ này như: AB, Mitsubishi, B&R, Siemens, Unitronics, Schneider, v.v…
Ngôn ngữ FBD (Function Block Diagram)
Trang 37FBD là từ viết tắt của “Function Block Diagram” tạm dịch là “Sơ đồ khối chứcnăng”; là một trong những ngôn ngữ lập trình PLC được sử dụng rộng rãi FBD là mộtngôn ngữ lập trình rất dễ học, cung cấp rất nhiều khả năng và chúng ta có thể sử dụngngôn ngữ FBD này để lập trình cho bất kỳ chức năng nào trong một chương trình PLC.
Hình 1.9: Mô tả ngôn ngữ FBDFBD là ngôn ngữ lập trình PLC chính thức được mô tả theo tiêu chuẩn IEC61131-3 và là ngôn ngữ cơ bản cho tất cả các lập trình viên PLC FBD là một ngônngữ tuyệt vời để triển khai mọi thứ từ logic đến timer, bộ điều khiển PID và thậm chí
là hệ thống SCADA, v.v… [5]
- Ưu điểm:
+ Hoạt động tốt với các chức năng điều khiển chuyển động
+ Trực quan và dễ dàng hơn đối với một số người dùng
+ Có thể gộp nhiều dòng lập trình thành một khối hoặc một số khối chức năng+ Luôn luôn có thể chuyển từ hiển thị dạng FBD sang STL
Trang 38Đây là dạng soạn thảo chương trình dạng tập hợp các câu lệnh Người dùng phảinhập các câu lệnh từ bàn phím, giữa lệnh và toán hạng (toán hạng có thể là địa chỉ, dữliệu) có khoảng trắng và mối lệnh chiếm một hàng Ở dạng soạn thảo này sẽ có một sốchức năng mà ở dạng soạn thảo LAD hay FBD không có [5].
Hình 1.10: Mô tả ngôn ngữ STL
- Ưu điểm:
+ Tính tổ chức cao và có khả năng tính toán các phép toán học lớn
+ Cho phép lập trình một số chức năng không có ở ngôn ngữ khác (như LAD)+ Là dạng soạn thảo phù hợp cho những người có kinh nghiệm lập trình PLC
1.4.5 Sơ đồ đấu nối
a Đấu nối nguồn
Trang 39AC 220V DC 24V
Hình 1.11: Sơ đồ đấu nối nguồn PLCĐối với PLC Siemens dòng S7-1200 thì có 2 cách đầu nguồn cơ bản như sau:Loại sử dụng nguồn AC, ở góc trái phía trên có cặp chân ký hiệu L1 và N, cấpnguồn AC vào 2 chân này Lưu ý nên xem kỹ nguồn ghi ở nhãn PLC Siemens S7 -
1200 để tránh cấp nguồn nhầm, bởi vì nếu PLC là loại 24VDC mà cấp 220VAC vàothì PLC sẽ bị nổ ngay lập tức
Đối với loại sử dụng nguồn DC, ở góc trái phía trên của PLC Siemens S7 – 1200
sẽ có chân ký hiệu L+ và M Cấp nguồn +24VDC vào chân L+ và 0VDC vào chân M
b Đấu tín hiệu ngõ vào
Hình 1.12: Sơ đồ đấu nối đầu vào của PLC S7 – 1200Cách đấu nối đầu vào PLC Siemens S71200 thì giống nhau với tất cả các loạiCPU Chân 1M gọi là chân chung quy định kiểu đấu dây của ngõ vào Nếu nối 1M vàonguồn dây 0V của nguồn DC thì dùng nguồn +DC để kích ngõ vào và ngược lại nếunối +DC vào chân 1M thì dùng 0V để kích ngõ vào
Trang 40c Đấu tín hiệu ngõ ra
Hình 1.13: Sơ đồ tín hiệu ngõ raĐối với dòng PLC S7-1200 có 2 loại ngõ ra khác nhau là ngõ ra relay và ngõ ra
DC Sơ đồ đấu nối ngõ ra như hình 1.13 Bên phải là ngõ ra DC, bên trái là ngõ raRelay Phải dựa vào mã hàng hoặc thông tin trên nhãn để chọn sơ đồ đấu cho chínhxác
Đối với dạng tín hiệu ngõ ra dạng relay thì ngõ ra PLC có tác dụng như công tắcđiện vật lý có thể đóng cắt cả điện AC và DC nhưng lưu ý relay của PLC là dạng nhỏnên chỉ sử dụng đóng cắt cho thiết bị có dòng tải nhỏ mà thôi Đối với dạng ngõ ra làrelay thì tần số đóng cắt khá thấp
Còn với PLC có ngõ ra là DC thì bắt buộc phải có tải gắn với ngõ ra Tránhtrường hợp nối trực tiếp ngõ ra xuống 0V Đối với dạng ngõ ra DC có thể sử dụng tần
số đóng cắt cao liên quan tới một số ứng dụng điều khiển Servo
1.5 Giới thiệu về ngôn ngữ lập trình Python và phần mềm Pycharm
1.5.1 Ngôn ngữ lập trình Python và thư viện OpenCV
a Giới thiệu ngôn ngữ lập trình Python
Python là một ngôn ngữ lập trình được sử dụng phổ biến ngày nay từ trong môitrường đường cho tới các dự án lớn Ngôn ngữ phát triển nhiều loại ứng dụng, phầnmềm khác nhau như các chương trình chạy trên desktop, server, lập trình các ứng dụngweb, v.v Ngoài ra Python cũng là ngôn ngữ ưa thích trong xây dựng các chươngtrình trí tuệ nhân tạo trong đó bao gồm machine learning Ban đầu, Python được phát