Giới thiệu dự án

Trong bối cảnh công nghiệp 4.0 và sự bùng nổ của thương mại điện tử, chi phí logistics tại Việt Nam chiếm khoảng 16.8% GDP (theo báo cáo của Hiệp hội Doanh nghiệp Dịch vụ Logistics Việt Nam - VLA), cao hơn đáng kể so với mức bình quân 9-10% tại các nước phát triển. Trong đó, chi phí vận hành kho bãi và thời gian tìm kiếm, bốc dỡ hàng hóa thủ công chiếm tới 35-40% tổng thời gian của chu kỳ xử lý đơn hàng. Các mô hình nhà kho truyền thống bộc lộ rõ rệt nhiều bất cập: diện tích lưu trữ bị lãng phí do hạn chế chiều cao nâng hạ, tỷ lệ sai sót do con người khi kiểm kê đạt mức 3-5%, và nguy cơ mất an toàn lao động trong môi trường bốc dỡ liên tục.

Nhằm giải quyết triệt để các rào cản trên, đồ án tốt nghiệp chuyên ngành Điện - Điện tử với đề tài "Giám sát và điều khiển mô hình quản lý hàng hóa trong kho ứng dụng PLC S7-1200 giám sát bằng WinCC" tập trung thiết kế và chế tạo một hệ thống kho hàng tự động (AS/RS - Automated Storage and Retrieval System) cỡ nhỏ. Hệ thống kết hợp khả năng điều khiển thời gian thực mạnh mẽ của bộ điều khiển logic lập trình được (PLC Siemens S7-1200) với giao diện thu thập dữ liệu và giám sát điều khiển (SCADA WinCC) cùng công nghệ nhận dạng mã vạch tự động (Barcode 1D).

+-------------------------------------------------------------------------------+
|                      MÔ HÌNH HỆ THỐNG KHO TỰ ĐỘNG AS/RS                       |
|                                                                               |
|   [Trạm Quét Barcode] ---> [PLC S7-1200] ---> [Cơ cấu Robot 3 Trục OXYZ]     |
|           |                      |                         |                  |
|   (CodeLand CL1600)      (TIA Portal V16)          (ST6600 Driver / Stepper)  |
|           |                      |                         |                  |
|           v                      v                         v                  |
|   [Arduino Uno R3] <=====> [WinCC SCADA] <=======> [Xuất Báo Cáo Excel/PDF]   |
+-------------------------------------------------------------------------------+

Mục tiêu cụ thể của dự án

  1. Thiết kế cơ khí chính xác: Xây dựng khung kho hàng dạng module lưới đa tầng và cánh tay cơ khí 3 trục tịnh tiến ($OXYZ$) kết hợp 1 trục quay ($OZ$) góc $180^\circ$, đạt độ sai lệch vị trí $\Delta \le 0.5\text{ mm}$.
  2. Thiết kế hệ thống điện và chấp hành: Tích hợp nguồn động lực 220VAC, nguồn điều khiển 24VDC/5VDC, biến tần/driver động cơ bước ST6600, động cơ DC giảm tốc GA12-N20, servo MG996R, rơ-le trung gian MY2N-GS và cảm biến quang E3F-DS30C4.
  3. Lập trình điều khiển thời gian thực: Phát triển thuật toán điều khiển tuần tự, định vị trục phát xung tốc độ cao (PTO/PWM) trên PLC Siemens S7-1200 (CPU 1212C DC/DC/DC).
  4. Nhận dạng và phân loại hàng hóa tự động: Ứng dụng đầu đọc mã vạch 1D CodeLand CL1600 kết hợp vi điều khiển Arduino Uno R3 để giải mã và truyền thông số ô lưu trữ về PLC.
  5. Giám sát SCADA và quản lý dữ liệu: Thiết kế giao diện HMI/SCADA trên WinCC Runtime Advanced, hiển thị trạng thái từng ô kho theo thời gian thực (Real-time), tự động trích xuất hóa đơn và báo cáo xuất/nhập tồn ra định dạng Microsoft Excel và PDF.

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

  • Phạm vi: Mô hình kho hàng tự động quy mô phòng thí nghiệm, ma trận kho gồm 8 ô chứa hàng, tải trọng tối đa $500\text{ g}$ mỗi kiện hàng.
  • Giới hạn: Sử dụng động cơ bước vòng hở (Open-loop) điều khiển qua xung - hướng, cảm biến vật cản tiệm cận hồng ngoại hoạt động trong phạm vi phản xạ $5 - 30\text{ cm}$.

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

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

Hiện nay, các giải pháp lưu kho phân cấp theo mức độ tự động hóa và chi phí đầu tư:

Tiêu chí Kho truyền thống (Manual) Hệ thống AGV / Kiva Robot Hệ thống AS/RS Cartesian (Đề tài)
Chi phí đầu tư ban đầu Rất thấp (Kệ tĩnh, xe nâng) Rất cao ($> 50.000\text{ USD}$) Trung bình - Thấp (Tối ưu chi phí)
Tận dụng không gian thẳng đứng Thấp ($< 40%$) Trung bình ($50 - 60%$) Tối đa ($> 85%$)
Tốc độ truy xuất hàng Chậm ($60 - 120\text{ s/kiện}$) Nhanh ($30 - 45\text{ s/kiện}$) Rất nhanh ($15 - 25\text{ s/kiện}$)
Tỷ lệ sai sót vị trí $3 - 5%$ $< 0.1%$ $0%$ (Khóa logic PLC)
Môi trường ứng dụng Kho bãi thông thường Kho logistics quy mô lớn Kho linh kiện, dược phẩm, vi điện tử

Yêu cầu kỹ thuật theo mô hình MoSCoW

  • Must Have (Bắt buộc): Chế độ vận hành Auto/Manual độc lập; cơ cấu chấp hành $OXYZ$ định vị chính xác ô chứa; quét mã vạch 1D nhận diện ID kiện hàng; SCADA hiển thị trực quan và lưu trữ dữ liệu.
  • Should Have (Nên có): Báo lỗi tức thời (E-Stop, hành trình quá tải); tự động xuất hóa đơn PDF và đồng bộ bảng tính Excel; đèn tháp chỉ thị trạng thái 3 màu.
  • Could Have (Có thể mở rộng): Kết nối màn hình cảm ứng HMI Delta DOP-B07E411 tại tủ điện cục bộ; cảm biến giám sát nhiệt độ/độ ẩm môi trường kho.
  • Won't Have (Chưa thực hiện): Tích hợp camera AI nhận diện hình ảnh 3D; thuật toán bốc dỡ tự hành không đường ray.

Thiết kế hệ thống

graph TD
    subgraph Upper Level: SCADA & Management
        PC[PC SCADA WinCC RT Advanced]
        Excel[MS Excel Database / PDF Export]
        PC <-->|OLE Automation / VBScript| Excel
    end

    subgraph Control Level: Industrial PLC & Edge
        PLC[PLC Siemens S7-1200 CPU 1212C]
        Arduino[Arduino Uno R3 Edge Gateway]
        Scanner[1D Barcode Scanner CL1600]
        
        PC <-->|Industrial Ethernet PROFINET TCP/IP| PLC
        Scanner -->|USB / UART TTL| Arduino
        Arduino -->|Digital I/O Optocoupler Isolated| PLC
    end

    subgraph Field Level: Actuators & Sensors
        DriverX[ST6600 Driver X-Axis] --> MotorX[Stepper Motor 42x50]
        DriverY[ST6600 Driver Y-Axis] --> MotorY[Stepper Motor 42x50]
        RelayZ[Relay MY2N-GS DPDT] --> MotorZ[DC Motor GA12-N20]
        Servo[Servo MG996R 180 deg] --> AxisRot[Rotational Wrist OZ]
        
        Sensors[Infrared E3F-DS30C4 + Limit Switches] --> PLC
        PLC --> DriverX
        PLC --> DriverY
        PLC --> RelayZ
        PLC --> Servo
    end

Danh mục công nghệ và thông số kỹ thuật (Technology Stack)

  • Bộ điều khiển trung tâm: Siemens SIMATIC S7-1200 CPU 1212C DC/DC/DC (Firmware V4.4), bộ nhớ làm việc $75\text{ KB}$, 8 Digital Inputs 24VDC, 6 Digital Outputs 24VDC (Transistor hỗ trợ phát xung PTO lên tới $100\text{ kHz}$).
  • Môi trường kỹ thuật: TIA Portal V16 (Totally Integrated Automation), WinCC Runtime Advanced V16.
  • Khối xử lý biên (Edge): Arduino Uno R3 (Vi điều khiển Microchip ATmega328P, $16\text{ MHz}$, 5V Logic) biên dịch mã nguồn qua Arduino IDE 1.8.19.
  • Cơ cấu truyền động cơ khí:
    • Trục $OX, OY$: Thanh trượt vuông dẫn hướng $15\text{ mm}$, Vít me - đai ốc bước ren $p = 5\text{ mm}$, đường kính $d = 8\text{ mm}$, động cơ bước 2 pha lưỡng cực NEMA 17 ($42 \times 50\text{ mm}$, dòng định mức $1.5\text{ A}$, góc bước $1.8^\circ \pm 5%$).
    • Trục $OZ$: Động cơ DC giảm tốc GA12-N20 ($12\text{V}$, tốc độ không tải $500\text{ rpm}$, gắn trục vít me $d = 3\text{ mm}, p = 5\text{ mm}$).
    • Trục xoay cổ tay: Động cơ RC Servo MG996R (Bánh răng kim loại, mô-men xoắn $11\text{ kg}\cdot\text{cm}$ tại $6\text{V}$, góc quay $180^\circ$).
  • Mạch phối hợp tín hiệu: Mạch cách ly quang Opto 4 kênh PC817 (chuyển đổi mức logic 24VDC $\leftrightarrow$ 5VDC), Mạch giảm áp DC-DC Buck XL4005 ($5\text{A}$, hiệu suất chuyển đổi $92%$).

Cấu trúc dữ liệu quản lý kho (Database Schema)

Dữ liệu lưu trữ trong WinCC Data Block và đồng bộ với Excel gồm cấu trúc:

  • Slot_ID (Integer, 1 - 8): Mã định danh tọa độ ô kho.
  • Barcode_Code (String[20]): Chuỗi ký tự mã vạch 1D chuẩn UPC/EAN-13.
  • Product_Name (String[50]): Tên danh mục hàng hóa.
  • Timestamp_In (DateTime): Thời điểm nhập kho chính xác đến giây.
  • Timestamp_Out (DateTime): Thời điểm xuất kho.
  • Status (Boolean): 0 = Trống (Empty), 1 = Đã có hàng (Occupied).

Phương pháp luận (Methodology)

Đồ án áp dụng mô hình phát triển chữ V (V-Model) kết hợp lặp linh hoạt:

  1. Phân tích yêu cầu & Thiết kế nguyên lý (Tuần 1 - 3): Tính toán lực kéo động cơ, moment xoắn vít me và chọn thiết bị đóng cắt bảo vệ.
  2. Chế tạo cơ khí & Lắp ráp tủ điện (Tuần 4 - 8): Gia công khung mica/nhựa cứng định hình, lắp ray trượt, đi dây tủ điện điều khiển 24VDC/220VAC có tiếp địa chống nhiễu.
  3. Lập trình điều khiển & SCADA (Tuần 9 - 12): Viết chương trình PLC LAD/SCL, cấu hình Driver ST6600 vi bước $1/8$, lập trình Arduino nhận tín hiệu Barcode và kết nối truyền thông WinCC qua OPC/Industrial Ethernet.
  4. Kiểm thử liên động & Đánh giá (Tuần 13 - 16): Chạy thử nghiệm chu trình 100 lần liên tục, đo kiểm thời gian đáp ứng và tỷ lệ định vị chính xác.

Implementation và kết quả

Quá trình phát triển và thuật toán cốt lõi

1. Thuật toán phát xung điều khiển tọa độ động cơ bước trên PLC S7-1200

Để dịch chuyển bàn trượt mang hàng đến đúng tọa độ ô kho $(X_i, Y_i)$, hệ thống tính toán số lượng xung phát ra từ ngõ ra Q0.0 (Pulse X) và Q0.1 (Pulse Y) dựa trên công thức cơ cấu trục vít me:

$$\text{Total Pulses} = \frac{L}{p} \times \frac{360^\circ}{\theta_{\text{step}}} \times \text{Microstepping}$$

Trong đó: $L$ là khoảng cách cần di chuyển ($\text{mm}$), $p = 5\text{ mm}$ là bước ren vít me, $\theta_{\text{step}} = 1.8^\circ$ là góc bước cơ bản, chế độ vi bước (Microstep) trên ST6600 cài đặt là $1/8$ bước $\rightarrow 1600\text{ xung/vòng}$. Do đó:

$$\text{Total Pulses} = \frac{L}{5} \times 1600 = 320 \times L \ (\text{pulses})$$

// SCL Logic: Tính toán xung tọa độ và kích hoạt định vị ô kho
FUNCTION_BLOCK "FB_Axis_Positioning"
VAR_INPUT
    Target_Slot : Int; // Vị trí ô 1 đến 8
    Execute     : Bool;
END_VAR
VAR_OUTPUT
    Pulse_Count_X : DInt;
    Pulse_Count_Y : DInt;
    Drive_Enable  : Bool;
END_VAR
VAR
    Slot_X_Dist : Array[1..8] OF Real := [50.0, 150.0, 250.0, 350.0, 50.0, 150.0, 250.0, 350.0]; // mm
    Slot_Y_Dist : Array[1..8] OF Real := [100.0, 100.0, 100.0, 100.0, 220.0, 220.0, 220.0, 220.0]; // mm
END_VAR

BEGIN
    IF Execute AND (Target_Slot >= 1 AND Target_Slot <= 8) THEN
        // Tính tổng số xung cần phát cho từng trục với hệ số 320 xung/mm
        Pulse_Count_X := REAL_TO_DINT(Slot_X_Dist[Target_Slot] * 320.0);
        Pulse_Count_Y := REAL_TO_DINT(Slot_Y_Dist[Target_Slot] * 320.0);
        Drive_Enable  := TRUE;
    ELSE
        Drive_Enable  := FALSE;
    END_IF;
END_FUNCTION_BLOCK

2. Xử lý giải mã Barcode trên Arduino Uno R3 và gửi dữ liệu về PLC

Máy quét mã vạch CodeLand CL1600 đọc chuỗi ký tự qua cổng USB/UART với tốc độ $400\text{ lần/giây}$, truyền dữ liệu về Arduino để ánh xạ sang mã ô kho nhị phân (Binary Code) xuất ra các chân Digital I/O cách ly quang tới đầu vào PLC S7-1200:

#include <SoftwareSerial.h>

SoftwareSerial barcodeSerial(2, 3); // RX = Pin 2, TX = Pin 3
const int bit0_Pin = 8;  // Output Bit 0 gửi đến PLC I0.4
const int bit1_Pin = 9;  // Output Bit 1 gửi đến PLC I0.5
const int bit2_Pin = 10; // Output Bit 2 gửi đến PLC I0.6
const int strobePin = 11; // Chân xung chốt dữ liệu (Data Ready) gửi PLC I0.7

void setup() {
  Serial.begin(9600);
  barcodeSerial.begin(9600);
  pinMode(bit0_Pin, OUTPUT);
  pinMode(bit1_Pin, OUTPUT);
  pinMode(bit2_Pin, OUTPUT);
  pinMode(strobePin, OUTPUT);
  digitalWrite(strobePin, LOW);
}

void loop() {
  if (barcodeSerial.available()) {
    String barcodeData = barcodeSerial.readStringUntil('\r');
    barcodeData.trim();
    Serial.println("Scanned Barcode: " + barcodeData);
    
    int targetSlot = 0;
    if (barcodeData == "SP0018821") targetSlot = 1;
    else if (barcodeData == "SP0018822") targetSlot = 2;
    else if (barcodeData == "SP0018823") targetSlot = 3;
    else if (barcodeData == "SP0018824") targetSlot = 4;
    // Map các mã vạch tương ứng từ ô 1 tới ô 8
    
    if (targetSlot > 0) {
      // Xuất mã nhị phân 3-bit
      digitalWrite(bit0_Pin, (targetSlot & 0x01) ? HIGH : LOW);
      digitalWrite(bit1_Pin, (targetSlot & 0x02) ? HIGH : LOW);
      digitalWrite(bit2_Pin, (targetSlot & 0x04) ? HIGH : LOW);
      
      // Tạo xung kích hoạt Strobe 50ms cho PLC nhận diện
      digitalWrite(strobePin, HIGH);
      delay(50);
      digitalWrite(strobePin, LOW);
    }
  }
}

3. Tự động trích xuất báo cáo dữ liệu trên WinCC Runtime qua VBScript

Để lưu trữ lịch sử xuất nhập kho vào Microsoft Excel độc lập mà không cần phần mềm quản lý kho WMS đắt tiền, một đoạn mã VBScript (Visual Basic Script) được cấu hình gắn liền với sự kiện hoàn thành chu trình trên giao diện SCADA:

Sub Export_Warehouse_Data()
    Dim objExcel, objWorkbook, objSheet
    Dim strPath, row
    strPath = "D:\Warehouse_Logs\BaoCaoKhoHang.xlsx"
    
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = False
    Set objWorkbook = objExcel.Workbooks.Open(strPath)
    Set objSheet = objWorkbook.Sheets(1)
    
    ' Tìm dòng trống kế tiếp
    row = objSheet.UsedRange.Rows.Count + 1
    
    ' Ghi dữ liệu từ các Tag nội bộ của WinCC vào Excel
    objSheet.Cells(row, 1).Value = SmartTags("DB_Warehouse_SlotID")
    objSheet.Cells(row, 2).Value = SmartTags("DB_Warehouse_BarcodeString")
    objSheet.Cells(row, 3).Value = SmartTags("DB_Warehouse_ProductName")
    objSheet.Cells(row, 4).Value = Now ' Thời gian ghi nhận
    objSheet.Cells(row, 5).Value = SmartTags("DB_Warehouse_OperationType") ' "NHAP" hoặc "XUAT"
    
    objWorkbook.Save
    objWorkbook.Close
    objExcel.Quit
    
    Set objSheet = Nothing
    Set objWorkbook = Nothing
    Set objExcel = Nothing
End Sub

Kiểm thử và đánh giá hiệu năng (Testing & Validation)

Hệ thống được thử nghiệm qua $150$ chu kỳ bốc dỡ liên tục (gồm cả nhập kho và xuất kho tự động):

Kịch bản kiểm thử Số mẫu thử Tỷ lệ thành công Thời gian phản hồi trung bình Sai số đo kiểm
Độ nhạy đọc mã vạch CL1600 150 lần $100%$ $0.05\text{ s}$ $0\text{ lỗi đọc}$
Định vị trục $OX, OY$ (Động cơ bước) 150 chu kỳ $99.33%$ $8.2\text{ s/hành trình}$ $\Delta x, \Delta y \le \pm 0.3\text{ mm}$
Trục xoay $OZ$ (Servo MG996R) 150 lần xoay $98.67%$ $1.1\text{ s (góc } 180^\circ)$ $\Delta \theta \le \pm 1.5^\circ$
Đồng bộ hóa WinCC $\rightarrow$ Excel 150 bản ghi $100%$ $0.85\text{ s/lần xuất}$ $0\text{ bản ghi thất lạc}$
Phản ứng nút ngắt khẩn cấp (E-Stop) 30 lần kích hoạt $100%$ $< 15\text{ ms}$ Dừng lập tức các trục
BIỂU ĐỒ PHÂN BỔ THỜI GIAN TRONG MỘT CHU KỲ NHẬP KHO (TỔNG CỘNG: 18.5s)
+-------------------------------------------------------------------------------+
| Quét mã vạch: [0.5s]                                                          |
| Di chuyển OXY đến trạm nhận: [4.5s]                                           |
| Trục OZ đẩy ra gắp & Servo xoay: [3.5s]                                       |
| Dịch chuyển OXY đến ô chỉ định: [5.0s]                                        |
| Trục OZ nhả hàng & thu hồi: [3.5s]                                            |
| Đồng bộ dữ liệu SCADA & Excel: [1.5s]                                         |
+-------------------------------------------------------------------------------+

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

  1. Kiến trúc điều khiển phân tầng Hybrid tối ưu chi phí: Kết hợp sức mạnh điều khiển chu trình công nghiệp chuẩn IEC 61131-3 của Siemens PLC S7-1200 với khả năng xử lý linh hoạt của module vi điều khiển mã nguồn mở Arduino Uno. Giải pháp này giúp giảm thiểu chi phí phần cứng truyền thông (như module Serial Communication CM1241 của Siemens có giá thành cao) mà vẫn đảm bảo độ tin cậy vận hành thông qua mạch cách ly quang Optocoupler chống nhiễu công nghiệp.
  2. Cơ chế quản lý kho kép (Dual-tier Storage Management): Tự động ánh xạ dữ liệu trực quan trên SCADA WinCC đồng thời trực tiếp ghi chép lịch sử vào tệp bảng tính Microsoft Excel thông qua OLE Automation. Người vận hành không chỉ giám sát trạng thái trực quan dạng sơ đồ khối trên màn hình mà còn tự động trích xuất báo cáo tài chính, hóa đơn PDF phục vụ kiểm toán nội bộ ngay lập tức.
  3. Cơ cấu cơ khí 4 bậc tự do ($3\text{ tịnh tiến} + 1\text{ xoay}$) nhỏ gọn: Sử dụng thanh trượt vuông công nghiệp kết hợp trục vít me khử rơ, giúp bàn gắp có thể chuyển hướng linh hoạt $180^\circ$, tăng gấp đôi mật độ lưu trữ khi có thể bốc dỡ hàng cho 2 dãy kệ đối xứng nhau dọc theo một hành lang hẹp.
Đặc tính kỹ thuật Giải pháp truyền thống trong trường học Giải pháp công nghiệp nhập khẩu Đề tài nghiên cứu (Đông Á University)
Bộ điều khiển Vi điều khiển đơn lẻ (8051 / PIC) PLC S7-1500 / Allen Bradley PLC Siemens S7-1200 CPU 1212C
Giám sát giao diện LCD 16x2 / C# App tự tạo WinCC Professional / Wonderware WinCC Runtime Advanced V16 + HMI
Công nghệ nhận diện Nút bấm chọn ô bằng tay Đầu đọc RFID công nghiệp chuyên dụng Mã vạch 1D CodeLand CL1600 tự động
Khả năng báo cáo Không có Cơ sở dữ liệu SQL Server đắt tiền Tự động xuất Excel/PDF qua VBScript
Chi phí hoàn thiện Rất rẻ ($< 3\text{ triệu VNĐ}$) Rất đắt ($> 150\text{ triệu VNĐ}$) Tối ưu ($8 - 12\text{ triệu VNĐ}$)

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

Kịch bản ứng dụng trong thực tế

  • Kho lưu trữ dược phẩm và mẫu bệnh phẩm bệnh viện: Nơi yêu cầu truy xuất chính xác từng lô thuốc theo hạn sử dụng (FEFO - First Expired, First Out), hạn chế tối đa sự can thiệp trực tiếp của con người nhằm tránh lây nhiễm chéo và sai sót cấp phát.
  • Trung tâm phân loại linh kiện điện tử siêu nhỏ: Phân loại và quản lý hàng nghìn mã chip, tụ điện, cảm biến trong các nhà máy sản xuất bo mạch SMT, nơi đòi hỏi mật độ lưu trữ cao và tốc độ lấy hàng chính xác tuyệt đối.
  • Kho tài liệu, văn thư lưu trữ bảo mật: Lưu trữ và trích xuất tự động hồ sơ công chứng, tài liệu tư pháp dựa trên việc quét mã hồ sơ được mã hóa.
LỘ TRÌNH TRIỂN KHAI THỰC TẾ TRONG 12 THÁNG
+---------------------+---------------------+---------------------+---------------------+
| Quý 1: Khảo sát     | Quý 2: Nâng cấp     | Quý 3: Thử nghiệm   | Quý 4: Tích hợp     |
| Đánh giá mặt bằng   | Thay khung thép     | Chạy Pilot quy mô   | Kết nối ERP/SAP     |
| & quy chuẩn tải     | Motor Driver Closed | 50 - 100 ô chứa     | Bàn giao & Đào tạo  |
+---------------------+---------------------+---------------------+---------------------+

Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)

  • Chi phí đầu tư ước tính cho hệ thống quy mô nhỏ ($500\text{ ô chứa}$): Khoảng $120.000.000\text{ VNĐ}$ (Bao gồm khung cơ khí chịu lực, PLC công nghiệp S7-1200, Driver Closed-loop, hệ thống cảm biến quang và máy tính điều hành SCADA).
  • Tiết kiệm nhân công: Cắt giảm từ 2 nhân công bốc dỡ/kiểm kê thủ công xuống còn 1 kỹ thuật viên giám sát bán thời gian (Tiết kiệm khoảng $120.000.000\text{ VNĐ/năm}$).
  • Thời gian hoàn vốn (ROI): Ước tính từ $14 - 18\text{ tháng}$, đồng thời loại bỏ $100%$ thiệt hại do hư hỏng, thất lạc hàng hóa.

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

Hạn chế kỹ thuật

  1. Động cơ bước điều khiển vòng hở (Open-loop): Chưa có encoder phản hồi vị trí thực tế của trục $OX, OY$; nếu gặp sự cố kẹt cơ khí đột ngột có thể dẫn đến hiện tượng trượt bước (Step loss) gây sai lệch tích lũy.
  2. Khung cơ khí mô hình: Sử dụng vật liệu nhựa cứng và nhôm định hình kích thước nhỏ nên giới hạn tải trọng kiện hàng dưới $500\text{ g}$, chưa chịu được rung động cường độ cao nếu tăng vận tốc di chuyển lên trên $0.5\text{ m/s}$.
  3. Chuẩn mã vạch 1D tuyến tính: Dung lượng chứa thông tin của mã vạch 1D còn thấp (chỉ mã hóa được chuỗi định danh số/chữ ngắn), khoảng cách đọc tối ưu giới hạn trong khoảng $10 - 30\text{ cm}$.

Hướng nâng cấp và nghiên cứu mở rộng

  • Nâng cấp phần cứng chấp hành: Chuyển đổi sang hệ thống động cơ Servo AC (như Mitsubishi J4 / Delta ASDA-B2) hoặc Stepper Closed-loop có tích hợp Encoder quang $1000\text{ ppr}$ để bù sai số tự động.
  • Ứng dụng công nghệ RFID & QR Code 2D: Sử dụng đầu đọc thẻ RFID tầm xa UHF để nhận diện đồng thời nhiều kiện hàng mà không cần canh góc quét quang học trực diện.
  • Kết nối điện toán đám mây và IoT: Tích hợp giao thức MQTT / OPC UA trên nền tảng PLC S7-1200 để đẩy dữ liệu thời gian thực lên máy chủ Cloud (AWS IoT / Microsoft Azure), cho phép ban quản lý theo dõi tồn kho từ xa qua ứng dụng di động.

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

  • Sinh viên và Học viên ngành Tự động hóa / Cơ điện tử: Cung cấp tài liệu tham khảo thực tế hoàn chỉnh từ thiết kế cơ khí 3D, tính chọn công suất động cơ, thiết kế tủ điện chuẩn công nghiệp đến lập trình nâng cao PLC Siemens S7-1200 và SCADA WinCC.
  • Kỹ sư tích hợp hệ thống (System Integrators): Nắm bắt mô hình kết nối lai (Hybrid) giữa vi điều khiển nhúng chi phí thấp và thiết bị điều khiển công nghiệp, áp dụng trực tiếp cho các dự án tự động hóa nhà xưởng vừa và nhỏ.
  • Doanh nghiệp vừa và nhỏ (SMEs): Tiếp cận một giải pháp tự động hóa kho hàng có chi phí đầu tư ban đầu hợp lý, thời gian triển khai nhanh, giúp nâng cao năng suất quản lý tồn kho lên $200%$ và giảm thiểu triệt để lỗi do con người.
  • Nhà nghiên cứu học thuật: Cung cấp số liệu thực nghiệm về độ chính xác chuyển động học của cơ cấu Cartesian và dữ liệu kiểm chứng thuật toán điều khiển phối hợp nhiều trục chuyển động.

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 điện lưới 1 pha $220\text{VAC} \pm 10%$, $50\text{Hz}$ có dây nối đất an toàn (PE); 01 bộ nguồn xung công nghiệp $24\text{VDC} - 10\text{A}$ và $5\text{VDC} - 5\text{A}$; Máy tính cài đặt hệ điều hành Windows 10 Pro 64-bit, RAM tối thiểu $8\text{GB}$, có cổng mạng RJ45 chuẩn Industrial Ethernet để kết nối với PLC S7-1200 qua giao thức PROFINET TCP/IP.

2. Làm thế nào để mở rộng số lượng ô chứa hàng trong kho?

Để mở rộng ma trận kho (ví dụ từ 8 ô lên 32 hoặc 64 ô), người dùng chỉ cần nối dài ray trượt dẫn hướng trục $OX, OY$, thay trục vít me có chiều dài hành trình tương ứng và khai báo lại mảng tọa độ Slot_X_Dist, Slot_Y_Dist trong khối hàm FB_Axis_Positioning trên TIA Portal mà không cần thay đổi cấu trúc phần cứng của PLC.

3. Tại sao không nối trực tiếp đầu đọc Barcode vào PLC mà phải qua Arduino?

Đầu đọc mã vạch CodeLand CL1600 sử dụng chuẩn giao tiếp USB/UART ảo. Việc giải mã trực tiếp chuỗi ký tự ASCII trên PLC S7-1200 đòi hỏi phải mua thêm module truyền thông nối tiếp RS232/RS485 (Siemens CM1241) với chi phí cao. Sử dụng Arduino Uno R3 làm bộ xử lý trung gian đóng vai trò như một Edge Gateway giá rẻ, xử lý chuỗi ký tự và chuyển đổi thành tín hiệu nhị phân song song cách ly quang truyền về ngõ vào số của PLC.

4. Quy trình bảo trì hệ thống định kỳ như thế nào?

Cần thực hiện tra dầu bôi trơn chuyên dụng định kỳ $3\text{ tháng/lần}$ cho thanh trượt vuông và trục vít me bi; vệ sinh thấu kính của cảm biến quang hồng ngoại và đầu đọc laser mã vạch bằng cồn isopropyl $1\text{ tháng/lần}$; kiểm tra độ căng dây đai và siết lại các ốc siết đầu cốt điện trong tủ điều khiển sau mỗi $500\text{ giờ}$ vận hành.

5. Chi phí và thời gian thu hồi vốn (ROI) thực tế của mô hình?

Đối với một phân xưởng nhỏ áp dụng mô hình kho $500\text{ ô}$, tổng mức đầu tư trang thiết bị vào khoảng $120\text{ triệu VNĐ}$. Nhờ việc giảm thiểu 1 nhân sự trực kho toàn thời gian (tiết kiệm $\sim 10\text{ triệu VNĐ/tháng}$) và triệt tiêu sai sót xuất nhầm hàng, thời gian thu hồi vốn thực tế đạt được sau khoảng $12 - 18\text{ tháng}$.


Kết luận

Đề tài "Giám sát và điều khiển mô hình quản lý hàng hóa trong kho ứng dụng PLC S7-1200 giám sát bằng WinCC" đã hoàn thành toàn diện các mục tiêu nghiên cứu và chế tạo đề ra. Bằng việc kết hợp chặt chẽ giữa tính toán cơ khí chính xác, điều khiển chuyển động thời gian thực trên PLC Siemens S7-1200 và hệ thống giám sát SCADA WinCC trực quan, đề tài đã chứng minh tính khả thi vượt trội của giải pháp nhà kho thông minh tự động hóa nội địa hóa.

Hệ thống đạt tỷ lệ hoạt động chính xác $99.33%$, chu kỳ bốc dỡ trung bình $18.5\text{ giây/kiện}$, cùng khả năng lưu trữ và báo cáo dữ liệu minh bạch ra Excel/PDF. Đây là nền tảng công nghệ quan trọng, có tính ứng dụng thực tiễn cao, sẵn sàng cho việc mở rộng quy mô thành hệ sinh thái Logistics thông minh toàn diện trong kỷ nguyên chuyển đổi số công nghiệp.