How to configure the Kinetix Data Logger AOI
Applies to: Kinetix 5700 (firmware 7.003+), Kinetix 5500 (2.002+), Kinetix 5300 (13.1+ / 13.10). Studio 5000 Logix Designer v28+.
Overview: Data Logging captures up to 40,000 real-time data points per channel (up to 4 channels) at rates as low as the drive's loop update time (125 µs). It's only accessible via MESSAGE instructions, so Rockwell provides a Data_Logging AOI plus an Excel-based Data Logging Tool to simplify setup and retrieval.
Files needed: Data_Logging_AOI.L5X (AOI definition), DataLogging_AOI_LogixV28_AppProgram.ACD (sample program), DataLoggingAcquireData - AOI.xlsm (Excel readout tool), Data Logging Documentation.pdf (full parameter reference).
1. Import the AOI
Controller Organizer > Add-On Instructions > right-click > Import Add-On Instruction > select Data_Logging_AOI.L5X > Import.
2. Add an Instance
Insert the Data_Logging instruction into your routine and create a tag for it (e.g., DataLoggingAOI). On dual-axis drives, set Cfg_Instance to 1 (single axis or left axis) or 3 (right axis) via a MOV before enabling.
3. Configure Input Parameters
| Input | Description |
|---|---|
| Inp_Data_Source_0-3 | Attribute ID to log on each channel (0 = unused) |
| Inp_Number_of_Samples | 1-40,000 samples per channel |
| Inp_Trigger_Source | Attribute ID used to trigger logging |
| Inp_Trigger_Type | 0 = Signal (only type supported) |
| Inp_Trigger_Level | Value of Trigger Source that fires the trigger |
| Inp_Trigger_Mode | 0 = Immediate, 1 = Pos Edge, 2 = Neg Edge, 3 = >= Level, 4 = <= Level |
| Inp_Trigger_Bit | Not supported on K5500; leave 0 |
| Inp_Sample_Period_us | Multiple of drive loop time (e.g., 125, 250, 375 µs) |
| Inp_PreStore_Samples_Perc | 0-100%, samples stored before the trigger |
Total duration = Sample Period × Number of Samples.
4. Message Instructions (auto-configured)
Create each Msg_ tag as MESSAGE type when prompted; the AOI fills in the CIP settings automatically:
- Msg_Arm_Data_Logging_Service: arms logging (Service 3A, Class 42, Instance 1, Attribute 0)
- Msg_Check_Data_Log_Status: reads status (Attribute 3AC → DINT)
- Msg_Check_Data_Log_Time_Stamp: reads trigger timestamp (Attribute 3AD → LINT)
- Msg_Check_Data_Log_Trigger_Index: reads trigger index (Attribute 3AE → DINT)
- Msg_Get_Data_Log: copies logged data per channel (Service 4B)
5. Enable the AOI
Latch an "Arm Data Logging" bit to enable the instruction; reset it once Sts_DN or Sts_ER goes true. Keep the AOI enabled the whole time logging is in progress.
6. Monitor Status
- Sts_IP: waiting, buffering, or collecting
- Sts_DN: logging complete
- Sts_ER: message fault (clears on re-enable)
- Cfg_Data_Log_Status: 0 = Inactive, 1 = Buffering, 2 = Buffered and Armed, 3 = Triggered and Collecting, 4 = Collected
- Sts_Percent_Complete: 0-100% per channel during transfer
7. Retrieve and Plot the Data
Data lands in Out_DataLog_Values0-3 (REAL[40000] arrays).
- In RSLinx: DDE/OPC > Topic Configuration > New > point at the controller > Apply
- In the Data Logging Tool, enter TopicID, Program Name (if program-scoped), AOI Tag Name, and Data Source 0-3 Tag Names
- Click Read Data once logging finishes; it plots automatically
Transfer Time Reference
(125 µs sample period, Immediate trigger, 10% pre-store)
| Sources | Samples | Log Time | Drive to Controller | Controller to PC |
|---|---|---|---|---|
| 1 | 1,000 | 0.125s | 2.1s | 4.0s |
| 1 | 40,000 | 5.0s | 72.0s | 16.8s |
| 2 | 1,000 | 0.125s | 3.8s | 4.9s |
| 2 | 40,000 | 5.0s | 138.9s | 26.6s |
Full table in the attached PDF.
DataLoggingAcquireData - AOI - R05.xlsm
DataLogging_AOI_LogixV28__AppProgram_R07.ACD
Common Attribute IDs
| ID | Parameter | Units |
|---|---|---|
| 365 | Position Fine Command | counts |
| 366 | Velocity Fine Command | revs/sec |
| 434 | Position Feedback | counts |
| 453 | Velocity Reference | revs/sec |
| 454 | Velocity Feedback | revs/sec |
| 620 | DC Bus Voltage | Volts |