Ladder SFC
Texto Estructurado
Profesor: Ing. Edwin Muñoz
Introducción El diagrama de contactos, o más comúnmente llamado diagrama de escalera es un método de representación gráfica que puede ser introducido en el equipo de programación del autómata programable gracias a un editor de símbolos gráficos. Dicho editor normalmente no incluye restricciones en cuanto al número de contactos, variables de entrada o números de salida que se puede representar en cada línea del esquema de contactos, la posición y la conexión de los mismos. Su simbología está recogida en las normas NEMA/DIN 19239. En este documento, presentaremos de manera resumida, cómo se construye y se programa el diagrama de escalera. Se iniciará describiendo brevemente los componentes con su respectiva descripción, adicional se presentarán ejemplos, que explicarán de manera detallada su construcción en el programa RSLOGIX 5000. Y de esta manera, se pueda visualizar las aplicaciones de este tipo de programación.
PROGRAMACIÓN EN DIAGRAMA ESCALERA ¿Qué es la programación en diagrama escalera? La programación en diagrama de escalera, consiste en colocar varias líneas, que poseen listas de instrucciones booleanas que usan generalmente un conjunto de mnemónicos, similares a los utilizados como representación de instrucciones en lenguaje ensamblador (assembler), este código mnemónico provee exactamente la misma información que que el diagrama de contactos, pero de una forma que puede ser introducida directamente al PLC. Si tenemos un diagrama de contactos que quiere ser introducido en un determinado autómata programable, éste debe ser convertido o traducido a una serie o lista de instrucciones que sean inteligibles por dicho PLC. Es decir, contienen las instrucciones que ejecutan una acción y se manifiestan a través de un símbolo en el lenguaje de programación. Cada línea con su conjunto de instrucciones representa un peldaño de la programación total, que se expresará como el conjunto de escalones que posee la información que el programador desea ejecutar, construyendo así, una escalera. ¿Cómo empiezo la programación del diagrama escalera?
Instrucción Le permite al programador organizar y colocar las instrucciones que desea por cada escalón. Dichas instrucciones se pueden clasificar en 2 tipos: Instrucción de entrada: Son las encargadas de comprobar, comparar, o verificar una condición específica, ya sea en la ejecución de un proceso o en el funcionamiento de una máquina. Su simbología estará definida por la instrucción que se desee ejecutar en la entrada. Instrucción de salida: Son aquellas instrucciones que ejecutan una acción, como por ejemplo, encender un dispositivo, apagar un dispositivo, calcular un valor, o cualquier otro tipo de acción. Se presentan mediante círculos o como semicircunferencias contrapuestas; una salida negada se presenta con un círculo tachado mediante una línea diagonal sobre este. Las salidas pueden ser o salidas físicas del autómata (correspondiente a terminales físicos del mismo) o a variables de usuario. A continuación, se muestra en la imagen, las instrucciones de entrada y salida.
Bifurcación (Branch) Una bifurcación, se presenta como dos o más instrucciones (subdivisiones o ramales) en paralelo. En la imagen que se presentará, se puede visualizar los ramales.
Posee características tales como: No existe un límite de bifurcaciones en paralelo que se puedan introducir al diagrama. Por ejemplo, puedes colocar hasta 5 subdivisiones en una rama principal. Formando así niveles que se ejecutan en función a la ramificación superior. En la ilustración se muestran subdivisiones de hasta 3 ramas.
Cada escalón puede ser complejo. No necesariamente, las subdivisiones de las ramas, se realizan de manera simétrica ni con el mismo contenido por cada rama. La subdivisión empieza cuando la rama anterior lo requiera, según la programación. Por ello, muchas veces la pantalla de programación adquiere un tamaño considerable. Sin embargo, esta clasificación favorece la visualización del programa ya que, es más fácil dividir la lógica ló gica en varios peldaños.
Condición del renglón (Rung Condition) El controlador evalúa las instrucciones de lógica de escalera, basándose en la condición del renglón, que le precede a la instrucción (el símbolo que aparece en el diagrama). Es decir, posee dos condiciones, la primera (rung condition in) que establece un estado a la entrada, es la que lee la instrucción y la segunda, (rung condition out) que establece un estado a la salida de la instrucción que es la que se ejecutará.
Solo las instrucciones de entrada afectarán la condición en la salida, es decir se ejecuta o no la acción, será cierto o falso. Si la condición de entrada del renglón de una instrucción de entrada (rung condition in) es cierta, el controlador evalúa la instrucción y establece la condición de salida del renglón (rung condition out) para que coincida con los resultados obtenidos de la evaluación. Si la instrucción se evalúa como verdadera entonces la condición de salida es verdadero. Por el contrario, si la instrucción se evalúa como falsa, entonces la condición de salida es falso. Cabe destacar, que una instrucción de salida no afecta a la condición de salida del renglón. Estas son las tres partes fundamentales que conforman el diagrama de escalera. Instrucción (Instruction), Bifurcación (Branch) y Condición de renglón (Rung conditions). Existe una variedad de instrucciones que hacen que cada programa sea distinto, sin embargo, esa es la única diferencia. Cualquier proyecto que sea creado, debe contener: variables de entradas, variables de salida, instrucciones a ejecutar, ya sea en una sola rama principal o en ramas subdivididas. ¿Cómo escribo la lógica de un diagrama escalera? A la hora de escribir un programa, existen diferentes pasos involucrados. Una secuencia lógica que se sugiere puede ser la siguiente: 1. Analice, escriba, realice un esquema con las variables y las condiciones que presenta el problema que se va a tratar. Si el usuario desea, lo puede programar. A continuación, detallaremos brevemente, cómo crear un proyecto con lógica de diagrama de escalera en el programa RSLogix5000:
Creación del proyecto de un controlador nuevo: Buscamos el programa RSLogix 5000 y lo ejecutamos, aparecerá entonces una pantalla como la que se muestra a continuación:
Donde se puede observar la ventana de Start Page, que despliega los archivos que se hayan abierto anteriormente con el programa. En caso que se desee crear un nuevo proyecto, el usuario puede dar clic a la pestaña de Start Page y la misma se ocultará. Continuando, Nos dirigimos a archivo (File), seleccionamos nuevo (New). Se abre la ventana del nuevo controlador. En la imagen que se muestra, se observa dónde buscar, para crear el nuevo proyecto. Una vez, lo seleccionamos aparecerá una pantalla que le exigirá al usuario completarla para continuar.
Dicha ventana, abrirá un interfaz donde se le solicitará al usuario la siguiente información:
Elegir el controlador, con el cual se estará trabajando, en la imagen se muestra como ejemplo, el controlador 1769L23QBFC1
Se elige la versión con el cual se desea programar. Por ejemplo, la versión 19 que es la seleccionada en la imagen.
Se le coloca un nombre al proyecto sobre el cual se está trabajando y si se desea, se puede agregar una descripción del mismo
Cuando ya se ha realizado las configuraciones principales del proyecto, se procede a dibujar el diagrama de escalera. Para ellos nos dirigimos a Controller Organizer, expandimos la carpeta de Task al darle clic “+”, el cual se expande, le damos clic en Main Program y luego doble clic a Main Routine.
TASK •Clic sobre "+"
MAIN PROGRAM •Clic sobre main program
MAIN ROUTINE •Doble clic sobre main routine
Cuando ya se ha configurado, todo lo demás expuesto, la interfaz del programa se debe ver de la siguiente manera:
En este punto, se tiene listo el proyecto para crear la nueva rutina que contendrá un renglón preparado para las entradas, las salidas y las condiciones (instrucciones) que se ejecutarán para lograr el funcionamiento del programa. La nueva rutina que se va a crear contiene un renglón preparado para recibir las instrucciones.
2. Separe las condiciones que hay que comprobar, de la acción que hay que implementar o ejecutar. Así mismo, se coloca al menos una instrucción de salida a la derecha de las instrucciones de entrada. Es posible introducir más de una instrucción por renglón de lógica. Ejemplo, Después de clasificar las condiciones, se establece una estructura que cumple con los parámetros de entrada y salida que se desea, tal como lo muestra el siguiente esquema:
PARA VERIFICAR LAS CONDICIONES DE ¿Cómo disponer las instrucciones de ENTRADAS MÚLTIPLES, entrada? Se deben cumplir todas las condiciones para implementar la acción. Por ejemplo: Si, Sensor de seguridad AND Sensor de portón cerrado AND Memoria de abrir AND… Se deba cumplir cualquiera, para implementar la acción. Por ejemplo: Si, Pulsador de abrir OR Memoria de abrir OR…
Existe una combinación de lo anterior Por ejemplo: Si, Pulsador de Stop AND Pulsador de cerrar. O bien, Si, Pulsador de Stop AND Memoria de cerrar
Aunado a las entradas (instrucciones) y las salidas que se van creando, es necesario especificar el “tag” , el cual se puede definir como la etiqueta que se tiene que colocar sobre cada instrucción que conforma el proyecto. De esta manera especifico un nombre fijo, lo que facilita el rápido acceso en cualquier momento, además que se puede visualizar cuál es la instrucción de un comando en específico, ya que la etiqueta lo despliega en la pantalla del software. Los nombres de los tags se presentan en diferentes formatos, y con distintos nombres, en el cuadro que desplegaremos a continuación se amplía brevemente dichos formatos: Para
Especifique
Tag Número de bit para un tipo de datos mayor Miembro de estructura Elemento de una matriz de una dimensión Elemento de una matriz en dos dimensiones Elemento de una matriz en tres dimensiones Elemento de una matriz dentro de una estructura
tag_name tag_name.bit_number tag_name.member_name tag_name [x] tag_name [x,y] tag_name [x,y,z] tag_name.member_name [x]
Miembro de un elemento de una matriz
tag_name [x,y,z].member_name
Donde:
X es la ubicación del elemento en la primera dimensión. Y es la ubicación del elemento en la segunda dimensión. Z es la ubicación del elemento en la tercera dimensión.
3. Elija la instrucción de entrada adecuada para cada condición y la instrucción de salida adecuada para cada acción. 4. Empiece a dibujar el esquema de izquierda a derecha y de arriba hacia abajo. El controlador ejecuta todas las instrucciones en un renglón independientemente de la condición de entrada del renglón. Se sugiere colocar a la izquierda las instrucciones con más posibilidades de ser falsas y a la derecha las que tengan menos posibilidades de serlo.
Cada una de las secuencias que se construirán se comienzan a la izquierda del diagrama y finalizan a la derecha del mismo, a esto se le denomina redes (networks en inglés). Las combinaciones lógicas de las condiciones determinan cuándo y cómo las instrucciones de la derecha serán ejecutadas.
Utilice la barra de herramientas de elementos del lenguaje para añadir un diagrama de lógica escalera. La barra de herramientas posee diferentes instrucciones. En donde por cada instrucción se despliegan más herramientas. Ejemplo, en la imagen que se muestra a continuación, se visualiza cuáles son las herramientas disponibles para la pestaña correspondiente a “Favorites”, así mismo cada una de las pestañas que están en la barra de herramientas se encuentra organizadas y despliegan instrucciones específicas.
Barra de Herramientas Ampliadas
Favorites
Add-On
Alarms
Bit
Timer/counter
Input/output
Compare
Compute/Math
Move/Logical
File/Misc
File/Shift
Sequencer
Equipment Phase
Program Control
For/ Break
Special
Trig Functions
Advanced Math
Math Conversions
Motion State
Motion Move
Motion group
Motion Event
Motion Config.
Motion Coordinated
ASCII Serial Port
ASCII String
ASCII Conversion
Cuando ya se ha decidido el tipo de instrucciones que se van a utilizar, y se conoce la ubicación de las mismas en la barra de herramientas, se proceden a desplegar sobre el renglón correspondiente. En el caso de no tener ninguna instrucción en el renglón, se empieza colocando primeramente las entradas y las salidas como una primera acción.
5. Ahora arrastre la instrucción que desea de la barra de herramientas y colóquela sobre el renglón que está trabajando, inmediatamente sobre el renglón aparecerá un punto en color verde, indicando la posición donde se colocará la instrucción, es decir, el punto de colocación. Recuerde darle clic sobre la instrucción y mantener presionado el botón (arrastrándolo) hacia la rama principal. Ahora, se organiza a través de imágenes la visualización de los comandos correspondientes a la pestaña Favorites, de la barra de herramientas del software RSLogix5000.
Barra de herramientas. Sección FAVORITES Arrastrando la instrucción “Rung” .Se observa que antes de soltar la función en el punto verde, se ve el símbolo de la instrucción como si fuese una marca de agua.
Barra de herramientas. Sección FAVORITES
Arrastrando la instrucción de entrada, “ examine on”
Barra de herramientas. Sección FAVORITES
Arrastrando la instrucción de entrada, “ branch”
Barra de herramientas. Sección FAVORITES
Arrastrando la instrucción de entrada, “output energize”
6. Después de haber asignado las instrucciones que se utilizarán, se procede a crear las etiquetas o “tags”, ¿Cómo creo o asigno un nuevo tag? Existen una serie de pasos sencillos que son útiles para asignarlos, tales como: I. Haga clic derecho en el área del operador (?) de la instrucción II.
Se abrirá una ventana, que desplegará diferentes opciones, elegir “ Nuevo tag”
III.
Se desplegará una serie de opciones, la cual se le solicitará al usuario que llene las diferentes casillas. Se empieza asignándole un nombre al tag con su respectiva descripción, seguido del tipo de etiqueta y el tipo de datos para el tag.
Tal como lo muestra la imagen superior, existen diferentes tipos de etiquetas, las cuales podemos clasificar de la siguiente manera:
Base
Maneja la memoria del controlador. Es una memoria pura.
Asigna entradas y salidas Alias Permite asociar, por ejemplo, la memoria decl controlador 1 con la memoria del controlador 2.
Tipos de etiquetas
Produced
Se utiliza si el controlador por ejemplo tiene que enviar un dato a otro controlador.
Consumed
Se utiliza si el controlador tiene que recibir el dato que fue enviado por otro controlador.
Dependiendo de lo que se desee hacer con el controlador, se asigna el tipo de etiqueta indicado a la necesidad. Sugerencia: En caso de seleccionar como Tipo de Tag “Alias”, es necesario realizar unas configuraciones adicionales. Tales como:
Hacer clic, en Alias donde se le indica el tipo de Tag
Se habilitará la siguiente casilla, llamada Alias for
Hacer clic en Alias for, en ese instante aparecerá la pantalla que se muestra a continuación:
En la siguiente sección, se asigna el tipo de data correspondiente a cada tag, dependiendo si la variable a la cual se le está etiquetando es una entrada o una salida, la dirección del alias for cambiará. Sugerencia: Para el formato del tag, existen tipos de datos clásicos, o muy típicos que son utilizados para operaciones sencillas, como: Para las instrucciones “bit” en la barra de herramientas, el tipo de data es BOOL, BOLEANO. Para los contadores, el tipo de data es COUNTER Para un dispositivo analógico muestreando un parámetro, el tipo de data puede ser REAL o INT. Para caracteres ASCII el tipo de data es STRING.
Cuando ya se halla llenado todas las casillas presentes en la ventana, seleccione ok.
7. En caso de que sea necesario elegir un nombre o un tag existente, y se requiere editar o monitorear un tag, se puede realizar los siguientes pasos: i. Haga doble clic en la zona del operando “?”. Se abrirá un cuadro de entrada de texto ii. Haga clic en la flecha que está indicando hacia abajo sobre la instrucción (entrada o salida) y seleccione el nombre
Etiqueta, un nombre de rutina o tipo similar
Haga clic en el nombre
Tag
Haga doble clic en el nombre del tag
Para seleccionar
Un número de bit
iii.
Haga clic en el nombre del tag.
A la derecha del nombre del tag, haga clic en la flecha que esta indicando hacia abajo.
Haga clic en el bit requerido.
Posteriormente, pulse Enter o haga clic en cualquier otro lugar del diagrama.
8. Asumiendo, que este procedimiento (asignación de tags) se realizó a cada una de las instrucciones presentes en el diagrama, incluyendo las entradas y las salidas, se procede a realizar la verificación del proyecto. Esto lo lograremos, dándole clic a View, seleccionando Errors (Alt+1)
También se puede verificar el programa haciendo clic en el ícono Verify Controller de la barra principal de herramientas
Si aparecen errores en la parte inferior de la ventana
Pulse [F4] para ir al primer error o advertencia.
Luego, diríjase al “Verify Controller” y realice la misma operación, cuantas veces sea necesario, hasta que no les salga más errores
Corrija el error de acuerdo con la descripción de la ventana de resultados
EJEMPLO Nº1
PORTÓN ELÉCTRICO Planteamiento del problema: El acceso al recinto de una empresa está protegido mediante un portón corredizo, que sólo es abierto cuando algún vehículo desea entrar o salir del mismo. El portero se encarga de manejar el control del portón. Se requiere desarrollar una aplicación en lógica cableada mediante contactores y relevadores y también con PLC para control del mismo.
Requisitos impuestos al control del portón: 1. El portón se abre y cierra accionando pulsadores en la caseta del portero, S1 pulsador de abrir NO, S2 pulsador cerrar NO, K0 memoria de abrir, K3 memoria de cerrar. El portero puede supervisar el funcionamiento del portón y actuara en situaciones anormales. 2. Normalmente, el portón se abre o cierra por completo. Sin embargo, su desplazamiento puede interrumpirse en cualquier momento por mando del portero, S0 pulsador de stop NC. 3. Un aviso luminoso H1 permanece iluminado 5 segundos antes del inicio y durante el movimiento del portón. K2 temporización a la conexión al abrir, K4 temporización a la conexión al cerrar. K5 contactor de abrir, K6 contactor de cerrar. 4. Mediante un dispositivo de seguridad, sensor de presión de seguridad S5 NC, se evita que al cerrarse el portón puedan resultar lesionadas personas o se aprisionen y deterioren objetos. Los sensores de portón cerrado S4 y portón abierto S3 también son NC.
Entradas: Sensores y Pulsadores
Salidas: Memorias y Temporizadores
S0
Pulsador de STOP N.C.
K 0
Memoria de abrir
S1
Pulsador de Abrir N.O.
K 2
Timer de conexión al abrir
S2
Pulsar de cerrar N.O.
K 3
Memoria de cerrar
S3
Sensor de portón abierto N.C.
K 4
Timer de conexión al cerrar
S4
Sensor de portón cerrado N.C.
K 5
Contactor de abrir
S5
Sensor de seguridad N.C.
K 6
Contactor de cerrar
DIAGRAMA EN LÓGICA CABLEADA
PROGRAMACIÓN EN RSLOGIC 5000
1. Ejecutar el software RSLogic5000. Esperar que salga su pantalla de inicio, tal como se muestra a continuación:
2. Minimizar la ventana de “Quick Start” haciendo clic en el botón “Start Page” en el margen izquierdo
Start Pa e
3. Hacer un nuevo Archivo. Para esto, hacer clic al botón “File” de la barra de menú, en el margen superior.
4. Se desplegará una ventana, la cual debe ser llenada con los datos correspondientes de la aplicación a programar y del controlador a emplear.
En este caso el controlador seleccionado entre la lista proporcionada es: 1769L23QBFC1. Además, el número de la revisión es 19, puesto que los equipos con los que se trabajan en el laboratorio usan esta revisión.
5. Nombrar el proyecto y agregar una breve descripción del mismo. Dar clic en “OK” y el proyecto se habrá
guardado en la ubicación seleccionada.
6. Para obtener la pantalla donde se va a programar, ir a la ventana “Controller Organizer” ubicada en el margen izquierdo, expandir la carpeta “Tasks”, luego expandir la carpeta “Main Program” y hacer doble clic en “Main Routine”.
7. Se debe visualizar la siguiente pantalla con un renglón listo para comenzar a programar.
8. Basado en el diagrama de lógica cableada, se programa el primer renglón de la aplicación. La primera instrucción a colocar es la correspondiente a OL. Debido a que la salida de este renglón es K0, la protección de sobrecarga no debe estar accionada, siendo así, la instrucción adecuada es “Examine Off” la cual es un elemento del grupo “Bit”.
9. Arrastrar la instrucción hasta el primer renglón (#0), cuando se aprecie un punto verde sobre el mismo, entonces soltar. Se debe notar un nuevo elemento tal como el de la siguiente imagen.
10. Etiquetar la instrucción previamente colocada. Para esto, hacer clic derecho sobre el signo de interrogación de la instrucción y luego seleccionar “New Tag”.
11. La siguiente imagen muestra la imagen de la ventana desplegada por “New Tag”, mediante la cual se nombrará la instrucción añadida y una descripción de la misma. Además, se establecerá el tipo de etiqueta y dato correspondiente.
La variable OL, en este caso, es una entrada que puede tener como valor 1 ó 0. De esta manera el tipo de etiqueta correspondiente debe ser “Alias” y el tipo de dato “BOOL”.
12. Asignar la ubicación de la entrada OL en el módulo. Para esto, desplegamos la barra “Alias For” para encontrar las distintas localizaciones disponibles.
13. Especificar la localización del bit de dato. Desplegar “Local:1:I” y posteriormente “Local:1:I.Data”
En este caso el bit seleccionado es el 10. Así se completa la localización de la entrada, siendo esta: Local1:I.Data.10
14. Ahora la instrucción debe tener una apariencia tal como se muestra a continuación.
15. De igual manera que para la instrucción OL, se agrega y etiqueta la variable S0. El pulsador de STOP también debe estar sin accionar para que haya continuidad lógica y la salida sea 1. Por esto, S0 debe ser una instrucción “Examine Off”.
16. De acuerdo al diagrama de lógica cableada, la siguiente instrucción corresponde a S1. El pulsador de abrir debe estar accionado para que el movimiento del portón se lleve a cabo. Por ello, la instrucción adecuada para S1 es “Examine On”, si está accionado, entonces habrá continuidad lógica.
Al igual que OL y S0 se etiqueta S1, también se le atribuye una ubicación en el módulo 1 de entrada.
17. Una vez lista la variable S1, se le debe sumar K0. Para esto nos colocamos sobre S1 y empleamos el elemento “Branch”.
Luego de hacer clic en “Branch”, nos debe aparecer algo así:
Posteriormente, arrastrar la barra azul ubicada en la derecha, hacia la izquierda luego de S1 y soltar.
Debe terminar luciendo de tal manera:
18. Colocar una instrucción “Examine On” sobre el Branch agregado en el paso anterior. Esta instrucción servirá para memorizar K0. Por el momento, solamente colocar la instrucción, sin etiquetar.
19. Agregar S3 de igual forma que OL y S0. 20. Insertar K3. La memoria de cerrar no puede estar activa mientras se desea abrir el portón, por lo que la instrucción adecuada debe ser “Examine Off”. La diferencia al momento de etiquetar esta instrucción es que se le debe asignar una salida, en lugar de una entrada.
En este caso se observa que se emplea el bit de datos 4 del módulo de salida local 2, es decir: Local:2:O.Data.4
21. Agregar la salida K0. Para esto arrastramos el elemento “Output Energizer” hasta el final del primer renglón.
Al momento de etiquetar, se le asigna una ubicación en el módulo de salida.
22. Arrastrar la etiqueta K0 hasta la instrucción colocada previamente en el branch añadido.
23. De esta manera se ha terminado de programar el primer renglón de la aplicación. El mismo debe lucir así:
24. Para programar el segundo renglón, primero debe ser insertado. Colocarse sobre el número cero correspondiente al primer renglón, luego seleccionar el elemento “Rung” que está dentro de la agrupación “Bit”
Automáticamente el segundo renglón aparecerá:
25. Se programa el segundo renglón siguiendo la misma lógica que para el primero. Antes de insertar una instrucción debemos preguntarnos ¿Necesito que esta variable esté accionada o no, para que se cumpla la salida? Si la respuesta es “Sí necesito que esté accionada”, entonces la instrucción a emplear será “Examine On”; si por el contrario, la respuesta es “Necesito que esté sin accionar”, entonces la instrucción a usar será “Examine Off”. De esta manera el segundo renglón quedaría de la siguiente manera:
26. Agregamos un tercer renglón y una instrucción que servirá de contactor para K0. Dicha instrucción debe estar activa para que la salida correspondiente sea 1 lógico.
27. Arrastramos la etiqueta K0 desde el primer renglón y se la colocamos a la instrucción agregada al tercero.
28. Seguidamente, agregar el elemento K2. Este es un temporizador que luego de 5 segundos debe accionar la memoria de abrir, por lo que se emplea un “TON”, el cual pertenece a la agrupación “Timer/Counter”.
29. Etiquetar el Timer. Hacer clic derecho sobre el signo de interrogación al lado de Timer. Seleccionar “New Tag”. Para un temporizador, el tipo de etiqueta es Base y el tipo de dato es TIMER.
30. Ajustar el Preset y Accum. En este caso el temporizador debe contar hasta 5 segundos para ejecutar una acción, por lo que escribimos 5000 ms en el espacio a la derecha de Preset. El acumulado lo dejamos en 0 ms.
31. Se agrega un cuarto renglón, el cual se programa de igual forma al previo, solo que en este caso, empleando K3 Y K4.
32. Agregar el quinto renglón (#4). Implementar un contactor para K2. Como esta instrucción está vinculada al TON de K2, el tipo de etiqueta es “Alias”, pero es para uso interno del programa. Entonces, se debe desplegar “Alias for” y de ahí ampliar K2, luego seleccionar K2.DN
Debe serse así:
33. Seguidamente añadir la salida K5 y etiquetarla tal como se ha detallado anteriormente.
34. Programar el próximo renglón igual al anterior, pero empleando K6 y K4.DN
35. Agregar el renglón #6, para el cual la salida será H1 (letrero luminoso) a quien solamente le basta tener activa K0 o K3 para ser verdadera. Se usa el elemento “Branch” e instrucciones “Examine On” de la siguiente manera:
36. Arrastrar las etiquetas de K0 y K3 y colocar respectivamente.
37. Colocar la salida H1, etiquetarla y asignarle una ubicación de salida.
Aquí ha terminado la programación. 38. Finalmente se verifica si hay algún error. Clic al botón “Verify Controller”
Si no hay errores debe aparecer un mensaje así:
EJEMPLO Nº2
SEMÁFORO
3 2 1
Se desea programar una aplicación en RSLogic 5000, que simule el funcionamiento de un semáforo, con base a varios temporizadores. Se quiere poder poner el semáforo en servicio y sacarlo de servicio en cualquier momento. Inmediatamente con la puesta en servicio el semáforo debe iniciar su operación. La secuencia del encendido de las luces será: VERDE, AMARILLA y ROJA. Luego de tres ciclos de operación, el semáforo deberá salir de servicio automáticamente. Para esto se debe cumplir: a. La LUZ VERDE permanecerá encendida por 25 segundos b. La LUZ AMARILLA permanecerá encendida por 10 segundos c. La LUZ ROJA permanecerá encendida por 25 segundos Complementariamente, si se desea, se puede hacer que la LUZ AMARILLA parpadee mientras permanezca encendida.
PROGRAMACIÓN EN RSLOGIC 5000 1. Crear un nuevo archivo (File -> New). En este caso se le dio el nombre de “SEMÁFORO” y la revisión #19.
2. Situarse en el renglón #0 y agregar una instrucción “Examine ON”, con la cual se habilitará la puesta en servicio del semáforo.
Para etiquetar esta instrucción, clic der echo sobre el signo de interrogación y seleccionar “New Tag”
Nombrar y colocar bien el tipo de etiqueta y dato es lo más importante. En este caso, se trata de una entrada en el módulo, por lo que tipo de etiqueta es “Alias” y tiene una ubicación específica en el módulo 1 y bit de dato 0. Dato tipo booleano.
3. Para enclavar el servicio del semáforo, se coloca un “Output Latch”
No es necesario ver esta salida en el módulo, por lo que la misma se etiqueta como tipo “Base”, solo para uso interno del programa.
4. Se agrega el renglón #1, en el cual se colocará una instrucción, que corresponde a una entrada tipo pulsador en el bit de dato 1 del módulo 1. Esta funcionará para sacar de servicio el semáforo.
Tal como se muestra en la siguiente imagen, se coloca un “Output Unlatch” de tal forma que al presionar el botón de parada, el semáforo salga de servicio y desenclavemos su funcionamiento.
5. El renglón a continuación (#2) tiene tres posibles salidas: LUZ VERDE, LUZ AMARILLA o LUZ ROJA. La primera condición que debe cumplirse para que cualquiera de estas salidas se dé es que el semáforo esté en servicio. Para esto, se agrega una instrucción “Examine On”, que no es más que un con tactor que verifica si la puesta en servicio del semáforo está enclavada.
Para etiquetar esta instrucción se hace doble clic sobre el signo de interrogación, luego se despliegan las opciones disponibles. Entre estas, la que se necesita es “SEMAFORO_START”, por lo que se selecciona dando ENTER sobre la misma.
6. La segunda condición necesaria para que cualquiera de las tres salidas sea verdadera es que el COUNTER no haya registrado 3 ciclos de funcionamiento. Por el momento, este COUNTER no se ha programado, pero se puede colocar la instrucción requerida para esto y luego se le etiqueta. Puesto que se desea que el COUNTER este “OFF”, es decir que no haya llegado a la cuenta establecida, se usa una “Examine Off”.
7. Seguidamente se deben colocar los tres ramales correspondientes a cada salida. Para esto se agregan “Branchs”
Aquí ya se cuenta con los tres ramales necesarios
8. La primera rama es para el encendido de la luz verde. Para que esta luz se encienda hay tres posibles situaciones: Cuando el pulsador de “SEMAFORO_EN_SERVICIO” sea presionado Cuando el “TIMER_LUZ_VERDE” de inicio Cuando el “TIMER_LUZ_ROJA” llegue a su valor preestablecido Es por eso, que dentro del primer ramal también se lleva a cabo una triple bifurcación, cada una de ellas con sus respectivas instrucciones “Examine On”.
1ra , 2da y 3ra condición
Se puede etiquetar de inmediato una de las condiciones, debido a que ya se programó previamente el pulsador de inicio. Simplemente se arrastra la etiqueta previamente hecha hacia el signo de interrogación de la nueva.
La segunda condición, depende de un temporizador asociado al tiempo que permanece encendida la luz verde. Por esto, primero se coloca un “TON” justo al lado derecho de las tres bifurcaciones tal como se ve en la imagen inferior:
El temporizador se etiqueta y se le preestablece un tiempo de 25 segundos.
Ahora si se puede etiquetar la segunda condición de encendido de la luz verde. Se le nombra de forma tal que sea fácil de identificar en un momento dado y el tipo de etiqueta a elegir es “Alias”, específicamente, la extensión “.TT” del temporizador antes programado. Esta extensión es la que corresponde al inicio de funcionamiento del Timer.
La última condición depende del temporizador asociado a la Luz Roja el cual no se ha programado todavía. Al final se etiquetará está instrucción.
9. Para finalizar este renglón, se coloca y etiqueta la instrucción de salida para la LUZ VERDE.
10. Luego se procede a trabajar en el ramal de la LUZ AMARILLA. Para que esta luz se encienda hay dos posibles situaciones: Cuando el “TIMER_LUZ_VERDE” se activa, es decir, llega a su valor preestablecido. Cuando el temporizador asociado a la luz amarilla inicia su operación. Por eso se colocan dos bifurcaciones dentro de este ramal.
11. Se puede etiquetar la primera condición para que la luz amarilla encienda, ya que depende del temporizador de la luz verde. Específicamente se debe usar la extensión “.DN” (done bit). Así, cuando el “TIMER_LUZ_VERDE” complete los 25 segundos su contactor .DN estará “ON”.
12. Seguidamente, se agrega al ramal una instrucción “TON” que llevará el tiempo que la luz amarilla estará encendida. El valor preestablecido será 10 segundos.
Ya es posible etiquetar la segunda condición de encendido de la luz amarilla, es decir, cuando el Timer de Luz Amarilla inicia su operación (extensión .TT)
13. Agregar y etiquetar la salida correspondiente a la LUZ AMARILLA ya sea en paralelo o en serie al temporizador. Para esta versión de RSLogic, es posible hacer lo mencionado de último.
14. A continuación se procede a trabajar en el ramal de la LUZ ROJA. Las posibles opciones para que esta luz encienda son:
Cuando el “TIMER_LUZ_AMARILLA” llega a su final, es decir cuando se hace “ON” Cuando inicia la operación del “TIMER_LUZ_ROJA” Para esto se colocan dos bifurcaciones:
Se procede a etiquetar la primera opción que corresponde a la extensión “.DN” del “TIMER_LUZ_AMARILLA”.
15. Agregar el TON asociado al tiempo que permanece encendida la luz roja.
En este punto puede ser etiquetada la segunda instrucción para el encendido de la luz roja. Esto se hace con la extensión “.TT” del timer agregado en justo antes.
16. Salida de la LUZ ROJA:
17. Agregar otro renglón. En este, utilizar un contactor para la extensión “.TT” del “TIMER_LUZ_ROJA”. Como se ha usado esta extensión justo en el renglón superior, se puede simplemente arrastrar la etiqueta:
18. Seleccionar de la agrupación TIMER/COUNTER, la instrucción “CTU” y agregarla al renglón #3, etiquetarla y colocarle de valor preestablecido “3” tal como se muestra a continuación:
DON
19. En otro renglón colocar un contactor para el botón de Parada de servicio y como salida un “Reset” para el COUNTER.
20. Recordar colocar las etiquetas que hicieron falta en el renglón #2:
COMPLEMENTO
Se quiere, que mientras esté encendida la LUZ AMARILLA, esta parpadee. Para esto es necesario implementar un “FLASH BIT” para obtener el efecto de intermitencia durante su funcionamiento.
Dentro de la aplicación SEMÁFORO, se agrega un renglón en donde se va a programar la interrupción de un bit. A continuación se muestra cómo quedaría este renglón y se explica su operación.