LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

connection syntax for network streams target behind router

okay, working with an admin program (host) on a Win7 machine, and a cRIO (target). Communicating between the two using network streems (for commands) and shared variables for live data. On my local network this all works great, with local IPs like 192.168.1.X - but these are my local IPs. Once the cRIO is deployed to a remote location (behind some other router) how do we address this? I am thinking that the router/hub has an IP and the host and target machines are under that. Can someone explain the syntax for configuring the network streem read/write endpoints (and is this the same for the network shared variables?). 

[I know streem is mispelled, but the post gets blocked if I spell it correctly???]

Thanx

lmd2

 

 

Lawrence M. David Jr.
Certified LabVIEW Architect
cell: 516.819.9711
http://www.aleconsultants.com
larry@aleconsultants.com
0 Kudos
Message 1 of 4
(2,215 Views)

Getting around routers is not trivial.  In fact, it's next to impossible if you don't have administrative access to the router, or know someone who does.

 

Assuming it's a common off the shelf router like what you would use in conjunction with a broadband connection, you will either need to set up a DMZ for the cRIO IP address, or create pin holes for each port you want to use, if the cRIO is on the inside network (behind the router firewall).

 

The main difference is that the DMZ is quicker to set up, since you don't need to specify every port individually, but at the same time, it is potentially more unsecure, because every port is available.

 

It is also important that the cRIO's network configuration include the gateway address, since it will otherwise not know how to get outside of its local area network.

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
Message 2 of 4
(2,198 Views)

Thanks John, this is scratching the surface only but it is  just what I need to get into. Assume that the cRIO is going to be somewhere really remote (possibly satalite access) and we can get the network people to set it up any way we like. Now the other end could be one of 2 or possibly three different Windoze machines. I will need at each end a read end point and a write endpoint to allow command and recognition/response - two streams, one in each direction. So if the cRIO end is a done deal with either DMZ or pinholes, whats the deal with the Windoze side? same thing? could you recomend any literature about this that would make sense to a LabVIEW guy?

Thanks for at least pointing me somewhere,

lmd2

Lawrence M. David Jr.
Certified LabVIEW Architect
cell: 516.819.9711
http://www.aleconsultants.com
larry@aleconsultants.com
0 Kudos
Message 3 of 4
(2,192 Views)

So the cRIO can be said to be in the wild.

 

1.  It could be on someone else's network (behind a firewall).

2.  If could be directly connected to the internet (this is not as common as it used to be), or could be the DMZ device, menaing it is fully exposed to the internet.

3.  It and the PCs could be on the same network.

4.  It and the other PCs could be on any number of networks.

 

The easiest way to handle all of these scenarios is to centralize the exchange of data on a server, behind a firewall, and let all of the devices communicate with each other by connecting to this central point.  The service would be both a consumer and a producer.  The cRIO would be a Producer to the service.  The PCs would be consumers from the service.

 

Don't use Shared Variables, the performance hit on cRIO and the difficulties you will encounter are now worth it.  Instead, try using Simple TCP Manager.  You can search for it on NI's web site.  There are samples included.

 

You will need to set up a pin hole through your firewall, and you will need either a static IP address there, or you can install a dynamic dns client on the PC, and use a service like DYNDNS.com.  This will allow you to look up the IP address by domain name.  A fixed IP address would be best.

 

 

Machine Vision, Robotics, Embedded Systems, Surveillance

www.movimed.com - Custom Imaging Solutions
0 Kudos
Message 4 of 4
(2,167 Views)