Usuario:984 M18277

De Wikifab

Imagen:presentacion.jpg


Contenido

== Trabajo 1 : interface ==



Interfase de usuario :

Imagen:interfase_trabajo1.jpg

Tenemos 3 graficos para observar :

- la curva del sen - la curva del ruido - la curva del sen_ruido


podemos elegir la amplitud, la fase y el número de ciclos observados con este codigo :

Imagen:codigo182771.jpg

cuando el boton utilizamos el buton "add waves", los valores que hemos elegido se ponen en el codigo con la funcion "GetCtrlVal". Despues con las funciones SinePattern y WhiteNoise, vamos a calcular las curvas de ruido y seno.

Para combinar las curvas, tenemos que utilizar "for".


Imagen:codigo182773.jpg

Para cambiar los colores, podemos utilizar "colorNumeric" que va a creer un boton, despues tenemos que cambiar al ultima entrada en PlotY . Los ultimos valores en "colorNumeric" son para la posicion del boton.

Podemos tambien utilizar "SetCtrlAttribute" para cambiar cosas en la leyenda del grafico.


Imagen:codigo182772.jpg

Para eliminar las curvas, tenemos que anadir un boton con el codigo de encima.


File

Media:Interfase_M18277_gall.zip








== Trabajo 2 : StripChart Timer SetDatos ==



interfase de usuario :

panel 1 :

Imagen:Captur.jpg



panel 2 :

Imagen:Captur7.jpg



Variables :

static int panelHandle : panel con el grafico de entrada

static int panelHandle2 : panel con el grafico para observar los set de datos

double valor[2]  : vector para los curvas del grafico de entrada

double valor2[2] : vector para observar las curvas de los set de datos

double maximo : valor maxima de la temperatura

double timing : valor del timer

int currentVal : valor de la LED

int enregistrement=1 : valor para saber si el usuario ha utilizado el boton para grabar los datos

int number : valor del tamano del vector de datos

char chaine[LG_MAX] : valor de una linea del fichero

FILE *file : fichero para la curva de temperatura aleatoria

FILE *file2 fichero para la curva de temperatura elejida



Codigo Timer :

Imagen:Captur2.jpg

Fprintf : Escribe la salida en el fichero especificado de acuerdo con los especificadores de formato en formatString

cuando "enregistrement" es zero, vamos a empezar a escribir en dos ficheros los valores aleatoria y elejida de temperatura, tambien vamos a incrementar "number" para saber cual es el tamano de los ficheros.



Codigo grab :

Imagen:Captur3.jpg

fopen : Abre el archivo especificado de acuerdo con el modo designado. Si tiene éxito, fopen devuelve un puntero a la secuencia abierta. Cuando se produce un error, fopen devuelve NULL y establece "errno" en un valor distinto de cero

fclose : Vacía la secuencia de E / S especificada y cierra el archivo asociado. Si hay datos en búfer no escritos para el archivo, se escriben antes de que se cierre el archivo. Cualquier dato almacenado no leído se descarta. Si el búfer asociado se asignó automáticamente, se desasigna.

cuando utilizamos el boton "grabar", abrimos los ficheros en modo escribir y cambiamos la valor del boton en " dejar de grabar". cuando utilizamos una vez mas, el boton, cerramos los ficheros.



Codigo Mostrar:

Imagen:Captur4.jpg

fscanf : Reads input from the fichero and converts it into a series of values according to the specifications of the formatting string.

fgets : Lee los caracteres de la secuencia de entrada especificada en un LineBuffer hasta que se encuentra el final del archivo, se lee un carácter de nueva línea o se leen los caracteres (number_ofChars - 1). El carácter de nueva línea se conserva. Se agrega un byte ASCII NUL al final de la cadena. Si tiene éxito, la función devuelve un puntero a lineBuffer.

Para leer los ficheros, vamos a utilizar la funcion fgets. Si fgets no es igual a NULL, significa que no somos al fin del fichero y podemos seguir de dibujar las curvas



Codigo Analizar :

Imagen:Captur5.jpg


== Codigo Volver : ==


Imagen:Captur6.jpg


File

Media:Interfase2_M18277_gall.zip





== Trabajo final : interfaz hombre máquina (HMI) ==

Se trata de un sistema de control de nivel de fluido en un almacén.

El usuario puede elegir que el funcionamiento manual o automatico de la maquina. La interfaz mostra solamente los elementos que el usuario puede utilizar en funcion del modo elegido

En el modo automatico el usuario puede:

  • elegir los valores inferior y superior en el almacen.

En el modo manual, el usuario puede :

  • cambiar las velocidades de entrada y salida del fluido.
  • elegir cuando descargar o cargar el fluido.

El funcionamiento en automatico :

  • las velocidades son fijadas a 0.5
  • Cada vez que el fluido llega a las limites elegidas, las leds se encenden. El fluido cambia de sentido hasta la proxima limitez.
  • Hay dos leds para seguir el movimiento del fluido "carga" y "descarga".

El funcionamiento en manual :

  • limite superior : 100
  • limite inferior : 0
  • si la límite superior esta alcanzado : el proceso se para (velocidad entrada=0) hasta que el usuario elige "descargar"
  • las leds se encenden en funcion de los modos elegidos

En cada momento, hay la posibilidad de :

  • cambiar de un modo al otro, sin impacto sobre el sistema
  • grabar los datos en un fichero 'enregistrement"

Si la valor de la limite superior esta inferior a la limite inferior : hay un mesaje y el sistema se para hasta que el usuario cambia los valores y utiliza "rearme"


Interfaz global

Imagen:global.PNG

Modo automatico

Imagen:automatico.PNG

Modo manual

Imagen:Manual.PNG

Leds de funcionamiento

Imagen:led.PNG

Warning

Imagen:warning.PNG

Codigo

Imagen:11.PNG Imagen:22.PNG Imagen:33.PNG Imagen:44.PNG Imagen:55.PNG Imagen:66.PNG Imagen:77.PNG Imagen:88.PNG


File

Media:Interfase3_HMI_M18277_gall.zip

Herramientas personales