Cách xử lí lỗi trên màn hiển thị phụ Hochiki FN-LCD-N

Theo Hochiki thì vì bất kỳ lý do nào đó mà các bộ vi xử lý trong bảng điều khiển bị lỗi dẫn đến hoạt động không chính xác thì vi xử lý sẽ cố gắng tự reset lại chương trình. Quá trình này được gọi là “watchdog”. Mỗi khi quá trình watchdog xảy ra sự kiện sẽ được ghi lại và trạng thái này chỉ được xóa khi nhấn vào switch watchdog reset trên tủ điều khiển. Để hiểu hơn điều này cũng như cách xử lý khi gặp lỗi trên trước tiên ta tìm hiểu watchdog là gì ?

Cách xử lí lỗi trên màn hiển thị phụ Hochiki FN-LCD-N

Watchdog Timer là gì?

Giả sử bạn viết một chương trình, bạn mong đợi chương trình này sẽ chạy nếu không có gì trục trặc xảy ra thì nó sẽ không bao giờ dừng lại, như vậy bạn phải làm một vòng lặp để khi chương trình chạy đến điểm cuối thì nó lại quay trở về điểm bắt đầu. Thế nhưng vi xử lý đang hoạt động thì thình lình bị kẹt vào nơi nào đó trong chương trình mà không thể thoát ra được thì sao. Reset lại hay vẫn để cho nó bị kẹt không thoát ra được?

 Lỗi màn hiển thị phụ Hochiki FN-LCD-N (Processor Watch Dog operated)

Đó là mục đích của watchdog. Bên trong vi điều khiển có một mạch RC, mạch này cung cấp 1 xung Clock độc lập với bất kỳ xung Clock nào cung cấp cho VĐK. Khi Watchdog Timer (viết tắt là WDT) được cho phép (enabled), nó sẽ đếm bắt đầu từ 00 và tăng lên 1 cho đến FFh, khi nó tăng từ FFh đến 00 ( FFh+1) thì vi điều khiển sẽ bị Reset bất kể đang làm gì.

Khi vi xử lý bị kẹt không thể thoát ra khỏi tình trạng hiện tại thì WDT vẫn tiếp tục đếm mà không bị bất kỳ điều gì ngăn cấm nó, vì vậy nó sẽ reset con vi xử lý làm cho chương trình phải khởi động lại từ đầu. Tất nhiên trong quá trình tính toán người ta chọn thời gian watchdog lâu hơn thời gian thực thi của cả đoạn chương trình.

Vậy rõ ràng trong trường hợp của này thì có thể hiểu nôm na như sau: Vì một lý do nào đó mà chương trình trong hiển thị phụ Hochiki của bạn bị đơ ở đâu đó khiến nó không thể chạy đến cuối chương trình và không thể reset bộ timer watchdog được. Vì thế thời gian thực thi của chương trình vượt quá thời gian của watchdog timer nên lúc này vi xử lý tự reset thực thi chương trình lại từ đầu.

Nguyên nhân gây ra lỗi watchdog :

Có nhiều nguyên nhân gây ra trường hợp vi xử lý bị treo

1. Lỗi do chương trình. Theo một số hãng sản xuất vi điều khiển người ta khuyến cáo để tránh tình trạng vi xử lý bị treo thì khi lập trình tránh việc đọc ghi bộ nhớ trong khoảng thời gian có sự kiện bấm phím hay ngay sau các sự kiện reset, đặt lại giá trị mặc định của thiết bị timer, thanh ghi, bộ đếm… trước khi sử dụng và tắt chúng sau khi dùng xong, không nên sử dụng quá nhiều vòng lặp lồng vào nhau… Trường hợp này chúng ta không thể can thiệp được vì chương trình của hãng Hochiki và hơn nữa người ta cũng đã tính toán và lập trình tối ưu nhất có thể rồi.

2. Lỗi do nhiễu từ bên ngoài: Ta biết rằng hiển thị phụ giao tiếp với tủ trung tâm thông qua đường truyền tín hiệu RS-485. Tín hiệu này bị ảnh hưởng bởi từ trường và các điện trường cảm ứng của hệ thống điện gần kề.

3. Lỗi cũng có thể do nguồn điện không ổn định, sụt áp và các hiện tượng quá độ điện áp của bộ nguồn gây ảnh hưởng tới tín hiệu.

4. Một số ảnh hưởng khác của môi trường xung quanh như tiếng ồn, độ rung, các ảnh hưởng từ điều kiện thời tiết như gió mưa, nhiệt độ …

Xử lý lỗi watchdog :

Đầu tiên ta xác định nguyên nhân gây ra tình trạng treo. Trên thực tế thì nguyên nhân chủ yếu rơi vào trường hợp 2, 3 và 4

• Giả sử rơi vào trường hợp thứ 2: đầu tiên kiểm tra xem đường truyền dữ liệu RS-485 của anh tốt chưa (sử dụng dây chống nhiễu hay không, các vị trí đấu nối tiếp xúc tốt không, có đi chung với máng điện động lực hay không, các đường dây tín hiệu đi có bị chạm đất không, tủ có đặt gần những thiết bị điện có điện áp cao hay không…)

Một số quy định khi nối mạng nhiều tủ với nhau do Hochiki đưa ra như sau:

– Dây nối mạng loại nhỏ nhất phải là #20AWG.

– Dây nối mạng là loại dây chuẩn Belden RS485 có bọc giáp chống nhiễu.

– Khoảng cách tối đa giữa 3 tủ liền kề không quá 4000ft và khoảng cách tối đa giữa 2 tủ không quá 1,2km.

– Nếu sử dụng dây bọc giáp chống nhiễu, lớp bọc giáp được nối vào hệ thống nối đất và chỉ được nối 1 đầu, đầu còn lại để trống.

Nếu nghi ngờ trường hợp thứ 3 thì hãy kiểm tra xem đường nguồn cho tủ có dùng để cấp sử dụng thêm cho thiết bị nào nữa không. Kiểm tra mức độ ổn định điện áp của nguồn cấp. Kiểm tra xem các ngỏ ra trên hiển thị phụ có được sử dụng để điều khiển thiết bị ngoại vi nào không, nếu có thì đấu qua rờ le kiếng trung gian không, khi đấu để điều khiển cuộn coil của rờ le ta nên gắn them diod vào cuộn dây rơ le để dập xung tránh dòng ngược từ rờ le đánh về tủ.

Chú ý

• Nếu nghi ngờ trường hợp thứ 4 thì kiểm tra xem xung quanh tủ nhiệt độ môi trường như thế nào. Bo mạch trong tủ nhiệt độ khoảng bao nhiêu, thử sờ vào IC xem nhiệt độ có nóng quá mức nhiệt độ làm việc của IC hay không. Khi cần anh nên lắp thêm quạt thông gió cho tủ.

• Nếu nghi ngờ trường hợp 1 thì ta cũng có thể giảm tải dữ liệu khi truyền giữa các tủ với nhau bằng cách vô hiệu hóa các sự kiện dữ liệu không cần thiết như pre-alarm, security, disable, auxiliary…

Sau khi xác định và xử lý lỗi ta phải nhấn nút watchdog reset phía sau tủ để tủ trở về trạng thái bình thường.

Cũng có một số trường hợp hệ thống có quá nhiều lỗi (bao gồm lỗi của thiết bị trên đường loops cũng như lỗi hệ thống) cũng xảy ra lỗi watchdog này. Trường hợp này ta phải khắc phục hết lỗi sau đó tiến hành reset hệ thống.

Nếu thử tất cả các phương pháp trên mà tủ vẫn tiếp tục lỗi thì các bạn liên hệ phòng kĩ thuật công ty Quốc Nam để được khắc phục sự cố.