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.
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.
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.
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"