top of page

FUNCIONES :  SISTEMA DE CONTROL AUTOMATICO

Un sistema automático de control es un conjunto de componentes físicos conectados o relacionados entre sí, de manera que regulen o dirijan su actuación por sí mismos, es decir sin intervención de agentes exteriores (incluido el factor humano), corrigiendo además los posibles errores que se presenten en su funcionamiento. Actualmente, cualquier mecanismo, sistema o planta industrial presenta una parte actuadora, que corresponde al sistema físico que realiza la acción, y otra parte de mando o control, que genera las órdenes necesarias para que esa acción se lleve o no a cabo. Para explicar el fundamento de un sistema de control se puede utilizar como ejemplo un tirador de arco. El tirador mira a la diana, apunta y dispara. Si el punto de impacto resulta bajo, en el próximo intento levantará más el arco; si la flecha va alta, en la siguiente tirada bajará algo más el arco; y así sucesivamente, hasta que consiga la diana. El tirador sería el elemento de mando (da las órdenes de subir o bajar el brazo) y su brazo el elemento actuador. En el ejemplo expuesto se observa que el objetivo se asegura mediante el método de prueba y error. Lógicamente los sistemas de control, al ser realizados por ordenadores o por otros medios analógicos, son más rápidos que en el caso del tirador.

YUJYTUJYUK.jpg

Representación de los Sistemas de Control                   

Diagrama de Bloques:

​

Un proceso o sistema de control es un conjunto de elementos interrelacionados capaces de realizar una operación dada o de satisfacer una función deseada.

Los sistemas de control se pueden representar en forma de diagramas de bloques, en los que se ofrece una expresión visual y simplificada de las relaciones entre la entrada y la salida de un sistema físico.

A cada componente del sistema de control se le denomina elemento, y se representa por medio de un rectángulo.

El diagrama de bloques más sencillo es el bloque simple, que consta de una sola entrada y de una sola salida.

FG.PNG

Operaciones con Diagrama de Bloques: 

Los diagramas de bloques se pueden obtener a partir de las funciones de transferencia. Existen métodos para reducir los diagramas complicados, a formas que resulten de más fácil manejo. Bloques en serie.- La función de transferencia global para un sistema compuesto por “n” bloques en serie, es igual al producto de las funciones de transferencia aisladas.

​

​

​

​

​

​

​

​

​

​

​

​

​​

​

​

​

GJNHGJJK.PNG

Señales:

• y: señal de salida

• r: señal de referencia

• e: señal de error

• v: señal de realimentación

GHNF.PNG

Funciones de Transferencia:

• G: ganancia directa

• H: ganancia de realimentación

• GH: ganancia de lazo

• F: ganancia de lazo cerrado

HTUYJTIK.PNG

FUNCIONES

Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman ciertos valores de entrada, llamados parámetros y proporcionan un valor de salida o valor de retorno; aunque en C++, tanto unos como el otro son opcionales, y pueden no existir.

Tal vez parezca un poco precipitado introducir este concepto tan pronto en el curso. Sin embargo, las funciones son una herramienta muy valiosa, y como se usan en todos los programas C++, creo que debemos tener, al menos, una primera noción de su uso. A fin de cuentas, todos los programas C++ contienen, como mínimo, una función.

,MNKJ.jpg

               C++

#include<iostream>
#include<math.h>

using namespace std;
float Re,Pe,Res,Ges,Cs,Rt,Qe,GHE,GhE,ta,re,GE,inicial,final;
void datos1();
float Com(float x,float y);
void datos2();
float Opdiagra(float x,float y);
void datos3();
float Senales(float x);
void datos4();
float FuTrans(float x,float y);
int main(){
    
    int opcion;
    do{
        cout<<"************** Control Automatico**************\n";
        cout<<endl;
        cout<<"1) Comparadores\n";
        cout<<"2) Operaciones de Diagrama\n";
        cout<<"3) Señales\n";
        cout<<"4) Funcion de Transferencia\n";
        cout<<endl;
        cin>>opcion;
        if(opcion>0,opcion<6){
            switch (opcion){
                
                case 1:{
                    cout<<"*******Comparadores*******\n";
                    cout<<endl;
                    datos1();
                    cout<<endl;
                    cout<<endl;
                    Qe=10;
                    for(Qe>=10;Qe<=100;Qe=Qe+5){
                        ta=Compar(Re,Pe);
                        cout<<"Cuando Q(s): "<<Qe<<" La salida E(s): "<<Es<<endl;
                    }
                    cout<<endl;
                    break;
                }''
                case 2:{
                    cout<<"*******Operaciones de Diagrama*******\n";
                    cout<<endl;
                    datos2();
                    cout<<endl;
                    cout<<endl;
                    Opdiagra(Res,Ges);
                    break;
                }
                case 3:{
                    cout<<"*******Señales*******\n";
                    cout<<endl;
                    datos3();
                    cout<<endl;
                    cout<<endl;
                    re=inicial;
                    for(re>=inicial;r<=final;re=re+2){
                        float EES=Senales(GH);
                        cout<<"Cuando la señal de referencia: "<<re<<" La Señal de error: "<<es<<endl;
                    }
                    
                    break;
                }
                case 4:{
                    cout<<"*******Funcion de Transferencia*******\n";
                    cout<<endl;
                    datos4();
                    FuTrans(GhE,GE);
                    break;
                }
            }
        }else
        cout<<"Opcion no existente\n";
        cout<<endl;
        cout<<endl;
        
    }while (opcion!=0);
    system("pause");
    return(0);
    
    
}
void datos1(){
    cout<<"Ingrese el Valor de la Entrada R(s): ",cin>>R;
    cout<<"Ingrese el Valor de la Entrada P(s): ",cin>>P;
}
float Comp(float x,float y){
    float E=x+y-Qe;
    return E;

}
void datos2(){
    cout<<"Ingrese la Entrada R(s): ",cin>>Res;
    cout<<"Ingrese la Funcion de Tranferencia G(s): ",cin>>Ges;
}
float Opdiagra(float x,float y){
    float C=x*y;
    cout<<"La Salida C(s): "<<C<<endl;
    cout<<endl;
}
void datos3(){
    cout<<"Ingrese La Ganacia de Lazo: ",cin>>GHE;    
    cout<<"Ingrese Señal de referencia inicial: ",cin>>inicial;
    cout<<"Ingrese Señal de referencia final: ",cin>>final;
}
float Senales(float x){
    float e=re/(2+x);
    return e;
}
void datos4(){
    cout<<"Ingrese La Ganacia de Lazo: ",cin>>GhE;
    cout<<"Ingrese La Ganacia Directa: ",cin>>GE;    
}
float FuTrans(float x,float y){
    float F=G/(1+Gh);
    cout<<"La Ganacia de Lazo Cerrado: "<<F<<endl;
    cout<<endl;
}

bottom of page