Phần 3 – Cơ chế truyền thông CANopen: PDO, SDO, NMT, SYNC

Các bạn thân mến, qua phần 2, chúng ta đã cùng nhau tìm hiểu mô hình giao thức CANopen và Object Dictionary, câu hỏi quan trọng tiếp theo là: CANopen sử dụng những loại message nào để truyền dữ liệu, cấu hình thiết bị và điều khiển toàn mạng? Hôm nay, BKAII và các bạn sẽ tiếp tục đến với phần 3, chúng ta cùng đi sâu vào các cơ chế truyền thông cốt lõi của CANopen, bao gồm các message sau:
- PDO – truyền dữ liệu thời gian thực
- SDO – cấu hình và truy cập Object Dictionary
- NMT – quản lý trạng thái node
- SYNC – đồng bộ truyền thông
1. Tổng quan các loại message trong CANopen
CANopen định nghĩa nhiều loại message khác nhau, mỗi loại phục vụ một mục đích riêng trong hệ thống:
- Process Data Object (PDO)
- Service Data Object (SDO)
- Network Management (NMT)
- SYNC
- Heartbeat / Node Guarding
Sự phân tách rõ ràng này giúp CANopen vừa đáp ứng yêu cầu thời gian thực, vừa đảm bảo khả năng cấu hình và giám sát.
2. PDO – Process Data Object
PDO là cơ chế truyền dữ liệu thời gian thực trong CANopen, thường dùng để:
- Truyền trạng thái I/O
- Truyền tốc độ, vị trí, moment của servo
- Trao đổi dữ liệu điều khiển chu kỳ
2.1 Đặc điểm của PDO
- Không có xác nhận (unconfirmed)
- Độ trễ thấp
- Dữ liệu được ánh xạ trực tiếp từ Object Dictionary
PDO có thể được truyền theo các chế độ:
- Event-driven
- Time-driven
- SYNC-driven
2.2 PDO và Object Dictionary
PDO không truyền Index/Sub-index trực tiếp, mà chỉ truyền dữ liệu thô đã được mapping sẵn trong Object Dictionary.
👉 Điều này giúp PDO rất nhanh, nhưng yêu cầu cấu hình chính xác.
3. SDO – Service Data Object
SDO được dùng để truy cập Object Dictionary, phục vụ cho:
- Cấu hình thiết bị
- Đọc/ghi tham số
- Chuẩn đoán và commissioning
3.1 Đặc điểm của SDO
- Có xác nhận (confirmed communication)
- Tốc độ chậm hơn PDO
- Truyền kèm Index/Sub-index
SDO phù hợp cho cấu hình, nhưng không phù hợp cho điều khiển thời gian thực.
4. So sánh PDO và SDO
| Tiêu chí | PDO | SDO |
|---|---|---|
| Mục đích | Truyền dữ liệu thời gian thực | Cấu hình & truy cập OD |
| Index/Sub-index | Không truyền | Có truyền |
| Độ trễ | Thấp | Cao hơn |
| Xác nhận | Không | Có |
5. NMT – Network Management
NMT chịu trách nhiệm quản lý trạng thái của các node trong mạng CANopen.
Các trạng thái chính của node CANopen:
- Initialization
- Pre-operational
- Operational
- Stopped
Thông qua NMT, master có thể:
- Khởi động node
- Dừng node
- Reset node hoặc reset communication
6. SYNC – Đồng bộ truyền thông
SYNC là message dùng để đồng bộ hoạt động của toàn bộ mạng CANopen.
SYNC thường được dùng trong:
- Điều khiển chuyển động
- Hệ thống đa trục
- Ứng dụng yêu cầu thời gian thực cao
Khi nhận SYNC, các node CANopen sẽ:
- Gửi hoặc nhận PDO theo chu kỳ đồng bộ
- Đảm bảo dữ liệu nhất quán trong toàn hệ thống
7. Vai trò của các cơ chế truyền thông trong điều khiển thời gian thực
Sự kết hợp giữa:
- PDO – truyền dữ liệu nhanh
- SYNC – đồng bộ
- NMT – quản lý trạng thái
giúp CANopen đáp ứng tốt các bài toán:
- Motion control
- Servo đa trục
- Máy tự động yêu cầu chu kỳ ổn định
8. Tổng kết Phần 3
CANopen không chỉ là Object Dictionary, mà là một hệ thống truyền thông hoàn chỉnh với nhiều loại message chuyên biệt.
- PDO cho dữ liệu thời gian thực
- SDO cho cấu hình và commissioning
- NMT cho quản lý mạng
- SYNC cho đồng bộ toàn hệ thống