<img height="1" width="1" src="https://www.facebook.com/tr?id=1101141206686180&amp;ev=PageView &amp;noscript=1">

Redes empresariales en LabVIEW 1

LabVIEW es un lenguaje orientado en torno a la comunicación de datos de un punto a otro, si el origen es un sistema de adquisición de datos, la entrada del usuario o el destino es un archivo de registro o un gráfico de forma de onda. A veces puede encontrar que aunque el destino y el origen son simples, el medio puede requerir diferentes tecnologías de comunicación. Cuando el sistema de adquisición de datos es geográficamente dispar del cliente que lee los datos para generar informes, a menudo la forma más fácil de transferir información es mediante el uso de una red informática o Internet. Este blog tratará los aspectos básicos de la comunicación mediante el protocolo TCP.

TCP(Protocolo de Control de Transmisión) y UDP(Protocolo de Datagramas de Usuario) son dos protocolos de comunicación estándar de la industria que se utilizan y soportan en todos los lenguajes de programación modernos. TCP es generalmente un protocolo de comunicación uno a uno que tiene incorporada la comprobación de errores. TCP y UDP son protocolosenrutables que pueden atravesar Internet.

El direccionamiento o la identificación del punto final se realiza mediante un protocolo específico (por ejemplo, TCP), una dirección IP y un número de puerto. Una dirección IP identificará una conexión de red específica y un puerto identificará un punto final/aplicación específico que recibe cualquier información. Una dirección IP puede ser privada (no enrutable) o pública (enrutable), mientras que un puerto puede ser conocido, registrado o dinámico/privado/efímero.

  • Conocidos: Los puertos del 0 al 1023, también conocidos como puertos de sistema, suelen requerir privilegios de administrador/superusuario para su uso.
  • Registrado: El puerto está registrado en la IANA(Internet Assigned Numbers Authority) para una aplicación específica.
  • Dinámico/Privado/Efímero: puertos que no pueden ser registrados con la IANA (49152 - 65535)

wiki_2.svg

Actualmente LabVIEW sólo soporta IPv4

wiki_1.png

La dirección IP de difusión para una red se puede utilizar para la comunicación 1:N, pero generalmente está desactivada o mal vista en la producción. Otros métodos como la multidifusión UDP son más aptos para ese caso de uso.

Las funciones de bajo nivel de LabVIEW para TCP/UDP usan el tipo de datos string para leer y escribir datos. Otros tipos de datos pueden ser convertidos en un string consistente usando las funciones unflatten/flatten para JSON, XML, String y Variant.

A continuación se muestran dos VIs incluidos en LabVIEW como ejemplos que demuestran una comunicación TCP/IP muy básica entre dos puntos finales situados en la misma máquina. El ejemplo se encuentra en <labview>\examples\Data Communication\Protocols\TCP\Simple TCP\Simple TCP.lvproj

simple_tcp_server.png

El servidor escuchará y esperará una conexión en la dirección IP local (127.0.0.1) y un puerto determinado (6340). Una vez establecida la conexión, enviará 50 puntos de datos al cliente cada 100ms.

simple_tcp_client.png

El cliente intentará conectarse a un servidor en la dirección ip local un puerto dado (6340), una vez establecida la conexión, convertirá la cadena en un array de dobles numéricos.

Tenga en cuenta que los dos ejemplos anteriores son increíblemente simples y carecen de la robustez que debe estar presente en una aplicación con todas las funciones de manejo de cosas tales como: reconexión automática, tipos de datos más complejos y heartbeats.In la próxima instalación de esta serie de blogs, vamos a abordar la creación de redes empresariales con énfasis en N: N y 1: N comunicación utilizando UDP multicast.