Professional Documents
Culture Documents
SFC
Texto
Estructurado
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.
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.
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:
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…
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.
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
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.
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.
Alias
Permite asociar, por ejemplo,
la memoria decl controlador 1
Tipos de etiquetas
con la memoria del controlador
2.
Sugerencia: En caso de seleccionar como Tipo de Tag “Alias”, es necesario realizar unas
configuraciones adicionales. Tales como:
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
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
PORTÓN ELÉCTRICO
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.
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.
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.
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.
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.
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”
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í:
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.
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.
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”.
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:
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.
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.
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: