Bienvenidos al nuevo foro de hackplayers. En caso de encontrarse cualquier tipo de error, contacte con cualquier administrador por mensaje privado.
Recuerda que, para incrementar tu privacidad, tambien puedes acceder al foro usando el dominio forohpysho2t5mjs.onion de la red tor.

yulian

Acerca de

Nombre Usuario
yulian
Se unió en
Visitas
1
Última conexión
Roles
Member

Actividad

  • #include <cvirte.h>        
    #include <userint.h>
    #include "taller.h"
     #include "PCL-818.h"
      #include "PCL-818.c"
     #include "filtros y control.h"
      #include "filtros y control.c"  
    static int panelHandle;

    double filtro1=0;
    float a=0.5;
    int aut=0;
    float q[3];
    float kp=0.22,ti=0.01,td=0, setpoint1=0;
    double tm=0.01;
    float t0=0.01;
    float velocf=0;
    float volt=0;
    float e[]={0,0,0};


    int main (int argc, char *argv[])
    {
        if (InitCVIRTE (0, argv, 0) == 0)
            return -1;    /* out of memory */
        if ((panelHandle = LoadPanel (0, "taller.uir", PANEL)) < 0)
            return -1;
        DisplayPanel (panelHandle);
        RunUserInterface ();
        DiscardPanel (panelHandle);
        return 0;
    }

    int CVICALLBACK PARAMETRO (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
        
            case EVENT_VAL_CHANGED:
             GetCtrlVal (PANEL, PANEL_NUMERICSLIDE, &filtro1);
              

                break;
            }
        return 0;
    }

    int CVICALLBACK filtro (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
            case EVENT_COMMIT:
        

                break;
        
            }
        return 0;
    }

    int CVICALLBACK seleccion (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
            case EVENT_COMMIT:

                break;
        
            }
        return 0;
    }

    int CVICALLBACK salida (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
            case EVENT_COMMIT:
                QuitUserInterface (0);
                break;
        
            }
        return 0;
    }

    int CVICALLBACK tiempo (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
              int canal=6;
              int medicion,valor =0;
              float vr,v,veloc;
        switch (event)
            {
            case EVENT_TIMER_TICK:
              
                 ModoSoft();
                 RangoCanal(canal,0);
                 //medicion = MedirCanal(canal);
                 medicion=rand()*4095/RAND_MAX;
                 v=20.0-medicion/4095-10.0;
                 veloc=v/3.5*1000;
                 velocf=FiltroExp1(filtro1,velocf,veloc,a);
                 PlotStripChartPoint(PANEL,PANEL_STRIPCHART, velocf);
                 //******Control
                 q[0]=kp*(1+td/t0);
                 q[1]=-kp*(1-t0/ti+2*td/t0);
                 q[2]=kp*(td/t0);
                 vr=setpoint1*0.0035;
                 if(aut==1)
                 {ContPID(aut,vr,v,e,q,0,10,&volt);
                 }
                 else
                 {volt=setpoint1*0.0035;
                 }
                 SalirCanalUni10(0,volt);
                break;
            }
        return 0;
    }

    int CVICALLBACK KP (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
        
            case EVENT_VAL_CHANGED:

                break;
            }
        return 0;
    }

    int CVICALLBACK TD (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
        
            case EVENT_VAL_CHANGED:

                break;
            }
        return 0;
    }

    int CVICALLBACK TM (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
        
            case EVENT_VAL_CHANGED:
                      GetCtrlVal (PANEL, PANEL_NUMERIC_4, &tm);
                     SetCtrlAttribute (PANEL, PANEL_TIMER, ATTR_INTERVAL, tm);
                     t0=tm;
                break;
            }
        return 0;
    }

    int CVICALLBACK setpoint (int panel, int control, int event,
            void *callbackData, int eventData1, int eventData2)
    {
        switch (event)
            {
            
            case EVENT_VAL_CHANGED:

                break;
            }
        return 0;
    }


    30 de mayo