Trong quá trình vận hành các hệ thống tự động hóa, servo driver có thể gặp phải nhiều loại lỗi khác nhau do các nguyên nhân như quá tải, quá nhiệt, lỗi truyền thông, hoặc lỗi giới hạn. Khi một lỗi xảy ra, trục servo thường sẽ dừng hoạt động và báo trạng thái lỗi (Alarm). Để khôi phục hoạt động bình thường, việc xóa lỗi (reset) là một bước cần thiết. Lệnh A_RST được thiết kế đặc biệt cho mục đích này.
Lệnh A_RST là gì? Lệnh xóa lỗi cho Servo Driver
A_RST (Axis Reset) là một lệnh quan trọng trong lập trình PLC, cho phép bạn xóa trạng thái lỗi (Alarm) trên một trục servo cụ thể. Sau khi lỗi được xóa thành công, trục servo có thể được kích hoạt lại và tiếp tục hoạt động theo các lệnh điều khiển khác.
Lệnh A_RST thường được kích hoạt bằng xung sườn (rising edge), nghĩa là nó chỉ thực thi khi tín hiệu điều khiển chuyển từ trạng thái OFF sang ON.
Cú pháp lệnh A_RST và giải thích tham số chi tiết
Cú pháp:
A_RST S0 S1 S2
Giải thích các toán hạng (tham số):
| Toán hạng | Tên | Kiểu dữ liệu | Ghi chú |
| S0 | ErrCode | INT16U |
Mã lỗi: Thanh ghi 16-bit không dấu dùng để báo cáo mã lỗi nếu quá trình xóa lỗi gặp sự cố. Việc kiểm tra giá trị của S0 giúp bạn chẩn đoán nguyên nhân lỗi một cách nhanh chóng. Nếu lệnh A_RST không thành công, mã lỗi tại đây sẽ cho biết lý do. |
| S1 | Done | Bool |
Hoàn thành: Bit này sẽ chuyển sang ON (logic 1) khi lệnh A_RST đã được thực thi thành công và lỗi trên trục đã được xóa. Bạn có thể sử dụng bit này làm cờ báo hoàn thành trong chương trình PLC, sau đó tiếp tục kích hoạt lệnh Servo ON (A_PWR) nếu cần. |
| S1+1 | Busy | Bool |
Đang thực thi: Bit này sẽ ON trong suốt quá trình lệnh A_RST đang được thực thi (hệ thống đang cố gắng xóa lỗi). Nó sẽ OFF khi quá trình kết thúc (dù thành công hay lỗi). |
| S1+2 | Error | Bool |
Bị lỗi: Bit này sẽ ON nếu quá trình xóa lỗi kết thúc nhưng gặp lỗi (ví dụ: không thể xóa lỗi, lỗi nghiêm trọng hơn). Khi bit này ON, bạn cần kiểm tra S0 (ErrCode) để biết mã lỗi cụ thể và tìm hiểu nguyên nhân gốc rễ. |
| S2 | Axis | INT16U |
ID trục được tác động: Đây là số ID của trục servo mà bạn muốn xóa lỗi (ví dụ: Trục 0, Trục 1, v.v.). Điều này cho phép bạn xử lý lỗi cho từng trục riêng biệt trong hệ thống đa trục. Nếu bạn muốn xóa lỗi cho nhiều trục, bạn cần gọi lệnh A_RST cho từng trục hoặc sử dụng cơ chế vòng lặp trong PLC. |
Ví dụ thực tế: Xóa lỗi cho trục 0 và trục 1
Để xóa lỗi cho trục 0 và trục 1, bạn cần kích hoạt lệnh A_RST cho từng trục riêng biệt. Ví dụ, bạn có thể sử dụng một nút nhấn hoặc một điều kiện báo lỗi để kích hoạt.
// Xóa lỗi cho Trục 0
// Khi M10 ON, lệnh A_RST sẽ cố gắng xóa lỗi cho trục 0
+-------+ +---------------------+
| | | A_RST |
| M10 +-------+ D100 M200 K0 |
| (Input)| | (ErrCode, Done/Busy/Error, Axis 0) |
+-------+ +---------------------+
// Xóa lỗi cho Trục 1
// Khi M11 ON, lệnh A_RST sẽ cố gắng xóa lỗi cho trục 1
+-------+ +---------------------+
| | | A_RST |
| M11 +-------+ D102 M203 K1 |
| (Input)| | (ErrCode, Done/Busy/Error, Axis 1) |
+-------+ +---------------------+
Trong đó:
M10,M11: Các bit đầu vào kích hoạt lệnh A_RST cho trục 0 và trục 1 tương ứng.D100,D102: Thanh ghi để lưu mã lỗi (ErrCode) cho trục 0 và trục 1.M200,M203: Các bit trạng thái cho quá trình thực thi lệnh (Done/Busy/Error) của trục 0 và trục 1.K0,K1: Chỉ định trục 0 và trục 1.
Mô tả quá trình:
- Giả sử trục 0 đang bị lỗi (báo Alarm).
- Khi M10 chuyển trạng thái từ OFF sang ON, lệnh A_RST cho trục 0 được kích hoạt. Bit
M200+1(Busy) sẽ ON. - Hệ thống sẽ gửi lệnh xóa lỗi đến driver servo của trục 0 qua mạng EtherCAT.
- Nếu lỗi có thể xóa được và driver chấp nhận lệnh, trục 0 sẽ thoát khỏi trạng thái lỗi.
- Khi quá trình xóa lỗi thành công, bit
M200(Done) sẽ ON, vàM200+1(Busy) sẽ OFF. Nếu có lỗi,M200+2(Error) sẽ ON vàD100sẽ chứa mã lỗi. - Tương tự với trục 1 khi
M11được kích hoạt.

Code mẫu sử dụng lệnh A_RST : Download
Tầm quan trọng của A_RST trong hệ thống EtherCAT
- Khôi phục hoạt động: A_RST là lệnh đầu tiên cần sử dụng để đưa một trục servo đang bị lỗi trở lại trạng thái hoạt động bình thường, cho phép tiếp tục quy trình sản xuất.
- Chẩn đoán lỗi: Bằng cách kiểm tra
ErrCode(S0) khi lệnh A_RST báo lỗi, kỹ sư có thể nhanh chóng xác định nguyên nhân gốc rễ của sự cố và có biện pháp khắc phục phù hợp. - An toàn và hiệu quả: Cho phép tích hợp cơ chế xóa lỗi vào hệ thống điều khiển tự động, giảm thiểu thời gian dừng máy (downtime) do lỗi tạm thời và tăng tính an toàn khi xử lý sự cố.
- Tương thích EtherCAT: Lệnh A_RST tận dụng tốc độ và độ tin cậy của mạng EtherCAT để giao tiếp nhanh chóng với driver servo, đảm bảo lệnh xóa lỗi được gửi đi và phản hồi tức thì.
Khi nào và cách sử dụng A_RST hiệu quả?
- Chỉ xóa lỗi khi đã xác định nguyên nhân: Không nên lạm dụng lệnh A_RST một cách mù quáng. Trước khi xóa lỗi, hãy cố gắng hiểu tại sao lỗi lại xảy ra. Xóa lỗi mà không giải quyết nguyên nhân gốc rễ có thể khiến lỗi lặp lại ngay lập tức hoặc gây hỏng hóc thiết bị.
- Kết hợp với hiển thị lỗi: Trong giao diện HMI, bạn nên hiển thị mã lỗi và mô tả lỗi để người vận hành hoặc kỹ sư bảo trì có thể nắm bắt thông tin và xử lý đúng cách.
- Sau A_RST cần A_PWR: Sau khi xóa lỗi bằng A_RST, trục servo thường sẽ ở trạng thái không kích hoạt (Servo OFF). Bạn cần sử dụng lệnh A_PWR (Axis Power) để kích hoạt lại driver servo và cấp mô-men xoắn cho trục trước khi có thể thực hiện các lệnh chuyển động khác.
- Xử lý lỗi theo mức độ ưu tiên: Đối với các lỗi nghiêm trọng (ví dụ: quá dòng, quá nhiệt), có thể cần tắt nguồn hệ thống hoàn toàn và kiểm tra phần cứng trước khi cố gắng xóa lỗi bằng A_RST.
Khắc phục sự cố khi A_RST gặp lỗi
Nếu lệnh A_RST không xóa được lỗi hoặc bit S1+2 (Error) ON, hãy kiểm tra các điểm sau:
- Kiểm tra S0 (ErrCode): Mã lỗi tại S0 (của lệnh A_RST) sẽ cho biết lý do tại sao lệnh xóa lỗi không thành công. Đây là thông tin quan trọng nhất.
- Lỗi không thể xóa bằng phần mềm: Một số lỗi nghiêm trọng (ví dụ: lỗi phần cứng bên trong driver, hỏng hóc cơ khí nặng) không thể xóa chỉ bằng lệnh phần mềm A_RST. Chúng yêu cầu kiểm tra vật lý, sửa chữa hoặc thay thế thiết bị.
- Nguyên nhân lỗi chưa được khắc phục: Nếu nguyên nhân gốc rễ của lỗi (ví dụ: kẹt cơ khí, quá tải liên tục) vẫn còn tồn tại, trục sẽ báo lỗi lại ngay lập tức sau khi A_RST được kích hoạt. Hãy đảm bảo đã loại bỏ nguyên nhân gây lỗi.
- Kiểm tra đấu nối EtherCAT: Đảm bảo kết nối mạng EtherCAT giữa PLC và driver servo ổn định, không có lỗi truyền thông đang ảnh hưởng đến việc giao tiếp.
- Tình trạng nguồn cấp: Đảm bảo driver servo được cấp nguồn đúng và ổn định.
Kết luận
Lệnh A_RST là một công cụ thiết yếu để quản lý lỗi và khôi phục hoạt động của trục servo trong hệ thống EtherCAT. Việc hiểu rõ cách thức hoạt động và các điều kiện liên quan đến việc xóa lỗi sẽ giúp bạn xây dựng hệ thống tự động hóa mạnh mẽ, đáng tin cậy và dễ bảo trì, giảm thiểu thời gian dừng máy và tối ưu hóa năng suất.
Bạn cần hỗ trợ chuyên sâu về lệnh A_RST hoặc các vấn đề PLC/Servo EtherCAT khác?
Hãy liên hệ ngay với đội ngũ kỹ thuật của chúng tôi để được tư vấn và hỗ trợ nhanh chóng:
- Hotline miền Bắc: 0961.320.333
- Hotline miền Nam: 0931.866.800
- Fanpage hỗ trợ: facebook.com/Congtytudonghoatoancau
- Website: tudonghoatoacau.com

Zalo Miền Bắc