TECNOLÓGICO NACIONAL DE MÉXICO SEDE INSTITUTO TECNOLÓGICO SUPERIOR DE URUAPAN Con reconocimiento y validez oficial de estudios de la secretaria de educación pública según clave IMCT-2010-229 PROGRAMACION AVANZADA DE PLC EJERCICIOS DE PROGRAMACIÓN PLC INGENIERÍA EN MECATRÓNICA ALUMNO ALEJO PÉREZ OSIEL RODRIGO PROFESOR ING. MARTIN OSWALDO ORTIZ URBINA URUAPAN, MICHOACÁN A 02 DE NOVIEMBRE DE 2021 Contenido INTRODUCCIÓN ............................................................................................................................3 OBJETIVOS ....................................................................................................................................3 MARCO TEÓRICO PLC ..................................................................................................................3 MATERIAL Y EQUIPO UTILIZADO .................................................................................................5 DESARROLLO DE EJERCICIOS ....................................................................................................5 CONCLUSIONES.......................................................................................................................... 20 BIBLIOGRAFÍA ............................................................................................................................. 20 INTRODUCCIÓN En el siguiente reporte se incluirán las soluciones a las que llego el alumno óseo yo se incluirán fotos de evidencia de la programación Ladder en ISPsoft además se agregara un pequeño marco teórico sobre la información que se tuvo que investigar para poder dar solución a estos ejercicios. OBJETIVOS Que el alumno sea capaz de desarrollar los ejercicios planteados de programación avanzada en PLC aplicando temporizadores, contadores y las diferentes instrucciones apoyándose del manual de programación. MARCO TEÓRICO PLC Estado y asignación de memoria bloqueada En la Tabla 1 podemos observar los tipos de memorias que podemos manejar y la función de cada uno ya solo con conocer y aplicar esta tabla podemos resolver muchos problemas. (DELTA, 2018) Tabla 1. Asignación de los tipos de memorias Memory type Power OFF=>ON Nonlanched Clear Lanched Special M, Special D, Index register File register Initial Clear all Clear all non-lanchet latched STOP=>RUN RUN=>STOP áreas áreas (M1031=ON) (M1032) When M1033=OFF, clear Unchanged Clear Unchanged When M1033=ON, no change Unchanged Unchanged Clear Unchanged unchanged Unchanged Factory setting 0 0 Initial setting HFFFF Aplicación de las instrucciones de programación Las instrucciones del PLC se proporcionan con un nombre mnemónico único para que sea fácil de recordar. instrucciones. En el siguiente ejemplo, el número de API dado a la instrucción es 12, el nombre mnemónico es MOV y la descripción de la función es Move. (DELTA, 2018) Explicación del formato de instrucción de aplicación. En la siguiente Figura 1 podemos observar el formato de las instrucciones del PLC en este caso como ejemplo la instrucción Move en donde se puede observar que significa cada parte de este formato. (DELTA, 2018) Figura 1. Formato de instrucciones. 1. Número de API para instrucción 2. El código de instrucción mnemónico central - Un prefijo "D" indica una instrucción de 32 bits - Un sufijo "P" en este cuadro indica una instrucción de pulso 3. Formato de operando de la instrucción 4. Función de la instrucción 5. Modelos de PLC aplicables para esta instrucción 6. Un símbolo "*" indica que el dispositivo puede utilizar el registro de índice. Por ejemplo, dispositivo D del operando S1 admite el índice E y F. Se asigna un símbolo "*" al dispositivo que se puede utilizar para este operando 7. Pasos ocupados por la instrucción de pulso de 16 bits / 32 bits 8. Modelos de PLC aplicables para instrucción de ejecución de 16 bits / 32 bits / pulsos. Timer Las unidades del temporizador son 1 ms, 10 ms y 100 ms y el método de conteo es el conteo ascendente. Cuando el valor actual en el temporizador es igual al valor establecido, la bobina de salida asociada estará ENCENDIDA. El conjunto El valor debe ser un valor K en decimal y puede ser especificado por el contenido del registro de datos D. El tiempo establecido real en el temporizador = resolución del temporizador × valor establecido Ej.: si el valor establecido es K200 y la resolución del temporizador es 10 ms, el tiempo establecido real en el temporizador será 10 ms * 200 = 2000 ms = 2 segundos (DELTA, 2018) Counter Los contadores incrementarán su valor de conteo actual cuando las señales de entrada se activen desde OFF>ON. (DELTA, 2018) Etc., etc. etc. MATERIAL Y EQUIPO UTILIZADO -computadora -software ISPsoft -manuales de programador DESARROLLO DE EJERCICIOS EJERCICIO No. 1 Se desea un sistema que lleve la cuenta de autos que existen en un estacionamiento, se requiere un botón de reset (X0) que inicialice la cuenta a cero. Se tiene un sensor a la entrada del estacionamiento (X1) y otro a la salida del estacionamiento (X2), se tiene como dato adicional que el sistema detecte que el cupo máximo de coches en el estacionamiento es de 10 autos, en cuyo caso activará la salida Y1 para iluminar un mensaje que indique “lleno”. Se desea que se hay un corto temporal de energía de 2 segundos el sistema no pierda la cuenta de cuantos coches hay en el estacionamiento, por lo que se requiere usar una memoria no volátil. En la Figura 2 se puede observar una imagen auxiliar de ayuda. Figura 2. Imagen auxiliar correspondiente al problema planteado Para la solución de este problema se utilizo un contador de 32 bits el C200 el primero para poder hacer conteos ascendentes y descendentes el sensor de entrada de autos activaba una bobina auxiliar (M0) (olviden el Network 1 está de más y ya no lo quite por que medio pereza) bueno ahora el sensor de entrada manda una pulso en alto y hace que se cuente como que un auto entro el sensor de salida activa el modo de conteo inverso al C200 y al mismo tiempo manda un pulso al contador para reducir su valor además tiene un botón de reset que resetea el C200, tiene un comparador para que cuando llegue a 10 autos encienda un letrero que diga lleno además tiene la función Move que lo que hace es mover los datos del contador C200 a un registro Lanched(Sin alterar) es decir no pierde los datos el registro en este caso usamos el D480 ya que es el primero pero se puede de D408 a D599 y de D2000 a D3919 bueno lo que se hace aquí es utilizar un pulso de 10ms e ir guardando cada 10 ms los datos del C200 al D408. En las Figuras 3,4,5y 6 podemos observar la solución dada. Figura 3. Variables utilizadas. Figura 4. Programación en Ladder. Figura 5. Programación en Ladder. Figura 6. Programación en Ladder. EJERCICIO No. 2. CONTROL: Se requiere el control para un sistema de seguridad de una pequeña compañía de dos empleados, el sistema cuenta con tres botones. El botón rojo (X0) se utilizará para activar la entrada de códigos, y al presionarse inicializará el registro de clase a cero. El botón azul (X1) sumará 1 al registro de clave cada que se presione, si es que todavía el botón rojo sigue presionado, si el botón azul se presiona y el botón rojo no está presionado no hará esta función. El botón verde (X2) sumará 10 al registro de clave si es que el botón rojo todavía sigue presionado, si el botón verde se presiona y el botón rojo no está presionado no hará esta función. Cada uno de los dos empleados tiene una clave grabada en el sistema. Empleado 1: Clave 34 Empleado 2: Clave 45 Si el registro de clave contiene un número igual a estos, se activará la puerta de acceso conectada a Y1, de lo contrario debe permanecer cerrada. Al abrirse la puerta hay un botón por dentro para borrar el registro de la clave y así cerrar la puerta (X3). En la Figura 7 se puede observar una imagen auxiliar de ayuda. Figura 7. Imagen auxiliar correspondiente al problema planteado. Para la solución del problema se utilizó un contador (C0) y la instrucción ADDP el contador que iba incrementando de 1 en 1 con el botón verde claro siempre que el rojo estuviera presionado y se utilizó la instrucción ADDP se puso con la “P” para que sumara 10 al contador C0 pero solo cuando hubiera un pulso de los contrario si solo fuera la instrucción ADD se le sumaria demasiado al contador ya que anqué sea por poco tiempo la corriente estuvo ahí milisegundo y eso no esta bien por eso se utiliza el ADDP. En las Figuras 8,9,10 y 11 podemos observar la solución dada. Figura 8. Variables utilizadas. Figura 9. Programación en Ladder. Figura 10. Programación en Ladder. Figura 11. Programación en Ladder. EJERCICIO No 3. Se cuenta con una atracción en un parque acuático, cada que una persona se desliza por un tobogán se liberan 4 pelotas después de que se ha deslizado dicha persona, se tiene un sensor que indica cuando una persona ha salido por el tobogán para mandar la señal y liberar las 4 pelotas, esta señal está conectada a la entrada X0, tenemos un contenedor de pelotas, la idea es abrir la compuerta conectada a la salida Y0, contar que salgan 4 pelotas (con sensor X1) y después cerrar la compuerta. Como dato adicional se requiere saber cuántas pelotas se han liberado llevando el control en el registro D2000. Se propone usar un registro comparador que cuando la cuenta de pelotas llegue a 4, cierre la compuerta y reinicie la cuenta de pelotas a cero. Existen múltiples soluciones para resolver este ejercicio, sin embargo, es importante que el programa cumpla con las especificaciones propuestas. En la Figura 12 se muestra una imagen auxiliar para el problema. Figura 12. Imagen auxiliar correspondiente al problema planteado. Para la solución del ejercicio 3 se diseño un arranque enclavado para cuando se detecte que la persona salió del tobogán y es posible dejar caer 4 pelotas cuando el contador cuenta 4 pelotas mediante el sensor de cuenta_pelotas cierra el contenedor de pelotas, pero además también se lleva un registro que mantiene el conteo de las pelotas y un reset del contador cuando llegue a 4 pelotas para poder seguir nuevamente el ciclo. En las Figuras 13,14 y 15 podemos observar la solución dada. Figura 13. Variables utilizadas. Figura 14. Programación en Ladder. Figura 15. Programación en Ladder. EJERCICIO No 4. Tenemos un marcador de arrancones de autos de cuarto de milla, la salida se da electrónicamente desde un botón conectado a la entrada X0. Tenemos una columna de luces para cada lado de la pista, también contamos con un botón de inicialización del sistema conectado a X5 el cual apaga las luces anaranjadas, las verdes y las rojas. Las dos primeras luces amarillas (conectadas a Y0 del coche izquierdo y a Y10 del coche derecho) serán activadas cuando se detenga alguna señal en las fotoceldas (conectadas a X1 en el coche de la derecha y a X2 en el de la izquierda), se activan con las llantas delanteras del automóvil. Las siguientes luces amarillas (conectadas a Y1 del lado izquierdo y a Y11 del lado derecho) se activan cuando el automóvil llega a la línea de salida (sensor conectado a X3 del lado izquierdo y X4 del lado derecho. Después están tres luces más grandes que las anteriores de color anaranjado y una verde (salidas Y2 y Y5), se desea que se activen en el modo “Bracket”, es decir que se prendan en secuencia de arriba abajo con 0.5 segundos de retraso entre cada luz. Si el coche se mueve de la línea de salida, antes de que se prenda la luz verde se encenderá la luz roja que indica descalificación (conectada a Y12 del lado izquierdo y a Y13 del lado derecho). Como dato auxiliar se muestra en la Figura 16. En las Figuras 17,18,19,20,21 y 22 podemos observar la solución dada. Figura 16. Imagen auxiliar correspondiente al problema planteado. Figura 17. Variables utilizadas. Figura 18. Programación en Ladder. Figura 19. Programación en Ladder. Figura 20. Programación en Ladder. Figura 21. Programación en Ladder. Figura 22. Programación en Ladder. EJERCICIO No 5. Tenemos el sensor fotoeléctrico que detecta 15 productos, el brazo robótico comenzará a empacar. Cuando se complete la acción, el brazo robótico y el contador se reiniciarán cuando el sensor X1 detecto el cierre del paquete. En la Figura 23 se puede observar una imagen auxiliar de ayuda. En las Figuras 24 y 25 podemos observar la solución dada. Figura 23. Imagen auxiliar correspondiente al problema planteado. Figura 24. Variables utilizadas. Figura 25. Programación en Ladder. EJERCICIO No 6. Tenemos: • La línea de producción puede apagarse accidentalmente o apagarse para el descanso del mediodía. El programa es controlar el contador para retener el número contado y reanudar el conteo después de que la energía esté encendida nuevamente. • Cuando la producción diaria llega a 500, el indicador de objetivo completado se encenderá para recordarle al operador que debe llevar un registro. • Presione el botón Borrar para borrar los registros del historial. El contador comenzará a contar desde 0 otra vez. En la Figura 26 se puede observar una imagen auxiliar de ayuda. En las Figuras 27 y 28 podemos observar la solución dada. Figura 26. Imagen auxiliar correspondiente al problema planteado. Figura 27. Variables utilizadas. Figura 28. Programación en Ladder. EJERCICIO No 7. Tenemos: Arrancar el motor de la bomba de aceite inmediatamente cuando se presiona START. El motor principal se pondrá en marcha después de un retraso de 10 segundos y luego el motor auxiliar después de un retraso de 5 segundos. Además, detiene todos los motores inmediatamente cuando se presiona STOP. En la Figura 29 se puede observar una imagen auxiliar de ayuda. En las Figuras 30,31,32 y 33 podemos observar la solución dada. Figura 29. Imagen auxiliar correspondiente al problema planteado. Figura 30. Variables utilizadas. Figura 31. Programación en Ladder. Figura 32. Programación en Ladder. Figura 33. Programación en Ladder. CONCLUSIONES En conclusión, el conocer sobre los diferentes tipos de datos que maneja un PLC nos ayuda a entenderlos y aplicar estas funciones o memorias especiales para poder facilitar nuestro trabajo ya que no solo se trata de poner relés y comparadores y contadores etc. para que realicen algo muy sencillo sino de hacer algo muy complicado de manera mas simple con instrucciones que normalmente no se utilizan. BIBLIOGRAFÍA DELTA. (30 de Octubre de 2018). DELTA. Obtenido de https://downloadcenter.deltaww.com/enUS/DownloadCenter?v=1&CID=06&itemID=060301&downloadID=DVPSE%20Series&dataType=3&version=ENG&sort_expr=cdate&sort_dir=DESC DELTA: