Usuario:984 M18090

De Wikifab

李蛋

Imagen:perfilDanLi.jpg


Práctica 1

Media:Practica1.zip


Comentarios:

En primer lugar, creamos los botones (pintar y salida), numéricos (ciclo de seno, ruido, color) y el gráfico

Luego generamos los códigos en C, y desde allí editamos el contrl callback (pintar). Para obtener un seno ruidoso, definen el patrón de seno (Sinepttern) y el de ruido (WhiteNosie), y suma los dos ya tenemos un seno ruidoso. Se usa el orden GetCtrlVal con el fin de leer los números de los numéricos y transmitirlos a los variable de seno(ciclo), ruido (Amplitud) y gráfico(color). Por último, con PlotY pasa el seno ruidoso al gráfico.


Práactica 2

Media:Práctica2.rar

Comentario:

Antes de todo, introduce el grafico dinámico y el Timer. Dentro de Timer definimos 3 vectores: vector[0] es los números aleatorios que se varian esntre 25 y 27. Vector[1] y [2] es los limites.

valor[0]=rand()/32738.0*3+25;

vector[1] es un limite variable que podemos controlar con el NUMERICDIAL GetCtrlVal (panelHandle, PANEL_NUMERICDIAL, &maximo); valor[1]=maximo;

valor[2]=25.2;


Una vez pasa los limites (valor[0]>=valor[1]) activa la alarma(rojo)

if (valor[0]>=valor[1]) { SetCtrlVal (panelHandle, PANEL_LED, 1); } else { SetCtrlVal (panelHandle, PANEL_LED, 0); }

Para ajustar la frecuencia de capturar los puntos aleatorios, usamos NUMERICDIAL también. GetCtrlVal (panelHandle, PANEL_NUMERICDIAL_2, &frecuencia);


En la parte de grabar los datos, tenemos un botón de grabar if (recordState == 1) { file = fopen("record.txt", "w"); recordState = 0; // Se activa el estado de grabacion MessagePopup ("INFO", "EMPEZANDO GRABACION"); } else { fclose(file); recordState = 1; // Se desactiva el estado de grabacion MessagePopup ("INFO", "DETENIDO GRABACION"); }

Y un botón de demostrar file = fopen("record.txt", "r");

double v[1];

while (fscanf(file, "%lf", &v[0]) != EOF)

{ PlotStripChart (panelHandle, PANEL_STRIPCHART_2, v, 1, 0, 0, VAL_DOUBLE); }

fclose(file);

Imagen:imangenpractica2.png

Herramientas personales