Logo Studenta

Manual de Programacion PLC ALLEN-BRADLEY

¡Este material tiene más páginas!

Vista previa del material en texto

Procedimientos 
comunes de los 
controladores 
Logix5000™
1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, 
PowerFlex 700
Manual de programación
Información importante 
para el usuario
Debido a la variedad de usos de los productos descritos en esta 
publicación, las personas responsables de la aplicación y uso de estos 
productos deben asegurarse de que se hayan seguido todos los pasos 
necesarios para que cada aplicación y uso cumpla con todos los 
requisitos de rendimiento y seguridad, incluyendo leyes, reglamentos, 
códigos y normas aplicables. En ningún caso se responsabilizará a 
Rockwell Automation por daños indirectos o resultantes del uso o 
aplicación de estos productos.
Los ejemplos de ilustraciones, gráficos, programas y esquemas 
mostrados en esta publicación tienen la única intención de ilustrar el 
texto. Debido a las muchas variables y requisitos asociados con 
cualquier instalación particular, Rockwell Automation no puede 
asumir responsabilidad u obligación (incluyendo responsabilidad de 
propiedad intelectual) por el uso real basado en los ejemplos 
mostrados en esta publicación. 
La publicación SGI-1.1 de Allen-Bradley, Safety Guidelines for the 
Application, Installation and Maintenance of Solid-State Control 
(disponible a través de la oficina regional de Rockwell Automation), 
describe algunas diferencias importantes entre dispositivos de estado 
sólido y dispositivos electromecánicos, las cuales deben tenerse en 
consideración al usar productos tales como los descritos en esta 
publicación. 
Está prohibida la reproducción total o parcial del contenido de esta 
publicación de propiedad exclusiva, sin el permiso escrito de 
Rockwell Automation.
En esta publicación hacemos estas anotaciones para informarle de 
consideraciones de seguridad Las siguientes anotaciones y sus 
declaraciones ayudarán a identificar un posible peligro, evitar un 
posible peligro y reconocer las consecuencias de un posible peligro. 
Identifica información acerca de prácticas o 
circunstancias que pueden causar una explosión en 
un ambiente peligroso, lo cual podría causar lesiones 
personales o la muerte, daños materiales o pérdidas 
económicas. 
ATENCIÓN
!
Identifica información sobre prácticas o 
circunstancias que pueden conducir a lesiones 
personales o la muerte, o a daños materiales o 
pérdidas económicas.
IMPORTANTE Identifica información importante para la aplicación 
y entendimiento correctos del producto. Sírvase 
tomar nota de que en esta publicación se usa el 
punto decimal para separar la parte entera de la 
decimal de todos los números.
ADVERTENCIA
!
Resumen de los cambios
Introducción Esta versión del documento contiene información nueva y actualizada. 
Información actualizada El documento contiene los cambios siguientes:
Cambio: Capítulo/Apéndice:
Información adicional sobre cómo planificar las tareas de un proyecto, inclusive la selección del 
lenguaje de programación apropiado para la aplicación
2
Procedimientos adicionales sobre cómo trabajar con el organizador del controlador, cómo crear 
tareas, cómo crear programas y cómo crear las rutinas. 
Nueva información sobre cómo diseñar un organigrama de funciones secuenciales para la 
máquina o proceso. 
4
Nueva información sobre cómo introducir y configurar un organigrama de funciones secuenciales 
usando el software RSLogix 5000
5
Nueva información sobre cómo usar el lenguaje de programación de texto estructurado, 
incluyendo asignaciones, expresiones, instrucciones, construcciones y comentarios
6
Información adicional sobre cómo programar un diagrama de bloque de función, incluyendo cómo 
usar las hojas, cómo definir el orden de ejecución, cómo resolver lazos, cómo definir el control del 
programa/operador, cómo introducir elementos y cómo configurar elementos
7
Información adicional sobre cómo organizar e introducir la lógica de escalera 8
Información nueva sobre cómo obtener información de memoria para un controlador 9
Información actualizada sobre el forzado de valores de E/S 18
Nueva información sobre como forzar y ejecutar los elementos SFC paso a paso
Nueva información sobre la tarjeta 1784-CF64 Industrial CompactFlash (memoria no volátil para el 
controlador 1756-L63 ControlLogix)
23
Procedimientos actualizados para la función de protección de la rutina de origen 24
2 nuevos códigos de fallo mayores A
Información adicional sobre cumplimiento de la norma IEC61131-3 relacionada con los lenguajes 
de programación de diagrama de funciones secuenciales y texto estructurado
B
Nuevas definiciones relacionadas con los diagramas de funciones secuenciales Glosario
1 Publicación 1756-PM001E-ES-P - Agosto 2002
 2 Resumen de los cambios 
Notas:
Publicación 1756-PM001E-ES-P - Agosto 2002
Prefacio
Propósito de este manual Este manual sirve como guía para el desarrollo de proyectos para los 
controladores Logix5000. Proporciona procedimientos paso a paso 
sobre cómo realizar las siguientes tareas, las cuales son comunes para 
todos los controladores Logix5000.
• Organización de tareas, programas y rutinas
• Organización de tags
• Diseño de un diagrama de funciones secuenciales
• Programación de rutinas
• Prueba de un proyecto
• Manejo de fallos
El término controlador Logix5000 se refiere a cualquier controlador 
basado en el sistema operativo Logix, tal como:
• controladores CompactLogix™
• controladores ControlLogix™
• controladores FlexLogix™
• controladores SoftLogix™
Este manual se usa junto con los manuales del usuario para el tipo de 
controlador específico. Los manuales del usuario cubren tareas tales 
como:
• Colocación y configuración de E/S
• Comunicación con dispositivos a través de diversas redes
• Mantenimiento de la batería
Quién debe usar este 
manual
Este manual está diseñado para quienes programan aplicaciones que 
usan controladores Logix5000, tales como:
• ingenieros de software
• ingenieros de control
• ingenieros de aplicación
• técnicos de instrumentación
1 Publicación 1756-PM001E-ES-P - Agosto 2002
2 Prefacio
Cuándo usar este manual Use este manual cuando realice las siguientes acciones:
• desarrollo del código básico de la aplicación
• modificación de una aplicación existente
• realización de pruebas aisladas de la aplicación
A medida que integre la aplicación con los dispositivos de E/S, 
controladores y redes en el sistema:
• Consulte el manual del usuario del tipo específico de 
controlador.
• Use este manual como referencia, cuando sea necesario.
Cómo usar este manual Este manual está dividido en las tareas básicas que se realizan durante 
la programación de un controlador Logix5000.
• Cada capítulo cubre una tarea.
• Las tareas están organizadas en la secuencia en la cual 
normalmente se realizarían.
A medida que use este manual, verá algunos términos que están 
formateados diferentemente del resto del texto:
El texto que 
está en:
Identifica: Por ejemplo: Significa:
Cursiva el nombre real de un ítem que usted 
ve en la pantalla o en un ejemplo
Haga clic con el botón derecho 
del mouse en Definido por el 
usuario …
Haga clic con el botón derecho del mouse 
en el ítem que tiene el nombre Definido 
por el usuario.
negrita una entrada en el “Glosario” Escriba un nombre … Si desea información adicional, consulte 
nombre en el “Glosario”.
Si está viendo el archivo PDF del manual, 
haga clic en nombre para saltar a la 
entrada del glosario.
courier información que debe suministrar 
basada en su aplicación (una 
variable)
Haga clic con el botón derecho 
del mouse en 
name_of_program …
Usted debe identificar el programa 
específico en la aplicación. 
Generalmente es un nombre o variable 
que usted ha definido.
entre corchetes una tecla del teclado Presione [Enter]. Presione la tecla Enter. 
Publicación 1756-PM001E-ES-P - Agosto 2002
Tabla de contenido
Capítulo 1
Administración de archivos del 
proyecto
Creación de un archivo de proyecto . . . . . . . . . . . . . . . . . 1-1
Guarde los cambios . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 1-3
Capítulo 2
Organización de tareas, 
programas y rutinas
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 2-1
Antes de comenzar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 2-1
Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
tarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
tarea continua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
tarea periódica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Programa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Rutina principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Planifique las tareas del proyecto. . . . . . . . . . . . . . . . . . . . 2-4
Defina las funciones del proyecto. . . . . . . . . . . . . . . . . 2-5
Asigne cada función a una tarea . . . . . . . . . . . . . . . . . . 2-6
Use el Controller Organizer . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Abra o cierre una carpeta . . . . . . . . . . . . . . . . . . . . . . . 2-7
Abra una rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
Cree una tarea periódica . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9
Cree un programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10
Cree una rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11
Configure una rutina como rutina principal . . . . . . . . . . . . 2-12
Verifique el proyecto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
Capítulo 3
Organización de tags Planifique los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Creación de un tipo de datos definido por el usuario . . . . . 3-8
Notas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Creación de un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
Creación de tags usando Microsoft® Excel® . . . . . . . . . . . 3-11
Capítulo 4
Diseño de un diagrama de 
funciones secuenciales
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 4-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 4-1
¿Qué es un diagrama de funciones secuenciales? . . . . . . . . 4-2
Cómo diseñar un SFC: Descripción general . . . . . . . . . . . . 4-4
Definir las tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
Seleccionar cómo ejecutar el SFC. . . . . . . . . . . . . . . . . . . . 4-6
Definir los pasos del proceso. . . . . . . . . . . . . . . . . . . . . . . 4-6
Siga estas pautas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
Estructura SFC_STEP . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
Organizar los pasos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Descripción general . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-13
Bifurcación de selección . . . . . . . . . . . . . . . . . . . . . . . 4-14
Bifurcación simultánea . . . . . . . . . . . . . . . . . . . . . . . . . 4-15
i Publicación 1756-PM001E-ES-P - Agosto 2002
 ii Tabla de contenido 
Conectar a un paso previo . . . . . . . . . . . . . . . . . . . . . . 4-16
Añadir acciones para cada paso. . . . . . . . . . . . . . . . . . . . . 4-17
¿Cómo desea usar la acción?. . . . . . . . . . . . . . . . . . . . . 4-17
Usar una acción no booleana . . . . . . . . . . . . . . . . . . . . 4-17
Usar una acción booleana . . . . . . . . . . . . . . . . . . . . . . 4-18
Estructura SFC_ACTION . . . . . . . . . . . . . . . . . . . . . . . . 4-19
Describir cada acción en pseudocódigo . . . . . . . . . . . . . . . 4-20
Seleccionar un calificador para una acción . . . . . . . . . . . . . 4-21
Definir las condiciones de la transición . . . . . . . . . . . . . . . 4-22
Tag de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
¿Cómo desea programar la transición?. . . . . . . . . . . . . . 4-24
Usar una expresión BOOL . . . . . . . . . . . . . . . . . . . . . . 4-24
Llamar a una subrutina. . . . . . . . . . . . . . . . . . . . . . . . . 4-25
Transición después de un tiempo especificado. . . . . . . . . . 4-26
Desactivar un dispositivo al final de un paso . . . . . . . . . . . 4-29
Seleccionar la opción de un último escán . . . . . . . . . . . 4-29
Usar la opción Don’t Scan . . . . . . . . . . . . . . . . . . . . . . 4-31
Usar la opción Programmatic Reset. . . . . . . . . . . . . . . . 4-32
Usar la opción Automatic Reset . . . . . . . . . . . . . . . . . . 4-34
Mantener algo activado de paso a paso . . . . . . . . . . . . . . . 4-35
¿Cómo desea controlar el dispositivo? . . . . . . . . . . . . . . 4-35
Usar una bifurcación simultánea . . . . . . . . . . . . . . . . . . 4-36
Almacenar y restablecer una acción . . . . . . . . . . . . . . . 4-37
Usar un paso grande . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Terminar el SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
¿Al final del SFC, qué desea hacer? . . . . . . . . . . . . . . . . 4-40
Usar un elemento de paro . . . . . . . . . . . . . . . . . . . . . . 4-40
Reiniciar (restablecer) el SFC . . . . . . . . . . . . . . . . . . . . 4-41
Estructura SFC_STOP . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
Anidar un SFC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43
Pasar parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Configurar cuándo retornar al OS/JSR . . . . . . . . . . . . . . . . 4-44
Pausa o restablecer un SFC . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Diagramas de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Capítulo 5
Programación de un diagrama de 
funciones secuenciales
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 5-1
Antes de usar este procedimiento . . . . . . . . . . . . . . . . . . . 5-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 5-2
Añadir un elemento de SFC . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Añadir y conectar manualmente los elementos . . . . . . . 5-3
Añadir y conectar automáticamente los elementos. . . . . 5-4
Arrastrar y colocar elementos . . . . . . . . . . . . . . . . . . . . 5-4
Crear una bifurcación simultánea. . . . . . . . . . . . . . . . . . . . 5-5
iniciar una bifurcación simultánea. . . . . . . . . . . . . . . . . 5-5
Terminar una bifurcación simultánea . . . . . . . . . . . . . . 5-5
Crear una bifurcación de selección . . . . . . . . . . . . . . . . . . 5-6
Iniciar una bifurcación de selección . . . . . . . . . . . . . . . 5-6
Terminar una bifurcación de selección . . . . . . . . . . . . . 5-7
Publicación 1756-PM001E-ES-P - Agosto 2002
Tabla de contenido iii
Establecer las prioridades de una bifurcación de selección . 5-8
Regresar a un paso previo . . . . . . . . . . . . . . . . . . . . . . . . . 5-9
Conectar un cable al paso . . . . . . . . . . . . . . . . . . . . . . 5-9
Ocultar un cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Mostrar un cable oculto . . . . . . . . . . . . . . . . . . . . . . . . 5-10
Cambiar el nombre de un paso . . . . . . . . . . . . . . . . . . . . . 5-11
Configurar un paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11
Asignar el tiempo preseleccionado para un paso. . . . . . 5-11
Configurar alarmas para un paso . . . . . . . . . . . . . . . . . 5-12
Usar una expresión para calcular un tiempo . . . . . . . . . 5-12
Cambiar el nombre de una transición. . . . . . . . . . . . . . . . . 5-14
Programar una transición. . . . . . . . . . . . . . . . . . . . . . . . . . 5-14
Introducir una expresión BOOL. . . . . . . . . . . . . . . . . . 5-14
Llamar a una subrutina. . . . . . . . . . . . . . . . . . . . . . . . . 5-15
Añadir una acción. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-16
Cambiar el nombre de una acción . . . . . . . . . . . . . . . . . . . 5-16
Configurar una acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Cambiar el calificador de una acción . . . . . . . . . . . . . . 5-17
Calcular un tiempo preseleccionado en tiempo 
de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-18
Marcar una acción como acción booleana. . . . . . . . . . . 5-19
Programar una acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19
Introducir texto estructurado . . . . . . . . . . . . . . . . . . . . 5-19
Llamar a una subrutina. . . . . . . . . . . . . . . . . . . . . . . . . 5-21
Asignar el orden de ejecución de las acciones . . . . . . . . . . 5-22
Documentar el SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-23
Añadir comentarios de texto estructurado . . . . . . . . . . . 5-23
Añadir una descripción de tag . . . . . . . . . . . . . . . . . . . 5-24
Añadir un cuadro de texto . . . . . . . . . . . . . . . . . . . . . . 5-25
Mostrar u ocultar cuadros de texto o descripciones de tag . 5-26
Mostrar u ocultar cuadros de texto o descripciones . . . . 5-26
Ocultar una descripción de tag individual . . . . . . . . . . . 5-27
Configurar la ejecución del SFC . . . . . . . . . . . . . . . . . . . . . 5-28
Verificar la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
Capítulo 6
Programación de texto 
estructurado
Cuándo usar este capítulo . . . . . . . . . . . . . . . . . . . . . . . . . 6-1
Sintaxis del texto estructurado . . . . . . . . . . . . . . . . . . . . . . 6-1
Asignaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Especifique una asignación no retentiva . . . . . . . . . . . . 6-3
Asigne un carácter ASCII a una cadena . . . . . . . . . . . . . 6-4
Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Use funciones y operadores y aritméticos . . . . . . . . . . . 6-5
Use operadores de relación . . . . . . . . . . . . . . . . . . . . . 6-7
Use operadores lógicos . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Use operadores de bit . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Determine el orden de ejecución . . . . . . . . . . . . . . . . . 6-10
Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-11
Construcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Publicación 1756-PM001E-ES-P - Agosto 2002
 iv Tabla de contenido 
IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-13
CASE...OF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
FOR…DO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
WHILE…DO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-21
REPEAT…UNTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
Capítulo 7
Programación de un diagrama de 
bloques de función
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 7-1
Antes de usar este procedimiento . . . . . . . . . . . . . . . . . . . 7-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 7-1
Identifique las hojas para la rutina . . . . . . . . . . . . . . . . . . . 7-2
Seleccione los elementos de los bloques de función. . . . . . 7-3
Seleccione un nombre de tag para un elemento . . . . . . . . . 7-4
Defina el orden de ejecución. . . . . . . . . . . . . . . . . . . . . . . 7-5
Enclavamiento de datos . . . . . . . . . . . . . . . . . . . . . . . . 7-5
Orden de ejecución . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-7
Resuelva un lazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-8
Resuelva el flujo de datos entre dos bloques . . . . . . . . . 7-10
Cree un retardo de escán . . . . . . . . . . . . . . . . . . . . . . . 7-10
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Identifique los conectores . . . . . . . . . . . . . . . . . . . . . . . . . 7-11
Defina el control de programa/operador . . . . . . . . . . . . . . 7-12
Añada una hoja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16
Añada un elemento de bloque de función . . . . . . . . . . . . . 7-16
Conecte los elementos . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-18
Mostrar u ocultar un pin. . . . . . . . . . . . . . . . . . . . . . . . 7-18
Conecte elementos juntos. . . . . . . . . . . . . . . . . . . . . . . 7-19
Marque un cable con el indicador Assume 
Data Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19
Asigne un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-20
Cree y asigne un nuevo tag . . . . . . . . . . . . . . . . . . . . . 7-20
Cambie el nombre del tag de un bloque de función . . . 7-21
Asigne un tag existente . . . . . . . . . . . . . . . . . . . . . . . . 7-21
Asigne un valor inmediato (constante) . . . . . . . . . . . . . . . . 7-22
Use un IREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-22
Introduzca un valor en el tag de un bloque . . . . . . . . . 7-22
Conecte bloques con un OCON e ICON . . . . . . . . . . . . . . 7-23
Añada un OCON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
Añada un ICON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-23
Verifique la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-24
Capítulo 8
Programación de lógica de 
escalera
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 8-1
Antes de usar este procedimiento . . . . . . . . . . . . . . . . . . . 8-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 8-1
Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Instrucción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Bifurcación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Publicación 1756-PM001E-ES-P - Agosto 2002
Tabla de contenido v
Condición de renglón . . . . . . . . . . . . . . . . . . . . . . . . . 8-4
Escritura de lógica de escalera . . . . . . . . . . . . . . . . . . . . . . 8-5
Seleccione las instrucciones requeridas . . . . . . . . . . . . . 8-5
Organice las instrucciones de entrada . . . . . . . . . . . . . . 8-6
Organice las instrucciones de salida . . . . . . . . . . . . . . . 8-7
Seleccione un nombre de tag para un operando . . . . . . 8-7
Introducción de la lógica de escalera . . . . . . . . . . . . . . . . . 8-9
Añada un elemento en la ubicación del cursor . . . . . . . 8-9
Arrastre y coloque un elemento . . . . . . . . . . . . . . . . . . 8-10
Asignación de operandos . . . . . . . . . . . . . . . . . . . . . . . . . 8-10
Cree y asigne un nuevo tag . . . . . . . . . . . . . . . . . . . . . 8-10
Seleccione un nombre o un tag existente . . . . . . . . . . . 8-11
Arrastre un tag desde la ventana Tags. . . . . . . . . . . . . . 8-12
Asigne un valor inmediato (constante) . . . . . . . . . . . . . 8-12
Verificación de la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . 8-12
Capítulo 9
Acceso a valores del sistema Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 9-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 9-1
Monitoreo de los indicadores de estado . . . . . . . . . . . . . . . 9-1
Obtener y establecer datos del sistema. . . . . . . . . . . . . . . . 9-3
Determine la información de memoria del controlador . . . . 9-6
Obtener información sobre memoria proveniente del 
controlador . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 9-7
Seleccione la información de memoria que desea . . . . . 9-8
Conversión de INT a DINT. . . . . . . . . . . . . . . . . . . . . . 9-9
Capítulo 10
Asignación de alias Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1
Visualización de información de alias. . . . . . . . . . . . . . . . . 10-2
Asignación de un alias . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Capítulo 11
Asignación de una dirección 
indirecta
Cuándo asignar una dirección indirecta . . . . . . . . . . . . . . . 11-1
Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3
Capítulo 12
Almacenamiento de E/S en el 
búfer
Cuándo almacenar E/S en el búfer. . . . . . . . . . . . . . . . . . . 12-1
Almacenamiento de E/S en el búfer . . . . . . . . . . . . . . . . . . 12-1
Capítulo 13
Prueba de un proyecto Prueba de un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1
Configure un driver de comunicación . . . . . . . . . . . . . . . . 13-1
Descargue el proyecto al controlador. . . . . . . . . . . . . . . . . 13-3
Seleccione un modo para el controlador . . . . . . . . . . . . . . 13-5
Corrección de fallos mayores. . . . . . . . . . . . . . . . . . . . . . . 13-6
Guarde los cambios en línea . . . . . . . . . . . . . . . . . . . . . . . 13-6
Publicación 1756-PM001E-ES-P - Agosto 2002
 vi Tabla de contenido 
Capítulo 14
Comunicación con otro 
controlador
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 14-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 14-1
Producir un tag consumido . . . . . . . . . . . . . . . . . . . . . . . . 14-1
Lo que usted necesita hacer . . . . . . . . . . . . . . . . . . . . . 14-3
Organizar los tags para datos producidos o consumidos 14-3
Producir un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-4
Consumir un tag producido . . . . . . . . . . . . . . . . . . . . . 14-5
Producir enteros para un controlador PLC-5C . . . . . . . . 14-6
Producir datos REAL para un controlador PLC-5C . . . . . 14-7
Consumir enteros desde un controlador PLC-5C . . . . . . 14-9
Ajuste para limitaciones de amplitud de banda . . . . . . 14-10
Enviar un mensaje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-11
Enviar un mensaje a múltiples controladores . . . . . . . . . . 14-13
Establecer la configuración de E/S . . . . . . . . . . . . . . . 14-14
Definir los elementos de origen y destino . . . . . . . . . . 14-15
Crear el tipo de datos MESSAGE_CONFIGURATION . . 14-16
Crear la matriz de configuración . . . . . . . . . . . . . . . . . 14-17
Obtener el tamaño de la matriz local . . . . . . . . . . . . . 14-19
Cargar las propiedades del mensaje para un 
controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-20
Configurar el mensaje . . . . . . . . . . . . . . . . . . . . . . . . 14-21
Ir al siguiente controlador . . . . . . . . . . . . . . . . . . . . . 14-22
Reiniciar la secuencia . . . . . . . . . . . . . . . . . . . . . . . . . 14-22
Capítulo 15
Producción de una matriz grande Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 15-1
Para producir una matriz grande . . . . . . . . . . . . . . . . . . . . 15-2
Capítulo 16
Comunicación con un dispositivo 
ASCII
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 16-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 16-1
Conecte el dispositivo ASCII . . . . . . . . . . . . . . . . . . . . . . . 16-2
Configure el puerto en serie . . . . . . . . . . . . . . . . . . . . . . . 16-3
Configure el protocolo del usuario. . . . . . . . . . . . . . . . . . . 16-5
Cree tipos de datos de cadena. . . . . . . . . . . . . . . . . . . . . . 16-8
Lea los caracteres desde el dispositivo . . . . . . . . . . . . . . . . 16-9
Envíe los caracteres al dispositivo . . . . . . . . . . . . . . . . . . 16-14
Introduzca caracteres ASCII . . . . . . . . . . . . . . . . . . . . . . . 16-21
Capítulo 17
Procesamiento de caracteres 
ASCII
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 17-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 17-1
Extraer una parte de un código de barras. . . . . . . . . . . . . . 17-2
Buscar un código de barras . . . . . . . . . . . . . . . . . . . . . . . . 17-4
Cree el tipo de datos PRODUCT_INFO . . . . . . . . . . . . . 17-5
Búsqueda de caracteres . . . . . . . . . . . . . . . . . . . . . . . . 17-6
Identificar el número de ruta . . . . . . . . . . . . . . . . . . . . 17-8
Rechazar caracteres incorrectos . . . . . . . . . . . . . . . . . . 17-9
Publicación 1756-PM001E-ES-P - Agosto 2002
Tabla de contenido vii
Introducir los ID de producto y números de ruta . . . . . 17-9
Verificar los caracteres del código de barras . . . . . . . . . . . 17-10
Convertir un valor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-12
Descodificar un mensaje ASCII . . . . . . . . . . . . . . . . . . . . 17-14
Crear una cadena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-18
Capítulo 18
Forzado de elementos lógicos Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 18-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 18-1
Precauciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-2
Habilitación de forzados. . . . . . . . . . . . . . . . . . . . . . . . 18-2
Inhabilitación o eliminación de un forzado . . . . . . . . . . 18-3
Verificación del estado de forzados . . . . . . . . . . . . . . . . . . 18-4
Barra de herramientas Online. . . . . . . . . . . . . . . . . . . . 18-4
Indicador LED FORCE . . . . . . . . . . . . . . . . . . . . . . . . . 18-5
Instrucción GSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-5
Qué elementos forzar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-6
Cuándo usar un forzado de E/S . . . . . . . . . . . . . . . . . . . . . 18-6
Forzado de un valor de entrada . . . . . . . . . . . . . . . . . . 18-7
Forzado de un valor de salida . . . . . . . . . . . . . . . . . . . 18-7
Adición de un forzado de E/S . . . . . . . . . . . . . . . . . . . . . . 18-8
Cuándo usar la opción 
Step Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9
Función Step Through en una transición o forzado 
de una ruta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9
Cuándo usar un forzado 
de SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9
Forzado de una transición . . . . . . . . . . . . . . . . . . . . . . 18-9
Forzado de una ruta simultánea . . . . . . . . . . . . . . . . . 18-11
Adición de un forzado de SFC . . . . . . . . . . . . . . . . . . . . . 18-12
Eliminación o inhabilitación 
de forzados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-13
Eliminación de un forzado individual . . . . . . . . . . . . . 18-14
Inhabilitación de todos los forzados de E/S y SFC . . . . 18-14
Eliminación de todos los forzados de E/S y SFC . . . . . 18-14
Inhabilitación de todos los forzados de E/S. . . . . . . . . 18-15
Eliminación de todos los forzados de E/S . . . . . . . . . . 18-15
Inhabilitación de todos los forzados de SFC . . . . . . . . 18-15
Eliminación de todos los forzados de SFC . . . . . . . . . . 18-15
Capítulo 19
Desarrollo de una rutina de fallo Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 19-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 19-1
Crear el tipo de datos FAULTRECORD . . . . . . . . . . . . . . . . 19-2
Creación de una rutina de fallo . . . . . . . . . . . . . . . . . . . . . 19-3
Cómo borrar un fallo mayor . . . . . . . . . . . . . . . . . . . . . . . 19-4
Obtener el tipo y código de fallo . . . . . . . . . . . . . . . . . 19-4
Verificación de un fallo menor . . . . . . . . . . . . . . . . . . . 19-5
Borrarel fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-5
Publicación 1756-PM001E-ES-P - Agosto 2002
 viii Tabla de contenido 
Cómo borrar un fallo mayor durante el preescán . . . . . . . . 19-6
Identificar cuando el controlador está en preescán . . . . 19-6
Obtener el tipo y código del fallo . . . . . . . . . . . . . . . . . 19-7
Verificación de un fallo específico . . . . . . . . . . . . . . . . 19-8
Borrar el fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-9
Prueba de una rutina de fallo . . . . . . . . . . . . . . . . . . . . . 19-10
Capítulo 20
Creación de un fallo mayor 
definido por el usuario
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 20-1
Creación de un fallo mayor definido por el usuario . . . . . . 20-1
Capítulo 21
Monitorización de fallos menores Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 21-1
Monitorización de fallos menores . . . . . . . . . . . . . . . . . . . 21-1
Capítulo 22
Desarrollo de una rutina de 
inicializacion
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 22-1
Desarrollo de una rutina de inicializacion. . . . . . . . . . . . . . 22-1
Capítulo 23
Almacenamiento y carga de un 
proyecto usando la memoria no 
volátil
Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 23-1
Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 23-2
Seleccionar un controlador que tenga memoria no volátil . . 23-3
Precauciones que se deben observar al usar la 
tarjeta 1784-CF64 Industrial CompactFlash . . . . . . . . . . . . . 23-4
Seleccionar cuándo cargar una imagen . . . . . . . . . . . . . . . 23-5
Almacenar un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-5
Configurar la operación de guardar . . . . . . . . . . . . . . . 23-6
Guardar el proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-8
Guardar el proyecto en línea . . . . . . . . . . . . . . . . . . . . 23-8
Cargar un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-9
Verificar una carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23-11
Borrar la memoria no volátil . . . . . . . . . . . . . . . . . . . . . . 23-12
Verificar la opción Current Load Image. . . . . . . . . . . . 23-12
Cambiar la opción Load Image . . . . . . . . . . . . . . . . . . 23-13
Borrar el proyecto del controlador . . . . . . . . . . . . . . . 23-13
Almacenar la imagen vacía . . . . . . . . . . . . . . . . . . . . . 23-13
Capítulo 24
Cómo proteger un proyecto Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 24-1
Usar protección de origen de rutina. . . . . . . . . . . . . . . . . . 24-1
Seleccionar el nivel de protección para cada rutina . . . . 24-4
Seleccionar el número de claves de origen . . . . . . . . . . 24-4
Definir la clave o claves de origen . . . . . . . . . . . . . . . . 24-5
Seleccionar una ubicación para el archivo en dónde 
almacenar las claves de origen . . . . . . . . . . . . . . . . . . . 24-5
Activar la función de protección de origen de 
RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-5
Publicación 1756-PM001E-ES-P - Agosto 2002
Tabla de contenido ix
Crear un archivo para las claves de origen . . . . . . . . . . 24-6
Protección de una rutina con una clave de origen . . . . . 24-7
Retirar el acceso a una rutina protegida . . . . . . . . . . . . 24-8
Inhabilitar la protección de origen de rutina . . . . . . . . . 24-8
Obtener acceso a una rutina protegida . . . . . . . . . . . . . 24-9
Use RSI Security Server para proteger un proyecto . . . . . . 24-12
Instalación del software RSI Security Server. . . . . . . . . 24-12
Configuración de DCOM . . . . . . . . . . . . . . . . . . . . . . 24-13
Habilitación del software Security Server para 
RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-13
Importación del archivo RSLogix5000Security.bak . . . . 24-14
Definición de acciones globales para los usuarios . . . . 24-14
Definición de acciones del proyecto para los usuarios. 24-16
Añadir usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-19
Añadir grupos de usuarios . . . . . . . . . . . . . . . . . . . . . 24-19
Asignar acceso global al software RSLogix 5000 . . . . . 24-20
Asignar acciones de proyecto para nuevos proyectos 
RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-21
Habilitar la seguridad para un proyecto RSLogix 5000 . 24-21
Asignar acceso a un proyecto RSLogix 5000 . . . . . . . . 24-22
Regenerar el software RSLogix 5000, si es necesario . . 24-23
Apéndice A
Códigos de fallo Cuándo usar este Apéndice . . . . . . . . . . . . . . . . . . . . . . . . A-1
Códigos de fallo mayor . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
Códigos de fallos menores. . . . . . . . . . . . . . . . . . . . . . . . . A-3
Apéndice B
Cumplimiento de la norma 
IEC61131-3
Cómo usar este Apéndice . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Definición de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . B-3
Conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . B-4
Portabilidad de programas según IEC61131-3 . . . . . . . . . . . B-4
Tablas sobre cumplimiento con especificaciones IEC . . . . . B-5
Glosario
Códigos de caracteres ASCII
Contraportada
Publicación 1756-PM001E-ES-P - Agosto 2002
 x Tabla de contenido 
Publicación 1756-PM001E-ES-P - Agosto 2002
Capítulo 1
Administración de archivos del proyecto
Creación de un archivo de 
proyecto
Antes de programar un controlador Logix5000, debe crear un 
proyecto: 
1. Inicie el software RSLogix 5000™. 
2. En el menú Archivo, seleccione Nuevo.
3. Seleccione el tipo de controlador. 
4. Escriba un nombre para el controlador. 
5. Escriba una descripción de las operaciones que realiza el 
controlador (opcional). 
6. Seleccione el tipo de chasis (número de ranuras) que contiene el 
controlador (no se aplica en el caso de algunos controladores). 
7. Seleccione o escriba el número de ranura donde está instalado 
el controlador (no se aplica en el caso de algunos 
controladores). 
8. Para almacenar el archivo en una carpeta diferente (que no sea 
la ruta de acceso predeterminada Crear en), haga clic en 
Examinar y seleccione una carpeta. 
9. Haga clic en Aceptar.
42194
3.
4.
5.
6.
7.
8.
1 Publicación 1756-PM001E-ES-P - Agosto 2002
1-2 Administración de archivos del proyecto
42371
Cuando usted crea un proyecto, el nombre del archivo 
del proyecto es igual al nombre del controlador. 
nombre del controlador
organizador del
controlador
Publicación 1756-PM001E-ES-P - Agosto 2002
Administración de archivos del proyecto 1-3
Guarde los cambios A medida que vaya creando la lógica y haciendo cambios de 
configuración, guarde su proyecto.
• Los nombres se descargar al controlador, mientras que la 
documentación (descripciones comentarios de renglón) no se 
descarga al controlador. 
• Para cambiar el nombre, tamaño de chasis o número de ranura 
del controlador: 
a. En el Organizador de controller, haga clic con el botón 
derecho del mouse en la carpeta 
Controller name_of_controller y seleccione 
Propiedades.
b. Cambie la información requerida. 
c. Haga clic en Aceptar.
Para: Haga lo siguiente:
guardar los cambios En el menú Archivo, seleccione Guardar.
haga una copia del proyecto 
abierto pero mantenga el 
nombre existente del 
controlador
A. En el menú Archivo, seleccione Guardar como.
B. Introduzca un nombre para el archivo del 
proyecto. Use subrayado [ _ ] en lugar de 
espacios. 
C. Haga clic en Guardar.
haga una copia del proyecto y 
asigne un nombrediferente al 
controlador. 
A. En el menú Archivo, seleccione Guardar como.
B. Introduzca un nombre para el archivo del 
proyecto. Use subrayado [ _ ] en lugar de 
espacios.
C. Haga clic en Guardar.
D. En el Organizador de controller, haga clic con el 
botón derecho del mouse en la carpeta 
Controller name_of_controller y 
seleccione Propiedades.
E. Introduzca un nuevo nombre para el 
controlador. 
F. Haga clic en Aceptar.
Publicación 1756-PM001E-ES-P - Agosto 2002
1-4 Administración de archivos del proyecto
Notas:
Publicación 1756-PM001E-ES-P - Agosto 2002
Capítulo 2
Organización de tareas, programas y rutinas
Cuándo usar este 
procedimiento
Use este procedimiento para realizar lo siguiente:
• definir la organización general del proyecto. 
• seleccionar un lenguaje de programación para cada función 
principal de la máquina o proceso. 
• Crear las tareas, programas y rutinas en los cuales programar la 
lógica
Antes de comenzar Para determinar cuáles lenguajes de programación están instalados en 
la versión del software RSLogix 5000:
1. Inicie el software RSLogix 5000.
2. En el menú Help, seleccione About RSLogix 5000.
Para añadir un lenguaje de programación, consulte el documento 
ControlLogix Selection Guide, publicación 1756-SG001.
Cómo usar este 
procedimiento
Para organizar el proyecto en tareas, programas y rutinas:
Revise las Definiciones
Planifique las tareas del proyecto
Use el Controller Organizer
Cree una tarea periódica
Cree un programa
Cree una rutina
Configure una rutina como rutina principal
Verifique el proyecto
1 Publicación 1756-PM001E-ES-P - Agosto 2002
2-2 Organización de tareas, programas y rutinas
Definiciones Antes de usar los procedimientos descritos en este capítulo, 
familiarícese con las definiciones. 
tarea
Una tarea proporciona información de programación y prioridades 
para un conjunto de uno o más programas que se ejecutan según 
criterios específicos. Una vez que se activa una tarea, todos los 
programas asignados (programados) a la tarea se ejecutan en el orden 
en el cual se muestran en el organizador del controlador.
tarea continua
La tarea continua se ejecuta en el segundo plano. Cualquier tiempo de 
CPU no asignado a otras operaciones (tales tareas de movimiento, 
comunicaciones y periódicas) se puede usar para ejecutar los 
programas dentro de la tarea continua.
• La tarea continua se ejecuta todo el tiempo. Cuando la tarea 
continua realiza un escán completo, se reinicia inmediatamente. 
• Un proyecto no requiere una tarea continua. Si se usa, sólo 
puede haber una tarea continua.
tarea continua
programa
tarea periódica
rutina principal
rutina
tarea
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tareas, programas y rutinas 2-3
tarea periódica
Una tarea periódica realiza una función según un régimen específico.
• Cada vez que caduca el tiempo de la tarea periódica, la tarea 
interrumpe la tarea continua, se ejecuta una vez y luego 
devuelve el control donde se interrumpió la tarea continua.
• El período de tiempo se puede configurar de 1 ms a 2000 s. La 
opción predeterminada es 10 ms.
Se pueden crear hasta 32 tareas periódicas y asignar una prioridad a 
cada una: 
• La tarea de mayor prioridad interrumpe a todas las tareas de 
menor prioridad. 
• Una tarea de mayor prioridad puede interrumpir una tarea de 
menor prioridad múltiples veces. 
• Las tareas que tienen la misma prioridad se ejecutan según una 
base de segmento de tiempo a intervalos de 1 ms. 
El siguiente ejemplo muestra la ejecución de un proyecto con tres 
tareas.
EJEMPLO Orden de ejecución de tareas para un proyecto con dos tareas periódicas y una tarea 
continua
Tarea: Tipo de tarea: Nivel de prioridad: Tiempo de 
ejecución:
1 20 ms periódica 5 2 ms
2 10 ms periódica 10 4 ms
3 continua ninguno (más bajo) 24 ms
Leyenda:
La tarea se ejecuta.
La tarea se interrumpe (se suspende).
Tarea 1
Tarea 2
Tarea 3
5 10 15 20 25 30 35 40 45 50
tiempo transcurrido (ms)
Publicación 1756-PM001E-ES-P - Agosto 2002
2-4 Organización de tareas, programas y rutinas
Programa
Un programa es una subdivisión de una tarea. Cuando se activa una 
tarea, los programas programados dentro de la tarea se ejecutan hasta 
completarse, desde el primero al último. Cada programa contiene tags 
de programa, una rutina principal, otras rutinas y una rutina de fallo 
opcional.
Rutina
Las rutinas proporcionan el código de ejecución para el proyecto en 
un controlador (similar a un archivo de programa en un 
controlador PLC o SLC). Cada rutina usa un lenguaje de programación 
específico, tal como lógica de escalera. 
Rutina principal
Cuando un programa se ejecuta, su rutina principal se ejecuta 
primero. Use la rutina principal para llamar (ejecutar) otras rutinas 
(subrutinas). Para llamar a otra rutina dentro del programa, use una 
instrucción Jump to Subroutine (JSR). 
Planifique las tareas del 
proyecto
Para identificar las tareas, programas y rutinas de la lógica, tome las 
siguientes decisiones:
Estas decisiones generalmente son iterativas. Después de tomar 
algunas decisiones iniciales, revise sus decisiones a medida que 
continúa desarrollando el proyecto. 
Defina las funciones del proyecto
Asigne cada función a una tarea
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tareas, programas y rutinas 2-5
Defina las funciones del proyecto
Una de las decisiones durante el desarrollo de un proyecto Logix5000 
es definir las funciones (operaciones) de la máquina o proceso.
1. Identifique las funciones (operaciones) principales de la 
máquina o proceso. 
2. Para cada función, seleccione el lenguaje de programación más 
apropiado para la función. 
• Es posible que necesite revisar la lista de funciones para 
aprovechar los diferentes lenguajes.
• Use cualquier combinación de lenguajes en el mismo 
proyecto. 
En general, si la función o grupo de funciones representa: Entonces use este lenguaje:
ejecución continua o paralela de múltiples operaciones 
(que no tienen secuencia)
lógica de escalera
operaciones booleanas o basadas en bit
operaciones lógicas complejas
procesamiento de comunicación y mensajes
enclavamiento de máquina
el personal de mantenimiento u operaciones de servicio quizás tengan que 
efectuar interpretaciones para solucionar problemas de la máquina o el proceso.
control de variador y proceso continuo diagrama de bloques de función
control de lazo
cálculos en flujo de circuito
administración de alto nivel de múltiples operaciones Use un diagrama de funciones 
secuenciales (SFC)
secuencias de operaciones repetitivas
proceso de lote
control de movimiento usando texto estructurado
estado de operaciones de máquina
operaciones matemáticas complejas texto estructurado
procesamiento de lazo o matriz especial
manejo de cadenas ASCII o procesamiento de protocolo
Publicación 1756-PM001E-ES-P - Agosto 2002
2-6 Organización de tareas, programas y rutinas
Asigne cada función a una tarea
Una vez que haya definido las funciones (operaciones) del proyecto, 
use opciones de tareas diferentes para activar la ejecución de cada 
función. 
1. Determine el impulso de cada función (cuándo se va a ejecutar 
la función).
2. Según el impulso de la función, seleccione una tarea en la cual 
se va a ejecutar la función:
Si una función se ejecuta: Entonces:
a un régimen constante (por ej., ejecutar un 
lazo PID cada 100 ms)
asigne la función a una rutina dentro de una 
tarea periódica
muy rápidamente
cuando ocurre un evento específico o un 
conjunto de condiciones lógicas
asigne la función a una rutina dentro de la 
tarea continua (por ej., MainTask)
todo el tiempo
cuando ocurre un fallo suficientemente 
severo para que el controlador se desactive
asigne la función a una rutina de fallo
Vea “Desarrollo de una rutina de falloen” la 
página 19-1.
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tareas, programas y rutinas 2-7
Use el Controller OrganizerEl Controller Organizer proporciona una descripción general gráfica 
del proyecto. A medida que usted desarrolle su proyecto, irá 
realizando las siguientes acciones comunes:
Abra o cierre una carpeta
El Controller Organizer guarda los diferentes componentes de un 
proyecto en carpetas. A su vez, cada carpeta puede contener otras 
carpetas. 
Abra o cierre una carpeta
Abra una rutina
Para cerrar una carpeta y ocultar su contenido (contraer), realice una 
de las siguientes acciones:
• Haga doble clic en la carpeta. 
• Seleccione la carpeta y presione la tecla ←.
• Haga clic en el signo –.
Para abrir una carpeta y mostrar su contenido (expandir), realice una 
de las siguientes acciones:
• Haga doble clic en la carpeta.
• Seleccione la carpeta y presione la tecla →.
• Haga clic en el signo +.
Publicación 1756-PM001E-ES-P - Agosto 2002
2-8 Organización de tareas, programas y rutinas
Abra una rutina
Si la rutina no se abre, vea la línea de estado del software 
RSLogix 5000:
Para abrir una rutina, haga doble clic en la rutina. Si la rutina apare 
atenuada, no podrá abrir la rutina. 
Si la línea de estado dice: Entonces:
“Failed to open the routine – 
editor not installed”
El editor del lenguaje de la rutina no está instalado. Para obtener una lista de los paquetes de software 
disponibles, consulte el documento ControlLogix Selection Guide, publicación 1756-SG001.
“Source not available” Para abrir la rutina, necesita su clave de origen. Vea “Usar protección de origen de rutina” en la 
página 24-1.
Usted puede:
• ejecutar la rutina 
• mostrar las propiedades de la rutina
• identificar referencias cruzadas con respecto a la lógica en la rutina
IMPORTANTE Si el origen de una rutina no está disponible, no 
exporte el proyecto.
• Un archivo de exportación (.L5K) contiene sólo 
rutinas donde el código de origen está 
disponible.
• Si usted exporta un proyecto donde el código de 
origen no está disponible para todas las rutinas, 
no podrá restaurar la totalidad del proyecto.
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tareas, programas y rutinas 2-9
Cree una tarea periódica Una tarea periódica realiza una función o funciones según un régimen 
específico.
1. En el Controller Organizer, haga clic con el botón derecho del 
mouse en la carpeta Tasks y seleccione New Task.
2. En el cuadro de texto Name, escriba un nombre para la tarea. 
3. En la lista Type, seleccione Periodic (opción predeterminada).
4. En la lista Watchdog, escriba el tiempo de watchdog para la 
tarea.
ATENCIÓN
!
Asegúrese de que el período de tiempo sea más 
largo que la suma de los tiempos de ejecución de 
todos los programas asignados a la tarea. Si el 
controlador detecta que ocurre una activación de la 
tarea periódica para una tarea que ya está en 
operación, ocurre un fallo menor.
1.
2.
3.
4.
5.
6.
Publicación 1756-PM001E-ES-P - Agosto 2002
2-10 Organización de tareas, programas y rutinas
5. En el cuadro de texto Rate, escriba el régimen al cual desea 
que se ejecute la tarea. 
6. En el cuadro de texto Priority, escriba la prioridad para la 
tarea. 
7. Seleccione 
Cree un programa Cada tarea requiere por lo menos un programa. Se pueden crear 
múltiples programas para una tarea. 
1. En el Controller Organizer, haga clic con el botón derecho del 
mouse en la tarea que ejecutará el programa y seleccione New 
Program.
2. En el cuadro de texto Name, escriba un nombre para el 
programa. 
3. Seleccione 
1.
2.
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tareas, programas y rutinas 2-11
Cree una rutina Cada programa requiere por lo menos una rutina. Use una rutina para 
ejecutar la lógica. 
1. En el Controller Organizer, haga clic con el botón derecho del 
mouse en el programa que ejecutará la rutina y seleccione New 
Routine.
2. En el cuadro de texto Name, escriba un nombre para la rutina.
3. En la lista Type, seleccione el lenguaje de programación para la 
rutina
4. Seleccione 
1.
2.
3.
Publicación 1756-PM001E-ES-P - Agosto 2002
2-12 Organización de tareas, programas y rutinas
Configure una rutina como 
rutina principal
Cada programa requiere una rutina principal.La rutina principal se 
ejecuta cada vez que el programa se ejecuta. 
1. En el Controller Organizer, haga clic con el botón derecho del 
mouse en el programa que ejecutará la rutina y seleccione New 
Properties.
2. Haga clic en la ficha Configuration.
3. En la lista Main, seleccione el nombre de la rutina.
4. Seleccione 
Verifique el proyecto A medida que va programando el proyecto, verifique periódicamente 
su trabajo:
1. En la barra de herramientas del extremo superior de la ventana 
RSLogix 5000, haga clic en 
2. Si hay errores listados en la parte inferior de la ventana:
a. Vaya al primer error o advertencia, presione [F4].
b. Corrija el error de conformidad con la descripción indicada 
en la ventana Results.
c. Vaya al paso 1.
3. Para cerrar la ventana Results, presione [Alt] + [1].
1.
3.
2.
Publicación 1756-PM001E-ES-P - Agosto 2002
Capítulo 3
Organización de tags
Planifique los tags Los controladores Logix5000 almacenan datos en tags (a diferencia de 
archivos de datos fijos, los cuales se direccionan numéricamente). Con 
los tags usted puede 
• organizar los datos para reflejar la maquinaria
• documentar (mediante nombres de tag) la aplicación a medida 
que se va desarrollando
Cuando se crea un tag se asignan las siguientes propiedades:
La siguiente tabla resume los tipos de datos más comunes y cuándo 
usarlos.
Tabla 3.A Propiedades de tag
Propiedad: Descripción:
alcance define que rutinas pueden tener acceso a los datos
nombre identifica a los datos (tags con diferentes alcances 
pueden tener el mismo nombre).
tipo de datos define la organización de los datos, tal como número 
de coma flotante, entero o bit
Tabla 3.B Data Types
Para: Seleccione:
dispositivo analógico en modo de coma flotante REAL
dispositivo analógico en modo entero (para velocidades de 
muestreo muy rápidas)
INT
Caracteres ASCII string
bit BOOL
contador COUNTER
señal de E/S digital BOOL
número de coma flotante REAL
entero (número entero) DINT
secuenciador CONTROL
temporizador TIMER
1 Publicación 1756-PM001E-ES-P - Agosto 2002
3-2 Organización de tags
Use la siguiente tabla para organizar los datos:
Los siguientes ejemplos muestran los diferentes niveles a los cuales se 
pueden organizar los datos:
• Tags de un solo elemento, en la página 3-3
• Matriz de una sola dimensión, en la página 3-4
• Matriz de dos dimensiones, en la página 3-5
• Tipo de datos definido por el usuario que almacena una receta, 
en la página 3-6
• Tipo de datos definido por el usuario que almacena los datos 
requeridos para ejecutar una máquina, en la página 3-7
Para un: Use un: Referencia:
grupo de atributos comunes 
usados por más de una máquina
tipo de datos 
definido
Vea “Creación de un tipo de 
datos definido por el usuario” en 
la página 3-8.
grupo de datos con el mismo tipo 
de datos
maestro (CST) Vea “Creación de un tag” en la 
página 3-10.
valor único tag de un 
elemento único
dispositivo de E/S
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tags 3-3
EJEMPLO Tags de un solo elemento
tivo 
digital
dispositivo de E/S 
analógico
valor entero
acenamiento
contador
temporizador
42364
Publicación 1756-PM001E-ES-P - Agosto 2002
3-4 Organización de tags
EJEMPLO Matriz de una sola dimensión
En este ejemplo, una sola instrucción de temporización temporiza la duración de varios 
pasos. Cada paso requiere un valor preseleccionado diferente. Puesto que todos los 
valores tienen el mismo tipo de datos (DINT), se usa una matriz.
42367
Para expandir una matriz y 
mostrar sus elementos, haga 
clic en el signo +.
Para contraer una matriz 
y ocultar sus elementos, 
haga clic en el signo – .
Esta matriz contiene 
seis elementos del 
tipo de datos DINT.
seis DINTelementos de 
timer_presets
Publicación 1756-PM001E-ES-P -Agosto 2002
Organización de tags 3-5
EJEMPLO Matriz de dos dimensiones
Una perforadora puede perforar de uno a cinco agujeros en un libro. La máquina 
requiere un valor para la posición de cada agujero desde el borde delantero del libro. 
Para organizar los valores en configuraciones, se usa una matriz de dos dimensiones. El 
primer subíndice indica el agujero al cual corresponde el valor y el segundo subíndice 
indica cuántos agujeros se perforarán (uno a cinco).
En la ventana Tags, los elementos están en el orden indicado a continuación.
subíndice de segunda dimensión Descripción
0 1 2 3 4 5
subíndice 
de primera 
dimensión
0
1 1.5 2.5 1.25 1.25 1.25 Posición del primer agujero desde el borde delantero 
del libro
2 8.0 5.5 3.5 3.5 Posición del segundo agujero desde el borde 
delantero del libro
3 9.75 7.5 5.5 Posición del tercer agujero desde el borde delantero 
del libro
4 9.75 7.5 Posición del cuarto agujero desde el borde delantero 
del libro
5 9.75 Posición del quinto agujero desde el borde delantero 
del libro
42367
La dimensión del extremo derecho se 
incrementa a su valor máximo y luego 
vuelve a empezar.
Esta matriz contiene 
una cuadrícula de 
elementos de dos 
dimensiones, seis 
elementos por seis 
elementos.
Cuando vuelve a empezar la dimensión del 
extremo derecho, la dimensión de la izquierda 
aumenta por un valor de uno.
Publicación 1756-PM001E-ES-P - Agosto 2002
3-6 Organización de tags
EJEMPLO Tipo de datos definido por el usuario que almacena una receta
En un sistema de varios tanques, cada tanque puede ejecutar una variedad de recetas. 
Puesto que la receta requiere una combinación de tipos de datos (REAL, DINT, BOOL, 
etc.), se usa un tipo de datos definido por el usuario. 
Una matriz basada en este tipo de datos se vería como la siguiente:
Nombre (del tipo de datos): TANK
Nombre del miembro Tipo de datos
temp REAL
banda muerta REAL
paso DINT
step_time TIMER
preseleccionado DINT[6]
combinación BOOL
42368
matriz de recetas
primera receta
Esta matriz contiene 
tres elementos del 
tipo de datos TANK.
miembros de la receta
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tags 3-7
EJEMPLO Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar 
una máquina
Puesto que varias estaciones de perforación requieren la siguiente combinación de 
datos, se crea un tipo de datos definido por el usuario.
Una matriz basada en este tipo de datos se vería como la siguiente:
Nombre (del tipo de datos): DRILL_STATION
Nombre del miembro Tipo de datos
part_advance BOOL
hole_sequence CONTROL
type DINT
hole_position REAL
depth REAL
total_depth REAL
42583
matriz de taladros
primer taladro
Esta matriz contiene 
cuatro elementos del 
tipo de datos 
DRILL_STATION. 
datos para la 
taladradora
Publicación 1756-PM001E-ES-P - Agosto 2002
3-8 Organización de tags
Creación de un tipo de 
datos definido por el 
usuario
Para crear un tipo de datos definido por el usuario:
1. Haga clic con el botón derecho del mouse en Definido por el 
usuario y seleccione Nuevo Data type.
2. Introduzca un nombre para el tipo de datos.
3. Introduzca una descripción (opcional).
4. Escriba el nombre del primer miembro.
42195
42196
2.
3.
4. 5. 6. 7.
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tags 3-9
5. Especifique el tipo de datos del miembro. Vea Tabla 3.B en la 
pagina 3-1.
Use el siguiente formato para una matriz:
data_type[x]
donde:
x es el número de elementos en la matriz. 
6. Para mostrar el valor (s) del miembro en un estilo diferente 
(base), seleccione el estilo.
7. Escriba una descripción para el miembro (opcional).
8. Haga clic en Aplicar.
9. ¿Más miembros?
Notas:
• Si incluye miembros que representan dispositivos de E/S, debe 
usar la lógica de escalera para copiar los datos entre los 
miembros en la estructura y los tags de E/S correspondientes. 
Vea “Almacenamiento de E/S en el búfer” en la página 12-1.
• Cuando use los tipos de datos BOOL, SINT o INT, coloque los 
miembros que usan el mismo tipo de datos en secuencia:
EJEMPLO Si el miembro es una matriz de seis DINT, 
escriba DINT[6].
Si: Entonces:
Sí Repita los pasos 4. a 8.
No Haga clic en Aceptar.
más eficiente
BOOL
BOOL
BOOL
DINT
DINT
menos eficiente
BOOL
DINT
BOOL
DINT
BOOL
Publicación 1756-PM001E-ES-P - Agosto 2002
3-10 Organización de tags
Creación de un tag Para crear un tag (incluyendo una matriz):
1. En el menú Lógica, seleccione Editar tag.
2. Seleccione un alcance para el tag:
3. Introduzca un nombre para el tag.
4. Introduzca el tipo de datos:
donde:
data_type es el tipo de datos que el tag o matriz almacena. 
Vea Tabla 3.B en la pagina 3-1.
x es el número de elementos en la primera dimensión. 
y es el número de elementos en la segunda dimensión.
y es el número de elementos en la tercera dimensión.
5. Escriba una descripción (opcional).
42350
2.
3. 5.4.
Si usará el tag: Entonces seleccione:
en más de un programa dentro del 
proyecto
name_of_controller (controlador)
como productor o consumidor
en un mensaje
en solamente un programa dentro del 
proyecto
programa que usará el tag
Si el tag: Entonces escriba:
no es un maestro (CST) (archivo) data_type
una dimensión matriz data_type[x]
una matriz de dos dimensiones data_type[x,y]
una matriz de tres dimensiones data_type[x,y,z]
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tags 3-11
Creación de tags usando 
Microsoft® Excel®
También puede usar un software de hojas de cálculo, tal como 
Microsoft Excel para crear y editar tags. Esto permite aprovechar las 
funciones de edición del software de hojas de cálculo.
Para crear tags usando Excel:
1. Abra el proyecto RSLogix 5000.
2. Cree varios tags. (Esto ayuda a formatear la hoja de cálculo 
Excel).
3. En el menú Herramientas, seleccione Exportar tag.
4. Apunte el nombre del archivo de exportación 
(project_name-Tags).
5. Seleccione el alcance de los tags a exportar. Si selecciona Tag de 
program, seleccione los tags del programa a exportar.
6. Haga clic en Exportar.
7. En el software Microsoft Excel, abra el archivo de exportación.
42361
Los tags se guardan en 
esta carpeta.
4.
5.
Publicación 1756-PM001E-ES-P - Agosto 2002
3-12 Organización de tags
8. Introduzca TAG
9. Identifique el alcance del tag:
10. Introduzca el nombre del tag
11. Introduzca el tipo de datos del tag.
12. Repita los pasos 8. a 11. para cada tag adicional.
13. Guarde y cierre el archivo. (Manténgalo como formato .CSV).
14. En el software RSLogix 5000, en el menú Herramientas, 
seleccione Importar tag.
TIPO ALCANCE NOMBRE DESCRIPCIÓN TIPO DE DATOS
TAG in_cycle DINT
TIPO ALCANCE NOMBRE DESCRIPCIÓN TIPO DE DATOS
TAG MainProgram conveyor_alarm BOOL
TAG MainProgram conveyor_on BOOL
TAG MainProgram drill_1 DRILL_STATION
TAG MainProgram hole_position REAL[6,6]
TAG MainProgram machine_on BOOL
8. 9. 10. 11.
Si el alcance es: Entonces:
controlador Deje esta celda vacía.
programa Introduzca el nombre del programa.
Publicación 1756-PM001E-ES-P - Agosto 2002
Organización de tags 3-13
15. Seleccione el archivo que contiene los tags y haga clic en 
Importar.
Se importan los tags al proyecto. La sección inferior de la 
ventana RSLogix 5000 muestra los resultados.
• Los tags se pueden configurar para comunicarse directamente 
con otros controladores:
Si piensa usar tags producidos o consumidos, debe seguir 
pautas adicionales a medida que organiza los tags. 
Vea “Comunicación con otro controlador” en la página 14-1.
• Los siguientes tipos de datos enteros también están disponibles:
– SINT (entero de 8 bits)
– INT (entero de 16 bits)
Normalmente, las instrucciones convierten valores SINT o INT a 
un tipo de datos óptimo (generalmente un valor DINT o REAL) 
durante la ejecución. Puesto que esto requiere memoria y 
tiempo adicional, minimice el uso de los tipos de datos SINT e 
INT.
Para: Use un:
enviar datos por elbackplane y la red ControlNet a un 
intervalo especificado
tag producido
recibir datos de otro controlador por el backplane o la red 
ControlNet a un intervalo especificado
tag consumido
Publicación 1756-PM001E-ES-P - Agosto 2002
3-14 Organización de tags
Notas:
Publicación 1756-PM001E-ES-P - Agosto 2002
Capítulo 4
Diseño de un diagrama de funciones 
secuenciales
Cuándo usar este 
procedimiento
Use este procedimiento para diseñar un diagrama de funciones 
secuenciales (SFC) para su proceso o sistema. Un SFC es similar a un 
diagrama de flujo de proceso. Define los pasos o estados a través de 
los cuales progresa el sistema. Use el SFC para:
• organizar la especificación de funciones del sistema
• programar y controlar el sistema como una serie de pasos y 
transiciones
Usar un SFC para especificar el proceso tiene las siguientes ventajas:
• Puesto que un SFC es una representación gráfica del proceso, es 
más fácil de organizar y leer que una versión de texto. Además, 
el software RSLogix 5000 le permite:
– añadir notas que aclaran los pasos o capturan información 
importante para uso posterior
– imprimir el SFC para compartir la información con otras 
personas
• Puesto que los controladores Logix5000 son compatibles con los 
SFC, no necesita introducir la especificación por segunda vez. 
Usted programa el sistema tal como lo especifica. 
Usar un SFC para programar el proceso tiene las siguientes ventajas:
• división gráfica de procesos en sus componentes lógicos 
principales (pasos)
• ejecución repetida más rápida de componentes individuales de 
la lógica
• pantalla más simple
• menos tiempo para diseñar y depurar el programa
• resolución de problemas más rápida y más fácil
• acceso directo al punto en la lógica donde una máquina entró 
en fallo
• actualizaciones y mejoras fáciles
Cómo usar este 
procedimiento
Generalmente, el desarrollo de un SFC es un proceso iterativo. Si lo 
desea, puede usar el software RSLogix 5000 para bosquejar y refinar el 
SFC. Para obtener información sobre los procedimientos específicos 
para introducir un SFC, vea Programación de un diagrama de 
funciones secuenciales” en la página 5-1.
1 Publicación 1756-PM001E-ES-P - Agosto 2002
4-2 Diseño de un diagrama de funciones secuenciales
¿Qué es un diagrama de 
funciones secuenciales?
Un diagrama de funciones secuenciales (SFC) es similar a un 
diagrama de flujo. Utiliza pasos y transiciones para realizar 
operaciones o acciones específicas. En la Figura 4.1 y en la Figura 4.2 
se proporcionan ejemplos que muestran los elementos de un SFC:
Figura 4.1 Ejemplo de SFC
Un paso representa una función principal del proceso. Contiene las 
acciones que ocurren en un tiempo, fase o estación específica.
Una acción es una de las funciones que realiza un 
paso. 
Una bifurcación simultánea ejecuta más de 1 paso simultáneamente.
Una transición es una condición verdadera o falsa que le 
indica al SFC cuándo ir al siguiente paso. 
(continúa en la siguiente página)
Un calificador determina cuándo comienza y se detiene una 
acción. 
Mostrar u ocultar 
una acción.
La instrucción JSR llama a una subrutina
Publicación 1756-PM001E-ES-P - Agosto 2002
Diseño de un diagrama de funciones secuenciales 4-3
Figura 4.2 Ejemplo de SFC (continúa de la página anterior)
Un cuadro de texto le permite añadir texto 
descriptivo o notas a su SFC. 
Una bifurcación de selección selecciona
entre rutas de ejecución diferentes.
Un cable conecta un elemento a otro elemento en cualquier lugar del diagrama. Este cable le lleva al 
paso conveyor en la Figura 4.1 en la página anterior. 
Un paro le permite parar y esperar que se reinicie un comando. 
Publicación 1756-PM001E-ES-P - Agosto 2002
4-4 Diseño de un diagrama de funciones secuenciales
Cómo diseñar un SFC: 
Descripción general
Para diseñar un SFC, se realizan las siguientes tareas:
Las secciones restantes de este capítulo describen en detalle cómo 
realizar cada tarea:
Definir las tareas
Seleccionar cómo ejecutar el SFC
Definir los pasos del proceso
Organizar los pasos
Añadir acciones para cada paso
Describir cada acción en pseudocódigo
Seleccionar un calificador para una acción
Definir las condiciones de la transición
Transición después de un tiempo especificado
Desactivar un dispositivo al final de un paso
Mantener algo activado de paso a paso
Terminar el SFC
Anidar un SFC
Configurar cuándo retornar al OS/JSR
Pausa o restablecer un SFC
Publicación 1756-PM001E-ES-P - Agosto 2002
Diseño de un diagrama de funciones secuenciales 4-5
Definir las tareas El primer paso en el desarrollo de un SFC es separar la configuración 
y regulación de dispositivos de los comandos para esos dispositivos. 
Los controladores Logix5000 le permiten dividir el proyecto en una 
tarea continua y múltiples tarea periódicas.
1. Organice el proyecto de la siguiente manera:
2. Para las funciones que van en una tarea periódica, agrupe las 
funciones de acuerdo a regímenes de actualización similares. 
Cree una tarea periódica para cada régimen de actualización. 
Por ejemplo, los dispositivos de 2 estados pueden requerir 
actualizaciones más rápidas que los lazos PID. Use tareas 
periódicas separadas para cada uno. 
El siguiente ejemplo muestra un proyecto que usa dos tareas 
periódicas para regular motores, válvulas y lazos de temperatura. El 
proyecto usa un SFC para controlar el proceso. 
Estas funciones: Vaya aquí:
configurar y regular dispositivos tarea periódica
comandar de un estado específico para un 
dispositivo
SFC en la tarea continua
establecer una secuencia de la ejecución 
del proceso
EJEMPLO Definir las tareas
Esta tarea (continua) ejecuta el diagrama de funciones 
secuenciales (SFC). El SFC emite los comandos de estado 
específico o temperatura para cada dispositivo o lazo de 
temperatura. 
Esta tarea (periódica) usa diagramas de bloques de función 
para activar o desactivar motores y abrir o cerrar válvulas. El 
SFC en MainTask emite el comando de estado para cada 
dispositivo. Los diagramas de bloques de función establecen y 
mantienen dicho estado. 
Esta tarea (periódica) usa diagramas de bloques de función 
para configurar y regular los lazos de temperatura. El SFC en 
MainTask emite los comandos de temperatura. Los diagramas 
de bloques de función establecen y mantienen dichas 
temperaturas. 
Publicación 1756-PM001E-ES-P - Agosto 2002
4-6 Diseño de un diagrama de funciones secuenciales
Seleccionar cómo ejecutar 
el SFC
Para ejecutar un SFC, configúrelo ya sea como rutina principal de un 
programa o llámelo como subrutina. 
Si el SFC usa acciones booleanas, entonces otra lógica debe ejecutarse 
independientemente del SFC y monitorear los bits de estado del SFC. 
Definir los pasos del 
proceso
Un paso representa una función principal del proceso. Contiene las 
acciones que ocurren en un tiempo, fase o estación específica.
Una transición termina el paso. La transición define las condiciones 
físicas que deben ocurrir o cambiar para ir al siguiente paso. 
Si: Entonces:
El SFC es la única rutina en el programa. Configure el SFC como la rutina principal 
del programa. 
El SFC llama a todas las otras rutinas del 
programa.
El programa requiere que otras rutinas se 
ejecuten independientemente del SFC. 
1. Configure otra rutina como la rutina 
principal del programa.
2. Use la rutina principal para llamar al 
SFC como subrutina.El SFC usa acciones booleanas.
Paso
MEZCLAR
Un paso se ejecuta continuamente 
hasta que una transición le indique 
al SFC que vaya al siguiente paso.
Transición
• Si es verdadera, ir al siguiente paso.
• Si es falsa, repetir el paso anterior
…y hacer esto
Acciones
Hacer esto…
Publicación 1756-PM001E-ES-P - Agosto 2002
Diseño de un diagrama de funciones secuenciales 4-7
Siga estas pautas
A medida que define los pasos del proceso, siga estas pautas:
• Comience con pasos grandes y refine los pasos en varias 
pasadas. 
• Cuando usted inicialmente abre unarutina de SFC, ésta contiene 
un paso y transición inicial. Use este paso para inicializar el 
proceso.
• Para identificar un paso, busque un cambio físico en el sistema, 
tal como una nueva pieza que esté en posición, una temperatura 
alcanzada, un tiempo predeterminado alcanzado o una 
selección de receta que haya ocurrido. El paso consta de las 
acciones que se realizan antes de dicho cambio. 
• Deténgase cuando los pasos estén in incrementos significativos. 
Por ejemplo:
Limpiar
Air_Flow Elec_Charg
tercera pasada
Transfer_In
Limpiar
Transfr_Out
Pintar
segunda pasada
Pintar 
primera pasada
Paint_Flow
Transfer_In
Transfr_Out
Esta organización de pasos: Representa:
produce_solution probablemente 
demasiado grande
set_mode, close_outlet, set_temperature, 
open_inlet_a, close_inlet_a, set_timer, 
reset_temperature, open_outlet, reset_mode
probablemente 
demasiado pequeño
preset_tank, add_ingredient_a, cook, drain probablemente correcto
paso inicial
transición inicial
Publicación 1756-PM001E-ES-P - Agosto 2002
4-8 Diseño de un diagrama de funciones secuenciales
Estructura SFC_STEP
Cada paso usa un tag para proporcionar información acerca del paso. 
Acceda a esta información ya sea mediante el cuadro de diálogo Step 
Properties o la ficha Monitor Tags de la ventana Tags:
Si desea: Entonces 
verifique o 
establezca este 
miembro:
Tipo de 
datos:
Detalles:
determinar cuánto tiempo 
estuvo activo un paso 
(milisegundos)
T DINT Cuando un paso se activa, el valor del temporizador (T) se 
restablece y luego comienza a contar progresivamente en 
milisegundos. El temporizador continúa contando progresivamente 
hasta que el paso se desactiva, independientemente del valor 
preseleccionado (PRE). 
indicar cuando el paso ha estado 
activo durante un tiempo 
específico (milisegundos)
PRE DINT Introduzca el tiempo en el miembro preseleccionado (PRE). Cuando 
el temporizador (T) llega al valor preseleccionado, el bit de 
efectuado (DN) se activa y permanece activado hasta que el paso 
vuelva a activarse.
Como opción, introduzca una expresión numérica que calcule el 
tiempo durante la ejecución. 
DN BOOL Cuando el temporizador (T) llega al valor preseleccionado (PRE), el 
bit de efectuado (DN) se activa y permanece activado hasta que el 
paso vuelva a activarse.
indicar si un paso no se ejecutó 
el tiempo suficiente
LimitLow DINT Introduzca el tiempo en el miembro LimitLow (milisegundos).
• Si el paso se desactiva antes que el temporizador (T) 
llegue al valor de LimitLow, se activa el bit AlarmLow. 
• El bit AlarmLow permanecerá activado hasta que usted lo 
restablezca. 
• Para usar esta función de alarma, active (seleccione) el bit 
AlarmEnable (AlarmEn).
Como opción, introduzca una expresión numérica que calcule el 
tiempo durante la ejecución.
AlarmEn BOOL Para usar los bits de alarma, active (seleccione) el bit AlarmEnable 
(AlarmEn).
AlarmLow BOOL Si el paso se desactiva antes que el temporizador (T) llegue al 
valor de LimitLow, se activa el bit AlarmLow.
• Este bit permanecerá activado hasta que usted lo 
restablezca.
• Para usar esta función de alarma, active (seleccione) el bit 
AlarmEnable (AlarmEn).
indicar si un paso se está 
ejecutando demasiado tiempo
LimitHigh DINT Introduzca el tiempo en el miembro LimitHigh (milisegundos).
• Si el temporizador (T) llega al valor de LimitHigh, se 
activará el bit AlarmHigh. 
• El bit AlarmHigh permanecerá activado hasta que usted lo 
restablezca.
• Para usar esta función de alarma, active (seleccione) el bit 
AlarmEnable (AlarmEn).
Como opción, introduzca una expresión numérica que calcule el 
tiempo durante la ejecución.
AlarmEn BOOL Para usar los bits de alarma, active (seleccione) el bit AlarmEnable 
(AlarmEn).
AlarmHigh BOOL Si el temporizador (T) llega al valor de LimitHigh, se activará el bit 
AlarmHigh.
• Este bit permanecerá activado hasta que usted lo 
restablezca.
• Para usar esta función de alarma, active (seleccione) el bit 
AlarmEnable (AlarmEn).
Publicación 1756-PM001E-ES-P - Agosto 2002
Diseño de un diagrama de funciones secuenciales 4-9
hacer algo mientras el paso está 
activo (incluyendo el primer y 
último escán)
X BOOL El bit X está activado todo el tiempo que el paso está activo 
(ejecutándose). 
Normalmente, recomendamos usar una acción con un calificador 
N Non-Stored para lograr esto. 
hacer algo cuando el paso se 
activa
FS BOOL El bit FS se activa durante el primer escán del paso. 
Normalmente, recomendamos usar una acción con un calificador 
P1 Pulse (Rising Edge) para lograr esto. 
hacer algo mientras el paso está 
activo, excepto en el primer y 
último escán
SA BOOL El bit SA está activo cuando el paso está activo, excepto durante 
el primer y último escán del paso. 
hacer algo una vez en el último 
escán del paso
LS BOOL El bit LS se activa durante el último escán del paso.
Use este bit sólo en caso de hacer lo siguiente: en el cuadro de 
diálogo Controller Properties, ficha SFC Execution, establezca Last 
Scan of Active Step en Don’t Scan o Programmatic reset.
Normalmente, recomendamos usar una acción con un calificador 
P0 Pulse (Falling Edge) para lograr esto. 
determinar el receptor de una 
instrucción SFC Reset (SFR)
Reset BOOL Una instrucción SFC Reset (SFR) restablece el SFC en un paso o 
paro que la instrucción especifica. 
• El bit de restablecimiento indica a cuál paso o paro irá el 
SFC para comenzar la ejecución nuevamente. 
• Una vez que el SFC se ejecuta, el bit de restablecimiento 
se restablece. 
determinar el tiempo máximo 
que un paso estuvo activo 
durante cualquiera de sus 
ejecuciones
TMax DINT Úselo para fines de diagnóstico. El controlador restablece este 
valor sólo cuando usted selecciona Restart Position de Restart at 
initial step y el controlador cambia de modo o se desconecta y se 
vuelve a conectar la alimentación eléctrica. 
determinar si el valor del 
temporizador (T) se reinicia a un 
valor negativo
OV BOOL Úselo para fines de diagnóstico.
determinar cuántas veces se 
activó un paso
Count DINT Esto no es un conteo de escanes del paso.
• El conteo incrementa cada vez que se activa el paso. 
• Se incrementa nuevamente sólo después que el paso se 
desactiva y se vuelve a activar. 
• El conteo se restablece sólo si usted configura el SFC para 
que se reinicie en el paso inicial. Con esa configuración, se 
restablece cuando el controlador cambia del modo 
Programa al modo Marcha. 
Si desea: Entonces 
verifique o 
establezca este 
miembro:
Tipo de 
datos:
Detalles:
Publicación 1756-PM001E-ES-P - Agosto 2002
4-10 Diseño de un diagrama de funciones secuenciales
El siguiente diagrama muestra la relación de los bits X, FS, SA y LS.
usar un tag para los diversos bits 
de estado de este paso
Status DINT Para este miembro: Use este bit:
Reset 22
AlarmHigh 23
AlarmLow 24
AlarmEn 25
OV 26
DN 27
LS 28
SA 29
FS 30
X 31
Si desea: Entonces 
verifique o 
establezca este 
miembro:
Tipo de 
datos:
Detalles:
step_name.FS
step_name.X
step_name.LS
step_name.SA
primer escán último escán
Publicación 1756-PM001E-ES-P - Agosto 2002
Diseño de un diagrama de funciones secuenciales 4-11
Organizar los pasos Una vez que haya definido los pasos del proceso, organícelos en 
secuencias, bifurcaciones simultáneas, bifurcaciones de selección o 
lazos. 
Descripción general
Para: Use esta estructura: Con estas consideraciones:
Ejecutar 1 o más pasos en secuencia:
• Uno se ejecuta repetidamente. 
• Luego el siguiente se ejecuta 
repetidamente. 
Secuencia El SFC verifica la transición al final del paso:
• Si es verdadera, el SFC va al paso 
siguiente. 
• Si es falsa, el SFC repite el paso. 
• Seleccionar entre pasos alternativos 
o grupos de pasos dependiendo de 
las condiciones de la lógica
• Ejecutar un paso o pasos, o saltar el 
paso o pasos, dependiendo de las 
condiciones de la lógica
Bifurcación de selección • Es correcto que una ruta no tenga pasos 
y tenga sólo una transición. Esto le 
permite

Otros materiales