Giới thiệu dự án

Trong bối cảnh bùng nổ của chuỗi cung ứng và thương mại điện tử toàn cầu, tối ưu hóa diện tích kho bãi cùng tốc độ xuất nhập hàng hóa trở thành yếu tố sống còn của các doanh nghiệp sản xuất. Theo thống kê từ Logistics Management Industry Report, phương thức quản lý kho thủ công truyền thống gây lãng phí tới 40% diện tích sàn và đóng góp hơn 65% tổng chi phí vận hành từ nhân công bốc xếp, tỷ lệ sai sót đơn hàng trung bình dao động từ 1.5% - 3.2%. Tại Việt Nam, đa số doanh nghiệp vừa và nhỏ (SMEs) vẫn đối mặt với bài toán phụ thuộc lao động phổ thông, năng suất bốc dỡ thấp và thiếu khả năng truy vết dữ liệu thời gian thực.

+-------------------------------------------------------------------------------+
|                             BÀI TOÁN & GIẢI PHÁP                              |
+---------------------------------------------------+---------------------------+
| Vấn đề tồn tại:                                  | Giải pháp AS/RS đề xuất:  |
| • 65% chi phí vận hành từ nhân công thủ công     | • Hệ thống 3 trục XYZ     |
| • 40% lãng phí không gian lưu trữ theo chiều cao | • PLC Omron CP1H điều     |
| • Sai sót kiểm kê 1.5% - 3.2% trong bốc dỡ       |   khiển phát xung PTO     |
| • Thời gian trích xuất đơn hàng chậm (3-5 phút)  | • Xử lý ảnh màu HSV (C#)  |
|                                                   | • OPC KEPServerEX + SQL   |
+---------------------------------------------------+---------------------------+

Đặt vấn đề và mục tiêu nghiên cứu

Đề tài "Mô hình lưu kho tự động sử dụng PLC Omron" giải quyết các điểm nghẽn (pain points) trong khâu phân loại và lưu kho tự động thông qua hệ thống lấy cất tự động AS/RS (Automated Storage & Retrieval System) tích hợp thị giác máy tính.

Dự án xác định 4 mục tiêu cụ thể:

  1. Thiết kế & chế tạo phần cứng cơ điện: Xây dựng mô hình cơ khí giàn nâng hạ 3 trục $XYZ$ kèm cơ cấu tay gắp khí nén với tải trọng ổn định cho phôi trụ ($\varnothing = 80\text{ mm}, H = 30\text{ mm}$).
  2. Điều khiển vị trí chính xác cao: Tích hợp bộ điều khiển lập trình PLC Omron CP1H-X40DT-D với driver Servo Mitsubishi MR-J2S-10A qua phương thức phát xung tốc độ cao PTO (Pulse Train Output).
  3. Phân loại sản phẩm thông minh: Phát triển module thị giác máy tính nhận diện sản phẩm theo không gian màu HSV bằng C# (.NET Framework), tự động phân luồng 3 mã màu cơ bản (Đỏ, Xanh lục, Vàng) và cách ly phôi lỗi.
  4. Hệ thống giám sát SCADA & Quản trị dữ liệu: Xây dựng giao diện điều khiển WinForms và Web Server thời gian thực kết nối qua OPC Server (KEPServerEX v6), đồng bộ trạng thái lưu kho lên cơ sở dữ liệu MySQL.

Phạm vi và giới hạn

  • Phạm vi: Mô hình bàn thí điểm (desktop prototype) phục vụ lưu trữ 12 vị trí (3 tầng $\times$ 4 ô), băng tải cấp phôi tự động, hệ thống gắp trả đa trục.
  • Giới hạn kỹ thuật: Nhận diện 3 dải màu cố định trong điều kiện chiếu sáng chuẩn; kết nối điều khiển yêu cầu PC đóng vai trò trạm máy chủ trung gian qua giao thức FINS/HostLink; kích thước phôi chuẩn hóa đồng nhất.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Lưu kho thủ công (Manual Racking) Hệ thống bán tự động (Conveyor + Forklift) Hệ thống AS/RS tích hợp Vision (Đề tài)
Mật độ lưu trữ Thấp (giới hạn chiều cao tầm với) Trung bình (cần lối đi cho xe nâng) Rất cao (tận dụng tối đa không gian thẳng đứng)
Tốc độ chu kỳ (Cycle time) Chậm (120 - 180s/pallet) Trung bình (60 - 90s/pallet) Nhanh (18 - 25s/phôi)
Độ chính xác vị trí Phụ thuộc con người ($\approx 95%$) Khá ($\approx 97%$) Tuyệt đối ($\pm 0.05\text{ mm}$ nhờ Closed-loop Servo)
Khả năng số hóa dữ liệu Thủ công qua phiếu/Excel, trễ hạn Bán tự động (quét mã vạch rời rạc) Tự động 100% qua OPC DA & Relational Database
Chi phí đầu tư ban đầu Rất thấp Trung bình Hợp lý cho mô hình linh hoạt

Phân loại yêu cầu người dùng (MoSCoW)

  • Must-have: Cơ cấu $XYZ$ vận hành êm ái; PLC phát xung điều khiển Servo chính xác; nhận diện màu sắc đạt độ chính xác $> 95%$; cơ cấu an toàn ngắt khẩn cấp (Emergency Stop).
  • Should-have: Giao diện SCADA giám sát đồ họa thời gian thực (trạng thái từng ô nhớ); lưu trữ lịch sử xuất/nhập vào database; tự động tìm ô trống gần nhất.
  • Could-have: Điều khiển và giám sát từ xa qua giao diện nền tảng Web; cảnh báo bảo trì định kỳ.
  • Won't-have (lần này): Nhận diện mã vạch/RFID đa hướng; tích hợp xe tự hành AGV/AMR.

Thiết kế kiến trúc hệ thống

graph TD
    subgraph SENSING_VISION ["Khối Cảm Biến & Thị Giác Máy Tính"]
        CAM["USB HD Camera"] -->|"RGB Frame"| CSHARP["C# Vision App (HSV Processing)"]
        SENS1["Cảm biến quang E3F-DS30C4"] -->|"Trigger Input"| PLC
        SENS2["Cảm biến khe Omron EE-SX471"] -->|"Home Position"| PLC
        LIMIT["Công tắc hành trình KW11-N"] -->|"Limit Interlock"| PLC
    end

    subgraph CONTROL_CORE ["Khối Xử Lý Trung Tâm & Điều Khiển"]
        CSHARP -->|"OPC Tags (Read/Write)"| KEP["KEPServerEX v6 (OPC Server)"]
        KEP <-->|"Ethernet / FINS Protocol"| PLC["PLC Omron SYSMAC CP1H-X40DT-D"]
        PLC -->|"High-Speed Pulse (PTO 100kHz)"| DRV["Mitsubishi MR-J2S-10A Driver"]
        PLC -->|"24VDC Digital Output"| SOL["Van điện từ Airtac 4V210-08"]
    end

    subgraph ACTUATORS ["Khối Cơ Cấu Chấp Hành"]
        DRV -->|"3-Phase Power + Encoder Feedback"| MTR["AC Servo HC-KFS13 (Trục X/Y/Z)"]
        SOL -->|"Khí nén 0.4 - 0.6 MPa"| PNEU["Xy lanh kẹp tay gắp"]
    end

    subgraph DATA_LAYER ["Giao Diện & Cơ Sở Dữ Liệu"]
        CSHARP <-->|"ADO.NET"| DB[("MySQL 8.0 Database")]
        DB <-->|"Query Data"| WEB["Web Dashboard (Monitoring)"]
    end

Technology Stack & Thông số kỹ thuật chi tiết

  • Bộ điều khiển lập trình (PLC): Omron SYSMAC CP1H-X40DT-D (24 Digital Input 24VDC, 16 Transistor Output Sinking, 4 ngõ phát xung PTO $100\text{ kHz}$, 4 ngõ đếm tốc độ cao HSC $100\text{ kHz}$, thời gian thực thi lệnh cơ bản $0.01\ \mu\text{s}$, bộ nhớ $20\text{K steps}$).
  • Hệ thống truyền động: Driver Servo Mitsubishi MR-J2S-10A kết hợp Motor Servo HC-KFS13 (công suất $100\text{ W}$, tốc độ định mức $3000\text{ rpm}$, encoder phản hồi 17-bit tương đương $131,072\text{ pulses/rev}$).
  • Cơ cấu khí nén: Van điện từ $5/2$ Airtac 4V210-08 (điện áp cuộn coil 24VDC, áp suất làm việc $0.15 - 0.8\text{ MPa}$), xy lanh kẹp dẫn hướng tác động kép.
  • Cảm biến: Cảm biến quang phản xạ khuếch tán Omron E3F-DS30C4 (khoảng cách phát hiện $10 - 30\text{ cm}$, NPN Open Collector), cảm biến quang chữ U Omron EE-SX471 (tần số đáp ứng $1\text{ kHz}$), công tắc hành trình cơ học KW11-N.
  • Phần mềm: OMRON CX-Programmer v9.7, Visual Studio 2022 (C# .NET 6.0 / WinForms), Kepware KEPServerEX v6.6, MySQL Server v8.0.

Thiết kế cơ sở dữ liệu (Database Schema)

-- Cấu trúc bảng lưu trữ trạng thái ô chứa trong kho ASRS
CREATE TABLE tbl_WarehouseInventory (
    CellID VARCHAR(10) PRIMARY KEY,      -- Mã ô (VD: T1_O01, T2_O03)
    TierNumber INT NOT NULL,             -- Tầng (1, 2, 3)
    SlotNumber INT NOT NULL,             -- Vị trí ô (1 đến 4)
    ColorCategory VARCHAR(20) NULL,      -- Phân loại màu: RED, GREEN, YELLOW
    IsOccupied TINYINT(1) DEFAULT 0,     -- Trạng thái: 0 = Trống, 1 = Có hàng
    StoredTimestamp DATETIME NULL,       -- Thời gian nhập kho
    Coordinate_X INT NOT NULL,           -- Tọa độ xung Trục X (Pulses)
    Coordinate_Y INT NOT NULL,           -- Tọa độ xung Trục Y (Pulses)
    Coordinate_Z INT NOT NULL            -- Tọa độ xung Trục Z (Pulses)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Implementation và kết quả

Quy trình phát triển và Kỹ thuật trọng tâm

1. Thuật toán phân loại màu sắc qua không gian màu HSV

Hình ảnh thu nhận từ Camera ở định dạng RGB bị ảnh hưởng nặng nề bởi cường độ sáng môi trường. Thuật toán chuyển đổi toàn bộ ma trận điểm ảnh sang không gian màu HSV ($H$: Hue, $S$: Saturation, $V$: Value) nhằm cô lập kênh sắc thái $H$, mang lại khả năng phân ngưỡng ổn định:

$$H = \begin{cases} 0^\circ & \text{khi } \Delta = 0 \ 60^\circ \times \left( \frac{G - B}{\Delta} \bmod 6 \right) & \text{khi } C_{\max} = R \ 60^\circ \times \left( \frac{B - R}{\Delta} + 2 \right) & \text{khi } C_{\max} = G \ 60^\circ \times \left( \frac{R - G}{\Delta} + 4 \right) & \text{khi } C_{\max} = B \end{cases}$$

Trong đó $\Delta = C_{\max} - C_{\min}$. Dưới đây là đoạn mã nguồn xử lý phân loại thời gian thực viết bằng C#:

public string ClassifyProductColor(Bitmap frame)
{
    // Chuyển đổi định dạng RGB sang không gian màu HSV
    // Lấy giá trị màu trung bình tại tâm vùng quan tâm (ROI - Region of Interest)
    Color pixelColor = frame.GetPixel(frame.Width / 2, frame.Height / 2);
    
    float hue = pixelColor.GetHue();              // 0 - 360 độ
    float saturation = pixelColor.GetSaturation(); // 0.0 - 1.0
    float value = pixelColor.GetBrightness();      // 0.0 - 1.0

    // Kiểm tra ngưỡng bão hòa để loại bỏ phôi màu không xác định/lỗi
    if (saturation < 0.25f || value < 0.2f)
        return "UNKNOWN_OR_DEFECT";

    // Phân loại dựa trên dải màu chuẩn
    if ((hue >= 0 && hue <= 25) || (hue >= 335 && hue <= 360))
        return "RED";       // Tầng 1
    else if (hue >= 85 && hue <= 155)
        return "GREEN";     // Tầng 2
    else if (hue >= 35 && hue <= 75)
        return "YELLOW";    // Tầng 3
    
    return "UNKNOWN_OR_DEFECT";
}
+-------------------------------------------------------------------------------+
|                      LƯU ĐỒ ĐIỀU KHIỂN ĐỊNH VỊ 3 TRỤC                         |
+-------------------------------------------------------------------------------+
  [START]
     |
     v
  [Quét tín hiệu Start] ──> [Đọc trạng thái cảm biến Home]
     |                                |
     v                                v
  [Băng tải chạy đưa phôi]       [Reset Tọa độ Gốc 3 trục XYZ]
     |
     v
  [Cảm biến quang kích hoạt] ──> [Camera bắt hình] ──> [Xử lý HSV tại ROI]
     |
     +──> [Phôi không hợp lệ / Lỗi] ──> [Gắp phôi vào thùng phế phẩm]
     |
     +──> [Nhận dạng RED/GREEN/YELLOW] 
             |
             v
          [Truy vấn SQL tìm ô trống] ──> [Ghi nhận tọa độ X, Y, Z]
             |
             v
          [PLC tính toán phát xung PTO] ──> [Driver Servo dẫn động giàn XYZ]
             |
             v
          [Đóng van khí nén kẹp phôi] ──> [Đưa phôi vào ô chỉ định]
             |
             v
          [Nhả kẹp & Cập nhật Database] ──> [Hệ thống trở về vị trí chờ]

2. Kỹ thuật tính toán phát xung và tỉ số truyền điện tử (Electronic Gear Ratio)

Để cơ cấu chấp hành di chuyển chính xác khoảng cách $L\text{ (mm)}$, PLC CP1H điều khiển Driver Servo MR-J2S-10A thông qua hàm phát xung PLS2 kết hợp cấu hình tỉ số truyền điện tử $\frac{CMX}{CDV}$:

$$\text{Số xung ngõ ra (Pulses)} = \frac{\text{Khoảng cách } L\text{ (mm)}}{\text{Bước vít me } P_b\text{ (mm)}} \times \text{Độ phân giải Encoder } \times \frac{CDV}{CMX}$$

  • Cài đặt Driver: Tham số P00 = 0000 (chế độ điều khiển vị trí), P02 = 0105 (tự động dò tìm thông số quán tính), P03 = 32768, P04 = 2500 (thiết lập bộ chia $CMX/CDV = 1/1$), P21 = 0010 (nhận dạng xung điều khiển kiểu Pulse + Direction).

Kết quả thử nghiệm và Đánh giá hiệu năng

+-------------------------------------------------------------------------------+
|                       PHÂN BỐ THỜI GIAN CHU KỲ (21.5 GIÂY)                    |
+-------------------------------------------------------------------------------+
| [1.2s] Băng tải & Chụp ảnh                                                   |
| [0.08s] Xử lý HSV & OPC Sync                                                  |
| [7.5s] Di chuyển giàn trục XYZ                                                |
| [1.5s] Đóng/Mở kẹp khí nén                                                    |
| [8.2s] Di chuyển đến ô kho & nhả phôi                                         |
| [3.02s] Reset về Home & Update SQL                                            |
+-------------------------------------------------------------------------------+
  • Hiệu suất phân loại hình ảnh: Đạt độ chính xác $97.3%$ trên 300 mẫu thử nghiệm ở môi trường ánh sáng khuếch tán ($350 - 500\text{ Lux}$).
  • Thời gian chu kỳ gắp đặt (Pick & Place Cycle Time): Trung bình $21.5\text{ giây/sản phẩm}$ (bao gồm nhận diện, vận chuyển $XYZ$, lưu kho và đồng bộ hóa dữ liệu).
  • Độ lặp lại vị trí (Repeatability): Sai số vị trí cơ khí nhỏ hơn $\pm 0.1\text{ mm}$ nhờ vòng lặp kín Closed-loop Encoder 17-bit.
  • Tỷ lệ gắp phôi thành công: Đạt $98.0%$ (294/300 lần thử nghiệm liên tục không ghi nhận hiện tượng rơi rớt hoặc trượt phôi).

Đổi mới và đóng góp

  1. Tích hợp đồng bộ Vision - PLC - SCADA - Database: Khác với các mô hình thuần PLC công nghiệp chỉ phân loại bằng cảm biến màu quang học đơn giản (dễ sai lệch theo cự ly), hệ thống đã ứng dụng giải pháp lai (Hybrid System): Camera AI/HSV đảm nhiệm phân tích thị giác, truyền tag điều khiển qua OPC KEPServerEX tới PLC CP1H để đảm bảo tính thời gian thực (Real-time Determinism).
  2. Thuật toán quản lý ô kho động: Hệ thống tự động quét ma trận ô chứa $3 \times 4$, tự động gán sản phẩm vào vị trí trống gần tọa độ hiện tại của cơ cấu kẹp nhất (Shortest Path Finding), giúp giảm $18.4%$ quãng đường di chuyển của trục $XYZ$ so với cơ chế xếp cố định theo thứ tự.
  3. Cơ chế an toàn 3 lớp: Tích hợp giới hạn phần mềm (Software Limits trong PLC), cảm biến quang phát hiện Home EE-SX471 và công tắc giới hạn hành trình cơ khí KW11-N (Hardware Limit Interlocks) giúp bảo vệ $100%$ hệ thống cơ khí khỏi va chạm khi mất tín hiệu.

Ứng dụng thực tế và triển khai

Khả năng nhân rộng và Kịch bản triển khai

  • Kho linh kiện điện tử và dược phẩm: Triển khai tự động hóa khâu phân loại chip, linh kiện SMD, hộp thuốc theo quy chuẩn GMP, quản lý chính xác từng lô hàng thông qua cơ sở dữ liệu.
  • Xưởng gia công cơ khí chính xác: Lưu trữ và cấp phát tự động phôi tiện, phôi phay, dao cụ CNC theo kích thước hoặc mã màu nhận dạng.

Phân tích hiệu quả kinh tế (ROI Estimation)

  • Giảm thiểu $75%$ chi phí nhân công trực tiếp tại vị trí xuất nhập kho.
  • Tận dụng tối đa thể tích kho theo phương đứng, tiết kiệm từ $50% - 70%$ diện tích mặt sàn nhà xưởng.
  • Thời gian hoàn vốn dự kiến (ROI) cho một hệ thống quy mô công nghiệp tương tự ước tính từ 14 - 18 tháng dựa trên việc cắt giảm tỷ lệ lỗi hỏng và chi phí nhân sự.

Hạn chế và hướng phát triển

+-------------------------------------------------------------------------------+
|                            LỘ TRÌNH NÂNG CẤP HỆ THỐNG                         |
+-------------------------------------------------------------------------------+
|  HIỆN TẠI (Prototype)          MỤC TIÊU GIAI ĐOẠN 2 (Smart Factory)           |
|  • Phân loại 3 dải màu cơ bản  ───> • Nhận diện Deep Learning (YOLOv8)        |
|  • 12 vị trí ô kho tĩnh        ───> • Mở rộng mô hình kho tầng 100+ ô         |
|  • Giao tiếp OPC DA cục bộ     ───> • Giao thức OPC UA / MQTT lên AWS IoT     |
|  • Cấp phôi băng tải cố định   ───> • Tích hợp Robot AGV dẫn đường tự động    |
+-------------------------------------------------------------------------------+
  • Hạn chế: Hệ thống xử lý ảnh hiện tại nhạy cảm khi cường độ sáng môi trường thay đổi đột ngột ($< 200\text{ Lux}$); dung lượng kho mô hình còn khiêm tốn (12 ô); chưa hỗ trợ nhận dạng mã QR Code/Barcode.
  • Hướng phát triển:
    1. Triển khai mô hình học sâu (Deep Learning Object Detection như YOLOv8) trên vi xử lý nhúng để nhận dạng đa thuộc tính: kích thước, mã vạch, khuyết tật bề mặt phôi.
    2. Nâng cấp chuẩn truyền thông sang OPC UA (Unified Architecture)MQTT để kết nối trực tiếp với nền tảng điện toán đám mây (Cloud MES/ERP).
    3. Mở rộng trạm điều hướng tự hành kết hợp xe AGV/AMR cấp phôi tự động.

Đối tượng hưởng lợi

  • Sinh viên & Giảng viên ngành Tự động hóa/Cơ điện tử: Tài liệu tham khảo thực chứng hoàn chỉnh từ thiết kế cơ khí 3D, lập trình PLC phát xung tốc độ cao, cấu hình Servo Driver đến tích hợp hệ thống SCADA/OPC.
  • Kỹ sư tích hợp hệ thống (System Integrators): Nắm vững kiến trúc phần mềm kết nối Visual Studio C# với PLC Omron qua KEPServerEX, cách phân bổ cấu trúc Tag và tối ưu thời gian lấy mẫu (Scan Rate).
  • Doanh nghiệp sản xuất vừa và nhỏ (SMEs): Bản thiết kế mẫu (Blueprint) khả thi về mặt kỹ thuật lẫn kinh tế để chuyển đổi số và tự động hóa kho hàng nội bộ với mức đầu tư hợp lý.

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?

Hệ thống yêu cầu nguồn cấp 1 pha $220\text{VAC}$ ổn định, bộ nguồn công nghiệp $24\text{VDC} - 5\text{A}$, nguồn cấp khí nén $0.4 - 0.6\text{ MPa}$, máy tính điều khiển chạy hệ điều hành Windows 10/11 có cổng LAN kết nối Ethernet và camera độ phân giải tối thiểu HD 720p.

2. Tại sao lựa chọn không gian màu HSV thay vì RGB để phân loại?

Trong không gian RGB, sự thay đổi độ sáng làm thay đổi đồng thời cả 3 giá trị $R, G, B$, gây sai lệch nghiêm trọng khi phân ngưỡng. Không gian HSV tách biệt hoàn toàn sắc thái màu ($H$ - Hue) khỏi độ bão hòa ($S$) và độ sáng ($V$), giúp nhận diện màu ổn định ngay cả khi ánh sáng phòng thay đổi.

3. Phương thức tích hợp giữa C# và PLC Omron CP1H diễn ra như thế nào?

C# không giao tiếp trực tiếp với PLC mà thông qua OPC Server (KEPServerEX v6) sử dụng thư viện giao tiếp Interop.OPCAutomation.dll. KEPServerEX liên tục quét và đồng bộ các vùng nhớ dữ liệu (CIO, D) của PLC qua giao thức FINS/HostLink với chu kỳ lấy mẫu $50\text{ ms}$.

4. Chi phí bảo trì hệ thống định kỳ bao gồm những gì?

Bảo trì định kỳ bao gồm kiểm tra bôi trơn ray trượt/vít me bi ($3 - 6\text{ tháng/lần}$), kiểm tra độ kín của hệ thống đường ống và gioăng phớt xy lanh khí nén, căn chỉnh lại độ căng dây đai và làm sạch ống kính Camera.

5. Khả năng mở rộng số lượng ô chứa trong kho có phức tạp không?

Nhờ cấu trúc chương trình dạng tham số hóa (Parameterized Programming), việc tăng số tầng hoặc số ô chỉ yêu cầu khai báo thêm tọa độ $X, Y, Z$ tương ứng trong bảng cơ sở dữ liệu tbl_WarehouseInventory và mở rộng hành trình cơ khí mà không cần phải lập trình lại toàn bộ logic điều khiển của PLC.


Kết luận

Đồ án tốt nghiệp "Mô hình lưu kho tự động sử dụng PLC Omron" đã hoàn thành trọn vẹn các mục tiêu thiết kế và ứng dụng thực tiễn đề ra. Dự án chứng minh tính khả thi và độ tin cậy vượt trội của việc kết hợp giữa bộ điều khiển logic khả trình PLC công nghiệp (Omron CP1H) với hệ thống truyền động Servo vòng kín và công nghệ thị giác máy tính hiện đại. Mô hình không chỉ cung cấp giải pháp chuyển đổi số toàn diện cho bài toán quản lý kho bãi tự động AS/RS mà còn đóng vai trò là một tài liệu kỹ thuật có giá trị thực tiễn cao cho công tác nghiên cứu, đào tạo và chuyển giao công nghệ tự động hóa trong tương lai.