Machine States & Lifecycle (Trạng thái và vòng đời của máy)
1. BIG PICTURE — EVERYTHING IS A STATE MACHINE
An industrial machine (máy công nghiệp) is never “just running.” At any given moment, it is in a specific state (trạng thái), and its behavior depends entirely on that state. The same button press or API call can produce completely different results depending on whether the machine is Idle, Running, or in Error.
Một máy công nghiệp (máy công nghiệp) không bao giờ “chỉ đơn giản là đang chạy.” Tại bất kỳ thời điểm nào, nó luôn ở trong một trạng thái (trạng thái) cụ thể, và hành vi của nó phụ thuộc hoàn toàn vào trạng thái đó. Cùng một thao tác nhấn nút hoặc gọi API có thể tạo ra kết quả hoàn toàn khác nhau tùy thuộc vào việc máy đang ở Idle, Running hay Error.
State transitions (chuyển trạng thái) define how the system moves from one condition to another. These transitions are not random—they are carefully controlled rules that ensure the machine behaves predictably and safely.
Các chuyển trạng thái (chuyển trạng thái) định nghĩa cách hệ thống di chuyển từ trạng thái này sang trạng thái khác. Các chuyển trạng thái này không ngẫu nhiên—chúng là các quy tắc được kiểm soát chặt chẽ để đảm bảo máy hoạt động một cách dự đoán được và an toàn.
This model prevents invalid operations. For example, a wafer inspection machine cannot start scanning if the stage is not homed. Without a strict state model, you will eventually get crashes, hardware damage, or inconsistent results.
Mô hình này giúp ngăn chặn các thao tác không hợp lệ. Ví dụ, một máy kiểm tra wafer không thể bắt đầu quét nếu hệ thống chuyển động chưa được homing. Nếu không có mô hình trạng thái chặt chẽ, bạn sẽ sớm gặp lỗi hệ thống, hư hỏng phần cứng hoặc kết quả không nhất quán.
2. COMMON MACHINE STATES (REAL-WORLD)
Idle (chờ) means the machine is powered but not ready to operate. Subsystems may not be initialized yet, and most actions are restricted.
Idle (chờ) có nghĩa là máy đã bật nguồn nhưng chưa sẵn sàng hoạt động. Các hệ thống con có thể chưa được khởi tạo, và hầu hết các thao tác đều bị hạn chế.
Ready (sẵn sàng) means all required systems are initialized, calibrated, and safe to start. This is the only state where a “Start” command should be accepted.
Ready (sẵn sàng) nghĩa là tất cả các hệ thống cần thiết đã được khởi tạo, hiệu chuẩn và an toàn để bắt đầu. Đây là trạng thái duy nhất mà lệnh “Start” nên được chấp nhận.
Running (đang chạy) means the machine is executing its workflow (luồng xử lý)—moving motors, capturing images, processing data. Only limited commands like Pause or Stop are allowed.
Running (đang chạy) nghĩa là máy đang thực thi luồng xử lý (luồng xử lý)—di chuyển motor, chụp ảnh, xử lý dữ liệu. Chỉ một số lệnh hạn chế như Pause hoặc Stop được phép.
Paused (tạm dừng) means the workflow is temporarily halted but can resume without losing context. This is common in long inspection processes.
Paused (tạm dừng) nghĩa là luồng xử lý tạm thời bị dừng nhưng có thể tiếp tục mà không mất trạng thái trước đó. Điều này phổ biến trong các quá trình kiểm tra dài.
Error (lỗi) means something went wrong—hardware failure, timeout, or invalid condition. The system must stop safely and wait for operator intervention or recovery logic.
Error (lỗi) nghĩa là có sự cố xảy ra—lỗi phần cứng, quá thời gian hoặc điều kiện không hợp lệ. Hệ thống phải dừng an toàn và chờ người vận hành hoặc logic khôi phục.
Maintenance (bảo trì) is a special mode where normal production is disabled, and engineers can manually control subsystems for testing or calibration.
Maintenance (bảo trì) là một chế độ đặc biệt, trong đó hoạt động sản xuất bị vô hiệu hóa và kỹ sư có thể điều khiển thủ công các hệ thống con để kiểm tra hoặc hiệu chuẩn.
3. VISUAL — STATE MACHINE DIAGRAM
A typical state machine diagram shows nodes (states) and arrows (transitions). For example: Idle → Ready → Running → Error → Recovery → Ready.
Một sơ đồ máy trạng thái điển hình hiển thị các nút (trạng thái) và các mũi tên (chuyển trạng thái). Ví dụ: Idle → Ready → Running → Error → Recovery → Ready.
The key observation is that not all transitions are allowed. You cannot jump from Idle directly to Running without going through Ready. The system must enforce these rules strictly.
Điểm quan trọng là không phải mọi chuyển trạng thái đều được phép. Bạn không thể chuyển trực tiếp từ Idle sang Running mà không qua Ready. Hệ thống phải thực thi nghiêm ngặt các quy tắc này.
4. STATE TRANSITIONS — CONTROLLED BEHAVIOR
A transition (chuyển trạng thái) is triggered by events: user actions (operator presses Start), system events (workflow completes), or hardware signals (sensor detects position).
Một chuyển trạng thái (chuyển trạng thái) được kích hoạt bởi các sự kiện: hành động người dùng (operator nhấn Start), sự kiện hệ thống (workflow hoàn thành), hoặc tín hiệu phần cứng (cảm biến phát hiện vị trí).
Every transition must be validated. For example, if the machine is already Running, a Start command must be rejected. This is not optional—it is critical for safety and consistency.
Mỗi chuyển trạng thái phải được kiểm tra hợp lệ. Ví dụ, nếu máy đang Running, lệnh Start phải bị từ chối. Đây không phải là tùy chọn—nó rất quan trọng cho an toàn và tính nhất quán.
In real systems, this validation often lives in a central state manager or controller (bộ điều khiển), not scattered across UI or services.
Trong hệ thống thực tế, việc kiểm tra này thường nằm trong một state manager hoặc controller (bộ điều khiển) trung tâm, không bị phân tán trong UI hoặc các service.
5. LIFECYCLE OF A MACHINE
Lifecycle (vòng đời) is broader than states—it describes the entire life of the machine from power-on to shutdown.
Vòng đời (vòng đời) rộng hơn trạng thái—nó mô tả toàn bộ quá trình của máy từ lúc bật nguồn đến khi tắt.
It includes power on (khởi động), initialization (khởi tạo), production (vận hành), shutdown (tắt máy), and maintenance (bảo trì).
Nó bao gồm khởi động (khởi động), khởi tạo (khởi tạo), vận hành (vận hành), tắt máy (tắt máy), và bảo trì (bảo trì).
The key insight: lifecycle spans multiple runs. A machine may run thousands of workflows before being shut down.
Điểm quan trọng: vòng đời bao gồm nhiều lần chạy. Một máy có thể thực hiện hàng nghìn luồng xử lý trước khi tắt.
6. VISUAL — MACHINE LIFECYCLE IN REAL SYSTEM
Operators interact with machines through HMI (giao diện vận hành), where states are clearly displayed: Ready, Running, Error, etc.
Người vận hành tương tác với máy thông qua HMI (giao diện vận hành), nơi các trạng thái được hiển thị rõ ràng: Ready, Running, Error, v.v.
Clear state visibility is critical. If the operator cannot understand the current state, they cannot operate the machine safely.
Việc hiển thị trạng thái rõ ràng là cực kỳ quan trọng. Nếu người vận hành không hiểu trạng thái hiện tại, họ không thể vận hành máy an toàn.
7. STATE + WORKFLOW RELATIONSHIP
Workflow (luồng xử lý) runs inside specific states. For example, the full inspection sequence only runs in the Running state.
Luồng xử lý (luồng xử lý) chạy bên trong các trạng thái cụ thể. Ví dụ, toàn bộ quá trình kiểm tra chỉ chạy trong trạng thái Running.
State controls when the workflow can start or stop, while workflow defines how tasks execute step by step.
Trạng thái quyết định khi nào luồng xử lý có thể bắt đầu hoặc dừng, trong khi luồng xử lý định nghĩa cách các bước được thực thi.
This separation is important: state = control boundary, workflow = execution logic.
Sự tách biệt này rất quan trọng: trạng thái = ranh giới điều khiển, luồng xử lý = logic thực thi.
8. FAILURE STATES — REAL-WORLD PROBLEMS
Error state (trạng thái lỗi) is not an edge case—it is a normal part of system behavior.
Trạng thái lỗi (trạng thái lỗi) không phải là trường hợp hiếm—nó là một phần bình thường của hành vi hệ thống.
Common causes include hardware failure (lỗi phần cứng), timeout (quá thời gian), invalid sensor data, or communication loss.
Các nguyên nhân phổ biến bao gồm lỗi phần cứng (lỗi phần cứng), quá thời gian (quá thời gian), dữ liệu cảm biến không hợp lệ hoặc mất kết nối.
When an error occurs, the system must stop safely, notify the operator, and preserve enough context for recovery.
Khi lỗi xảy ra, hệ thống phải dừng an toàn, thông báo cho người vận hành và giữ đủ thông tin để khôi phục.
9. RECOVERY & SAFE TRANSITIONS
Recovery (khôi phục) is one of the hardest parts of machine design. You cannot simply restart everything blindly.
Khôi phục (khôi phục) là một trong những phần khó nhất trong thiết kế máy. Bạn không thể chỉ đơn giản restart toàn bộ hệ thống một cách mù quáng.
For example, if a wafer inspection stops mid-scan, the system must decide whether to resume from the last position, restart the scan, or abort the job entirely.
Ví dụ, nếu máy kiểm tra wafer dừng giữa quá trình quét, hệ thống phải quyết định có tiếp tục từ vị trí cũ, bắt đầu lại hay hủy hoàn toàn công việc.
These decisions depend on machine state, hardware condition, and process requirements.
Các quyết định này phụ thuộc vào trạng thái máy, tình trạng phần cứng và yêu cầu quy trình.
10. CONCURRENCY & STATES
Modern machines run multiple subsystems concurrently (đồng thời)—motion system, camera, data processing.
Các máy hiện đại chạy nhiều hệ thống con đồng thời (đồng thời)—hệ chuyển động, camera, xử lý dữ liệu.
Even with concurrency, the global state must remain consistent. You cannot have one subsystem thinking the machine is Running while another thinks it is Stopped.
Ngay cả khi có xử lý đồng thời, trạng thái toàn cục phải nhất quán. Bạn không thể để một hệ thống con nghĩ máy đang Running trong khi hệ khác nghĩ máy đã dừng.
This creates synchronization challenges that are very similar to concurrency problems in .NET—but with real-world consequences.
Điều này tạo ra các thách thức đồng bộ tương tự như concurrency trong .NET—nhưng với hậu quả ngoài đời thực.
11. MENTAL MODEL FOR SOFTWARE ENGINEERS
Machine state (trạng thái) is similar to application state in software, and transitions (chuyển trạng thái) are like state machine logic.
Trạng thái máy (trạng thái) tương tự như trạng thái ứng dụng trong phần mềm, và chuyển trạng thái (chuyển trạng thái) giống như logic state machine.
Lifecycle (vòng đời) is similar to system lifecycle in distributed systems, including startup, operation, and shutdown.
Vòng đời (vòng đời) tương tự vòng đời hệ thống trong hệ thống phân tán, bao gồm khởi động, vận hành và tắt.
The key difference: machine states have stricter constraints and real-world consequences—mistakes can damage hardware or cause safety risks.
Điểm khác biệt chính: trạng thái máy có ràng buộc chặt chẽ hơn và hậu quả thực tế—sai sót có thể làm hỏng phần cứng hoặc gây nguy hiểm.
12. WHY THIS MATTERS FOR YOUR ROLE
Most production bugs in industrial systems are state-related, not algorithm-related.
Phần lớn lỗi trong hệ thống công nghiệp liên quan đến trạng thái, không phải thuật toán.
Incorrect transitions, missing validations, or inconsistent states lead to unpredictable behavior.
Các chuyển trạng thái sai, thiếu kiểm tra hoặc trạng thái không nhất quán dẫn đến hành vi không thể dự đoán.
A good design always starts with a clear state model and enforced transitions.
Thiết kế tốt luôn bắt đầu với mô hình trạng thái rõ ràng và các chuyển trạng thái được kiểm soát chặt chẽ.
13. COMMON MISTAKES
Implicit states (trạng thái ẩn) are a common problem—when the system behavior depends on hidden flags instead of explicit states.
Trạng thái ẩn (trạng thái ẩn) là một vấn đề phổ biến—khi hành vi hệ thống phụ thuộc vào các biến ẩn thay vì trạng thái rõ ràng.
Another mistake is allowing invalid actions, like starting a process during Error state.
Một lỗi khác là cho phép các thao tác không hợp lệ, như bắt đầu quá trình khi đang ở trạng thái Error.
Mixing state logic with workflow logic also leads to complex and fragile systems.
Việc trộn logic trạng thái với logic luồng xử lý cũng dẫn đến hệ thống phức tạp và dễ lỗi.
14. KEY TERMINOLOGY (EN ↔ VI)
| English | Vietnamese | Meaning |
|---|---|---|
| state | trạng thái | current condition of machine |
| transition | chuyển trạng thái | movement between states |
| lifecycle | vòng đời | full system life |
| error state | trạng thái lỗi | failure condition |
| recovery | khôi phục | returning to normal |
| workflow | luồng xử lý | sequence of operations |
15. FURTHER READING
Look into state machine design patterns (thiết kế máy trạng thái) such as finite state machines and hierarchical state machines.
Hãy tìm hiểu các mẫu thiết kế state machine (thiết kế máy trạng thái) như finite state machine và hierarchical state machine.
Explore PLC (bộ điều khiển logic lập trình) programming approaches, where state handling is often explicit and strict.
Khám phá các cách lập trình PLC (bộ điều khiển logic lập trình), nơi việc xử lý trạng thái thường rõ ràng và nghiêm ngặt.
Read real industrial system blogs and case studies to understand how failures and recovery are handled in production.
Đọc các blog và case study thực tế trong công nghiệp để hiểu cách xử lý lỗi và khôi phục trong môi trường sản xuất.