Configure Dual Ethernet Ports on Real-Time Controllers

Updated Nov 8, 2022

Reported In

Hardware

  • CompactRIO Controller

Software

  • Measurement & Automation Explorer (MAX)

Issue Details

  • I have a Real-Time controller with two Ethernet ports. How do I configure the two ports, and what can I do with these two Ethernet ports?
  • I have configured both Real-Time target's (PXIe and Ethernet cRIO) IPs on the same subnet in MAX, and I can connect individually to them through MAX. But when I try to use the second ethernet port on the PXIe to connect to the Ethernet cRIO, I get error -63040: A connection could not be established to the specified remote device.
  • I am trying to configure the second port on my Real-Time Target, but after reboot, the settings go back to default.

Solution

In order to use both Ethernet ports on a dual port controller, you must configure Ethernet Port 2 with a static IP address which resides in a different subnet than Ethernet port 1. For more information on subnets, see the Related Links section below.

Configure Port 1 (eth0)
Configure Ethernet port 1 in the same manner you would configure a single Ethernet port on a LabVIEW Real-Time controller. 

If Ethernet port 1 is already configured with an IP address (static or dynamic), skip ahead to Configure Port 2. 

Ethernet port 1 can be configured to use a DHCP server or with a static IP address. Follow the desired steps below.

Configure Port 1 for DHCP
  1. Connect the controller via Ethernet port 1 to the switch/hub with access to the DHCP server.
  2. Enable the IP Reset DIP switch on the controller.
  3. Reboot the controller by pressing RESET.
  4. Wait for the controller to reboot and disable the IP Reset DIP switch.
  5. Open Measurement & Automation Explorer (MAX).
  6. Locate the controller under Remote Systems in MAX and select it.
  7. Navigate to the Network Settings tab (located at the bottom of the main window in MAX).
  8. In the Ethernet Adapter eth0 (Primary) section select DHCP or Link Local in the Configure IPv4 Address field (see below).
  9. Click Save.
  10. Click Yes to reboot the controller.

Configure Port 1 with a static IP Address
  1. Connect the controller via Ethernet port 1 to the switch/hub with access to the DHCP server.
  2. Enable the IP Reset DIP switch on the controller.
  3. Reboot the controller by pressing RESET.
  4. Wait for the controller to reboot and disable the IP Reset DIP switch.
  5. Open Measurement & Automation Explorer (MAX).
  6. Locate the controller under Remote Systems in MAX and select it.
  7. Navigate to the Network Settings tab.
  8. In the Ethernet Adapter eth0 (Primary) section select Static in the Configure IPv4 Address field.
  9. Enter the desired IP address in the IPv4 Address field.
  10. Enter the desired subnet mask in the Subnet Mask field.
  11. Click Save.
  12. Click Yes to reboot the controller.

Configure Port 2 (eth1)
Ethernet port 2 must be configured with a static IP that does not reside in the same subnet of Ethernet port 1. 
  1. Connect the dual port controller via Ethernet port 1 to the network.
  2. Open Measurement & Automation Explorer (MAX).
  3. Locate the controller under Remote Systems in MAX and select it.
  4. Navigate to the Network Settings tab.
  5. In the Ethernet Adapter eth1 section select TCP/IP Network in the Configure IPv4 Address field.
  6. Enter the desired IP address in the IPv4 Address field.
  7. Enter the desired subnet mask in the Subnet Mask field.
  8. Click Save.
  9. Click Yes to reboot the controller.
Using both Ethernet Ports
Ethernet port 1 is used for communication between the dual port controller and host PC. Therefore, Ethernet port 1 is used for configuring the controller in MAX as well as deploying applications to the controller from LabVIEW.

Ethernet port 2, configured with a static IP on a different subnet than Ethernet port 1, can be used to communicate with a private network. One example of this setup would be communicating with an additional LabVIEW Real-Time target that is configured with a static IP address. The private network must use static IP addresses on the same subnet as Ethernet port 2.

Ethernet port 2 is currently not supported to communicate outside its own subnet. There is no capability of configuring the Default Gateway for Ethernet port 2 and therefore cannot connect to a large isolated intranet.  However, there appears to be a common misconception that this port can only be used for communication between NI products: this is not the case, though any communication through the secondary port must be within the same subnet.

Communication using Shared Variables is only supported on one Ethernet port because the Shared Variable Engine is bound to one port. Another form of communication such as TCP/IP must be used to transmit and receive data on the second port if the first port is using Shared Variables. For more information read Deploying Shared Variables to a Specific Network Card .

Refer to the Related Links section for more information, a tutorial, and an example program for getting started with dual Ethernet port controllers.

Additional Information

Alternatively, we can enable the second Ethernet port by changing a token in the netconf.ini file on your Real-Time target. You have to FTP onto the controller and you should find the file under /ni-rt/system/ethernet/netconf.ini. Once the file is located you'll have to set the mode from "disabled" to "TCPIP" in order to turn it on.
 
 
Note: If you choose TCPIP you'll also need to add a few tokens for the static IP, subnet mask, and operation mode. For example: 
Mode="TCPIP"
IP_Address="169.254.0.1"
Subnet_Mask="255.255.0.0"
OperationMode="interrupt"


 
If none of the mentioned approaches are able to help you configured static IP address successfully, kindly ensure in the BIOS setting, the Reset IP option is configured as OFF.