Minor fault khác major fault ở đâu
Major fault làm bộ điều khiển dừng chạy logic (1756-PM014O, tr. 9). Minor fault thì không: chương trình vẫn chạy tiếp, lỗi chỉ được ghi lại để người lập trình hoặc bảo trì đọc. Vì máy không dừng nên minor fault hay bị bỏ qua nhiều tháng — trong khi có những mã báo trước một sự cố lớn, điển hình là pin hoặc ESM yếu trước một lần mất điện. Major fault xem bài Lỗi Major Fault ControlLogix, CompactLogix: đọc Type/Code.
Minor fault được ghi ở (PM014O, chương 2, tr. 23–25):
- Controller Properties → tab "Minor Faults" trong Logix Designer.
- Thuộc tính MinorFaultRecord của Program object (đọc bằng GSV).
- Thuộc tính MinorFaultBits của FaultLog object — mỗi bit ứng với một nhóm lỗi.
- Bit trạng thái S:MINOR — bật khi một lệnh vừa sinh minor fault.
Cách đọc Type/Code giống major fault: Logix Designer hiển thị dạng "Minor Fault T04:C04 - Program Fault: …" tức Type 4, Code 4.
Các mã minor fault thường gặp
Diễn giải theo 1756-RD001 (09/2025). Danh sách đầy đủ và hướng xử lý gốc nằm trong bảng tính đó.
Chương trình và task
| Type/Code | Ý nghĩa | Vì sao đáng lo | Kiểm tra |
|---|---|---|---|
| Type 4 Code 4 | Tràn số: kết quả phép tính vượt phạm vi | Giá trị tính ra (bộ đếm tổng, giá trị scale) không còn đúng trong khi máy vẫn chạy | Thứ tự phép tính, kiểu dữ liệu đích, giá trị đầu vào |
| Type 4 Code 5, 6, 7 | Lệnh GSV/SSV: không tìm thấy instance / sai class hoặc attribute / tag đích quá nhỏ | Logic chẩn đoán đọc sai hoặc không đọc được gì | Tên instance, class, attribute và kích thước tag đích |
| Type 4 Code 51 | .LEN của tag STRING lớn hơn kích thước DATA | Dữ liệu chuỗi bị sai | Lệnh nào đang ghi vào .LEN |
| Type 6 Code 2 | Periodic task bị gọi lại khi lần chạy trước chưa xong | Task không chạy kịp chu kỳ đã đặt | Đơn giản chương trình, tăng chu kỳ, tăng ưu tiên |
| Type 6 Code 3 | Event task bị kích lại khi chưa chạy xong | Như trên | Như trên, hoặc làm chậm sự kiện kích task |
Pin, ESM, UPS và bộ nhớ
| Type/Code | Ý nghĩa | Vì sao đáng lo | Kiểm tra |
|---|---|---|---|
| Type 10 Code 10 | Thiếu pin hoặc cần thay pin | Rủi ro mất chương trình khi mất điện | Lắp pin mới |
| Type 10 Code 11 | Pin của safety partner thiếu hoặc cần thay (GuardLogix) | Như trên | Lắp pin mới |
| Type 10 Code 12 | Không có ESM | RD001: tắt nguồn thì WallClockTime và chương trình không được giữ | Lắp ESM |
| Type 10 Code 13 | ESM không tương thích với bộ điều khiển | Như trên | Thay ESM đúng loại |
| Type 10 Code 14, 15 | ESM hỏng phần cứng / ESM không đủ năng lượng | ESM không giữ được chương trình và giờ khi tắt nguồn | Thay ESM |
| Type 10 Code 16, 17 | UPS không có hoặc chưa sẵn sàng / pin UPS hỏng | Không có nguồn dự phòng khi mất điện | Kiểm tra UPS, thay pin UPS |
| Type 7 Code 49 | Bộ điều khiển vừa nạp dự án từ nonvolatile memory | Cho biết chương trình đã được nạp lại từ thẻ — cần biết vì sao | Xác nhận nguyên nhân, rồi xóa lỗi |
| Type 7 Code 39 | Nonvolatile memory sắp hết tuổi thọ | RD001 khuyến cáo thay bộ điều khiển sớm nhất có thể để tránh mất chương trình | Lên kế hoạch thay bộ điều khiển |
Lưu ý: trong RD001 (09/2025), mã Type 7 Code 39 nằm ở cột Type 7, Code 39 nhưng dòng hiển thị lại ghi "Minor Fault T17:C39". Khi gặp, hãy so cả hai cách ghi.
Chuỗi sự cố cần nhớ: Type 10 Code 14/15 hôm nay mà bỏ qua thì ở lần mất điện sau, bộ điều khiển có thể lên lại với major fault Type 1 Code 40 — pin/ESM không đủ năng lượng để lưu chương trình khi tắt nguồn — và phải nạp lại chương trình.
Phần cứng, nhiệt độ, mạng
| Type/Code | Ý nghĩa | Vì sao đáng lo | Kiểm tra |
|---|---|---|---|
| Type 17 Code 35 | Nhiệt độ bên trong bộ điều khiển gần tới giới hạn | Nóng thêm là major fault Type 17 Code 34 | Nhiệt độ tủ, khoảng hở quanh chassis |
| Type 17 Code 36 | Quạt bị tháo hoặc không đủ tốc độ | Dẫn tới quá nhiệt | Đầu nối và tình trạng quạt |
| Type 17 Code 0–33 | Một chẩn đoán nội bộ không chạy xong | Với một số mã (như Code 19, 21, 26–33), RD001 dặn upload và lưu chương trình trước khi tắt nguồn bộ điều khiển | Upload/lưu chương trình, gửi Rockwell đúng Type và Code |
| Type 3 Code 0 | Thiếu end cap của Compact I/O | Lắp đặt Compact I/O chưa hoàn chỉnh | Lắp end cap |
| Type 3 Code 94 | RPI của module I/O bị chồng (lần cập nhật mới đè lần trước) | Rockwell khuyến cáo CompactLogix 5370 L2/L3 không chạy với lỗi này | Tăng giá trị RPI của module |
| Type 13 Code 21 | WallClockTime nằm ngoài phạm vi | Dấu thời gian của alarm, log sai | Đặt lại ngày giờ |
| Type 19 Code 1 | Thiết bị khác trên mạng trùng địa chỉ IP với bộ điều khiển | Có thể làm gián đoạn giao tiếp với HMI/SCADA | Tìm thiết bị trùng IP và đổi địa chỉ |
| Type 19 Code 4 | Phát hiện bão dữ liệu EtherNet/IP | Mạng quá tải | Kiểm tra lưu lượng trên cổng Ethernet, rồi xóa lỗi |
| Type 20 Code 2 | License trên CmCard đã hết hạn | RD001: license thiếu hoặc hết hạn lúc chuyển sang Run/Test là major fault Type 20 Code 1 | Thay CmCard có license còn hạn |
Giám sát minor fault bằng logic
1756-PM014O (tr. 23–25) đưa ra hai cách.
1. Đọc MinorFaultBits theo chu kỳ. Dùng GSV lấy thuộc tính MinorFaultBits của FaultLog object, rồi theo dõi:
| Bit | Nhóm lỗi |
|---|---|
| 6 | Task overlap |
| 7 | Nạp từ nonvolatile memory |
| 9 | Lỗi cổng serial |
| 10 | Pin yếu, ESM hoặc UPS cần thay hoặc bị thiếu (tùy bộ điều khiển) |
Ví dụ của Rockwell dùng một timer 60000 ms tự khởi động lại; mỗi phút, khi bit .DN bật một scan, lệnh GSV mới chạy — nhờ vậy phần lớn các scan không tốn thời gian cho GSV. Gợi ý thực tế: đưa bit 10 lên HMI/SCADA thành alarm bảo trì, để pin/ESM được thay trong lần dừng máy có kế hoạch thay vì sau lần mất điện.
2. Bắt lỗi của một lệnh cụ thể. Tạo UDT FaultRecord (TimeLow, TimeHigh, Type, Code, Info DINT[8]) và một tag kiểu đó. Trên rung cần kiểm: xóa S:MINOR trước để chắc lỗi không phải do lệnh trước đó, chạy lệnh (ví dụ của Rockwell là nhân một giá trị với 1000000), nếu S:MINOR bật thì GSV đọc MinorFaultRecord vào tag rồi reset S:MINOR. S:MINOR giữ trạng thái đến hết scan.
Kiểm tra cài đặt "Report Overflow Faults". PM014O ghi chú bộ điều khiển chỉ báo minor fault (ghi chú đặt cạnh ví dụ tràn số) khi bật "Report Overflow Faults" trong Controller Properties, tab "Advanced". Nếu đang săn lỗi tràn số mà tab "Minor Faults" trống, kiểm tra ô này trước khi kết luận không có lỗi.
Xóa minor fault
- Sửa nguyên nhân trước, xóa sau. Xóa bản ghi không thay được pin, không làm mát được tủ; lỗi sẽ quay lại.
- Trước khi thay pin, ESM hoặc thẻ nhớ: có sẵn bản backup chương trình mới nhất, làm theo user manual của đúng bộ điều khiển, và làm trong lần dừng máy có kế hoạch theo quy trình khóa nguồn/giấy phép làm việc của nhà máy.
- Type 7 Code 49 chỉ cần xóa sau khi đã hiểu vì sao chương trình được nạp lại từ thẻ.
- Nếu logic của bạn reset S:MINOR hay ghi đè bản ghi, đảm bảo vẫn còn nơi lưu lỗi (alarm HMI, log) để không mất dấu vết.
Khi nào cần thay phần cứng
- Type 10 Code 14/15: thay ESM. Type 10 Code 10/11: thay pin.
- Type 7 Code 39: thay bộ điều khiển — với bộ điều khiển đời cũ, đây là lúc tính luôn phương án nâng cấp: đánh giá vòng đời thiết bị.
- Type 17 Code 0–33 lặp lại: gửi Rockwell đúng Type và Code.
Ghi gì trước khi gọi hỗ trợ
- Danh sách minor fault đang có (Type, Code, nguyên dòng chữ) và lỗi nào cứ xóa lại quay lại.
- Giá trị MinorFaultBits nếu chương trình có đọc.
- Mã bộ điều khiển, firmware revision, phiên bản Logix Designer; loại pin/ESM/UPS đang dùng.
- Nhiệt độ trong tủ nếu có lỗi Type 17; sơ đồ mạng nếu có lỗi Type 19.
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
Minor fault có làm PLC Logix dừng không?
Không. Minor fault không làm dừng chạy logic: chương trình vẫn chạy tiếp, lỗi chỉ được ghi lại, ví dụ ở tab "Minor Faults" trong Controller Properties. Vì máy không dừng nên minor fault hay bị bỏ qua, trong khi có những mã báo trước một sự cố lớn.
Lỗi Type 10 Code 14, 15 trên Logix nghĩa là gì?
Type 10 Code 14 là ESM hỏng phần cứng, Code 15 là ESM không đủ năng lượng; ESM khi đó không giữ được chương trình và giờ khi tắt nguồn, và cách xử lý là thay ESM. Nếu bỏ qua, ở lần mất điện sau bộ điều khiển có thể lên lại với major fault Type 1 Code 40 và phải nạp lại chương trình.
Lỗi Type 4 Code 4 (tràn số) là gì?
Type 4 Code 4 là tràn số: kết quả phép tính vượt phạm vi, nên giá trị tính ra không còn đúng trong khi máy vẫn chạy. Kiểm tra thứ tự phép tính, kiểu dữ liệu đích và giá trị đầu vào; nếu tab "Minor Faults" trống, kiểm tra cài đặt "Report Overflow Faults" trong tab "Advanced" trước khi kết luận không có lỗi.
Làm sao giám sát minor fault bằng chương trình?
Dùng GSV đọc thuộc tính MinorFaultBits của FaultLog object theo chu kỳ (ví dụ của Rockwell là mỗi phút, bằng timer 60000 ms) và theo dõi các bit, trong đó bit 10 là pin yếu, ESM hoặc UPS cần thay hoặc bị thiếu. Để bắt lỗi của một lệnh cụ thể, xóa S:MINOR trước lệnh rồi đọc MinorFaultRecord nếu S:MINOR bật.
Type 7 Code 39 trên Logix có nghiêm trọng không?
Có: nonvolatile memory sắp hết tuổi thọ, và 1756-RD001 khuyến cáo thay bộ điều khiển sớm nhất có thể để tránh mất chương trình. Trong RD001 (09/2025) mã này nằm ở cột Type 7, Code 39 nhưng dòng hiển thị ghi "Minor Fault T17:C39", nên khi gặp hãy so cả hai cách ghi.
Nguồn
- Rockwell Automation, 1756-PM014O-EN-P, Logix 5000 Controllers Major, Minor, and I/O Faults Programming Manual, 09/2024 — chương 2 "Minor Faults", tr. 23–25; chương 1, tr. 9
- 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.