Khi trụ sạc không thể bắt đầu phiên sạc, mất kết nối hoặc báo một lỗi khó hiểu, luồng thông điệp OCPP giữa trụ sạc và CSMS thường chứa thông tin giúp xác định nguyên nhân. Tài liệu này giải thích những thông điệp OCPP thường gặp nhất khi chẩn đoán sự cố thực tế, nhưng không thay thế cho đặc tả đầy đủ của giao thức.
Kết nối & vòng đời hoạt động
| Thông điệp | Chiều truyền | Ý nghĩa |
|---|---|---|
| BootNotification | Trụ sạc → CSMS | Trụ sạc vừa khởi động hoặc kết nối lại và gửi thông tin nhận diện tới CSMS, kèm theo model và phiên bản firmware. BootNotification xuất hiện liên tục mà không có quá trình khởi động lại có chủ đích thường có nghĩa là trụ sạc đang khởi động lại ngoài ý muốn. |
| Heartbeat | Trụ sạc → CSMS | Tín hiệu định kỳ xác nhận trụ sạc vẫn đang kết nối và hoạt động. Heartbeat ngừng được gửi mà không có sự kiện mất kết nối tương ứng thường là dấu hiệu đầu tiên của sự cố ở tầng mạng, chứ không phải lỗi phần cứng của trụ sạc. |
| StatusNotification | Trụ sạc → CSMS | Báo cáo trạng thái hiện tại của một cổng sạc - Available, Preparing, Charging, Faulted, v.v. - và khi ở trạng thái Faulted, kèm theo mã lỗi. Đây thường là một trong những thông điệp đầu tiên nên kiểm tra khi một trụ sạc báo sự cố. |
Phiên sạc
| Thông điệp | Chiều truyền | Ý nghĩa |
|---|---|---|
| Authorize | Trụ sạc → CSMS | Trụ sạc đang kiểm tra xem một phương thức định danh được cung cấp (thẻ RFID, phiên sạc khởi tạo từ ứng dụng) có được phép sạc hay không. Yêu cầu Authorize bị từ chối, chứ không phải lỗi phần cứng, là một trong những nguyên nhân phổ biến khiến phiên sạc không thể bắt đầu. |
| StartTransaction / TransactionEvent | Trụ sạc → CSMS | OCPP 1.6 dùng StartTransaction; 2.0.1 gộp vào TransactionEvent. Ghi nhận thời điểm phiên sạc chính thức bắt đầu sau khi xác thực thành công. |
| MeterValues | Trụ sạc → CSMS | Dữ liệu công tơ (năng lượng, công suất) được gửi định kỳ trong suốt phiên sạc. MeterValues bị thiếu hoặc không đổi trong khi phiên sạc vẫn hiển thị đang hoạt động thường cho thấy vấn đề ở hệ thống đo đếm, chứ không phải sự cố kết nối. |
| StopTransaction / TransactionEvent (Ended) | Trụ sạc → CSMS | Đánh dấu thời điểm phiên sạc kết thúc và báo cáo chỉ số công tơ cuối cùng dùng để tính tiền. Nếu thông điệp này không được gửi khi phiên sạc kết thúc, tài khoản người dùng có thể hiển thị một phiên sạc vẫn ở trạng thái đang mở và chưa thể hoàn tất tính phí. |
Vận hành từ xa
| Thông điệp | Chiều truyền | Ý nghĩa |
|---|---|---|
| RemoteStartTransaction / RequestStartTransaction | CSMS → Trụ sạc | CSMS gửi lệnh yêu cầu trụ sạc bắt đầu phiên sạc - dùng khi phiên sạc được khởi tạo từ ứng dụng. Nếu lệnh này được gửi nhưng không có StartTransaction theo sau, trụ sạc đã nhận yêu cầu nhưng phiên sạc chưa thực sự bắt đầu. |
| UnlockConnector | CSMS → Trụ sạc | Yêu cầu từ xa để mở khoá cổng sạc, thường dùng để xử lý trường hợp cáp sạc bị khoá và người dùng không thể rút ra. |
| Reset | CSMS → Trụ sạc | Khởi động lại trụ sạc từ xa bằng soft reset hoặc hard reset, thường là biện pháp khắc phục từ xa đầu tiên trước khi phải cử kỹ thuật viên đến hiện trường xử lý trụ sạc bị kẹt ở một trạng thái bất thường. |
| ChangeConfiguration / SetVariables | CSMS → Trụ sạc | OCPP 1.6 dùng ChangeConfiguration; 2.0.1 dùng SetVariables. Cập nhật cấu hình cục bộ của trụ sạc từ xa - giúp xác nhận cấu hình thực tế trên trụ sạc có khớp với cấu hình trên CSMS hay không. |
Chẩn đoán & firmware
| Thông điệp | Chiều truyền | Ý nghĩa |
|---|---|---|
| FirmwareStatusNotification | Trụ sạc → CSMS | Báo cáo tiến trình cập nhật firmware từ xa - Downloading, Installing, Installed, hoặc trạng thái lỗi. Quá trình cập nhật firmware bị gián đoạn là nguyên nhân phổ biến khiến một trụ sạc không phản hồi sau khi được cập nhật. |
| GetDiagnostics / tải lên nhật ký chẩn đoán | CSMS → Trụ sạc | Yêu cầu trụ sạc tải lên nhật ký cục bộ, phục vụ phân tích chuyên sâu hơn khi dữ liệu thời gian thực chưa đủ - bước tiếp theo khi việc chẩn đoán ở cấp thông điệp không giải thích được sự cố. |
| DataTransfer | Cả hai chiều | Thông điệp mở rộng riêng của từng nhà sản xuất, cho các chức năng nằm ngoài đặc tả chuẩn. Việc xuất hiện nhiều thông điệp DataTransfer bất thường thường có nghĩa là nhà sản xuất đang sử dụng phần mở rộng riêng ngoài các chức năng OCPP tiêu chuẩn. |
Để hiểu rõ hơn về khác biệt giữa các phiên bản giao thức - bao gồm cách tên thông điệp thay đổi từ 1.6 sang 2.0.1 - xem OCPP 1.6 So Với OCPP 2.0.1. Một CSMS phục vụ vận hành thực tế nên đưa các thông tin chẩn đoán quan trọng lên ngay bảng điều khiển, để đội vận hành có thể xác định sự cố mà không phải đọc trực tiếp log OCPP thô - xem cách CarChargeOS xử lý phát hiện lỗi và cảnh báo trên trang nền tảng.
Câu hỏi thường gặp
OCPP 1.6 và 2.0.1 có dùng chung tên thông điệp không?
Không hoàn toàn. 2.0.1 gộp nhiều thông điệp của 1.6 (như StartTransaction và StopTransaction) thành một thông điệp TransactionEvent thống nhất, và đổi tên một số thông điệp từ CSMS đến trụ sạc (ví dụ ChangeConfiguration trở thành SetVariables). Các chức năng cốt lõi vẫn tương tự, nhưng cách tổ chức thông điệp đã thay đổi đáng kể.
Thông điệp nào nên kiểm tra đầu tiên khi trụ sạc có vẻ bị kẹt?
StatusNotification thường là thông điệp nên kiểm tra đầu tiên - nó báo cáo trạng thái hiện tại của cổng sạc và, nếu có lỗi, kèm theo mã lỗi thường cung cấp manh mối rõ ràng về nguyên nhân trước khi bạn cần xem xét bất kỳ dữ liệu nào khác.
Vì sao một phiên sạc hiển thị đang hoạt động nhưng không có MeterValues gửi về?
Tình huống này thường cho thấy vấn đề ở hệ thống đo đếm của chính trụ sạc, chứ không phải sự cố mạng hay phần mềm - kết nối OCPP và trạng thái phiên sạc vẫn có thể bình thường, nhưng trụ sạc không báo cáo được năng lượng đã cấp.