LabVIEW – TCP/IP.
1.7.1a.vi
Servidor TCP/IP.
Envía la onda generada a la IP y puerto especificados.
En primer lugar intenta, cada 100ms, establecer una comunicación a la IP y puerto especificados. Cuando se establece la conexión empieza a enviar los datos.
Para enviar la onda primero la transforma a formato cadena (que es lo que se puede enviar por TCP/IP). Luego envía, también en formato cadena, el tamaño de esa cadena. La cadena que contiene el tamaño es un cast de int a vector de chars. Son 4 bytes. A continuación envía la cadena con los datos.
Este proceso (de envío) se repite cada 100ms siempre y cuando no haya error en la comunicación ni se presione el botón STOP.
Al finalizar, cierra la conexión TCP/IP.


![]() |
OFF reset signal, if TRUE, resets the phase to the phase control value and the time stamp to zero. The default is FALSE. |
![]() |
OFFSET offset is the DC offset of the signal. The default is 0.0. |
![]() |
FRECUENCIA frequency is the frequency of the waveform in units of hertz. The default is 10. |
![]() |
AMPLITUD amplitude is the amplitude of the waveform. The amplitude is also the peak voltage. The default is 1.0. |
![]() |
FASE phase is the initial phase, in degrees, of the waveform. The default is 0. The VI ignores phase if reset signal is FALSE. |
![]() |
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. |
![]() |
Fs Fs is the sampling rate in samples per second. The default is 1000. |
![]() |
NRO. MUESTRAS #s is the number of samples in the waveform. The default is 1000. |
![]() |
SEÑAL |
![]() |
stop Se presiona este botón para salir. |
![]() |
Puerto Puerto remoto al que se enviarán los datos. |
![]() |
ip IP remota donde se enviarán los datos. |

![]() |
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.1b.vi
Cliente TCP/IP.
Escucha por conexiones entrantes TCP/IP en el puerto 2056.
Cuando se establece una conexión (supone que quien la estableció es el servidor 1.7.1a), lee primero los 4 bytes, que se supone contienen el tamaño de los datos que van a ser recibidos (porque así los envió 1.7.1a). Luego lee esa cantidad de bytes y transforma la cadena leída en un dato tipo waveform, que era el tipo de datos original en el servidor. El tipo de datos (la constante waveform) se crea afuera del bucle, para que no se tenga que estar creando una constante en cada repetición del bucle (para optimizar nomás). Una vez obtenida la forma de onda se la muestra en el osciloscopio.
Esto se repite hasta que:
1- Falle la lectura del tamaño de los datos.
2- Falle la lectura de los datos.
3- Falle la conversión de los datos a formato waveform.
4- Se presione el botón stop (SALIR).
Cuando ocurre alguna de las 4 cosas arriba mencionadas se cierra la conexión y termina el programa.


![]() |
stop SALIR: Presionando este botón se termina el programa. |
![]() |
Ch1 VOLTS/DIV de CH1. |
![]() |
Tiempo SEG/DIV de ambos canales. |
![]() |
Ch1 CH1 ON. |
![]() |
Ch2 CH2 ON. |
![]() |
Ch2 VOLTS/DIV de CH2. |
![]() |
Waveform Graph Gráfico de la forma de onda recibida. |

![]() |
Osciloscopio.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\Osciloscopio.vi |
![]() |
TCP Listen.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Utility\tcp.llb\TCP Listen.vi |
LabVIEW – Estructura FOR.
1- Dentro del bucle FOR simplemente se muestra, en el indicador Cuenta, el valor i+1. La variable i incrementa su valor en cada ciclo, empezando de cero y terminando en Contar hasta - 1. La estructuraFOR también contiene un retardo de 100ms para que el ojo pueda apreciar el incremento de la cuenta.
2- Dentro del bucle WHILE se espera a que se presione el botón Contar, para volver a contar hasta el valor indicado por el control Contar hasta, o hasta que se presione SALIR. En este último caso no se vuelve a repetir el bucle WHILE principal, terminando el programa. Las lecturas de los botones Contar y SALIR solo se realizan cuando ocurre un cambio en el panel frontal. Esto para que este bucle no esté leyendo innecesariamente, ocupando así el procesador.


![]() |
Contar hasta Establece hasta que valor se contará. |
![]() |
SALIR Presionando este botón se sale del programa. |
![]() |
Contar Hay que presionar este botón para volver a contar. |
![]() |
Cuenta Muestra el valor actual del contador. |











