Home

Informe - Escuela de Ingeniería Eléctrica

image

Contents

1. break case arrietaservo printf lt h2 gt M amp eacute todo de Arrieta para servomecanismos lt h2 gt a 1 0 2438 a 2 0 1140 b 1 0 5305 b 21 0 5131 c 1 1 0299 c 2 1 0382 d 1 0 9377 d 2 0 9953 e 1 0 4337 e 2 0 2073 f 1 0 8714 2 1 5246 printf lt strong gt Par amp aacute metros del controlador PI lt strong gt lt p gt for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti il tau d i e 1 pow tm tau E 1 fputs criterios i stdout printf lt p gt Kc Sf Ti f lt p gt kcl lil if tm tau lt 0 1 100 printf lt span style color rgb 255 0 0 gt El mseacute todo no aplica ya que tm tau 1t 0 1 lt span gt lt p gt bandera 1 break case solerareg printf lt h2 gt M amp eacute todo de Solera para reguladores lt h2 gt a 1 0 1234 a 2 0 b 1 1 0640 b 2 0 9239 c 1 1 0 9487 c 2 0 8616 d 1 2 48 d 2 2 0230 e 1 0 0607 e 2 0 1336 f 1 2 0550 f 2 1 3590 printf lt strong gt Parsaacute metros del controlador PI lt strong gt lt p gt for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i fputs criterios i stdout printf lt p gt Kc Sf Ti f lt p gt kcl lil if tm tau lt 0 5 printf lt span style color rgb 255 0 0 gt El mseacute todo no aplica ya que tm tau
2. asignaciA n a modelo de la variable modelo recibida modelo Request getForm modelo switch para crear el modelo switch modelo case division for k 0 k lt 5 k num k atof value k den k atof value k 5 sys model tf num den break case pyz nz atoi Request getForm nz array double complex zeros nz for k 0 k lt nz k zeros k atoc value k np atoi Request getForm np array double complex polos np for k 0 k lt np k 85 polos k atoc value k 4 kp atof value 8 sys model zpk zeros polos kp break switch para crear el numerador y denominador de la funcion de transferencia del controlador switch control case pst kcl Request getForm kcp kc atof kcl Y numcontrol 2 kc dencontrol 2 1 break case pi kcl Request getForm kcpi til Request getForm tipi kc atof kc1 ti atof til numcontrol 1 kc ti numcontrol 2 kc dencontrol 1 ti break case pd kcl Request getForm kcpd tdl Request getForm tdpd kc atof kcl td atof tdl numcontrol 1 kc td 1 0 1 numcontrol 0 kc dencontrol 1 0 1 td dencontrol 0 1 break Case pid kcl Request getForm kcpid til Request getForm tipid td1l Request getForm tdpid kc atof kcl ti atof til td atof tdl 86 numcontrol numcontrol L 2 kc 1 kc
3. declaracion de zmap como un objeto CPlot lass CPlot zmap sys sera un objeto CControl representar la funci n de transferencia cl lass CControl sys array double den 3 0 0 0 array double num 1 0 obtiene el valor modelo modelo Request getForm modelo asignacion de valores a den y num seg n el caso switch modelo case primerorden kp Request getForm kp tau Request getForm taul num 0 atof kp den 1 atof tau den 2 1 break case polodoble kp Request getForm kp2 tau Request getForm tau2 num 0 atof kp den 0 atof tau atof tau den 1 2 atof tau den 2 1 break case segundoorden kp Request getForm kp3 la frecuencia natural la llamaremos tau 62 tau Request getForm w damp Request getForm damp num 0 atof kp atof tau atof tau den 0 1 den 1 2 atof damp atof tau den 2 atof tau atof tau break creaci n de la funci n de transferencia sys model tf num den obtenci n del n mero de polos y ceros np sys size p nz ssize TZ y3 sys vectores de ceros y polos complejos array float complex z nz array float complex plInpl array float preal np pimag np zreal nz imagine 4 0 0 0 0 real 4 0 0 0 0 zimag nz asignaci n del vector de ceros a z y del vector de polos a p sys tzero z sys pole p d
4. http www jhu edu signals bandwidth index html 7 Sense and sensitivites http www jhu edu signals sensitivity index htm 8 Goodwin Graebe amp Salgado Control System Design http csd newcastle edu au 9 Temperature Controller Simulation http newton ex ac uk teaching CDH W Feedback OvSimForm gen html 10 Resource Center for Engineering Laboratories on the Web http chem engr utc edu 11 KYBSIM http techteach no kybsim index_eng htm 12 Shaw J PID Tutotial http www jashaw com pid tutorial 13 Virtual Control Lab http www esr ruhr uni bochum de VCLab 14 Tutorial sobre controladores PID http disa bi ehu es spanish tutoriales pid leeme html 15 Web Based Control System Design and An lisis http www softintegration com webservices control 36 16 Descripci n del curso IE 0423 Sistemas de Control Escuela de Ingenieria El ctrica Universidad de Costa Rica II 2006 17 Ex menes del curso IE 0423 Sistemas de Control Escuela de Ingenieria El ctrica Universidad de Costa Rica 2002 2005 18 Alfaro V M todo de identificaci n de tres puntos 123c Escuela de Ingenier a El ctrica Universidad de Costa Rica agosto 2006 19 Alfaro V M todos de sintonizaci n Escuela de Ingenier a El ctrica Universidad de Costa Rica Junio 2006 37 APENDICES Guia del Programador 38 Universidad de Costa
5. 1t 0 5 lt span gt lt p gt bandera 1 break case soleraservo printf lt h2 gt M amp eacute todo de Solera para servomecanismos lt h2 gt if tm tau lt 0 65 a 1 0 b 1 0 8629 c 1 0 5814 d 1 0 e 1 2 1360 f 1 0 0861 elsel a 1 0 101 if tm tau lt 0 35 2 0 2 1 0 6477 2 0 4927 2 0 2 1 46 12707 2 0 0429 h 0 QO D 0 elsel 0 6477 0 4927 1 7910 0 1012 1 772 hoan ow NNNNNN printf lt strong gt Par amp aacute metros del controlador PI lt strong gt lt p gt for i 1 i lt 3 i kc i ali b i pow tm tau c i kp ti i tau d i t e i pow tm tau f i fputs criterios i stdout printf lt p gt Kc Sf Ti f lt p gt keli if tm tau lt 0 5 printf lt span style color rgb 255 0 0 gt El mseacute todo no aplica ya que tm tau 1t 0 5 lt span gt lt p gt bandera 1 break break case pid switch metodo case zyn kc 0 2 tau kp tm 102 PID lt strong gt lt p gt ti 0 2 5 tm td 0 0 4 tm printf lt h2 gt M eacute todo de Z y N lt h2 gt lt p gt printf lt strong gt Parsaacute metros del controlador printf Kc f lt p gt kc 0 printf Ti f lt p gt ti 0 printf Td f lt p gt td 0 if tm gt tau printf lt span style color rgb 255 0 0 gt El m amp eacute to
6. amp stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt td gt envAo de informaciA n a modulo4_regulador_1 ch 83 printf lt center gt lt img src X modulo4_regulador_1 ch for i 0 i lt k i putc i 0 fputs Server URL putc stdout fputs Server URLEncode values i stdout 12 amp stdout 7 Encode name i stdout gt n lt center gt n printf printf lt td gt printf lt tr gt printf lt table gt Response end 84 modulo4 servo_1 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraciA n de clases y variables int k np nz chstrarray name value class CResponse Response class CRequest Request class CPlot plot char control kcl til tdl modelo double kc ti td kp double array den 5 0 0 0 0 0 num 5 0 0 0 0 0 numcontrol 3 0 0 0 dencontrol 3 0 0 0 numretro 1 1 denretro 1 1 class CControl sys controlador retro sys2 sys3 asignaciAn a name y value de los valores recibidos Request getFormNameValue name value asignaciA n a control de la variable control recibida control Request getForm control
7. break case segundoorden kp Request getForm kp3 la frecuencia natural la llamaremos tau tau Request getForm w damp Request getForm damp num 0 atof kp atof tau atof tau den 0 1 60 den 1 2 atof damp atof tau den 2 atof tau atof tau break creaci n de la funci n de transferencia sys model tf num den creaci n de respuesta tipo imagen Response setContentType image png Response begin habilita la grilla sys grid 1 sys step 8 plot NULL NULL NULL gr fica de la respuesta al escal n plot title Respuesta al escalon t tulos del gr fico forma de enviar la imagen para que pueda ser interpretada por el browser plot label PLOT_AXIS_X Tiempo s plot label PLOT_AXIS_Y Amplitud grafico tipo png plot outputType PLOT_OUTPUTTYPE_STREAM png color plot size 0 7 0 7 graficaci n del gr fico con las caracter sticas a adidas plot plotting fin de la respuesta Response end 61 modulol_pzmap ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt include lt numeric h gt int main declaraci n de variables int kp tau damp np nz 1i chstrarray name 4 value 4 char modelo declaraci n de clases cl cl c lass CResponse Response lass CRequest Request
8. lazo gt step amp plot2 NULL NULL NULL i 1 0 1 i 0 1 ta i id denpid plot2 legend ISE 0 plot2 legend IAE 1 plot2 legend ITAE 2 break case rovira a 1 1 0860 a 2 0 9650 b 1 0 8690 b 2 0 8500 c 1 0 7400 c 2 1 7960 da 1 0 1300 d 2 0 1465 e 1 0 3480 e 2 0 3080 f 1 0 9140 f 2 0 9290 for i 1 1 lt 3 1 kc i a i kp pow tm tau b i tili tau c i d i tm tau td i l e i tau pow tm tau b i for i 1 1 lt 3 i numpid 0 kc i td i t numpid 1 kc i ti il kce numpid 2 kc il denpid 0 0 1 td i ti il denpid 1 ti il denpid 2 0 controll model tf numpi serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietareg a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 121 c 1 1 1251 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 f 2 0 1789 g 1 0 0003 g 2 0 0053 h 1 0 3838 h 2 0 3695 j 1 0 9479 5 j 2 0 9286 for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i e 1 pow tm tau f 1 5 td i tau g il h i pow tm tau j li for i1 1 i lt 3 1i a numpid 0 kc i td i tif i 1 0 1 numpid 1 kc
9. plot size 0 7 0 7 plot grid PLOT_ON plot plotting Response end 91 modulo5 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraciA n de variables y clases int i k np nz loc envio chstrarray name 16 values 16 criterios 3 criterios 0 ISE criterios 1 IAE criterios 2 ITAE char control modelo metodo double num 5 den 5 y 2001 t 2001 pend 2000 kc 3 0 0 0 ti 3 0 0 0 td 3 0 0 0 y25 t25 y50 t50 y75 t75 y63 t63 m p tau tm kp dt tpm ind tfinal tmoriginal bandera 0 double a 3 0 0 0 b 3 0 0 0 c 3 0 0 0 d 3 0 0 0 e 3 0 0 0 f 3 0 0 0 g 3 0 0 0 h 3 0 0 0 j 3 0 0 0 class CResponse Response lass CRequest Request lass CServer Server lass CControl sys sys2 lass CPlot plot el el el el creaciA3n e inicio de respuesta tipo html Response setContentType text html Response begin titulo de la respuesta Response title Sintonizacig amp oacute n de controladores limpia el buffer setbuf stdout NULL Imprime el titulo de la respuesta printf lt H1 gt Sintonizacig oacute n de controladores lt Hl gt 1n printf lt p gt lt strong gt P aacute ramentros del modelo obtenido lt strong gt lt p gt obtenciA n del parAjmetro modelo control y mA todo de sintonizaciA3n modelo Reque
10. printf kp f tau 5f tm f lt p gt kpmodel taumodel tmmodel break case doble printf lt H2 gt Modelo de polo doble m amp aacute s tiempo muerto lt H2 gt lt p gt printf lt strong gt Pargsaacute metros del modelo lt strong gt lt p gt printf kp f tau 5 f tm f lt p gt kpmodel taumodel tmmodel break case segundo printf lt H2 gt Modelo de segundo orden sobreamortiguado m amp aacute s tiempo muerto lt H2 gt lt center gt 70 printf lt strong gt Par amp aacute metros del modelo lt strong gt lt p gt printf kp f tau sf tm f a f lt p gt kpmodel taumodel tmmodel a break if bandera 1 printf lt span style color rgb 255 0 0 gt El tiempo muerto calculado originalmente es f lt span gt lt p gt tmoriginal printf lt span style color rgb 255 0 0 gt Ha sido ajustado a 0 por ser negativo lt span gt printf lt p gt lt strong gt Indice de bondad del modelo lt strong gt lt p gt printf S2 Sf s2 printf lt center gt lt img src modulo2_image_1l ch for i 0 i lt envio it t paso de la informaci n a modulo2_image_1 ch de manera que se llame la funci n como si se usara el m todo GET para cgis putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i std
11. ti 0 1 td numcontrol dencontrol dencontrol 0 kc ti td 1 0 1 2 0 L 1l ti dencontrol break 0 ti 0 1 td creaciA n de la funciA n de transferencia del controlador controlador model tf numcontrol dencontrol conecta el sys2 controlador series 8sys la retroal controlador y la planta en serie limentacion tiene ganancia unitaria retro model tf numretro denretro creaciA3n del lazo de retroalimentaciA 3n sys3 sys2 gt feedback retro creaciA n e Response setContentType image png Response begin respuesta al sys3 gt step pl inicio de respuesta tipo imagen escalA3 n del servomecanismo ot NULL NULL NULL propiedades del grAjfico pl pl Pe pl lot title Servomecanismo pl formato de imagen tipo png ot outputType PLOT_OUTPUTTYPE_STREAM png color ot size 0 7 0 7 ot grid PLOT_ON ot plotting Response end 87 modu lo4_regulador_1 ch bin ch incl incl incl lude lt cgi h gt ude lt control h gt ude lt chplot h gt incl ude lt numeric h gt int main declaraciA n de clases y variables int k np nz ornum orden chstrarray name value c Lass CResponse Response class CRequest Request class CPlot plot plot2 char control kcl til tdl modelo doub
12. ITAE 1 break case solerareg a 1 0 6199 a 2 0 5361 b 1 1 1080 140 b 2 1 1210 c 1 1 4810 c 2 1 4470 d 1 1 1940 d 2 2 9570 e 1 2 8340 e 2 4 7350 f 1 0 2686 2 0 1556 g 1 0 2729 g 2 0 2507 h 1 1 0640 h 2 0 9522 j3 1 0 3521 3 2 0 3039 for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il for i 1 1 lt 3 1i Klan aril ti 1 1 1 0 1 i i kc i 0 1 td i 1 ta il ti lil controll model tf numpid denpid lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case soleraservo if tm tau lt 0 45 a 1 0 b 1 1 2460 c 1 0 8050 a 1 2 1420 e 1 0 1356 f 1 0 2790 elsel 141 if tm tau lt 0 65 2 2 2 2 2 2 NN NNNDN NH 0 3004 0 8471 0 9218 1 6980 0 3713 0 2957 0 3004 0 8471 0 9218 1 9390 0 1486 l 5935 for i 1 i lt 3 it kc i ali b i pow tm tau c i kp ti il tau d i e i pow tm tau f i td i tau g i h i pow tm tau j i for i 1 1 lt 3 1 numpid 0 kc i td i ti i 1 0 1 numpid 1 kc i ti i kc i1 0 1 td il numpid 2
13. dulo de sintonizaci n requiere que el usuario indique el tipo de controlador que quiere obtener y que ingrese la informaci n de la planta a controlar La funci n de transferencia se puede expresar en su forma de divisi n de polinomios de frecuencia 6699 compleja s o en su forma de polos y ceros Los controladores disponibles son el P PI y PID 31 El usuario puede adem s escoger entre varios m todos de sintonizaci n Los m todos disponibles son e Zieglers y Nichols e L pez e Rovira e Arrieta para regulador e Arrieta para servomecanismo e Solera para regulador e Solera para servomecanismo Para cada uno de los m todos el programa calcula el modelo requerido por el m todo de sintonizaci n ya sea de polo simple o polo doble Una vez que se calcula el modelo se obtienen los par metros correspondientes al controlador deseado En aquellos casos que el m todo este definido para varios criterios de desempe o estos son tomados en cuenta Finalmente se despliegan en pantalla las respuestas correspondientes a una entrada escal n en el valor deseado y una entrada escal n en la perturbaci n a los lazos de control Se presenta un ejemplo para un controlador PID utilizando el m todo de Solera como regulador para una planta con la siguiente funci n de transferencia 1 G s p s Rc 1257 65 1 32 Sintonizaci n de Controladores En esta secci n se sintonizan controladores P PI y PID Inicio Ayuda
14. kc il denpid 0 0 1 td i ti il denpid 1 ti il denpid 2 0 controll model tf numpid denpid lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 142 break break formato png para que sea interpretada por el browser lot2 outputType PLOT_OUTPUTTYPE_STREAM png color pl propiedades del g afico plot2 title Regulador plot2 grid PLOT_ON P P R ot2 size 0 7 0 7 ot2 plotting esponse end 143
15. name 3 z4 name 4 p1 name 5 p2 name 6 p3 name 7 p4 name 8 kp name 9 modelo name 10 control name 11 nz name 12 np name 13 metodo values 0 Request getForm z1 values 1 Request getForm z2 values 2 Request getForm z3 values 3 Request getForm z4 values 4 Request getForm p1 values 5 Request getForm p2 values 6 Request getForm p3 values 7 Request getForm p4 values 8 Request getForm kp values 9 modelo values 10 control values 11 Request getForm nz values 12 Request getForm np values 13 metodo break 128 creaciA n de la funciA n de transferencia de la planta segA n modelo seleccionado switch modelo case division for k 0 k lt 5 k num k atof values k den k atof values k 5 sys model tf num den break case pyz nz atoi Request getForm nz array double complex zeros nz for k 0 k lt nz k zeros k atoc values k np atoi Request getForm np array double complex polos np for k 0 k lt np k polos k atoc values k 4 kp atof values 8 sys model zpk zeros polos kp break curva de reacciA n sys step amp plot y t NULL tfinal t 2000 sys step amp plot y t NULL tfinal 5 cAjlculo de tiempos para obtenciA3n de modelos y63 y 2000 0 63 for i
16. stdout printf gt n lt center gt n printf lt td gt printf lt td gt printf lt center gt lt img src ch modulol_pzmap ch paso de informaciA3n a modulol_pzmap ch for i 0 1 lt 3 1 putc i 0 stdout fputs Server URLEncode name i stdout putc stdout 57 fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt tr gt printf lt table gt break Case segundoorden printf Seleccionstoacute el modelo de segundo orden lt p gt kp3 Request getForm kp3 wn Request getForm w chi Request getForm chi name 0 kp3 name 1 w name 2 damp name 3 modelo values 0 kp3 values 1 wn values 2 chi values 3 modelo printf lt table border 2 align center cellspacing 0 cellpadding 20 bgcolor 0ale42 gt printf lt tr gt lt td gt printf lt center gt lt img src ch modulol_step ch paso de informaciAn a modulol_step ch for 1 0 1 lt 4 i putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt td gt paso de informaciA3n a modulol_pzmap ch printf lt cente
17. td i for 1 0 1 lt 3 1 numpid numpid numpid denpid denpid denpid controll mode lazo sys feedback amp controll lazo gt step amp p a i kp pow tm tau c i tau pow tm tau e i tau pow tm tau b 11 aiig f i i 1 0 1 i 0 1 ta i i ti 1 tf numpid denpid Lot2 NULL NULL NULL b 11 b il EELIS CEOS TY i 0 1 td il plot2 legend ISE 0 plot2 legend IAE 1 plot2 legend ITAE 2 break case rovira a 1 1 0860 a 2 0 9650 b 1 0 8690 b 2 0 8500 c 1 0 7400 c 2 1 7960 d 1 0 1300 d 2 0 1465 e 1 0 3480 e 2 0 3080 f 1 0 9140 f 2 0 9290 for i 1 1 lt 3 1 kc i a i kp pow tm tau ti i tau c lil d i tm tau td i e 1 tau pow tm tau for i 1 1 lt 3 i numpid 0 kc i td i t numpid 1 kc i tif i t kc numpid 2 kc il denpid 0 0 1 td i til il denpid 1 til il denpid 2 0 controll model tf numpid denpid lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietareg a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 c 1 1 1251 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 2 0 1789 g 1 0 0003 g 2 0 0053 h
18. 0 i lt 2001 i loc i if y i gt y63 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc 129 t63 y63 p m y25 y 2000 0 25 for i 0 i lt 2001 i loc i if y i gt y25 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t25 y25 p m y 15 y 2000 1 0 755 for i 0 i lt 2001 1 loc i if yli gt y75 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t75 y75 p m y50 y 2000 1 0 50 5 for i 0 i lt 2001 1 loc i if y i gt y50 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t50 y50 p m identificaciA3n de modelos segA n el caso tangente para Zieglers y Nichols polo doble usando 123c de Alfaro para Solera primer orden usando 123c de Alfaro en los demAjs casos switch metodo case zyn kp y 2000 tau t63 rutina para identificar segun metodo de la tangente dt t 1 t 0 pend 0 0 for i1 1 1 lt 1999 i pend il y i 11 y i 1 2 dt 130 ind maxloc pend tpm t ind tm 1 y ind pend ind tpm break case solerareg kp y 2000 tau 0 5776 t75 t25 tm 1 5552 t25 0 5552 t75 if tm lt 0 tm 0 break case soleraservo kp y 2000 tau 0 5776 t75 t25 tm 1 5552 t25 0 5552 t75 if tm lt 0 tm 0 break default kp y 2000 tau 0 9102 t75 t25 tm 1 2620
19. 0 i lt 2001 i loc i if y lil gt y75 i 2001 m y loc y loc 1 t loc t loc 1 b y loc m t loc t75 y75 b m obtenci n del par t50 y50 usando interpolaci n lineal y50 y 2000 0 50 for i 0 i lt 2001 i loc i if y i gt y50 i 2001 m y loc y loc 1 t loc t loc 1 b y loc m t loc t50 y50 b m Fin de la rutina para calculo de tiempos RUTINA PARA OBTENER MODELO creaci n de los modelos identificados seg n sea el modelo deseado en todos los casos se utiliza el m todo 123c de Alfaro switch id case primer kpmodel y 2000 taumodel 0 9102 t75 t25 tmmodel 1 2620 t25 0 2620 t75 double num2 1 kpmodel double den2 2 taumodel 1 sys2 model tf num2 den2 sys2 step amp plot NULL t2 NULL break Case doble kpmodel y 2000 taumodel 0 5776 t75 t25 tmmodel 1 5552 t25 0 5552 t75 double num3 1 kpmodel double den3 3 taumodel taumodel 2 taumodel 1 sys2 model tf num3 den3 sys2 step amp plot NULL t2 NULL 68 break case segundo kpmodel y 2000 a 0 6240 t25 0 9866 t50 0 3626 t75 0 3533 t25 0 7036 t50 0 3503 t 75 taumodel t75 t25 0 9866 0 7036 a tmmodel t75 1 34214 1 3455 a taumodel double num4 1 kpmodel double den4 3 taumodel a taumodel taumodel a taumodel 1 sys2 model tf num4 den4 sys2 step amp plot N
20. 0 i lt envio i putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt td gt printf lt center gt lt img src modulo5_image_2 ch envAo de parAjmetros a modulo5_image_1 ch for i 0 i lt envio 1 putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt pranti lt tr gt printf lt table gt Response end 108 modulo5 mage 1 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraciA n de clases y variables int i k np nz loc chstrarray name 16 values 16 criterios 3 criterios 0 ISE criterios 1 IAE criterios 2 ITAE char control modelo metodo double num 5 den 5 y 2001 t 2001 pend 2000 kc 3 0 0 0 tif 3 0 0 0 td 3 0 0 0 y25 t25 y50 t50 y75 t75 y63 t63 m p tau tm kp dt tpm ind tfinal double a 3 0 0 0 b 3 0 0 0 c 3 0 0 0 d 3 0 0 0 e 3 0 0 0 3 0 0 0 g 3 0 0 0 h 3 0 0 0 j 3 0 0 0 ouble numretro 1 1 denretro 1 1 lass CResponse Response lass CRequest Request lass CServer Server lass
21. APPLICATIONS INCL BASIC PID TUNING You the controller Level control of wood chip tank Temperature control of liquid tank Plant control Quality and flow control including ratio control Figura 2 10 Vista en pantalla del sitio de TechTeach 2 6 Pagina personal de John Shaw 12 Esta pagina personal presenta un tutorial no interactivo de sistemas de control PID asi como la sintonizaci n de los mismos Entre los temas expuestos se encuentran 15 El lazo de control Las respuestas del proceso y los efectos sobre ella de las perturbaciones Algoritmos PID y sus caracter sticas Este tutorial puede servir como complemento para los estudiantes del curso de Control autom tico 2 7 Sitio de la Universidad de Bochum en Ruhr Alemania 13 En esta p gina se encuentra el VCLab herramienta desarrollada con el prop sito de simular experimentos de laboratorio v a Internet Entre los problemas de control que se presentan encontramos Bola y balanza Gyrop ndulo 3 tanques Este sitio presenta el inconveniente de que para su utilizaci n se necesita contar con Matlab y Netscape as como descargar los complementos necesarios lo que limita en gran medida su uso generalizado 16 Bode plot for LTI system The following LTI system is given a ll F 03 9 Bode Dlagrams Frequency rad sec y li NL oe 6 move slider to change dampin x 0 1 1 y G Click on all equa
22. CControl sys controll serie lazo sys4 retro lass CPlot plot plot2 qgqaaqaaasad creaciA n de una respuesta tipo imagen Response setContentType image png Response begin setbuf stdout NULL limpia el buffer obtenciA n de los parAjmetos modelo control y mA todo de sintonizaciA3n modelo Request getForm modelo control Request getForm control metodo Request getForm metodo asignaciA n a name y values de los valores recibidos switch modelo case division name 0 num4 109 name 1 num3 name 2 num2 name 3 numl1 name 4 num0 name 5 den4 name 6 den3 name 7 den2 name 8 denl1 name 9 den0 name 10 control name 11 modelo name 12 metodo values 0 Request getForm num4 values 1 Request getForm num3 values 2 Request getForm num2 values 3 Request getForm numl1 values 4 Request getForm num0 values 5 Request getForm den4 values 6 Request getForm den3 values 7 Request getForm den2 values 8 Request getForm denl values 9 Request getForm den0 values 10 control values 11 modelo values 12 metodo break case pyz name 0 z1 name 1 z2 name 2 z3 name 3 z4 name 4 p1 Baie e E st name 6 p3 name 7 p4
23. Funci n de transferencia de la planta Introduzca los datos de la planta 3 Divisi n de polinomios de s Numerador de la funci n de transferencia O Js 3 S20 salt Denominador de la funci n de transferencia O dB 3 12 Saxe elt O Polos y ceros reales del sistema Introduzca la ganancia kp y los ceros y polos Ceros 119 8 JO deceros 0 O1 02 03 O4 Polos 05 05 05 Jo depols O0 O1 O2 03 O4 Constante K 05 Selecci n del controlador Op Op OPD M todo de sintonizacion Arrieta regulador Arrieta servomecanismo L pez Miller Smith y Murrill regulador O Rovira Murrill y Smith servomecanismo Solera regulador O Solera servomecanismo O Ziegler y Nichols regulador Analizar Figura 4 9 Pantalla de entrada para el m dulo de sintonizaci n de controladores Sintonizaci n de controladores P ramentros del modelo obtenido kp 1 000000 tau 2 533532 tm 1 019281 M todo de Solera para reguladores Par metros del controlador PID IAE Ke 4 887419 Ti 2 597250 Td 1 264902 ITAE Ke 4 722075 Ti 2 919936 Td 1 194134 E Figura 4 10 Respuesta del m dulo de sintonizaci n Servonecanisno Regulador Anplitude Y 15 Tine sec 10 15 Tine sec 33 CAPITULO 5 Conclusiones y recomendaciones A continuacion se listan las principales conclusiones derivadas de la elaboracion del software y de la investigaci n realizada previa
24. Rica Facultad de Ingenieria Escuela de Ingenieria El ctrica IE 0502 Proyecto El ctrico Tutor de control interactivo para Internet desarrollado en Ch Guia del Programador Por Alejandro Mora Sojo Ciudad Universitaria Rodrigo Facio Diciembre del 2006 39 Instrucciones de instalaci n El programa Ch est disponible en www softintegration com y ah mismo se encuentra la informaci n necesaria para la instalaci n del software Instrucciones de configuraci n La versi n instalada de Ch en el servidor es Ch 5 5 0 y se ejecuta de manera adecuada sin embargo se recomienda revisar el sitio www softintegration com en caso de que se le hayan hecho adiciones a las herramientas de control Es necesario contar con un servidor web El servidor actualmente utilizado es arenal eie ucr ac cr el cual cuenta con Apache 2 y cuenta con el sistema operativo Linux Tanto los documentos html como los programas para el despliegue de los gr ficos y manejo de informaci n se encuentran en la misma carpeta La carpeta es var www ch Para poder ejecutar los CG desde esta carpeta es necesario entrar a la configuraci n de Apache y cambiar el permiso correspondiente Asimismo es necesario agregar ch como un manejador de CG Para m s informaci n acerca de la configuraci n de Apache se puede ingresar a www apache org Es necesario darle permisos de lectura y ejecuci n a los archivos que se encuentren en Ivar www ch Formato ge
25. a partir de la realimentaci n Prototipo CControl feedback CControl sys2 array int feedin array int feedout int sign Par metros sys2 puntero a un objeto de la clase CControl ubicado en el lazo de retroalimentaci n feedin vector que contiene los ndices de las entradas involucradas en el lazo de retroalimentaci n feedout vector que contiene los ndices las salidas involucradas en el lazo de retroalimentaci n sign signo de la retroalimentaci n puede ser 1 o 1 Valor de retorno Puntero no nulo al objeto CControl que representa el lazo de control CControl series crea un sistema a partir de la conexi n en serie de dos sistemas Prototipo CControl series CControl sys2 array int outputl array int input2 Par metros sys2 puntero a un objeto de la clase CControl ubicado en el lazo de retroalimentaci n outputl vector que contiene los ndices de las salidas a conectar input2 vector que contiene los ndices de las entradas de sys2 que se van a conectar 48 Valor de retorno Puntero no nulo al objeto CControl que representa la conexi n en serie CControl nyquist calcula y grafica el diagrama de Nyquist Prototipo int nyquist CPlot plot array double re amp array double im amp array double wout 4 array double w amp double wmin double wmax Par metros plot puntero a un objeto de la clase CPlot donde se grafica la respuesta re vector de referen
26. c Eh Kp D 0 GG O fo fo D se solerareg 0 1234 2 0 1 1 0640 2 0 9239 1 0 9487 2 0 8616 1 2 48 2 1 2 0230 1 0 0607 2 1 0 1336 1 2 0550 2 1 3590 r i 1 i lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i r i 1 i lt 3 1 numpi 0 kc i ti i numpi 1 1 kc i denpi 0 ti il denpi 1 0 controll model tf numpi denpi serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL lot2 legend IAE 0 pI br ca if el ot2 legend ITAE 1 eak se soleraservo tm tau lt 0 65 a 1 0 b 1 0 8629 c 1 0 5814 da 1 0 e 1 2 1360 f 1 0 0861 sel a 1 0 b 1 0 8629 c 1 0 5817 d 1 2 2440 e 1 0 0555 118 f 1 3 1930 if tm tau lt 0 35 ho anaw else h 0 QO D 0 2 2 2 2 2 2 NNN N DN NH 0 0 6477 0 4927 O 1 7270 0 0429 0 6477 0 4927 1 7910 0 1012 1 772 for i 1 i lt 3 it FOR PST e da plot2 pLlot2Z break break case doubl doub switch pid Le numpi le denpi metodo kc i a i b i pow tm tau c i kp ti i tau d i t e i pow tm tau f i a a eta 1 i i T F b numpi
27. de distintos pasos en los que se presenta una descripci n del problema una descripci n de los componentes asociados al sistema Luego se presentan los diferentes algoritmos de control y sus caracter sticas P PI PID y ON OFF Se presentan adem s dos m todos de sintonizaci n para el controlador PID Finalmente se presenta el m dulo interactivo donde el usuario puede modificar los par metros del sistema los par metros de la simulaci n y los par metros del controlador figura 2 8 Es posible observar la respuesta del sistema as como un diagrama de Bode cuando se selecciona el algoritmo de control PID Es un tutorial bastante pr ctico sin embargo carece de explicaciones matem ticas que sustenten los resultados que se presentan A n as se presenta un problema interesante para ser estudiado por aquellos con conocimientos b sicos de control 12 enean matra sa minn oven temperature T to changes in heater power W and the green curve is the closed loop response of the oven temperature to changes in the set point temperature T There is a more technical discussion of aspects of this simulation available Click the graph to run the simulation See also Parameter definitions Model Parameters Simulation Parameters Controller Parameters T 25 C e PID Bode v H 10 C o 0 1 C W Run for 1000s P 900 W SC IC 10000 ec T 1150__j9C until 100 s r 2 084 s Cp 500 J C T 1175__P C after 200 s D 3 s Rpo
28. el servidor Ch por su parte incorpora varias caracteristicas de seguridad para el manejo de este tipo de interfaces Para la implementaci n de CGI la biblioteca cgi h incluye las clases CRequest CResponse CCookie y CServer cuyas funciones permiten interactuar con el usuario 24 CAPITULO 4 Tutor interactivo para control automatico El tutor interactivo de control por Internet desarrollado consta de varios m dulos cada uno con una p gina Web donde se presenta una breve explicaci n acerca de su utilizaci n y de la respuesta que se va a obtener El portal principal incluye un men donde se presentan los diferentes m dulos Durante la creaci n de los m dulos se le brind especial atenci n a la simplicidad de tal manera que el usuario no tuviera que acceder a m s de una p gina web para ingresar los datos del sistema a analizar La selecci n de los m dulos se hizo comparando el programa del curso 16 ex menes de cursos lectivos anteriores 17 y las herramientas para el an lisis de sistemas de control que se incluyen en el conjunto de herramientas de esta materia del lenguaje Ch 3 De est manera se buscaba que el tutor incluyera los temas que son m s com nmente evaluados en los ex menes los cuales se enumeran en los apartados siguientes En cada m dulo es posible acceder a un documento de ayuda que explica brevemente el funcionamiento del mismo as como una breve explicaci n de la informaci n requerida Una vez
29. i pow tm tau f i td i tau g i h i pow tm tau j i for i 1 1 lt 3 1 numpid 0 kc i td i ti i 1 0 1 numpid 1 kc i ti i kc 1 0 1 td il numpid 2 kc il denpid 0 0 1 td i til il denpid 1 ti il denpid 2 0 controll model tf numpid denpid serie controll series amp sys plot2 BH break break retro model tf numretro denretro lazo serie gt feedback retro lazo gt step 8plot2 NULL NULL NULL egend IAE 0 egend ITAE 1 125 formato png para que sea interpretada por el browser plot2 outputType PLOT_OUTPUTTYPE_STREAM png color propiedades del g afico plot2 title Servomecanismo plot2 grid PLOT_ON plot2 size 0 7 0 7 plot2 plotting Response end 126 modulo5 image 2 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraciA n de clases y variables int i k np nz loc chstrarray name 16 values 16 criterios 3 criterios 0 ISE criterios 1 IAE criterios 2 ITAE char control modelo metodo double num 5 den 5 y 2001 t 2001 pend 2000 kc 3 0 0 0 ti 3 0 0 0 td 3 0 0 0 y25 t25 y50 t50 y75 t75 y63 t63 m p tau tm kp dt tpm ind tfinal double a 3 0 0 0 b 3 0 0 0 c 3 0 0 0 d 3 0 0 0 e 3 0 0 0 3 0 0 0 g 3
30. i ti i kc i1 0 1 td il numpid 2 kc il denpid 0 0 1 td i ti il denpid 1 ti il denpid 2 0 controll model tf numpid denpid serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietaservo a 1 0 2438 a 2 0 1140 b 1 0 5305 b 2 0 5131 c 1 1 0299 c 2 1 0382 d 1 0 9377 d 2 0 9953 e 1 0 4337 e 2 0 2073 122 f 1 0 8714 f 2 1 5246 g 1 0 0146 g 2 0 0169 h 1 0 3500 h 2 0 3126 j 1 0 8100 3 2 0 7417 for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il for i 1 i lt 3 i numpid 0 kc i td i tif i 1 0 1 numpid 1 kc i tili kc i 0 1 td il l numpid 2 kc il denpid 0 0 1 td i til il denpid 1 ti il denpid 2 0 controll model tf numpid denpid serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case solerareg a 1 0 6199 a 2 0 5361 b 1 1 1080 Ine TETE c 1 1 4810 c 2 1 4470 d 1 1 1
31. ingresados los datos por el usuario estos son recibidos por la funci n de Ch correspondiente y son procesados para luego desplegar la respuesta en el navegador web Los m dulos desarrollados incluyen los siguientes temas e Respuesta de sistemas de orden reducido e Identificaci n de modelos 29 4 1 Respuesta de la planta a una entrada escal n An lisis de estabilidad An lisis de sistemas de control Sintonizaci n de controladores PID Se presenta la opci n al usuario de ingresar plantas de primer orden polo doble y segundo orden Una vez que el usuario ingresa los datos de la planta puede observar en pantalla el mapa de polos y ceros de la planta y su respuesta al escal n unitario A continuaci n se presenta un breve ejemplo usando un modelo de segundo orden con 0 7 Wn 1 y kp 1 Respuesta de la planta Aqui se le permite ingresar los datos de la planta Par metros del sistema a estudiar Introduzca el modelo de la planta y sus par metros Modelo de primer orden Introduzca la ganancia kp y la constante de tiempo tau de la planta kph tul Modelo de polo doble Introduzca la ganancia kp y la constante de tiempo tau de la planta kipi taut Modelo de segundo orden Introduzca la ganancia de la planta kp la frecuencia natural wn y la raz n de amortiguamiento Zeta Kp wal zeta 07 Inicio Ayuda Figura 4 1 Pantalla de entrada de datos del m dulo para respuesta de la
32. para modos de control sese sese 31 Figura 4 9 Pantalla de entrada para el m dulo de sintonizaci n de controladores 33 Figura 4 10 Respuesta del m dulo de SImntonizacion sss eee 33 vii NOMENCLATURA Java Lenguaje de programacion orientado a objetos desarrollado de Sun Microsystems Controlador P Controlador Proporcional Controlador PI Controlador Proporcional Integral Controlador PID Controlador Proporcional Integral Derivativo SISO Sistemas de una entrada y una salida C Shell Procesador de commandos de l nea desarrollado para Unix Html Lenguaje usado para crear las p ginas Web viii RESUMEN Considerando los requerimientos de software de los estudiantes del curso de sistemas de control autom tico y en vista de los obst culos que estos encuentran para tener acceso a estas herramientas debido a los costos de las licencias y requerimientos de instalaci n y de hardware se emprendi el proyecto de desarrollar una herramienta de an lisis de sistemas de control que estuviera disponible en Internet de manera gratuita y que no tuviera muchos requerimientos t cnicos Previo al desarrollo de la herramienta que aqu se presenta se realiz una b squeda en Internet para evaluar las herramientas existentes y determinar si estas se adecuan satisfactoriamente al contenido del curso de Sistemas de Control IE 431 Seguidamente y por medio de un estudio de sus caracter sticas se determin que el lenguaje Ch contaba con las
33. planta 26 Respuesta de la planta Seleccion el modelo de segundo orden Figura 4 2 Curvas generadas por el m dulo de respuesta de la planta 4 2 Identificaci n de modelos En esta secci n el usuario ingresa la funci n de transferencia del sistema en su forma de polos y ceros o como divisi n de polinomios de la frecuencia compleja s Adem s se le pide que ingrese el tipo de modelo a obtener ya sea este de polo simple m s tiempo muerto polo doble m s tiempo muerto o segundo orden sobreamortiguado m s tiempo muerto Luego el programa genera la respuesta al escal n del sistema ingresado y utilizando los valores de esta se encarga de obtener el modelo solicitado Seguidamente imprime en pantalla los par metros del modelo obtenido y la respuesta al escal n del sistema original y su modelo para ser comparadas por el usuario El m dulo utiliza el m todo de identificaci n 123c de Alfaro 18 Se muestra a continuaci n un ejemplo de la respuesta generada utilizando una planta de cuarto orden con la siguiente funci n de transferencia expresada en la forma de polos y ceros 27 1 s 0 625 s 0 25 s 0 5 s 1 H s Identificaci n de modelos En esta secci n se identifican los par metros de un modelo deseado de la planta Inicio Ayuda Funci n de transferencia de la planta Introduzca los datos de la planta O Divisi n de polinomios de s Polos y ceros de la planta Numerado
34. y_scale factor de escalamiento del eje y Valor de retorno 54 Ninguno CPlot legendLocation determina la localizaci n de la leyenda Prototipo void legendLocation doble x double y double z Parametro x coordenada x de la localizacion de la leyenda y coordenada y de la localizacion de la leyenda Valor de retorno Ninguno 55 Codigo Fuente modulol ch bin ch include lt cgi h gt int main int i kp tau kp2 tau2 kp3 wn chstrarray name 4 values 4 char modelo class CResponse Response class CRequest Request class CServer Server Response setContentType text html Response begin titulo de la respuesta Response title Respuesta de la planta limpia el buffer setbuf stdout NULL Imprime el titulo de la respuesta printf lt Hl gt Respuesta de la planta lt H1 gt n modelo Request getForm modelo Meh U xxxxx xswitch para crear el modelo deseado eK KKK KK switch modelo case primerorden printf Seleccionstoacute el modelo de primer orden lt p gt kp Request getForm kp tau Request getForm tau name 0 kp name 1 taul name 2 modelo values 0 kp values 1 tau values 2 modelo printf lt table border 2 align center cellspacing 0 cellpadding 20 bgcolor 0ale42 gt printf lt tre lt tds F printf lt cen
35. 0 numpi 1 denpi 0 denpi 1 0 controll model tf numpi denpi serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL egend IAE 0 egend ITAE 1 ke J kc ti id 3 id 3 119 bL t Ose 1 tar0 numpid denpid case zyn kc 0 2 tau kp tm ti 0 2 5 tm td 0 0 4 tm numpid TET 0 numpid 1 0 numpid R 0 denpid 0 0 1 denpid 1 ti 0 denpid 2 0 controll mode serie controll retro model t lazo serie gt fe lazo gt step amp pl break case lopez a 0 1 4950 1 1 4350 1 3570 0 9450 L 2 0 G o AR e ON al a b b 1 G d d Il ll o x J o lt 2 0 Hh ER h 0 0 0 G FON ol 9 A A O OOO N Il for 1 0 1 lt 3 1 for 1 0 1 lt 3 1 numpid numpid numpid denpid denpid denpid contro series sys f numretro denretro edback retro ot2 NULL NULL NULL kp pow tm tau c i tau pow tm tau e i tau pow tm tau Tis tode PEEK 120 1 0 1 ata 1 ij b 11 d il f 11 5 1 0 1 1 0 1 ta i id denpid l serie controll series 8 sys retro model tf numretro denretro lazo serie gt feedback amp retro
36. 0 0 0 h 3 0 0 0 j 3 0 0 0 ouble numretro 1 1 denretro 1 1 lass CResponse Response lass CRequest Request lass CServer Server lass CControl sys controll serie lazo sys4 retro lass CPlot plot plot2 QgQaqaqaaa inicio y creaciA3n de respuesta tipo imagen Response setContentType image png Response begin limpia el buffer setbuf stdout NULL obtenciA n de parAjmetros modelo control y metodo modelo Request getForm modelo control Request getForm control metodo Request getForm metodo switch modelo case division name 0 J num4 name 1 num3 name 2 num2 name 3 numl1 name 4 num0 name 5 den4 127 name 6 den3 name 7 den2 name 8 denl1 name 9 den0 name 10 control name 11 modelo name 12 metodo values 0 Request getForm num4 values 1 Request getForm num3 values 2 Request getForm num2 values 3 Request getForm numl1 values 4 Request getForm num0 values 5 Request getForm den4 values 6 Request getForm den3 values 7 Request getForm den2 values 8 Request getForm denl values 9 Request getForm den0O values 10 control values 11 modelo values 12 metodo break case pyz name 0 z1 name 1 z2 name 2 z3
37. 0 18 C W N 4000 W Sensor lag 2 5 s Noise 0 0 C sqrt Hz Limit I OdB phase margin 25 1 Oven Temperature CAE Figura 2 8 Vista en pantalla del sitio de la Universidad de Exeter 2 4 Sitio de la Universidad de Tennesse en Chatannogga E U A 10 En el sitio de esta universidad es posible acceder via Internet a un laboratorio real Sin embargo para tener acceso a esta opci n es necesario estar inscrito como usuario Los experimentos y la adquisici n de datos se dan en tiempo real sin embargo si un mismo sistema f sico quiere ser accedido por m s de un usuario este nuevo usuario entra en lista de espera debido a que el sistema al ser f sico y real solo puede ser utilizado por un usuario a la vez Asimismo el usuario solo puede tener acceso a uno de los m dulos que ofrece el laboratorio Los sistemas que se incluyen son los siguientes e Voltaje Temperatura e Caudal Nivel 13 Velocidad N Presion Debido a la necesidad de inscripci n previa para utilizar el equipo y que el prop sito final de este proyecto no es la evaluaci n de los m dulos de control en Internet no se presentan resultados de su utilizaci n Direcci n amp http chem engr utc edu webres Stations v exptmenu html EJI ne Select an Input Function Equipment Pictures Select a Feedback Control Figura 2 9 Sitio de la Universidad de Tennesse en Chatannogga 2 5 Sitio de l
38. 1 0 3838 h 2 0 3695 j 1 0 9479 5 j 2 0 9286 for i 1 i lt 3 1 kc il a il b i pow tm tau c il kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j i for i 1 1 lt 3 1 numpid 0 kc i td i ti i 1 0 1 numpid 1 kc i ti i kc i1 0 1 td il numpid 2 kc il denpid 0 0 1 td i ti il denpid 1 ti il denpid 2 0 controll model tf numpid denpid lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 139 break case arrietaservo a 1 0 2438 a 2 0 1140 b 1 0 5305 b 2 0 5131 c 1 1 0299 c 2 1 0382 d 1 0 9377 d 2 0 9953 e 1 0 4337 e 2 0 2073 1 0 8714 f 2 1 5246 g 1 0 0146 g 2 0 0169 h 1 0 3500 h 2 0 3126 j 1 0 8100 3 12 0 7417 for i 1 i lt 3 1 kc il a i b i pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il for i 1 1 lt 3 1i numpid 0 kc i td i ti i 1 0 1 numpid 1 kc i ti i kc i1 0 1 td il numpid 2 kc il denpid 0 0 1 td i til il denpid 1 ti il denpid 2 0 controll model tf numpid denpid lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend
39. 25 y 2000 0 25 for i 0 i lt 2001 i 1 loc i if yli gt y25 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t25 y25 p m y75 y 2000 0 75 for i 0 i lt 2001 i loc i if yli gt y75 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t75 y75 p m y50 y 2000 1 0 50 5 for i 0 i lt 2001 1 loc i if y i gt y50 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t50 y50 p m identificaciA3n de modelos segA n el caso tangente para Zieglers y Nichols polo doble usando 123c de Alfaro para Solera primer orden usando 123c de Alfaro en los demAjs casos switch metodo case zyn kp y 2000 tau t63 rutina para identificar segun metodo de la tangente dt t 1 t 0 pend 0 0 112 for i 1 1 lt 1999 i pend il y i 1 1 y i 1 1 2 dt ind maxloc pend tpm t ind tm 1 y ind pend ind tpm break case solerareg kp y 2000 tau 0 5776 t75 t25 tm 1 55592 t25 0 5552 C75 if tm lt 0 tm 0 break case soleraservo kp y 2000 tau 0 5776 t75 t25 tm 1 5552 t25 0 5552 t75 if tm lt 0 tm 0 break default kp y 2000 tau 0 9102 t75 t25 tm 1 2620 t25 0 2620 t75 if tm lt 0 tm 0 break creaciA3n de la funciA n de transferencia del controlador y conexiA3n como servomecanismo se cr
40. 940 d 2 2 9570 e 1 2 8340 e 2 4 7350 f 1 0 2686 2 0 1556 g 1 0 2729 g 2 0 2507 h 1 1 0640 hf 21 0 9522 123 j 1 0 3521 j 2 0 3039 for i 1 i lt 3 1 for i 1 1 lt 3 i P P lot2 lot2 break case kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il na numpid 0 kc i td i ti i 1 0 1 5 numpid 1 kc i ti i kc i1 0 1 td il numpid 2 kc il denpid 0 0 1 td i ti il denpid 1 ti il denpid 2 0 controll model tf numpid denpid serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback retro lazo gt step 8plot2 NULL NULL NULL egend IAE 0 egend ITAE 1 soleraservo if tm tau lt 0 45 a b C d e f 1 elsel a b C d e f 1 1 0 1 1 2460 1 0 8050 1 2 1420 1 0 1356 0 2790 1 0 1 1 2460 1 0 8050 1 1 9630 1 0 0805 1 2 2110 if tm tau lt 0 65 a 2 0 3004 0 8471 b 2 c 2 0 9218 a 2 1 6980 124 Hh else h 0 ana gp PG Pel P P G NH 0 3713 0 2957 0 3004 0 8471 0 9218 1 9390 0 1486 1 593 4523 4629 2477 1414 9587 vol 53 for i 1 1 lt 3 1 kc i ali b i pow tm tau c i kp ti i tau d i t e
41. H2 gt Gr amp aacute fica de Nyquist lt H2 gt lt center gt lt p gt break paso de informaciA n hacia modulo3_image_1 ch para creaciA3n de imagen printf lt center gt lt img src X modulo3_image_1 ch for i 0 i lt k i putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n Response end 78 modulo3_image_1 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraciA3n de variables int k nz np chstrarray name value class CResponse Response class CRequest Request class CPlot plot class CControl sys double den 5 double num 5 double kp char modelo tool obtenciA n de parAjmetros modelo y tool modelo Request getForm modelo tool Request getForm tool asignaciA n a name y value de los nombres y valores de los parAjmetros recibidos Request getFormNameValue name value switch para crear el modelo segA n el caso switch modelo case division for k 0 k lt 5 k num k atof value k den k atof value k 5 sys model tf num den break case pyz nz atoi Request getForm nz array double complex zeros nz for k 0 k lt nz k zeros k atoc value k np at
42. Signal Arcade 6 Figura 2 2 Vista en pantalla de Exploring the s plane sees eee eee 7 Figura 2 3 Sistema analizado en Bode Servo analysis Olsen 8 Figura 2 4 Vista en pantalla de Bode Servo AnalVYSIS see 8 Figura 2 5 Modelo del sistema analizado en Sense and Sensitivities 7 9 Figura 2 6 Vista en pantalla de Sense and Sensitivities ec eeeeseeseceeceeeeeeeeeeeseeeeeneeeees 9 Figura 2 7 Vista en pantalla del sitio de la Universidad de Newcastle 10 Figura 2 8 Vista en pantalla del sitio de la Universidad de Exeter sse 13 Figura 2 9 Sitio de la Universidad de Tennesse en Chatannogga esccessceeseeeeeeeeees 14 Figura 2 10 Vista en pantalla del sitio de Tech Teach 15 Figura 2 11 Vista en pantalla del sitio de la Universidad de Bochum sss esse 17 Figura 3 1 Relaci n de Ch con otros lenguajes de programaci n lT 21 Figura 4 1 Pantalla de entrada de datos del m dulo para respuesta de la planta 26 Figura 4 2 Curvas generadas por el m dulo de respuesta de la planta eee 27 Figura 4 3 Pantalla de entrada del m dulo para identificaci n de modelos 28 Figura 4 4 Respuesta del m dulo de identificaci n de modelos sss sese 28 Figura 4 5 Pantalla de entrada del m dulo para an lisis de estabilidad 29 Figura 4 6 Respuesta del m dulo para an lisis de cstabildad sse 30 Figura 4 7 Pantalla de entrada del m dulo de controladores sss essen 31 Figura 4 8 Respuesta del m dulo
43. ULL t2 NULL break if tmmodel lt 0O tmoriginal tmmodel tmmodel 0 bandera 1 sys2 step amp plot2 y3 t3 NULL tfinal 1 25 rutina para graficar el tiempo muerto for 1 0 1 lt 2001 1 loc i if t il gt tmmodel i 2001 double t4 2001 loc double y4 2001 loc double yplanta2 2001 loc paso tmmodel loc 1 0 i lt loc itt t4 il paso i 4 i 0 i 0 i lt 2001 1 t4 itloc tmmodel t3 i i loc y3 1 sys grid 1 gr fico con la respuesta del modelo plotxy t4 y4 Respuesta al escalon Tiempo s Amplitud amp plot3 sys step amp plot3 yplanta2 NULL NULL t4 2001 loc 1 69 calculo del indice de bondad del modelo s2 0 for 1 0 1 lt 2001 loc i t s y4 i yplanta2 i Ss s s s2 s2 s Response setContentType text html Response begin titulo de la respuesta Response title Identificacigoacute n de modelos limpia el buffer setbuf stdout NULL Imprime el titulo de la respuesta printf lt H1 gt Identificaci amp oacute n de modelos lt Hl gt 1n switch id selecci n de t tulos de acuerdo al m todo de identificaci n case primer printf lt H2 gt Modelo de primer orden m amp aacute s tiempo muerto lt H2 gt lt p gt printf lt strong gt Pargsaacute metros del modelo lt strong gt lt p gt
44. Universidad de Costa Rica Facultad de Ingenieria Escuela de Ingenieria El ctrica IE 0502 Proyecto El ctrico Tutor de control interactivo para Internet desarrollado en Ch Por Alejandro Mora Sojo Ciudad Universitaria Rodrigo Facio Diciembre del 2006 Tutor de control interactivo para Internet desarrollado en Ch Por Alejandro Mora Sometido a la Escuela de Ingenieria El ctrica de la Facultad de Ingenieria de la Universidad de Costa Rica como requisito parcial para optar por el grado de BACHILLER EN INGENIERIA ELECTRICA Aprobado por el Tribunal Ing Victor M Alfaro Ruiz M Sc Profesor Guia Ing Federico Ruiz Ugalde Ing Andr s Diaz Soto Profesor lector Profesor lector 11 DEDICATORIA A mis padres quienes me han impulsado siempre a alcanzar mis metas A mis hermanos por inspirarme a dar siempre lo mejor de mi ill RECONOCIMIENTOS A mis profesores quienes me han ense ado el camino al conocimiento y a mis amigos compa eros en este recorrido INDICE GENERAL INDICE DE FIGURAS santas amet iran ean mura anions vii NOMENCLATURA ui viii RESUMEN aaa ARCA ix CAPITULO A gt T UT dente A E 1 Ve EADIE T 1 LETONIA IA 1 1 1 2 Objetivos especificos TT 1 1 2 Justificaci n del temis iieis ersan e a aee aE E iera lanos 2 LS Metodologiari trasine ar ea a E aaa oraaa ae aN E SAANA aaan 3 CAPITULO 2 Tutores de control disponibles en Internet sssse8 5 2 1 Sitio de John Hopkins
45. University EU A 1 5 2T FELTI arcade lindaa dos 5 21 2 Explonng hess plane usa ad 6 2 3 Bodeservo analysis LO e DAS 7 RE Sense and sensitivities Y lar a a 8 2 2 Sitio de Newcastle University Australia Sl siria iii di 9 2 3 Sitio de la Universidad de Exeter Reino Unido 9 12 2 4 Sitio de la Universidad de Tennesse en Chatannogga E U A 10 13 2 5 Sitio de la empresa Tech Teach 11 A iS iia 14 2 6 P gina personal de John Shaw WA at bad ti bbs 15 2 7 Sitio de la Universidad de Bochum en Ruhr Alemania 13T sss 16 2 8 Sitio de la Escuela Superior de Ingenieros de Bilbao Espa a Id 17 ZS SOMME A O a aa 18 CAP TULO 3 Lenguaje de programaci n Ch sss sss 20 3 1 Caracteristicas generales zneniu iese a a a a eo aaien 20 3 2 Capacidad para resolver problemas de control autom tico 3 ceseeeseeseeeteeeeeeeeeee 22 3 3 Capacidad de desarrollo de sitios Web interactivos 12T 23 CAPITULO 4 Tutor interactivo para control autom tico sss sees 25 4 1 Respuesta de la planta a una entrada escal n sese 26 4 2 Identificaci n de MOCOS ON a 27 4 3 Herramientas cl sicas para el an lisis de sistemas de control 29 4 4 Controladores HIPO do a 30 4 5 Sintonizaci n de controladores ca 31 CAPITULO 5 Conclusiones y recomendaciones cccccsssssssssseseees 34 BIBLIOGRAFI A neenotna E 36 ARENDICES Sid ELE 38 EA 38 Codigo Flete iodo dades 56 vi INDICE DE FIGURAS Figura 2 1 Vista en pantalla de
46. a 1 se establecen las propiedades de la gr fica de manera que pueda ser interpretada por el browser plot3 outputType PLOT_OUTPUTTYPE_STREAM png color plot3 plotting Response end 75 Modulo3_1 ch bin ch include lt cgi h gt int main declaraciA3n de variables int i k chstrarray name 13 values 13 char modelo tool class CResponse Response class CRequest Request class CServer Server Response setContentType text html Response begin titulo de la respuesta Response title An amp aacute lisis de estabilidad limpia el buffer setbuf stdout NULL Imprime el titulo de la respuesta printf lt Hl gt Anstaacute lisis de estabil lidad lt Hl gt 1n obtenciA3n del parAjmetro modelo y modelo Request getForm modelo tool Request getForm tool la herramienta tool switch para crear la funciA3n de transferencia segA n modelo switch modelo case division name 0 num4 name 1 num3 name 2 num2 name 3 numl1 name 4 num0 name 5 den4 name 6 den3 name 7 den2 name 8 den1 name 9 den0 name 10 modelo name 11 tool values 0 Request getForm num4 values 1 Request getForm num3 values 2 Request getForm num2 values 3 Request getForm num1 values 4 Re
47. a empresa TechTeach 11 Desarrollado en Noruega por Finn Haugen para la empresa TechTeach puede ser accedido de forma gratuita Este portal incluye una gran cantidad de simulaciones para los sistemas de control Cada m dulo de simulaci n viene con el archivo exe correspondiente la descripci n del sistema a simular los objetivos del m dulo de simulaci n as como una motivaci n para 14 ejecutar el m dulo y las tareas a realizar en l Para su ejecuci n es necesario contar con el programa LabView instalado o descargar el programa LabVIEW Run Time Engine LVRTE el cual se consigue de forma gratuita sin embargo el tama o de este programa 32MB lo hace poco atractivo para ser descargado por usuarios con conexi n a Internet por medio de una conexi n telef nica Adem s no se le podr a clasificar como un tutor por Internet ya que consta de programas que requieren instalaci n ci n http techteach no kybsim index_eng htm vo COM mz gt Click for BIS version What is KYBSIM What is needed to run the simulators Tips for using the simulators DYNAMIC SYSTEMS Sop o TRANSFER FUNCTION MODELS Gain Integrator First order system Second order system Time delay Transfer function with two poles and one zero o PHYSICAL SYSTEMS Liquid tank Spheric tank Blending tank Heated tank Mass spring damper RC circuit DC motor o STABILITY Poles and stability CONTROL Sp o
48. a entrada escal n unitario Prototipo int step class CPlot plot array double amp yout array double amp tout array double amp xout tf 46 Parametros Plot puntero a un objeto de la clase CPlot Y out vector de referencia que contendr la amplitud de la respuesta Tout vector de referencia que tendr el vector de tiempo utilizado para la simulaci n Xout vector con las trayectorias de los estados Tf tiempo final de la simulaci n Valor de retorno Cero si la operaci n es exitosa CControl margin calcula y grafica de Bode y calcula los m rgenes de ganancia y fase Prototipo int step class CPlot plot double gm double pm double wcg double wcp vs array double mag amp array double phase amp array double w amp Parametros Plot puntero a un objeto de la clase CPlot gm puntero a variable que almacenar el margen de ganancia pm puntero a variable que almacenar el margen de fase WCR puntero a varible que tendr la frecuencia de cruce por 0 dB wcp puntero a variable que tendr la frecuencia de cruce por 180 grados mag vector de referencia que contendr la amplitud de la respuesta en frecuencia phase vector de referencia que contendr la fase de la respuesta en frecuencia w vector que tendr las frecuencias utilizadas para la simulaci n Tf tiempo final de la simulaci n 47 Valor de retorno Cero si la operaci n es exitosa CControl feedback crea un sistema
49. abel PLOT_AXIS_X zmap label PLOT_AXIS_Y Eje Real Eje Imaginario grafico formato png forma de enviar la imagen para que pueda ser interpretada por el browser zmap outputType PLOT_OUTPUTTYPE_STREAM png color zmap size 0 7 0 7 crea el gr fico con las condiciones establecidas zmap grid PLOT_ON zmap plotting fin de la respuesta Response end 64 modulo2_1 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main xxXKKKKKKK XJeclaraci n de variablesk kk RK KKK KKK KKK chstrarray name 13 values 13 char modelo id xxxxxxdeclaraci n de clases para CGI class CResponse Response class CRequest Request class CServer Server x k k declaraci n de variables x int k nz np i loc envio class CPlot plot plot2 plot3 class CControl sys sys2 double den 5 double num 5 y 2001 t 2001 t2 2001 y3 2001 t3 2001 double kp y25 t25 y50 t50 y75 t 75 m b kpmodel taumodel tmmodel a paso s s2 tfinal bandera tmoriginal obtenci n del par metro modelo modelo Request getForm modelo obtenci n del par metro id m todo de identificaci n id Request getForm id switch modelo asignaci n a los vectores name y values en el caso de que el sistema se haya ingresado en su fo
50. ample Exercise on Closed Loop Bandwidth With no sensor noise adjust the open loop gain and comer frequencies so that the step response exhibits overshoot no greater than 20 and a rise time no greater than 0 2 sec Note the value of mean square steady state error in the Table Then select low gain sensor noise and adjust the open loop parameters to achieve mean square steady state error no greater than 0 0020 with 20 overshoot bound and rise time as small as possible Sample Exercise on Stability Margins Fix one of the open loop comer frequencies at a 2 rad sec Adjust the other comer frequency thereby adjusting b and k to obtain a step response with rise time less than 0 6 sec gain margin at least 6 db and phase margin at least 35 deg Sample Exercise on Closed Loop Frequency Response Adjust the open loop comer frequencies and gain so that the closed loop frequency response has the following properties the maximum magnitude is 0 db the 3 db bandwidth Figura 2 4 Vista en pantalla de Bode Servo Analysis 2 1 4 Sense and sensitivities 7 Permite al usuario observar la respuesta al escal n al modificar la perturbaci n modificar el gr fico de Bode de magnitud de ganancia y la ganancia al ruido en el lazo de retroalimentaci n Adem s presenta la sensibilidad y la sensibilidad complementaria Figura 2 5 Modelo del sistema analizado en Sense and Sensitivities 7 Plant Magnitude n Plant Phase lt G w Sensitivity IBU gr
51. ara facilitar el mantenimiento y extensi n de la aplicaci n e Es posible aumentar el orden de los sistemas a analizar sin embargo esto puede resultar en una p rdida de rapidez o simplicidad de la interfaz con el usuario e No existe mucha documentaci n de aplicaciones desarrolladas en Ch sin embargo el soporte t cnico disponible para el grupo de usuarios de Ch en Yahoo es bastante eficiente resolviendo dudas y es accesible de manera gratuita e Para facilitar la comprensi n del c digo fuente se elabor una gu a para el programador que contiene las principales funciones utilizadas Entre los temas que se pueden incluir para aumentar la utilidad de la aplicaci n se encuentran e Respuesta para plantas de orden superior e Dise o de redes de compensaci n e Determinaci n de par metros de estabilidad tales como sensibilidad maxima e Representaci n de sistemas en el espacio de estados e Transformaci n de modelos e Reducci n de modelos e An lisis de controlabilidad 35 BIBLIOGRAFIA 1 Ch an embeddable C C interpreter http www softintegration com 2 The Ch Language Environment CGI Toolkit http www softintegration com 3 Ch Control System Toolkit User s Guide http www softintegration com 4 LTI Arcade http www jhu edu signals arcade2 indexarcade2 htm 5 Exploring the s plane http www jhu edu signals explore index html 6 Bode Servo Analysis
52. blemas de control autom tico Esta herramienta contiene una clase llamada Control cuyas funciones miembros se utilizan para el dise o an lisis y modelado de los sistemas de control Algunas de las caracter sticas principales de esta herramienta son las siguientes Compatible con C C Orientado a objetos Empotrable Soporta m tliples representaciones de sistemas discretos y continuos 22 e Conversion de discreto a continuo Interconexi n de modelos An lisis en el dominio del tiempo An lisis en el dominio de la frecuencia Lugar geom trico de las ra ces para sistemas SISO e Controlabilidad y observabilidad Dise o en variables de estado Control ptimo y soluci n de ecuaciones Recursos gr ficos Las herramientas de sistemas de control de Ch realizan la gran mayor a de las tareas que realizan las herramientas equivalentes en Matlab 3 3 Capacidad de desarrollo de sitios Web interactivos 2 Ch cuenta con la capacidad de desarrollar Interfaz de Pasarela Com n CGI por sus siglas en ingl s CGI es un est ndar que especifica como programas en el exterior interact an con un servidor Web Una de las aplicaciones m s importantes para el CGI es el manejo de formas interactivas en las que un programa en el servidor recibe argumentos por medio de las formas y genera una p gina Web en forma din mica 23 Una CGI puede ser escrita en cualquier lenguaje que le permita ejecutarse en
53. c t loc 1 p y loc m t loc t75 y75 p m y50 y 2000 1 0 50 5 for i 0 i lt 2001 i loc i if y i gt y50 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t50 y50 p m creaciA3n de los modelos usando ecuaciones correspondientes al mA todo 123c de Alfaro tambiAOn se usa el mA todo de la tangente para sintonizaciA n de Zieglers y Nichols 95 switch metodo case zyn kp y 2000 tau t63 rutina para identificar segun metodo de la tangente dt t 1 t 0 pend 0 0 for i1 1 1 lt 1999 i pend i y i 1 y i 1 2 dt ind maxloc pend tpm t ind tm 1 y ind pend ind tpm if tm lt 0 tmoriginal tm tm 0 printf lt p gt kp f tau Sf tm f lt p gt kp tau tm break solera utiliza un modelo de polo doble case solerareg kp y 2000 tau 0 5776 t75 t25 tm 1 5552 t25 0 5552 t 75 if tm lt 0 tmoriginal tm tm 0 printf lt p gt kp f tau Sf tm f lt p gt kp tau tm break case soleraservo kp y 2000 tau 0 5776 t75 t25 tm 1 5552 t25 0 5552 t 75 if tm lt 0 tmoriginal tm tm 0 printf lt p gt kp f tau Sf tm f lt p gt kp tau tm break en todos los demAjs casos se usa un modelo de primer orden default kp y 2000 tau 0 9102 t75 t25 tm 1 2620 t25 0 2620 t75 if tm lt 0 tmoriginal tm 96 tm 0 printf lt p gt kp
54. cia que contendr la parte real de la respuesta en frecuencia im vector de referencia que contendr la parte imaginaria de la respuesta en frecuencia wout vector de referencia que contendr las frecuencias utilizadas en rad seg w vector de frecuencia a utilizar para el c lculo wmin wmax l mite inferior y superior del intervalo de frecuencia a utilizar input2 vector que contiene los ndices de las entradas de sys2 que se van a conectar Valor de retorno Cero si la operaci n fue exitosa CControl rlocus calcula y grafica la gr fica del lugar geom trico de las ra ces Prototipo int rlocus CPlot plot array double complex amp r array double amp kout array double amp k Parametros plot puntero a un objeto de la clase CPlot donde se grafica la respuesta r vector de referencia con la localizaci n de las ra ces 49 kout vector de referencia que contendra las ganancias utilizadas para la simulacion k vector de referencia con las ganancias especificadas por el usuario Valor de retorno Cero si la operacion fue exitosa CControl grid genera grilla para los graficos Prototipo int grid int flag Parametros flag Entero usado para activar o desactivar la grilla 1 la activa y 0 la desactiva Valor de retorno Cero si la operacion fue exitosa b Funciones del conjunto de herramientas para CGI Class CResponse Response crea objeto Response de la clase CResponse Se utiliza para generar r
55. cuentran An lisis en el dominio del tiempo e An lisis en el dominio de la frecuencia Dise o y an lisis en variables de estado e Lugar geom trico de las raices 18 Interconexi n de sistemas lineales invariantes en el tiempo Esta aplicaci n es sumamente r pida y vers til adem s de que no requiere instalar software adicional Est programada en el mismo lenguaje que el proyecto desarrollado y es la que m s se acerca al mismo 19 CAP TULO 3 Lenguaje de programaci n Ch 3 1 Caracteristicas generales El lenguaje Ch es una implementaci n de C que incorpora caracter sticas de C y otros lenguajes y paquetes que permite crear listas de instrucciones scripts desarrollar aplicaciones r pidamente y su integraci n con varios sistemas 1 Es empotrable y puede utilizarse como una m quina de listas de instrucciones para aplicaciones y hardware de C C Est especialmente dise ado para aplicaciones en ciencias e ingenier as Cuenta con soporte gr fico incorporado funciones matem ticas gen ricas y arreglos computacionales para algebra lineal y c mputo matricial Permite adem s hacer gr ficos en dos y tres dimensiones la soluci n de ecuaciones diferenciales integraci n y an lisis de Fourier entre otros Ch permite programar desde la consola utilizando un lenguaje de muy alto nivel Este lenguaje de programaci n comparte funciones con algunos otros lenguajes de programaci n y software
56. do no aplica ya que tm amp gt tau lt span gt L oacute pez lt h2 gt lt p gt PID lt strong gt lt p gt 0 gt El m amp eacute todo no aplica ya que tm tau amp lt bandera 1 break case printf Lopez lt h2 gt M amp eacute todo de y 2 01 T ET Oe 0 rg ON FON RON I I I Il ll o J eb J 0 0 kA LU o o Il Il REOOOOMNI Eh h Kp 0 o a N H ll 2 0 intf lt strong gt Pargaacute metros del controlador TO K for 1 0 1 lt 3 1 kc i a i kp pow tm tau ti i c i tau pow tm tau td il e 1 tau pow tm tau fputs criterios i stdout printf lt p gt Kc f Ti f Td f lt p gt b 11 d il flil if tm tau lt 0 1 printf lt span style color rgb 255 0 0 1 lt span gt lt p gt bandera 1 103 PID lt strong gt lt p gt 0 gt El m amp eacute todo reguladores lt h2 gt break case rovira printf lt h2 gt M eacute todo de Rovira lt h2 gt lt p gt a 1 1 0860 2 0 9650 1 0 8690 2 1 0 8500 1 0 7400 2 1 1 7960 1 0 1300 2 1 0 1465 1 0 3480 21 0 3080 1 0 9140 2 1 0 9290 printf lt strong gt Parsaacute metros del controlador D Ep FR 0 O HD00 D Er for i 1 1 lt 3 1 kc i a i kp pow tm tau blil ti il tau c il d i1 tm tau td i e 1 tau pow tm tau b i fputs criterios
57. e Al igual que C shell consola de C Ch se puede utilizar para programar desde la consola e Est dise ado y ha sido ampliamente utilizado para principiantes con experiencia computacional limitada al igual que Basic e Como Perl permite la creaci n de Interfases de Pasarela en Modo Com n CGI por sus siglas en ingl s 20 e Al igual que Java se utiliza para c mputo en l nea e Tal como lo hace JavaScript los scripts en Ch se pueden empotrar en archivos HTML e Se puede utilizar para c mputo cient fico al igual que Fortran 77 90 La figura 3 1 muestra la relaci n de Ch con los programas y lenguajes reci n mencionados Fortran Figura 3 1 Relaci n de Ch con otros lenguajes de programaci n 1 Algunas de las caracter sticas m s sobresalientes de Ch se muestran a continuaci n Interpretativo Interactivo los c digos de C se pueden escribir linea por linea Soporte gr fico y matem tico poderoso Lenguaje de muy alto nivel reduce la brecha entre lenguajes de alto y bajo nivel 21 Basado en objetos Puede ser utilizado en varias plataformas Seguro para trabajar en red Transportable Empotrable Listo para trabajar en la web 3 2 Capacidad para resolver problemas de control autom tico 3 En la p gina www softinteraction com la cual provee Ch se encuentra el Ch Control System Toolkit Esta herramienta est orientada exclusivamente a resolver pro
58. e la respuesta obtenida al solicitar la gr fica del lugar geom trico de las ra ces para un sistema con la siguiente funci n de transferencia de lazo s s 1 5s 1 mnn An lisis de estabilidad En esta secci n se le brinda la oportunidad de seleccionar entre un conjunto de herramientas cl sicas para el an lisis de la estabilidad del sistema de control Inicio Ayuda Funci n de transferencia de lazo abierto L s Introduzca la funci n de transferencia y sus par metros Divisi n de polinomios de s O Polos y ceros reales del sistema Numerador de la funci n de transferencia Introduzca la ganancia kp y los ceros y polos o s4 0 530 521 x Ceros 1 o Jo Jp de ceros OO 1 0203 04 Denominador de la funci n de transferencia Polos 1j 1j 0 0 depolos O0 01 02 O3 O4 o jso a iu Ht ConstanteK fT Selecci n de la herramienta de an lisis Lugar geom trico de las raices O Gr fico de Bode O Gr fica de Nyquist Analizar Figura 4 5 Pantalla de entrada del m dulo para an lisis de estabilidad 29 Analisis de estabilidad Grafica del lugar geometrico de las raices Root Locus Figura 4 6 Respuesta del modulo para analisis de estabilidad 4 4 Controladores P PI y PID En esta secci n se le pide al usuario ingresar la funci n de transferencia de la planta en cualquiera de sus dos formas y los par metros del controlador a utilizar seg n el controlador seleccionado Los controladores disponibles son el P
59. ean tambi0n las respuestas necesarias en plot2 kc ti y td son vectores que contienen la ganancia proporcional el tiempo integral y el tiempo derivativo se utilizan sus diferentes elementos para los diferentes criterios switch control case p double nump 1 double denp 1 1 switch metodo case zyn kc 0 tau kp tm nump 0 kc 0 113 break controll model tf nump denp serie controll series 8 sys retro model tf numretro denretro break case lopez for i 0 i lt 3 1 lazo serie gt feedback retro lazo gt step plot2 NULL NULL NULL kc i a i kp pow tm tau b i for i 0 1 lt 3 1i nump 0 kc i controll model tf nump denp serie controll series amp sys retro model tf numretro denretro break default plot2 legend ISI plot2 legend IA plot2 legend ITAE lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL E 0 E 1 U a 2 printf El m amp eacute todo seleccionado no sintoniza controladores tipo Pin break Case pi double numpi 2 double denpi 2 switch metodo 114 case zyn kc 0 0 9 tau kp tm ti 0 3 33 tm numpi 0 kc 0 ti 0 numpi 1 kc 0 denpi 0 ti 0 5 denpi 1 0 controll model tf numpi denpi serie controll series amp
60. een Complementary Sensitivity TOW red Disturbance Signal wit Sensor Noise INGW I Input Signal r and Output Signal y System is unstable Figura 2 6 Vista en pantalla de Sense and Sensitivities 2 2 Sitio de Newcastle University Australia 8 Este sitio presenta varios programas interactivos para observar algunas caracter sticas de los sistemas de control Est constituido por distintos m dulos creados en Java donde se presentan problemas reales de control Links Direcci n http csd newcastle edu au index html jer Appendices L i RS Jsquare SI j Update E Stop Reset Things to try Things to notice Change the controller gain to K 1 The response is very slow The response is faster but jumps around a lot Change the controller gainto K 5 due to the influence of measurement noise U Experiment with the controller gain to try and There might be a trade off between speed get a fast response with little noise influence and noise attenuation Now there are several things you should notice For small controller gains e g K 1 the system does not respond very quickly and is not very susceptible to noise For larger controller gains e e K 5 the system responds more auicklv but is much more suscevtible L dE http csd newcastie edu au Sides html Internet Figura 2 7 Vista en pantalla del sitio de la Universidad de Newcastle Los casos que se p
61. egA n el modelo switch modelo case division name 0 num4 name 1 num3 name 2 num2 name 3 numl name 4 num0 name 5 den4 name 6 den3 name 7 den2 name 8 den1 name 9 den0 name 10 control name 11 modelo values 0 Request getForm num4 values 1 Request getForm num3 values 2 Request getForm num2 values 3 Request getForm numl values 4 Request getForm num0 values 5 Request getForm den4 81 values 6 Request getForm den3 values 7 Request getForm den2 values 8 Request getForm denl values 9 Request getForm den0O values 10 control values 11 modelo k 12 break case pyz name 0 z1 name 1 z2 name 2 z3 name 3 z4 name 4 p1 name 5 p2 name 6 p3 name 7 p4 name 8 kp name 9 modelo name 10 control name 11 nz name 12 np values 0 Request getForm z1 values 1 Request getForm z2 values 2 Request getForm z3 values 3 Request getForm z4 values 4 Request getForm p1 values 5 Request getForm p2 values 6 Request getForm p3 values 7 Request getForm p4 values 8 Request getForm kp values 9 modelo values 10 control values 11 Request getForm nz values 12 Request getForm np k 13 break asignaciA3n del parAjm
62. el PL el PD y el controlador PID Ideal Una vez que el usuario ingresa esta informaci n el programa despliega en pantalla la respuesta a una entrada escal n en la perturbaci n contiguo a la respuesta a una entrada escal n en el valor deseado Se presenta a continuaci n el gr fico de la respuesta obtenida usando un controlador PI con un tiempo integral de 0 2s y una ganancia Kc 1 El modelo de la planta es el siguiente 1 G s p s stl 30 Controladores En esta secci n se le brinda la oportunidad de seleccionar entre un conjunto de controladores Inicio Ayuda Funci n de transferencia de la planta Introduzca la funci n de transferencia y sus parametros Divisi n de polinomios de s Polos y ceros reales del sistema Numerador de la funci n de transferencia Introduzca la ganancia kp y los ceros y polos O so sao bazo is Ceros 1 0 Jo Jo deceros 0001 0203 O4 Denominador de la funci n de transferencia Polos i 008 0 depolos O0 01 0203 04 o sMHO 30 dni HI Constante K 1 Selecci n del controlador y sus par metros OP Keh RR Kel Ti 02 OPD Kell Td 0 05 OPID Kel Ti 02 Td01 Figura 4 7 Pantalla de entrada del m dulo de controladores Respuesta del sistema de control Respuesta utilizando un controlador PI Servonecanisno Regulador gt gt 3 A E 3 3 3 E E E L Figura 4 8 Respuesta del m dulo para modos de control 4 5 Sintonizaci n de controladores El m
63. era printf lt H1 gt An amp aacute lisis de estabilidad lt H1 gt n Imprime en el documento html que se genera como respuestas Notese que es necesario insertar las etiquetas html correspondientes para lograr el formato deseado Obtenci n de par metros y asignaci n a variables modelo Request getForm modelo obtenci n del par metro modelo values 12 Request getForm np modelo Request getForm modelo Asigna a la variable tipo char apuntada por modelo el contenido del valor del par metro modelo enviado por el usuario values 12 Request getForm np Asigna a values 12 el valor del par metro np enviado por el usuario Despliegue de informaci n en pantalla printf lt center gt lt H2 gt Gr amp aacute fica del lugar geometrico de las raices lt H2 gt lt center gt lt p gt Para imprimir en el documento de texto html generado se utiliza la funci n printf y se incluyen las etiquetas html correspondientes al formato deseado De igual manera se pueden crear tablas o hiperv nculos 42 Llamado de la funci n que grafica Este llamado se debe de realizar entre las funciones printf que establecen la localizaci n de c mo queremos mostrar la figura seg n se muestra a continuaci n printf lt center gt lt img src 1 cgi bin ch modulo3_image 1 ch for i 0 i lt k i f putc i 0 stdout fputs Server URLEncode namefi stdout putc stdout fputs Server URLE
64. espuestas en un CGI CResponse setContentType define el tipo de respuesta Prototipo Int setContentT ype chchar type Parametros type string que contiene el tipo valor del tipo de respuesta a obtener Admite text plain text html image png etc Valor de retorno Cero si se realiza la operaci n de manera exitosa 50 CResponse begin inicia el envio de contenido Prototipo int begin Par metros Ninguno Valor de retorno 0 si se completa exitosamente CResponse title CResponse end detiene la salida est ndar Prototipo void end Parametros Ninguno Valor de retorno Ninguno CResponse title define el titulo de la pagina HTML Prototipo Void title chchar title Par metros title string que contiene el t tulo deseado Valor de retorno Ninguno 51 Class CRequest Request crea objeto Request de la clase CRequest Se utiliza para obtener los parametros de un CGI CRequest getForm retorna el valor correspondiente a un nombre que haya sido recibido v a POST o GET Prototipo chchar getForm chchar name Par metros name nombre del item deseado Valor de retorno El valor correspondiente al tem deseado CRequest getFormNameValue obtiene todos los pares de nombre y valores recibidos por el m todo POST y GET Prototipo int getFormNameValue chstrarray amp names chstrarray amp values Par metros Names arreglo de referencia que contendr
65. etro control segA n el controlador seleccionado switch control case p printf lt center gt lt H2 gt Respuesta utilizando un controlador P lt H2 gt lt center gt lt p gt name k kcp values k Request getForm kcp k k 1 break 82 case pi printf lt center gt lt H2 gt Respuesta utilizando un controlador PI lt H2 gt lt center gt lt p gt name k kcpi name k 1 tipi values k Request getForm kcpi values k 1 Request getForm tipi k k 2 break case pd printf lt center gt lt H2 gt Respuesta utilizando un controlador PD lt H2 gt lt center gt lt p gt name k kcpa name k 1 tdpd values k Request getForm kcpd values k 1 Request getForm tdpd k k 2 break case pid name k kcpid name k 1 tipid name k 2 tdpid values k Request getForm kcpid values k 1 Request getForm tipid values k 2 Request getForm tdpid printf lt center gt lt H2 gt Respuesta utilizando un controlador PID lt H2 gt lt center gt lt p gt k k 3 break printf lt table border 2 align center cellspacing 0 cellpadding 20 bgcolor 0ale42 gt printf lt tr gt lt td gt printf lt center gt lt img src modulo4_servo_1 ch envAo de informaciA3n a modulo4_servo_l ch for i 0 i lt k i putc i 0
66. f tau Sf tm f lt p gt kp tau tm break anuncio de ajuste en caso de que el tiempo muerto calculado sea negativo if tmoriginal lt 0O printf lt span style color rgb 255 0 0 gt El tiempo muerto calculado originalmente es f lt span gt lt p gt tmoriginal printf lt span style color rgb 255 0 0 gt Ha sido ajustado a 0 por ser negativo lt span gt bandera 1 determinaciA n de los parAjmetros del controlador segA n el m O0todo y tipo de controlador switch control case om switch metodo case zyn kc 0 tau kp tm printf lt h2 gt M eacute todo de Z y N lt h2 gt lt p gt printf lt strong gt Par aacute metro del controlador P lt strong gt lt p gt printf Kc Sf kc 0 if tm gt tau printf lt span style color rgb 255 0 0 gt El m amp eacute todo no aplica ya que tm gt tau lt span gt lt p gt bandera 1 break case lopez printf lt h2 gt M amp eacute todo de Lopez lt h2 gt lt p gt a 0 1 410 a 1 0 9023 a 2 0 4897 b 0 0 9170 b 1 0 9850 b 2 1 0850 printf lt strong gt Par aacute metro del controlador P lt strong gt lt p gt for 1 0 1 lt 3 1 97 01 XTT kc i a i kp pow tm tau b i fputs criterios i stdout printf Ke Sf lt p gt KOLLI if tm tau lt 0 1 printf lt span style color El m amp eacute tod
67. fico de Bode de ganancia de lazo abierto variando la frecuencia de esquina Utilizando esta informaci n la aplicaci n genera la forma de la respuesta de lazo cerrado a una entrada escal n unitario k r Figura 2 3 Sistema analizado en Bode Servo analysis 6 bode servo analy is r t k IS SAD nit A unity feedback system with third order plant is driven by a reference signal r t and a sensor noise signal n t Typical performance objectives involve tracking the reference signal while rejecting the influence of the sensor noise The Laplace transform description of the closed loop system is 7 Als HO ha AG Nts Shown below are the open loop Bode magnitude and phase plots with the corner frequencies a and b marked on the magnitude plot and the gain and phase crossover frequencies labeled The left mouse button can be used to drag corner frequencies to desired locations thereby adjusting the values of a b and k The corresponding closed loop Bode magnitude plot is also shown with the closed loop bandwidth labeled A selection of reference inputs is available and high frequency sensor noise can be selected at two amplitude levels Plots of r t and y t are shown and the Table button provides numerical values of important system parameters and response characteristics Rise time is the 10 90 rise time Mean square steady state error is computed on the range 15 lt t lt 25 S
68. herramientas adecuadas para desarrollar un tutor interactivo para el curso que permitiera a los estudiantes realizar las labores propias de este de una manera r pida y gil v a Internet y sin la necesidad de instalar programas El fondo del proyecto consisti en el propio desarrollo de la herramienta donde se detectaron algunas limitaciones del lenguaje Ch para el an lisis de Sistemas de Control y finalmente se procedi elaborar el manual de usuario y la gu a del programador as como su instalaci n en uno de los servidores de la Escuela de Ingenier a El ctrica CAP TULO 1 Introducci n 1 1 Objetivos Objetivo general Desarrollar un sistema tutor de control autom tico interactivo con los temas del curso Sistemas de Control para ser utilizado por Internet programado en el lenguaje Ch Objetivos espec ficos Analizar el funcionamiento y capacidad de los tutores de control disponibles en Internet Estudiar las caracter sticas generales del lenguaje de programaci n Ch su capacidad para resolver problemas de control autom tico y desarrollar sitios Web interactivos Seleccionar los temas de control a ser tratados en el tutor y la organizaci n del mismo de conformidad con el temario del curso IE 431 Sistemas de control Desarrollar el tutor en el lenguaje Ch instalarlo en el servidor Web de la Escuela y probar su funcionamiento Elaborar un manual de usuario para el mismo 1 2 Justificacion del tema El concepto del p
69. i stdout printf lt p gt Kc f Ti f Td f lt p gt if tm tau lt 0 1 printf lt span style color rgb 255 0 no aplica ya que tm tau 1t 0 1 lt span gt lt p gt bandera 1 break case arrietareg printf lt h2 gt M amp eacute todo de Arrieta para a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 c 1 1 1251 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 2 0 1789 g 1 0 0003 g 2 0 0053 h 1 0 3838 h 2 0 3695 104 3 1 0 9479 j 2 0 9286 printf lt strong gt Parsaacute metros del controlador PID lt strong gt lt p gt for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il l fputs criterios i stdout printf lt p gt Kc f Ti f Td f lt p gt if tm tau lt 0 1 printf lt span style color rgb 255 0 0 gt El mseacute todo no aplica ya que tm tau 1t 0 1 lt span gt lt p gt bandera 1 break case arrietaservo printf lt h2 gt M amp eacute todo de Arrieta para servomecanismos lt h2 gt a 1 0 2438 a 2 0 1140 b 1 0 5305 b 2 0 5131 c 1 1 0299 c 2 1 0382 d 1 0 9377 d 2 0 9953 e 1 0 4337 e 2 0 2073 f 1 0 8714 f 2 1 5246 g 1 0 0146 g 2 0 0169 h 1 0 3500 h 2 0 3126 j 1 0 8100 3 2 0 7417 prin
70. ietareg a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 c 1 1 1251 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 f 2 0 1789 for i 1 1 lt 3 1 kc il a ti ae St 116 i b i pow tm tau c i kp au d i e i pow tm tau f il for i 1 i lt 3 1 1 numpi 0 numpi 1 denpi 0 ti i denpi 1 0 controll mode serie control tilil E 1 tf numpi denpi l series 8sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step pl Lot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietaservo a 1 0 2438 a 2 0 1140 b 1 0 5305 b 2 0 5131 c 1 1 0299 c 2 1 0382 d 1 0 9377 d 2 0 9953 e 1 0 4337 e 2 0 2073 f 1 0 8714 2 1 5246 for i 1 i lt 3 it for i 1 1 lt 3 i4 plot2 Ee break kc il tifi t numpi 0 kc i numpi 1 kc i denpi 0 ti i denpi 1 0 controll mode serie control a i b i pow tm tau tau d i t e i pow tm tau f i c i kp ti il U 1 tf numpi denpi l series 8sys retro model tf numretro denretro egend IAE 0 lazo serie gt feedback amp retro lazo gt step amp p Lot2 NULL NULL NULL U egend ITAE 1 117 Ca al a b b
71. ilizando los portales de b squeda Yahoo www yahoo com y Google www google com utilizando las palabras claves Control system tutorial Control system interactive Control system sistemas de control interactivo tutorial sistemas de control La segunda etapa del proyecto consisti en el estudio del lenguaje Ch y su capacidad para resolver problemas de control autom tico y desarrollar sitios Web interactivos Durante esta etapa se estudi principalmente la documentaci n de Ch que se encuentra en el sitio www softintegration com 1 donde se distribuye de manera gratuita el lenguaje Ch Esta documentaci n incluye la gu a de instalaci n la gu a de referencia y la gu a para el usuario las cuales se encuentran en el paquete de instalaci n del lenguaje Adicionalmente se estudi la gu a del conjunto de herramientas 2 de CGI Common gateway interface de Ch y la gu a del conjunto de herramientas 3 de sistemas de control donde se encontr respectivamente la informaci n necesaria para el desarrollo de sitios Web interactivos y la documentaci n correspondiente a las herramientas para resolver problemas de control autom tico La etapa siguiente consisti en la selecci n de los temas a incluir entre los m dulos interactivos Para esto se compar el temario del curso de Sistemas de Control IE 0431 del segundo semestre del 2006 con las herramientas disponibles en el conjunto de herramientas para
72. ivisi n en parte real e imaginaria para vectores de polos y ceros for i 0 i lt np i preal i creal p i pimag i cimag p i for i 0 i lt nz 1 zreal i J creal z i zimag i cimag z i establecimiento de los puntos limites del gr fico para esto se ubican los m ximos y minimos imagine 0 pimag maxloc pimag imagine 1 zimag maxloc zimag imagine 2 pimag minloc pimag imagine 3 zimag minloc zimag 1 real 0 preal maxloc preal 1 real 1 zreal maxloc zreal 1 real 2 preal minloc preal 1 real 3 zreal minloc zreal se crea una respuesta tipo imagen png 63 Response setContentType image png Response begin t tulo de la gr fica zmap title Mapa de polos y ceros establecimiento de los l mites de los ejes zmap axisRange PLOT_AXIS_X real minloc real 0 5 real maxloc real 0 5 zmap axisRange PLOT_AXIS_Y imagine minloc imagine 0 5 imagine maxloc imagine 0 5 graficaci n de los polos como x for i 0 i lt np i zmap point preal i pimag i 0 zmap plotType PLOT_PLOTTYPE_POINTS i 2 3 graficaci n de los ceros como 0 for i 0 i lt nz 1 printf real f imaginaria f n zreal i zimag i zmap point zreal i zimag il 0 zmap plotType PLOT_PLOTTYPE_POINTS np i 6 3 titulos de los ejes zmap l
73. le kc ti td kp double array den 5 0 0 0 0 0 num 5 0 0 0 0 0 numcontrol 3 0 0 0 dencontrol 3 0 0 0 y 100 t3 1001 class CControl sys controlador sys3 asignaciA n a name y value de 1 parA metros recibidos Request getFormNameValue name val los nombres y valores de los ue obtenciA n de los parAjmetros control y modelo control Request getForm control modelo Request getForm modelo creaciA n del sistema segA n modelo seleccionado switch modelo case division for k 0 k lt 5 k num k atof value k y den k atof value k 5 sys model tf num den break case pyz nz atoi Request getForm nz 11 array double complex zeros nz for k 0 k lt nz k zeros k atoc value k 88 np atoi Request getForm np array double complex polos np for k 0 k lt np k polos k atoc value k 4 kp atof value 8 sys model zpk zeros polos kp ornum sys size n orden sys size d double array numpz ornum denpz orden sys tfdata numpz denpz for k 0 k lt ornum k num 4 k numpz ornum 1 k for k 0 k lt orden k den 4 k denpz orden 1 k break creaciA n y conexiA3n del controlador deseado switch control Case p kcl Request getForm kcp kc atof kel numcontrol 2 dencontrol 2 kc EARN bei H controlador
74. los nombres Values arreglo de referencia que contendr los valores Valor de retorno Entero que representa el n mero de pares recibidos Class CServer Server se utiliza para control de flujo de informaci n del CGI CServer URLEncode codifica caracteres utilizando las reglas URL Prototipo 52 chchar URLEncode chchar in Par metros In string a codificar Valor de retorno String que contiene la cadena codificada utilizando URL c Funciones para graficar Class CPlot Plot crea objeto Plot de la clase CPlot CPlot title define el t tulo del gr fico Prototipo void title string_t title Par metro title string que contiene el t tulo deseado Valor de retorno Ninguno CPlot legend Prototipo void legend string _t legend int num Par metro legend string que contiene la leyenda num conjunto datos al que se le agrega la leyenda Valor de retorno 53 Ninguno CPlot outputType define el tipo de salida del grafico Prototipo void outputType PLOT OUTPUTTYPE_STREAM terminal Par metro terminal el tipo de terminal soportada en la aplicaci n se utiliza png color Valor de retorno Ninguno CPlot plotting despliega el gr fico Prototipo void plotting Parametro Ninguno Valor de retorno Ninguno CPlot size cambia el tama o del gr fico Prototipo void size double x_scale double y_scale Parametro x_scale factor de escalamiento del eje x
75. lt p gt bandera 1 break case rovira printf lt h2 gt M eacute todo de Rovira lt h2 gt lt p gt a 1 0 7580 a 2 0 5860 1 0 8610 2 1 0 9160 1 1 0200 2 1 0300 1 0 3230 2 1 0 1650 printf lt strong gt Parsaacute metros del controlador 200 a 0 O PI lt strong gt lt p gt for i 1 1 lt 3 1 kc i a i kp pow tm tau bl i ti il tau c il d i1 tm tau fputs criterios i stdout printf lt p gt Kc Sf Ti f lt p gt kcl lil if tm tau lt 0 1 printf lt span style color rgb 255 0 0 gt El m eacute todo no aplica ya que tm tau 1t 0 1 lt span gt lt p gt bandera 1 break case arrietareg printf lt h2 gt M amp eacute todo de Arrieta para reguladores lt h2 gt a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 c 1 1 1251 99 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 f 2 0 1789 printf lt strong gt Parsaacute metros del controlador PI lt strong gt lt p gt for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti il tau d i e i pow tm tau E L 1 111 fputs criterios i stdout printf lt p gt Kc Sf Ti f lt p gt kcl lil if tm tau lt 0 1 printf lt span style color rgb 255 0 0 gt El m amp eacute todo no aplica ya que tm tau 1t 0 1 lt span gt lt p gt bandera 1
76. m2 1 kpmodel double den2 2 taumodel 1 sys2 model tf num2 den2 sys2 step amp plot NULL t2 NULL break Case doble kpmodel y 2000 taumodel 0 5776 t75 t25 tmmodel 1 5552 t25 0 5552 t75 double num3 1 kpmodel double den3 3 taumodel taumodel 2 taumodel 1 sys2 model tf num3 den3 sys2 step amp plot NULL t2 NULL break case segundo kpmodel y 2000 a 0 6240 t25 0 9866 t50 0 3626 t75 0 3533 t25 0 7036 t50 0 3503 t 75 taumodel t75 t25 0 9866 0 7036 a tmmodel t75 1 34214 1 3455 a taumodel double num4 1 kpmodel double den4 3 taumodel a taumodel taumodel a taumodel 1 sys2 model tf num4 den4 sys2 step plot NULL t2 NULL break if tmmode1 lt 0 tmmodel 0 sys2 step amp plot2 y3 t3 NULL tfinal 1 25 rutina para graficar el tiempo muerto for 1 0 1 lt 2001 1 74 loc i if t i gt tmmodel i 2001 double t4 2001 loc double y4 2001 loc double yplanta2 2001 loc paso tmmodel loc 1 0 i lt loc itt t4 i paso i 4 i 0 i 0 i lt 2001 i t4 i loc tmmodel t3 i itloc y3 il sys grid 1 gr fico con la respuesta del modelo plotxy t4 y4 Respuesta al escalon Tiempo s Amplitud amp plot3 sys step amp plot3 yplanta2 NULL NULL t4 2001 loc 1 plot3 legend Modelo 0 plot3 legend Plant
77. mente e En Internet hay disponible cantidad importante de informaci n y tutoriales relacionados al tema de control sin embargo no hay ninguno que se adapte a los contenidos del curso IE 43 1 Sistemas de Control e Muchos de las herramientas disponibles requieren la descarga de programas lo que resta flexibilidad a su utilizaci n e La mayor a est n orientados al an lisis de problemas espec ficos y no permiten al usuario ingresar los datos de su problema particular e Usualmente se utiliza la respuesta al escal n y la gr fica de Bode como herramientas de an lisis e Ch es un lenguaje con un nivel de complejidad adecuado para aquellos con conocimientos b sicos de C e La herramienta para la creaci n de CGI implementada en Ch es simple y facilita la creaci n de este tipo de interfaces al estar orientada a objetos e Se lograron desarrollar los m dulos propuestos de manera satisfactoria e Ch se puede utilizar para crear herramientas interactivas para otros cursos como an lisis de sistemas o cursos de variable discreta De la puesta en marcha del proyecto se derivan las siguientes recomendaciones con miras al mantenimiento y la extensi n del tutor desarrollado 34 e Para mantener y desarrollar la plataforma hay que tener como minimo conocimientos b sicos de programaci n y configuraci n de servidores web as como conocimiento de HTML para la creaci n de las p ginas e Se recomienda mantener la independencia entre los m dulos p
78. model tf numcontrol dencontrol sys3 sys feedback amp controlador break case pi kcl Request getForm kcpi til Request getForm tipi kc atof kcl ti atof til numcontrol 1 kc ti numcontrol 2 kc dencontrol 1 ti controlador model tf numcontrol dencontrol sys3 sys feedback amp controlador break 89 case pd kcl Request getForm kcpd tdl Request getForm tdpd kc atof kc1 td atof tdl numcontrol 1 kc td 1 0 1 numcontrol 0 kc dencontrol 1 0 1 td dencontrol 0 1 controlador model tf numcontrol dencontrol sys3 sys feedback amp controlador break case pid kcl Request getForm kcpid til Request getForm tipid td1l Request getForm tdpid kc atof kcl ti atof til td atof tdl numcontrol 2 kc numcontrol 1 kc ti 0 1 td numcontrol 0 kc ti td 1 0 1 dencontrol 2 0 dencontrol 1 ti dencontrol 0 ti 0 1 td controlador model tf _numcontrol dencontrol sys3 sys feedback controlador break inicio de respuesta tipo imagen Response setContentType image png Response begin graficaciA n de la respuesta al escalA n del regulador sys3 gt step plot NULL NULL NULL plot title Regulador 90 grafico en formato png para que sea interpretado por el browser plot outputType PLOT_OUTPUTTYPE_STREAM png propiedades del grAjfico
79. name 8 kp name 9 modelo name 10 control name 11 nz name 12 np name 13 metodo values 0 Request getForm z1 values 1 Request getForm z2 values 2 Request getForm z3 values 3 Request getForm z4 values 4 Request getForm p1 values 5 Request getForm p2 values 6 Request getForm p3 values 7 Request getForm p4 values 8 Request getForm kp values 9 modelo 110 10 control 11 Request getForm nz 12 Request getForm np 13 metodo creaciA n de la planta switch modelo case division for k 0 k lt 5 k num k atof values k den k atof values k 5 sys model tf num den break case pyz nz atoi Request getForm nz array double complex zeros nz for k 0 k lt nz k zeros k atoc values k np atoi Request getForm np array double complex polos np for k 0 k lt np k polos k atoc values k 4 kp atof values 8 sys model zpk zeros polos kp break curva de reacciA n sys step amp plot y t NULL tfinal t 2000 sys step amp plot y t NULL tfinal 5 calculo de tiempos requeridos para obtener los modelos y63 y 2000 0 63 for i 0 i lt 2001 i loc i if y i gt y63 i 2001 111 m y loc y loc 1 t loc t loc 1 p y loc m t loc t63 y63 p m y
80. ncode values i stdout printf gt n lt center gt n Esto equivaldria escribir printf lt center gt lt img src cgibin ch modulo3_image_1 ch name 0 values 0 amp name 1 values 1 amp amp name k 1 values k 1 gt n lt center gt n N tese que esto es equivalente a llamar modulo3_image 1 ch usando el m todo GET para CGI De manera que los valores que se le env en correspondan a par metros con los nombres en el vector name y valores en el vector values Tambi n n tese que se desea que la figura est centrada por lo tanto se debe llamar a la funci n en medio de las etiquetas html correspondientes Fin de la respuesta Response end Estructura de modulol image ch Secci n de encabezado bin ch include lt cgi h gt include lt control h gt include lt chplot h gt En esta secci n se determina la localizaci n del int rprete ch y se incluyen las librer as a utilizar La librer a cgi h es la que permite obtener la informaci n insertada en la p gina Web Control h contiene las funciones correspondientes a las herramientas de control autom tico y chplot h al manejo de gr ficos 43 Declaraci n de variables y clases int main int k nz np declaracion de variables y clases chstrarray name value class CResponse Response class CRequest Request class CPlot plot class CControl sys double den 5 double num 5 double kp char modelo tool cla
81. nd IAE 0 plot2 legend ITAE 1 break case soleraservo if tm tau lt 0 65 a 1 0 b 1 0 8629 c 1 0 5814 d 1 0 e 1 2 1360 f 1 0 0861 elsel a 1 0 b 1 0 8629 c 1 0 5817 d 1 2 2440 e 1 0 0555 f 1 3 1930 if tm tau lt 0 35 a 2 0 b 2 0 6477 c 2 0 4927 da 2 0 e 2 1 7270 f 2 0 0429 elsel a 2 0 b 2 0 6477 c 2 0 4927 d 2 1 7910 e 2 0 1012 2 C a a for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i for i 1 1 lt 3 1 136 break denpi 1 0 controll model tilil U L tf numpi denpi lazo sys feedback amp controll lazo gt step amp p plot2 legend IAE 0 plot2 legend ITAE 1 break case pid double numpid 3 double denpid 3 switch metodo case zyn kc 0 2 tau kp tm ti 0 2 5 tm td 0 0 4 tm Lot2 NULL NULL NULL 7 numpid 0 kc 0 td 0 ti 0 1 0 1 numpid 1 kc 0 ti 0 0 1 td 0 numpid 2 kc 0 denpid 0 0 1 td 0 ti 0 denpid 1 ti 0l denpid 2 0 controll model tf numpid denpid break case lopez 1 4950 1 1 4350 0 9450 0 9210 lazo sys feedback amp controll lazo gt step plot2 NULL NULL NULL 3810 0060 1370 9950 Hh Hh HO NEON ol OrRrRO for 1 0 1 lt 3 1 kelij tili
82. neral de los m dulos Cada m dulo esta debidamente comentado para poder obtener una comprensi n de lo que hace y c mo lo hace A continuaci n se da una explicaci n del formato general de cada m dulo y se brindan detalles de c mo se implementa cada secci n Composici n de los m dulos Los m dulos que incluyen una o m s respuestas gr ficas constan de una p gina html un programa en Ch al cual se llamar modulo1 ch para efectos de esta explicaci n que recibe los par metros y traspasa los que corresponden a la o las funciones encargadas de generar los gr ficos A estos programas que generan los gr ficos se les denominar para efectos de esta gu a modulol_image ch Estructura b sica de m dulo1 ch Primero hay que tener en cuenta que el prop sito de este programa es desplegar en pantalla la respuesta obtenida en un documento html Tambi n se encargar de llamar a las funciones que generan las im genes y pasarles los par metros correspondientes 40 A continuaci n se estudiar c mo se componen estos programas utilizando como ejemplo partes del programa modulo3_1 ch Secci n de encabezado bin ch include lt cgi h gt En esta secci n se determina la localizaci n del int rprete ch y se incluyen las librer as a utilizar La librer a cgi h es la que permite obtener la informaci n insertada en la p gina Web Declaraci n de variables y clases int main int i k chstrarray name 13 val
83. o gt step amp plot2 NULL NULL NULL break case lopez a 0 1 3050 a 1 0 9840 2 0 E a b b L 1 1 6447 Cc d d d 2 for 1 0 1 lt 3 1 kc i a i kp pow tm tau ti i c i tau pow tm tau for i 0 1 lt 3 1i numpi 0 kc i ti i numpi l kc il denpi 0 ti il denpi 1 0 b 11 d il controll model tf numpi denpi plot2 legend ISE 0 plot2 legend IAE 1 plot2 legend ITAE 2 U a break case rovira a 1 0 7580 a 2 0 5860 1 0 8610 2 0 9160 1 1 0200 2 1 0300 1 0 3230 2 0 1650 I Il Ga K O OOO for i 1 i lt 3 i kc i a i kp pow tm tau lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL b 11 tili tau c i d i tm tau for i 1 i lt 3 1 1 numpi 0 kc i ti i 133 numpi 1 kc i denpi 0 ti i denpi 1 0 controll model tf numpi denpi lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietareg a 1 0 45 a 2 0 2607 b 1 0 6494 b 2 0 6470 c 1 1 1251 c 2 1 1055 d 1 0 2551 d 2 1 5926 e 1 1 8205 e 2 2 9191 f 1 0 4749 f 2 0 1789 for i 1 i lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i p
84. o no aplica ya que tm tau amp lt bandera 1 rgb 255 0 1 lt span gt lt p gt 0 break default printf lt p gt El m amp eacute todo seleccionado no sintoniza controladores tipo P n PI lt st 0 gt l L amp oacu break break case pi switch metodo case zyn kc 0 0 9 tau kp tm ti 0 3 33 tm printf lt h2 gt M eacute todo de Z y N lt h2 gt lt p gt printf lt strong gt Parsaacute metros del controlador rong gt lt p gt printf Ke f lt p gt kc 0 printf Ti f lt p gt ti 0 if tm gt tau printf lt span style color rgb 255 El m amp eacute todo no aplica ya que tm amp gt tau lt span gt lt p gt bandera 1 0 break case lopez printf lt h2 gt M amp eacute todo de te pez lt h2 gt lt p gt a 0 1 3050 a 1 0 9840 a 2 0 8590 b 0 0 9600 b 1 0 9860 b 2 0 9770 c 0 2 0325 c 1 1 6447 c 2 1 4837 d 0 0 7390 da 1 0 7070 98 d 2 0 6800 printf lt strong gt Par amp aacute metros del controlador PI lt strong gt lt p gt for 1 0 1 lt 3 1 kc i a i kp pow tm tau b i ti i c 1 tau pow tm tau d i fputs criterios i stdout printf lt p gt Ke f Ti f lt p gt kclil if tm tau lt 0 1 printf lt span style color rgb 255 0 0 gt El m amp eacute todo no aplica ya que tm tau amp lt 0 1 lt span gt
85. oi Request getForm np array double complex polos np 79 for k 0 k lt np k polos k atoc value k 4 kp atof value 8 sys model zpk zeros polos kp break creaciA3n e inicio de respuesta tipo imagen Response setContentType image png Response begin creaciA n de imagen segA n herramienta seleccionada switch tool case bode sys margin amp plot NULL NULL NULL NULL break case lgr sys rlocus amp plot NULL NULL break case nyquist sys nyquist amp plot NULL NULL NULL break formato de imagen png para que sea interpretada por el browser plot outputType PLOT_OUTPUTTYPE_STREAM png color plot plotting Response end 80 modulo4 1 ch bin ch include lt cgi h gt int main int i k chstrarray name 16 values 16 char control modelo class CResponse Response class CRequest Request class CServer Server Response setContentType text html Response begin titulo de la respuesta Response title Modos de control limpia el buffer setbuf stdout NULL Imprime el titulo de la respuesta printf lt Hl gt Respuesta del sistema de control lt Hl gt 1n obtenciA n de los parAjmetos modelo y control tipo de controlador modelo Request getForm modelo control Request getForm control creaciA n del sistema s
86. oi Request getForm np array double complex polos np for k 0 k lt np k polos k atoc value k 4 kp atof value 8 sys model zpk zeros polos kp break respuesta al escal n asignada a y y tiempo asignado a t sys step amp plot y t NULL tfinal t 2000 sys step amp plot y t NULL tfinal 5 obtenci n del par t25 y25 usando interpolaci n lineal y25 y 2000 1 0 255 for i 0 i lt 2001 i loc i if y i gt y25 i 2001 m y loc y loc 1 t loc t loc 1 b y loc m t loc t25 y25 b m obtenci n del par t75 y75 usando interpolaci n lineal y75 y 2000 0 75 for i 0 i lt 2001 i loc i if y i gt y75 i 2001 m y loc y loc 1 t loc t loc 1 b y 1loc m t loc t75 y75 b m obtenci n del par t50 y50 usando interpolaci n lineal y50 y 2000 1 0 50 5 for i 0 i1 lt 2001 i loc i if y i gt y50 73 i 2001 m y loc y loc 1 t loc t loc 1 b y loc m t loc t50 y50 b m creaci n de una respuesta tipo imagen png Response setContentType image png Response begin creaci n de los modelos identificados seg n sea el modelo deseado en todos los casos se utiliza el m todo 123c de Alfaro switch id case primer kpmodel y 2000 taumodel 0 9102 t75 t25 tmmodel 1 2620 t25 0 2620 t75 double nu
87. out printf gt nan lt center gt n fin de la respuesta Response end 71 modulo2_image_1 ch bin ch include lt cgi h gt include lt control h gt include lt chplot h gt int main declaraci n de variables int k nz np i loc chstrarray name value declaraci n de objetos de clase class CResponse Response class CRequest Request class CPlot plot plot2 plot3 class CControl sys sys2 declaraci n de variables double den 5 double num 5 y 2001 t 2001 t2 2001 y3 2001 t3 2001 double kp y25 t25 y50 t50 y75 t75 m b kpmodel taumodel tmmodel a paso tfinal char modelo id obtenci n de par metros modelo e id modelo Request getForm modelo id Request getForm id asignaci n a name y value del nombre de cada valor y su valor respectivo Request getFormNameValue name value switch modelo construcci n del modelo para el caso de divisi n de polinomios de s case division for k 0 k lt 5 k num k atof value k den k atof value k 5 sys model tf num den break construcci n del modelo para el caso de polos y ceros case pyz construcci n del vector de ceros nz atoi Request getForm nz array double complex zeros nz 72 for k 0 k lt nz k zeros k atoc value k construcci n del vector de polos np at
88. ow tm tau f i for i 1 1 lt 3 1 numpi 0 kc i ti i numpi l kc il denpi 0 ti i denpi 1 0 controll model tf numpi denpi lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arrietaservo a 1 0 2438 a 2 0 1140 b 1 0 5305 134 oO KA A KA KA KA KA KD a NY ll Ne V lt Ln Ww Hh 00080a for i 1 i lt 3 i kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i for i 1 1 lt 3 1 numpi 0 kc i ti i numpi 1 kc i denpi 0 ti i denpi 1 0 controll model tf numpi denpi lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case solerareg a 1 0 1234 a 2 0 b 1 1 0640 b 2 0 9239 c 1 0 9487 c 2 0 8616 d 1 2 48 d 2 2 0230 e 1 0 0607 e 2 0 1336 f 1 2 0550 f 2 1 3590 for i 1 i lt 3 1 kc il a i b i1 pow tm tau c i kp ti i tau d i e 1 pow tm tau f 1 5 for i 1 1 lt 3 1 numpi 0 kc i ti i numpi 1 kc i denpi 0 ti i denpi 1 0 controll model tf numpi denpi 1 lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 lege
89. quest getForm num0 values 5 Request getForm den4 values 6 Request getForm den3 values 7 Request getForm den2 76 O DO DO 17 DO DO DO 1 values 8 Request getForm denl values 9 Request getForm den0O values 10 modelo values 11 tool k 12 break case pyz name 0 z1 name 1 z2 name 2 z3 name 3 z4 name 4 p1 name 5 p2 name 6 p3 name 7 p4 name 8 kp name 9 modelo name 10 too1 name 11 nz name 12 np values 0 Request getForm z1 values 1 Request getForm z2 values 2 Request getForm z3 values 3 Request getForm z4 values 4 Request getForm p1 values 5 Request getForm p2 values 6 Request getForm p3 values 7 Request getForm p4 values 8 Request getForm kp values 9 modelo values 10 tool values 11 Request getForm nz values 12 Request getForm np k 13 break impresiA n de tAtulo segA n la herramienta seleccionada switch tool case lgr printf lt center gt lt H2 gt Gr aacute fica del lugar printf geom amp eacute trico de printf las ra amp iacute ces lt H2 gt lt center gt lt p gt break case bode printf lt center gt lt H2 gt Gr amp aacute fico de Bode lt H2 gt lt center gt lt p gt break 77 case nyquist printf lt center gt lt
90. r de la funci n de transferencia Introduzca la ganancia kp y los ceros y polos O edo basto 20 SHI Ceros 1 o Jjo Jo deceros 00 O1 O2 O3 O4 Denominador de la funci n de transferencia Polos 0625 025 o5 1 depolos O0 O1 O2 O3 4 O s 4H0 530 21 si Constante K U Selecci n del modelo a obtener O Primer orden m s tiempo muerto O Polo doble m s tiempo muerto 3 Segundo orden sobreamortiguado m s tiempo muerto Figura 4 3 Pantalla de entrada del m dulo para identificaci n de modelos Identificaci n de modelos Modelo de segundo orden sobreamortiguado m s tiempo muerto Par metros del modelo kp 12 800000 tau 3 298539 tm 1 526378 a 1 139659 Indice de bondad del modelo 2 389 868227 Respuesta al escalon Modelo Planta Amplitud e 10 20 38 40 50 se 70 88 Tienpo s Figura 4 4 Respuesta del m dulo de identificaci n de modelos 28 4 3 Herramientas cl sicas para el an lisis de sistemas de control Aqui se le solicita al usuario ingresar la funci n de transferencia de lazo abierto de la planta L s como divisi n de polinomios de la frecuencia compleja s o en su representaci n de polos y ceros Seguidamente se selecciona entre una de las herramientas de an lisis ya sea la gr fica del lugar geom trico de las ra ces el diagrama de Bode o el diagrama de Nyquist Una vez que se ingresan los par metros se presenta en pantalla la gr fica deseada Se presenta un ejemplo d
91. r gt lt img src ch modulol_pzmap ch for 1 0 1 lt 4 1 pass system information to plot ch putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt tr gt printf lt table gt break 58 fin de la respuesta Response end 59 modulol_step ch bin ch incl incl incl lude lt cgi h gt lude lt control h gt lude lt chplot h gt int main declaraci n de variables int kp tau damp chstrarray name 4 value 4 char modelo cl c c c lass CResponse Response lass CRequest Request plot ser un objeto tipo CPlot lass CPlot plot sys sera un objeto CControl lass CControl sys vectores para de declaraci n de la funci n de transferencia doub doub le den 3 0 0 0 le num 1 0 obtenci n del par metro modelo mode lo Request getForm modelo asignaci n de valores a num y den seg n el modelo switch modelo case primerorden kp Request getForm kp tau Request getForm taul num 0 atof kp den 1 atof tau den 2 1 break case polodoble kp Request getForm kp2 tau Request getForm tau2 num 0 atof kp den 0 atof tau atof tau den 1 2 atof tau den 2 1
92. resentan son los siguientes e Moldeado continuo e P ndulo invertido e Molino de rodillos e Control de nivel de tanques e Placa y bola e Control de forma e Columnas de destilaci n e Control de pH Algunos de los temas estudiados en estos m dulos son 10 e Lugar geom trico de las raices e Respuesta al escal n e Sensibilidad al ruido e Control en variables de estado e Respuesta en frecuencia e Control PI e Tiempo muerto en la industria e Observadores de estado Este portal es sumamente atractivo y did ctico ya que con cada problema de control se presenta su modelado matem tico con las explicaciones correspondientes as como fotograf as de los sistemas estudiados El hecho de que permita al usuario modificar los par metros de dichos sistemas constituye un alto valor agregado para el tutorial Adem s tiene otra herramienta denominada Frequency Response Tool que permite al usuario insertar una funci n de transferencia cualquiera en su forma de polinomios de s y observar la respuesta al escal n y los diagramas de Bode de Magnitud y fase Sumamente til para el curso de control La desventaja de este sistema es que al estar programado en Java puede ser un poco lento en algunos equipos debido a que la m quina virtual de Java ocupa mucha memoria 11 2 3 Sitio de la Universidad de Exeter Reino Unido 9 En este sitio encontramos la presentaci n de un problema de control de temperatura El tutorial se compone
93. rier Frequency Response does not exist C j Results Laplace Transfer Function H 6 Total Input Time 0 0 s 0 F Number of Targets Sum Squared Error n a S y 2 3 1 Maximum Error n a 4 Minimum Error na IET Input Signal yO Output Signal Figura 2 1 Vista en pantalla de Signal Arcade 2 1 2 Exploring the s plane 5 Esta aplicaci n desarrollada en Java permite a quienes lo naveguen observar la respuesta al escal n de un sistema lineal invariante en el tiempo Los polos y ceros de la funci n de transferencia del sistema son gr ficamente definidos por el usuario al marcarlos con el apuntador sobre el plano complejo Permite variar la ganancia del sistema Adem s determina si el sistema es inestable 10 see We UnIL StEp TESPUNSE CHange AS 8 PUIE OF ZETO 15 WOVEG CLICK MOVE ANU UTAg WE POLE OF ZETO AEMEMDET WAL WE GELAUIL Zar Value CHAnges 10 MAIMAI TWI 1 Ep Tespouse cuangt po g ue po v ga nanges uwy 1 Suggestions ato s plane gt return to demonstrations page Applet by Brian Woo Figura 2 2 Vista en pantalla de Exploring the s plane 2 1 3 Bode servo analysis 6 Esta aplicaci n permite observar la respuesta al escal n de un sistema de tercer orden realimentado a cuyo lazo de realimentaci n se le agrega el ruido generado por un sensor de medici n Se le permite al usuario decidir si la ganancia al ruido es nula alta o baja y modificar el gr
94. rma de divisi n de polinomios de s Case division name 0 num4 name 1 num3 name 2 num2 name 3 num1 name 4 num0 name 5 den4 name 6 den3 name 7 den2 name 8 den1 name 9 den0 name 10 modelo 65 getForm num4 getForm num3 getForm num2 getForm numl getForm num0 getForm den4 name 11 id values 0 Request values 1 Request values 2 Request values 3 Request values 4 Request values 5 Request values 6 Request values 7 Request values 8 Request values 9 Request values 10 Si values 11 envio 12 break asignaci n a los vectores name y val se haya ingresado en su forma de pol case pyz Ww getForm z1 getForm z2 getForm z3 getForm z4 getForm pl getForm p2 getForm p3 getForm p4 name 0 z1 name 1 z2 name 2 z3 name 3 z4 name 4 p1 name 5 p2 name 6 p3 name 7 p4 name 8 kp name 9 modelo name 10 id name 11 nz name 12 np values 0 Request values 1 Request values 2 Request values 3 Request values 4 Request values 5 Request values 6 Request values 7 Request values 8 values 9 modelo values 10 id values 11 values 12 Request getForm envio 13 break 66 ues en el caso de que el sistema o
95. royecto se concibi para facilitar a los estudiantes del curso de control autom tico las labores propias de este tales como la realizaci n de tareas y el estudio individual Actualmente las herramientas de software con las que cuentan los estudiantes presentan una serie de desventajas algunas de estas son Alto costo de licencias Grandes requerimientos de espacio en disco y memoria Necesidad de instalaci n Poca documentaci n en espa ol La aplicaci n desarrollada busca solucionar esas desventajas incorporando las siguientes caracter sticas Gratuito Disponibilidad desde cualquier punto con conexi n a Internet Adecuado al contenido del curso No requiere espacio en disco duro Asimismo al ser una herramienta disponible v a Internet a estudiantes y profesores en todo el mundo refleja el inter s institucional de vincularse y realizar aportes a la comunidad cient fica De igual manera el proyecto busca disminuir la pirater a de programas inform ticos 1 3 Metodolog a Para el desarrollo del proyecto se dividi el trabajo en cinco etapas correspondientes a los cinco objetivos espec ficos definidos previamente En la primera etapa se procedi a buscar en Internet sitios relacionados a la teor a de control tanto moderna como cl sica que incluyeran alg n tipo de tutor o la posibilidad de realizar experimentos o ejecutar simulaciones o pruebas de manera interactiva La b squeda se realiz ut
96. s y ceros getForm den3 getForm den2 getForm den1 getForm den0 1 i Request getForm kp Request getForm nz np y switch de s modelo construcci n del modelo para el caso de divisi n de polinomios case division for k 0 k lt 5 k num k atof values k den k atof values k 5 sys model tf num den break construcci n del modelo para el caso de polos y ceros case pyz nz atoi Request getForm nz construcci n del vector de ceros array double complex zeros nz for k 0 k lt nz k zeros k atoc values k np atoi Request getForm np construcci n del vector de polos array double complex polos np for k 0 k lt np k polos k atoc values k 4 kp atof values 8 sys model zpk zeros polos kp break RUTINA PARA CALCULO DE TIEMPOS REQUERIDOS respuesta al escal n asignada a y y tiempo asignado a t sys step amp plot y t NULL tfinal t 2000 sys step amp plot y t NULL tfinal 5 obtenci n del par t25 y25 usando interpolaci n lineal y25 y 2000 0 25 for i 0 i lt 2001 i loc i if y i gt y25 i 2001 m y loc y loc 1 t loc t loc 1 b y loc m t loc t25 y25 b m 67 obtenci n del par t75 y75 usando interpolaci n lineal y75 y 2000 0 75 for i
97. se soleraservo printf lt h2 gt M amp eacute todo de Solera para if tm tau lt 0 45 a 1 0 b 1 1 2460 106 PID lt strong gt lt p gt 0 gt El m amp eacute todo h D G 0 elsel h 0 anaw 1 0 8050 1 2 1420 1 0 1356 1 0 2790 U 1 1 2460 1 0 8050 1 1 9630 1 0 0805 1 2 2110 if tm tau lt 0 65 2 HO0OQo gp 2 2 2 2 2 else hoaaso 0 NNNNNN uu SF D Q n a a ee Dt Mees Ss e Il R40000Oo0o printf for i 1 0 3004 0 8471 0 9218 1 6980 0 3713 022957 0 3004 0 8471 0 9218 1 9390 0 1486 1 593 4523 4629 2477 1414 DO R 53 lt strong gt Par aacute metros del controlador 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i1 e 1 pow tm tau f 1 5 td i tau g i h i pow tm tau j il fputs criterios i stdout printf lt p gt Kc f Ti f Td f lt p gt if tm tau lt 0 5 no aplica ya que tm tau amp lt printf lt span style color rgb 255 0 0 5 lt span gt lt p gt bandera 1 107 break break graficas en caso de que el mA todo si aplique if bandera 0 printf lt table border 2 align center cellspacing 0 cellpadding 20 bgcolor 0ale42 gt printf lt tr gt lt td gt printf lt center gt lt img src modulo5_image_1 ch for i
98. sistemas de control del lenguaje Ch Luego de este an lisis y considerando el peso de los temas con base en preguntas de ex menes de periodos anteriores se estableci una lista de m dulos a ser incluidos La siguiente fase del proyecto consisti en la creaci n de los m dulos interactivos Previo a esta etapa se prob la funcionalidad de Ch en un servidor Web de la Escuela Para la creaci n de los m dulos se utiliz la versi n profesional de Ch disponible de manera gratuita en www softintegration com y se us el ambiente de desarrollo integrado ChSciTE 1 5 que permite editar los archivos y ejecutarlos de una manera simple para el programador ya que permite observar donde se encuentran los errores Luego de la creaci n de los m dulos se procedi a la instalaci n de los mismos en los servidores de la escuela La fase final del proyecto consisti en realizar la documentaci n del proyecto Se redact una gu a para el programador para facilitar futuras extensiones y el mantenimiento de la plataforma Asimismo se elabor una gu a para el usuario que estar disponible en el sitio y que servir de referencia al usuario mientras visita el sitio CAPITULO 2 Tutores de control disponibles en Internet El presente capitulo muestra los resultados obtenidos al realizar una busqueda en Internet de herramientas para el analisis de sistemas de control automatico Se analizan las principales caracteristicas de cada uno de los sitios
99. ss CPlot plot crea un objeto plot perteneciente a la clase CPlot Class Control sys crea un objeto sys perteneciente a la clase Control Obtenci n de par metros y asignaci n a variables Request getFormNameValue name value asignaci n a name y value de los nombres y valores de los par metros recibidos Request getFormNameValue name value asigna a los vectores name y values el nombre y valor de los par metros enviados por modulol ch en el orden en que se enviaron num k atof value k Esta l nea asigna a num k el valor de value k La funci n atof obtiene la representaci n en double de value k el cual es de tipo char Creaci n del modelo del sistema sys model tf num den sys model zpk zeros polos kp Estas funciones se usan en los casos en que contemos con el vector de coeficientes del numerador y el denominador de la funci n de transferencia y en el caso de que tengamos el vector de polos y ceros y su ganancia respectivamente De esta manera se define el sistema sys 44 Creaci n de respuesta graficaci n y finalizaci n Response setContentType image png creacion de un respuesta tipo imagen Response begin sys margin amp plot NULL NULL NULL NULL plot outputType PLOT OUTPUTTYPE STREAM png color plot plotting Response end Response setContentType image png establece que el formato de salida ser una imagen tipo png Response begin inicia la resp
100. st getForm modelo control Request getForm control metodo Request getForm metodo obtenciA n de parAjmetros del modelo switch modelo 92 case division name 0 J num4 name 1 num3 name 2 num2 name 3 num1 name 4 num0 name 5 den4 name 6 den3 name 7 den2 name 8 denl1 name 9 den0 name 10 control name 11 modelo name 12 metodo values 0 Request getForm num4 values 1 Request getForm num3 values 2 Request getForm num2 values 3 Request getForm numl1 values 4 Request getForm num0 values 5 Request getForm den4 values 6 Request getForm den3 values 7 Request getForm den2 values 8 Request getForm denl values 9 Request getForm den0O values 10 control values 11 modelo values 12 metodo envio 13 break case pyz name 0 z1 name 1 z2 name 2 z3 name 3 z4 name 4 p1 name 5 p2 name 6 p3 name 7 p4 name 8 kp name 9 modelo name 10 control name 11 nz name 12 np name 13 metodo values 0 Request getForm z1 values 1 Request getForm z2 values 2 Request getForm z3 values 3 Request getForm z4 values 4 Request getForm p1 values 5 Request getForm p2 93 values 6 Request ge
101. sys retro model tf numretro denretro lazo serie gt feedback amp retro lazo gt step amp plot2 NULL NULL NULL break case lopez a 2 0 2 0325 1 1 6447 Qo a a b b G d d d 2 for 1 0 1 lt 3 1 kc i a i kp pow tm tau blil ti li c 1 tau pow tm tau d i for i1 0 1 lt 3 i numpi 0 kc i ti i numpi 1 kc i denpi 0 ti i denpi 1 0 controll model tf numpi denpi serie controll series amp sys retro model tf numretro denretro lazo serie gt feedback amp retro lot2 legend ISE 0 ot2 legend IAE 1 lot2 legend ITAE 2 S S O break 115 lazo gt step amp plot2 NULL NULL NULL case rovira w 0 7580 0 5860 0 8610 0 9160 1 0200 1 0300 0 3230 0 1650 2 2 20 00 D Er 0 for i 1 1 lt 3 1 kc i ti i for i1 1 1 lt 3 i4 numpi numpi denpi 0 t denpi 1 0 controll mode serie control a 3 i i 0 k 1 k G E i a i kp pow tm tau tau c b i1 i t d i tm tau tilil r 1 tf numpi denpi l series 8sys retro model tf numretro denretro lazo serie gt feedback retro lazo gt step amp plot2 NULL NULL NULL plot2 legend IAE 0 plot2 legend ITAE 1 break case arr
102. t25 0 2620 t75 if tm lt 0 tm 0 break creaciA3n de la funciA3n de transferencia del controlador y conexiA3n como servomecanismo se crean tambiA n las respuestas necesarias en plot2 kc ti y td son vectores que contienen la ganancia proporcional el tiempo integral y el tiempo derivativo se utilizan sus diferentes elementos para los diferentes criterios switch control case p double nump 1 double denp 1 1 switch metodo case zyn kc 0 tau kp tm nump 0 kc 0 controll model tf nump denp lazo sys feedback amp controll 131 lazo gt step amp plot2 NULL NULL NULL break case lopez for i 0 1 lt 3 1 kc i a i kp pow tm tau blil for i 0 1 lt 3 1 11 nump 0 kc i controll model tf nump denp lazo sys feedback amp controll lazo gt step amp plot2 NULL NULL NULL plot2 legend ISE 0 plot2 legend IAE 1 plot2 legend ITAE 2 r y break default printf El m amp eacute todo seleccionado no sintoniza controladores tipo Pin break break Case pi double numpi 2 double denpi 2 switch metodo case zyn kc 0 0 9 tau kp tm ti 0 1 3 33 tm numpi 0 kc 0 ti 0 1 numpi 1 kc 0 denpi 0 ti 01 denpi 1 0 controll model tf numpi denpi lazo sys feedback amp controll 132 laz
103. tForm p3 values 7 Request getForm p4 values 8 Request getForm kp values 9 modelo values 10 control values 11 Request getForm nz values 12 Request getForm np values 13 metodo envio 14 break creaciA n del modelo segA n el caso switch modelo case division for k 0 k lt 5 k num k atof values k den k atof values k 5 sys model tf num den break case pyz nz atoi Request getForm nz array double complex zeros nz for k 0 k lt nz k zeros k atoc values k np atoi Request getForm np array double complex polos np for k 0 k lt np k polos k atoc values k 4 kp atof values 8 sys model zpk zeros polos kp break curva de reacciA 3n sys step amp plot y t NULL tfinal t 2000 sys step amp plot y t NULL tfinal 5 calculo de tiempos requeridos para modelos usando interpolaciA3n lineal 94 y63 y 2000 0 63 for i 0 i lt 2001 i loc i if y i gt y63 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t63 y63 p m y25 y 2000 1 0 25 5 for i 0 i lt 2001 i loc i if y i gt y25 i 2001 m y loc y loc 1 t loc t loc 1 p y loc m t loc t25 y25 p m y75 y 2000 0 75 for i 0 i lt 2001 i loc i if y i gt y75 i 2001 m y loc y loc 1 t lo
104. ter gt lt img src modulol_step ch paso de informaciA n a modulol_step ch for i 0 1 lt 3 1 putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout 56 printf gt n lt center gt n printf lt td gt printf lt td gt paso de informaciA3n a modulol_pzmap ch printf lt center gt lt img src modulol_pzmap ch for 1 0 1 lt 3 1 putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i stdout printf gt n lt center gt n printf lt td gt printf lt tr gt printf lt table gt break Case polodoble printf Seleccionstoacute el modelo de polo doble lt p gt kp2 Request getForm kp2 tau2 Request getForm tau2 name 0 kp2 name 1 tau2 2 name 2 modelo values 0 kp2 values 1 tau2 values 2 modelo printf lt table border 2 align center cellspacing 0 cellpadding 20 bgcolor 0ale42 gt pranbei lt trs lt td gt 3 printf lt center gt lt img src ch modulol_step ch paso de informaciAn a modulol_step ch for i 0 1 lt 3 i putc i 0 stdout fputs Server URLEncode name i stdout putc stdout fputs Server URLEncode values i
105. tf lt strong gt Par amp aacute metros del controlador PID lt strong gt lt p gt for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j il fputs criterios i stdout printf lt p gt Kc Sf Ti f Td Sf lt p gt 105 0 gt El m amp eacute todo reguladores lt h2 gt PID lt strong gt lt p gt 0 gt El m amp eacute todo servomecanismos lt h2 gt if tm tau lt 0 1 printf lt span style color rgb 255 0 no aplica ya que tm tau amp lt 0 1 lt span gt lt p gt bandera 1 break case solerareg printf lt h2 gt M amp eacute todo de Solera para a 1 0 6199 a 2 0 5361 b 1 1 1080 b 2 1 1210 c 1 1 4810 c 2 1 4470 d 1 1 1940 d 2 2 9570 e 1 2 8340 e 2 4 7350 f 1 0 2686 f 2 0 1556 g 1 0 2729 g 2 0 2507 h 1 1 0640 h 2 0 9522 3 1 0 3521 j 2 0 3039 printf lt strong gt Parsaacute metros del controlador for i 1 1 lt 3 1 kc il a i b 1 pow tm tau c i kp ti i tau d i t e i pow tm tau f i td i tau g i h i pow tm tau j i fputs criterios i stdout printf lt p gt Kc Sf Ti Sf Td Sf lt p gt if tm tau lt 0 5 printf lt span style color rgb 255 0 no aplica ya que tm tau amp lt 0 5 lt span gt lt p gt bandera 1 break ca
106. tions and observe what happens Click here to inspect transfer matric EE 18 s 2 14 8548 G s 2 1 Bs s E 14 8545 Figure 2 The bode plot example after the actions performed as listed above Y Subprograma VCLabNav started Figura 2 11 Vista en pantalla del sitio de la Universidad de Bochum 2 8 Sitio de la Escuela Superior de Ingenieros de Bilbao Espa a 14 El Departamento de Ingenier a de sistemas y autom tica de la Escuela Superior de Bilbao ofrece tutor as de controladores PID para Matlab El tutorial consta de diez lecciones Introduccion al control Acci n proporcional Acci n integral Acci n derivativa Introducci n al PID 17 Aspectos pr cticos del PID El PID real Algoritmos y estructuras del PID Sinton a del PID Estrategias no lineales Este tutorial presenta el inconveniente de que para su utilizaci n se requiere tener instalado Matlab 2 9 Softintegration 15 En esta p gina se encuentra el lenguaje de programaci n Ch Se encuentra tambi n una interfaz donde se promociona la capacidad de este lenguaje para crear p ginas Web interactivas orientadas al control autom tico En este sitio el usuario tiene la posibilidad de resolver problemas de sistemas continuos y discretos Adem s es posible describir estos sistemas en forma de variables de estado polos y ceros o funci n de transferencia Entre las funciones accesibles al usuario se en
107. ues 13 declaracion de variables y clases char modelo tool class CResponse Response class CRequest Request class CServer Server En esta secci n se declaran las variables que se utilizar n asi como los objetos correspondientes a las clases definidas en cgi h que permitir n obtener la informaci n insertada por el usuario Class CResponse Request define un objeto Request de clase CRequest cuyas funciones miembro nos permitir n obtener los par metros introducidos por el usuario en la p gina Web class CResponse Response define un objeto Response de clase CResponse cuyas funciones miembro nos permitir n crear la p gina web que el usuario ver como respuesta class CServer Server define un objeto Server de clase CServer que nos permitir llamar a las funciones encargadas de generar los gr ficos como si se llamaran desde un servidor Web Creaci n del tipo de respuesta Response setContentType text html Response begin 41 Response title An amp aacute lisis de estabilidad titulo de la respuesta setbuf stdout NULL limpia el buffer print lt H1 gt An amp aacute lisis de estabilidad lt HI gt n Imprime el titulo de la respuesta Response setContentType text html establece que el tipo de respuesta a genera res un archive html Response begin inicia la respuesta Response title An amp acute lisis de estabilidad establece el titulo de la respuesta que se gen
108. uesta sys margin amp plot NULL NULL NULL NULL crea un gr fico en plot plot outputType PLOT_OUTPUTTYPE STREAM png color establece el formato de salida de la imagen de forma que pueda ser interpretada por el navegador web plot plotting refresca la imagen con las caracter sticas deseadas Response end Finaliza la imagen 45 Resumen de funciones m s utilizadas a Funciones del conjunto de herramientas para sistemas de control Class CControl sys crea un objeto sys de la clase Control CControl model crea un modelo para un sistema lineal e invariante con el tiempo Prototipo int model string t tipo array double num amp array double den amp double ts array double complex z amp array double complex p amp double k double ts Parametros tipo string que indica el modelo a obtener Se usa tf y zpk para divisi n de polinomios de la frecuencia compleja s y para la forma de polos y ceros respectivamente num vector con los coeficientes del numerador de la funci n de transferencia den vector con los coeficientes del denominador de la funci n de transferencia z vector complejo con los ceros de la funci n de transferencia p vector complejo con los polos de la funci n de transferencia k constante k de ganancia ts tiempo de muestreo para sistemas discretos Valor de retorno Cero si el sistema se creo adecuadamente CControl step calcula y grafica la respuesta a un
109. y los hallazgos obtenidos se utilizaron como referencia para seleccionar los contenidos de los m dulos desarrollados como parte del tutor 2 1 Sitio de John Hopkins University E U A 2 1 1 LTI arcade 4 Permite al usuario observar la salida del sistema ante una entrada que el mismo dibuje con el apuntador mouse Los sistemas estudiados se limitan a sistemas de segundo y primer orden predefinidos en la aplicaci n Aparte de la salida del servomecanismo con este tipo de funci n de transferencia se muestran ventanas que muestran la respuesta al impulso al escal n y el diagrama de Bode para dichos sistemas Tambi n muestra la relaci n entrada salida expresada como convoluci n ecuaci n diferencial y funci n de transferencia transformada de Laplace Direcci n SI hip jhu edu signals arcade2 indexarcade2 htm Er u Select a system and a number of targets Then sketch an input signal x 1 so that the response y t minimizes the sum squared miss distance at the targets To make the task more challenging impose on youself an upperbound on the elapsed time An equally important objective is to correlate the mathematical description of the system with the characteristics of input output behavior System 8 Targets Time Mode Impulse E no Bode Plot IH Ast Order unstab fo ll Reset 2 t Bode Plot Ini Input Output yt eI v aide s 0 7 NU Impulse Response h t e u t 2 MA Differential Equation 30 70 x4 Fou

Download Pdf Manuals

image

Related Search

Related Contents

2ª generación Teléfono digital inalámbrico (DECT)  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.