control lógico · 2015-09-16 · verdad de la puerta lógica not 20 tabla 3. verdad de la puerta...
Post on 06-May-2020
8 Views
Preview:
TRANSCRIPT
Control lógiCo programable
Control lógiCo programable
rubén Darío Vásquez salazar
InstItuto tecnológIco MetropolItanoInstitución Universitaria
Control lógICo programable© rubén Darío Vásquez Salazar
© Instituto tecnológico metropolitano
1a. edición: diciembre de 2010
rectoraluz mariela Sorza Zapata
ISbn: 978-958-8351-95-7
Comité editorialolga maría rodríguez bolufé, phD
José r. galo Sánchez, phDliliana Saidon, phD
monserrat Vallverdú, phDgianni pezzoti, phD
Juan guillermo rivera berrío, phDedilson Delgado trejos, phDpaula botero bermúdez, mSc
marleny aristizábal pérez, mScViviana Díaz Díaz
Corrección de textoslorenza Correa restrepo
Diagramación y montajel. Vieco e Hijas ltda.
Hecho en medellín, Colombia
Instituto tecnológico metropolitanoCalle 73 no. 76a 354tels.: (574) 440 51 97
Fax: 440 51 01www.itm.edu.co
medellín - Colombia
Las opiniones, originalidad y citaciones del texto son de la responsabilidad del autor. El Instituto salva cualquier obligación derivada del libro que se publica. Por lo tanto, ella recaerá única y exclusivamente en el autor.
ConteniDo
1. IntroduccIón .................................................................................. 17
2. prelIMInares ................................................................................... 192.1 puertas lógIcas .............................................................................. 192.1.1 sI (IF) ............................................................................................. 192.1.2 no (not) ....................................................................................... 202.1.3 Y (and) ......................................................................................... 212.1.4 o (or) ............................................................................................ 222.1.5 or exclusIva (xor) ...................................................................... 222.1.6 no-Y (nand) ................................................................................ 232.1.7 no-o (nor) .................................................................................. 242.1.8 equIvalencIa (xnor) ................................................................... 252.2 núMeros bInarIos ........................................................................... 282.2.1 tIpos ................................................................................................ 292.2.2 transForMacIón de un núMero bInarIo en decIMal........................ 30
2.2.3 transForMacIón de un núMero decIMal en bInarIo........................ 312.3 conexIón del plc .......................................................................... 322.4 ejercIcIos propuestos ..................................................................... 39
3. redes de petrI con varIables dIgItales .......................................... 413.1 eleMentos de entrada dIgItales .................................................... 413.1.1 contacto norMalMente abIerto (na) ........................................... 413.1.2 contacto norMalMente cerrado (nc) .......................................... 41
3.2 eleMentos de salIda dIgItales ....................................................... 423.2.1 bobIna de accIón sIMple ................................................................. 423.2.2 bobIna de puesta a 1 (set) ........................................................... 423.2.3 bobIna de puesta a 0 (reset) ...................................................... 423.3 eleMentos de una red de petrI ...................................................... 443.4 reglas de evolucIón del Marcaje .................................................. 46
3.5 traduccIón de redes de petrI a lenguaje en escalera .................. 483.5.1 convergencIa or ........................................................................... 483.5.2 convergencIa and ........................................................................ 493.5.3 dIvergencIa or .............................................................................. 503.5.4 dIvergencIa and ........................................................................... 503.6 prograMacIón de eleMentos dIgItales en sIMatIc step7 ............... 633.7 ejercIcIos propuestos ..................................................................... 64
4. redes de petrI con teMporIzadores Y contadores ........................ 674.1 teMporIzadores .............................................................................. 674.1.1 teMporIzador IMpulso .................................................................... 684.1.2 teMporIzador IMpulso prolongado ................................................ 684.1.3 teMporIzador con retardo a la conexIón ..................................... 694.1.4 teMporIzador con retardo a la conexIón (con MeMorIa) ............. 694.1.5 teMporIzador con retardo a la desconexIón ................................ 704.2 contadores..................................................................................... 734.2.1 contador ascendente .................................................................... 734.2.2 contador descendente ................................................................... 734.2.3 teMporIzador ascendente-descendente ......................................... 744.3 ejercIcIos propuestos ..................................................................... 81
5. redes de petrI con varIables analógIcas ..................................... 835.1 tIpos de datos ................................................................................. 835.2 conversIón de datos ...................................................................... 845.3 coMparadores ................................................................................ 85
5.4 operacIones arItMétIcas Y transFerencIa ..................................... 855.4.1 operacIones arItMétIcas con enteros ............................................ 855.4.2 operacIones arItMétIcas en coMa Flotante (FIgura 48) ............... 865.4.3 transFerencIa ................................................................................. 875.5 escalIzacIón ................................................................................... 875.6 raMpas ............................................................................................ 905.7 ejercIcIos propuestos ................................................................... 100bIblIograFía ................................................................................................ 103
ínDiCe De fguras
FIgura 1. síMbolo de la FuncIón lógIca IF 20
FIgura 2. síMbolo de la FuncIón lógIca not 21
FIgura 3. síMbolo de la FuncIón lógIca and 21
FIgura 4. síMbolo de la FuncIón lógIca or 22
FIgura 5. síMbolo de la FuncIón lógIca xor 23
FIgura 6. síMbolo de la FuncIón lógIca nand 24
FIgura 7. síMbolo de la FuncIón lógIca nor 25
FIgura 8. síMbolo de la FuncIón lógIca xnor 25
FIgura 9. plc sIeMens 314c-2dp 33
FIgura 10. representacIón de un Motor trIFásIco 34
FIgura 11. conexIón en estrella de un Motor trIFásIco 35
FIgura 12. conexIón en delta de un Motor trIFásIco 35
FIgura 13. esqueMa de contactos auxIlIares del contactor 37
FIgura 14. cIrcuIto de potencIa 37
FIgura 15. cIrcuIto de Mando 38
FIgura 16. dIagraMa en escalera para el ejeMplo: puertas lógIcas en lenguaje ladder
44
FIgura 17. red de petrI para encendIdo de un boMbIllo 46
FIgura 18. redes de petrI con: a) transIcIón no sensIbIlIzada, b) transIcIón sensIbIlIzada, c) transIcIón no dIsparada Y d) transIcIón dIsparada.
47
FIgura 19. red de petrI Y equIvalente en lenguaje ladder para la estructura convergencIa or
49
FIgura 20. red de petrI Y equIvalente en lenguaje ladder para la estructura convergencIa and
49
FIgura 21. red de petrI Y equIvalente en lenguaje ladder para la estructura dIvergencIa or
50
FIgura 22. red de petrI Y equIvalente en lenguaje ladder para la estructura dIvergencIa and
51
FIgura 23. red de petrI del ejeMplo de control de nIvel Y teMperatura en un tanque
53
FIgura 24. bloque de organIzacIón ob100 para el ejeMplo 3.3 55
FIgura 25. accIones del estado M0.1 56
FIgura 26. evolucIón de la Marca de M0.1 a M0.2 Y M0.5 57
FIgura 27. accIones de los estados M0.2 Y M0.5 58
FIgura 28. evolucIón de la Marca de M0.2 a M0.3 Y accIones de M0.3
59
FIgura 29. evolucIón de la Marca de M0.2 a M0.4 dIrectaMente 60
FIgura 30. evolucIón de la Marca de M0.3 a M0.4 Y accIones de M0.4
61
FIgura 31. evolucIón de la Marca de M0.4 Y M0.5 de vuelta a M0.1
62
FIgura 32. bloque prIncIpal vacío con eleMentos ladder 63
FIgura 33. bloque prIncIpal prograMado con eleMentos ladder 64
FIgura 34. teMporIzador IMpulso. 68
FIgura 35. teMporIzador IMpulso prolongado 68
FIgura 36. teMporIzador con retardo a la conexIón 69
FIgura 37. teMporIzador con retardo a la conexIón (con MeMorIa)
69
FIgura 38. teMporIzador con retardo a la desconexIón 70
FIgura 39. lIsta desplegable de teMporIzadores 71
FIgura 40. bloque del teMporIzador pulso extendIdo del ejeMplo 4.1
72
FIgura 41. lIsta desplegable de contadores 75
FIgura 42. paraMetrIzacIón de un contador 76
FIgura 43. bloque del contador ascendente-descendente del ejeMplo 4.2
77
FIgura 44. red de petrI del ejeMplo 4.3 78
FIgura 45. prograMacIón en lenguaje ladder del ejeMplo 4.3 80
FIgura 46. conversIón de entero (Int) a real (real) 85
FIgura 47. lIsta desplegable de bloques de operacIón en coMa FIja
86
FIgura 48. lIsta desplegable de bloques de operacIón en coMa Flotante
86
FIgura 49. lIsta del bloque de transFerencIa de datos 87
FIgura 50. relacIón lIneal entre los datos de escalIzacIón 88
FIgura 51. bloque de conversIón de escala Fc105 (scale convert)
89
FIgura 52. velocIdad contra tIeMpo (contInua) 90
FIgura 53. velocIdad contra tIeMpo (dIscreto) 92
FIgura 54. Modelo en redes de petrI para la raMpa 93
FIgura 55. tabla de síMbolos del ejeMplo 5.2 95
FIgura 56. bloque ob100 del ejeMplo 5.2 95
FIgura 57. prograMacIón de segMentos del bloque ob1 para el ejeMplo 5.2
96
ínDiCe tablas
tabla 1. verdad de la puerta lógIca IF 20
tabla 2. verdad de la puerta lógIca not 20
tabla 3. verdad de la puerta lógIca and 21
tabla 4. verdad de la puerta lógIca or 22
tabla 5. verdad de la puerta lógIca xor 23
tabla 6. verdad de la puerta lógIca nand 24
tabla 7. verdad de la puerta lógIca nor 24
tabla 8. verdad de la puerta lógIca xnor 25
tabla 9. verdad de la puerta lógIca xor de 3 entradas 28
tabla 10. capacIdad de alMacenaMIento en bIts 29
tabla 11. procedIMIento para convertIr un núMero bInarIo en uno decIMal
31
tabla 12. varIables para el ejeMplo: puertas lógIcas en lenguaje ladder
43
tabla 13. dIreccIón del ejeMplo de control de nIvel Y teMperatura en un tanque
52
tabla 14. equIvalencIa entre los noMbres de los teMporIzadores
70
tabla 15. paráMetros de un teMporIzador 72
tabla 16. equIvalencIa entre los noMbres de los contadores 74
tabla 17. paráMetros de un contador 76
tabla 18. InventarIo de señales para el ejeMplo 4.3 79
tabla 19. tIpos de datos en el plc 84
tabla 20. coMparadores 85
17Rubén DaRío Vásquez salazaR
1. introDuCCión
los controladores lógicos programables o plC, por las siglas de su nombre en inglés Programmable Logic Controller, son dispositivos electrónicos de control de sistemas de eventos discretos, cuya lógica se puede programar desde un computador utilizando un programa propio del fabricante; incluso, algunos plC compactos permiten la programación directa desde una interface ubicada en su parte frontal.
esta habilidad para ser programados es su principal ventaja frente al tradicional control cableado. los procesos industriales están en frecuente cambio, mejora y adaptación, por lo cual es común que se requieran cambios en la lógica de control. el control cableado generalmente requiere de cambio de equipos, desconexiones y nuevas conexiones para ser adaptado a los cambios en los procesos, pero el control lógico requiere únicamente de cambios en la programación y muchas menos configuraciones.
Desde sus inicios, el plC fue utilizado únicamente para realizar el control centralizado, pero pronto se fueron creando protocolos de comunicación, entre ellos el Internet, que permitieron distribuir el control y reducir su complejidad. las señales analógicas también permitieron aumentar el espectro de procesos a controlar y su aplicación se masificó hasta hoy en día ser una herramienta muy popular, con gran cantidad de fabricantes que ofrecen variedad de equipos a costos accesibles.
los plC permiten realizar la programación a partir de diferentes lenguajes, algunos de ellos basados en texto, pero el más utilizado es el lenguaje de escalera o ladder, debido a sus ventajas gráficas y a su similitud con la comúnmente utilizada lógica cableada, mencionada anteriormente.
18 ContRol lógiCo pRogRamable
la programación ha sido un tema de interés para muchas investigaciones debido a que se han detectado algunos inconvenientes por la no estandarización del código plC. Debido a las grandes capacidades de estos equipos y a la cantidad de aplicaciones en que pueden ser utilizados, cada programador ha desarrollado su propio estilo de programación y se ha acostumbrado a él; los estilos entre diferentes programadores pueden llegar a ser tan diferentes que las modificaciones por parte de un programador diferente al autor original se vuelven una tarea muy compleja y, en ocasiones, se hace necesaria la reconstrucción de parte o todo el algoritmo de control lógico, desperdiciando tiempo de trabajo.
entre los procedimientos que se podrían realizar para estandarizar el método de programación está la obtención de un modelo del proceso que permita realizar una evaluación y/o simulación y luego iniciar la codificación a lenguaje de plC. este procedimiento permitiría que varios programadores que utilicen la misma herramienta de modelación obtengan códigos similares o iguales, los cuales pueden ser fácilmente modificados o reparados por cualquiera de ellos.
las redes de petri son una herramienta de modelación de sistemas de eventos discretos (SeD) que se pueden traducir de forma automática o manual a código plC cuyo estudio es la finalidad de este libro.
19Rubén DaRío Vásquez salazaR
2. preliminares
existen algunos temas que requieren estudio o repaso previo a la introducción en la programación de los plC. básicamente, estos temas consisten en el fundamento lógico implementado en estos controladores, cuyo objetivo final es la evaluación de ciertas expresiones combinadas con el valor de las entradas para producir un resultado en la salida. las puertas lógicas son las expresiones más básicas que pueden ser programadas en un plC.
2.1 puertas lógiCas
las entradas de una puerta lógica pueden estar activas o inactivas, en 1 o en 0, on – oFF, en verdadero o en falso, son iguales formas de llamar los únicos dos posibles estados que tiene una entrada.
las expresiones booleanas contenidas en cada puerta lógica, junto con el valor de las entradas, producirán una salida F que también tomará uno de dos posibles estados: activa o inactiva.
a continuación se enunciarán las más comunes utilizando la mínima cantidad de entradas necesarias para su explicación. en el caso en que se desee conocer la puerta lógica equivalente con más entradas se deberá hacer una analogía con la puerta explicada aquí.
las tablas de verdad (Álvarez, 2007) muestran todas las posibles combinaciones de las entradas, además, en la columna derecha muestran el resultado de evaluar las entradas con su respectiva función de salida.
2.1.1 si (if)
la puerta lógica IF consiste en una expresión, cuya salida F es igual a la entrada a.
20 ContRol lógiCo pRogRamable
F = A
la tabla de verdad para esta puerta lógica se muestra en la tabla 1, y su símbolo, en la Figura 1.
tabla 1. tabla de verdad de la puerta lógIca IF
entrada a salIda F
0 0
1 1
FIgura 1. síMbolo de la FuncIón lógIca IF
8
F A
La tabla de verdad para esta puerta lógica se muestra en la Tabla 1, y su símbolo,
en la Figura 1.
Tabla 1. Tabla de verdad de la puerta lógica IF
ENTRADA A SALIDA F 0 0 1 1
Figura 1. Símbolo de la función lógica IF
Fuente: Elaboración propia
2.1.2 No (NOT)
La puerta lógica NOT consiste en una expresión cuya salida F es opuesta a la
entrada A.
La tabla de verdad para esta puerta lógica se muestra en la Tabla 2, y su símbolo, en la
Figura 2.
Tabla 2. Tabla de verdad de la puerta lógica NOT
ENTRADA A SALIDA F 0 1 1 0
F A
Fuente: elaboración propia
2.1.2 no (not)
la puerta lógica not consiste en una expresión cuya salida F es opuesta a la entrada a.
F A=la tabla de verdad para esta puerta lógica se muestra en la
tabla 2, y su símbolo, en la figura 2.
tabla 2. tabla de verdad de la puerta lógIca not
entrada a salIda F
0 1
1 0
21Rubén DaRío Vásquez salazaR
FIgura 2. síMbolo de la FuncIón lógIca not
2
Figura 2. Símbolo de la función lógica NOT
Fuente: elaboración propia
2.1.3 Y (anD)
la puerta lógica anD consiste en una expresión, cuya salida F se activa únicamente cuando todas las entradas estén activas. Su expresión se realiza a través de la operación producto.
F = AB
esta puerta lógica está estrechamente relacionada con interruptores conectados en serie, debido a que para que se produzca una corriente a través de ellos es necesario que todos estén activos de forma simultánea. la tabla de verdad para esta puerta lógica se muestra en la tabla 3, y su símbolo, en la figura 3.
tabla 3. tabla de verdad de la puerta lógIca and
entrada a entrada b salIda F
0 0 0
0 1 0
1 0 0
1 1 1
FIgura 3. síMbolo de la FuncIón lógIca and
Fuente: elaboración propia
22 ContRol lógiCo pRogRamable
2.1.4 o (or)
la puerta lógica or consiste en una expresión, cuya salida F se activa cuando cualquiera de las entradas está activa. Su expresión se realiza a través de la operación suma.
F = A + B
esta puerta lógica está estrechamente relacionada con interruptores conectados en paralelo, debido a que para que se produzca una corriente a través de esta conexión es suficiente que alguno de ellos esté activo. la tabla de verdad para esta puerta lógica se muestra en la tabla 4, y su símbolo, en la Figura 4.
tabla 4. tabla de verdad de la puerta lógIca or
entrada a entrada b salIda F
0 0 0
0 1 1
1 0 1
1 1 1
FIgura 4. síMbolo de la FuncIón lógIca or
4
Figura 4. Símbolo de la función lógica OR
Fuente: elaboración propia
2.1.5 or exClusiVa (xor)
la puerta lógica Xor consiste en una expresión, cuya salida F se activa cuando el resultado de la siguiente expresión es verdadero.
23Rubén DaRío Vásquez salazaR
F A B AB AB= ⊕ = +
el operador utilizado en esta puerta lógica fue un signo de suma encerrado en un círculo. la tabla de verdad para esta puerta lógica se muestra en la tabla 5, y su símbolo, en la Figura 5.
tabla 5. tabla de verdad de la puerta lógIca xor
entrada a entrada b salIda F
0 0 0
0 1 1
1 0 1
1 1 0
FIgura 5. síMbolo de la FuncIón lógIca xor
Fuente: elaboración propia
2.1.6 no-Y (nanD)
la puerta lógica nanD consiste en una expresión, cuya salida F se activa cuando el resultado de la siguiente expresión es verdadero.
F = AB = A + B
nota 1. para la conversión de AB en A + B se utiliza una regla de la lógica booleana: “Un producto negado se convierte en la suma de los multiplicandos negados”.
la tabla de verdad para esta puerta lógica se muestra en la tabla 6, y su símbolo, en la figura 6.
24 ContRol lógiCo pRogRamable
tabla 6. tabla de verdad de la puerta lógIca nand
entrada a entrada b salIda F0 0 10 1 11 0 11 1 0
FIgura 6. síMbolo de la FuncIón lógIca nand
Fuente: elaboración propia
2.1.7 no-o (nor)
la puerta lógica nor consiste en una expresión, cuya salida F se activa cuando el resultado de la siguiente expresión es verdadero.
F = A + B = A B
nota 2. para la conversión de A + B en AB se utiliza una regla de la lógica booleana: “Una suma negada se convierte en la multiplicación de los sumandos negados”.
la tabla de verdad para esta puerta lógica se muestra en la tabla 7 y su símbolo en la figura 7.
tabla 7. tabla de verdad de la puerta lógIca nor
entrada a entrada b salIda F0 0 10 1 01 0 01 1 0
25Rubén DaRío Vásquez salazaR
FIgura 7. síMbolo de la FuncIón lógIca nor
Fuente: elaboración propia
2.1.8 equiValenCia (xnor)
la puerta lógica Xnor consiste en una expresión, cuya salida F se activa cuando el resultado de la siguiente expresión es verdadero.
F = A Å B
la tabla de verdad para esta puerta lógica se muestra en la tabla 8, y su símbolo, en la figura 8.
tabla 8. tabla de verdad de la puerta lógIca xnor
entrada a entrada b salIda F0 0 10 1 01 0 01 1 1
FIgura 8. síMbolo de la FuncIón lógIca xnor
Fuente: elaboración propia
ejemplo 2.1. Xor de 3 entradas
para reforzar las definiciones vistas en las notas 1 y 2, y mostrar la forma de realización de analogías para las puertas
26 ContRol lógiCo pRogRamable
lógicas con más entradas de las explicadas en la sección anterior, se tomará como referencia la puerta lógica Xor y se añadirá una entrada adicional, realizando el desarrollo para obtener su expresión final y su tabla de verdad.
anteriormente se vio que la puerta lógica Xor de 2 entradas consiste en una expresión, cuya salida F se activa cuando el resultado de la siguiente expresión es verdadero.
F = A Å B = AB + AB
por tanto, para una puerta lógica Xor de 3 entradas la expresión se convierte en:
F = A Å B Å C
las propiedades asociativa y conmutativa se cumplen en las operaciones lógicas, por lo tanto, es igual convertir la expresión en:
F = (A Å B) Å C = (AB + AB) Å C
el operador Xor aplicado a 2 elementos sugiere en palabras textuales que: “El primero de ellos se niega y se multiplica por el segundo, todo esto se suma con la negación del segundo multiplicado por el primero de ellos”.
aplicando esta definición a la expresión obtenida se tiene:
( ) ( ) ( )F AB AB C AB AB C AB AB C= + ⊕ = + + +
aplicando la definición dada en la nota 2, ( )AB AB+ se convierte en ABAB , por tanto:
( ) ( )F ABAB C AB AB C= + +
27Rubén DaRío Vásquez salazaR
aplicando la definición dada en la nota 1, AB y AB se convierten, respectivamente, en ( )A B+ y ( )A B+ . entonces la expresión se convierte en:
( )( )( ) ( )F A B A B C AB AB C= + + + +
Si se niega cualquier número booleano su valor se invierte, pero si se niega nuevamente su valor vuelve al estado inicial, por lo tanto A A= y B B= . la expresión se convierte en:
( )( )( ) ( )F A B A B C AB AB C= + + + +
realizando el producto ( )( )A B A B AA AB AB BB+ + = + + + . Cualquier número
multiplicado por su negado se convierte en cero, entonces AA AB AB BB AB AB+ + + = + , la expresión completa se
convierte en:
( ) ( )F AB AB C AB AB C= + + +
Destruyendo los paréntesis:
F ABC ABC ABC ABC= + + +
la tabla de verdad para esta puerta lógica se muestra en la tabla 9.
28 ContRol lógiCo pRogRamable
tabla 9. tabla de verdad de la puerta lógIca xor de 3 entradas
entrada a entrada b entrada c salIda F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
las puertas lógicas permiten entonces realizar un sinnúmero de operaciones con números que permiten únicamente 2 estados: activo o inactivo. estos números se llaman números binarios y su estudio se convierte en uno de los temas necesarios para lograr el entendimiento de la lógica utilizada para la programación y utilización de las puertas vistas anteriormente.
2.2 números binarios
los números que normalmente se utilizan en la vida cotidiana y académica se llaman números decimales, debido a que con un solo dígito se pueden tener 10 posibles combinaciones, desde el 0 hasta el 9. los números binarios adquieren su nombre debido a que en un solo dígito es posible tener únicamente 2 combinaciones, 0 ó 1.
la representación de los números decimales en sistemas computacionales es difícil debido a la cantidad de estados que posee un único dígito, mientras que en los binarios, por ejemplo por voltaje, es fácil representar un 0 lógico a partir de 0V y un 1
29Rubén DaRío Vásquez salazaR
lógico a partir de 5V. De esta forma se puede entregar una cadena o tren de unos y ceros que finalmente están llevando información a través de un cable.
las áreas de memoria en los controladores lógicos programables están representadas a partir de números binarios y, por tal motivo, su estudio debe ser de especial interés para un conocedor o aprendiz de este tema.
2.2.1 tipos
los números binarios se pueden dividir en varios tipos según el número de áreas de memoria o bits que utilicen (tabla 10). el bit se considera entonces la unidad más básica de medición de tamaño de un número binario.
tabla 10. capacIdad de alMacenaMIento en bIts
noMbre cantIdad síMbolo
bit 1 bit bit
byte 8 bits b
Kilobit 1024 bits Kbit
Kilobyte 1024 b Kb
megabit 1024 Kbits mbit
megabyte 1024 Kb mb
gigabit 1024 mbits gbit
gigabyte 1024 mb gb
terabit 1024 gbits tbit
terabyte 1045 gb tb
es posible realizar la transformación de cualquiera de estos tipos a bits, pero carece de sentido y normalmente se utiliza el tamaño en bytes (b).
30 ContRol lógiCo pRogRamable
2.2.2 transformaCión De un número binario en DeCimal
en un número binario de cualquier tamaño, se identifica el número del extremo derecho como el bit menos significativo, y el del izquierdo como el más significativo. este concepto se reforzará con el siguiente ejemplo.
Dada una cadena o sucesión de unos y ceros, el procedimiento para conocer su valor equivalente en números decimales se muestra en el siguiente ejemplo, paso por paso:
ejemplo 2.2. para convertir el número decimal de 16 bits 1100100110100001 se utiliza la tabla 11, y a continuación, se explica cada una de sus filas:
• Fila “binario”: Se escribe el número binario, con el bit más significativo a la izquierda, y el menos significativo, a la derecha.
• Fila “enumeración”: Se enumeran desde el bit menos significativo hasta el bit más significativo, de derecha a izquierda iniciando en cero.
• Fila “potencia de 2”: Se toma en cuenta la numeración de la fila anterior para ser la potencia del número decimal 2 respectivo. este 2 es debido al número de estados que puede tomar el número binario.
• Fila “Decimal”: Se calcula el valor de cada potencia de 2 de la fila “potencia de 2”, pero únicamente si su respectivo binario de la fila “binario” tiene el estado 1, en caso de ser 0 se debe poner 0 en la casilla decimal.
31Rubén DaRío Vásquez salazaR
tabla 11. procedIMIento para convertIr un núMero bInarIo en uno decIMal
bIn
ar
Io
1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 1
enu
Mer
ac
Ión
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
pote
nc
Ia d
e 2
215 214 213 212 211 210 29 28 27 26 25 24 23 22 21 20
dec
IMa
l
32768 16384 0 0 2048 0 0 256 128 0 32 0 0 0 0 1
Finalmente, el número decimal equivalente es la suma de todas las casillas decimales diferentes de cero:
32768 + 16384 + 2048 + 256 + 128 + 32 + 1 + = 51617
2.2.3 transformaCión De un número DeCimal en binario
el proceso en este caso será inverso al anterior. para ello se utilizará el mismo ejemplo, partiendo desde el número decimal 51617 y terminando en el número binario antes descrito.
para realizar este procedimiento se debe tener en cuenta si el número es par o impar. en caso de ser par se tiene inmediatamente que el bit menos significativo (el del extremo derecho) es cero, se divide por 2 el número decimal y se continúa el procedimiento, añadiendo unos o ceros cada vez más significativos. en caso de
32 ContRol lógiCo pRogRamable
ser impar, este bit será 1, se le deberá restar una unidad al número decimal, dividir por 2 y repetir el procedimiento hasta llegar al final.
el procedimiento entonces es:
• Debido a que 51617 es impar, entonces tomamos nota de que 1 es el bit menos significativo, restamos 1 unidad y queda en 51616, y dividimos por 2, lo cual da como resultado 25808.
• partimos ahora de 25808: dado que es par, el bit siguiente hacia la izquierda será 0. Dividimos por 2 y obtenemos 12904.
• el procedimiento se repite hasta llegar a la conclusión que el bit más significativo es 1 y obtener finalmente el número binario 1100100110100001.en Windows Xp®, Vista® y Windows7® está incluida una
calculadora científica capaz de realizar esta conversión de forma automática, además, en Internet hay algunas disponibles en línea que permiten efectuar esta misma operación sin necesidad de llevar a cabo el procedimiento paso por paso.
2.3 Conexión Del plC
en esta sección se explicará el esquema de conexión al plC usando como ejemplo la CpU314C-2Dp de Siemens, dado que el laboratorio de plC del Itm se encuentra dotado con esta referencia de plC. Sin embargo, la conexión de otras referencias e incluso marcas diferentes se realiza de forma muy similar.
la conexión de este plC consiste básicamente en 3 pasos:
1. Conexión de la fuente a la alimentación. este plC trae incluida una fuente encargada de convertir la energía y suministrarla a la CpU y a todos los demás componentes. está ubicada en el lado izquierdo y posee 3 bornes, l1, n y gnD, los cuales
33Rubén DaRío Vásquez salazaR
deben ser conectados a una alimentación de 110VaC. la fuente posee otros 4 bornes: 2 positivos etiquetados con l+ y 2 negativos etiquetados con m los cuales entregarán 24VDC.
2. Conexión de la CpU. Ésta posee 2 bornes llamados l+ y m, los cuales deben conectarse directamente a los bornes del mismo nombre en la fuente.
3. Conexión de las entradas y salidas. esta referencia de plC incluye 2 módulos de entradas y salidas, uno para analógicas y otro para digitales. ambos módulos deben energizarse con 24VDC provenientes de la fuente. los bornes de los módulos marcados con l deben ir conectados al borne l+ de la fuente, y los marcados con m, al borne m. los módulos de entradas y salidas poseen varios bornes l y m, por lo tanto, están numerados para ser fácilmente diferenciados. la figura 9 muestra los componentes del plC y sus respectivos
bornes de alimentación.
FIgura 9. plc sIeMens 314c-2dp
9
Figura 9. PLC Siemens 314C-2DP
Fuente: elaboración propia
34 ContRol lógiCo pRogRamable
ejemplo 2.3. Utilización de un plC para control de giro en un motor trifásico
el motor trifásico utiliza, como su nombre lo dice, 3 fases de forma equilibrada, es decir, consume lo mismo en cada una de ellas y no requiere el uso del neutro. Su alimentación es por corriente alterna y se pueden clasificar en asíncronos y síncronos. Se dice que un motor es síncrono cuando su rotor gira a las mismas revoluciones que lo hace el campo magnético del estator; en caso contrario, se llama asíncrono.
algunas de las características más importantes que diferencian un motor trifásico de otro son: la tensión, la cual puede variar dependiendo de su aplicación; por ejemplo, para aplicaciones industriales, es común encontrarlos a 230V, pero para grandes aplicaciones se utilizan motores de alta tensión, que llegan a ser de hasta 15000V; la frecuencia, la cual varía principalmente de acuerdo con el sistema eléctrico utilizado; en europa es a 50Hz, mientras que en américa es a 60Hz; su velocidad, la cual depende de la aplicación que se requiera.
Su representación se hace comúnmente a través de 3 bobinas (figura 10) que deben conectarse entre sí para producir el arranque y el giro, conexión que se hace en delta o en estrella.
FIgura 10. representacIón de un Motor trIFásIco
11
Figura 11. Conexión en estrella de un motor trifásico
Fuente: elaboración propia
35Rubén DaRío Vásquez salazaR
la conexión en estrella (Figura 11) se forma conectando los extremos U2, V2 Y W2 de las 3 bobinas, y en los extremos quedan los puntos U1, V1 y W1 disponibles para la alimentación con la red trifásica.
FIgura 11. conexIón en estrella de un Motor trIFásIco
11
Figura 11. Conexión en estrella de un motor trifásico
Fuente: elaboración propia
la conexión en delta, comúnmente conocida como triángulo, en la cual se conectan los puntos de las bobinas como se muestra en la figura 12.
FIgura 12. conexIón en delta de un Motor trIFásIco
12
Figura 12. Conexión en delta de un motor trifásico
Fuente: elaboración propia
en un motor trifásico, es posible controlar velocidad y sentido de giro.
36 ContRol lógiCo pRogRamable
el control de velocidad se realiza mediante un variador de frecuencia, al cual se le programan todos los parámetros del motor y se le envían órdenes para indicar la velocidad deseada. estas órdenes se envían comúnmente como un voltaje de 0-10VDC, donde 0V significan velocidad 0 y 10V significan velocidad máxima nominal.
el sentido de giro se realiza mediante la inversión de 2 de sus fases. esta inversión es delicada ya que si se comete un error en la inversión es posible provocar un corto circuito entre 2 fases y así generar un apagón y daños en el sector.
algunos elementos necesarios son:
• pulsador. elemento que permite el paso o interrupción de la corriente mientras es accionado. Cuando ya no se actúa sobre él, vuelve a su posición de reposo. puede ser normalmente cerrado (nC) o normalmente abierto (na).
• relé. es un dispositivo electromecánico, que funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.
• Contactor. es un interruptor accionado a distancia que vuelve a la posición de reposo cuando la fuerza de accionamiento deja de actuar sobre él. Simbología: 1 y 2 contactos normalmente cerrados (nC). 3 y 4 contactos normalmente abiertos (na)
37Rubén DaRío Vásquez salazaR
FIgura 13. esqueMa de contactos auxIlIares del contactor
13
Figura 13. Esquema de contactos auxiliares del contactor
Fuente: elaboración propia
• motor trifásico. la mayoría de los motores trifásicos tienen una carga equilibrada, es decir, consumen lo mismo en las tres fases, ya estén conectados en estrella o en triángulo. Un motor con carga equilibrada no requiere el uso de neutro.
• Fuente 24V ajuste por VarIaC: Funciona con un autotransformador para realizar los cambios de voltaje.el circuito de potencia (Figura 14) es el encargado de
alimentar al receptor, en este caso el motor.
FIgura 14. cIrcuIto de potencIa
14
Figura 14. Circuito de potencia
Fuente: elaboración propia
38 ContRol lógiCo pRogRamable
el circuito de mando (Figura 15) es el encargado de controlar el funcionamiento del contactor. normalmente consta de elementos de mando como pulsadores, interruptores, relés, etc.
FIgura 15. cIrcuIto de Mando
15
Figura 15. Circuito de mando
Fuente: elaboración propia
los pulsadores de arranque y de paro deben conectarse a las entradas digitales del plC, mientras que el relé 24VDC debe ir conectado a una salida digital. es de vital importancia aclarar en este tema de las entradas y salidas digitales del plC aclarar que su rango de voltajes admitido es 0-24V de baja corriente, es decir, su señal tiene finalidad únicamente de control y no de potencia, por lo cual activar actuadores directamente desde una de sus salidas puede generar daños, se recomienda entonces utilizar relés para
39Rubén DaRío Vásquez salazaR
activar los actuadores a través de fuentes diferentes al voltaje en las salidas digitales. ampliación de este tipo de conexiones, definiciones adicionales y composición interna de plC se puede encontrar en mandado, et al, 2006 el cual es un texto con un fuerte enfoque a los plC Step 7 y y balcells y romeral, 1998, libro cuyo capítulo 4 se concentra específicamente en este tema.
retomando el ejemplo, se aclare que para encender un motor mientras un pulsador esté presionado y apagarlo en caso contrario, no es necesaria ni rentable la utilización de un plC porque incrementaría el costo de la implementación del sistema y es de fácil implementación sin utilizarlo. Sin embargo, en este ejemplo se utilizará plC porque en el capítulo 5 se retomará este ejemplo para programar diferentes secuencias en el motor, utilizando temporizadores y contadores para inversión de giro, y comparadores para realizar control de velocidad, casos en los cuales empieza a ser rentable la implementación de la lógica programada, en vez de la lógica cableada, debido a la reducción de la utilización de cables y otros elementos físicos fácilmente reemplazables por líneas de código en un plC.
entonces, el capítulo 4 se concentrará en el uso de temporizadores y contadores, elementos importantes para la inversión de giro, mientras que en el capítulo 5 se estudiarán las variables analógicas y, dentro de este tema, el uso de comparadores como elemento indispensable en el tratamiento de este tipo de variables.
2.4 ejerCiCios propuestos
1. a través del álbegra de boole, simplifique:
a. F A BC= +
b. F A BCD= +
40 ContRol lógiCo pRogRamable
c. F A B= +
d. ( )F A BC= ⊕
f. ( )F A B C= ⊕ ⊕
2. obtenga el número decimal a partir de los siguientes números binariosa. 10101010
b. 01101100
c. 00001101
d. 11100111
e. 11111111
3. a partir de los resultados obtenidos en el ejercicio 2, haga el procedimiento inverso para convertirlo nuevamente en binario y verifique así sus respuestas.
41Rubén DaRío Vásquez salazaR
3. reDes De petri Con Variables Digitales
el lenguaje en escalera, comúnmente conocido como diagrama de contactos o, por su traducción al inglés, ladder, es uno de los más utilizados en los autómatas programables.
Su simbología se compone de elementos de entrada y de salida, cada uno de los cuales debe estar relacionado con una variable del plC.
3.1 elementos De entraDa Digitales
los elementos de entrada normalmente son los primeros en ser utilizados en el diagrama de escalera. pueden ser de varios tipos y comúnmente están relacionados con una variable tipo entrada, como por ejemplo I4.3.
3.1.1 ContaCto normalmente abierto (na)
este contacto evalúa la variable de entrada y se cierra en caso en que ésta esté activa; de lo contrario, permanecerá abierto. Su símbolo es:
3.1.2 ContaCto normalmente CerraDo (nC)
este contacto actúa de forma opuesta al na, es decir, evalúa la variable de entrada y se abre en caso en que ésta esté activa; de lo contrario, permanecerá cerrado y permitirá el paso de corriente a través de él. Su símbolo es:
42 ContRol lógiCo pRogRamable
3.2 elementos De saliDa Digitales
los elementos de salida normalmente se ubican después de haber añadido los elementos de entrada, los cuales actúan como condiciones a evaluar antes de modificar el estado de la salida. Comúnmente, están relacionados con variables tipo salida, como por ejemplo Q3.2.
3.2.1 bobina De aCCión simple
esta bobina activa su variable asociada únicamente cuando se encuentra energizada; en caso contrario, la desactiva. Su símbolo es:
3.2.2 bobina De puesta a 1 (set)
esta bobina activa su variable asociada cuando se encuentra energizada, y aún cuando se desenergiza la mantiene activa. Su símbolo es:
3.2.3 bobina De puesta a 0 (reset)
esta bobina desactiva su variable asociada cuando se encuentra energizada y la mantiene así. Su símbolo es:
nota. las bobinas Set y reSet normalmente se utilizan en conjunto, es decir, después de aplicarse la bobina Set a una variable, su apagado se realiza con la bobina reSet.
43Rubén DaRío Vásquez salazaR
ejemplo 3.1. puertas lógiCas en lenguaje laDDer
la construcción del diagrama en escalera de estas puertas lógicas y, en general cualquier programación, se debe realizar apoyada en una tabla de variables que permita identificar su descripción. la tabla 12 muestra su respectiva dirección, símbolo y comentario.
tabla 12. varIables para el ejeMplo: puertas lógIcas en lenguaje ladder
dIreccIón síMbolo coMentarIo
I124.0 entrada a entrada digital a
I124.1 entrada b entrada digital b
I124.2 entrada C entrada digital C
Q124.0 F1 Salida puerta lógica SI
Q124.1 F2 Salida puerta lógica anD
Q124.2 F3 Salida puerta lógica or
Q124.3 F4 Salida puerta lógica Xor
Q124.4 F5 Salida puerta lógica no
Q124.5 F6 Salida puerta lógica nanD
Q124.6 F7 Salida puerta lógica nor
Q124.7 F8 Salida puerta lógica Xor
Q125.0 F9 Salida puerta lógica Xor 3 entradas
Con base en estos nombres y direcciones se construye el diagrama en escalera para las puertas lógicas (Figura 16).
44 ContRol lógiCo pRogRamable
FIgura 16. dIagraMa en escalera para el ejeMplo: puertas lógIcas en lenguaje ladder
16
Figura 16. Diagrama en escalera para el ejemplo: Puertas lógicas en lenguaje
ladder
Fuente: elaboración propia
3.3 elementos De una reD De petri
Una red de petri (rdep) es una herramienta gráfica y matemática que provee una metodología de diseño unificado para
45Rubén DaRío Vásquez salazaR
la especificación de sistemas de eventos discretos (Cassandras y lafortune, 2008). Introduction to Discrete event Systems. Springer Science+business media, llC. 2nd edition.). Una rdep puede ser traducida a lenguaje plC utilizando la metodología que se planteará más adelante.
Una red de petri ordinaria está compuesta por:lugares. representan estados del proceso o sistema modelado.
Su símbolo es un círculo.transiciones. Son utilizadas para que la rdep evolucione de
un estado a otro y representan eventos del sistema modelado. Su símbolo es un rectángulo.
arcos. Se utilizan para conectar lugares con transiciones, y viceversa. Su símbolo es una flecha cuya dirección representa el sentido de flujo de marcas a través de la red.
marcaje. Si un lugar posee marca significa que este lugar está activo; en caso contrario, el lugar está inactivo. Una marca pasa de un lugar a otro a través del disparo de una transición sensibilizada.
Una rdep interpretada es similar a la ordinaria, pero en las transiciones tiene asociadas señales de entrada, y en los estados, señales de salida. adicionalmente, se define, para implementación, que los lugares están representados por memorias internas del plC.
ejemplo 3.2. enCenDiDo De un bombillo
este sistema consiste en 2 posibles estados: encendido y apagado, por lo cual la rdep contiene 2 lugares. Inicialmente el bombillo está apagado. Debe existir una transición para pasar de apagado a encendido cuando se activa un pulsador y otra para pasar de encendido a apagado cuando se desactiva el mismo pulsador.
46 ContRol lógiCo pRogRamable
la rdep que modela este sistema se muestra en la Figura 17:
FIgura 17. red de petrI para encendIdo de un boMbIllo
17
Figura 17. Red de Petri para encendido de un bombillo
Fuente: elaboración propia
3.4 reglas De eVoluCión Del marCaje
anteriormente en la definición de marcaje se especificó que una transición debe estar sensibilidada para poder disparar. Se dice que una transición está sensibilizada únicamente cuando todos los lugares de entrada a ella están activos, es decir, poseen marca.
Cuando una transición está sensibilizada y se cumplen las condiciones, entonces la transición dispara, removiendo una marca de todos los lugares de entrada y añadiendo una en todos los lugares de salida.
en la Figura 18 se muestra un ejemplo con diferentes posibilidades para las transiciones y sus disparos.
en la Figura 18 a) la transición no está habilitada, debido a que M 0.3, lugar de entrada a la transición, no está marcado.
en la Figura 18 b) la transición está habilitada, debido a que todos los lugares de entrada a ella, M 0.2 y M 0.3, están marcados.
en la Figura 18 a) y b) se cuenta con 2 redes de petri con igual estructura pero diferente marcaje, ambas con una transición con la entrada I 0.1 como condición de disparo. la Figura 18 a) no puede disparar, ya que la transición no tiene todos sus lugares de entrada marcados; por lo tanto, la Figura 18 c) tiene el mismo marcaje.
47Rubén DaRío Vásquez salazaR
por el contrario, la Figura 18 b) sí cumple la condición de disparo y, ante la ocurrencia del evento I 0.1, la transición puede disparar y el marcaje evoluciona, removiendo las marcas de M 0.2 y M 0.3 y añadiendo una en M 0.4 (Figura 18 d).
FIgura 18. redes de petrI con: a) transIcIón no sensIbIlIzada, b) transIcIón sensIbIlIzada, c) transIcIón no dIsparada Y d) transIcIón dIsparada.
18
Figura 18. Redes de Petri con: a) Transición no sensibilizada, b) Transición
sensibilizada, c) Transición no disparada y d) Transición disparada.
Fuente: modificada de medina y gonzález, modelamiento de controladores lógicos mediante el uso de redes de petri temporizadas intepretadas por periferia, pág. 35.
48 ContRol lógiCo pRogRamable
3.5 traDuCCión De reDes De petri a lenguaje en esCalera
anteriormente se definió que:• Cada lugar de la red de petri está representado por una
memoria interna del plC, por ejemplo m0.0.• Cada transición está representada por una entrada del plC,
por ejemplo I124.3.• Cada lugar representa un estado del sistema, por tanto, puede
representar activación o desactivación de las salidas del plC, por ejemplo, Q125.2=1 ó Q125.7=0.
en la traducción a lenguaje en escalera se utiliza un escalón o segmento de código para cada transición. Se debe verificar el estado activo de cada lugar de entrada, luego se verifica con lógica anD el cumplimiento de las condiciones asociadas a la transición, finalmente se activan los lugares de salida de la transición con la instrucción Set y se desactivan los lugares de entrada con la instrucción reSet.
Se ilustrará el método de traducción de rdep a lenguaje en escalera usando las estructuras generalizadas (Zapata y Carrasco, 2002) estructuras generalizadas para Controladores lógicos modeladas mediante redes de petri.
): convergencia y divergencia utilizando lógica anD y or, debido a que son de frecuente uso en los controladores lógicos programables.
3.5.1 ConVergenCia or
Se presenta cuando un lugar se activa ante el disparo de cualquiera entre varias transiciones de entrada, las cuales tienen un único lugar de entrada que garantiza la sensibilidad. el lugar M 0.7 se activa entonces ante el disparo de I 0.2 ó I 0.3 (Figura 19).
49Rubén DaRío Vásquez salazaR
FIgura 19. red de petrI Y equIvalente en lenguaje ladder para la estructura convergencIa or
19
Figura 19. Red de Petri y equivalente en lenguaje ladder para la estructura
Convergencia OR
Fuente: elaboración propia
3.5.2 ConVergenCia anD
Se presenta cuando un lugar se activa ante el disparo de una transición de entrada la cual, a su vez, tiene varios lugares de entrada, los cuales deben estar activos simultáneamente. el lugar M 1.2 se activa entonces ante el disparo de I 0.4 y el cumplimiento simultáneo de M 1.0 y M 1.1 (Figura 20).
FIgura 20. red de petrI Y equIvalente en lenguaje ladder para la estructura convergencIa and
20
Figura 20. Red de Petri y equivalente en lenguaje ladder para la estructura Convergencia AND
Fuente: elaboración propia
50 ContRol lógiCo pRogRamable
3.5.3 DiVergenCia or
Se presenta cuando un lugar está marcado y se debe elegir entre 2 posibles transiciones para el disparo. el lugar M 1.3 envía su marca a través de I 0.5 ó I 0.6 (Figura 21).
FIgura 21. red de petrI Y equIvalente en lenguaje ladder para la estructura dIvergencIa or
21
Figura 21. Red de Petri y equivalente en lenguaje ladder para la estructura
Divergencia OR
Fuente: elaboración propia
3.5.4 DiVergenCia anD
Se presenta cuando un lugar está marcado y, ante el disparo de una transición, la marca evoluciona a varios estados. el lugar M 1.6 envía su marca hacia M 1.7 y M 2.0 (Figura 22).
51Rubén DaRío Vásquez salazaR
FIgura 22. red de petrI Y equIvalente en lenguaje ladder para la estructura dIvergencIa and
22
Figura 22. Red de Petri y equivalente en lenguaje ladder para la estructura Divergencia AND
Fuente: elaboración propia
ejemplo 3.3: Control de nivel y temperatura en un tanque (tomado de medina, C. y gonzález, 2003)
el funcionamiento del sistema debe ser:
1) las condiciones iniciales son todos los actuadores apagados.2) Si se presiona el pulsador de inicio, se debe verificar nivel
por debajo del sensor de nivel bajo y temperatura por debajo del valor deseado. Si esto se cumple, se inicia el llenado y el mezclado.
3) Durante el llenado, se verifica que el nivel esté por debajo del nivel máximo; cuando se llegue a este nivel, el llenado debe finalizar.
4) Una vez verificado el nivel máximo, se debe verificar temperatura. Si la temperatura está en el valor deseado, se salta al proceso de vaciado; de lo contrario, se inicia el proceso de calentamiento.
5) en el proceso de calentamiento, se verifica constantemente la temperatura; una vez se obtenga el valor deseado, se termina el calentamiento y se inicia el vaciado.
52 ContRol lógiCo pRogRamable
6) Una vez se detecta el vacío completo, se vuelve a las condiciones iniciales, apagando todos los actuadores.la tabla 13 especifica la dirección, tipo y descripción de
cada variable utilizadas.
tabla 13. dIreccIón del ejeMplo de control de nIvel Y teMperatura en un tanque
dIreccIón tIpo descrIpcIón
m0.1 estado reposo
m0.2 estado llenado
m0.3 estado Calentamiento
m0.4 estado Vaciado
m0.5 estado mezclado
I0.1 entrada Sensor de nivel mínimo (na)
I0.2 entrada Sensor de nivel máximo (na)
I0.3 entrada Sensor de temperatura (na)
I0.4 entrada pulsador de inicio (na)
Q0.1 Salida Válvula de llenado
Q0.2 Salida Válvula de vaciado
Q0.3 Salida motor del mezclador
Q0.4 Salida resistencia del calentador
53Rubén DaRío Vásquez salazaR
FIgura 23. red de petrI del ejeMplo de control de nIvel Y teMperatura en un tanque
23
Figura 23. Red de Petri del ejemplo de control de nivel y temperatura en un tanque
Fuente: modificada de medina y gonzález, modelamiento de controladores lógicos mediante el uso de redes de petri temporizadas intepretadas por periferia, pág. 32.
la conversión de red de petri a código plC se realiza entonces de teniendo en cuenta lo siguiente:
• el bloque de organización ob100 se encarga de asignar el marcaje inicial a la red.
54 ContRol lógiCo pRogRamable
• Cada estado se representa por una marca, en la red de la Figura 23 se tienen 5 estados, ocupando las memorias m0.0 a m0.5 del plC.
• Cada transición representa la evolución de una marca de un estado al otro.
• Cada estado tiene asociadas unas acciones en las salidas.
en diagrama ladder se realizaría entonces el código por segmentos. Se requieren 5 segmentos para realizar cada una de las 5 transiciones, y otros 5 segmentos para las acciones de cada estado.
55Rubén DaRío Vásquez salazaR
los pasos entonces serían:
• programación del bloque ob100 para el marcaje inicial: para esto se ubica un contacto na y un contacto nC en paralelo con la misma variable asociada, esto permitirá el paso de corriente a la bobina bajo cualquier estado de la variable y así iniciará encendida junto con el estado rUn del plC (Figura 24).
FIgura 24. bloque de organIzacIón ob100 para el ejeMplo 3.3
43
Figura 24. Bloque de organización OB100 para el ejemplo 3.3
Fuente: Elaboración propia
Luego se programa la acción de M0.1, la cual consiste en apagar todas las
salidas (Figura 25).
Fuente: elaboración propia
56 ContRol lógiCo pRogRamable
• luego se programa la acción de m0.1, la cual consiste en apagar todas las salidas (Figura 25).
FIgura 25. accIones del estado M0.1
44
Figura 25. Acciones del estado M0.1
Fuente: Elaboración propia
El siguiente paso es la evolución de la marca de M0.1. Según la red, al dispararse la transición de salida de M0.1 se activan los estados M0.2 y M0.5. Por lo tanto se debe aplicar la instrucción SET a estos dos estados y aplicar RESET a M0.1 que es el lugar de origen de la marca (Figura 26).
Fuente: elaboración propia
57Rubén DaRío Vásquez salazaR
el siguiente paso es la evolución de la marca de m0.1. Según la red, al dispararse la transición de salida de m0.1 se activan los estados m0.2 y m0.5. por lo tanto se debe aplicar la instrucción Set a estos dos estados y aplicar reSet a m0.1 que es el lugar de origen de la marca (Figura 26).
FIgura 26. evolucIón de la Marca de M0.1 a M0.2 Y M0.5
45
Figura 26. Evolución de la marca de M0.1 a M0.2 y M0.5
Fuente: Elaboración propia
Dado que ya se activaron los estados M0.2 y M0.3 se pueden programar las acciones que cada uno de estos tiene asociadas (Figura 27).
Fuente: elaboración propia
58 ContRol lógiCo pRogRamable
Dado que ya se activaron los estados m0.2 y m0.3 se pueden programar las acciones que cada uno de estos tiene asociadas (Figura 27).
FIgura 27. accIones de los estados M0.2 Y M0.5
46
Figura 27. Acciones de los estados M0.2 y M0.5
Fuente: Elaboración propia
La evolución del estado M0.5 se puede realizar más adelante. Por el momento se puede realizar la evolución de M0.2 a M0.3 (Figura 28).
Fuente: elaboración propia
59Rubén DaRío Vásquez salazaR
la evolución del estado m0.5 se puede realizar más adelante. por el momento se puede realizar la evolución de m0.2 a m0.3 (Figura 28).
FIgura 28. evolucIón de la Marca de M0.2 a M0.3 Y accIones de M0.3
47
Figura 28. Evolución de la marca de M0.2 a M0.3 y acciones de M0.3
Fuente: Elaboración propia
El estado M0.2 también tiene la opción de evolucionar al estado M0.4 sin pasar por M0.3 (Figura 29). Se debe programar la evolución pero no es necesario repetir las acciones de M0.3.
Fuente: elaboración propia
60 ContRol lógiCo pRogRamable
el estado m0.2 también tiene la opción de evolucionar al estado m0.4 sin pasar por m0.3 (Figura 29). Se debe programar la evolución pero no es necesario repetir las acciones de m0.3.
FIgura 29. evolucIón de la Marca de M0.2 a M0.4 dIrectaMente
48
Figura 29. Evolución de la marca de M0.2 a M0.4 directamente
Fuente: Elaboración propia
La marca evoluciona de M0.3 a M0.4 a través de la transición con el evento asociado I0.3. Las acciones de M0.4 son aplicar la RESET a Q0.1 y Q0.4 y SET a M0.2 (Figura 30).
Fuente: elaboración propia
61Rubén DaRío Vásquez salazaR
• la marca evoluciona de m0.3 a m0.4 a través de la transición con el evento asociado I0.3. las acciones de m0.4 son aplicar la reSet a Q0.1 y Q0.4 y Set a m0.2 (Figura 30).
FIgura 30. evolucIón de la Marca de M0.3 a M0.4 Y accIones de M0.4
49
Figura 30. Evolución de la marca de M0.3 a M0.4 y acciones de M0.4
Fuente: Elaboración propia
La evolución de marcaje de M0.4 de vuelta a M0.1 se debe realizar en
conjunto con el estado M0.5, ya que ambos son condiciones de la
transición. Entonces para programar la evolución a M0.1 se deben evaluar
ambos estados M0.4 y M0.5 (Figura 31).
Fuente: elaboración propia
62 ContRol lógiCo pRogRamable
la evolución de marcaje de m0.4 de vuelta a m0.1 se debe realizar en conjunto con el estado m0.5, ya que ambos son condiciones de la transición. entonces para programar la evolución a m0.1 se deben evaluar ambos estados m0.4 y m0.5 (Figura 31).
FIgura 31. evolucIón de la Marca de M0.4 Y M0.5 de vuelta a M0.1
50
Figura 31. Evolución de la marca de M0.4 y M0.5 de vuelta a M0.1
Fuente: Elaboración propia
Con estos 10 segmentos se completa la programación de la red de Petri del
Ejemplo 3.3. A continuación se presenta entonces una sección donde se explica
paso a paso la programación de estos elementos en el programa Simatic Step7.
3.6. Programación de elementos digitales en Simatic Step7
La conversión de estos segmentos en lenguaje en escalera se programan al PLC a través del programa Simatic Step7. Este programa carga los datos programados a la CPU del PLC utilizando comunicación serial o con algún protocolo de comunicación como Ethernet o Profibus DP por ejemplo.
Dentro de un bloque de programación en el software Simatic Step7 se encuentras las opciones para añadir cada uno de los elementos que componen el diagrama en escalera (Figura 32).
Fuente: elaboración propia
Con estos 10 segmentos se completa la programación de la red de petri del ejemplo 3.3. a continuación se presenta entonces una sección donde se explica paso a paso la programación de estos elementos en el programa Simatic Step7.
63Rubén DaRío Vásquez salazaR
3.6 programaCión De elementos Digitales en simatiC step7
la conversión de estos segmentos en lenguaje en escalera se programan al plC a través del programa Simatic Step7. este programa carga los datos programados a la CpU del plC utilizando comunicación serial o con algún protocolo de comunicación como ethernet o profibus Dp por ejemplo.
Dentro de un bloque de programación en el software Simatic Step7 se encuentras las opciones para añadir cada uno de los elementos que componen el diagrama en escalera (Figura 32).
FIgura 32. bloque prIncIpal vacío con eleMentos ladder
32
Figura 32. Bloque principal vacío con elementos ladder
Fuente: elaboración propia
Una vez añadidos los elementos y programado el primer segmento del diagrama (Figura 33) se podrá iniciar la programación de los elementos restantes
64 ContRol lógiCo pRogRamable
FIgura 33. bloque prIncIpal prograMado con eleMentos ladder
33
Figura 33. Bloque principal programado con elementos ladder
Fuente: elaboración propia
3.7 ejerCiCios propuestos
1. elabore la codificación en lenguaje ladder para los ejercicios planteados en el numeral 1 de la sección 2.4.
2. a través de un pulsador llamado “pulsador1” se encenderán 2 pilotos simultáneamente. a través de un pulsador2, se apagará el piloto1 y a través de un pulsador3 se apagará el piloto2, con lo cual el sistema volverá a condiciones iniciales con ambos pilotos apagados. el proceso debe ser cíclico. obtenga la red de petri que modela al sistema y la codificación en lenguaje ladder.
3. para la apertura de una puerta de seguridad, se requiere la activación de 3 señales en un orden específico. Cada señal se activa o desactiva a través de un pulsador. Haga la red de petri para que el sistema pueda abrirse únicamente en el caso que los 3 pulsadores se activen en la secuencia correcta; en caso
65Rubén DaRío Vásquez salazaR
contrario, deberá iniciar nuevamente y haga la codificación en lenguaje ladder. Nota. Suponga que nunca se activará 1 pulsador 2 veces seguidas.
67Rubén DaRío Vásquez salazaR
4. reDes De petri Con temporizaDores Y ContaDores
Hasta este momento se han estudiado las señales digitales y su importancia en los sistemas a eventos discretos. estas señales permiten detectar órdenes o mediciones provenientes de pulsadores, suiches, sensores, etc., y, a través de la lógica implementada en el plC, encender o apagar las salidas también digitales.
Se ha demostrado también la forma en que los plC han reemplazado los sistemas de control cableados, cambiando dichos elementos por programación de bajo costo. algunos de estos son los temporizadores y contadores, elementos que también se pueden reemplazar por código plC, reduciendo costos, conexiones y espacios en la implementación de los sistemas de control.
los temporizadores y los contadores se estudiarán basados en el lenguaje en escalera para el plC S7-300 de acuerdo a las explicaciones dadas en el capítulo anterior.
4.1 temporizaDores
existen varios tipos de temporizadores para la CpU S7-300, particularmente 5. las diferencias entre ellos son la forma en que realizan la temporización, permitiendo así lograr diferentes aplicaciones. para cada una de ellas es necesario conocer detalladamente el funcionamiento del temporizador para realizar la programación apropiada.
en total son 256 y todos requieren de una señal de entrada que les indique su activación o desactivación, y ellos generan una salida dependiendo del tipo. los 5 tipos de temporizadores en Kop o lenguaje en escalera son (Siemens, 2002):
68 ContRol lógiCo pRogRamable
4.1.1 temporizaDor impulso
el temporizador activa su salida inmediatamente cuando la entrada es activada. la salida del temporizador permanecerá activa hasta que se desactive la entrada o, en su defecto, hasta que se cumpla el tiempo preconfigurado.
FIgura 34. teMporIzador IMpulso.
34
Figura 34. Temporizador impulso.
Fuente: Siemens, esquema de contactos (Kop) para S7-300 y S7-400, pág. 164
4.1.2 temporizaDor impulso prolongaDo
el temporizador activa su salida inmediatamente cuando la entrada es activada. la salida del temporizador permanecerá activa únicamente hasta que se cumpla el tiempo preconfigurado.
FIgura 35. teMporIzador IMpulso prolongado
35
Figura 35. Temporizador impulso prolongado
Fuente: Siemens, esquema de contactos (Kop) para S7-300 y S7-400, pág. 164
69Rubén DaRío Vásquez salazaR
4.1.3 temporizaDor Con retarDo a la Conexión
el temporizador activa su salida únicamente un tiempo después de haberse activado la entrada y esta última haya permanecido activa durante todo este tiempo. la salida se desactivará cuando la señal de entrada se desactive.
FIgura 36. teMporIzador con retardo a la conexIón
36
Figura 36. Temporizador con retardo a la conexión
Fuente: Siemens, esquema de contactos (Kop) para S7-300 y S7-400, pág. 164
4.1.4 temporizaDor Con retarDo a la Conexión (Con memoria)
el temporizador activa su salida únicamente un tiempo después de haberse activado la entrada, aun si esta última fue desactivada en algún momento.
FIgura 37. teMporIzador con retardo a la conexIón (con MeMorIa)
37
Figura 37. Temporizador con retardo a la conexión (con memoria)
Fuente: Siemens, esquema de contactos (Kop) para S7-300 y S7-400, pág. 164
70 ContRol lógiCo pRogRamable
4.1.5 temporizaDor Con retarDo a la DesConexión
este temporizador se activa simultáneamente con su entrada, y se desactivará únicamente un tiempo después de haberse desactivado la entrada, es decir, haya pasado del estado 1 al 0.
FIgura 38. teMporIzador con retardo a la desconexIón
38
Figura 38. Temporizador con retardo a la desconexión
Fuente: Siemens, esquema de contactos (Kop) para S7-300 y S7-400, pág. 164
en los tipos de temporizadores se utilizó el nombre en alemán que se le da en el software Simatic®; sin embargo, su nombre en inglés es más fácil de recordar. la tabla 14 muestra estas equivalencias.
tabla 14. equIvalencIa entre los noMbres de los teMporIzadores
tIpo noMbre en Inglés noMbre en aleMán
Impulso S_pUlSe S_ImpUlSImpulso prolongado S_peXt S_VImp
retardo a la conexión S_oDt S_eVerZretardo a la conexión con
memoria S_oDtS S_SeVerZ
retardo a la desconexión S_oFFDt S_aVerZ
los temporizadores se pueden parametrizar y arrancar simultáneamente mediante un bloque, o se pueden arrancar mediante una bobina. la forma más común de utilización es mediante un bloque, aunque en realidad depende del programador, sus gustos y necesidades.
71Rubén DaRío Vásquez salazaR
para obtener los temporizadores basta simplemente con abrir un bloque de programación y arrastrarlos al lugar deseado arrastrándolos desde el menú desplegable de la izquierda en la lista de temporizadores (Figura 39). en esta lista los primeros 5 elementos son bloques, y los últimos 5 son las bobinas de arranque para cada temporizador.
FIgura 39. lIsta desplegable de teMporIzadores
57
Los temporizadores se pueden parametrizar y arrancar simultáneamente mediante
un bloque, o se pueden arrancar mediante una bobina. La forma más común de
utilización es mediante un bloque, aunque en realidad depende del programador,
sus gustos y necesidades.
Para obtener los temporizadores basta simplemente con abrir un bloque de
programación y arrastrarlos al lugar deseado arrastrándolos desde el menú
desplegable de la izquierda en la lista de temporizadores (Figura 39). En esta lista
los primeros 5 elementos son bloques, y los últimos 5 son las bobinas de arranque
para cada temporizador.
Figura 39. Lista desplegable de temporizadores
Fuente: Elaboración propia
Para la parametrización del temporizador, como se explicó antes, es necesario
hacerlo en forma de bloque. Los parámetros que se deben configurar en cada
temporizador se muestran en la Tabla 15.
Fuente: elaboración propia
para la parametrización del temporizador, como se explicó antes, es necesario hacerlo en forma de bloque. los parámetros que se deben configurar en cada temporizador se muestran en la tabla 15.
72 ContRol lógiCo pRogRamable
tabla 15. paráMetros de un teMporIzador
paráMetro descrIpcIón tIpo
S entrada de arranque bool
tV Valor de temporización predeterminado S5t#
r reset del temporizador bool
Q estado del temporizador bool
bI Valor de temporización actual binario (bi)
bCD tiempo restante bCD
ejemplo 4.1: Un temporizador de pulso extendido tiene como entrada a I0.0, a la salida debe encender a Q0.0 de acuerdo con su estado, y su tiempo predeterminado es 4 segundos.
la Figura 40 muestra la programación en Kop, nombrándolo t5 y configurando la variable tipo S5t con 4 segundos.
FIgura 40. bloque del teMporIzador pulso extendIdo del ejeMplo 4.1
58
Tabla 15. Parámetros de un temporizador
PARÁMETRO DESCRIPCIÓN TIPO S Entrada de arranque Bool
TV Valor de temporización predeterminado S5T# R Reset del temporizador Bool Q Estado del temporizador Bool BI Valor de temporización actual Binario (Bi)
BCD Tiempo restante BCD
Ejemplo 4.1: Un temporizador de pulso extendido tiene como entrada a I0.0, a la
salida debe encender a Q0.0 de acuerdo con su estado, y su tiempo
predeterminado es 4 segundos.
La Figura 40 muestra la programación en KOP, nombrándolo T5 y configurando la
variable tipo S5T con 4 segundos.
Figura 40. Bloque del temporizador pulso extendido del Ejemplo 4.1
Fuente: Elaboración propia
Fuente: elaboración propia
73Rubén DaRío Vásquez salazaR
para un programador, es de especial importancia conocer muy bien el funcionamiento de los temporizadores. para ello, se sugiere la experimentación, más que la lectura de documentos extensos en este tema; por tanto, se recomienda realizar la programación de varios temporizadores con la estructura del ejemplo 4.1, modificar el estado de la entrada y observar el valor de la salida.
los contadores poseen una estructura muy similar a los temporizadores y por esta razón es que normalmente se explican de forma paralela. a continuación se explicarán los contadores para el lenguaje Kop.
4.2 ContaDores
al igual que en el caso de los temporizadores, existen varios tipos de contadores para la CpU S7-300, particularmente 3; igualmente, es necesario conocer su funcionamiento de forma detallada para hacer la apropiada selección del tipo necesario y su correcta implementación y programación.
los contadores requieren de, por lo menos, una señal de entrada que representa el evento al que se le realiza el contaje y una salida que representa el estado actual del contador. los 3 tipos de contadores en Kop (Siemens, 2002) son:
4.2.1 ContaDor asCenDente
este contador inicia su contaje en cero y lo incrementará a medida que la entrada CU se active. la entrada CU es exclusiva para los contadores ascendentes y ejecuta la instrucción de incrementar el contaje.
4.2.2 ContaDor DesCenDente
este contador inicia su contaje en un valor predeterminado y lo decrementará a medida que la entrada CD se active. la entrada
74 ContRol lógiCo pRogRamable
CD es exclusiva para los contadores descendentes y ejecuta la instrucción de decrementar el contaje.
4.2.3 temporizaDor asCenDente-DesCenDente
este contador es capaz de realizar las mismas funciones que los otros 2 tipos de contadores, es decir, es capaz de incrementar o decrementar su valor de contaje.
Similarmente al caso de los temporizadores, es común encontrar los contadores en alemán o en inglés. para diferenciarlos, la tabla 16 muestra las equivalencias.
tabla 16. equIvalencIa entre los noMbres de los contadores
tIpo noMbre en InglésnoMbre en ale-
Mán
ascendente CU ZaeHler
Descendente CD Z_VorW
ascendente-descendente CUD Z_rUeCK
los contadores también se pueden parametrizar y arrancar simultáneamente mediante un bloque o se pueden arrancar mediante una bobina. la forma más común de utilización es también mediante el bloque.
los contadores se encuentran también en el menú desplegable de la izquierda dentro de un bloque de programación (Figura 41). en esta lista los primeros 3 elementos son bloques y los 3 siguientes son las bobinas de arranque para cada contador.
75Rubén DaRío Vásquez salazaR
FIgura 41. lIsta desplegable de contadores
61
Figura 41. Lista desplegable de contadores
Fuente: Elaboración propia
La parametrización del contador (Figura 42) se realiza a partir del bloque, como se muestra en la Tabla 17.
Fuente: elaboración propia
la parametrización del contador (Figura 42) se realiza a partir del bloque, como se muestra en la tabla 17.
76 ContRol lógiCo pRogRamable
FIgura 42. paraMetrIzacIón de un contador
42
Figura 42. Parametrización de un contador
Fuente: elaboración propia
tabla 17. paráMetros de un contador
paráMetro descrIpcIón tIpo
no número del contador Decimal
CU entrada de contaje ascendente bool
CD entrada de contaje descendente bool
S entrada para predeterminar el contador bool
pVValor numérico introducido en forma de
C#<valor> en el margen comprendido entre 0 y 999
C#
r entrada de puesta a 0 bool
Q estado del contador bool
CV Valor actual del contador, número hexade-cimal Hexa
CV_bCD Valor actual del contador, número bCD bCD
ejemplo 4.2. Un contador ascendente-descendente se programa con I0.0 como entrada ascendente, I0.1 entrada de contaje descendente, I0.2 como entrada Set, valor predeterminado igual
77Rubén DaRío Vásquez salazaR
a 5, I0.3 como entrada reSet; y a las salidas Q0.1 almacena el estado del contador, mW2 el valor actual en hexadecimal y mW4 en bCD.
la figura 43 muestra la programación de este contador en Kop, llamado C5.
FIgura 43. bloque del contador ascendente-descendente del ejeMplo 4.2
64
Figura 43. Bloque del contador ascendente-descendente del Ejemplo 4.2
Fuente: Elaboración propia
Ejemplo 4.3. Un piloto se debe encender de forma intermitente con un
TON=500ms y un TOFF0500ms. Una vez el piloto haya sido intermitente 10
veces, se debe apagar. La descripción se puede resumir en:
Condiciones iniciales. Piloto conectado a Q124.0 está apagado
Si el sistema se encuentra en condiciones iniciales y se presiona el
pulsador I124.0, entonces el piloto se enciende
Si el piloto está encendido y pasan 500ms, se apaga,
Si el piloto está apagado y pasan 500ms, se enciende.
Una vez haya encendido 10 veces el piloto, entonces el sistema vuelve a
condiciones iniciales.
Fuente: elaboración propia
ejemplo 4.3. Un piloto se debe encender de forma intermitente con un ton=500ms y un toFF0500ms. Una vez el piloto haya sido intermitente 10 veces, se debe apagar. la descripción se puede resumir en:
78 ContRol lógiCo pRogRamable
• Condiciones iniciales. piloto conectado a Q124.0 está apagado
• Si el sistema se encuentra en condiciones iniciales y se presiona el pulsador I124.0, entonces el piloto se enciende
• Si el piloto está encendido y pasan 500ms, se apaga,• Si el piloto está apagado y pasan 500ms, se enciende.• Una vez haya encendido 10 veces el piloto, entonces el
sistema vuelve a condiciones iniciales.la red de petri de la Figura 44 muestra un sistema que cumple
con la descripción dada, y la tabla 18 muestra el inventario de señales utilizadas:
FIgura 44. red de petrI del ejeMplo 4.3
44
Figura 44. Red de Petri del ejemplo 4.3
Fuente: elaboración propia
79Rubén DaRío Vásquez salazaR
tabla 18. InventarIo de señales para el ejeMplo 4.3
varIable dIreccIón condIcIón
piloto Q124.0 -
pulsador I124.0 -
Condiciones iniciales m0.0 apaga la salida Q124.0 y enciende el Contador 1 (C1)
piloto encendido (intermitente)
m0.1 enciende la salida Q124.0
piloto apagado (intermitente)
m0.2 apaga la salida Q124.0
t1 - Condición de disparo I124.0
t2 - Condición de disparo temporizador 1 con 500ms
t3 - Condición de disparo temporizador 1 con 500ms
t4 - Condición de disparo C1 ha finalizadolacuenta
80 ContRol lógiCo pRogRamable
FIgura 45. prograMacIón en lenguaje ladder del ejeMplo 4.3
66
T4 - Condición de disparo C1 ha finalizado la cuenta
Figura 45. Programación en lenguaje ladder del ejemplo 4.3
Fuente: Elaboración propia
Más ejemplos se encuentran disponibles en Álvarez (2007).
4.3. Ejercicios propuestos
1. Diseñe la programación como se muestra en el ejemplo 4.2 y simúlelo,
utilizando el PLC virtual proporcionado con el software Simatic Step-7®,
llamado PLCSim. En esta simulación modifique las entradas y observando
Fuente: elaboración propia
81Rubén DaRío Vásquez salazaR
más ejemplos se encuentran disponibles en Álvarez (2007).
4.3 ejerCiCios propuestos
1. Diseñe la programación como se muestra en el ejemplo 4.2 y simúlelo, utilizando el plC virtual proporcionado con el software Simatic Step-7®, llamado plCSim. en esta simulación modifique las entradas y observando el valor de las salidas. obtenga sus propias conclusiones. además, cambie el tipo de contador y realice el mismo procedimiento. obtenga diferencias entre los diferentes contadores.
2. elabore la codificación en lenguaje ladder del ejemplo 4.3 y simúlelo con el plC virtual.
3. modifique el ejemplo 4.3 para que se enciendan 2 pilotos alternadamente durante 15 veces.
83Rubén DaRío Vásquez salazaR
5. reDes De petri Con Variables analógiCas
las variables analógicas, por definición, son aquellas que pueden tomar infinitos valores dentro de cierto rango. en el plC, aunque las señales provengan de un rango de esta naturaleza, son transformadas a corriente o voltaje a través de un transductor y llevadas al plC por medio de un conversor análogo digital. en general, cuando se efectúa transformación a voltaje se utilizan rangos de 0 a 5V, 0 a 10V, -5 a 5V o -10 a 10V; en el caso de corriente, es común la utilización de los rangos 0-20ma o 4-20ma.
5.1 tipos De Datos
Hasta el momento se han trabajado datos que pueden tomar dos estados (bool), que pueden realizar contajes (CoUnter) o que pueden hacer temporizaciones (tImer), pero en realidad, en un ambiente analógico es importante conocer bien el procesamiento que se le da a estas variables en un plC.
algunos de los tipos de datos, su respectivo tamaño en bits y descripción se muestran en la tabla 19:
84 ContRol lógiCo pRogRamable
tabla 19. tIpos de datos en el plc
tIpo de dato taMaño descrIpcIón rango
bool 1 bit Variable lógica 0 ó 1
bYte 8 bits Conjunto de 8 bits 0 a 255
WorD 16 bits Conjunto de 16 bits 0 a 65535
DWorD 32 bits Conjunto de 32 bits 0 a 232 - 1
Int 16 bits número entero con signo -32768 a 32767
DInt 32 bits número entero doble con signo -232 a 232 - 1
real 32 bits número real (con decimales) -
S5tIme 16 bits Duración -
CHar 8 bits Carácter -
StrIng Cadena de caracteres -
5.2 ConVersión De Datos
en el plC no está permitido hacer operaciones con 2 o más datos que tienen diferentes tipos. por ejemplo, no se pueden hacer operaciones de multiplicación entre un entero (16 bits) y un real (32 bits), por lo que es necesario convertir este entero en un real. es posible hacer la conversión de real a entero, pero el proceso de redondeo y reducción de bits lleva consigo una reducción de la precisión. por lo tanto, la conversión de entero a real es más recomendable.
no existe un bloque que permita hacer esto, sino que se hace necesaria la utilización de 2 bloques, llamados I_DI y DI_r (Figura 46). el bloque I_DI convierte mW0 de 16 bits en otro entero mD2 de 32bits, mientras que el bloque DI_r convierte el entero mD2 de 32bits en un real mD6 de 32 bits.
85Rubén DaRío Vásquez salazaR
FIgura 46. conversIón de entero (Int) a real (real)
46
Figura 46. Conversión de entero (INT) a real (REAL)
Fuente: elaboración propia
5.3 ComparaDores
algunas operaciones de comparación son útiles, debido a que permiten cerrar un contacto o abrirlo, si se cumple o no la condición de comparación. la comparación se hace entre 2 variables o entre 1 variable y un valor fijo. algunos de ellos se muestran en la tabla 20:
tabla 20. coMparadores
noMbre síMbolo traduccIón al IngléscondIcIón de coMpara-
cIón
eQ = eQual Igual
ne <> not equal Diferente
gt > greater than mayor que
lt < less than menor que
ge >= greater or equal than mayor o igual que
le <= less or equal than menor o igual que
5.4 operaCiones aritmétiCas Y transferenCia
5.4.1 operaCiones aritmétiCas Con enteros
las operaciones aritméticas con enteros requieren del uso de bloques para los tipos de datos entero y doble entero (Figura 47).
86 ContRol lógiCo pRogRamable
FIgura 47. lIsta desplegable de bloques de operacIón en coMa FIja
47
Figura 47. Lista desplegable de bloques de operación en coma fija
Fuente: elaboración propia
5.4.2 operaCiones aritmétiCas en Coma flotante (figura 48)
FIgura 48. lIsta desplegable de bloques de operacIón en coMa Flotante
Fuente: elaboración propia
87Rubén DaRío Vásquez salazaR
5.4.3 transferenCia
el bloque de transferencia sirve únicamente para mover datos (Figura 49)
FIgura 49. lIsta del bloque de transFerencIa de datos
49
Figura 49. Lista del bloque de transferencia de datos
Fuente: Elaboración propia Fuente: elaboración propia
5.5 esCalizaCión
la escalización es el proceso por el cual el valor analógico de entrada (voltaje, corriente, etc.) leído por un módulo, es convertido en un valor en unidades de proceso (ºC, rpm, lts, kgs, etc.) dentro de unos límites fijados por el usuario.
Valor usuario: es el valor procesado a partir del valor plC. está dado en las unidades de la variable del proceso (°C, rev/min, psi, etc.).
Valor PLC: es el dato almacenado en el plC a través del convertidor a/D y su valor depende del número de bits a/D y del rango de la variable medida.
ejemplo 5.1: Si se tiene un motor cuya velocidad nominal es 1500rpm y ésta velocidad es leída por el plC a través de pIW752, los valores serían:
88 ContRol lógiCo pRogRamable
Velocidad0rpm → Valordelaentrada0Velocidad1500rpm → Valordelaentrada27648
Utilizando la ecuación de una recta._ * _V usuario pendiente valor PLC=
reemplazando los puntos conocidos:1500
0.054327648
pendiente = = . recta con cruce por el origen
(Figura 50).
FIgura 50.relacIón lIneal entre los datos de escalIzacIón
50
Figura 50.Relación lineal entre los datos de escalización
Fuente: elaboración propia
( 1)2 1
hi loout in k lo
k k
− = − − − nótese que este valor de la pendiente es tipo real, por lo cual
las variables tienen que estar declaradas previamente como reales. para esto, se utilizan los bloques I_DI y DI_r. la conversión no se le puede aplicar directamente a la entrada; se requiere utilizar áreas de memoria m para la representación de esta entrada entera en valores tipo reales.
89Rubén DaRío Vásquez salazaR
este proceso normalmente no se debe realizar a partir de la ecuación de una recta; para ello existe un bloque de función llamado “Scale Convert”. la ruta para su ubicación es en Librerias - standard library - TI S7 converting block - FC 105 Scale Convert.
este bloque realiza una conversión desde 0 a 27648.0 en la entrada para escala unipolar, y desde -27648.0 hasta 27648.0 para una bipolar.
la parametrización del bloque es como se muestra en la Figura 51
FIgura 51. bloque de conversIón de escala Fc105 (scale convert)
51
Figura 51. Bloque de conversión de escala FC105 (Scale Convert)
Fuente: elaboración propia
Donde:
en se debe activar para poder habilitar el bloque
In es la entrada que se quiere medir en valor plC
HI lIm Valor máximo en valor usuario
lo lIm Valor mínimo en valor usuario
90 ContRol lógiCo pRogRamable
bIpolar activo si se quiere tener en cuenta valores negativos, Inactivo si sólo son positivos.
oUt resultado de la conversión a escala tipo real.
ret Val es 0 si no tiene errores, un valor diferente se debe consultar en guía de errores. Se guarda en una variable tipo entera.
5.6 rampas
Se quiere arrancar y controlar velocidad de un motor a través de una rampa. el motor está controlado por plC a través de una salida analógica que varía de 0-27648 entregando un rango de voltajes entre 0-10V.
Se definen los siguientes parámetros:
• Velocidad nominal del motor: 1640 rpm.• Velocidad deseada: Vdes = 1640 rpm.• tiempo deseado: Tdes = 10s. es el tiempo determinado para
alcanzar el valor deseado de velocidad.
FIgura 52. velocIdad contra tIeMpo (contInua)
52
Figura 52. Velocidad contra Tiempo (continua)
Fuente: elaboración propia
91Rubén DaRío Vásquez salazaR
Sin embargo, en el plC es imposible aumentar continuamente un valor en la salida analógica, por lo que se requiere incrementar unvalorpequeño(∆V)aintervalosdetiempopequeños(∆t).
Se define un intervalo pequeño de tiempo 10.2 200
5t s ms s∆ = = =
el valor deseado de la salida es 27648desplcV = y el valor
actual es 0actplcV = para la realización de la rampa que partirá de
velocidad 0 hasta alcanzar la velocidad máxima.A partir de ∆t,
desplcV ,actplcV y desT es posible calcular el
intervalodevoltaje∆V que se aumentará cada instante de tiempo, así:
27648-0 1 27648552.96 552
10 5 50des actplc plc
des
V VV T V seg
T seg
− ∆ = ∆ ⇔ ∆ = = = ≈
Para∆V se hizo una aproximación, por lo tanto no será posible alcanzarelvalordeseadoapartirdeescalonesdealturade∆V = 552, así que con la rampa sólo se alcanzará un valor aproximado, calculado así:
_*50 0 552*50 27600
des aprox actplc plcV V V= + ∆ = + =.
es decir, si la rampa hace 50 escalones se alcanzará un valor de 27600, si se hicieran 51 escalones el valor sería 28152, caso en el cual se sobrepasaría el valor deseado. por tal motivo la rampa debe llegar únicamente hasta el valor deseado aproximado
_27600
des aproxplcV = y luego, al terminar la rampa, alcanzar el valor deseado de 27648, haciendo un último escalón de 48 unidades en forma manual.
92 ContRol lógiCo pRogRamable
FIgura 53. velocIdad contra tIeMpo (dIscreto)
53
Figura 53. Velocidad contra Tiempo (discreto)
Fuente: elaboración propia
Una vez cumplidas las condiciones para arrancar el motor, se debe tener en cuenta la siguiente especificación de funcionamiento:
en total, la rampa utilizará 3 lugares.1. el primer lugar será de ingreso a la rampa, donde se utiliza
un comparador para verificar si todavía no se ha alcanzado el valor plC deseado aproximado (
_27600
des aproxplcV = ). esta verificación se debe realizar con un temporizador en serie para garantizar la correcta evolución del marcaje en el plC; se recomienda un temporizador de 10ms. en este lugar, adicionalmente, se deberá encender el sentido de giro a partir de una salida digital. Después de verificarse la comparación y el cumplimiento del temporizador, se debe evolucionar a una marca de incremento de velocidad.
2. el segundo lugar será el de incremento de velocidad, donde seaumenta lavelocidadun∆V.Comolamarcapermaneceen este lugarun tiempode∆t-10ms, laoperaciónde sumase debe efectuar a través de un flanco positivo para que esta operación se lleve a cabo únicamente una vez por cada ciclo de rampa. Después del tiempo de espera se regresa al lugar 1.
93Rubén DaRío Vásquez salazaR
3. Cuando se está nuevamente en el lugar 1 hay dos opciones: volver a ingresar con el cumplimiento de las condiciones para evolucionar al lugar 2 o salir de la rampa porque ya se alcanzó el valor plC deseado aproximado. para tal caso, se evolucionará al lugar 3 de salida de la rampa.
4. el lugar 3 de salida de la rampa se encarga de transferir el valor de plC deseado para corregir la aproximación, entonces sus funciones principales son permitir la continuidad del proceso al finalizarse una rampa y corregir el error de aproximación.nota. el ciclo de rampa ( _ciclo rampat ) se mide como el tiempo
que se demora la marca para evolucionar del lugar 1 al lugar 2 y regresar al lugar 1. para este caso, para evolucionar de 1 a 2 se demoró un tiempo de 10ms, mientras que para evolucionar de 2 a1sedemoró∆t-10ms,por locual ( )_ 10 10ciclo rampat ms t ms t= + ∆ − = ∆ , que cumplie las especificaciones de tiempo para incremento en la rampa.
el modelo en redes de petri para este procedimiento se muestra en la Figura 54.
FIgura 54. Modelo en redes de petrI para la raMpa
54
Figura 54. Modelo en redes de Petri para la rampa
Fuente: elaboración propia
94 ContRol lógiCo pRogRamable
Se deja como ejercicio al lector la traducción a lenguaje ladder y la conversión del valor de velocidad deseado a velocidad plC usando o no el bloque “Scale Convert”, el cual es necesario únicamente para visualización de la velocidad en rpms a partir de la velocidad en valor plC.
es importante notar que la salida no puede ser modificada a través de operadores matemáticos; así que se sugiere el uso de áreas de memoria de 16 bits (Int) para realizar los cálculos numéricos, por ejemplo el área mW10, y luego transferírselos a la salida a través de un bloque moVe.
ejemplo 5.2: Se desea construir una rampa de subida y bajada en lenguaje ladder para el control de velocidad de un motor que gira a la derecha. el tiempo de subida hasta la velocidad nominal es de 4seg y el de bajada es de 3seg. el motor debe permanecer en velocidad nominal durante 3seg y el 240t ms∆ = . la secuencia se debe repetir 2 veces.
los cálculos según el procedimiento anteriormente descrito son:
27648 00.24 1658.88 1658
4subidaV−∆ = = ≈
_ _0 1658*16 26528
des aprox subidaplcV = + =
0 276480.24 2211.84 2211
3bajadaV−∆ = = − ≈ −
( )_ _
27648 2211*12 1116des aprox bajadaplcV = + − =
a continuación la solución de este ejercicio en lenguaje ladder:
95Rubén DaRío Vásquez salazaR
la tabla de símbolos para la definición de las variables:
FIgura 55. tabla de síMbolos del ejeMplo 5.2
55
Figura 55. Tabla de símbolos del ejemplo 5.2
Fuente: elaboración propia
el bloque ob100 para el marcaje inicial m0.0 con marca:
FIgura 56. bloque ob100 del ejeMplo 5.2
79
_ _0 1658*16 26528
des aprox subidaplcV
0 276480.24 2211.84 2211
3bajadaV
_ _
27648 2211*12 1116des aprox bajadaplcV
A continuación la solución de este ejercicio en lenguaje ladder:
La tabla de símbolos para la definición de las variables:
Figura 55. Tabla de símbolos del ejemplo 5.2
Fuente: Elaboración propia
El bloque OB100 para el marcaje inicial M0.0 con marca:
Figura 56. Bloque OB100 del ejemplo 5.2
Fuente: Elaboración propia
Los segmentos 1 a 17 (Figura 57) programados en el bloque principal OB1 según
la metodología explicada anteriormente en el ejemplo 3.3 la cual, para recordar un
poco, consiste básicamente en los siguientes pasos:
Fuente: elaboración propia
los segmentos 1 a 17 (Figura 57) programados en el bloque principal ob1 según la metodología explicada anteriormente en el ejemplo 3.3 la cual, para recordar un poco, consiste básicamente en los siguientes pasos:
• programar en un segmento la evolución de una marca. esta evolución depende de la condición de la transición. entonces cada transición generará un segmento de programación.
96 ContRol lógiCo pRogRamable
• en un segmento diferente programar las acciones que cada estado tiene asociadas.en el ejemplo 3.3 se programó cada uno de estos pasos de
forma intercalada, es decir, se evoluciona a un nuevo estado y luego se programa la acción asociada a este estado. en este ejemplo 5.2 se hizo primero la programación de todas las transiciones y luego al final del código se programaron las acciones asociadas a cada estado.
esta diferencia en programación no tiene ninguna diferencia funcional, y demuestra la versatilidad de las redes de petri al poderse realizar el mismo código en diferente orden obteniendo el mismo resultado.
FIgura 57. prograMacIón de segMentos del bloque ob1 para el ejeMplo 5.2
57
97Rubén DaRío Vásquez salazaR
57
58
98 ContRol lógiCo pRogRamable
58
59
99Rubén DaRío Vásquez salazaR59
Fuente: elaboración propia
100 ContRol lógiCo pRogRamable
5.7 ejerCiCios propuestos
1. Comparadoresa. Dada una entrada de pt100 en la dirección pIW752 del
plC genere alarmas dependiendo de la temperatura t, así:i encender la salida Q124.0 que representa un piloto
si80≤T < 95ii. encender la salida Q124.0 que representa un
zumbadorsi95≤T < 100iii. encender ambas salidas si T ≥ 110
2. escalizacióna. Dada una entrada de pt100 en la dirección pIW752
del plC, escalice este valor para un valor usuario de 0-750°C utilizando la ecuación de la recta y el bloque de escalización “Scale Convert”. Compare los resultados
b. Dada una velocidad de un motor en la memoria mW10, convierta este valor ai. Valor usuario en rpm, para un rango de 0-1500ii. Valor usuario en hz, para un rango de 0-60
3. rampasa. realizar 2 veces la siguiente secuencia
101Rubén DaRío Vásquez salazaR
84
i. Encender la salida Q124.0 que representa un piloto si
ii. Encender la salida Q124.0 que representa un zumbador si
iii. Encender ambas salidas si
2. Escalización
a. Dada una entrada de PT100 en la dirección PIW752 del PLC,
escalice este valor para un valor usuario de 0-750°C utilizando la
ecuación de la recta y el bloque de escalización “Scale Convert”.
Compare los resultados
b. Dada una velocidad de un motor en la memoria MW10, convierta
este valor a
i. Valor usuario en rpm, para un rango de 0-1500
ii. Valor usuario en hz, para un rango de 0-60
3. Rampas
a. Realizar 2 veces la siguiente secuencia
b. Realizar 3 veces la siguiente secuencia
80 95T
95 110T
110T
b. realizar 3 veces la siguiente secuencia
85
103Rubén DaRío Vásquez salazaR
bibliografía
Álvarez, m. (2007). Controladores lógicos. editorial marcombo. barcelona, españa. ISbn-10:84-269-1347-5.
balcells, J. y romeral, J. (1998). autómatas programables. ed. alfaomega. méxico DF, méxico.
Cassandras, C. y lafortune, S. (2008). Introduction to Discrete event Systems. Springer Science+business media, llC. 2nd edition.
mandado, e., acevedo, J., Fernández, C., armesto, J. y pérez, S. (2006). autómtas programables entorno y aplicaciones. madrid, españa. ed. thomson. ISbn: 84-9732-328-9.
medina, C. y gonzález, C. (2003). modelamiento de controladores lógicos mediante el uso de redes de petri temporizadas interpretadas por periferia. tesis de pregrado, Facultad de minas, Universidad nacional de Colombia, sede medellín.
Siemens ag (2002). esquema de contactos (Kop) para S7-300 y S7-400. Documentación para la referencia 6eS7810-4Ca06-8Dr0. edición 12/2002.
Zapata, g. y Carrasco, e. (2002) estructuras generalizadas para Controladores lógicos modeladas mediante redes de petri.
Control lógico programablese terminó de imprimir en diciembre de 2010.
para su elaboración se utilizó papel bond de 70 g, en páginas interiores, y cartulina propalcote 240 g para la carátula.
LasfuentestipográficasempleadassonTimesNewRoman11puntos,en texto corrido, y myriad pro 14 puntos en títulos.
Fundamentos de LegisLación LaboraL mónica Lucía granda Viveros
gestión de mantenimiento hospitaLario e industriaL.tendencias actuaLes
William orozco murillo, compilador
aprendiendo a ser eL mejor Yudi amparo marín Álvarez
eL Lenguaje musicaL elkin pérez Álvarez
Fundamentos teóricos de La armonía elkin pérez Álvarez
Funciones reaLes con matLab Yolanda Álvarez ríos / gloria maría díaz Londoño
estudio deL trabajo: notas de cLase maría del rocío Quesada castro / William Villa arenas
introducción aL mantenimiento biomÉdico Luis Fernando castrillón gallego
Ética, innoVación Y estÉtica marta palacio sierra / raúl domínguez rendón / héctor cardona carmona
estÁdistica bÁsica adriana guerrero / maría Victoria buitrago / maría de los Ángeles curieses
presupuesto Y programación de obras ciViLes sergio andrés arboleda López
instituto tecnoLógico metropoLitanoDirección FonDo eDitorial
serie teXtos acadÉmicos¡ Publicaciones de nuestros docentes para los estudiantes de Colombia!
graFicar con autocad john jairo garcía mora
acÚstica: La ciencia deL sonido ana maría jaramillo jaramillo
introducción de errores en La medición adriana guerrero peña / gloria maría díaz Londoño
metroLogía. aseguramiento metroLógico industriaL. tomo i jaime restrepo díaz
neumÁtica bÁsica Luis giovanny berrío Zabala / sandra ruth ochoa gómez
eLementos bÁsicos de ingeniería deL soFtWare diego guerrero peña
administración de sistemas de costos por órdenes armando garcía muñoz
manuaL de prÁcticas proFesionaLes silvia elena rivera escobar
geometría integrada León darío Fernández betancur / gustavo saldarriaga rivera
Química bÁsica. prÁcticas de Laboratorio margarita patiño jaramillo
principios de administración darío hurtado cuartas
cÁLcuLo diFerenciaL. Límites Y deriVadas sergio alberto alarcón Vasco / maría cristina gonzález mazuelo hernando manuel Quintana Ávila
Física mecÁnica. ejercicios resueLtos richard hamilton benavides palacios / claudia milena serpa imbett
cartiLLa tÉcnica deL desFibriLador William orozco murillo / edward cardona montoya
consuLta Y actuaLiZación de bases de datos mediante eQuipos móViLes jaime Vásquez rojas
introducción a La programación en jaVa Fray León osorio rivera
bases de datos reLacionaLes. teoría Y prÁctica Fray León osorio rivera
matemÁticas especiaLes para ingeniería. niVeL i martha cecilia guzmán Zapata
metroLogía: aseguramiento metroLógico industriaL. tomo ii jaime restrepo díaz
matemÁticas especiaLes para ingeniería. niVeL ii diego agudelo torres
espaÑoL aL día. normas de uso comÚn humberto de la cruz arroyave
Física mecÁnica. conceptos bÁsicos Y probLemas javier Vargas / iliana ramírez / santiago pérez / jairo madrigal
materiaLes industriaLes. teoría Y apLicaciones Ligia maría Vélez agudelo
Lógica Y programación orientada a objetos: inicio aL desarroLLo deL soFtWare Fray León osorio rivera
secciones cónicas: una mirada desde La deriVación impLícita maria cristina gonzález mazuelo / juan guillermo paniagua castrillón gustavo adolfo patiño jaramillo
sentencias bÁsicas usadas en La programación de computadores roberto carlos guevara calume
Fundamentos de La teoría de La inFormación mauricio correa Villa
anÁLisis de seÑaLes con Las transFormadas de Fourier, gabor Y onditas horacio arango marín
apLicación de geogebra en La geometría integrada León darío Fernández betancur / gustavo saldarriaga rivera
geometría interactiVa grupos gnomon-eLime.ceid-adida
cÁLcuLo integraL Yolanda Álvarez ríos / jorge agudelo Quiceno
apLicaciones matemÁticas en La ingeniería josé benjamín gallego alzate
procesos productiVos Y administratiVos Yudi amparo marín Álvarez / melba elena marín ramírez
manuaL bÁsico de matemÁticas Financieras Luis Fernando román henao
Fundamento sociaL deL derecho mónica Lucía granda Viveros / juan Fernando gómez gutiérrez
introducción a Las comunicaciones industriaLes con proFibusaplicaciones con controladores lógicos programables y variadores de velocidad
juan guillermo mejía arango
LabVieW prÁctico con apLicaciones alexander arias Londoño / paula andrea ortiz Valencia
mÉtodos numÉricos héctor tabares ospina
Química bÁsica. prÁcticas de Laboratorio margarita patiño jaramillo nílkar Yaír Valdés romaña
introducción aL r juan carlos correa morales carlos javier barrera causil
top related