Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instrumentación Digital
Ing. ____________
Rev. Nov- 19
Instructor: Jesús M. Tarín Fontes
INSTRUMENTACION DIGITAL 1
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 2
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Capitulo 8
Introducción
Este capitulo introduce dos de los recursos de LabVIEW para realizar
aplicaciones basadas en tecnologías de Internet y desarrollar sistemas de
adquisición de datos de acceso remoto.
INSTRUMENTACION DIGITAL 3
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
8.1 INTRODUCCIÓN
El internet está presente cada vez más en todos los niveles de acción: ocio,
entretenimiento, trabajo, información, servicios y un largo etc.
Esto también afecta a científicos e ingenieros de forma directa ya que el
internet es un estándar mundial de bajo costo.
Con LabVIEW, la publicación y distribución de datos que genera nuestra
aplicación a través de internet, la podemos llevar a acabo de forma muy
sencilla y en algunos casos sin tener que llegar a programar, únicamente
bastará con realizar las configuraciones necesarias.
Las herramientas a tratar en este apartado para publicación, compartición y
distribución de datos a través de la red de área local o a través de internet van
a ser:
• TCP/IP
• UDP
• DataSocket
• WEB SERVER.
INSTRUMENTACION DIGITAL 4
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 5
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 6
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 7
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 8
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Para finalizar esta introducción las direcciones IP de 32 bits están siendo insuficientes.
Para solventar este problema y viendo el futuro que a internet le espera la nueva
versión de IP no va a ser de 64 bits, sino que ya será de 128 bits, una cantidad
impresionante de direcciones que podrá soportar el conectar a la red ya no solo PC’s,
sensores y objetos de este tipo, sino cualquier elemento que nos rodea en el día a día.
INSTRUMENTACION DIGITAL 9
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 10
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
8.2.1 Motivación
El protocolo TCP-IP está diseñado para trabajar con grandes redes, con redes
“mundiales” (WAN), pero no obstante podremos también utilizarlos para comunicar
dos equipos que se encuentren en una misma red local. Por tanto, podemos decir que el
protocolo TCP-IP nos permitirá comunicar equipos a través de la red de
comunicaciones siendo internet la red por excelencia. Cabe destacar que como muy
bien hemos dicho TCP-IP es un protocolo de comunicaciones que nos permitirá
comunicar “equipos” y no solo “PC”, es decir cualquier sistema que tenga una
interface TCP-IP será capaz de conectarse a la red, transmitir y/o recibir datos.
De esta forma podemos conectar cualquiera de nuestros instrumentos a través de un
interface TCP-IP a internet, y así poder manipular estos instrumentos desde cualquier
lugar del planeta.
Esto abre muchas puertas a los sistemas remotos ya que hasta ahora podíamos
controlar un instrumento remoto a pocos metros de distancia, pero ahora podemos
controlarlos y obtener información de ellos desde cualquier parte del planeta sin
necesidad de crear una infraestructura adicional, es decir sin preocuparnos de la línea
de transmisión de datos porque esta ya está implementada.
INSTRUMENTACION DIGITAL 11
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 12
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
8.2.3 Puerto
Es una interface entre dos elementos. En TCP-IP, utilizaremos los puertos como enlace
entre dos aplicaciones. Para explicar esto con mayor claridad pondremos un ejemplo.
Imaginemos que estamos trabajando con un Host que tiene por nombre PC1 y que
queremos enviar un archivo de datos a otro Host que tiene por nombre PC2, si en este
mismo instante tenemos otra aplicación en PC1 que también quiere enviar datos al
PC2, la forma que tiene el protocolo TCP-IP de saber a cual de las dos aplicaciones
tiene que enviar la trama de datos que la lleva a la PC2 es mediante el puerto. Así de
esta forma el número de puerto está enlazando la aplicación del PC1 con la del PC2.
INSTRUMENTACION DIGITAL 13
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
8.2.4 Dirección IP
La dirección IP es la dirección de nuestro equipo dentro del internet. Un simil sería la
dirección de nuestro domicilio, que gracias a ella nos puede llegar una carta desde
cualquier parte del mundo a nuestro buzón, sin ninguna confusión ya que no existen
dos iguales en todo el mundo. La dirección IP es lo mismo pero en internet, donde la
dirección IP identifica nuestro equipo (el buzón de nuestra casa) dentro de toda la red
(del mundo).
La dirección IP está formada por 32 bits agrupados en 4 bloques de un byte cada uno y
según las normas del protocolo IP la dirección IP se puede clasificar de cuatro formas
diferentes.
INSTRUMENTACION DIGITAL 14
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 15
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 16
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 17
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 18
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 19
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 20
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 21
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 22
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 23
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 24
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 25
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
8.4 DATASOCKET
Las librerías de DATASOCKET nos van ahorrar programación en el momento de
publicar y compartir los datos que genera nuestra aplicación en LV a través de la red.
Presentamos un ejemplo: supongamos un laboratorio universitario dotado con una
tarjeta de adquisición de datos ubicada en uno de los PC’s del aula. Mediante LV y
DataSocket podemos utilizar este PC como servidor de los datos que la DAQ toma
para que los demás PC’s del aula puedan importar dichos datos y realizar los cálculos
necesarios en cada una de sus aplicaciones.
Mediante DataSocket nos vamos a ahorrar todos los pasos que tenemos que realizar
cuando implementamos una comunicación basada directamente sobre TC/IP que eran:
INSTRUMENTACION DIGITAL 26
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 27
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Mediante DataSocket los pasos a seguir para establecer una comunicación serán:
• En el servidor, abrir una conexión DataSocket utilizando un nombre que identifica
los datos a transmitir.
• Escribir los datos en la conexión DataSocket cada vez que los datos se actualicen.
• En el cliente, únicamente es necesario conocer el nombre del PC (Dirección
TCP/IP) donde se publican los datos y realizar la lectura de los datos de interés.
INSTRUMENTACION DIGITAL 28
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Mediante las librerías DataSocket la programación a bajo nivel sobre TCP/IP ya está
resuelta. El manejo del protocolo lo realiza la aplicación DataSocket SERVER que es la
que se va a encargar de servir los datos que nosotros queramos publicar. La aplicación
DataSocket SERVER se instala en nuestra máquina cuando instalamos LV, y es
necesario ejecutarla siempre que vayamos a utilizar las librerías de DataSocket para
compartir datos.
Vamos a ver con mas detalles los elementos que intervienen en una comunicación de
este tipo. En la comunicación mediante DataSocket intervienen 3 actores:
• El que publica: Aplicación donde se generan los datos a compartir.
• El que suscribe: aplicación que importa los datos desde otra aplicación.
• DataSocket SERVER: aplicación que sirve los datos que son publicados para las
aplicaciones que quieren acceder a ellos.
• Por lo tanto el esquema podría ser el siguiente:
INSTRUMENTACION DIGITAL 29
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Publicación
Suscriptor
de datos Publicación de datos
de datos
INSTRUMENTACION DIGITAL 30
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Cada una de estas aplicaciones puede estar en máquinas diferentes como sería el caso
de la figura anterior (Fig. 8.8) y sobre plataformas diferentes.
Otra configuración podría ser que DataSocket SERVER estuviera instalado en una de
las máquinas que publica datos. La configuración en este caso sería de la siguiente
manera:
Publicación de datos
+
Suscriptor
DataSocket Server
de datos
Publicación
Suscriptor
de datos Publicación de datos
de datos
INSTRUMENTACION DIGITAL 31
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Todas ellas van a trabajar sobre el mismo protocolo: dstp (DataSoket transfer
protocol).
Vamos a ver los pasos a seguir para poder realizar una transmisión de datos mediante
DatSocket. Tenenos dos opciones para trabajar con DataSocket en función de la
aplicación de cada usuario.
Primera opción: Permite compartir los datos que se generan en una aplicación
únicamente configurando las propiedades de control o el indicador donde se visualizan
los datos a compartir.
INSTRUMENTACION DIGITAL 32
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 33
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 34
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 35
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 36
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
En nuestro ejemplo vamos a realizar la aplicación con los tres actores en un mismo PC:
el que publica, el que suscribe y DataSocket SERVER van a estar en la misma
máquina. Los campos del menú quedarán:
Connect To: “dstp://localhost/temperatura” donde dstp es el protocolo a utilizar,
localhost es el nombre de la máquina donde se encuentra DataSocket Server y
temperatura es el nombre que le damos a los datos que vamos a publicar. En el caso
que DataSocket SERVER estuviera en otra máquina. Sustituiríamos localhost por el
nombre de la máquina o su dirección TCP/IP.
Conecction Type: queremos publicar los datos de temperatura, “Publish”.
Una vez realizadas esta configuración aceptamos mediante el botón Attach.
INSTRUMENTACION DIGITAL 37
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
Llegados a este punto ya tenemos listo la aplicación que publica los datos. Fijémonos
que no hemos realizado ningún tipo de programación, únicamente hemos realizado las
configuraciones oportunas. Para ver estos datos desde otra aplicación accederemos a
las propiedades del indicador que va a visualizar los datos que publica la gráfica. En
nuestro caso visualizaremos los datos en un termómetro. Desplegamos su menú pop-up
y vamos a DataSocket Connection, dentro de Data Operations.
INSTRUMENTACION DIGITAL 38
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 39
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 40
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 41
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 42
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 43
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 44
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
DataSocket Read
DataSocket Write
Con estos 3 VI’s podremos publicar y suscribir todo tipo de datos igual que en el caso
anterior.
INSTRUMENTACION DIGITAL 45
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 46
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 47
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
INSTRUMENTACION DIGITAL 48
INSTITUTO NACIONAL DE MEXICO
INSTITUTO TECNOLOGICO DE HERMOSILLO
Ing. Electrónica Programación Gráfica para instrumentación y control
En la Fig. 8.20 vemos los diagramas de bloques de las dos aplicaciones. Para hacer el
ejemplo sencillo vamos a publicar el valor de temperatura a cada adquisición y no
únicamente cuando esta varíe sino de forma continuada. Para publicar solo será
necesario especificar la dirección URL donde vamos a publicar, en nuestro caso
‘dstp://localhost/temperatura’, donde temperatura es el nombre de los datos que
publicamos, y utilizar DataSocket Write.
En el caso de la aplicación 2 que suscribe los datos, especificaremos la dirección de los
datos a leer, que será la misma dirección donde fueron publicados
‘dstp://localhost/temperatura’ y especificar el tipo de datos a leer, en este caso una
constante numérica en coma flotante, utilizando DataSocket Read.
INSTRUMENTACION DIGITAL 49