El blog de Daniel Muñoz “No hay mayor riqueza que el conocimiento ni mayor pobreza que la ignorancia.” – Alí ibn Abi-Talib

30abr/094

LabVIEW – DataSocket

Índice y descarga de este y otros ejemplos de programación en LabVIEW.<- Descargar este VI

Para configurar el DataSocket Server hay que ir a:

Inicio->Programas->National Instruments->DataSocket->DataSocket Server Manager.

Una vez ahí hay pararse sobre (por ejemplo) Predefined Data Items, y presionar el botón New Item. La descripción no importa. Hay que llamarlo: waveform_str para que funcione con el VI de ejemplo. O ponerle otro nombre pero después especificar ese nombre en la URL de los instrumentos. Debe ser de tipo String.

Una vez terminada esa configuración hay que cerrar esa ventana y abrir:

Inicio->Programas->National Instruments->DataSocket->DataSocket Server.

Este servidor debe estar abierto todo el tiempo que querramos transmitir los datos, pues se transmiten a través de este servidor. El generador envía los datos a este servidor y el osciloscopio los lee de acá.

1.7.2a.vi

Generador de señales con DataSocket.

Se conecta al DataSocket Server y envía los datos a éste servidor como una string llamada waveform_str.

El programa inicia intentando conectarse con el DataSocket Server en modo write. Si no puede conectarse espera 100ms y vuelve a intentarlo. Esto lo hace hasta que se pueda conectar.

Una vez conectado, genera una señal y la envía al DataSocket Server. Espera 100ms y vuelve a hacer lo mismo.

Si hay algún error al enviar los datos al DataSocket Server o si se presiona el botón stop (SALIR), sale del bucle WHILE, cierra la conexión y termina el programa.

Nota: Debe haber un DataSocket Server funcionando además de este generador y del osciloscopio 1.7.2b para poder conectarse. Ver DataSocket Server para información de como configurarlo.

1.7.2a.vi

1.7.2a.vi

cbool OFF reset signal, if TRUE, resets the phase to the phase control value and the time stamp to zero. The default is FALSE.
cdbl OFFSET offset is the DC offset of the signal. The default is 0.0.
cdbl FRECUENCIA frequency is the frequency of the waveform in units of hertz. The default is 10.
cdbl AMPLITUD amplitude is the amplitude of the waveform. The amplitude is also the peak voltage. The default is 1.0.
cdbl FASE phase is the initial phase, in degrees, of the waveform. The default is 0. The VI ignores phase if reset signal is FALSE.
cdbl DUTY CICLE square wave duty cycle is the percentage of time a square wave remains high versus low over one period. The VI uses this parameter only if the signal type is a square wave. The default is 50.
cdbl Fs Fs is the sampling rate in samples per second. The default is 1000.
cdbl NRO. MUESTRAS #s is the number of samples in the waveform. The default is 1000.
cu16 SEÑAL Tipo de señal: Senoidal, Triangular, Cuadrada o Diente de Sierra.
cbool stop Salir del programa.
cstr URLDirección del servidor DataSocket y nombre de la variable.

1.7.2a.vi

NI_MABase.lvlib:Basic Function Generator.vi NI_MABase.lvlib:Basic Function Generator.vi

C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\measure\masignal.llb\Basic Function Generator.vi

1.7.2b.vi

Osciloscopio con DataSocket.

Se conecta al DataSocket Server y recibe los datos desde este servidor como una string llamada waveform_str.

El programa inicia intentando conectarse con el DataSocket Server en modo BufferedRead. Si no puede conectarse espera 100ms y vuelve a intentarlo. Esto lo hace hasta que se pueda conectar.

Una vez conectado, lee la señal desde el DataSocket Server y la muestra en el osciloscopio. Luego vuelve a repetir el mismo proceso hasta que haya algún error al recibir los datos del DataSocket Servero si se presiona el botón stop (SALIR). Si ocurre alguna de estas dos cosas sale del bucle WHILE, cierra la conexión y termina el programa.

Nota: Debe haber un DataSocket Server funcionando además de este osciloscopior y del generador 1.7.2a para poder conectarse. Ver DataSocket Server para información de como configurarlo.

1.7.2b.vi

1.7.2b.vi

cbool stop Termina el programa.
cdbl Ch1 VOLTS/DIV Canal 1.
cdbl Tiempo SEC/DIV de ambos canales (solo se usa el CH1).
cbool Ch1 CH1 ON.
cbool Ch2 CH 2 ON (no se usa).
cdbl Ch2 VOLTS/DIV Canal 2 (no se usa).
cstr URL URL del DataSocket Server y nombre de la variable.
i1dmsdt Waveform Graph Onda leída del DataSocket.

1.7.2b.vi

Osciloscopio.vi Osciloscopio.vi

C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\Osciloscopio.vi

Comentarios (4) Trackbacks (1)
  1. Q TAL MUY BUENO TU BLOG FELICIDADES….UNA PREGUNTA CON DATA SOCKET PUEDO PUBLICAR UNA GARIFICA Q LA OBTENGO DE TCP/IP EN LA WEB…??? Y SI ES ASÍ COMO LO HAGO???

  2. Tendrías que pasar la imágen a cadena de texto mediante un type cast. Y del otro lado recibirlo como cadena de texto y después pasarlo a imágen mediante la operación inversa (en el datasocket server vas a tener que configurar el dato como una cadena).
    Fijate en este ejemplo: http://www.danielmunoz.com.ar/blog/2009/04/30/labview-tcpip/

    Ahí te muestra como transformar un dato en cadena y después transformar la cadena en datos del otro lado.

    Fijate que podés descargar los ejemplos para analizarlos bien, depurarlos, etc.

  3. Hola, muy uena pagina!

    Una consulta, como se deberia hacer para poder encender un calefactor de
    una torre de destilacion de laboratorio por Datasocket con labview 2010? si puedes ayudarme porfavor, de ante mano gracias

  4. Hola, muy buenos ejemplos, pero tengo un problema lo que pasa es que estoy trabajando con linux y labview 8.6 y no encuentro como configurar el DataSocket Server podrias ayudarme?


Leave a comment

(required)