Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

Integrating EtherCAT and Modbus TCP

I am designing a distributed control system based on a CompactRIO controller (cRIO-9038), with a number of NI 9144 / NI 9145 EtherCAT expansion chassis daisy-chained in for deterministic remote I/O.  The distributed I/O includes digital, analog and Modbus inputs.  Modbus RTU signals can be read with the NI 9871 serial module, but this system also must incorporate Modbus TCP signals, and unless I am mistaken, there is no way to read these into the EtherCAT RIO chassis, and I must instead build a separate Ethernet TCP/IP bus in addition to the EtherCAT bus to each remote location, and read and process all of the Modbus TCP signals with the master cRIO-9038.


My questions:


1) Do I understand correctly?

2) Is there any way to un-encapsulate the Modbus TCP message to get it into a format that could be read by a C series module on the NI 9145 so I don't need to run Ethernet TCP/IP as well as the EtherCAT lines?

3) Is there any device I could use that would read Modbus TCP messages but present itself as an EtherCAT slave that I could daisy-chain through?

4) I understand that in some instances, cabling fault tolerance can be built into an EtherCAT network by wiring the last port of the last chained device back into a second EtherCAT port on the master device.  Given that the cRIO-9038 only has two configurable Ethernet ports, I presume that I could not simultaneously do this and have the system connected to an Ethernet network somehow?


Thanks in advance.



NI Alliance Partner
0 Kudos
Message 1 of 2



In case you weren't aware, we also have a Industrial Communications Forum that would be perfect for this type of question. Since it looks straightforward, I'll address it here.


1. Yes.

2. Since you can't program RT on the 9144/9145, you are limited in ease of working with network comms. You might be able to figure out something where you read the IP bits in using a digital module, parse them on the FPGA, and send the Modbus payload out. I anticipate this would be a decent amount of work.

3. Not that I'm aware of in the NI channel. A 3rd party might make a 'modbus TCP to EtherCAT' smart device / converter.

4. Correct. Currently, you can setup a ring topology on a PXI controller, but not cRIO. Come to think of it, you should also be able to set up a ring topology using on of the newer ICs with > 2 ports.


I'm sure you're thinking about the relevant question: "how much do I want to access Modbus TCP via an EtherCAT slave instead of using the cRIO EtherCAT master"



Andrew T.
"His job is to shed light, and not to master" - Robert Hunter
0 Kudos
Message 2 of 2