Troubleshooting ATV320 Modbus TCP With Zero ETA Status

Claire Rousseau3 min read
ModbusSchneider ElectricTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

An ATV320 can be reachable from Unity while the simulated PLC still returns zero through READ_VAR and fails to transmit command 6 through WRITE_VAR. Treat DTM access and PLC runtime messaging as separate communication paths; successful online drive control does not prove that the simulator executes Modbus TCP exchanges.

Identify the communication boundary

The reported system uses Unity V11.1, a simulated controller, and a physical ATV320 over Modbus TCP. Unity can connect to the drive through its DTM and operate the motor from the control panel, but the PLC application always reads 0 for the ETA status word.

Observed path Result What it proves
Unity/DTM to ATV320 Online access and motor operation succeed The engineering station can reach the drive at its configured IP address.
Simulated PLC using READ_VAR ETA remains 0 No valid runtime status value is reaching the application.
Simulated PLC using WRITE_VAR Command 6 has no effect No working runtime command exchange has been demonstrated.

Do not use DTM access as an I/O test

The DTM connection originates from Unity and can use the configured Ethernet route independently of the simulated PLC program. It therefore confirms IP reachability from the engineering environment, but it does not confirm that the simulator supports the drive I/O scanner or executes READ_VAR/WRITE_VAR requests.

The project also contains a VW3A3616 communication card and, in the original configuration, a NOC module that is not simulated. Keep these possible paths distinct from the ATV320 I/O scanner and the simulated CPU's native Ethernet port when interpreting an online connection.

Interpret the zero ETA word

The drive displays nSt and is expected to receive command 6. The expected ETA values are reported as 16#0250 or 16#02D0, yet the application sees only 0. This combination points first to a missing PLC runtime exchange, not proof that the drive returned a valid zero status.

The evidence does not establish whether the configured word addresses, request parameters, or I/O-scanner mapping are correct. Those items remain unverified until the same application exchanges data through a communication path known to be executed by the controller runtime.

Isolate the failure

  1. Keep the existing DTM connection only as confirmation that Unity can reach the ATV320; do not count it as proof of PLC messaging.
  2. Observe whether the READ_VAR and WRITE_VAR operations complete or report a communication failure in the simulated application. A permanently zero destination alone cannot distinguish an unread value from a valid response.
  3. Test the same requests with a physical controller and its intended Ethernet interface. If ETA changes from 0 to the drive status and command 6 is transmitted, the simulator communication boundary is the cause.
  4. If the physical controller also fails, recheck the selected communication path, ATV320 DTM declaration, IP addresses, variable addresses, and the separation between the drive I/O scanner, VW3A3616 card, and NOC interface.

Verification requires both directions: a nonzero ETA value consistent with the drive state and an observable response when command 6 is sent. Do not troubleshoot the drive state sequence further until these read and write exchanges are confirmed.

FAQ

Why does ATV320 ETA stay at 0 in Unity simulation?

The DTM may reach the physical drive while the simulated PLC does not execute the application's Modbus TCP exchange. Confirm whether READ_VAR completes, then repeat the test with a physical controller.

Does online ATV320 DTM access prove READ_VAR is working?

No. It proves that Unity can reach the ATV320 at its configured IP address, but it does not prove that the simulated PLC runtime is sending or receiving READ_VAR/WRITE_VAR messages.

What should I verify before sending command 6 to an ATV320?

First verify that ETA no longer remains 0 and that the read operation completes through the intended controller interface. Then send 6 and confirm an observable drive-state response rather than relying only on the written application value.

Back to blog