Major fault là gì, hiện ở đâu
Major fault là lỗi làm bộ điều khiển Logix 5000 dừng chạy logic. Khi một lệnh không thể thực thi, lệnh đó bị hủy, bộ điều khiển báo major fault và chuyển sang chế độ lỗi (faulted); đầu ra về trạng thái đã cấu hình cho chế độ lỗi (1756-PM014O, chương 1, tr. 9 và tr. 21). Khác với minor fault: máy vẫn chạy, chỉ ghi lỗi lại — xem bài Lỗi Minor Fault trên Logix.
Những chỗ cần nhìn:
- Đèn OK trên bộ điều khiển nhấp nháy đỏ (PM014O tr. 9).
- Online bằng Logix Designer, mở Controller Properties → tab "Major Faults": hiện Type và Code của lỗi (PM014O tr. 22).
- Trong chương trình: Type và Code nằm trong thuộc tính MajorFaultRecord của Program object, đọc bằng lệnh GSV (PM014O tr. 17–18).
- Màn hình trạng thái chạy chữ trên bộ điều khiển: với Type 1 Code 60/61/62, Rockwell yêu cầu ghi lại mã 9 ký tự hiện trên màn hình này (1756-RD001).
Đọc Type và Code
Type là nhóm lỗi, Code là lỗi cụ thể trong nhóm. Logix Designer hiển thị dạng "Major Fault T04:C20 - Program Fault: …", tức Type 4, Code 20. Cùng một Code mang nghĩa khác hẳn ở Type khác: Code 1 ở Type 6 là watchdog, ở Type 11 là trục vượt giới hạn hành trình dương. Khi báo lỗi, luôn ghi đủ cả hai số và nguyên dòng chữ hiển thị.
Một số Type có cả mã major lẫn mã minor (ví dụ Type 4 Code 4 tràn số là minor), nên đừng đoán mức độ chỉ dựa vào Type.
Recoverable và non-recoverable
- Recoverable — phần lớn major fault (lỗi chương trình, I/O, watchdog…): sửa nguyên nhân, xóa lỗi rồi đưa bộ điều khiển về Run; hoặc fault routine trong chương trình tự xóa lỗi để máy chạy tiếp. Rockwell gọi quá trình chạy lại sau khi xóa lỗi là fault recovery (PM014O tr. 9).
- Non-recoverable — 1756-RD001 ghi rõ ở một số mã: Type 1 Code 60, 61, 62 ("Non-recoverable fault"), Type 3 Code 20/21 ("Not recoverable", thay chassis), và nhiều mã Type 14 trên GuardLogix (ghi chú "Nonrecoverable"). Với nhóm này chỉ xóa lỗi là không đủ; hướng xử lý trong RD001 là thay phần cứng, nạp lại ứng dụng hoặc liên hệ Rockwell.
Các mã major fault thường gặp
Bảng dưới diễn giải các mã kỹ sư bảo trì hay gặp, theo 1756-RD001 (09/2025). Danh sách đầy đủ và hướng xử lý gốc nằm trong bảng tính đó, sheet "Logix 5000 Controllers".
Type 1 — Power-up
| Code | Ý nghĩa | Nguyên nhân thường gặp | Kiểm tra |
|---|---|---|---|
| 1 | Có điện lại khi bộ điều khiển đang ở Run | Mất nguồn rồi có lại; Power-Up Handler để trống thì lỗi này giữ máy không tự chạy lại (PM014O tr. 15) | Nguyên nhân mất nguồn; có muốn cho máy tự chạy lại không (xem phần Power-Up Handler) |
| 40 | Pin/ESM không lưu được chương trình khi tắt nguồn | Pin hoặc ESM (Energy Storage Module) không đủ năng lượng | Thay pin; với ESM: để sạc đầy trước khi tắt nguồn, thay ESM, hoặc thay bộ điều khiển nếu ESM không tháo được |
| 60, 61, 62 | Lỗi không phục hồi được (61: có lưu thông tin chẩn đoán; 62: thêm chương trình đã lưu) | Bộ điều khiển tự phát hiện lỗi nghiêm trọng | Cắm thẻ nhớ, khởi động lại để ghi chẩn đoán vào thẻ, xóa lỗi, nạp lại ứng dụng; gửi Rockwell mã 9 ký tự |
Type 3 — I/O
| Code | Ý nghĩa | Nguyên nhân thường gặp | Kiểm tra |
|---|---|---|---|
| 16 | Mất kết nối tới module được cấu hình bắt buộc | Module không có trong chassis, sai electronic keying, mất đường kết nối tới module | Module trong chassis, keying, tab "Major Faults" và tab "Connection" của module — xem bài lỗi module I/O 16#0204, 16#0203 |
| 20, 21 | Không đọc được thông tin chassis ControlBus | Có thể hỏng chassis | RD001: không phục hồi được, thay chassis |
| 23 | Có module bắt buộc chưa kết nối xong trước khi vào Run | Chuyển Run quá sớm, khi kết nối bắt buộc chưa lập xong | Chờ đèn I/O của bộ điều khiển xanh rồi mới chuyển Run. Thời gian chờ: 5380/5580 là 30 s (redundancy 90 s); 5590 là 60 s (redundancy 120 s) |
Type 4 — Program (lỗi chương trình)
| Code | Ý nghĩa | Nguyên nhân thường gặp | Kiểm tra |
|---|---|---|---|
| 16 | Gặp lệnh không xác định | Thường do quá trình chuyển đổi chương trình | Tìm và bỏ lệnh đó |
| 20 | Chỉ số mảng vượt kích thước, hoặc .POS/.LEN của tag CONTROL không hợp lệ | Tag chỉ số (indirect addressing) chạy quá giới hạn mảng | Chặn giá trị chỉ số trong phạm vi mảng trước khi dùng |
| 31 | JSR/RET không truyền đủ tham số | Tham số của JSR không khớp SBR hoặc RET | Số tham số ở hai đầu |
| 34 | Timer có PRE hoặc ACC âm | Logic nạp số âm vào timer | Chặn giá trị trước lệnh MOV/COP vào timer |
| 83 | Giá trị ngoài giới hạn | Chỉ số dùng với mảng BOOL hoặc truy cập bit | Giống Code 20 |
| 990–999 | Lỗi do người lập trình tự tạo | Chương trình chủ động dừng máy theo điều kiện riêng (PM014O tr. 21) | Tìm trong chương trình nơi tạo mã đó để biết điều kiện |
Type 6, 7 — Watchdog và bộ nhớ nonvolatile
| Type/Code | Ý nghĩa | Nguyên nhân thường gặp | Kiểm tra |
|---|---|---|---|
| Type 6 Code 1 | Task watchdog hết giờ | Vòng lặp vô hạn, chương trình quá nặng, task ưu tiên cao hơn chiếm thời gian | Cài đặt watchdog, thời gian chạy, ưu tiên các task; cần thì chia code sang bộ điều khiển khác |
| Type 7 Code 40 | Lưu dự án vào nonvolatile memory thất bại | Thẻ nhớ | Thử lưu lại; vẫn lỗi thì thay thẻ; với 1756-L7x kiểm tra thẻ không bị khóa |
| Type 7 Code 41, 42 | Nạp từ nonvolatile memory thất bại do sai loại bộ điều khiển (41) hoặc lệch firmware revision (42) | Dự án trên thẻ làm cho loại hoặc revision bộ điều khiển khác | 41: dùng đúng bộ điều khiển, hoặc download rồi lưu lại vào thẻ; 42: nâng firmware bộ điều khiển bằng revision của dự án |
| Type 7 Code 43, 44 | Checksum sai / không khôi phục được bộ nhớ | — | Liên hệ Rockwell |
Các nhóm khác hay gặp
| Type/Code | Ý nghĩa | Kiểm tra |
|---|---|---|
| Type 11 Code 1, 2 | Trục vượt giới hạn hành trình dương / âm | Đưa trục về trong giới hạn, chạy Motion Axis Fault Reset |
| Type 14 Code 3 | GuardLogix: thiếu safety partner | Lắp safety partner tương thích, xóa lỗi; có thể phải download lại |
| Type 17 Code 34 | Nhiệt độ bên trong bộ điều khiển vượt giới hạn | Giảm nhiệt độ môi trường, đảm bảo khoảng hở quanh chassis theo khuyến cáo |
| Type 20 Code 1 | Thiếu license hoặc license không hợp lệ khi vào Run/Test | Cắm CmCard chứa đủ license dự án cần |
Fault routine, Controller Fault Handler, Power-Up Handler
1756-PM014O (tr. 11–12) chỉ chỗ đặt logic xử lý theo Type:
| Tình huống | Type | Đặt logic ở |
|---|---|---|
| Một lệnh bị lỗi khi chạy | 4 | Fault routine của program |
| Mất giao tiếp với module I/O | 3 | Controller Fault Handler |
| Task watchdog hết giờ | 6 | Controller Fault Handler |
| Trục motion bị lỗi | 11 | Controller Fault Handler |
| Có điện lại khi đang ở Run hoặc Remote Run | 1 | Power-Up Handler |
Thứ tự: fault routine của program chạy trước, khi bộ điều khiển chưa chuyển sang chế độ lỗi; nếu routine này không xóa lỗi, bộ điều khiển gọi Controller Fault Handler (tr. 12, tr. 19).
Cách đọc và xóa lỗi bằng logic (tr. 17–21): dùng GSV đọc thuộc tính MajorFaultRecord (DINT[11]) của Program object — dùng tên program hoặc THIS — vào một tag kiểu UDT FAULTRECORD gồm Time_Low, Time_High, Type, Code, Info (DINT[8]). So Type và Code với đúng lỗi muốn xử lý; muốn xóa thì đưa Type và Code về 0 rồi ghi ngược bằng SSV.
Những điều PM014O nhấn mạnh:
- Không dùng fault routine để xóa mọi lỗi liên tục; chỉ xóa đúng loại lỗi đã kiểm tra.
- Lệnh gây lỗi bị bỏ qua. Nếu đó là JSR thì cả subroutine không chạy; lỗi trong Add-On Instruction làm phần còn lại của AOI bị bỏ.
- Trong prescan, fault handler nội bộ chỉ xóa lỗi mảng Type 4 Code 20 và 83 (tr. 10–11).
- Power-Up Handler để trống thì khi có điện lại bộ điều khiển đứng ở lỗi Type 1 Code 1; muốn chạy tiếp, handler phải xóa lỗi đó rồi chạy logic cần thiết (tr. 15). Có cho máy tự chạy lại sau mất điện hay không là quyết định vận hành và an toàn của nhà máy, không chỉ là chuyện lập trình.
Xóa lỗi an toàn
- Ghi lại trước khi xóa: Type, Code, nguyên dòng hiển thị, thời điểm, chụp màn hình tab "Major Faults".
- Tìm và sửa nguyên nhân trước. Xóa lỗi khi chưa sửa thường chỉ làm lỗi quay lại, và lần sau có thể ở lúc máy đang có tải.
- Khi bộ điều khiển về Run, logic chạy lại và đầu ra có thể đổi trạng thái ngay — motor, van, trục servo có thể chạy. Báo vận hành, kiểm tra khu vực máy, tuân thủ quy trình khóa nguồn/giấy phép làm việc của nhà máy.
- Lỗi quay lại ngay sau khi xóa: dừng, không xóa lặp lại.
- Với Type 1 Code 60–62: làm đúng trình tự RD001 nêu ở trên, có sẵn bản backup dự án đang chạy.
Khi nào là lỗi phần cứng
Theo RD001: Type 3 Code 20/21 là thay chassis; Type 1 Code 60–62 và Type 7 Code 43/44 phải liên hệ Rockwell; Type 7 Code 40 lặp lại là thay thẻ nhớ; Type 1 Code 40 là thay pin, ESM hoặc bộ điều khiển. Type 17 Code 34 thì xử lý làm mát tủ trước. Nếu phần hỏng là bộ điều khiển, chassis đời cũ khó tìm phụ tùng, nên tính luôn phương án thay thế: đánh giá vòng đời thiết bị.
Ghi gì trước khi gọi hỗ trợ
- Type, Code và nguyên dòng chữ của tab "Major Faults"; các minor fault đang có.
- Lúc lỗi máy đang làm gì: mất điện, download, đổi chế độ, sửa online.
- Mã bộ điều khiển, firmware revision, phiên bản Logix Designer.
- Với Type 1 Code 60–62: mã 9 ký tự và thẻ nhớ đã ghi chẩn đoán.
- Với Type 4: tên program/routine và rung gây lỗi.
- Bản sao dự án đang chạy, ảnh đèn trạng thái và rack.
Cần kỹ sư kiểm tra tại nhà máy: gửi yêu cầu hỗ trợ.
Câu hỏi thường gặp
Lỗi Type 4 Code 20 trên ControlLogix là gì?
Type 4 Code 20 là chỉ số mảng vượt kích thước, hoặc .POS/.LEN của tag CONTROL không hợp lệ; nguyên nhân thường gặp là tag chỉ số (indirect addressing) chạy quá giới hạn mảng. Cách xử lý là chặn giá trị chỉ số trong phạm vi mảng trước khi dùng.
Type 3 Code 16 trên Logix là lỗi gì?
Đó là mất kết nối tới module được cấu hình bắt buộc: module không có trong chassis, sai electronic keying hoặc mất đường kết nối tới module. Kiểm tra module trong chassis, keying, tab "Major Faults" và tab "Connection" của module.
Lỗi watchdog Type 6 Code 1 xử lý thế nào?
Type 6 Code 1 là task watchdog hết giờ, thường do vòng lặp vô hạn, chương trình quá nặng hoặc task ưu tiên cao hơn chiếm thời gian. Kiểm tra cài đặt watchdog, thời gian chạy và ưu tiên các task; cần thì chia code sang bộ điều khiển khác.
Vì sao bộ điều khiển đứng ở Type 1 Code 1 sau khi có điện lại?
Khi Power-Up Handler để trống, có điện lại trong lúc đang ở Run thì bộ điều khiển đứng ở lỗi Type 1 Code 1 và máy không tự chạy lại. Muốn chạy tiếp, handler phải xóa lỗi đó rồi chạy logic cần thiết; có cho máy tự chạy lại hay không là quyết định vận hành và an toàn của nhà máy.
Major fault nào không xóa được (non-recoverable)?
1756-RD001 ghi rõ Type 1 Code 60, 61, 62, Type 3 Code 20/21 và nhiều mã Type 14 trên GuardLogix là không phục hồi được. Với nhóm này chỉ xóa lỗi là không đủ; hướng xử lý là thay phần cứng, nạp lại ứng dụng hoặc liên hệ Rockwell.
Nguồn
- Rockwell Automation, 1756-PM014O-EN-P, Logix 5000 Controllers Major, Minor, and I/O Faults Programming Manual, 09/2024 — chương 1 "Major Faults", tr. 9–22
- Rockwell Automation, 1756-RD001F-EN-P, Logix 5000 Controller and I/O Fault Codes (bảng tính), 09/2025 — sheet "Logix 5000 Controllers"
- Rockwell Automation Knowledgebase QA45576 (công khai), Logix 5000 Controllers: Major and Minor Fault Code List
Đọc ngày 25/10/2026. Bài viết diễn giải, không trích nguyên văn; đọc tài liệu gốc trước khi thiết kế hoặc thao tác. Liên kết mở bản mới nhất trong thư viện tài liệu Rockwell; số trang ghi theo bản nêu trong bài.