++++++++++++++++++++++Lista de Instrucciones Plc Festo

¿Qúe es la LISTA DE INSTRUCCIONES? Es un lenguaje de programación realizado por Festo para programar los PLC Fec, este l

Views 561 Downloads 5 File size 626KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

¿Qúe es la LISTA DE INSTRUCCIONES? Es un lenguaje de programación realizado por Festo para programar los PLC Fec, este lenguaje de programación es muy parecido a Basic, la lista de instrucciones consta de 32 comandos.

Filosofía de programación La programación se centra en lo que llaman STEPS o PASOS, los pasos son secuencias de acciones y condiciones, en las cuales se puede confundir muy facilmente con lenguajes como BASIC o C, en estos programas no esperan a que una condición se cumpla para preguntar por la siguiente, pero en la lista de instrucciones si. Veamos un ejemplo:

Estructura de programación en lista de instrucciones de FST4.10 IF-THEN ...... CON STEP STEP 1 IF “” THEN “” “” “” STEP 2 IF “” THEN “” “” “” STEP N THEN “” “” “”

(Etiqueta de paso) (Condición) (Ejecución de instrucciones)

(Siguiente paso) (Condición) (Ejecución de instrucciones)

(Siguientes pasos….) (Ejecución de instrucciones)

IF-THEN-OTHERW......CON STEP STEP 1 IF “” THEN “” “” OTHRW “” “” STEP 2 IF “” THEN “” OTHRW “” “” STEP N THEN “” “” “”

(Etiqueta de paso) (Condición) (Ejecución de instrucciones) (Ejecución opcional) (Siguiente paso) (Condición) (Ejecución de instrucciones) “” (Ejecución opcional) (Siguientes pasos….) (Ejecución de instrucciones)

Estructura de programación en lista de instrucciones de FST4.10 IF - THEN ......

IF “” THEN “” “” “” IF “” THEN “” “” “”

SIN STEP

(Condición) (Ejecución de instrucciones)

(Siguientes pasos….) (Ejecución de instrucciones)

IF - THEN -OTHERW......

IF “” THEN “” “” “” OTHERW “” “” IF “” THEN “” “” “” OTHERW “” “”

SIN STEP

(Condición) (Ejecución de instrucciones)

(Siguientes pasos….) (Ejecución de instrucciones)

Ejecución de Instrucciones IF-THEN STEP 1 IF “” THEN “” “” STEP 2 IF “” THEN “” “”

(Etiqueta de paso) (Condición) (Ejecución de instrucciones) (Etiqueta de paso) (Condición) (Ejecución de instrucciones)

Ejecución de Instrucciones IF-THENOTHERW IF-THEN-OTHERW......CON STEP STEP 1 IF “” THEN “” “” OTHRW “” “” STEP 2 “” “” OTHRW “” “” STEP N “” “”

(Etiqueta de paso) (Condición) (Ejecución de instrucciones) (Ejecución opcional) (Siguiente paso)

(Ejecución opcional) (Siguientes pasos….)

Hacer preguntas, es prueba de qué se piensa. Para saber si una condición es verdadera o falsa, primero tenemos que preguntar por el sensor, para ello existen el comando IF y conjuntamente con OTHRW o ELSE tenemos nuestro conjunto de comandos para preguntar.

La respuesta más rápida es la acción. Para realizar algún tipo de acción existen varios comandos, estos comandos siempre tienen que estar antepuesto el comando THEN. ● SET ---->PONE A 1 ● RESET ---->PONE A 0 ● LOAD ---->CARGA A ● TO ---->CON

OPERACIONES BOOLEANAS Para realizar operaciones booleanas en la lista de instrucciones aparecen varios comandos: ● AND ● OR ● EXOR ●N

--->Operación AND (multiplicación) --->Operación OR (suma) --->Operación OR Exclusiva --->Operacion NOT (negación)

La única forma de avanzar es levantarse y caminar. Para avanzar en cada paso, vemos el comando STEP, y además podemos realizar un salto mediante el comando JMP TO.

EJEMPLO 1 Realicemos nuestro primer ejercicio usando lista de instrucciones, tenemos un actuador de simple efecto y un sensor capacitivo para mover una caja que se mueve en una banda.

DIAGRAMA A FLUJOS DE PROGRAMA

PROGRAMA EN LISTA DE INSTRUCCIONES EJEMPLO 1 STEP 1 IF CAJA THEN SET ACT1 JMP TO 1

----> ----> ---->

PASO PREGUNTA ACCIÓNES..

EJERCICIO 2 Hagamos más complejo el problema, añadiendo un sensor magnetico en el final de carrera del actuador de simple efecto, cuando detecte el sensor de final de carrera, entonces desactivará la electrovalvula para que retorne. Veamos el circuito neumatico y electrico para entender mejor el problema.

DIAGRAMA DE FLUJOS

PROGRAMA LISTA INSTRUCCIONES STEP 1 IF CAJA THEN SET ACT1 STEP 2 IF F_CARR THEN RESET ACT1 JMP TO 1

EJERCICIO 3 En una fabrica de zapatos, para empacarlos y entregarlos utilizan dos actuadores de doble efecto para poder realizar esta tarea, y se realizar esta tarea cuando el operador presionar un boton normalmente cerrado.

Declaremos las variables Primero declaremos como llamaremos a las entradas y salidas que tendremos para empezar a realizar el programa: Entradas Sensor inicio de carrera actuador A: SIA Sensor final de carrera actuador A: SFA Sensor inicio de carrera actuador B: SIB Sensor final de carrera actuador B: SFB Botón Start: BS Salidas Bobina Final de Carrera actuador A: YFA Bobina Inicio de Carrera actuador A: YIA Bobina Final de Carrera actuador B: YFB Bobina Inicio de Carrera actuador B: YIB

DIAGRAMA NEUMATICO

PROGRAMA STEP 1 IF N BS THEN SET YFA RESET YIA STEP 2 IF SFA THEN SET YFB RESET YIB STEP 3 IF SFB THEN SET YIB RESET YFB

STEP 4 IF SIB THEN SET YIA RESET YFA STEP 5 IF SIA THEN JMP TO 1

UTILIZANDO OPERACIONES BOOLEANAS Para utilizar operaciones booleanas, debemos saber cuando utilizar cada una de ellas, por ejemplo, supongamos que necesitamos saber si un objeto es un metal o tambien saber si es algun tipo de plastico, madera, etc. Para ello necesitamos 2 tipos de sensores, inductivo y capacitivo. Para ello utilizamos una operación AND. IF AND

SENSOR_CAP SENSOR_IND

THEN ................................... ...................................

COMPUERTA OR Cuando existen varias fuentes, por ejemplo, cuando tenemos 4 sensores magnéticos en 4 ventanas para una alarma, no importa que ventana es la que ha sido violada, se activará la alarma, como podemos ver en el ejemplo: IF SENSOR_MAG1 OR SENSOR_MAG2 OR SENSOR_MAG3 OR SENSOR_MAG4 THEN ...................................... ...................................... ......................................

EJERCICIO 5 Realizar el control de un clasificador de metales, este se realiza en una banda transportadora la cual tiene 2 sensores, uno capacitivo y un inductivo para saber si pasa un objeto y si es metal. Cuando pase por el segundo sensor capacitivo activa un desviador "actuador" si es metal a una banda alternativa para que siga otro proceso, de lo contrario seguirá su camino. Realizar el circuito neumatico y un diagrama de flujo, así como el programa en lista de instrucciones.

LISTA DE ASIGNACIÓN ENTRADAS: SENSOR CAP 1: SC1 SENSOR CAP 2: SC2 SENSOR INDUCTIVO: SI SENSOR INICIO DE CARRERA ACT: SIC SENSOR FINAL DE CARRERA ACT: SFC SALIDAS: CONTACTOR MOTOR BANDA: YB CON 1 ACTIVA BANDA BOBINA INICIO CARRERA ACT: YIC BOBINA FINAL CARRERA ACT: YFC

Estar preparado es importante, saber esperar lo es aún más, pero aprovechar el momento adecuado es la clave de la vida. Para utilizar timer lo podemos hacer de la siguiente manera: STEP1 IF SENSORX THEN SET T0 WITH 1S STEP2 IF N T0 THEN SET LAMP JMP TO 1

Ejercicio En una fábrica se requiere automatizar un proceso de estampado; para esto se decide utilizar dos válvulas monoestables y dos actuadores neumáticos de doble efecto. Donde el actuador B sujeta la pieza a estampar, el actuador A realiza el proceso de estampado y finalmente actuador B libera la pieza estampada.

SA0 SENSOR CONTRAIDO CILINDRO A SA1 SENSOR EXTENDIDO CILINDRO A SB0 SENSOR CONTRAIDO CILINDRO B SB1 SENSOR EXTENDIDO CILINDRO B SBT BOTON START SBS BOTON STOP MB MOTOR DE BANDA

PROGRAMACIÓN PARALELA Los PLC de festo permiten ejecutar varios programas a la vez, esto hace aparentar que el PLC cuenta con varios nucleos o procesadores.

EJEMPLO Realicemos este pequeño ejemplo para que podamos entender mejor este concepto . Necesitamos encender y apagar dos lamparas cada una con periodo diferente, al iniciar el programa necesitaremos presionar botón de start una sola vez. La lampara Q1 tiene un periodo de 500ms. La lampara Q2 tiene un periodo de 350ms.

¿ES POSIBLE REALIZARLO? ¿SE PUEDE REALIZAR CON UN SOLO PROGRAMA?

SOLUCIÓN Debemos de tener dos programas diferentes que hagan estas dos tareas, a este tipo de programación se le llama RTOS. El programa principal siempre será el programa cero. PROGRAMA CERO STEP 0 IF B_START THEN SET P1 STEP 1 IF N T0 THEN RESET Q1 SET T0 WITH V50

STEP 2 IF N T0 THEN SET Q1 SET T0 WITH V50 JMP TO 1

PROGRAMA 1 En el programa 1, es un programa secundario, que solamente esperará a que lo active el programa 0, el programa 0 puede activarlo o desactivarlo en cualquier momento del programa. STEP 1 IF N T1 THEN SET Q2 SET T1 WITH V35 STEP 2 IF N T1 THEN RESET Q2 SET T1 WITH V35 JMP TO 1