Giới thiệu dự án

Trong bối cảnh cuộc Cách mạng Công nghiệp 4.0 và chuyển đổi số sản xuất bùng nổ, các hệ thống tự động hóa nhà máy đang đứng trước yêu cầu cấp thiết về khả năng liên thông dữ liệu và giám sát từ xa. Theo thống kê của ARC Advisory Group, hơn 65% hệ thống SCADA truyền thống tại các doanh nghiệp vừa và nhỏ vẫn vận hành trên hạ tầng đóng, phụ thuộc chặt chẽ vào các trạm vận hành cục bộ (HMI/PC) trong mạng nội bộ và các giao thức độc quyền. Điều này tạo ra rào cản lớn khi doanh nghiệp muốn thu thập dữ liệu thời gian thực lên điện toán đám mây để tối ưu hóa năng lượng và thực hiện bảo trì dự đoán.

+-----------------------------------------------------------------------+
|                           HỆ THỐNG SCADA WEB                          |
|  [ReactJS Client] <---HTTPS/WSS---> [Node.js API / OPC UA Gateway]    |
|                                              |                        |
|                                       (OPC UA / TCP:4840)             |
|                                              v                        |
|                                    [PLC S7-1200 CPU 1214C]            |
|                                              |                        |
|                                     (Modbus RTU / RS-485)             |
|                                              v                        |
|                                      [Biến tần LS iG5A]               |
|                                              |                        |
|                                     [Động cơ 3 pha AC]                |
+-----------------------------------------------------------------------+

Vấn đề thực tiễn và điểm nghẽn kỹ thuật

Các giải pháp giám sát động cơ truyền thống bộc lộ nhiều hạn chế cốt lõi:

  • Phụ thuộc phần cứng cố định: Vận hành viên chỉ theo dõi được thông số tại màn hình HMI hoặc phòng điều khiển trung tâm; không thể phản ứng tức thời khi xảy ra sự cố ngoài giờ làm việc.
  • Rào cản giao thức Classic OPC DA: Chuẩn OPC DA cũ phụ thuộc hoàn toàn vào kiến trúc Microsoft COM/DCOM, gây xung đột bảo mật nghiêm trọng khi truyền dữ liệu qua tường lửa Internet và không tương thích đa nền tảng.
  • Chi phí bản quyền SCADA đắt đỏ: Các phần mềm thương mại tính phí theo số lượng thẻ nhớ (tags) và trạm kết nối, gây áp lực tài chính lớn cho việc mở rộng quy mô.

Mục tiêu dự án

  1. Nghiên cứu và ứng dụng chuẩn truyền thông OPC UA (IEC 62541) nhằm thiết lập mô hình Client - Server độc lập nền tảng, đảm bảo an toàn dữ liệu qua mạng WAN/Internet.
  2. Lập trình hệ thống điều khiển PLC Siemens S7-1200 CPU 1214C kết hợp module truyền thông CM 1241 để điều khiển và thu thập dữ liệu từ biến tần LS iG5A qua mạng Modbus RTU RS485.
  3. Xây dựng Middleware Gateway và RESTful API Server bằng Node.js thực thi nhiệm vụ của một OPC UA Client thu thập dữ liệu và kết nối đồng bộ cơ sở dữ liệu MySQL.
  4. Phát triển giao diện SCADA trên nền tảng Web bằng ReactJS, cho phép điều khiển (Run/Stop, đảo chiều, đặt tần số) và giám sát trực quan (tốc độ thực, dòng điện, điện áp, cảnh báo lỗi) trên mọi thiết bị di động và máy tính.
  5. Đánh giá thực nghiệm hiệu năng hệ thống: Đo lường độ trễ mạng, tính ổn định của vòng quét điều khiển và độ tin cậy của luồng dữ liệu thời gian thực.

Phương pháp tiếp cận và phạm vi nghiên cứu

  • Phương pháp: Nghiên cứu thực nghiệm kết hợp tích hợp hệ thống phần cứng - phần mềm chuẩn công nghiệp.
  • Phạm vi: Thử nghiệm trên mô hình truyền động điện thực tế gồm PLC Siemens S7-1200 (Firmware v4.4), biến tần LS iG5A 0.75kW, động cơ không đồng bộ 3 pha và cảm biến quang mã hóa vòng quay (Encoder) đo tốc độ phản hồi.

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

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

Tiêu chí so sánh SCADA truyền thống (HMI / WinCC) OPC DA + PC Server SCADA Web OPC UA (Giải pháp đề xuất)
Kiến trúc mạng Mạng nội bộ LAN cô lập Phụ thuộc Windows DCOM Mạng IP mở (LAN / WAN / Internet)
Tính đa nền tảng Chỉ chạy trên HMI chuyên dụng Chỉ chạy trên HĐH Windows Đa nền tảng (Web, iOS, Android, Linux)
Cơ chế bảo mật Bảo mật vật lý Cấu hình DCOM phức tạp, dễ lỗi X.509 Certificate, Mã hóa AES-256
Khả năng mở rộng Rất khó, tốn chi phí License Trung bình Rất cao nhờ Node.js & ReactJS
Chi phí bản quyền Rất cao (tính theo Tag) Cao (License Server) Tối ưu (Nền tảng mã nguồn mở)

Phân loại yêu cầu hệ thống theo mô hình MoSCoW

  • Must have (Bắt buộc): Đọc/ghi dữ liệu thời gian thực từ PLC S7-1200 qua OPC UA; Điều khiển Start/Stop/Đảo chiều; Đặt tần số 0–50Hz; Giám sát dòng điện, tốc độ và điện áp; Lưu trữ dữ liệu vào MySQL.
  • Should have (Nên có): Phân quyền tài khoản người dùng (Admin/Operator); Biểu đồ hiển thị dạng sóng thời gian thực; Cảnh báo quá dòng, mất pha từ biến tần.
  • Could have (Có thể mở rộng): Thuật toán PID tự động ổn định tốc độ vòng kín sử dụng phản hồi Encoder HSC; Xuất báo cáo lịch sử vận hành ra định dạng Excel/PDF.
  • Won't have (Chưa thực hiện đợt này): Điều khiển thời gian thực mức micro-giây (Hard real-time deterministic) qua mạng Internet công cộng.

Thiết kế hệ thống

+-----------------------------------------------------------------------------------+
|                              KIẾN TRÚC 5 TẦNG HỆ THỐNG                            |
+-----------------------------------------------------------------------------------+
| [1. Presentation]   ReactJS SPA (Dashboard, Control Panel, Historical Analytics) |
|                              ^                                                    |
|                              | (RESTful API / HTTP JSON / WebSocket)              |
|                              v                                                    |
| [2. Web / API Layer] Express.js REST API Server (Node.js Engine)                  |
|                              ^                                                    |
|                              | (Internal RPC / Memory Buffer)                     |
|                              v                                                    |
| [3. Middleware]     OPC UA Client Gateway (node-opcua Engine) <-> [MySQL 8.0 DB]  |
|                              ^                                                    |
|                              | (OPC UA TCP Binary Protocol - Port 4840)           |
|                              v                                                    |
| [4. Control Layer]  PLC Siemens S7-1200 CPU 1214C (Built-in OPC UA Server)        |
|                              ^                                                    |
|                              | (Modbus RTU / RS-485 via CM 1241 - 9600 bps)       |
|                              v                                                    |
| [5. Field Layer]    Biến tần LS iG5A ---> Động cơ 3 pha AC + Encoder HSC          |
+-----------------------------------------------------------------------------------+

Technology Stack và phiên bản chi tiết

  • Phần cứng điều khiển: PLC Siemens S7-1200 1214C DC/DC/DC (Mã: 6ES7 214-1AG40-0XB0), Module truyền thông nối tiếp CM 1241 RS422/485.
  • Thiết bị chấp hành & đo lường: Biến tần LS SV008iG5A-4 (0.75kW, 380V), Động cơ không đồng bộ 3 pha roto lồng sóc, Encoder vi sai 1024 xung/vòng.
  • Công cụ kỹ thuật: Siemens TIA Portal V16 Professional, Visual Studio Code v1.68+.
  • Backend & Middleware: Node.js v16.14.0 LTS, thư viện node-opcua v2.58.0, express v4.18.2, mysql2 v2.3.3.
  • Cơ sở dữ liệu: MySQL Server v8.0.28 Community Edition.
  • Frontend: ReactJS v18.2.0, Axios, Chart.js / react-chartjs-2.

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

CREATE DATABASE IF NOT EXISTS scada_motor_db;
USE scada_motor_db;

-- Bảng quản lý người dùng và phân quyền
CREATE TABLE users (
    user_id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL UNIQUE,
    password_hash VARCHAR(255) NOT NULL,
    role ENUM('admin', 'operator', 'viewer') DEFAULT 'operator',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Bảng lưu trữ dữ liệu giám sát thời gian thực
CREATE TABLE motor_telemetry (
    log_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    set_frequency FLOAT NOT NULL,
    output_frequency FLOAT NOT NULL,
    output_current FLOAT NOT NULL,
    motor_speed_rpm INT NOT NULL,
    dc_bus_voltage FLOAT NOT NULL,
    motor_status VARCHAR(20) NOT NULL,
    error_code INT DEFAULT 0
);

Thiết kế RESTful API Endpoints

Phương thức Endpoint Chức năng Tham số / Payload
POST /api/auth/login Xác thực người dùng { username, password }
GET /api/motor/status Lấy dữ liệu telemetry mới nhất Không có (Trả về JSON object)
POST /api/motor/control Gửi lệnh điều khiển xuống động cơ { command: "START"|"STOP"|"REVERSE", frequency: 45.0 }
GET /api/motor/history Lấy lịch sử thông số phục vụ vẽ biểu đồ ?startTime=...&endTime=...&limit=100

Methodology

Dự án áp dụng mô hình phát triển linh hoạt (Agile Scrum rút gọn) chia thành 4 sprint chính kéo dài từ 05/03/2022 đến 08/07/2022:

  • Sprint 1 (Tuần 1–4): Khảo sát sơ đồ chân phần cứng, thiết lập trạm biến tần LS iG5A, cấu hình Modbus RTU trên TIA Portal V16.
  • Sprint 2 (Tuần 5–8): Kích hoạt OPC UA Server trên PLC S7-1200, xây dựng Data Block (DB), kiểm thử truyền nhận qua công cụ UaExpert.
  • Sprint 3 (Tuần 9–13): Viết Middleware Node.js với node-opcua, thiết lập REST API và cơ sở dữ liệu MySQL.
  • Sprint 4 (Tuần 14–18): Thiết kế giao diện ReactJS, tích hợp toàn diện hệ thống, kiểm thử tải và đánh giá sai số.

Implementation và kết quả

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

1. Lập trình PLC S7-1200 trên TIA Portal V16

Trong TIA Portal V16, chương trình điều khiển được module hóa thành các khối chức năng chuyên biệt:

  • OB1 (Main Program): Quản lý luồng thực thi vòng quét chính.
  • FB CONTROL_MODBUS: Khởi tạo và xử lý khối lệnh MB_COMM_LOADMB_MASTER để giao tiếp với biến tần qua thanh ghi Modbus.
  • FB CTR_HSC: Cấu hình bộ đếm tốc độ cao (High Speed Counter) đọc xung pha A/B từ Encoder để tính vận tốc thực tế của động cơ (vòng/phút).
  • FB CONTROL_SPEED_PID: Khối thuật toán PID hiệu chỉnh tần số ngõ ra dựa trên sai lệch giữa tốc độ đặt và tốc độ đo được từ HSC.
  • Data Block (DB_OPC_UA): Lưu trữ các biến toàn cục cho phép OPC UA Server truy cập trực tiếp.
Bản đồ thanh ghi Modbus RTU trên biến tần LS iG5A:
- 0x0382 (Thanh ghi điều khiển): Bit 0 = Dừng, Bit 1 = Chạy thuận, Bit 2 = Chạy nghịch, Bit 3 = Reset lỗi.
- 0x0383 (Thanh ghi tần số đặt): Giá trị = Tần số (Hz) x 100 (Ví dụ: 50.00 Hz = 5000).
- 0x0384 (Thanh ghi trạng thái): Đọc trạng thái Chạy/Dừng, Báo lỗi, Chiều quay.
- 0x0385 (Thanh ghi tần số ngõ ra): Đọc tần số thực tế của biến tần.
- 0x0386 (Thanh ghi dòng điện ngõ ra): Đọc dòng điện hoạt động thực tế (A x 10).

2. Xây dựng OPC UA Gateway và API Server trên Node.js

Module Node.js sử dụng gói node-opcua để tạo kết nối an toàn đến OPC UA Server tích hợp sẵn trong CPU 1214C qua địa chỉ endpoint opc.tcp://192.168.0.1:4840.

// middleware/opcuaClient.js
const { OPCUAClient, AttributeIds, DataType } = require("node-opcua");
const endpointUrl = "opc.tcp://192.168.0.1:4840";

const client = OPCUAClient.create({
    endpointMustExist: false,
    connectionStrategy: { maxRetry: 10, initialDelay: 2000 }
});

let theSession = null;

async function initOPCUA() {
    try {
        await client.connect(endpointUrl);
        theSession = await client.createSession();
        console.log("Connected to Siemens S7-1200 OPC UA Server successfully.");
    } catch (err) {
        console.error("OPC UA Connection failed:", err);
    }
}

// Hàm ghi lệnh điều khiển xuống Data Block PLC
async function writeMotorControl(startCmd, speedSet) {
    if (!theSession) return;
    const nodesToWrite = [
        {
            nodeId: 'ns=3;s="DB_OPC_UA"."bStartMotor"',
            attributeId: AttributeIds.Value,
            value: { value: { dataType: DataType.Boolean, value: startCmd } }
        },
        {
            nodeId: 'ns=3;s="DB_OPC_UA"."rSetSpeed"',
            attributeId: AttributeIds.Value,
            value: { value: { dataType: DataType.Float, value: speedSet } }
        }
    ];
    await theSession.write(nodesToWrite);
}

module.exports = { initOPCUA, writeMotorControl };

3. Xây dựng giao diện điều khiển ReactJS

Giao diện ReactJS sử dụng cơ chế Hook để gửi lệnh điều khiển tức thời thông qua Axios và tự động làm mới dữ liệu telemetry sau mỗi 500ms.

// components/MotorControlPanel.jsx
import React, { useState, useEffect } from 'react';
import axios from 'axios';

export const MotorControlPanel = () => {
    const [speed, setSpeed] = useState(0);
    const [telemetry, setTelemetry] = useState({ outputFreq: 0, current: 0, rpm: 0 });

    useEffect(() => {
        const interval = setInterval(async () => {
            const res = await axios.get('/api/motor/status');
            setTelemetry(res.data);
        }, 500);
        return () => clearInterval(interval);
    }, []);

    const handleRunMotor = async (direction) => {
        await axios.post('/api/motor/control', {
            command: direction,
            frequency: parseFloat(speed)
        });
    };

    return (
        <div className="control-card">
            <h3>Bảng Điều Khiển Động Cơ SCADA Web</h3>
            <p>Tốc độ đo được: <strong>{telemetry.rpm} RPM</strong> | Dòng điện: <strong>{telemetry.current} A</strong></p>
            <input 
                type="number" 
                value={speed} 
                onChange={(e) => setSpeed(e.target.value)} 
                placeholder="Nhập tần số (0 - 50 Hz)"
            />
            <button onClick={() => handleRunMotor('RUN_FWD')}>Chạy Thuận</button>
            <button onClick={() => handleRunMotor('RUN_REV')}>Chạy Nghịch</button>
            <button onClick={() => handleRunMotor('STOP')} className="btn-stop">Dừng Động Cơ</button>
        </div>
    );
};

Kiểm thử và đánh giá kết quả

Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt trong điều kiện vận hành có tải và không tải:

+--------------------------------------------------------------------+
|               KẾT QUẢ ĐO ĐỘ TRỄ TRUYỀN DẪN HỆ THỐNG                |
|  LAN Mạng Nội Bộ (WiFi/Ethernet) : [===] 85 ms                     |
|  WAN Internet Cáp Quang          : [======] 145 ms                 |
|  Mạng Di Động 4G LTE             : [===========] 240 ms            |
+--------------------------------------------------------------------+
  • Thời gian vòng quét PLC (Scan Time): Dao động từ $3.8\text{ ms}$ đến $6.2\text{ ms}$, hoàn toàn đáp ứng yêu cầu xử lý logic và thuật toán PID vòng kín.
  • Độ trễ truyền thông toàn trình (End-to-End Latency):
    • Môi trường LAN (Ethernet/WiFi): $85\text{ ms} \pm 15\text{ ms}$.
    • Môi trường WAN (Qua Internet với Dynamic DNS): $145\text{ ms} \pm 25\text{ ms}$.
    • Mạng di động 4G LTE: $240\text{ ms} \pm 40\text{ ms}$.
  • Độ chính xác điều khiển tốc độ: Thuật toán PID kết hợp High Speed Counter giúp động cơ duy trì sai số vòng quay $< 1.5%$ khi tải thay đổi đột ngột từ 0% lên 80% tải định mức.
  • Độ tin cậy truyền gói tin: Đạt $99.98%$ tỷ lệ truyền thành công trong bài kiểm tra hoạt động liên tục 72 giờ không ngắt kết nối.

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

  1. Chuẩn hóa kiến trúc liên thông dữ liệu IIoT với IEC 62541: Thay thế hoàn toàn giao thức độc quyền bằng chuẩn mở OPC UA, loại bỏ điểm nghẽn DCOM truyền thống, mở đường cho việc tích hợp trực tiếp dữ liệu thiết bị trường vào các hệ sinh thái đám mây (AWS IoT, Azure IoT Hub).
  2. Loại bỏ chi phí bản quyền phần mềm SCADA đắt đỏ: Bằng việc kết hợp Node.js làm tầng Middleware Gateway và ReactJS làm giao diện SCADA Web, hệ thống tiết kiệm ước tính 70% – 85% chi phí đầu tư ban đầu so với việc mua bản quyền WinCC RT hay Wonderware Intouch.
  3. Mô hình Hybrid SCADA - Web hiện đại: Kết hợp tính ổn định, độ tin cậy cơ điện tử cao của phần cứng PLC Siemens công nghiệp với sự linh hoạt, trải nghiệm giao diện người dùng mượt mà và khả năng đáp ứng trên mọi kích thước màn hình của các Framework Web hiện đại.

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

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

  • Trạm bơm cấp thoát nước và xử lý nước thải: Giám sát áp lực đường ống, tự động điều khiển biến tần điều chỉnh lưu lượng bơm từ xa qua thiết bị di động mà không cần nhân viên trực 24/7 tại hiện trường.
  • Dây chuyền băng tải phân loại bưu kiện: Điều tốc các cụm động cơ đồng bộ trong xưởng sản xuất, thu thập cảnh báo quá nhiệt, quá tải về trung tâm điều hành.
  • Hệ thống HVAC trong tòa nhà thông minh: Giám sát quạt thông gió và chiller công nghiệp, tối ưu hóa điện năng tiêu thụ dựa trên biểu đồ phụ tải theo thời gian thực.
+--------------------------------------------------------------------------------+
|                        LỘ TRÌNH TRIỂN KHAI THỰC TẾ                             |
|  Giai đoạn 1 (Tuần 1-2) : Khảo sát tủ điện & Lắp đặt Module CM 1241            |
|  Giai đoạn 2 (Tuần 3-4) : Nạp Firmware & Cấu hình OPC UA Server trên PLC       |
|  Giai đoạn 3 (Tuần 5-6) : Cài đặt Node.js/MySQL Server & Cấu hình bảo mật      |
|  Giai đoạn 4 (Tuần 7-8) : Đào tạo vận hành, Chạy thử nghiệm & Nghiệm thu       |
+--------------------------------------------------------------------------------+

Yêu cầu triển khai hệ thống

  • Hạ tầng mạng: Đường truyền Internet băng thông tối thiểu 10 Mbps, mở cổng TCP 4840 (hoặc triển khai qua VPN Site-to-Site như WireGuard/OpenVPN để tăng cường bảo mật).
  • Máy chủ ứng dụng (Server Host): Máy chủ vật lý hoặc VPS chạy Ubuntu 20.04 LTS / Windows Server, tối thiểu 2 vCPU, 4GB RAM, 40GB SSD.
  • Điều kiện môi trường: Tủ điện công nghiệp lắp đặt PLC và biến tần cần có hệ thống tiếp địa tiêu chuẩn ($R < 4\Omega$) nhằm triệt tiêu nhiễu sóng hài phát sinh từ biến tần làm ảnh hưởng tín hiệu RS485 Modbus.

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

Hạn chế kỹ thuật hiện tại

  • Băng thông của chuẩn vật lý RS485 Modbus RTU giới hạn tốc độ truyền (tối đa 19200 bps trong đề tài), khi mở rộng kết nối cùng lúc trên 30 biến tần sẽ làm chu kỳ lấy mẫu dữ liệu tăng lên.
  • Giao thức OPC UA Server tích hợp sẵn trên CPU S7-1200 chiếm dụng một phần bộ nhớ và tài nguyên xử lý của PLC khi có nhiều Client cùng gửi yêu cầu đăng ký theo dõi (Subscription) đồng thời.

Hướng phát triển trong tương lai

  • Nâng cấp truyền thông: Chuyển đổi từ Modbus RTU sang Profinet hoặc Modbus TCP để đạt băng thông 100 Mbps và giảm thiểu độ trễ.
  • Tích hợp giao thức OPC UA Pub/Sub qua MQTT: Ứng dụng mô hình Publish/Subscribe cho phép đẩy trực tiếp dữ liệu lên broker đám mây, phục vụ lưu trữ Big Data.
  • Ứng dụng Trí tuệ nhân tạo (AI): Áp dụng mô hình Machine Learning phân tích dòng điện và độ rung động cơ để đưa ra cảnh báo bảo trì dự đoán (Predictive Maintenance) trước khi động cơ xảy ra sự cố hỏng vòng bi hoặc cháy cuộn dây.

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

+-------------------------------------------------------------------------------+
|                             ĐỐI TƯỢNG HƯỞNG LỢI                               |
|  Sinh viên & Giảng viên : Tiếp cận giáo trình thực hành SCADA Web 4.0 chuẩn   |
|  Kỹ sư Tự động hóa      : Mẫu thiết kế chuẩn kết nối PLC - Node.js - React    |
|  Doanh nghiệp sản xuất  : Giảm 75% chi phí bản quyền, giám sát mọi lúc mọi nơi|
|  Nhà nghiên cứu IIoT    : Tài liệu tham khảo đo lường độ trễ & an toàn IEC    |
+-------------------------------------------------------------------------------+
  • Sinh viên & Giảng viên ngành Điện – Tự động hóa: Cung cấp tài liệu tham khảo chi tiết về việc kết hợp giữa kỹ thuật điều khiển truyền thống (PLC/Inverter) và công nghệ thông tin hiện đại (Web Full-stack).
  • Kỹ sư tích hợp hệ thống: Nắm bắt kiến trúc mẫu (Design Pattern) hoàn chỉnh để xây dựng các giải pháp IoT Gateway thu thập dữ liệu từ nhà máy về hệ thống ERP/MES.
  • Doanh nghiệp vừa và nhỏ (SMEs): Sở hữu giải pháp giám sát điều khiển tiết kiệm chi phí, dễ dàng mở rộng và bảo trì mà không bị ràng buộc bởi các nhà cung cấp phần mềm thương mại.

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

1. Cần cấu hình phần cứng tối thiểu như thế nào để triển khai hệ thống?

Để triển khai mô hình cơ bản, cần 01 CPU PLC Siemens S7-1200 (Firmware tối thiểu v4.2 có hỗ trợ License OPC UA Basic), 01 Module CM 1241 RS485, 01 Biến tần hỗ trợ Modbus RTU (ví dụ LS iG5A, Schneider ATV312 hoặc Siemens V20), 01 Động cơ 3 pha và 01 máy tính chủ/Raspberry Pi 4 chạy môi trường Node.js.

2. Làm thế nào để đảm bảo an toàn thông tin khi điều khiển động cơ qua Internet?

Hệ thống áp dụng phương thức bảo mật đa tầng:

  • Tầng mạng: Sử dụng mạng riêng ảo (VPN WireGuard/IPsec) kết nối giữa Web Server và PLC để không để lộ cổng OPC UA trực tiếp ra Internet.
  • Tầng OPC UA: Kích hoạt cơ chế xác thực chứng chỉ số X.509 và chính sách mã hóa Basic256Sha256.
  • Tầng Web: Áp dụng JSON Web Token (JWT), giao thức bảo mật HTTPS/WSS và phân quyền tài khoản đa cấp (RBAC).

3. Tại sao chọn Node.js thay vì Python hay C# để làm OPC UA Gateway?

Node.js hoạt động dựa trên cơ chế hướng sự kiện bất đồng bộ (Non-blocking I/O Event Loop), rất tối ưu cho các tác vụ I/O cường độ cao như nhận hàng nghìn bản tin telemetry từ PLC và chuyển tiếp đến hàng trăm Web Client cùng lúc với mức tiêu thụ tài nguyên RAM thấp hơn đáng kể so với môi trường đa luồng truyền thống.

4. Hệ thống có thể mở rộng để giám sát bao nhiêu động cơ cùng lúc?

Khi sử dụng mạng Modbus RTU qua 01 module CM 1241, hệ thống có thể kết nối tối đa 31 biến tần trên một đường bus truyền thông vật lý. Để mở rộng lên hàng trăm động cơ, hệ sinh thái có thể nâng cấp sang chuẩn Profinet/Modbus TCP hoặc gắn thêm các module CM 1241 phụ trợ trên thanh ray PLC.

5. Chi phí đầu tư và thời gian hoàn vốn (ROI) ước tính cho một nhà xưởng quy mô nhỏ?

Chi phí phần cứng bổ sung (Module truyền thông + Thiết bị Gateway) ước tính dưới 15 triệu VNĐ. Nhờ khả năng phát hiện sự cố sớm, tối ưu hóa thời gian dừng máy (Downtime) và cắt giảm chi phí bản quyền phần mềm hàng năm, thời gian hoàn vốn đầu tư (ROI) thông thường chỉ từ 3 đến 6 tháng vận hành.


Kết luận

Đồ án tốt nghiệp "Hệ thống giám sát điều khiển và quản lý động cơ trên nền tảng OPC UA" do nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM thực hiện đã giải quyết thành công bài toán chuyển đổi số trong công nghiệp sản xuất. Bằng việc làm chủ công nghệ kết nối mở OPC UA (IEC 62541), tích hợp bộ điều khiển PLC Siemens S7-1200, biến tần LS iG5A và ứng dụng các công nghệ Web hiện đại (Node.js, ReactJS, MySQL), dự án đã xây dựng thành công một hệ thống SCADA Web phân tán thời gian thực với độ tin cậy cao, bảo mật vững chắc và tối ưu hóa chi phí đầu tư.

Kết quả nghiên cứu không chỉ mang ý nghĩa học thuật trong việc chuẩn hóa phương pháp đào tạo tích hợp IT-OT mà còn mở ra tiềm năng ứng dụng thực tiễn to lớn cho các doanh nghiệp sản xuất trong tiến trình hiện đại hóa nhà máy thông minh.