Descarga la aplicación para disfrutar aún más
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
Compartir