Quay lại blog

Lỗi bẫy tràn SLC 500 0020: Khắc phục chốt S:5/0

Chẩn đoán lỗi nghiêm trọng 0020H của SLC 500 trước khi xóa S:5/0. Tìm hiểu cách thức hoạt động của việc chuyển trạng thái cuối lần quét, xác định lệnh gây lỗi đầu tiên, thiết lập chính sách khôi ph...

Lỗi nghiêm trọng 0020H của SLC 500 thường được mô tả là lỗi tràn, nhưng mã này có phạm vi rộng hơn một lệnh ADD bị lỗi. Rockwell định nghĩa đây là tình trạng lỗi phụ vẫn còn được thiết lập khi bộ xử lý chạy đến END, TND hoặc REF và vì thế được nâng cấp thành lỗi nghiêm trọng. Nhiệm vụ chẩn đoán là xác định bit trạng thái nào đã gây ra việc nâng cấp, xác định thao tác nào đã thiết lập bit đó và quyết định liệu có thể khôi phục có kiểm soát một cách an toàn hay không.

Bộ xử lý Allen-Bradley SLC 500 được sử dụng để chẩn đoán lỗi nghiêm trọng 0020H

Lỗi 0020H nên dẫn đến việc điều tra tệp trạng thái, không phải kết luận ngay rằng phần cứng bộ xử lý đã hỏng.

Đọc tệp trạng thái trước khi xóa bất kỳ thứ gì

Ghi lại mã lỗi, số catalog của bộ xử lý, chế độ vận hành, thời điểm, trạng thái sản xuất và các giá trị của S:5 và S:6 trước khi đặt lại bộ điều khiển. S:5/0 là bẫy tràn số học. S:5/2 cho biết lỗi thanh ghi điều khiển từ các lệnh như FIFO, dịch bit hoặc thao tác bộ tuần tự. Các bit S:5 khác cũng có thể được nâng cấp ở cuối vòng quét. Xóa bộ xử lý trước khi ghi nhận các giá trị này sẽ làm mất bằng chứng và khiến lỗi tương tự dễ quay trở lại.

Tài liệu tham khảo Bộ lệnh Rockwell SLC 500 nêu rằng S:5/0 được thiết lập khi xảy ra tràn số học và lỗi nghiêm trọng 0020H được khai báo nếu bit này vẫn được thiết lập khi thực thi END, TND hoặc REF. Tài liệu khuyến nghị kiểm tra bit sau lệnh liên quan, thực hiện hành động thích hợp, rồi mới xóa S:5/0 bằng OTU hoặc xóa từ trạng thái tương ứng.

Hiểu kết quả phép toán cũng như bẫy lỗi

Đối với ADD, SUB, MUL, DIV hoặc NEG, kết quả không thể biểu diễn trong đích sẽ thiết lập bit tràn số học S:0/1 và bẫy S:5/0. Với trạng thái mặc định của S:2/14, kết quả dương bị giới hạn ở 32767 và kết quả âm ở -32768. Khi S:2/14 được thiết lập, 16 bit ít quan trọng nhất có thể được đặt vào đích. Thiết lập này thay đổi cách xử lý giá trị đích; nó không chứng minh rằng kết quả ứng dụng là hợp lệ.

DDV và một số lệnh chuyển đổi hoặc định tỷ lệ có các quy tắc bổ sung, vì vậy việc điều tra phải tuân theo tài liệu tham khảo chính xác của lệnh. Chia cho số 0, độ dài điều khiển không hợp lệ hoặc địa chỉ gián tiếp nằm ngoài phạm vi hợp pháp có thể tạo ra một đường trạng thái khác. Không nên xếp mọi sự kiện 0020H vào nhóm “tràn số nguyên” mà không kiểm tra S:5 và lệnh đã thực thi ngay trước khi bit được thiết lập.

Tìm thao tác đầu tiên gây lỗi

Rà soát các thay đổi gần đây và đối chiếu mọi lệnh có khả năng thiết lập bit trạng thái đã quan sát. Với lỗi tràn số học, hãy kiểm tra các phép tính định tỷ lệ, tổng sản lượng, chuyển đổi đơn vị, các giá trị thời gian chạy tích lũy, giới hạn có dấu và các đích trung gian. Một phép tính có thể hợp lệ về mặt toán học trong đơn vị kỹ thuật nhưng không an toàn khi một bước trung gian được lưu trong số nguyên 16 bit.

Theo dõi hoặc ghi nhận các toán hạng nguồn, giá trị đích, S:0/1 và S:5/0 xung quanh các lệnh đáng ngờ. Trong hệ thống thử nghiệm ngoại tuyến, hãy tái tạo các trường hợp biên ngay dưới, đúng tại và vượt quá phạm vi hợp pháp. Nếu nhiều lệnh có thể thiết lập bẫy trong cùng một vòng quét, hãy thêm các chốt chẩn đoán tạm thời để xác định vị trí đầu tiên. Các bit chẩn đoán này cần được rà soát, đặt tên và xóa hoặc chính thức duy trì sau khi xác định được nguyên nhân gốc.

Chỉ sử dụng logic khôi phục khi có chính sách rõ ràng

Việc đặt OTU S:5/0 cố định ở bậc thang cuối có thể ngăn việc nâng cấp ở cuối vòng quét, nhưng đồng thời cũng triệt tiêu lệnh dừng bất kể phép tính nào đã bị tràn. Điều này có thể chấp nhận được đối với một bộ đếm không quan trọng nếu giá trị được giới hạn và phát cảnh báo. Tuy nhiên, cách này không thể chấp nhận khi kết quả ảnh hưởng đến chuyển động, áp suất, nhiệt độ, định lượng, bảo vệ thiết bị hoặc quyết định liên quan đến an toàn.

Logic mạnh mẽ sẽ kiểm tra kết quả lệnh ngay tại nơi lệnh diễn ra. Xác thực các toán hạng trước khi thực thi, chọn đích có phạm vi đủ lớn, chỉ giới hạn giá trị khi phù hợp với ý nghĩa của quy trình, đặt cảnh báo chẩn đoán, thay thế bằng giá trị an toàn đã được lập tài liệu, rồi mới xóa bẫy. Nếu phản ứng đúng là dừng trình tự, hãy giữ nguyên lỗi thay vì buộc bộ xử lý tiếp tục.

Một chương trình xử lý lỗi người dùng có thể hỗ trợ khôi phục có kiểm soát đối với các sự kiện được chọn, và tài liệu của Rockwell có một ví dụ đếm số lần xuất hiện 0020H lặp lại rồi cuối cùng cho phép tắt hệ thống. Mẫu này cung cấp nhiều thông tin hơn việc xóa vô điều kiện vì nó phân biệt một sự kiện đơn lẻ đã được xử lý với một lỗi tái diễn. Bản thân chương trình xử lý lỗi phải được kiểm thử cẩn thận; lỗi thứ hai bên trong chương trình có thể ghi đè thông tin chẩn đoán hoặc ngăn quá trình khôi phục.

Phân biệt lỗi phần mềm với vấn đề phần cứng

Bẫy tràn thường chỉ ra vấn đề về dữ liệu chương trình và hành vi của lệnh, không phải khung máy bị hỏng. Tuy vậy, nguồn điện không ổn định, vấn đề bộ nhớ hoặc thay đổi chương trình ngoài dự kiến có thể làm thay đổi dữ liệu và cần được điều tra khi có bằng chứng phù hợp. Kiểm tra pin và lịch sử nguồn của bộ điều khiển, so sánh chương trình đang chạy với bản lưu trữ đã được phê duyệt, đồng thời kiểm tra xem HMI, thông báo hay hệ thống bên ngoài có ghi vào các toán hạng liên quan hay không.

Không nên thay bộ xử lý SLC như phản ứng đầu tiên đối với một giới hạn toán học có thể tái hiện. Một CPU thay thế chạy cùng chương trình với cùng dữ liệu sẽ tái tạo lỗi. Nếu nền tảng đã lỗi thời, hãy quản lý linh kiện dự phòng và việc chuyển đổi theo kế hoạch vòng đời các hệ thống PLC và PAC của cơ sở, nhưng cần tách quyết định đó khỏi việc phân tích nguyên nhân gốc trước mắt.

Chứng minh việc khắc phục

Kiểm thử logic đã sửa ở các giá trị thông thường, cả hai giới hạn phạm vi, đầu vào không hợp lệ, mất liên lạc, vòng quét đầu tiên và mọi điều kiện đặt lại. Xác nhận rằng cảnh báo xác định được phép tính bị ảnh hưởng, giá trị thay thế là an toàn và các sự kiện lặp lại được đếm. Theo dõi S:5/0 và S:0/1 trong một chu kỳ sản xuất đại diện, đồng thời xác minh rằng bộ xử lý không chỉ che giấu một lỗi tràn tái diễn.

Lưu trữ các tệp RSS trước và sau thay đổi, bằng chứng lỗi, kết quả kiểm thử và cơ sở lập luận cho mọi logic khôi phục. Đối chiếu hồ sơ đó với hướng dẫn chuyển đổi định tỷ lệ SLC của cơ sở khi hiện đại hóa ứng dụng. Lỗi 0020H trở nên dễ quản lý khi đội ngũ xem đây là một vấn đề chính xác về trạng thái và chất lượng dữ liệu, thay vì chỉ là một bit cần hủy chốt ngay lập tức.

Để lại bình luận

Xin lưu ý, bình luận cần được phê duyệt trước khi được đăng.