Está en la página 1de 58

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 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 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 MAIN ROUTINE


MAIN PROGRAM
•Clic sobre "+" •Doble clic sobre main routine
•Clic sobre main program

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 tag_name
Número de bit para un tipo de datos mayor tag_name.bit_number
Miembro de estructura tag_name.member_name
Elemento de una matriz de una dimensión tag_name [x]
Elemento de una matriz en dos dimensiones tag_name [x,y]
Elemento de una matriz en tres dimensiones tag_name [x,y,z]
Elemento de una matriz dentro de una estructura 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:
Maneja la memoria del
Base controlador. Es una
memoria pura.

Asigna entradas y salidas

Alias
Permite asociar, por ejemplo,
la memoria decl controlador 1
Tipos de etiquetas
con la memoria del controlador
2.

Se utiliza si el controlador por


Produced ejemplo tiene que enviar un
dato a otro controlador.

Se utiliza si el controlador tiene


Consumed 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 for, en


Hacer clic, en Alias
Se habilitará la siguiente ese instante aparecerá
donde se le indica el tipo
casilla, llamada Alias for la pantalla que se
de Tag
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
Haga clic en el
nombre de rutina o
nombre
tipo similar

Haga doble clic en


Tag
el nombre del tag
Para seleccionar

A la derecha del
nombre del tag,
Haga clic en el haga clic en la Haga clic en el bit
Un número de bit
nombre del tag. flecha que esta requerido.
indicando hacia
abajo.

iii. 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 Pulse [F4] para ir al primer


parte inferior de la ventana error o advertencia.

Luego, diríjase al “Verify


Controller” y realice la misma Corrija el error de acuerdo
operación, cuantas veces sea con la descripción de la
necesario, hasta que no les ventana de resultados
salga más errores
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. K0 Memoria de abrir
S1 Pulsador de Abrir N.O. K2 Timer de conexión al abrir
S2 Pulsar de cerrar N.O. K3 Memoria de cerrar
S3 Sensor de portón abierto N.C. K4 Timer de conexión al cerrar
S4 Sensor de portón cerrado N.C. K5 Contactor de abrir
S5 Sensor de seguridad N.C. K6 Contactor de cerrar
H1 Aviso luminoso
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 Page
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.

En este caso podemos observar que tomamos el módulo Local #1 de entrada (Local:1:I)
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

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 derecho 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 contactor 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
E
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.
Mientras el FLASH_TIMER
no llegue a su valor
preestablecido habrá FLASH_TIMER tiene un
continuidad lógica. Preset lo suficientemente
grande como para que dé
tiempo a que el COUNTER
tenga su Reset.

FLASH_TIMER.ACC FLASH_BIT se
.6 se activará con activará de forma
interrupciones de intermitente
0.32 s

Se coloca un contactor par FLASH_BIT justo antes de LUZ_AMARILLA para que tenga el mismo efecto de
intermitencia: