Está en la página 1de 6

Diseo, Construccin y Programacin de un PCL Mediante un PIC Para el Control de una Planta Electroneumtica de Paquete de Mando FESTO

Alejandro Lalvay Email: adlalvay@espe.edu.ec Sebastin Mena Email: samena@espe.edu.ec

Escuela Politcnica del Ejrcito, Carrera de Ingeniera Mecatrnica, Sangolqu, Ecuador


RESUMEN El presente documento muestra los resultados de la elaboracin de un PLC mediante un PIC 16F877A, con el cual se puede controlar una planta de simulacin electroneumtica FESTO. El acondicionamiento electrnico se lo realiza teniendo en cuenta que los solenoides de las vlvulas provocan remanencia, la cual provoca errores en el funcionamiento e incluso desperfectos en los elementos al no ser correctamente controlada. PALABRAS CLAVE Remanencia, Ladder, PIC, PLC, Solenoide, Actuador, Pistn. ABSTRACT - This paper shows the results of the development of a PLC using a PIC 16F877A, with which a FESTO simulation electro plant can be controlled. Electronic packaging is performed by taking into account that the solenoids of the valves cause remanence, which causes errors in operation and even damage to the elements not being properly controlled. KEY WORDS - Remanence, Ladder, PIC, PLC, Solenoid, Actuator, Piston.

I.

INTRODUCCIN

l control de sistemas electrnicos mediante sistemas alternos es una gran ventaja para la industria. Si se conoce como funciona un proceso, cules son las variables de control y las de alimentacin elctrica, es posible construir un modelo que sea capas de controlar dicho proceso con la misma eficiencia que un modelo de fbrica. Esto puede tener grandes beneficios principalmente econmicos para una industria. De sta manera es que se busca siempre el desarrollo de nuevos sistemas que sean lo suficientemente estables y funcionales para remplazar controles obsoletos o a su vez de alto costo. II. DESARROLLO

control compuesta por el PIC 16F877A y la parte de potencia compuesta por rels y optoacopladores. De no aislar correctamente estas dos partes las corrientes de retorno que se provocan en las bobinas pueden hacer que las seales de control se pierdan y consecuencia de esto el control de la planta no ser el correcto. A continuacin se muestra un diagrama de como se encuentra construido el circuito de interfaz.

A. Implementacin del circuito Como se mencion con anterioridad para poder tener un control adecuado de la planta electroneumtica hay que tener presente que las bobinas de las solenoides provocan remanencia, para evitar los problemas que esto genera hay que tener un aislamiento correcto entre la parte de

Figura 1. Implementacin del circuito interfaz.

Adems las corrientes de retorno tambin fueron un problema ya que al generarse en las bobinas una parte de ellas se consuma en elementos resistivos colocados en el circuito lo cual a pesar de tener aislamientos con la parte de control provocaban que la seal se pierda despus de un tiempo de funcionamiento. La solucin es no utilizar elementos resistivos y en su lugar tener elementos que limiten la corriente a dirigirse en un solo sentido como son los diodos los cuales garantizan que las corrientes de retorno no hagan que se pierda la seal. IV. CONCLUSIONES Lo ms recomendable para realizar las lgicas de control para cualquier tipo de planta es usar un lenguaje de programacin propio para el PIC como Ensamblador o Lenguaje de Programacin C, con esto podemos asegurarnos de que los elementos que se vayan a usar como actuadores o sensores en la planta se puedan usar varias veces, cosa que no se puede lograr con el lenguaje Ladder. Poder determinar los efectos que tienen las bobinas elementos que provocan remanencia y corrientes parsitas es de mucha importancia ya que de sta manera se pueden contrarrestar sus efectos para un correcto funcionamiento de los equipos que se estn controlando.

Figura 2. Planta de Paquete de Mando a Controlar. B. Elaboracin del control para el PIC Para la elaboracin del programa de control para el PIC tenemos varias opciones, utilizar los programadores propios de un PIC que son en lenguaje Ensamblador en su defecto el lenguaje en C, pero para secuencias sencillas en las cuales no se requiere varias repeticiones de un mismo elemento se puede usar programadores en Ladder como el LDMICRO, que nos facilitan permitindonos programar en lgica de escalera tpica de un PLC pero que son capaces de generar un archivo para cargar al PIC con la lgica que se ha programado V. III. RESULTADOS

REFERENCIAS FESTO Espaa (2012) http://www.festo.com/cms/es_es/in dex.htm Cnovas A. y Dorado V. (208) Manual de usuario del compilador PCW de CCS http://es.scribd.com/doc/19658135/ Manual-CCS-Espanol

Como principales resultados y novedades obtenidos ya en la prctica, fue que la programacin Ladder para secuencias complicadas no es til ya que al momento de correr su programacin lo hace lnea a lnea o en forma de escalera tal como su nombre lo indica y esto es un problema el momento de utilizar un elemento varias veces. Por este motivo existieron varios intentos fallidos los cuales posteriormente se pudieron corregir usando programacin en C con la cual ya se poda usar un mismo elemento varias veces y ms que todo programar secuencias complicadas.

VI.

ANEXOS A. Programa usado en el PIC (cdigo elaborado en Pic C) #include <16f877a.h> #use delay(clock=4000000) #fuses wdt #int_EXT

EXT_isr() { while (true) { restart_wdt(); // CONTINUAR CICLO if (input(PIN_B2)) { restart_wdt(); gotosalir; } // RESET DEL SISTEMA if (input(PIN_B4)) { output_low(PIN_A0); //desactivo A+ output_low(PIN_A2); //desactivo B+ output_low(PIN_A5); //desactivo C+ restart_wdt(); delay_ms(1500); output_high(PIN_A3); //activo Brestart_wdt(); delay_ms(1500); output_low(PIN_A3); //desactivo Boutput_high(PIN_A1); //activo Arestart_wdt(); delay_ms(1500); output_low(PIN_A1); //desactivo Awhile (true); } } salir: restart_wdt(); }

void main() { setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF); setup_psp(PSP_DISABLED); setup_spi(FALSE); setup_timer_0(RTCC_INTERNAL); setup_wdt(WDT_2304MS);

setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); // TODO: USER CODE!! while (true) { restart_wdt(); if (input(PIN_B6)) { output_high(PIN_A0); restart_wdt(); delay_ms(1500); output_low(PIN_A0); output_high(PIN_A2); restart_wdt(); delay_ms(1500); output_low(PIN_A2); output_high(PIN_A5); restart_wdt(); delay_ms(1500); output_high(PIN_A3); restart_wdt(); delay_ms(1500); output_low(PIN_A3); output_high(PIN_A1); restart_wdt(); delay_ms(1500); output_low(PIN_A1); output_high(PIN_A2); restart_wdt(); delay_ms(1500); output_low(PIN_A5); restart_wdt(); delay_ms(1500); output_low(PIN_A2); restart_wdt(); delay_ms(1500); output_high(PIN_A3); restart_wdt(); delay_ms(1500); output_low(PIN_A3); } } }

//Pulsador start //activo A+

//desactivo A+ //activo B+

//desactivo B+ //activo C+

//activo B-

//desactivo B//activo A-

//desactivo A//activo B+

//desactivo C+

//desactivo B+

//activo B-

//desactivo B-

B) Circuito Diagrama interfaz

5V

C1
22p

PAUSA X1
SW-SPST

R7
220

C2
2
5V

CRYSTAL

CONTINUE
RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 SW-SPST

PIC
13 14 2 3 4 5 6 7 8 9 10 OSC1/CLKIN OSC2/CLKOUT

R8
2
220

U1
1 A B C 6 5

22p

RESET
SW-SPST

R2
1k

2 K 4N35 E

R3
1k

Q1
2N3904

R4
10k

R5
220

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

R9
220

START
SW-SPST 5V

R10
220

J1
1 9 2 10 3 11 4 D2 1N4007 12 5 13 6 14 7 15 8 CONN-D15F

5V

D5
1N4007

R1
100k

D1
1N4007

RL1
JWD-172-5

12V

SW1
SW-SPST

C15
330p

R6
10k

Q2
2N3904

8
FILE NAME: DESIGN TITLE:

circuito planta.DSN Circuito Planta FESTO


REV: <NONE>

DATE:

07/06/2012

PATH: BY:

PAGE: 9 Circuito de planta FESTO I:\Documents and Settings\Manuel\Mis documentos\sebas\Univer 1 of 1 TIME: 7:53:12

<NONE>