Use when working with EtherCAT communication for HIWIN E1 drives: (1) PDO/SDO concepts and mapping configuration, (2) CiA-402 profile objects and state machine, (3) CSP vs CSV mode selection and implementation, (4) DC synchronization (Distributed Clocks) vs Free Run, (5) ESI file import and device scanning in TwinCAT.
Version: APR-2026.01 | TwinCAT: 3.1 Build 4024.65
PDO/SDO mapping and CiA-402 protocol reference for HIWIN E1 drives.
This skill covers EtherCAT communication architecture for the APR dual-axis linear motor system, including process data exchange (PDO), service data access (SDO), and the CiA-402 drive profile standard.
┌─────────────────────────────────────────────────────────────────┐
│ Communication Layers │
├─────────────────────────────────────────────────────────────────┤
│ ┌──────────────┐ │
│ │ TwinCAT │ │
│ │ PLC/NC │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ Cyclic (Real-time) │
│ │ PDO │◄──────────────────────► Process Data │
│ │ (Fast I/O) │ Every cycle (1ms) │
│ └──────────────┘ │
│ │
│ ┌──────────────┐ Acyclic (Mailbox) │
│ │ SDO │◄──────────────────────► Parameter Access │
│ │ (Parameters) │ On-demand │
│ └──────────────┘ │
│ │
│ ┌──────────────┐ │
│ │ CiA-402 │ Profile Standard │
│ │ Profile │ Motion Control Objects │
│ └──────────────┘ │
└─────────────────────────────────────────────────────────────────┘
| Feature | PDO | SDO |
|---|---|---|
| Full Name | Process Data Object | Service Data Object |
| Purpose | Real-time control/feedback | Parameter configuration |
| Timing | Every EtherCAT cycle | On-demand (async) |
| Speed | Fast (μs level) | Slow (ms level) |
| Use Case | Position, velocity, status | Setup, diagnostics |
PDO is the "real-time data packet" exchanged every EtherCAT cycle (e.g., 1ms)
SDO is like a "settings/parameter" service channel
For APR system (4.2m travel, 9.7 m/s max, ≥1m constant velocity zone):
CSP (Cyclic Synchronous Position) is recommended because:
| Mode | Code (0x6060) | Command Object | Use Case |
|---|---|---|---|
| CSP | 8 | 0x607A Target Position | Position trajectory |
| CSV | 9 | 0x60FF Target Velocity | Speed control |
| Object | Name | Type | Purpose |
|---|---|---|---|
| 0x6040 | Controlword | UINT16 | State machine control |
| 0x6060 | Modes of Operation | INT8 | Set CSP (=8) |
| 0x607A | Target Position | INT32 | Position command (inc) |
| 0x60B2 | Torque Offset | INT16 | Optional: feed-forward |
| Object | Name | Type | Purpose |
|---|---|---|---|
| 0x6041 | Statusword | UINT16 | State feedback |
| 0x6064 | Position Actual Value | INT32 | Position feedback (inc) |
| 0x606C | Velocity Actual Value | INT32 | Velocity feedback |
| 0x6061 | Modes of Op Display | INT8 | Confirm CSP active |
| Object | Name | Direction | Purpose |
|---|---|---|---|
| 0x603F | Error Code | Tx | First-look fault diagnosis |
| 0x60FD | Digital Inputs | Tx | Limit/Home switch status |
| 0x6077 | Torque Actual Value | Tx | Load/friction monitoring |
| Object | Name | Direction | Purpose |
|---|---|---|---|
| 0x607F | Max Profile Velocity | Tx | Verify speed limit |
| 0x60F4 | Following Error Actual | Tx | Real-time error |
| Mode | Description | Use Case |
|---|---|---|
| Free Run | Async, PDO interval ≥250μs | Simple applications |
| DC Sync0 | Synchronized clocks | Multi-axis (recommended) |
For dual-axis LMSA13L: Use DC Sync0 for precise synchronization.
PDO position values are in increments (inc), not mm.
inc_per_mm = delta_inc / 100| Object | Unit | Notes |
|---|---|---|
| 0x607A | inc | Target position |
| 0x6064 | inc | Actual position |
| 0x60FF | inc/s | Target velocity |
| 0x607F | inc/s | Max velocity limit |
| 0x6083 | inc/s² | Acceleration |
In EtherCAT (CoE = CANopen over EtherCAT), each slave has a built-in "data dictionary":
| Field | Description |
|---|---|
| Index (16-bit) | Main category, e.g., 0x6040 |
| SubIndex (8-bit) | Sub-item, e.g., 0x6040:01 |
| Name | Parameter name, e.g., Controlword |
| Access | Permission: R=Read, W=Write |
| Type | Data type (UINT, DINT...) |
HIWIN_MIKROSYSTEM_ED1F_20250107.xml to:
C:\TwinCAT\3.1\Config\Io\EtherCAT\references/pdo-sdo-cia402.md - Comprehensive explanation of PDO, SDO, CiA402 relationshipsreferences/dc-synchronization.md - Free Run vs DC synchronization conceptsreferences/can-canopen.md - CAN bus and CANopen differencesreferences/nq-ec8l-esi.md - Keyence NQ-EC8L ESI configuration referencereferences/nq-ec8l-xml-analysis.md - Complete XML analysis of NQ-EC8L ESI