Real-Time Measurement and Control

Showing results for 
Search instead for 
Did you mean: 

How does NI MAX discover RT targets on a different subnet?


I know that for full functionality, my host PC and the cRIO need to be on the same subnet. Nonetheless, NI MAX is capable of detecting cRIOs that are on a different subnet as my host.


I'm curious: What mechanism does NI MAX us to find the the cRIO in this case?

Certified LabVIEW Developer

0 Kudos
Message 1 of 5

Hello JKSH,


Try this:

1- Right-click on Remote Systems, select "create new"

2- Select "Remote Device (not on the local subnet)"

3- Follow the prompted instructions. 


Let us know if these instructions helped you!

0 Kudos
Message 2 of 5

In short, communication between the host and the cRIO has to be reliable and stable, so it's done via TCP/IP, a transport-layer network protocol that provides reliable, ordered, and error-checked delivery of data between two parties. This is also called one-to-one or unicast addressing.


Discovering devices without prior knowledge of their number or addresses requires sending a one-to-many message out into the network. This is called multicast (many receivers) or broadcast (all receivers) addressing. TCP/IP clearly doesn't support this communication scheme. The most common transport layer protocol to use multicast addressing is UDP.


There's a PDF giving a little insight into the mechanisms that MAX uses to discover devices:$CXIV/ATTACH-AEEE-9Y9P55/$FILE/Network%20Ports%20Used%20for%20Devic...


Google any of the protocols and mechanisms, there's an abundance of information to be found.

Joerg Hampel, CLA & LabVIEW Champion | |
0 Kudos
Message 3 of 5

Just stumbled upon a very nice explanation of "how packets get around":

Joerg Hampel, CLA & LabVIEW Champion | |
0 Kudos
Message 4 of 5

@JKSHI'm curious: What mechanism does NI MAX us to find the the cRIO in this case?

To more directly answer your question: it doesn't.


MAX is not capable of spontaneously discovering controllers on other subnets, because as others have pointed out, discovery is fundamentally a link-local process — it doesn't cross network gateways. It can only connect to remote targets if you give its IP, or its hostname if it's registered in DNS.


FWIW, this has a couple of esoteric implications for target formatting and reimaging. If you reformat a controller on the local network, and its IP address changes, MAX is able to identify the new IP address based on its link-local broadcast announcements. But if a remote target's address changes — i.e., it's addressed by IP and its IP changes, or it's addressed by hostname and its hostname is  changed or is removed from DNS — then you're out of luck.


0 Kudos
Message 5 of 5