UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN “CURSO DE MANEJO DEL P.L.C. FESTO” ACTIVIDAD DE APOYO A LA DOCENCIA QUE PARA OBTENER EL TÍTULO DE: INGENIERO MECÁNICO ELECTRICISTA PRESENTA: GUSTAVO OCAMPO HERNÁNDEZ ASESOR: M.I. BENJAMÍN CONTRERAS SANTACRUZ CUAUTITLÁN IZCALLI, ESTADO DE MÉXICO 2013 Agradecimientos Con todo mi cariño y amor hacia las personas que hicieron todo en la vida para que yo pudiera lograr mis sueños, por motivarme y enseñarme la luz que iluminó cuando sentía que el camino se terminaba, a ustedes por siempre mi corazón y mi agradecimiento. ÍNDICE CAPÍTULO 1 EL P.L.C 1.1 INTRODUCCIÓN 1.1.1 COMPONENTES DE UN SISTEMA DE CONTROL CON P.L.C 1.2 CONEXIÓN DE ENTRADAS Y SALIDAS 1.2.1 CONEXIÓN DE ENTRADAS 1.2.2 CONEXIÓN DE SALIDAS 1.2.3 EL CONTACTOR 1.2.3.1FUNCIONAMIENTO DEL CONTACTOR 1.2.3.2 CONTACTOS AUXILIARES 1.2.3.3 CIRCUITO DE POTENCIA O FUERZA 1.2.4 CONEXIÓN ELÉCTRICA DEL CONTROL FEC 1 2 6 6 8 8 12 15 17 18 CAPÍTULO 2 USO DEL SOFTWARE 2.1 INTRODUCCIÓN 2.2 EJECUCIÓN DEL SOFTWARE 2.3 ESTRUCTURA DE PROGRAMACION EN LISTA DE INSTRUCCIONES 2.4 REGLAS DE EJECUCIÓN DE UN PASO 2.5COMANDOS 2.6 DESARROLLO 19 22 27 29 31 32 CAPÍTULO 3 LÓGICA DE CONTACTOS 3.1 INTRODUCCIÓN 3.2 ELEMENTOS DE ENTRADA Y SALIDA 3.2.1 ELEMENTOS DE ENTRADA 3.2.2 ELEMENTOS DE SALIDA 39 40 40 41 3.3 FUNCIONES LÓGICAS 3.4 DESARROLLO 42 48 CAPÍTULO 4 TEMPORIZADORES 4.1 INTRODUCCIÓN 4.2 FUNCIONAMIENTO DE UN TEMPORIZADOR 4.3 TEMPORIZADOR ESTÁNDAR 4.3.1 INICIALIZANDO EL TIMER PRESELECT 4.3.2ARRANCANDO UN TIMER 4.4 TEMPORIZADOR CON RETARDO A LA CONEXIÓN 4.5 TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN 57 58 59 59 60 63 65 CAPÍTULO 5 CONTADORES 5.1 INTRODUCCIÓN 5.2 CONTADORES EN LISTA DE INSTRUCCIONES 5.2.1 INICIALIZANDO EL COUNTER PRESELECT 5.2.2 ARRANCANDO UN COUNTER 5.3 CONTADORES EN DIAGRAMA DE ESCALERA 5.4 COMANDOS INC Y DEC 5.5 DESARROLLO 67 67 67 68 69 72 73 CAPÍTULO 6 REGISTROS Y FLAGS 6.1REGISTROS 6.1.1 CARGANDO UN REGISTRO 6.2 REGISTRO EN DIAGRAMA DE ESCALERA 6.3 COMANDOS INC Y DEC PARA UN REGISTRO 6.4 FLAGS 6.4.1 SIMILITUDES CON OTROS OPERANDOS MULTIBIT 6.4.2 DIFERENCIAS CON OTROS OPERANDOS MULTIBIT 6.5 FLAGS EN DIAGRAMA DE ESCALERA 78 78 80 82 83 85 85 87 CAPÍTULO 7 MÉTODOS DE PROGRAMACIÓN 7.1 DIAGRAMA ESPACIO-FASE 7.2 MÉTODO DE LA BANDERA 7.3 MÉTODO ESTRUCTURADO 7.4 MÉTODO SECUENCIAL (PASO A PASO) 89 92 95 98 CAPÍTULO 8 FUNCIONES AVANZADAS 8.1 MULTITAREA 8.1.1 TÉRMINOS ASOCIADOS CON LA MULTITAREA 8.1.2 CFM LLAMADA A MÓDULO DE FUNCIONES 8.1.3 CMP LLAMADA A MODULO DE PROGRAMA 8.2 DESARROLLO 8.3 VISUALIZACIÓN DE DATOS EN EXCEL 8.3.1 DDE 8.3.2 OLE 8.3.3 OPC 8.3.4 VENTAJAS DE OPC FRENTE A DDE 8.4 DESARROLLO 8.5 MODIFICACIÓN DE PARÁMETROS DE UN P.L.C DESDE EXCEL 101 101 102 103 104 108 108 108 109 109 110 115 CAPÍTULO 9 9.1 CONCLUSIONES 121 9.2 BIBLIOGRAFÍA 122 ÍNDICE DE FIGURAS Fig. 1.1 Fig. 1.2 Fig. 1.3 Fig. 1.4 Fig. 1.5 Señal Analógica. Señal Discreta. Señal Binaria. El P.L.C. Computadora personal con el software de programación previamente cargado. Fig. 1.6 Descripción física del P.L.C. FEC20 de FESTO. Fig. 1.7 Distribución del P.L.C. FEC20 de FESTO. Fig. 1.8 Conexión de entradas del P.L.C. FEC20 de FESTO. Fig. 1.9 Conexión de entradas (sensores) del P.L.C. FEC20 de FESTO. Fig. 1.20 Conexión de salidas del P.L.C. FEC20 de FESTO. Fig. 1.21 Aspecto físico de un contactor. Fig. 1.22 Símbolo de un contactor. Fig. 1.23 Partes que componen un contactor. Fig. 1.24 Comportamiento de un contactor con la bobina sin excitar. Fig. 1.25 Comportamiento de un contactor con la bobina excitar. Fig. 1.26 Dos posibles casos de un contactor. Bobina excitada (lado derecho), bobina sin excitar (lado izquierdo). Fig. 1.27 Contactos auxiliares. Fig. 1.28 Cámaras de contactos NC/NO. Fig. 1.29 Cámara de cuatro contactos. Fig. 1.30 Cámara de contactos temporizados TON. Fig. 1.31 Cámara de contactos temporizados TOF. Fig. 1.32 Circuito de potencia o de fuerza. Fig. 1.33 Conexión eléctrica del control FEC. Fig. 3.1 Fig. 3.2 Fig. 3.3 Representación de funciones lógicas Representación de variables de salidas Lógica de función “O” 2 2 2 3 3 4 4 6 7 8 9 9 10 12 13 14 15 15 16 16 16 17 18 40 41 42 Fig. 3.4 Fig. 3.5 Fig. 3.6 Fig. 3.7 Fig. 3.8 Fig. 3.9 Fig. 3.10 Fig. 3.11 Fig. 3.12 Fig. 3.13 Fig. 3.14 Fig. 3.15 Fig. 3.16 Fig. 3.17 Fig. 3.18 Fig. 3.19 Fig. 3.20 Fig. 3.21 Fig. 3.22 Lógica de función “Y” Función “O” lógica de funciones “Y” Función “Y” Lógica de funciones “O” Símbolos generalizados de la función “OR” Tabla de verdad de la función “OR” Símbolos generalizados de la función “AND” Tabla de verdad de la función “AND” Símbolos generalizados de la función “NOT” Tabla de verdad de la función “NOT” Símbolos generalizados de la función “NOR” Tabla de verdad de la función “NOR” Símbolos generalizados de la función “NAND” Tabla de verdad de la función “NAND” Símbolos generalizados de la función “XOR” Tabla de verdad de la función “XOR” Símbolos generalizados de la función “XNOR” Tabla de verdad de la función “XNOR” Símbolos generalizados de la función “IGUALDAD” Tabla de verdad de la función “IGUALDAD” 42 43 43 44 44 45 45 45 45 46 46 46 46 46 46 47 47 47 48 Fig. 4.1 Función de un temporizador Fig. 4.2 Estructura de un temporizador Fig. 4.3 Grafica de un temporizador Fig. 4.4 Grafica de un temporizador TON Fig. 4.5 Grafica de un temporizador TOF 58 59 62 65 66 Fig. 6.1 Estructura de las FLAGS 85 Fig. 7.1 Representación de dos cilindros de doble efecto y sus válvulas biestables 90 Fig. 7.2 Diagramas de espacio-fase 91 Fig. 8.1 Estructura de la Multitarea 102 CAPITULO 1 EL P.L.C. 1.1 INTRODUCCION P.L.C Programmable Logic Controller Control Lógico Programable ¿Qué es un P.L.C.? Un sistema electrónico de funcionamiento digital, diseñado para ser utilizado en un entorno industrial, que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al usuario, para la realización de funciones de: enlaces lógicos, secuenciación, temporización, recuento y cálculo, para controlar a través de entradas y salidas digitales o analógicas, diversos tipos de máquinas o Procesos. (Según IEC-1131) El sistema de un P.L.C. Consta básicamente de: Hardware (parte tangible, por ejemplo: los circuitos eléctricos y electrónicos) Software (parte no tangible, por ejemplo:los programas) 1 1.1.1 COMPONENTES DE UN SISTEMA DE CONTROL CON PLC Sensores: En general, nos referimos a todos los elementos de introducción de señal Las señales se clasifican en: _ Analógicas Fig. 1.1 Señal Analógica _ Discretas Fig. 1.2 Señal Discreta Señal binaria La señal binaria es una señal discontinua (0=Inactivo 1=Activo). Todos los PLC’s procesan señales binarias. Es más fácil manejar sólo 2 valores (0 ó 1, 0V ó 24V, No ó Sí, Apagado ó Encendido). Fig. 1.3 Señal binaria Actuadores o elementos de trabajo, como por ejemplo: motores eléctricos, cilindros neumáticos, focos piloto, alarmas sonoras, etc. PARA LA PROGRAMACION DE UN PLC ES NECESARIO: Programador exclusivo para digitar e introducirlos programas a la memoria del P.L.C. 2 Fig. 1.4 El P.L.C. Computadora personal con el Software de programación previamente cargado (por ejemplo: FST) Fig. 1.5 Computadora personal con le software de programa previamente cargado DIAGRAMA A BLOQUES BÁSICO DE UN PLC Este manual está enfocado para el P.L.C. de FESTO FC20, así que a continuación se muestran las características físicas y técnicas. 3 Fig. 1.6 Descripción física del P.L.C. FEC20 de FESTO Fig. 1.7 Distribución del P.L.C. FEC20 de FESTO 4 Características técnicas • 12 entradas (configurables a NPN o PNP). • 8 salidas (relevador). • Entradas/salidas expandibles hasta 60 entradas/40 salidas. • 256 Contadores • 256 Temporizadores (On/Off-delay o de Impulso) • 256 Registros de 16-bit. • 160,000 banderas (relevadores internos). • Un Potenciómetro Analógico para procesos de ajuste. • Funciones matemáticas de 32 bits. • Dos contadores rápidos de 4 KHz. • 1000 instrucciones en 2 ms. • Montaje por riel DIN y conexiones por tornillo. 5 1.2 CONEXIONES DE ENTRADAS Y SALIDAS 1.2.1 CONEXIÓN DE ENTRAS Fig. 1.8 Conexiones de entrada del P.L.C. FEC20 de FESTO 6 Fig. 1.9 Conexión de entradas (sensors) del P.L.C. FEC20 de FESTO 7 1.2.2 CONEXIÓN DE SALIDAS Fig. 1.20 Conexión de salidas del P.L.C. FEC20 de FESTO La ventaja de nuestro controlador es que tiene salida para bobina de contactor de 24vcd, 120vca ó 220 vca 1.2.3 EL CONTACTOR Es un mecanismo cuya misión es la de cerrar unos contactos, para permitir el paso de la corriente a través de ellos. Esto ocurre cuando la bobina del contactor recibe corriente eléctrica, comportándose como electroimán y atrayendo dichos contactos. 8 Aspecto físico Fig. 1.21 Aspecto físico de un contactor Símbolo Fig. 1.22 Símbolo de un contactor Clasificación de los contactores 9 Partes de que está compuesto Fig. 1.23 Partes que componen un contactor. 10 Fig. 1.23 Partes que componen un contactor. 11 1.2.3.1 FUNCIONAMIENTO DEL CONTACTOR Caso 1. Bobina del contactor sin excitar. Al no existir corriente, no hay campo 12xcel12s12o capaz de desplazar el martillo hacia la culata. El martillo está unido físicamente al grupo de contactos del contactor. Fig. 1.24 Comportamiento de un contactor con la bobina sin excitar 12 Caso 2. Bobina del contactor excitada. El campo magnético creado por la bobina del contactor al ser alimentado con corriente eléctrica, en este caso puede ser alimentado con una de las salidas del P.L.C, ya sea a 24vcd, 120vca o 220vca. Y de esta manera se conseguirá desplazar el conjunto formado por el martillo y el conjunto de contactos eléctricos asociados, realizando la conexión (o desconexión) de los mismos. Fig. 1.25 Comportamiento de un contactor con la bobina excitada 13 Fig. Dos posibles casos de un contactor. Bobina excitada (lado derecho), Bobina sin excitar (lado izquierdo) 14 1.2.3.2 CONTACTOS AUXILIARES Para aumentar la capacidad del contactor, se pueden asociar bloques de contactos, o 15xcel15s de contactos auxiliares, que incrementan así la capacidad del contactor al acrecentar el número de contactos a manejar, incluidos temporizadores (15xcel15 de contactos temporizados). El procedimiento de unión o encaje entre el contactor y el bloque auxiliar suele realizarse a través de unas pequeñas guías, que permiten el acoplamiento. Fig. 1.27 Contactos auxiliares Puesta en marcha Cuando la bobina del contactor es excitada, y el martillo (armadura 15xcel), se desplaza a causa del campo magnético hacia abajo, además de conmutar los contactos propios del contactor, desplaza 15xcel15s la parte superior del contactor, normalmente de material plástico, en la cual van adosados los bloques de contactos auxiliares, haciendo que estos, o bien conmuten sus contactos, o exciten un mecanismo para la 15xcel15s15-desconexion retardada como es el caso de los bloques temporizadores 15xcel15s15os. Cámaras de contactos NC-NO Lo habitual es encontrar de uno, dos y cuatro contactos, - Cámara de un contacto Fig. 1.28 Camaras de contactos NC/NO 15 - Cámara de cuatro contactos Fig. 1.29 Cámara de cuatro contactos Cámaras de contactos temporizados - Con retardo a la conexión (TON, Timer ON Delay). Fig. 1.30 Cámara de contactos temporizados TON - Con retardo a la desactivación (TOF, Timer OFF Delay) Fig. 1.31 Cámara de contactos temporizados TOF 16 Normalmente, las cámaras temporizadas neumáticas utilizan como elemento principal un fuelle de goma y un resorte antagonista dentro de él. Un tornillo solidario al conjunto fuelle-cámara, servirá para la regulación del tiempo. No se consideran instrumentos de precisión. 1.2.3.3 CIRCUITO DE POTENCIA O FUERZA Fig. 1.32 Circuito de potencia o fuerza 17 1.2.4 CONEXION ELÉCTRICA DEL CONTROL FEC Fig. 1.33 Conexión eléctrica del control FEC 18 CAPITULO 2 USO DEL SOFTWARE 2.1 INTRODUCCION EL SOFTWARE A UTILIZAR ES FEST 4.10 Una vez que se instala el software, se procede hacer la comunicación entre el PLC y la computadora donde se encuentra instalado el software Se requiere de un convertidor de puerto serial a USB. Ya que se tiene el convertidor previamente instalado, se requiere saber a qué frecuencia está trabajando el convertidor para empatarlo con la frecuencia de operación del software Dependiendo del sistema operativo será la verificación de la frecuencia de trabajo. En este caso el sistema operativo es Windows 7, y el procedimiento es el siguiente. 19 Aparecerá el siguiente cuadro de dialogo 20 En este momento ya sabemos cuál es la velocidad de operación del convertidor y que COM se le asigno. Procedemos a configurar esto con el software. 21 2.2 EJECUCIÓN DEL SOFTWARE Ejecutamos el software Extras Preferences 22 En este momento ya le asignamos el COM5 y una velocidad de 9600. Ya se hermano el software con el USB Ahora es necesario saber qué tipo de PLC tenemos, en este caso es un PLC compacto. También hay que seleccionar esto en el software para que no haya ningún problema de comunicación con el PLC. Se desplegara una pantalla en la cual se va a seleccionar el tipo de PLC Para seleccionar el tipo de PLC hay que dar doble clik sobre la pantalla para que aparezca el siguiente cuadro de dialogo 23 Se selecciona FEC y aparecerá lo siguiente Se cierra esta ventana y ya quedo configurado El siguiente paso se debe hacer cada que se hace un nuevo proyecto. Seleccionamos PROJECT Y NEW Nombramos al proyecto 24 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da algún comentario en COMMENT de así requerirlo. Si solo queremos seleccionar el tipo de PLC se puede hacer de la siguiente manera Project settings 25 Y seleccionamos el tipo de PLC 26 2.3 ESTRUCTRURA DE PROGRAMACION EN LISTA DE INSTRUCCIONES ESTRUCTURA DE PROGRAMACION AWL Ó STL El lenguaje de programación AWL ( lista de instrucciones ) permite al programador resolver tareas de control utilizando simples instrucciones en inglés para describir las operaciones que se desea que haga el control. Los programas en lista de instrucciones se construyen utilizando varios elementos importantes. No se requieren todos los elementos disponibles, y la forma en que son combinados los elementos influye notablemente en el comportamiento del programa Jerarquía de los elementos AWL Instrucción STEP ( Paso ) A pesar de que la instrucción STEP ( Paso ) es opcional, muchos de los programas AWL utilizan la instrucción STEP. Esta instrucción se utiliza para marcar el inicio de un bloque lógico de programa Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede contener una o más Frases. A cada Paso se le puede asignar un nombre o “ etiqueta “ opcional. Una Etiqueta de Paso solamente se requiere si el Paso correspondiente debe ser posteriormente nombrado como el destino de una instrucción de salto. Es posible crear programas enteros que consten solamente de frases sin utilizar en ningún caso la instrucción STEP. Los programas construidos de esta forma suelen llamarse programas paralelos, y reaccionan igual que los programas escritos en diagrama de contactos. Esto significa que, sin utilizar 27 la instrucción STEP, tales programas serían procesados una sola vez. Para que estos programas puedan procesarse continuamente, es necesario incluir la instrucción PSE. FRASES La Frase forma el nivel más elemental de la organización de un programa. Cada Frase consta de una Parte Condicional y de una Parte Ejecutiva . La Parte Condicional sirve para indicar una o más condiciones que son evaluadas durante el funcionamiento por su condición de ciertas o falsas. La Parte Condicional siempre empieza con la palabra clave IF y sigue con una o más instrucciones que describen las condiciones a evaluar. Si las condiciones programadas son evaluadas como ciertas, entonces serán ejecutadas todas las instrucciones programadas en la parte ejecutiva de la frase. El inicio de la parte ejecutiva se indica con la palabra clave THEN. Instrucción STEP Los programas que no utilizan la instrucción STEP pueden procesarse de modo paralelo ( scanning ). A pesar de que este tipo de ejecución de programas puede ser adecuado para resolver ciertas tareas de control, el lenguaje AWL ofrece la instrucción STEP que permite que los programas sean divididos en compartimentos (STEPS o PASOS ), que serán ejecutados independientemente. En su forma más sencilla, un STEP incluye por lo menos una frase y toma la forma siguiente: STEP #### IF NOP THEN SET Y1 PASO INICIAL SI NO HAY NINGUNA OPERACION ENTONCES ACIVA Y1 Es importante comprender que el programa ESPERARÁ en este paso hasta que las condiciones sean ciertas, en cuyo momento se ejecutarán las acciones y solamente entonces el programa seguirá procesando el siguiente paso. La etiqueta (#### ) del paso es opcional y solo se requiere si el paso va a ser el destino de una instrucción de salto ( JMP ). Debe observarse que cuando el software FST carga un programa AWL en el control programable, asigna automáticamente una numeración relativa a cada paso del programa. Dentro de la instrucción STEP se pueden incluir varias frases según lo requiera el programa 28 En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso. Cuando el programa llega a este paso, procesará la primera frase ( en este caso, activando la salida 4.4 si la entrada 2.2 está activa ) y a continuación se desplaza a la siguiente frase independientemente de si las condiciones de la primera frase son ciertas o falsas. Cuando la última frase de un paso (en este caso la segunda ) es procesada, si la parte condicional es cierta , entonces se realiza la parte ejecutiva y el programa continua en el siguiente paso. Si la parte condicional de la última frase no es cierta, entonces el programa regresa a la primera frase del paso actual. 2.4 REGLAS DE EJECUCIÓN DE UN PASO Pueden utilizarse las siguientes pautas para determinar cómo se procesan los Pasos y las Frases: Si las Condiciones de una frase se cumplen, se ejecutarán las acciones programadas en ella Si las Condiciones de la última (o la única ) frase dentro de un paso se cumplen, se ejecutarán las Acciones programadas y el programa seguirá en el siguiente paso Si las Condiciones de la frase no se cumplen, entonces el programa seguirá en la siguiente frase del paso actual Si las Condiciones de la última (o la única ) frase dentro de un paso no se cumplen, entonces el programa regresará a la primera frase del paso actual El lenguaje AWL no utiliza “accionamiento por flancos “... las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su anterior estado. Esta situación se resuelve fácilmente o bien utilizando STEPs, Flags (Marcas ) u otras formas de control 29 Influencia en el flujo del programa Adicionalmente a las estructuras de control inherentes a la instrucción STEP, se dispone de varias instrucciones AWL adicionales que pueden utilizarse para modificar los criterios de ejecución de los Pasos de programa y sus Frases. Instrucción NOP La instrucción NOP puede utilizarse indistintamente en la parte Condicional o en la Ejecutiva de una frase. Cuando se utiliza en la parte condicional siempre es evaluada como cierta. Pudiendo utilizarse para forzar la ejecución incondicional de una frase IF NOP THEN SET Y1 SI NO HAY NINGUNA OPERACIÓN ENTONCES PRENDE Y1 Instrucción JMP Otra instrucción AWL que puede utilizarse para influir en el flujo de ejecución de un programa, es la instrucción JMP ( salto ). Esta instrucción añade la posibilidad de ramificar el lenguaje AWL. 30 Instrucción OTHRW La instrucción OTHRW ( otherwise, sino ) también puede utilizarse para influir en el flujo del programa. La instrucción OTHRW es ejecutada cuando la última IF es evaluada como falsa STEP 1 IF NOP THEN SET Y0 PASO 1 SI NO HAY NINGUNA OPERACIÓN ENTONCES PRENDE Y0 STEP 2 IF S0 THEN SET Y1 OTHRW JMP TO 1 PASO 2 SI ESTA PRENDIDO S0 ENTONCES PRENDE Y1 DE LO CONTRARIO SALTA AL PASO 1 2.5 COMANDOS AND Realiza la función lógica and (multiplicación) CMP n Empieza la ejecución de un módulo de programa. DEC Decrementa un operador multibit. IF Marca el inicio de la parte condicional. INC Incrementa un operando multibit. JMP TO Salto a un paso. SWAP Intercambia el Byte alto por el Byte bajo. TO Indica el destino de la carga. NOP No hacer nada, sin condiciones. OR Realiza la operación lógica or (suma) OTHRW Aplica cuando la condición es falsa. RESET Para cambiar a estado lógico “0”. 31 ROL Gira a la izquierda los bits de un acumulador. ROR Gira a la derecha los bits de un acumulador. SET Para cambiar a estado lógico “1”. THEN Indica el inicio de la parte ejecutiva. WITH Para indicar parámetros de funciones. LOAD Carga un valor en el acumulador. 2.6 DESARROLLO Ejecutar el software FST 4.10 Seleccionamos PROJECT Y NEW Nombramos al proyecto 32 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da algún comentario en COMMENT de así requerirlo. T PROGRAM NEW 33 Seleccionamos el lenguaje de programación, ya sea lista de instrucciones (AWL Ó STL) o diagrama de escalera (LDR Ó KOP). En nuestro caso seleccionamos AWL (Statement list). Una vez seleccionado el lenguaje de programación aparecerá una ventana, la cual nos indicara el número de programa, el cual debemos tener cuidado de que este en cero, pues cuando cargamos el programa al PLC, este se carga con el número que seleccionamos, y cuando se ejecuta en el PLC este siempre busca el programa número cero y de no encontrarlo despliega un error. 34 Damos OK y se despliega una pantalla en la cual vamos a estructurar nuestro programa Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar nuestras entradas y salidas. 35 Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá lo siguiente: Se nombran las entradas y las salidas según nos convenga. Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un contador, podemos usar solo su símbolo de operación. 36 Nuestro programa está estructurado de tal manera que se pueda visualizar la estructura básica de un programa en lista de instrucciones. Nuestro programa hace lo siguiente: Cuando el sensor cero “S0” se activa la salida cero “Y0” se activa, y cuando el sensor uno “S1” se activa entonces se resetea “Y0”. Los sensores S0 Y S1 no se activan simultáneamente, sino que se activa el sensor “S0” y precedido el sensor “S1”. Una vez que ocurre esto se requiere que el sensor dos “S2” se active, cuando sucede esto la salida uno “Y1” se activara y el requisito para desactivarla y continuar con el proceso es que la entrada “S2” se deshabilite. Una vez ocurrido esto, con la instrucción JMP hacemos que el proceso sea cíclico indefinidamente, ya que regresa al principio. STEP 1 IF THEN SET S0 Y0 ‘SENSOR 0 ‘lLED 0 STEP 2 IF THEN RESET S1 Y0 ‘SENSOR 1 ‘lLED 0 STEP 3 IF THEN SET S2 Y1 ‘SENSOR 2 S2 Y1 ‘SENSOR 2 STEP 4 IF THEN RESET N JMP TO 1 Una vez que se ha concluido el programa se procede a compilarlo para ver si existe algún error Y se procede a crear los ejecutables 37 Si no existe ningún error se procede a cargar el programa en el PLC. Si no hay ninguna complicación, en la parte inferior izquierda aparecerá la siguiente leyenda. Una vez que aparece esta leyenda, significa que el programa está cargado en el PLC. Y ya podemos checarlo directamente con el PLC, poniendo el interruptor en RUN. Una vez que se checa el perfecto funcionamiento, se ha logrado el objetivo de esta práctica, el cual es comprender la estructura básica de programación en lista de instrucciones en un PLC. 38 CAPÍTULO 3 LÓGICA DE CONTACTOS 3.1 INTRODUCCIÓN Lógica de contactos Se trata de la representación gráfica de esquemas de automatismos eléctricos, en los cuales, el elemento fundamental es el interruptor electromagnético denominado relé, junto con pulsadores, interruptores y contactores. 39 Fig. 3.1 Representación de funciones lógicas 3.2 ELEMENTOS DE ENTRADA Y SALIDA 3.2.1 Elementos de entrada Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como finales de carrera, detectores de proximidad, etc. Son los dispositivos físicos mediante los cuales el automatismo realiza la observación de las variables de entrada. Por tanto, se debe asociar a dichos elementos las variables de entrada de cuya combinación resultará una función lógica que activará o no la salida correspondiente. Las variables de entrada pueden ser clasificadas como: 40 * Variables de entrada directa * Variables de entrada inversa La variable de entrada directa, da un “1” lógico cuando es activada. La variable de entrada inversa, da un “0” lógico cuando es activada. Se representará pues como una variable negada. Según donde se realice la observación del automatismo, las variables de entrada pueden clasificarse como: * Variable de entrada pura * Variable de salida realimentada La variable de entrada pura, proviene de acciones de mando del operador, o bien de la lectura de los elementos de entrada. La variable de salida realimentada, proviene de la realimentación de una variable de salida y posterior consideración como variable de entrada. Esto puede tener lugar en automatismos que deban ser tratados según la lógica secuencial síncrona o asíncrona. Fig. 3.2 Representación de variables de salida 3.2.2 ELEMENTOS DE SALIDA Los elementos de salida deberán ser asociados a las variables de salida de las funciones lógicas. Casi siempre vendrán implementadas físicamente por el circuito de mando de un relé o de un contactor Asociación de elementos Los diversos elementos bien sean normalmente abiertos o normalmente cerrados, pueden conectarse de forma asociada formando diversas funciones lógicas 41 3.3 FUNCIONES LÓGICAS Función lógica O Se trata de la conexión en paralelo de diversos elementos de entrada Fig. 3.3 Lógica de función “O” Función lógica Y Se trata de la conexión en serie de diversos elementos de entrada Fig. 3.4 Lógica de función “Y” Función O lógica de funciones Y Corresponde a la conexión en paralelo de dos o más ramas en serie 42 Fig. 3.5 Función lógica “O” lógica de funciones “Y” Función Y lógica de funciones O Corresponde a la conexión en serie de conjuntos de dos o más ramas en paralelo Fig. 3.6 Función lógica “Y” lógica de funciones “O” A partir de las funciones básicas enumeradas, se pueden establecer combinaciones entre ellas de diversa complejidad Lógica de funciones Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean dispositivos mediante los cuales solo son posibles dos estados. Por tanto, al transistor solo le vamos a permitir trabajar en la zona de corte o en la de saturación, nunca en la zona activa ( ideal para el uso del transistor como amplificador ). Esta naturaleza biestable ( todo – nada ) o nivel alto – nivel bajo de muchos dispositivos industriales hace posible tratar su función mediante un cálculo matemático que solo opere con dos valores “0” y “1” Existen dos sistemas lógicos distintos: Lógica positiva: Cuando el estado alto coincide con el “1” lógico y el estado bajo con el “0” lógico Lógica negativa: Cuando el estado alto coincide con el “0” lógico y el estado bajo con el “1” lógico 43 El desarrollo de los distintos bloques lógicos se puede realizar con elementos de alguna de las siguientes familias lógicas: * Familia RTL : Lógica transistor – resistencia * Familia DTL : Lógica transistor – diodo * Familia TTL : Lógica transistor – transistor * Familia ECL : Lógica acoplada por emisor * Familia C-MOS Función “O” u “OR” (Suma lógica ) La función, puerta o dispositivo OR se caracteriza porque proporciona una salida “1” siempre que sea “1” el estado de al menos una de las variables de entrada, es decir, realiza la suma lógica Los símbolos más generalizados para la representación de la función lógica “OR “ son: Fig. 3.7 Símbolos generalizados de la función “OR” La representación de todas las combinaciones posibles de las variables de entrada y su repercusión en las salidas se expresa mediante una tabla llamada “Tabla de verdad” Fig. 3.8 Tabla de verdad de la función “OR” Función “Y” O “AND” ( Producto lógico ) La función AND se caracteriza porque la salida es “1” solamente cuando todas las variables de entrada son “1”, realiza pues el producto lógico 44 Los símbolos más generalizados para la representación de la función lógica “AND “ son: Fig. 3.9 Símbolos generalizados de la función “AND” Y su tabla de verdad es la siguiente: Fig. 3.10 Tabla de verdad de la función “AND” Función NOT (Negación, inversión o complemento) Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra colocada encima de la variable o función Fig. 3.11 Símbolos generalizados de la función “NOT” Y su tabla de verdad es la siguiente: Fig. 3.12 Tabla de verdad de la función “NOT” Función NOR (NO-O) Si después de efectuar una operación “OR”, realizamos una inversión, obtendremos la función NO – O o NOR. 45 Fig. 3.13 Símbolos generalizados de la función “NOR” Su tabla de verdad es: Fig. 3.14 Tabla de verdad de la función “NOR” Función NAND ( NO – Y ) Si después de efectuar una operación AND, realizamos una inversión, obtenemos la función NO – Y o NAND. Fig. 3.15 Símbolos generalizados de la función “NAND” Fig. 3.16 Tabla de verdad de la función “NAND” Función OR – Exclusiva ( XOR ) La salida es “1” cuando las entradas están en distinto estado 46 Fig. 3.17 Símbolos generalizados de la función “XOR” Fig. 3.18 Tabla de verdad de la función “XOR” Función NOR – Exclusiva ( XNOR ) La salida es “1” cuando las entradas están en el mismo estado Fig. 3.19 Símbolos generalizados de la función “XNOR” Fig. 3.20 Tabla de verdad de la función “XNOR” Función IGUALDAD Se trata de una puerta lógica de igualdad, lo que quiere decir que su salida siempre tiene el mismo valor que su entrada. Es utilizada como amplificador digital. 47 Fig. 3.21 Símbolos generalizados de la función “IGUALDAD” Fig. 3.22 Tabla de verdad de la función “IGUALDAD” 3.4 DESARROLLO Ejecutar el software FST 4.10 Seleccionamos PROJECT Y NEW Nombramos al proyecto 48 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da algún comentario en COMMENT de así requerirlo. PROGRAM NEW 49 Seleccionamos el lenguaje de programación, ya sea lista de instrucciones diagrama de escalera (LDR Ó KOP). (AWL Ó STL) o Una vez seleccionado el lenguaje de programación aparecerá una ventana, la cual nos indicara el número de programa, el cual debemos tener cuidado de que este en cero, pues cuando cargamos el programa al PLC, este se carga con el número que seleccionamos, y cuando se ejecuta en el PLC este siempre busca el programa número cero y de no encontrarlo despliega un error. 50 Damos OK y se despliega una pantalla en la cual vamos a estructurar nuestro programa Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar nuestras entradas y salidas. 51 Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá lo siguiente: Y como ya se ha visto, se nombran las entradas y las salidas según nos convenga. 52 Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un contador, podemos usar solo su símbolo de operación. Desarrollaremos un programa en el cual se visualizara la lógica NOT en lista de instrucciones y diagrama de escalera. STEP 1 IF THEN SET STEP 2 IF THEN RESET JMP TO 1 N S0 Y6 ‘SENSOR 0 ‘LED 6 SI SE APAGA EL SENSOR 0 ENTONCES PRENDE EL LED 6 NOP Y6 ‘LED 6 RETORNA EL CICLO NOTA LA INSTRUCCIÓN “N” SE UTILIZA PARA PREGUNTAR SOBRE EL ESTADO DE UN SENSOR, Y LA INSTRUCCIÓN “NOP” SE REFIERE A QUE NO HAY NINGUNA OPERACIÓN Y VA A EJECUTAR LO QUE ASÍ DEMANDE LA SENTENCIA Ahora desarrollaremos el mismo programa, pero en diagrama de escalera Desarrollaremos un programa en el cual se visualizara la lógica AND en lista de instrucciones y diagrama de escalera. STEP 1 IF AND AND S0 S1 Y1 ‘SENSOR 0 ‘SENSOR 1 ‘ACTUADOR 1 SI EL SENSOR 0 Y EL SENSOR 1 Y EL ACTUADOR 1 ESTAN PRENDIDOS 53 THEN SET STEP 2 IF THEN RESET JMP TO 1 Y6 ‘LED 6 NOP Y6 ‘LED 6 ENTONCES PRENDE EL LED 6 RETORNA EL CICLO Ahora desarrollaremos el mismo programa, pero en diagrama de escalera Desarrollaremos un programa en el cual se visualizara la lógica OR en lista de instrucciones y diagrama de escalera. STEP 1 IF THEN OR OR S0 S1 Y1 ‘SENSOR 0 ‘SENSOR 1 ‘ACTUADOR 1 SET Y6 ‘LED 6 STEP 2 IF THEN RESET JMP TO 1 SI EL SENSOR 0 O EL SENSOR 1 O EL ACTUADOR 1 SE ACTIVAN ENTONCES PRENDE EL LED 6 RETORNA EL CICLO NOP Y6 ‘LED 6 54 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera Desarrollaremos un programa en el cual se visualizara la lógica EXOR en lista de instrucciones y diagrama de escalera. STEP 1 IF THEN EXOR SET STEP 2 IF THEN RESET JMP TO 1 S0 S1 Y6 ‘SENSOR 0 ‘SENSOR 1 ‘LED 6 NOP Y6 ‘LED 6 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera 55 56 CAPÍTULO 4 TEMPORIZADORES 4.1 INTRODUCCIÓN Los temporizadores Muchas funciones de control exigen la programación del tiempo. Ejemplo : En una máquina deberá avanzar el cilindro B cuando el cilindro A haya vuelto a su posición normal. Para efectuar la programación de una temporización, es necesario recurrir a ( submódulos ) temporizadores. Todos los controles lógicos programables contienen dichos submódulos de temporización. Por lo general, los tiempos son configurados de modo digital, lo que significa que un contador se encarga de contar cadencias. Un PLC cuenta las cadencias con la misma exactitud con la que los relojes cuentan las oscilaciones de cuarzo. O, para ser más precisos: el PLC cuenta flancos positivos o negativos de los pulsos secuenciales. A modo de unidad básica se define o selecciona un determinado tiempo para las secuencias de los pulsos: Un milisegundo Una centésima de segundo Una décima de segundo Un segundo Un minuto En el programa, los tiempos son confeccionados recurriendo a las unidades básicas respectivas, estando limitada la duración del tiempo programable. El control FEC permite programar 256 temporizadores (del 0 al 255). Cada temporizador puede programarse desde 0.01 hasta 655.35 segundos. Es posible programarlos como: Temporizador de impulso (T) Con retardo a la conexión (TON)* Con retardo a la desconexión (TOFF)* *Directamente, sólo en diagrama de escalera 57 4.2 FUNCIONAMIENTO DE UN TEMPORIZADOR Un temporizador está compuesto de los siguientes elementos: Valor nominal Valor efectivo Estado El valor nominal indica el tiempo que deberá transcurrir en función del programa y expresado mediante un número que indica la cantidad de cadencias que se haya seleccionado. El valor nominal también puede ser igual a “0”; en este caso, el tiempo que se haya ajustado es igual al valor efectivo. El valor efectivo indica el valor instantáneo del temporizador. Los temporizadores pueden contar hacia atrás o hacia adelante. El valor efectivo va cambiando respectivamente El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya preseleccionado o si aún está transcurriendo, pudiendo ser la señal respectiva “0” o “1”, según tipo de PLC En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo sencillo. En él se ha ajustado un tiempo de 4 cadencias (es decir, por ejemplo, 4 veces 0,1 58 segundos). El número 4 es el valor efectivo y el conteo se produce hacia atrás hasta que se alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los pulsos secuenciales. Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje de lista de instrucciones (AWL), consta de varios elementos : 4.3 TEMPORIZADOR ESTÁNDAR Los temporizadores estándar operan de la siguiente forma: • El valor a ser contado es almacenado en el Timer Preselect (Preselección del Temporizador ) • El temporizador se inicia: • Con un valor (cero) 0 en la Timer Word (TWn=0) • Se cambia el estado del Timer a activo (Tn=1) • La cuenta actual puede ser lNCrementada o DECrementada • Cuando la cuenta actual (TWn) es igual a (TPn) el Estado del Timer (Tn) cambia a inactivo (Tn=0) Los temporizadores están estructurados de la siguiente manera: Como bit de estado (0= Inactivo 1= Activo) 4.3.1 INICIALIZANDO EL TIMER PRESELECT Antes que un Timer estándar pueda usarse, el respectivo Timer Preselect debe primero ser inicializado con un valor correspondiente al tiempo que deberá transcurrir según se requiera. No es necesario cargar de nuevo al Timer Preselect cada vez que el Timer es arrancado. 59 Ejemplo: Inicializando el Timer Preselect con un valor absoluto STEP ##### IF THEN LOAD TO NOP V200 TP0 ETIQUETA INICIAL SI NO HAY NINGUNA OPERACION ENTONCES CARGA EL VALOR DE 200 EN EL REGISTRO DEL TIMER 4.3.2 ARRANCANDO UN TIMER Arrancar un temporizador solo requiere de una instrucción SET y especificar que timer debe arrancarse: STEP ##### IF NOP THEN SET T0 ETIQUETA INICIAL SI NO HAY NINGUNA OPERACION ENTONCES ACTIVA EL TEMPORIZADOR Siempre que la instrucción Set Tn sea ejecutada, ocurre lo siguiente: 1.- La respectiva Timer Word (TWn) es cargada con un cero 0. 2.- Tn (Timer Status n = estado del temporizador ) se vuelve activo 1 60 Este temporizador también llamado de impulso, se puede utilizar en diagrama de escalera, a continuación se muestra cómo hacerlo: Como parte ejecutiva (Inicialización): 61 Como parte condicional (Contactos): Fig. 4.3 grafica de un temporizador 62 Fig. 4.3 grafica de un temporizador En las dos graficas anteriores se puede observar que no importa si el temporizador se mantiene prendido o apagado, lo que importa es el primer impulso. 4.4 TEMPORIZADOR CON RETARDO A LA CONEXIÓN Este tipo de temporizador solo se puede programar en diagrama de escalera Programación de temporizadores TON en Diagrama de Escalera (LDR) Como parte ejecutiva (Inicialización): 63 Como parte condicional (Contactos): A continuación se muestra la gráfica de un temporizador con retardo a la conexión 64 Fig. 4.4 Grafica de un temporizador TON 4.5 TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN Este tipo de temporizador solo se puede programar en diagrama de escalera Programación de temporizadores TOFF en Diagrama de Escalera (LDR) Como parte ejecutiva (Inicialización): Como parte condicional (Contactos): 65 A continuación se muestra la gráfica de un temporizador con retardo a la desconexión Fig. 4.5 Grafica de un temporizador TOF 66 CAPÍTULO 5 CONTADORES 5.1 INTRODUCCIÓN Los contadores Los modelos de controladores que incorporan baterías de respaldo mantienen los valores de Preselección del Counter, Bits de Estado y Words durante los períodos sin energía de red. Igualmente con los nuevos equipados con EEPROM/ FLASH ó NVRAM. Usando Counters Estándar Un Counter Estándar es útil para conteo de eventos determinados y llevar luego a cabo una acción deseada cuando se arribe a la cuenta predefinida. 5.2 CONTADORES EN LISTA DE INSTRUCCIONES Los Counters estándar operan de la siguiente forma: • El valor a ser contado es almacenado en el Counter Preselect (Preselección del Contador) • El Counter se inicia: • Con un valor (cero) 0 en la Counter Word (CWn=0) • Se cambia el estado del Counter a activo (Cn=1) • La cuenta actual puede ser lNCrementada o DECrementada • Cuando la cuenta actual (CWn) = preselect (CPn) el Estado del Counter (Cn) cambia a inactivo (Cn=0) 5.2.1 INICIALIZANDO EL COUNTER PRESELECT Antes que un Counter estándar pueda usarse, el respectivo Counter Preselect debe primero ser inicializado con un valor correspondiente al número de eventos a ser contado. 67 Esta inicialización solo necesita ser realizada nuevamente si el valor para actividades de conteo subsecuentes debe ser cargado. No es necesario cargar de nuevo al Counter Preselect cada vez que el contador es arrancado. Ejemplo: Inicializando el counter preselect con un valor absoluto STEP ##### IF THEN LOAD TO NOP V5 CP0 ETIQUETA INICIAL SI NO HAY NINGUNA OPERACION ENTONCES CARGA EL VALOR DE 5 EN EL REGISTRO DEL COUNTER 5.2.2 ARRANCANDO UN COUNTER Arrancar un contador solo requiere de una instrucción SET y especificar que counter debe arrancarse: STEP ##### IF THEN SET NOP C0 ETIQUETA INICIAL SI NO HAY NINGUNA OPERACION ENTONCES ACTIVA EL CONTADOR Siempre que la instrucción Set Cn sea ejecutada, ocurre lo siguiente: 1.- La respectiva Counter Word (CWn) es cargada con un cero 0. 2.- Cn (Counter Status n = estado del contador) se vuelve activo 1 68 5.3 CONTADORES EN DIAGRAMA DE ESCALERA A continuación se mostrara como utilizar el contador en diagrama de escalera Posicionarse en VIEW y seleccionar SHORTCUTS 69 Una vez que tengamos la barra de herramientas SHORTCUTS, seleccionamos nuestro contador. Este aparecerá de la siguiente manera. Como ya tenemos nuestra ALLOCATION LIST, solo ponemos el operador absoluto (C0..C255) y automáticamente aparecerá el comentario. En este caso no es necesario tener en nuestra ALLOCATION LIST la preselección del contador (Counter Preselect CP0..CP255), ya que esta se pone directamente en el representativo del contador. 70 Como parte ejecutiva (Inicialización): Es posible desactivar el bit de estado de un contador, por ejemplo, en caso de un reinicio de sistema, o antes de comenzar la secuencia. 71 Como parte condicional (Contactos): 5.4 COMANDOS INC Y DEC Para poder hacer que nuestro contador registre un INCremento o DECremento hacemos lo siguiente: Seleccionamos una bobina y la nombramos con el nombre del operador absoluto del contador que queremos INCrementar o DECrementar. 72 Y para seleccionar el INCremento o DECremento nos colocamos en nuestra barra de herramientas, seleccionamos el icono y damos clic consecutivamente hasta que aparezca una D o una I haciendo referencia a decremento o incremento respectivamente. Decremento Incremento Estos se van a activar igual que el contador. Cuando se cierren todos los contactos abiertos y los contactos normalmente cerrados permanezcan en ese estado. 5.5 DESARROLLO En la siguiente imagen se puede visualizar como luce la pantalla en la cual vamos a estructurar nuestro programa. 73 Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar nuestras entradas y salidas. Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá lo siguiente: 74 Aquí tenemos nuestra ALLOCATION LIST Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un contador, podemos usar solo su símbolo de operación. Nuestro programa está estructurado de tal manera que se pueda visualizar el uso de un contador. Así que nuestro programa hace lo siguiente: Se simula el uso de dos pistones los cuales hacen la función de sacar un producto X de un almacén que está alimentando una banda transportadora. El producto baja a la banda gracias a la gravedad. Con el pistón dos, se hace la función de acomodar el producto. Pasa un tiempo y el producto llega a su destino y un pistón tres lo saca de la banda que lo transporta y un cuarto pistón lo vuelve a acomodar en el destino al cual ha llegado. Esta operación se hace solo cinco veces ya que se sabe que solo hay capacidad para cinco paquetes. Cuando se ha cumplido que los cinco paquetes han sido acomodados se despliega una alarma simulado por la salida cero. 75 76 77 CAPÍTULO 6 REGISTROS Y FLAGS 6.1 REGISTROS Los controles programables FESTO que pueden programarse utilizando el lenguaje AWL, poseen un número de registros de 16 bits. La cantidad exacta de estos registros varía según el modelo de FPC. Estos registros son operandos multibit que pueden utilizarse para almacenar números en la gama de : * 0 – 65535 Enteros sin signo * +/- 32767 Enteros con signo Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los periodos de desconexión. Los registros que no han sido nunca inicializados contendrán un valor aleatorio. Los Registros ( Registers ) son generalmente utilizados con la instrucción LOAD TO y en operaciones lógicas multibit. Los Registros no pueden direccionarse directamente bit a bit. Si se requiere acceder a un determinado bit, será más adecuado utilizar Flag Words. Los registros también pueden utilizarse para simplificar procesos secuenciales dentro de una sección de programa de exploración simple, como alternativa a la instrucción STEP 6.1.1 CARGANDO UN REGISTRO Para asignarle una cantidad de referencia a un registro, hay que hacer el mismo procedimiento que en el caso de un temporizador o un contador. Con la diferencia de que este no se va a prender ni apagar, solo es una referencia, a la cual podemos se le puede asignar algún valor y preguntar por ella, compararla con algún número o algún otro registro según sea el caso y la conveniencia del programador. 78 IF THEN NOP LOAD V5 TO R0 En este caso se le está asignando un número de cinco al registro cero Utilización de Registros en la parte condicional de una frase Utilización de Registros en la parte ejecutiva de una frase 79 6.2 REGISTROS EN DIAGRAMA DE ESCALERA Como parte ejecutiva (Inicialización): Previo a la inicialización del registro se le debe asignar un valor inicial, ya sea que el registro inicie en cero y a partir de ahí comenzar el conteo o de un número determinado y a partir de este número comenzar el decremento del registro, esto se va a utilizar según sea nuestra situación. Se selecciona la casilla de “Multi-bit operation” Y seleccionamos “LOAD TO” ó “TO” 80 Y de esta forma le asignamos un valor inicial al registro El registro se puede cargar en cualquier paso del programa y según sean nuestras condiciones. Es posible desactivar el bit de estado de un registro, según sea el caso. Como parte condicional (Contactos): 81 6.3 COMANDOS INC Y DEC PARA UN REGISTRO Es posible INCrementar ó DECrementar el registro en cualquier paso de nuestro programa y atendiendo a nuestras condiciones. 82 6.4 FLAGS Bits internos (banderas) Una bandera es un bit interno de control, el cual también se conoce como: Marca Recordador Relevador interno 83 Las banderas se utilizan como: Detectores de flanco Recordadores de paso A nivel palabra, como memorias de estados operativos del proceso Aplicaciones en donde se requiere memorizar ciertos eventos (por ejemplo, en un teclado display) La forma de utilizar las banderas en un programa de control puede resumirse como a continuación se indica: La bandera no está activada Se activa la bandera Se utiliza la señal de la bandera Se desactiva la bandera Están organizadas en 10,000 palabras de 16 bits Direccionamiento a nivel palabra: FW0 Direccionamiento a nivel bit: F1.12 84 Fig. 6.1 Estructura de las FLAGS 6.4.1 SIMILITUDES CON OTROS OPERANDOS MULTIBIT Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idénticos a los Registros. Cada Flag Word contiene 16 bits de información. Cuando son referenciados como unidades de 16 bits ( MBO / Multibit Operands ), se utiliza el término Flag Word. Los Flag Word son capaces de almacenar datos numéricos en la gama 0 – 65535 Enteros sin signo +/- 32767 Enteros con signo Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los periodos de desconexión. Los Flag Word que no han sido nunca inicializados contendrán un valor aleatorio. Los Flag Word difieren de otros operandos multibit en varios puntos importantes 6.4.2 DIFERENCIAS CON OTROS OPERANDOS MULTIBIT 1.- La mayor diferencia entre los Flags Words y los demás operandos multibit tales como Registros, Palabras de Contador, etc. Es que cada uno de los 16 bits de que consta un Flag Word puede direccionarse como bit independiente. Por ejemplo el FPC 202 C contiene 16 Flag Words, direccionados desde FW0 hasta FW15 También es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag Word, utilizando la sintaxis: 85 F (número de Flag Word). Número del bit donde el número de bit está entre 0 y 15 Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento es similar al utilizado con las E / S digitales. Mientras que los Flag Words pueden utilizarse con cualquier instrucción AWL adecuada para operandos multibit, los Flags individuales sólo son accesibles utilizando instrucciones adecuadas para los operandos monobit Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para memorizar eventos. En este aspecto, son similares a los “relés internos” frecuentemente citados en el lenguaje de Diagrama de Contactos 2.- Los modelos de FPC que permiten varios módulos de CPU ( Multiproceso ), permiten que cualquier programa en cualquier CPU pueda acceder a los Flags de cualquier otra CPU. Esto es, cada CPU es capaz de leer desde o escribir hacia los Flags de otra CPU Por esta razón, los Flags proporcionan el medio adecuado para intercomunicar datos entre CPUs. En tales sistemas de múltiples CPUs, cada Flag es referenciado como: FW. Número de la CPU. Número de Flag Word Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2 De la misma forma también es posible direccionar Flags en forma monobit en otras CPUs, extendiendo la sintaxis de direccionamiento: F. núm. De CPU. Núm.de Flag Word. Núm. Del bit Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de la CPU 0 Los Flags individuales (así como los Flag Words ) pueden programarse indistintamente en la parte condicional o en la ejecutiva de una frase. En la parte condicional pueden ser interrogados por su estado (0 = inactivo, 1 = activo ); mientras que los Flag Words pueden compararse con valores u otros MBOs Ejemplos en la parte Condicional 86 Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse con otros operandos Ejemplos en la parte Ejecutiva En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o destino de cualquier instrucción multibit 6.5 FLAGS EN DIAGRAMA DE ESCALERA Tal como se ha mencionado anterior mente los bits internos también llamados banderas tienen mucha similitud con otros operandos y al igual que ellos también tiene parte ejecutiva y parte condicional, como lo veremos a continuación. La bandera es una bobina virtual y como tal se selecciona una variable de salida. 87 Una vez seleccionada la variable se procede a nombrarla para así de esta manera hacer notar que es una bandera y la estamos utilizando a nivel bit. Y de esta forma tenemos la bandera Como parte ejecutiva (Inicialización): Es posible desactivar el bit de estado de una bandera, por ejemplo, sea el caso de hacer memoria de un evento. 88 La bandera Como parte condicional (Contactos): CAPÍTULO 7 MÉTODOS DE PROGRAMACIÓN 7.1 DIAGRAMA ESPACIO-FASE Cuando se ésta programando se debe tener en cuenta que podemos encontrarnos con algún problema de sincronía, que es originado cuando se tienen condiciones similares en alguna parte del programa, y como recordaremos que un programa en diagrama de escalera se ejecuta de forma simultánea. En el caso de la programación en lista de instrucciones no se tiene este problema ya que la ejecución de este es en forma ordenada. Pero no queda exentó de poder aplicarle algún método de programación. 89 El diagrama espacio-fase sirve para poder visualizar como se van a accionar los actuadores atendiendo a las condiciones de las señales de entrada. Esto se puede visualizar con la siguiente ecuación de movimiento. A+A-B+BSabiendo que se requerirán dos cilindros de doble efecto y dos válvulas biestables. Como se muestra a continuación. Fig. 7.1 Representación de dos cilindros de doble efecto y dos válvulas biestables. Y haciendo su lista de asignaciones como se muestra a continuación. E N T R A D A S S A L I D A S S0 A0 A1 B0 B1 Y1 Y2 Y3 Y4 Pulsador Cilindro A en reposo Cilindro A expandido Cilindro B en reposo Cilindro B expandido I0.4 I0.0 Avanza el cilindro A Retrocede el cilindro A Avanza el cilindro B Retrocede el cilindro B O0.0 I0.1 I0.2 I0.3 O0.1 O0.3 O0.4 90 Ahora procedemos a desarrollar el diagrama espacio-fase Fig. 7.2 Diagrama espacio fase El diagrama espacio-fase ésta distribuida de la siguiente manera De la ecuación de movimiento en el diagrama espacio-fase solo se van a registrar los cambios de estado, es decir tanto B como A van a partir del reposo de ahí en el primer paso del programa se indica que el cilindro A pasara a su posición expandida y en el siguiente paso el cilindro A quedara retraído, el cilindro B se mantendrá en su posición original hasta el momento en que la ecuación de movimiento indica que el cilindro B se activara para alcanzar una posición expandida, y en el siguiente paso el cilindro B regresara a su posición original. Del diagrama espacio-fase nos encontramos con un problema de sincronía que se encuentra demarcado en rojo y a estos los llamaremos “renglones repetidos”. Esto también se puede visualizar en la siguiente tabla de entradas y salidas I/O I II III IV A0 1 0 1 1 ENTRADAS A1 B0 0 1 1 1 0 1 0 0 B1 0 0 0 1 Y1 1 0 0 0 Y2 0 1 1 1 SALIDAS Y3 0 0 1 0 Y4 1 1 0 1 91 A continuación se presenta el programa desarrollado en diagrama de escalera y en el cual nos encontramos con el problema de sincronía 7.2 METODO DE LA BANDERA Para aplicar el método de la bandera se tiene que tomar en cuenta lo siguiente: Definir la ecuación de movimiento Hacer el diagrama espacio-fase Determina que se encuentra con un problema de sincronía Realizar el programa Una vez que tenemos detectado el problema de sincronía aplicamos el método de la bandera. Sus pasos dictan lo siguiente: 92 1.- En base al diagrama espacio-fase se determinan los renglones repetidos. Los renglones repetidos se refiere al problema de sincronismo, que es cuando las condiciones se repiten y de esta forma no se puede hacer la programación de manera común. 2.- Preguntar en el primer renglón repetido que la bandera no se encuentra presente, esto haciendo referencia a un contacto normalmente cerrado 3.- Preguntar en el segundo renglón repetido que este activa la bandera, esto haciendo referencia a un contacto normalmente abierto. 4.- Un paso antes de encontrar el segundo renglón repetido, activar la bandera y un paso después de este mismo desactivar la bandera. Ejemplo Seguiremos trabajando con la misma ecuación de movimiento 93 DEFINIR LA ECUACION DE MOVIMIENTO A+A-B+B- HACER EL DIAGRAMA ESPACIO FASE DETERMINAR QUE SE ENCUENTA CON UN PROBLEMA DE SINCRONIA REALIZAR EL PROGRAMA 94 7.3 METODO ESTRUCTURADO Este método nos ayuda a facilitar la programación, especialmente en diagrama de escalera. Los pasos a seguir son los siguientes: 1.- Se hace memoria utilizando una bandera 2.- Se prepara el siguiente paso 95 3.- Se hace el movimiento 4.- Borrar el paso anterior Nota El primer paso lleva todas las banderas negadas a excepción de la primera y la última bandera Para poder visualizar mejor este método desarrollaremos un programa que haga lo siguiente: Encender y apagar una lámpara con el mismo botón 96 97 7.4 METODO SECUENCIAL PASO A PASO Un sistema secuencial es aquel que se ejecuta en un orden cronológico y lógico. Por lo que se requiere que la programación se lleve a cabo tomando en cuenta lo ya mencionado, y para esto se propone un método secuencial PASO A PASO para tal fin. Definir tantas banderas como pasos existan en la secuencia. Por ejemplo: F0.1 = Paso1, F0.2 = Paso2, etc., en la lista de asignaciones. En la sección de control, activar las “bobinas” de dichas banderas tomando en cuenta la información proporcionada por el diagrama de funciones. Activación del paso 1 El paso 1 se activará cuando: No esté activado el paso 1 Se cumplan las condiciones de este paso Y no se halla activado el último paso Todos los pasos, a excepción del último se activarán de manera memorizada o retentiva. Activación de los siguientes pasos Los siguientes pasos se activarán si: Se cumplen las correspondientes condiciones y siempre y cuando el paso anterior ya esté activo. El encendido de dicha bandera (paso) se hará de manera retentiva o memorizada. Activación del último paso El último paso se activará cuando: Se cumplan las condiciones de este paso Y el paso anterior ya esté activado Este último paso se activará de manera NO Retentiva, este desactivara el primer paso. 98 A grandes rasgos el método dicta lo siguiente Hacer memoria Preparar el siguiente paso Hacer el movimiento Para verificar el funcionamiento de este método se propone un ejercicio. De la siguiente ecuación de movimiento realizar un programa utilizando el método secuencial A+B+B-C+C-A- 99 100 CAPÍTULO 8 FUNCIONES AVANZADAS DE UN P.L.C 8.1 MULTITAREA Multitarea es el término utilizado para una ejecución “Simultánea” de un número de tareas distintas. La multitarea le permite organizar el proyecto en secciones de programas utilizando Técnicas de Programación Modular. El programa del PLC puede estar compuesto por varias partes, cada una de las cuales es, de hecho, un programa. Estos programas tienen varias funciones. La ventaja de este método de trabajo es que se incluyen estructuras más claras de programa y además, los tiempos de ciclo son más cortos. Con la multitarea es fácil programar diferentes modos de operación y además es posible llamarlos en cualquier momento y ejecutarlos de manera paralela con el programa principal. 8.1.1 Términos asociados con la Multitarea Con la multitarea, podemos utilizar varios programas en el proyecto. Estos programas se ejecutarán en paralelo con el programa principal cuando sean llamados. Éstos se numeran como: P1, P2, etc. Además de los programas, también se utilizan los módulos. Generalmente utilizados como subrutinas. Existen dos tipos de módulos: • CFM – Llamada a Módulo de Función (Call Function Module) • CMP – Llamada a Módulo de Programa (Call Module Program) 101 Fig. 8.1 Estructura de la multitarea 8.1.2 CFM – Llamada a Módulo de Función (Call Function Module) La instrucción de Llamada al Módulo de Función se utiliza para solicitar la ejecución de una rutina externa. Los módulos de función se pueden considerar como llamadas a funciones especiales. Cuando se invoca un CFM, la función se activará y se ejecutará junto con el programa principal, el cual seguirá ejecutándose. La función se ejecuta en paralelo. Estos CFM están disponibles desde el programa, y para tener una mejor referencia abra el archivo de Ayuda para obtener información del método de llamada del CFM. Para insertar un módulo: De un clic derecho en CFM en el árbol del proyecto (“Project Tree”) De un clic en “Import” Aparecerá una ventana de diálogo con los módulos predefinidos. 102 Elija el módulo que desee emplear. De un clic en “OK” El módulo elegido estará en el proyecto. 8.1.3 CMP – Llamada a un Módulo de Programa (Call Module Program) La instrucción de llamada a un Módulo de Programa se utiliza para solicitar la ejecución de una rutina externa. Los módulos de programa pueden considerarse como subrutinas. Cuando se invoca a un CMP, el programa principal se detiene y permanecerá en el paso en que fue invocado el CMP y la subrutina se activará. Sólo cuando la subrutina se haya completado, regresará el control al programa principal en el punto en el que se quedó. Llamada de módulos Para llamar a los módulos, solo añada al paso las instrucciones “THEN CFM x” o “THEN CMP x” donde “x” es el número del módulo. 103 8.2 DESARROLLO Cree un programa para encendido intermitente (“Blinking”). Éste puede ser un CFM o un CMP. STEP start IF THEN SET SET STEP blink IF THEN CFM 0 LOAD TO STEP 1 IF THEN SET OTHRW RESET JMP TO 1 start P1 lampara ‘boton de inicio ‘carga los parametros NOP ‘BLINK FU32 FW10 F10.0 lampara lampara ‘0.25s transcuridos Puede utilizar la palabra de banderas 10 (FW10). Donde se almacenaran los bits del módulo “blink”. Y se ocupara “F10.0” en la cual se encuentra el bit que ocupamos según la tabla siguiente. Creamos el programa principal 104 habilitamos el módulo de funciones que necesitemos, en este caso el modulo “blink”. Para lograr esto, nos colocamos en el árbol de proyectos y nos ubicamos en “CFM”, damos clik derecho Y SELECCIONAMOS “Import” Seleccionamos el modulo “BLINK” 105 Ahora creamos nuestro programa auxiliar Seleccionamos “New Program” Y seleccionamos la forma de programar de nuestro programa auxiliar. Y realizamos nuestro programa. 106 Para carga el programa principal los programas auxiliares y el módulo de funciones, tenemos que selecciónalos con una paloma como se muestra. Y así es como tenemos un programa haciendo uso de módulo de funciones y programas auxiliares “Multitareas” 107 8.3 VISUALIZACIÓN DE DATOS EN EXCEL 8.3.1 INTERCAMBIO DINÁMICO DE DATOS DDE -DDE (Dynamic Data Exchange) (Intercambio Dinámico de Datos): Es un protocolo de intercambio de información desarrollado por Microsoft. El protocolo DDE es un conjunto de mensajes e instrucciones. Se ocupa de enviar mensajes entre distintas aplicaciones que comparten memoria. En el caso de los automatismos tendríamos un PLC conectado a una red, Ethernet, Serie, etc. En un PC tendremos instalado un servidor DDE, que se encargará de establecer comunicación con nuestra red industrial (Ethernet, serie,etc.), mediante diversos protocolos (can, Modbus, Ina2000, profibus, etc.). El servidor solicita información a 3 niveles (Lista de dispositivos, Lista de estaciones, Lista de variables). Imaginemos que tenemos 4 máquinas, cada una de las máquinas está compuesta por 3 PLCs y en cada PLC hay 3 variables que queremos compartir con un cliente DDE (por ejemplo una hoja de cálculo de Excel). Tendremos en total 36 etiquetas que queremos plasmar en nuestra hoja de cálculo. Una vez que tenemos todas estas variables etiquetadas en nuestro servidor DDE, el cliente DDE sólo tendrá que llamar a cada una de las etiquetas. Como particularidad podremos destacar el servidor fast DDE que B&R ha desarrollado para permitir el intercambio de datos de un modo sencillo con Intouch de Wonderware. 8.3.2 OLE (Object Linking and Embedding) -OLE (Object Linking and Embedding): Antes de hablar de OPC, haremos una pequeña parada para aclarar que es un Objeto OLE. El Objeto OLE de algún modo actualiza la tecnología DDE. Un objeto OLE permite vincular o incrustar una aplicación dentro de otra, de modo que el intercambio de datos entre ambas aplicaciones es inmediata. Por ejemplo podríamos incrustar una hoja de cálculo dentro de un informe en 108xce, de este modo podemos tener un gráfico incrustado en nuestro informe creado en 108xce. Por lo tanto cuando cambiamos los datos, el gráfico cambia automáticamente, no es necesario copiarle nuevamente y pegarle como una imagen estática dentro de nuestro documento. De este modo se simplifica el trabajo y no es necesario estar abriendo y cerrando aplicaciones constantemente, evitando así mismo errores en el proceso. 108 8.3.3 OPC (Ole for Process Control) -OPC (Ole for Process Control): La revolución industrial que estamos viviendo en los últimos años hizo necesario establecer una herramienta abierta, que permitiese una mayor flexibilidad y efectividad al intercambio de información. De este modo en 1995 un grupo de fabricantes junto con Microsoft plantearon la posibilidad de crear una especificación abierta que estandarizara la comunicación para la adquisición de datos, de alarmas y eventos, de datos históricos y de paquetes. De este modo surge un estándar basado en tecnología OLE/COM, comunicación tipo servidor-cliente, que permite ligar de una forma abierta el hardware de diversos fabricantes sin necesidad de crear un driver específico para cada equipo. Al igual que ocurría en el protocolo DDE, en este caso también tenemos que enrutar la información que queremos compartir en niveles a modo de 109xcel, al estilo del explorador de 109xcel109s. Así, tendremos que declarar una etiqueta, que corresponderá a una variable contenida en un dispositivo concreto (Dispositivo, Estación, variable). El estándar OPC permite agrupar nuestras etiquetas en distintos grupos. De este modo en nuestro servidor OPC tendremos grupos, subgrupos y elementos “109xcel”. Cualquier cliente OPC podrá acceder a los 109xcel contenidos en el servidor OPC. Al ser OPC una especificación abierta, encontramos multitud de fabricantes de software que disponen de muchas herramientas OPC ya programadas para las necesidades que surgen en el día a día de la gestión de la información de planta. Por ejemplo servidores OPC multifabricante, clientes OPC para documentos 109xcel, para vincular los datos del servidor OPC con bases de datos ODBC, etc. 8.3.4 VENTAJAS DE OPC FRENTE A DDE OPC es más rápido: Al ser DDE basado en texto y OPC un objeto OLE y por lo tanto binario es un modo de intercambio de datos más rápido. La especificación OPC es más rigida y por lo tanto tiene una mejor interoperabilidad independientemente de quien desarrolla las herramientas. OPC soporta múltiples clientes. OPC es un objeto OLE por lo tanto está más actualizado que el arcaico protocolo DDE de Microsoft. OPC está desarrollado por Microsoft, pero en conjunto con un grupo de fabricantes de equipos y software para la automatización, por lo tanto está mejor concebido para aplicaciones de control de procesos y planta y todos los avances en este campo vendrá de la mano de estos fabricantes, por lo tanto siempre mantendrá su carácter abierto. En las próximas entradas seguiremos la misma línea del blog, pero vamos a adentrarnos en unos equipos peculiares a la vez que tecnológicamente ultra avanzados. Hablamos de B&R, tan envidiado como desconocido. 109 8.4 DESARROLLO Se realizara un programa, el cual va utilizar un registro que nos ayudara a llevar el conteo de los eventos a visualizar en Excel. El programa es el siguiente: STEP 0 IF THEN NOP LOAD V0 TO R0 ‘REGISTRO STEP 1 IF THEN NOP SET T1 LOAD V200 TO ‘tiempo 1 TP1 STEP 2 IF THEN N SET T1 ‘tiempo 1 O0.0 ‘salida 1 STEP 3 IF THEN NOP SET T1 ‘tiempo 1 T1 ‘tiempo 1 O0.0 ‘salida 1 STEP 4 IF THEN N RESET 110 INC R0 ‘REGISTRO JMP TO 1 Una vez cargado el programa en el PLC y verificando el correcto funcionamiento Ejecutamos el programa IPC DATA SERVER Así luce la ventana del programa Seleccionamos Config y aquí seleccionamos la comunicación, si va a ser vía Ethernet o vía serial. En nuestro caso es comunicación serial RS-232 111 Una vez seleccionado el protocolo de comunicación nos aparece la siguiente ventana Seleccionamos Config y aquí seleccionaremos el puerto COM en el cual esta nuestro PLC. 112 Debe aparecer la leyenda FESTO IPC V2.22. esto nos indica que la comunicación se ha establecido. Y se debe poner en “1” la leyenda demarcada con el ovalo verde Una vez establecida la comunicación abrimos una hoja de cálculo de Excel. Ya estando en Excel nos posicionamos en cualquier celda de la hoja de cálculo. En ella vamos a colocar la siguiente formula =FPC_DATA|FPC_1!’R0’. Si es el caso de que la comunicación sea vía Ethernet entonces se coloca =IPC_DATA|IPC_1!’R0’ La fórmula indica lo siguiente; que se ejecutara el programa IPC DATA SERVER, que se transmitirán datos de la posición FPC_1, y que la información transmitida va a ser la del registro cero “R0” En la siguiente tabla se muestra que tipo de variable es la que queremos escanear ya sea un registro, bandera, temporizador etc. 113 Así se visualizan los datos en Excel. Se subraya en rojo la formula mencionada, En la casilla C2 de Excel se puede ver que se lleva el conteo del registro cero. En la casilla C3 se puede visualizar cuando se activa la salida cero. La fórmula es la siguiente; =FPC_DATA|FPC_1!A0.0 114 8.5 MODIFICACIÓN DE DATOS DE UN P.L.C. DESDE EXCEL Ahora procedamos a cambiar datos desde la hoja de cálculos Excel Antes de proseguir tenemos que tener en cuenta que vamos a usar la herramienta de Visual Basic, y para esto tenemos que tener activado el menú de PROGRAMADOR. Otra opción sería oprimir las teclas Alt +F11 y de esta forma se ejecutaría Visual Basic Si es el caso de no tener el menú de PROGRAMADOR activo se hace lo siguiente Para acceder a esta función seleccionamos Archivo, Opciones 115 Ya estando en las opciones de Excel, seleccionamos “Personalizar cinta de opciones” y aquí habilitamos la opción de “Programador” Creamos un botón para así poder mandar datos desde una casilla de Excel. 116 Una vez que ya tenemos el botón en la hoja de calculo damos clic fuera del botón hasta que este quede deseleccionado, posicionamos el puntero en el botón y damos click derecho sobre el botón Seleccionamos “PROPIEDADES”. En este menú podemos configurar el menú según nuestro gusto. Aquí solo cambiaremos el nombre a nuestro botón “DDE-PLC” 117 Ahora abrimos la herramienta Visual Basic y escribimos los siguientes comandos Private Sub CommandButton1_Click() Channel = Application.DDEInitiate(“Fpc_data”, “Fpc_1”) Application.DDEPoke Channel, “A0.1”, Sheets(“HOJA1”).Range(“E5”) Application.DDETerminate Channel End Sub 118 Se entra en el modo diseñador. Una vez que esta echo nuestro programa, salimos de modo programado y depuramos el programa En uno de los óvalos se puede observar la herramienta diseñador y también la opción “DEPURAR”. Se sale del modo programador y se selecciona depurar y luego compilar Ya que tenemos compilado nuestro programa y no se generó ningún error procedemos a ejecutar el programa. El programa indica lo siguiente; se abrirá comunicación con el programa “IPC DATA SERVER” se enviaran datos por “FPC_1”, en el PLC se prendera la salida “AO.1” (O0.1), los datos que se transmitan deben estar contenidos en la celda “E5” de la “HOJA1” 119 Cuando la celda tenga el valor de “1” y se envié este dato, la salida uno del PLC se prendera. Cuando la celda contenga el valor de “0” y sea enviado este dato, la salida uno se apagara. 120 CAPÍTULO 9 9.1 CONCLUSIONES Como resultado de este trabajo se determinó que cualquier persona interesada en el tema de automatización con controladores lógicos programables (P.L.C.) puede adquirir conocimiento en este tema de una forma introductoria, pero también puede llevar acabo funciones avanzadas de un P.L.C. ya que se dan bases sólidas para que pueda ejercer estas funciones. De esta manera se busca que los estudiantes de ingeniería interesados en este tema, encuentren en este curso una forma muy útil y práctica de conocer todos los alcances que puede tener un P.L.C. y así tener herramientas para el mundo laboral. 121 9.2 BIBLIOGRAFIA Libros Manuel Álvarez pulido Controladores lógicos MarcomboBoixareu Editores Robert L. Boylestad Análisis introductorio de circuitos Trillas Benjamin C. Kuo Sistemas de control digital CECSA Chi Tsong Chen Analog & Digital Control System Design CHEN John J. Craig Robótica Prentice Hall Ramón Piedrafita Moreno Ingeniería de la automatización industrial Alfa-Omega Salvador Millán Automatización neumática y electroneumática Norgren Juan Pedro Romera Ramírez Automatización - Problemas Resueltos con Autómatas Programables Paraninfo Juan Pérez Cruz Automatización de maniobras industriales Alfa-Omega Katsuiko Ogata Ingeniería de control moderna Prentice Hall 122 MANUALES Controles lógicos programables nivel básico TP-301/2000 FESTO CURSOS Automatización y control eléctrico I: programación básica de PLC´s Impartido en el periodo 2011-II Con una duración de 20 horas Centro de Cómputo de la Facultad de Estudios Superiores Cuautitlán Automatización y control eléctrico II: Dispositivos de potencia Impartido en el periodo 2012-I Con una duración de 20 horas Centro de cómputo de la facultad de estudios superior DIPLOMADO SISTEMAS MECATRÓNICOS: *Programación de funciones avanzadas de un PLC para la automatización de procesos industriales *Sistemas modulares de producción *Sistemas de servo posicionamiento industrial *Programación y aplicación de robots industriales Tlalnepantla, Estado de México Con una duración de 96 horas reg. S.T. y P.S.: 710301001013 FESTO DIDACTIC 123
© Copyright 2024