<- 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.


 |
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 Tipo de señal: Senoidal, Triangular, Cuadrada o Diente de Sierra. |
 |
stop Salir del programa. |
 |
URLDirección del servidor DataSocket y nombre de la variable. |

 |
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.


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

 |
Osciloscopio.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\Osciloscopio.vi |
<- Descargar este VI
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 |
<- Descargar este VI
1.5.1.vi
Envía o Recibe un archivo por puerto serie.
La acción predeterminada es Recibir. Cuando se está en modo recepción, se comprueba cada 500ms a ver si hay datos en el puerto. Como la transmisión se hace con el protocolo DTR/DSR, cuando se llena el buffer de entrada, la PC transmisora espera para seguir enviando. El cable debe ser FULL DUPLEX.
Cuando se cambia el modo a Enviar se abre un cuadro de diálogo pidiendo el archivo a enviar y lo envía.
El transmisor también envía el hash MD5 para que el receptor verifique que la transferencia fue correcta.


 |
stop |
 |
Puerto VISA resource name specifies the resource to be opened. This control also specifies the session and class. |
 |
Acción Acción: Enviar o Recibir el archivo. |
 |
Baudios Velocidad de transmisión. Ambos programas, emisor y receptor, deben tener configurada la misma velocidad de transimisión. |



 |
Merge Errors.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Utility\error.llb\Merge Errors.vi |
 |
File Dialog
File Dialog |
 |
RecibirArchivoPuerto.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\RecibirArchivoPuerto.vi |
 |
EnviarArchivoPuerto.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\EnviarArchivoPuerto.vi |
EnviarArchivoPuerto.vi
Envía un archivo por puerto serie.
Abre el archivo en modo binario y extrae su contenido. Si hay error al leer el archivo, termina el programa. Sino, extrae el nombre y MD5 del archivo y lo une con el contenido en un cluster.
En primer lugar se envía el tamaño del cluster recién armado y luego el cluster.
Se cierra la conexión y termina el programa.

 |
Archivo a enviar Ruta del archivo a enviar. |
 |
Puerto (COM1) VISA resource name specifies the resource to be opened. This control also specifies the session and class. |
 |
Baudios (57600) Velocidad de transferencia. Debe ser la misma que en la otra PC. |
 |
error in error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
code code is the error or warning code.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
source source describes the origin of the error or warning.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
error out error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
code code is the error or warning code.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
source source describes the origin of the error or warning.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |



 |
MD5Checksum File.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Utility\MD5Checksum.llb\MD5Checksum File.vi |
i.png) |
VISA Configure Serial Port (Instr).vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Instr\_visa.llb\VISA Configure Serial Port (Instr).vi |
 |
VISA Configure Serial Port
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Instr\_visa.llb\VISA Configure Serial Port |
RecibirArchivoPuerto.vi
Recibe un archivo por puerto serie.
Se abre la conexión y se comprueba si hay bytes esperando para ser leídos en el puerto (estarían almacenados en el caché).
Si no hay bytes esperando, se cierra la conexión y termina.
Si hay bytes esperando, se leen 4 bytes, que representa un int y que contiene el tamaño del cluster, en bytes, que se espera recibir. Luego se lee esa cantidad de bytes desde el puerto y se arma el cluster. Se pide al usuario un nombre de archivo, sugiriendole el mismo nombre que tenía en la otra PC. Se crea el archivo con el nombre sugerido, se guardan en él los datos y se cierra el archivo. Se comprueba si el hash MD5 del archivo recién creado es el mismo que el recibido de la otra PC. Sino, se envía un mensaje de error.
Se podrían hacer otras comprobaciones, como por ejemplo si el usuario canceló la operación presionando cancelar cuando se le pidió un nombre para el archivo. Pero si ocurre esto, simplemente habrá un error al crear el archivo con un nombre no válido en el siguiente paso y se propagará por los siguientes SubVIs. Y simplemente se terminará con un error.

 |
Puerto (COM1) VISA resource name specifies the resource to be opened. This control also specifies the session and class. |
 |
Baudios (57600) Velocidad de transferencia. Debe ser la misma que en la otra PC. |
 |
error in error in describes error conditions that occur before this VI or function runs. |
 |
status status is TRUE (X) if an error occurred before this VI or function ran or FALSE (checkmark) to indicate a warning or that no error occurred before this VI or function ran. The default is FALSE. |
 |
code code is the error or warning code. The default is 0. |
 |
source source specifies the origin of the error or warning and is, in most cases, the name of the VI or function that produced the error or warning. The default is an empty string. |
 |
error out error in can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
status status is TRUE (X) if an error occurred or FALSE (checkmark) to indicate a warning or that no error occurred.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
code code is the error or warning code.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |
 |
source source describes the origin of the error or warning.
Right-click the error in control on the front panel and select Explain Error or Explain Warning from the shortcut menu for more information about the error. |





 |
VISA Configure Serial Port
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Instr\_visa.llb\VISA Configure Serial Port |
i.png) |
VISA Configure Serial Port (Instr).vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Instr\_visa.llb\VISA Configure Serial Port (Instr).vi |
 |
Merge Errors.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Utility\error.llb\Merge Errors.vi |
 |
MD5Checksum File.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\Utility\MD5Checksum.llb\MD5Checksum File.vi |
 |
File Dialog
File Dialog |
<- Descargar este VI
1.4.2.vi
Visualiza en un osciloscopio virtual los sonidos adquiridos mediante la placa de sonido.
Se configura el formato de sonido al principio y por única vez. Luego, en el bucle WHILE, se lee una muestra de sonido y se muestra en el osciloscopio.
Cuando se presiona el botón STOP se sale del bucle WHILE, borrando por única vez la configuración de la placa que se estableció al principio y saliendo del programa.
El sonido se toma en stereo, utilizando ambos canales del osciloscopio para mostrarlo.


 |
stop Se presiona para salir del programa. |
 |
Ch1 Voltios por división del canal 1. |
 |
Tiempo Segundos por división de ambos canales. |
 |
Ch1 Canal 1 encendido. |
 |
Ch2 Canal 2 encendido. |
 |
Ch2 Voltios por división del canal 2. |
 |
sample mode sample mode specifies whether the VI acquires samples just once (Finite Samples) or continuously (Continuous Samples). |
 |
number of samples/ch number of samples/ch specifies the number of samples per channel in the buffer. |
 |
device ID device ID is the input or output device you access for a sound operation. In general, most users should select the default value of 0. |
 |
sound format sound format sets the acquisition rate, the number of channels, and the bits per sample of the sound operation. The values for each of these controls is dependent on your sound card. |
 |
sample rate (S/s) sample rate (S/s) sets the sampling rate for the sound operation. Common rates are 44,100 S/s, 22,050 S/s, and 11,025 S/s. The default is 22050 S/s. |
 |
number of channels number of channels specifies the number of channels. This input can accept as many channels as the sound card supports. For most sound cards 1 is Mono and 2 is Stereo. |
 |
bits per sample bits per sample specifies the quality of each sample in bits. Common resolutions are 16 bits and 8 bits. The default is 16 bits. |
 |
Waveform Graph |

 |
Sound Input Read.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Input Read.vi |
i.png) |
Sound Input Read (DBL).vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Input Read (DBL).vi |
 |
Sound Data Format.ctl
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Data Format.ctl |
 |
Sampling Mode.ctl
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sampling Mode.ctl |
 |
Sound Input Clear.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Input Clear.vi |
 |
Osciloscopio.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\Osciloscopio.vi |
 |
Sound Input Configure.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Input Configure.vi |
<- Descargar este VI
1.4.1.vi
Genera una señal y la reproduce en la placa de sonido.
En primer lugar y por única vez, se configura la placa. Luego, dentro del bucle WHILE, se configura el volumen del sonido y luego se envía la onda a la placa. De esta forma el sonido se repite y da la impresión de que fuer contínuo. Ya fuera del bucle WHILE, y por única vez, se cancela la configuración de la placa y el programa termina.
Si el generador está apagado (presionando el botón OFF) se aguarda a que haya algún evento en el panel frontal para leer el valor del botón OFF, y si este está apagado, seguir reproduciendo el sonido.


 |
OFF Suspende el envío de sonido a la placa. |
 |
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 Tipo de la señal: Senoidal, Triangular, Cuadrada y Diente de Sierra. |
 |
stop Sale del bucle principal para luego terminar el programa. |



 |
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 |
 |
Sound Output Write.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Write.vi |
i.png) |
Sound Output Write (DBL Single).vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Write (DBL Single).vi |
 |
Sound Output Set Volume.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Set Volume.vi |
i.png) |
Sound Output Set Volume (Single).vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Set Volume (Single).vi |
 |
Sound Data Format.ctl
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Data Format.ctl |
 |
Sound Output Clear.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Clear.vi |
 |
Sound Output Configure.vi
C:\Archivos de programa\National Instruments\LabVIEW 8.6\vi.lib\sound2\lvsound2.llb\Sound Output Configure.vi |
<- Descargar este VI
1.3.2.vi
Genera dos ondas con dos SubVIs generadores de señales (desarrollados en 1.3.1) y las muestra utilizando el SubVI que simula un osciloscopio creado para este punto (1.3.2).
Dentro del bucle WHILE se aguarda a que se genere un cambio en el panel frontal antes de generar la siguiente forma de onda.



 |
Osciloscopio.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\Osciloscopio.vi |
 |
1.3.1.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\1.3.1.vi |
Osciloscopio.vi
Simula un osciloscopio.
Los acondicionadores de Amplitud y de Tiempo están diseñados de la siguiente manera: Suponiendo que el Waveform Graph (de salida) debe tener 10x10 divisiones en la pantalla, y debe tener escala fija en los siguientes rangos:
- Eje X: [0 10]
- Eje Y: [-5 5]

 |
V/Div CH1 Voltios por División para el canal 1. |
 |
Seg/DivS egundos por división para ambos canales. |
 |
V/Div CH2 Voltios por División para el canal 1. |
 |
CH1 On Activa el canal 1. |
 |
CH2 On Activa el canal 2. |
 |
Onda Canal 1 Entrada de señal para el canal 1. |
 |
Onda Canal 2 Entrada de señal para el canal 2. |
 |
Gráfico (Waveform Graph)Grafico de la señal.
El Waveform Graph (de salida) debe tener 10x10 divisiones en la pantalla, y debe tener escala fija en los siguientes rangos:
- Eje X: [0 10]
- Eje Y: [-5 5] |

 |
AcondicionamientoTiempo.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\AcondicionamientoTiempo.vi |
 |
AcondicionamientoAmplitud.vi
C:\Documents and Settings\Daniel\Mis documentos\facu\5to\Digitales 3\1\Practico\AcondicionamientoAmplitud.vi |
AcondicionamientoAmplitud.vi
Acondiciona la amplitud de una waveform para mostrarla en un Waveform Graph (de salida) que debe tener 10x10 divisiones en la pantalla, y debe tener escala fija en los siguientes rangos:
- Eje X: [0 10]
- Eje Y: [-5 5]

 |
Ch1 Voltios por división en el canal. |
 |
Onda de entrada (waveform) Onda de entrada a acondicionar en amplitud. |
 |
Onda de salida (waveform) Onda de salida ya condicionada en amplitud. |

AcondicionamientoTiempo.vi
Acondiciona el tiempo de una waveform para mostrarla en un Waveform Graph (de salida) que debe tener 10x10 divisiones en la pantalla, y debe tener escala fija en los siguientes rangos:
- Eje X: [0 10]
- Eje Y: [-5 5]

 |
SEG / DIV Segundos por división en el canal. |
 |
Onda de entrada (waveform)Onda de entrada a acondicionar en tiempo. |
 |
Onda de salida (waveform) Onda de salida ya condicionada en tiempo. |
<- Descargar este VI
1.2.9.vi
El VI genera una señal senoidal con Amplitud y Frecuencia cero, Offset y Fase cero, y Duty Cycle 50%. El vector generado se muestra en un Waveform Graph.
Se espera a que haya actividad en el panel frontal para volver a generar la señal o leer el valor del botón SALIR.


 |
SALIR Se presiona para salir del programa. |
 |
Waveform Graph Grafica un vector, en este caso la forma de Onda. El Waveform Graph grafica vectores completos. Al enviarle otro vector se borra el primero y se grafica el nuevo. |

 |
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 |
Diferencias entre el indicador Waveform Chart y el Waveform Graph
El indicador Waveform Chart acepta los datos uno por uno y los va introduciendo así al gráfico, se lo puede considerar como que guarda un historial de los datos introducidos. El Waveform Graph, en cambio, acepta un vector con todos los puntos del gráfico y lo grafica. Al introducir el siguiente vector, el grafico anterior es sobreescrito, no mantiene un historial.
Ambos indicadores pueden aceptar múltiples ondas o datos a la vez, superponiendo los gráficos y utilizando diferentes colores para representar cada uno.
<- Descargar este VI
1.2.8.vi
El VI efectúa un promedio con una cantidad Muestras de números aleatorios entre 0 y Rango. También grafica las muestras y promedios parciales en un Waveform Chart a través de un cluster. Para el promedio se utiliza la siguiente fórmula:
Promedio[i]=(i/(i+1)) x ( (i x Promedio[i-1]) + ValorActual)
Dentro del bucle principal, un bucle WHILE, hay una estructura Flat Sequence que primero elimina los datos del Waveform Chart y luego pasa a un bucle FOR que vuelve a tomar los datos. También hay un bucle WHILE:
1- Dentro del bucle FOR, que se repite Muestras veces, se genera un número aleatorio entre 0 y 1. Luego se lo multiplica por Rango para que esté entre 0 y Rango. Este valor equivale a ValorActual en la fórmula. El valor Promedio[i-1] se obtiene del shift register, que en el primer ciclo vale cero. Con estos dos valores aplicamos la fórmula y obtenemos Promedio[i], que se envía a un Cluster bundle y también se guarda en el shift register. También se envía al Cluster bundle el ValorActual. Este cluster se envía al Waveform Chart. Esto se repite en cada ciclo. Al salir del bucle FOR se toma el valor Promedio[i] y se lo muestra en el indicador Promedio. Para ese entonces el Waveform Chart ya tiene la gráfica de los valores que salieron y los promedios parciales.
2- Dentro del bucle WHILE se espera a que se presione el botón Calcular, para volver a calcular el promedio, o hasta que se presione SALIR, para salir del programa. En este último caso no se vuelve a repetir el bucle WHILE principal, terminando así el programa. Las lecturas de los botones Calcular 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.


 |
SALIR Cuando se presiona, sale del bucle WHILE principla, teminando así el programa. |
 |
Calcular Cuando se presiona, se vuelve a tomar las muestras y mostralas en el Waveform Chart y actualizar el valor final del Promedio. |
 |
Muestras Número de muestras a tomar para promediar. |
 |
Rango Se generarán muestras con valores aleatorios entre cero y Rango. |
 |
Waveform Chart Grafica (1) todas las muestras que se obtuvieron en el proceso y (2) el promedio parcial hasta ese momento. |
 |
Promedio Muestra el promedio final. |