Programación Aplicada a la Industria
Laboratorio N°3
V Ciclo
“Desarrollo de aplicaciones modulares”
Alumno:
Ramirez Falla,Diego
Peña Caso,Benny
Docente:
Chávez Luna ,Miguel
Sección:
C5 - “B”
Fecha de realización: 25-03-21
Fecha de entrega: 31-03-21
Lima – 2021
TECSUP
I Objetivos:
Usar un Bucle While y registros de desplazamiento para hallar el promedio de datos
Representar varios conjuntos de datos en uno solo grafico tipo “waveform chart “
y personalizar su vista
Modificar un VI para utilizar una estructura case y tomar una decisión
Crear un VI que utilice una estructura Case para tomar una decisión de software
Modificar un VI existente para utilizar la estructura Case o la formula Node y tomar
una decisión en el software
Manipular cadenas de caracteres con funciones string
II Introducción teórica:
La programación modular es una técnica utilizada para el desarrollo de software, el
programa se divide en muchos componentes independientes o pequeñas piezas llamadas
módulos, que son manejables, lógicos y funcionales.
Este módulo es un bloque de declaraciones para resolver un problema específico. Cada
módulo contiene todo lo necesario para realizar su propia función y se puede editar o
modificar sin afectar el resto del proyecto.
Este método de programación se implementa manteniendo una interfaz de módulo
permanente, que es utilizada por otros componentes del software para acceder a las
funciones de cada módulo.
Los módulos imponen límites lógicos entre componentes, lo que mejora la
mantenibilidad. Se fusionan a través de interfaces, que están diseñadas de tal manera
que se minimizan las dependencias entre diferentes módulos.
III Desarrollo de la experiencia:
LINK de los programas en DRIVE:
https://drive.google.com/drive/folders/1hNCaooWKLGmbMzkdYlLT6gdPipenSrjJ
1. Para esta experiencia se desarrolla el Sub VI cabe resaltar que esto es una
subrutina en la cual nos permitirá realizar la experiencia ,asimismo esta
subrutina esta realizada en programación grafica en la cual va a ser llamada en el
VI, asimismo los rangos establecidos del Sub VI serán datos de temperatura de 0
a 100 °C.
Figura 1. Imagen de la subrutina sub VI
Figura 2. Programación en diagrama de bloques de la subrutina sub VI
Ejercicio Temperatura promedio
Después de haber analizado la subrutina Sub VI se procede a realizar el siguiente
ejercicio en la cual se hace la llamada a la subrutina para obtener temperaturas aleatorias
y poder visualizar en la grafica
Figura 3. Diagrama de bloques para la visualización de la temperatura en la grafica
Figura 4. Panel frontal del programa
Para el siguiente procedimiento del segundo ejercicio se realiza un programa para obtener
un valor de temperatura promedio de los cinco valores medidos (°C) , asimismo para el
desarrollo de la programación en diagrama de bloques se usa la funcion compound
arithmetic debido que nos permite realizar la suma de los cinco valores obtenidos para
finalmente obtener la temperatura promedio
Figura 5. Panel frontal del programa para observar la temperatura promedio
Figura 5. Diagrama de bloques para mostrar los cinco valores de temperatura
Ejercicio Temperatura múltiple
Para el desarrollo del ejercicio 2 se realiza un programa en la cual nos permite graficar
los valores de temperatura cabe resaltar que los dos valores ingresados son distintos,
pero con la función bundle podremos juntar dos valores en un grupo cada uno
independientemente para poder visualizar en la grafica
Figura 6. Diagrama de bloques para los valores distintos de temperatura
En la figura a continuación se muestra los valores hallados de temperatura en la cual la
línea de color blanca representaría a la temperatura actual y la línea de color rojo
representaría la temperatura promedio.
Figura 7. Panel frontal con las configuraciones realizadas
Determinar Alarmas
En el presente ejercicio se desea realizar un programa para el monitoreo de temperatura
para esto se usa alarmas y mensajes de acuerdo a la programación, asimismo se realiza
un diagrama de flujo como se muestra a continuación
Figura 8. Diagrama de flujo del tercer ejercicio
En la figura 9 se observa se realiza una programación en diagrama de bloques en la cual
se realiza una comparación en FALSE, asimismo se hace una comparación para
encender las alarmas si no se encuentran dentro de los rangos máximo y mínimo ,por
ultimo no se encenderá la alarma si no detecta algún problema
Figura 9. Diagrama de bloques para la condición false
Para la condición TRUE se observa la salida tipo string en la cual se activara cuando
Upper Limit < Lower Limit la a larma se encendera.
Figura 10. Diagrama de bloques para la condición true
En la figura 11 se observa que la alarma se prende cuando el valor de temperatura es
mayor al valor máximo establecido, además aparece la palabra Heatstroke Warning
Figura 11. Temperatura mayor a la temperatura máxima
En la figura a continuación se observa que el valor de la temperatura se encuentra
dentro de los dos rangos por tal motivo la alarma no se enciende
Figura 12. Temperatura dentro de los dos rangos
A continuación se observa el valor de la temperatura menor al valor mínimo en la cual
se enciende la alarma y aparece Frezze Warning
Figura 13. Temperatura menor a la temperatura mínima
En la figura a continuación se observa que el valor de temperatura mínima es mayor al
valor establecido en la temperatura máxima por lo tanto se enciende la alarma y aparece
la advertencia Upper Limit <Lower Limit
Figura 14. Temperatura mínima mayor a la temperatura máxima establecida
Auto Estudio Raiz Cuadrada
En el presente diagrama de flujo se realiza una operación matemática en la cual se
obtendrá la raíz cuadrada de un numero además no avisara cuando un numero es
negativo y no se podrá realizar la operación
Figura 15. Diagrama de flujo ejercicio 4
En la figura 16 y 17 se observa que se realizan dos programaciones una en la ventana
FALSE en la cual si el numero ingresado es menor a 0 en la salida obtendremos un
mensaje de “ERROR Numero Negativo”, asimismo en la ventana TRUE se realiza la
programación para obtener la raíz cuadrada de los números mayores a 0.
Figura 16. Diagrama de bloques para números negativos
Figura 17. Diagrama de bloques para números mayores a 0
En la ejecucion del programa en el panel frontal se observa que al ongresar un numero
mayor a 0 se ejecuta el resultado ,pero al ingresar un numero menor a 0 se observa un
mensaje de error numero negativo y no se ejecutara el programa
Figura 18. Ejecución del programa para un numero mayor a 0
Figura 19. Resultado del programa al ingresar un numero negativo con la ventana de error
Reto 5 Determinar alarmas
Para este desarrollo del ejercicio se utiliza la estructura “formula nodes” debido a que
ingresaremos un programa en lenguaje C++ dentro del diagrama de bloques como se
muestra a continuación.
Figura 20. Programación en diagrama de bloques
A continuación, se observa como el valor de temperatura se encuentra menor al rango
minimo por lo tanto se procede a encender la alarma y a obtener la advertencia Freeze
Warning
Figura 21. Temperatura menor al límite mínimo
Para este caso se establecido el valor de temperatura a un dato mayor al rango máximo
establecido en la cual se enciende la alarma y se obtiene la advertencia Heatstroke
Warning
Figura 22. Temperatura mayor al limite maximo
Para esta experiencia se estable el valor de temperatura a un valor que se encuentra
dentro de los dos rangos por lo tanto no se enciende la alarma y no hay advertencia
Figura 23. Valor de temperatura dentro del rango
En la figura a continuación se observa que el valor mínimo es mayor al valor máximo
por lo tanto se enciende la alarma y se observa la advertencia de Limite
Máximo<Limite Mínimo
Figura 24.El valor de temperatura minima es mayor a la temperatura maxima
Ejercicio 4-9 Autoestudio: VI Determine More Warnings
Para este ejercicio consta de manipular cadenas de caracteres con funciones String.
Entradas y salidas:
Tipo Nombre Propiedades
Control numérico Current Temp Doble precisión y como flotante
Control numérico Max Temp Doble precisión y como flotante
Control numérico Min Temp Doble precisión y como flotante
Control numérico Current Wind Speed Doble precisión y como flotante
Control numérico Max Wind Speed Doble precisión y como flotante
Indicador de cadena de Warning Text Valores en potencia: Heatstroke
caracteres Warning. Freeze Warning.
Heatstroke and High Wind
Warning. Freeze and Warning y
No Warning. Or Upper
Limit<Lower Limit.
Indicador booleano Warning? Booleano
DIAGRAMA DE FLUJO:
Procedimiento:
Primero agregaremos un Case Structure esta nos permitirá establecer dos modos uno
TRUE y la otra opción de FALSE, la opción TRUE nos servirá cuando Temp. Min sea
mayor que Temp. Max si es asi se encenderá el LED y mostrará el mensaje que la Temp
Min es mayor que Temp. Max
Figura 25. Diagrama
Case structure “True”
Ahora para el caso de que Max. Temp sea mayor nos mostrará a la pestaña de FALSE
en esta encontraremos toda la programación y dependiendo de los valores que
coloquemos nos mostrará un mensaje en el indicador y apagará o encenderá el LED.
Figura 26. Diagrama
Case Structure “False”
En la siguiente imagen que se observa agregamos 3 Case dos de ellos compararan el
Current Temp y el otro comparara el Current Wind Speed y Max Wind Speed si estas
comparaciones son verdaderas cada case mostrará el mensaje programado.
Figura 27. Decisión
textos de advertencia
Y como observamos en la siguiente imagen si las comparaciones llegan a ser falsas no
mostrará ningún mensaje según lo programado.
Figura 28. Decisión de
texto en caso “False”
Finalmente se agregará dos Case uno dentro del otro de igual forma que las anteriores el
Case que está dentro realizará una comparación de igualdad si esta llega a ser verdadera
nos mostrará el mensaje No warning.
Figura 29. Texto No
Warning para case
“True”
Para el Caso Falso se agregó además una Función Concatenate Strings esta función
como su nombre mismo indica unirá los mensajes que anteriormente se mostró junto a
los que adicionamos que son las palabras “AND” y “Warning”. Toda esta parte se
conectará al indicador para que nos muestre el mensaje final.
Figura 30. Texto Warning
para caso “False”
Ahora procederemos a iniciar el programa con los valores de prueba.
Nombre Prueba 1 Prueba 2 Prueba 3 Prueba 4 Prueba 5 Prueba 6
Current 20 30 10 30 10 20
Temp
Max 25 25 25 25 25 25
Temp
Min 15 15 15 15 15 15
Temp
Current 25 25 25 35 35 35
Wind
Speed
Max 30 30 30 30 30 30
Wind
Speed
Warning No Heatstroke Freeze Heatstroke Freeze High
Text Warning Warning Warning and High and High Wind
Warning Wind Warning
Warning
Warning? Falso Verdadero Verdadero Verdadero Verdadero Verdadero
Prueba N°1:
Utilizamos los valores de la tabla de prueba para ver que el programa funcione
correctamente y como observamos con los primeros datos sí obtenemos el mensaje de
“No Warning” y el Led esta desactivado.
Figura 31.
Funcionamiento del
programa Prueba N°1
Prueba N°2:
Para esta prueba también se colocaron los datos de la tabla y obtuvimos los resultados
esperados nos muestra “Heatstroke Warning” y el Led se encendió
Figura 32.
Funcionamiento del
Prueba N°3: programa Prueba N°2
Para esta prueba también obtuvimos los resultados esperados colocando un Current
Temp de 10, Temp. Max = 25, Temp. Min = 15, Current WS = 25 y Max Wind Speed =
30 con estos datos nos mostrará el mensaje “Freeze Warning” y el Led se encenderá que
nos indicara el peligro.
Figura 33.
Funcionamiento del
Prueba N°4: programa Prueba N°3
Para esta prueba cambiamos los valores del Current Temp a 30 y el valor de Current
Wind Speed a 35 con ello obtuvimos el mensaje “Heatstroke and High Wind Warning”
y el Led de peligro se enciende.
Figura 34.
Funcionamiento del
Prueba N°5: programa Prueba N°4
Para esta prueba se cambio el valor de Current Temp a 10 con ello nos muestra el
mensaje “Freeze and High Wind Warning” y el Led de peligro se encendió.
Figura 35.
Funcionamiento del
programa Prueba N°5
Prueba N°6:
Y para la última prueba cambiamos el valor de Current Temp a 20 y observamos que
nos muestra el mensaje “High Wind Warning” y el Led de peligro se enciende.
Figura 36.
Funcionamiento del
programa Prueba N°6
Conclusiones:
Se uso un Bucle While y registros de desplazamiento para hallar el promedio de
datos, asimismo se utilizó una subrutina en la cual nos permitió realizar la
experiencia
Se represento varios conjuntos de datos en uno solo grafico tipo “waveform chart “
y personalizar su vista
Se modifico un VI para utilizar una estructura case y tomar una decisión en este
caso se realizo comparaciones en FALSE Y TRUE
Se creo un VI que utilice una estructura Case para tomar una decisión de software
Se modifico un VI existente para utilizar la estructura Case o la formula Node y
tomar una decisión en el software ,asimismo se realizo programación en lenguaje
C++
Se manipulo cadenas de caracteres con funciones string
Observaciones:
Se observo que en el software Labview en la programación del diagrama de
bloques también se puede realizar programación en lenguaje C++ y ejecutar una
función designada
Se observo que al usar subrutinas facilita la programación, asimismo se analizo la
subrutina para las funciones a realizar
Se observo que al realizar la estructura Case se puede utilizar las ventanas False y
TRUE para realizar una comparación o una funciona a realizar dependiendo de lo
programado en diagrama de bloques
Programación Aplicada a la Industria
Rúbrica
“Los estudiantes implementan programas con tipos de datos en
Resultado LabVIEW”.
Criterio de
desempeño
Utiliza adecuadamente los implementos de laboratorio
Curso Programación Aplicada a la Industria Periodo 2019-I
Actividad Laboratorio 3: Desarrollo de aplicaciones modulares Semestre 5
Nombre del Alumno Diego Ramirez Falla Semana 1
Docente Miguel Chávez Luna Fecha 31/03/2021 Sección B
Requier No Puntaje
Criterios a Evaluar Excelente Bueno
e Mejora Aceptable Logrado
Antes de la clase: El alumno revisa el
material de clase en la plataforma virtual e
3 2 1 0
identifica el propósito del laboratorio y asiste
preparado.
Durante la clase: El alumno es puntual, está
inmerso en la realización del laboratorio y 8 6 4 0
tiene la mejor actitud durante la experiencia
Durante la clase: Realiza de manera
excelente lo solicitado en las guías de 3 2 1 0
laboratorio durante la experiencia.
Al finalizar la clase: Finaliza con éxito su
laboratorio, analiza las experiencias y realiza 3 2 1 0
mejoras.
Después de la clase: Presenta un informe
donde incluye conclusiones, referencias a los
datos obtenidos, gráficos realizados, posibles
3 2 1 0
fuentes de error y lo que se aprendió en la
experiencia, también propone aplicaciones
reales.
Total 20 14 8 0
Adicionales
▪ Bonificación +
▪ Penalidad -
Puntaje Final
Comentario al
alumno o alumnos
Descripción
Demuestra un completo entendimiento del problema o realiza la actividad cumpliendo
Excelente
todos los requerimientos especificados.
Demuestra un considerable entendimiento del problema o realiza la actividad cumpliendo
Bueno
con la mayoría de los requerimientos especificados.
Demuestra un bajo entendimiento del problema o realiza la actividad cumpliendo con
Requiere mejora
pocos de los requerimientos especificados.
No Aceptable No demuestra entendimiento del problema o de la actividad.
Programación Aplicada a la Industria
Rúbrica
“Los estudiantes implementan programas con tipos de datos en
Resultado LabVIEW”.
Criterio de
desempeño
Utiliza adecuadamente los implementos de laboratorio
Curso Programación Aplicada a la Industria Periodo 2019-I
Actividad Laboratorio 3: Desarrollo de aplicaciones modulares Semestre 5
Nombre del Alumno Benny Peña Caso Semana 1
Docente Miguel Chávez Luna Fecha 31/03/2021 Sección B
Requier No Puntaje
Criterios a Evaluar Excelente Bueno
e Mejora Aceptable Logrado
Antes de la clase: El alumno revisa el
material de clase en la plataforma virtual e
3 2 1 0
identifica el propósito del laboratorio y asiste
preparado.
Durante la clase: El alumno es puntual, está
inmerso en la realización del laboratorio y 8 6 4 0
tiene la mejor actitud durante la experiencia
Durante la clase: Realiza de manera
excelente lo solicitado en las guías de 3 2 1 0
laboratorio durante la experiencia.
Al finalizar la clase: Finaliza con éxito su
laboratorio, analiza las experiencias y realiza 3 2 1 0
mejoras.
Después de la clase: Presenta un informe
donde incluye conclusiones, referencias a los
datos obtenidos, gráficos realizados, posibles
3 2 1 0
fuentes de error y lo que se aprendió en la
experiencia, también propone aplicaciones
reales.
Total 20 14 8 0
Adicionales
▪ Bonificación +
▪ Penalidad -
Puntaje Final
Comentario al
alumno o alumnos
Descripción
Demuestra un completo entendimiento del problema o realiza la actividad cumpliendo
Excelente
todos los requerimientos especificados.
Demuestra un considerable entendimiento del problema o realiza la actividad cumpliendo
Bueno
con la mayoría de los requerimientos especificados.
Demuestra un bajo entendimiento del problema o realiza la actividad cumpliendo con
Requiere mejora
pocos de los requerimientos especificados.
No Aceptable No demuestra entendimiento del problema o de la actividad.