You are on page 1of 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

TUTORIAL PARA EL USO DE PROGRAMCC


El software ProgramCC es muy til cuando se desea estudiar la respuesta de un sistema tanto en el campo temporal como en el frecuencial a partir de su funcin de transferencia. El siguiente es un tutorial para el manejo de las funciones ms usadas del mismo que le permitirn comenzar con el uso de esta poderosa herramienta de simulacin. ProgramCC se usa ingresando una serie de comandos en la lnea activa de la ventana del software que se abre por defecto al ejecutar el programa. Para poder utilizar cada una de estas funciones a su mximo potencial, se debe concurrir a la ayuda on-line, tutoriales y demos. Esta es slo una versin abreviada de algunos de esos comandos. Siempre podemos encontrar ayuda adicional tipeando: help nombre_de_la_funcion

Ingresando una funcin de transferencia


TODAS las funciones de transferencia en CC requieren un nombre. Por ejemplo, g, o f1 o p2, etc Las funciones de transferencia pueden ser ingresadas como expresiones algebraicas Para ingresar la siguiente funcin de transferencia: 10(s+1) g(s) = ----------------s(s2 +2s +100) Se necesita tipear: CC>g=10*(s+1)/(s*(s^2+2*s+100)) Luego tipear: CC>g En la pantalla aparecer:

10(s+1) g(s) = s(s2 +2s +100)

Tutorial para uso de ProgramCC

Pgina 1 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Ingresando una funcin de transferencia usando el men Para ingresar la funcin de transferencia anterior, tipear: CC>enter La siguiente ventana aparecer en la pantalla:

Desde esta ventana se pueden ingresar cada uno de los polinomios del numerador y del denominador. Consejo: La constante (ganancia) necesita ser ingresada como un polinomio de orden cero. Consejo: Un simple polinomio (no una funcin de transferencia) puede ser ingresada escogiendo un denominador igual a 1.

Tutorial para uso de ProgramCC

Pgina 2 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Un modo alternativo y rpido para ingresar la funcin de transferencia La funcin de transferencia g(s) puede ser re-ingresada con sus coeficientes, para ello, ingresar: 1. 2. 3. 4. El nmero de polinomios en el numerador. Los polinomios del numerador, empezando por el orden. El nmero de polinomios del denominador. Los polinomios del numerador, empezando por el orden. Para ingresar la misma funcin de transferencia, ingresar: CC>g=enter(2,0,10,1,1,1, 2,1,1,0,2,1,2,100) Y nuevamente, tipear: CC>g La pantalla mostrara: 10(s+1) g(s) = s(s2 +2s +100) Note que en este caso, tanto el numerador como el denominador tienen dos polinomios cada uno.

Otros mtodos para ingresar la funcin de transferencia Hay otros modos de ingresar la funcin de transferencia que son menos usados. Consulte la ayuda on-line para ver estos mtodos.

Mostrando la funcin de transferencia


Como vimos anteriormente, para ver una funcin de transferencia, solamente debemos tipear: CC> nombre_de_la_funcion En forma de polos y ceros En esta forma, la funcin es mostrada como cociente de polos y ceros. Para verlo, tipear lo siguiente:

Tutorial para uso de ProgramCC

Pgina 3 de 12

Facultad de Ingeniera CC>pzf(g)

Bioingeniera

Control de Procesos

Y la funcin ser mostrada de la siguiente forma: 10(s+1) g(s) = s[(s+1) 2+9.952] Cero: s = -1 Polos: s = - 1 j 9.95 Polos de la funcin de transferencia Si solo estamos interesados en encontrar los polos de la funcin, podemos hacer esto tipeando: CC>poles(g)

Expansin en fracciones parciales


ProgramCC posee tambin un comando para hallar la expansin en fracciones parciales de una funcin de transferencia dada. Para lograrlo, tipear: CC>pfe(g) En pantalla aparecer la expansin:

0.1 g(s) = ----- s

0.1s-9.8 --------------------[(s+1)2+9.952]

Transformada inversa de Laplace


La transformada inversa de laplace (ilt) de una funcin de transferencia cualquiera puede ser hallada fcilmente ingresando el comando: CC>ilt(g) Esto resultara en la siguiente funcin en el dominio tiempo: g(t) = 0.1 + sin(9.95t-0.1002)*exp(-t) for t >= 0 Tutorial para uso de ProgramCC Pgina 4 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Note que comenzar en t 0 es equivalente a multiplicar la funcin por el escaln unitario u(t).

Consejo: el programa no asume ninguna entrada. Si se quiere saber la respuesta a la funcin escaln, por ejemplo, se debe multiplicar g(s) por la transformada de laplace del escaln unitario y luego tipear ilt en la lnea de comandos.

Diagramas de BODE
ProgramCC posee la capacidad de graficar diferentes tipos de grficas y/o diagramas (Bode, Nyquist, Nichols, etc.). En esta seccin consideraremos el diagrama de bode, abordando luego, en la siguiente seccin, el diagrama de Nyquist. Para obtener detalles de las dems graficas, consultar la ayuda on-line o ver la lista de comandos.

Diagrama de Bode general Considere la siguiente funcin de transferencia de la cual queremos obtener el diagrama de bode: 2000 g(s) = -----------------(s+2)(s+7)(s+16) Ingrese la siguiente sentencia en la lnea de comandos del programa: CC>g=2000/((s+2)*(s+7)*(s+16)) Para graficar la respuesta en frecuencia de la funcin anterior, utilice el comando BODE: CC>bode(g)

El diagrama de bode resultante aparecer en una nueva ventana y mostrara lo siguiente:

Tutorial para uso de ProgramCC

Pgina 5 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

En la ventana resultante, se puede mover el cursor sobre el diagrama y una nueva ventana se abrir en la parte inferior de sta con informacin sobre la posicin del cursor. Haciendo doble-click en el diagrama, se abrir una ventana que nos permitir fijar ciertos parmetros, agregar etiquetas, ttulos, etc. Para ms detalles e informacin adicional acerca del diagrama de bode, tipear CC>help bode Robustez y Estabilidad Relativa Para comprobar la robustez y la estabilidad relativa del sistema, utilice el comando MARGIN tipeando: CC>margin(g) En la pantalla se podr observar el margen de Fase y ganancia y las frecuencias dnde se miden como as tambin el pico de resonancia y la frecuencia de resonancia:

Tutorial para uso de ProgramCC

Pgina 6 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

At w= 9.18 r/s, Phase margin= 19.79 deg, Delay margin= 0.0376 sec At w= 9.76 r/s, Mp= 3.16 (10.00 dB) At w= 12.6 r/s, Gain margin= 1.86 ( 5.40 dB) Para comprobar el valor complejo como as tambin la magnitud y fase del sistema a una frecuencia especifica, tipear: CC>point(g,1) En la pantalla se podr observar: At s = 0 + 1j g(s) = 6.195 - 4.887j Magnitude = 7.890 (17.94 dB) Phase = -38.27 deg

Diagrama de Nyquist
Al igual que con el diagrama de BODE, ProgramCC tiene la capacidad de graficar el diagrama de nyquist. Siguiendo con la misma funcin de transferencia para la cual obtuvimos el bode, tipear: CC> nyquist(g) El diagrama de nyquist resultante aparecer en una nueva ventana y mostrara lo siguiente:

Tutorial para uso de ProgramCC

Pgina 7 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Al igual que para bode, en la ventana resultante, se puede mover el cursor sobre el diagrama y una nueva ventana se abrir en la parte inferior de sta con informacin sobre la posicin del cursor. Haciendo doble-click en el diagrama, se abrir una ventana que nos permitir fijar ciertos parmetros, agregar etiquetas, ttulos, etc. Clickeando con el botn derecho sobre el diagrama se podr seleccionar la opcin para mostrarlo en coordenadas polares. Para ms detalles e informacin adicional acerca del diagrama de nyquist, tipear: CC>help nyquist

Grficas temporales
La funcin time grafica la respuesta temporal al escaln unitario. Por ejemplo, para hallar la respuesta temporal de: s-5 g(s) = s2 +3s +2 Primero, debemos ingresar la funcin: CC>g=(s-5)/(s^2+3*s+2) Seguido de: CC>time(g) Seguidamente, aparecer una nueva ventana con la grfica de la respuesta temporal:

Tutorial para uso de ProgramCC

Pgina 8 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Aqu tambin, haciendo doble-click en la grfica, se abrir una ventana que nos permitir fijar ciertos parmetros, agregar etiquetas, ttulos, etc. Una alternativa para llegar a esto, es tipeando: CC>time La siguiente dilogo aparecer: ventana de

Esta ventana, nos dar ms flexibilidad en la eleccin de los parmetros. El cuadro de dialogo puede ampliarse clickeando en el botn more. Esto nos permitir colocar etiquetas, colores de las grficas, ttulos, etc. Tambin se puede graficar la respuesta temporal de diferentes funciones, separndolas por comas en el cuadro tf. Se pueden ingresar, adems, funciones algebraicas en este casillero. Por ejemplo, para graficar la respuesta al escaln unitario de dos funciones: g1(s) y g12(s), procederemos primeramente con: CC>time Y completaremos el cuadro como se muestra en la pgina siguiente:

Tutorial para uso de ProgramCC

Pgina 9 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

La salida mostrar ambas respuestas:

IMPORTANTE! Recordar que el comando time grafica la respuesta al escaln unitario, por lo tanto, multiplica automticamente la funcin de transferencia por 1/s. Tener esto presente al momento de buscar diferentes respuestas. Otra aclaracin de sumo inters para nuestros fines, es que ProgramCC no cierra el bucle para obtener la respuesta temporal de un sistema. Veamos el siguiente ejemplo, donde pretendemos obtener la respuesta de un sistema G(s) que trabaja un lazo cerrado de control con realimentacin unitaria y negativo. Suponer que la consigna o referencia x(t) es una entrada rampa unitaria: X(s)
+

Y(s)
-

Primeramente, ingresamos la funcin de transferencia: CC>g=10/(s+1)

Tutorial para uso de ProgramCC

Pgina 10 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Ahora bien, para hallar la respuesta temporal de este mismo sistema a bucle cerrado, debemos prestar especial atencin al hecho de que la funcin de transferencia de inters pasar a ser:

Para lo cual ingresaremos la siguiente lnea: CC>f=g/(1+g) CC>f

Luego debemos multiplicar a f(s) por 1/s, recordando que al ejecutar el comando time, ProgramCC automticamente multiplica a la funcin por 1/s. De esta forma generamos que la entrada sea una rampa de pendiente unitaria cuya transformada de Laplace es 1/s2. Por lo antes expuesto hay que hacer un paso intermedio, que no necesariamente se debe realizarse en una lnea separada, sino que puede ser incluido en el mismo comando time: Ahora s, para hallar la respuesta deseada, debemos ingresar: CC>time(f*(1/s)) Y el software abrir una nueva ventana con la siguiente grfica:

Tutorial para uso de ProgramCC

Pgina 11 de 12

Facultad de Ingeniera

Bioingeniera

Control de Procesos

Funciones adicionales Este tutorial ha explorado algunas de los comandos que sern utilizados comnmente. La lista completa de comandos y funciones que se pueden realizar con ProgramCC se encuentra en: http://www.programcc.com/pdf/PCC_command_list.PDF

Tutorial para uso de ProgramCC

Pgina 12 de 12

You might also like