Está en la página 1de 442

Procedimientos comunes de los controladores Logix5000

1756-Lx, 1769-Lx, 1789-Lx, 1794-Lx, PowerFlex 700

Manual de programacin

Informacin importante para el usuario

Debido a la variedad de usos de los productos descritos en esta publicacin, las personas responsables de la aplicacin y uso de estos productos deben asegurarse de que se hayan seguido todos los pasos necesarios para que cada aplicacin y uso cumpla con todos los requisitos de rendimiento y seguridad, incluyendo leyes, reglamentos, cdigos y normas aplicables. En ningn caso se responsabilizar a Rockwell Automation por daos indirectos o resultantes del uso o aplicacin de estos productos. Los ejemplos de ilustraciones, grficos, programas y esquemas mostrados en esta publicacin tienen la nica intencin de ilustrar el texto. Debido a las muchas variables y requisitos asociados con cualquier instalacin particular, Rockwell Automation no puede asumir responsabilidad u obligacin (incluyendo responsabilidad de propiedad intelectual) por el uso real basado en los ejemplos mostrados en esta publicacin. La publicacin SGI-1.1 de Allen-Bradley, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (disponible a travs de la oficina regional de Rockwell Automation), describe algunas diferencias importantes entre dispositivos de estado slido y dispositivos electromecnicos, las cuales deben tenerse en consideracin al usar productos tales como los descritos en esta publicacin. Est prohibida la reproduccin total o parcial del contenido de esta publicacin de propiedad exclusiva, sin el permiso escrito de Rockwell Automation. En esta publicacin hacemos estas anotaciones para informarle de consideraciones de seguridad Las siguientes anotaciones y sus declaraciones ayudarn a identificar un posible peligro, evitar un posible peligro y reconocer las consecuencias de un posible peligro.
ADVERTENCIA

!
ATENCIN

Identifica informacin acerca de prcticas o circunstancias que pueden causar una explosin en un ambiente peligroso, lo cual podra causar lesiones personales o la muerte, daos materiales o prdidas econmicas.

!
IMPORTANTE

Identifica informacin sobre prcticas o circunstancias que pueden conducir a lesiones personales o la muerte, o a daos materiales o prdidas econmicas.

Identifica informacin importante para la aplicacin y entendimiento correctos del producto. Srvase tomar nota de que en esta publicacin se usa el punto decimal para separar la parte entera de la decimal de todos los nmeros.

Resumen de los cambios

Introduccin Informacin actualizada


Cambio:

Esta versin del documento contiene informacin nueva y actualizada.

El documento contiene los cambios siguientes:


Captulo/Apndice: 2

Informacin adicional sobre cmo planificar las tareas de un proyecto, inclusive la seleccin del lenguaje de programacin apropiado para la aplicacin Procedimientos adicionales sobre cmo trabajar con el organizador del controlador, cmo crear tareas, cmo crear programas y cmo crear las rutinas. Nueva informacin sobre cmo disear un organigrama de funciones secuenciales para la mquina o proceso. Nueva informacin sobre cmo introducir y configurar un organigrama de funciones secuenciales usando el software RSLogix 5000 Nueva informacin sobre cmo usar el lenguaje de programacin de texto estructurado, incluyendo asignaciones, expresiones, instrucciones, construcciones y comentarios Informacin adicional sobre cmo programar un diagrama de bloque de funcin, incluyendo cmo usar las hojas, cmo definir el orden de ejecucin, cmo resolver lazos, cmo definir el control del programa/operador, cmo introducir elementos y cmo configurar elementos Informacin adicional sobre cmo organizar e introducir la lgica de escalera Informacin nueva sobre cmo obtener informacin de memoria para un controlador Informacin actualizada sobre el forzado de valores de E/S Nueva informacin sobre como forzar y ejecutar los elementos SFC paso a paso Nueva informacin sobre la tarjeta 1784-CF64 Industrial CompactFlash (memoria no voltil para el controlador 1756-L63 ControlLogix) Procedimientos actualizados para la funcin de proteccin de la rutina de origen 2 nuevos cdigos de fallo mayores Informacin adicional sobre cumplimiento de la norma IEC61131-3 relacionada con los lenguajes de programacin de diagrama de funciones secuenciales y texto estructurado Nuevas definiciones relacionadas con los diagramas de funciones secuenciales

4 5 6 7

8 9 18 23 24 A B Glosario

Publicacin 1756-PM001E-ES-P - Agosto 2002

Resumen de los cambios

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Prefacio

Propsito de este manual

Este manual sirve como gua para el desarrollo de proyectos para los controladores Logix5000. Proporciona procedimientos paso a paso sobre cmo realizar las siguientes tareas, las cuales son comunes para todos los controladores Logix5000. Organizacin de tareas, programas y rutinas Organizacin de tags Diseo de un diagrama de funciones secuenciales Programacin de rutinas Prueba de un proyecto Manejo de fallos

El trmino controlador Logix5000 se refiere a cualquier controlador basado en el sistema operativo Logix, tal como: controladores controladores controladores controladores CompactLogix ControlLogix FlexLogix SoftLogix

Este manual se usa junto con los manuales del usuario para el tipo de controlador especfico. Los manuales del usuario cubren tareas tales como: Colocacin y configuracin de E/S Comunicacin con dispositivos a travs de diversas redes Mantenimiento de la batera

Quin debe usar este manual

Este manual est diseado para quienes programan aplicaciones que usan controladores Logix5000, tales como: ingenieros de software ingenieros de control ingenieros de aplicacin tcnicos de instrumentacin

Publicacin 1756-PM001E-ES-P - Agosto 2002

Prefacio

Cundo usar este manual

Use este manual cuando realice las siguientes acciones: desarrollo del cdigo bsico de la aplicacin modificacin de una aplicacin existente realizacin de pruebas aisladas de la aplicacin A medida que integre la aplicacin con los dispositivos de E/S, controladores y redes en el sistema: Consulte el manual del usuario del tipo especfico de controlador. Use este manual como referencia, cuando sea necesario.

Cmo usar este manual

Este manual est dividido en las tareas bsicas que se realizan durante la programacin de un controlador Logix5000. Cada captulo cubre una tarea. Las tareas estn organizadas en la secuencia en la cual normalmente se realizaran. A medida que use este manual, ver algunos trminos que estn formateados diferentemente del resto del texto:

El texto que est en: Cursiva

Identifica:

Por ejemplo:

Significa: Haga clic con el botn derecho del mouse en el tem que tiene el nombre Definido por el usuario. Si desea informacin 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.

el nombre real de un tem que usted Haga clic con el botn derecho ve en la pantalla o en un ejemplo del mouse en Definido por el usuario una entrada en el Glosario Escriba un nombre

negrita

courier

informacin que debe suministrar basada en su aplicacin (una variable) una tecla del teclado

Haga clic con el botn derecho del mouse en name_of_program Presione [Enter].

Usted debe identificar el programa especfico en la aplicacin. Generalmente es un nombre o variable que usted ha definido. Presione la tecla Enter.

entre corchetes

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido
Captulo 1 Administracin de archivos del proyecto
Creacin de un archivo de proyecto . . . . . . . . . . . . . . . . . 1-1 Guarde los cambios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

Captulo 2 Organizacin de tareas, programas y rutinas


Cundo usar este procedimiento . . . . . . . . Antes de comenzar . . . . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . Definiciones . . . . . . . . . . . . . . . . . . . . . . . tarea . . . . . . . . . . . . . . . . . . . . . . . . . . tarea continua . . . . . . . . . . . . . . . . . . . tarea peridica. . . . . . . . . . . . . . . . . . . Programa. . . . . . . . . . . . . . . . . . . . . . . Rutina . . . . . . . . . . . . . . . . . . . . . . . . . Rutina principal . . . . . . . . . . . . . . . . . . Planifique las tareas del proyecto. . . . . . . . Defina las funciones del proyecto. . . . . Asigne cada funcin a una tarea . . . . . . Use el Controller Organizer . . . . . . . . . . . . Abra o cierre una carpeta . . . . . . . . . . . Abra una rutina . . . . . . . . . . . . . . . . . . Cree una tarea peridica . . . . . . . . . . . . . . Cree un programa . . . . . . . . . . . . . . . . . . . Cree una rutina . . . . . . . . . . . . . . . . . . . . . Configure una rutina como rutina principal Verifique el proyecto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-1 2-1 2-2 2-2 2-2 2-3 2-4 2-4 2-4 2-4 2-5 2-6 2-7 2-7 2-8 2-9 2-10 2-11 2-12 2-12

Captulo 3 Organizacin de tags


Planifique los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . Creacin de un tipo de datos definido por el usuario . Notas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creacin de un tag . . . . . . . . . . . . . . . . . . . . . . . . . . Creacin de tags usando Microsoft Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3-8 3-9 3-10 3-11

Captulo 4 Diseo de un diagrama de funciones secuenciales


Cundo usar este procedimiento . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . Qu es un diagrama de funciones secuenciales? Cmo disear un SFC: Descripcin general . . . . Definir las tareas . . . . . . . . . . . . . . . . . . . . . . . . Seleccionar cmo ejecutar el SFC. . . . . . . . . . . . Definir los pasos del proceso. . . . . . . . . . . . . . . Siga estas pautas . . . . . . . . . . . . . . . . . . . . . Estructura SFC_STEP . . . . . . . . . . . . . . . . . . Organizar los pasos. . . . . . . . . . . . . . . . . . . . . . Descripcin general . . . . . . . . . . . . . . . . . . . Secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . Bifurcacin de seleccin . . . . . . . . . . . . . . . Bifurcacin simultnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-1 4-2 4-4 4-5 4-6 4-6 4-7 4-8 4-11 4-11 4-13 4-14 4-15

Publicacin 1756-PM001E-ES-P - Agosto 2002

ii

Tabla de contenido

Conectar a un paso previo . . . . . . . . . . . . . Aadir acciones para cada paso. . . . . . . . . . . . Cmo desea usar la accin?. . . . . . . . . . . . Usar una accin no booleana . . . . . . . . . . . Usar una accin booleana . . . . . . . . . . . . . Estructura SFC_ACTION . . . . . . . . . . . . . . . Describir cada accin en pseudocdigo . . . . . . Seleccionar un calificador para una accin . . . . Definir las condiciones de la transicin . . . . . . Tag de transicin . . . . . . . . . . . . . . . . . . . . Cmo desea programar la transicin?. . . . . Usar una expresin BOOL . . . . . . . . . . . . . Llamar a una subrutina. . . . . . . . . . . . . . . . Transicin despus de un tiempo especificado. Desactivar un dispositivo al final de un paso . . Seleccionar la opcin de un ltimo escn . . Usar la opcin Dont Scan . . . . . . . . . . . . . Usar la opcin Programmatic Reset. . . . . . . Usar la opcin Automatic Reset . . . . . . . . . Mantener algo activado de paso a paso . . . . . . Cmo desea controlar el dispositivo? . . . . . Usar una bifurcacin simultnea . . . . . . . . . Almacenar y restablecer una accin . . . . . . Usar un paso grande . . . . . . . . . . . . . . . . . Terminar el SFC . . . . . . . . . . . . . . . . . . . . . . . Al final del SFC, qu desea hacer? . . . . . . . Usar un elemento de paro . . . . . . . . . . . . . Reiniciar (restablecer) el SFC . . . . . . . . . . . Estructura SFC_STOP . . . . . . . . . . . . . . . . . Anidar un SFC. . . . . . . . . . . . . . . . . . . . . . . . . Pasar parmetros . . . . . . . . . . . . . . . . . . . . Configurar cundo retornar al OS/JSR . . . . . . . Pausa o restablecer un SFC . . . . . . . . . . . . . . . Diagramas de ejecucin . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4-16 4-17 4-17 4-17 4-18 4-19 4-20 4-21 4-22 4-24 4-24 4-24 4-25 4-26 4-29 4-29 4-31 4-32 4-34 4-35 4-35 4-36 4-37 4-39 4-40 4-40 4-40 4-41 4-42 4-43 4-44 4-44 4-45 4-45

Captulo 5 Programacin de un diagrama de funciones secuenciales


Cundo usar este procedimiento . . . . . . . . . . . . . . . . Antes de usar este procedimiento . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . . . . . Aadir un elemento de SFC . . . . . . . . . . . . . . . . . . . . Aadir y conectar manualmente los elementos . . . Aadir y conectar automticamente los elementos. Arrastrar y colocar elementos . . . . . . . . . . . . . . . . Crear una bifurcacin simultnea . . . . . . . . . . . . . . . . iniciar una bifurcacin simultnea. . . . . . . . . . . . . Terminar una bifurcacin simultnea . . . . . . . . . . Crear una bifurcacin de seleccin . . . . . . . . . . . . . . Iniciar una bifurcacin de seleccin . . . . . . . . . . . Terminar una bifurcacin de seleccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5-1 5-2 5-3 5-3 5-4 5-4 5-5 5-5 5-5 5-6 5-6 5-7

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

iii

Establecer las prioridades de una bifurcacin de seleccin Regresar a un paso previo . . . . . . . . . . . . . . . . . . . . . . . . Conectar un cable al paso . . . . . . . . . . . . . . . . . . . . . Ocultar un cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mostrar un cable oculto . . . . . . . . . . . . . . . . . . . . . . . Cambiar el nombre de un paso . . . . . . . . . . . . . . . . . . . . Configurar un paso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asignar el tiempo preseleccionado para un paso. . . . . Configurar alarmas para un paso . . . . . . . . . . . . . . . . Usar una expresin para calcular un tiempo . . . . . . . . Cambiar el nombre de una transicin. . . . . . . . . . . . . . . . Programar una transicin. . . . . . . . . . . . . . . . . . . . . . . . . Introducir una expresin BOOL . . . . . . . . . . . . . . . . . Llamar a una subrutina. . . . . . . . . . . . . . . . . . . . . . . . Aadir una accin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cambiar el nombre de una accin . . . . . . . . . . . . . . . . . . Configurar una accin . . . . . . . . . . . . . . . . . . . . . . . . . . . Cambiar el calificador de una accin . . . . . . . . . . . . . Calcular un tiempo preseleccionado en tiempo de ejecucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marcar una accin como accin booleana. . . . . . . . . . Programar una accin . . . . . . . . . . . . . . . . . . . . . . . . . . . Introducir texto estructurado . . . . . . . . . . . . . . . . . . . Llamar a una subrutina. . . . . . . . . . . . . . . . . . . . . . . . Asignar el orden de ejecucin de las acciones . . . . . . . . . Documentar el SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aadir comentarios de texto estructurado . . . . . . . . . . Aadir una descripcin de tag . . . . . . . . . . . . . . . . . . Aadir un cuadro de texto . . . . . . . . . . . . . . . . . . . . . Mostrar u ocultar cuadros de texto o descripciones de tag Mostrar u ocultar cuadros de texto o descripciones . . . Ocultar una descripcin de tag individual . . . . . . . . . . Configurar la ejecucin del SFC . . . . . . . . . . . . . . . . . . . . Verificar la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5-8 5-9 5-9 5-10 5-10 5-11 5-11 5-11 5-12 5-12 5-14 5-14 5-14 5-15 5-16 5-16 5-17 5-17 5-18 5-19 5-19 5-19 5-21 5-22 5-23 5-23 5-24 5-25 5-26 5-26 5-27 5-28 5-29

Captulo 6 Programacin de texto estructurado


Cundo usar este captulo . . . . . . . . . . . . . . . Sintaxis del texto estructurado . . . . . . . . . . . . Asignaciones. . . . . . . . . . . . . . . . . . . . . . . . . Especifique una asignacin no retentiva . . Asigne un carcter ASCII a una cadena . . . Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . Use funciones y operadores y aritmticos . Use operadores de relacin . . . . . . . . . . . Use operadores lgicos . . . . . . . . . . . . . . Use operadores de bit . . . . . . . . . . . . . . . Determine el orden de ejecucin . . . . . . . Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . Construcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6-1 6-2 6-3 6-4 6-4 6-5 6-7 6-9 6-10 6-10 6-11 6-12

Publicacin 1756-PM001E-ES-P - Agosto 2002

iv

Tabla de contenido

IF...THEN . . . . . . CASE...OF . . . . . . FORDO. . . . . . WHILEDO . . . . REPEATUNTIL . Comentarios . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

6-13 6-16 6-18 6-21 6-23 6-26

Captulo 7 Programacin de un diagrama de bloques de funcin


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . Antes de usar este procedimiento . . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . . . . . . Identifique las hojas para la rutina . . . . . . . . . . . . . . . . Seleccione los elementos de los bloques de funcin. . . Seleccione un nombre de tag para un elemento . . . . . . Defina el orden de ejecucin. . . . . . . . . . . . . . . . . . . . Enclavamiento de datos . . . . . . . . . . . . . . . . . . . . . Orden de ejecucin . . . . . . . . . . . . . . . . . . . . . . . . Resuelva un lazo . . . . . . . . . . . . . . . . . . . . . . . . . . Resuelva el flujo de datos entre dos bloques . . . . . . Cree un retardo de escn . . . . . . . . . . . . . . . . . . . . Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Identifique los conectores . . . . . . . . . . . . . . . . . . . . . . Defina el control de programa/operador . . . . . . . . . . . Aada una hoja. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aada un elemento de bloque de funcin . . . . . . . . . . Conecte los elementos . . . . . . . . . . . . . . . . . . . . . . . . Mostrar u ocultar un pin. . . . . . . . . . . . . . . . . . . . . Conecte elementos juntos. . . . . . . . . . . . . . . . . . . . Marque un cable con el indicador Assume Data Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . Asigne un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cree y asigne un nuevo tag . . . . . . . . . . . . . . . . . . Cambie el nombre del tag de un bloque de funcin Asigne un tag existente . . . . . . . . . . . . . . . . . . . . . Asigne un valor inmediato (constante) . . . . . . . . . . . . . Use un IREF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduzca un valor en el tag de un bloque . . . . . . Conecte bloques con un OCON e ICON . . . . . . . . . . . Aada un OCON . . . . . . . . . . . . . . . . . . . . . . . . . . Aada un ICON . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifique la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 7-1 7-1 7-2 7-3 7-4 7-5 7-5 7-7 7-8 7-10 7-10 7-11 7-11 7-12 7-16 7-16 7-18 7-18 7-19 7-19 7-20 7-20 7-21 7-21 7-22 7-22 7-22 7-23 7-23 7-23 7-24

Captulo 8 Programacin de lgica de escalera


Cundo usar este procedimiento . Antes de usar este procedimiento Cmo usar este procedimiento . . Definiciones . . . . . . . . . . . . . . . . Instruccin . . . . . . . . . . . . . . Bifurcacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 8-1 8-1 8-2 8-2 8-2

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

Condicin de rengln . . . . . . . . . . . . . . . . . . . . Escritura de lgica de escalera . . . . . . . . . . . . . . . . . Seleccione las instrucciones requeridas . . . . . . . . Organice las instrucciones de entrada . . . . . . . . . Organice las instrucciones de salida . . . . . . . . . . Seleccione un nombre de tag para un operando . Introduccin de la lgica de escalera . . . . . . . . . . . . Aada un elemento en la ubicacin del cursor . . Arrastre y coloque un elemento . . . . . . . . . . . . . Asignacin de operandos . . . . . . . . . . . . . . . . . . . . Cree y asigne un nuevo tag . . . . . . . . . . . . . . . . Seleccione un nombre o un tag existente . . . . . . Arrastre un tag desde la ventana Tags. . . . . . . . . Asigne un valor inmediato (constante) . . . . . . . . Verificacin de la rutina . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . .

8-4 8-5 8-5 8-6 8-7 8-7 8-9 8-9 8-10 8-10 8-10 8-11 8-12 8-12 8-12

Captulo 9 Acceso a valores del sistema


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . . . . . . . Monitoreo de los indicadores de estado . . . . . . . . . . . . . Obtener y establecer datos del sistema. . . . . . . . . . . . . . Determine la informacin de memoria del controlador . . Obtener informacin sobre memoria proveniente del controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Seleccione la informacin de memoria que desea . . . Conversin de INT a DINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1 9-1 9-1 9-3 9-6

. . 9-7 . . 9-8 . . 9-9

Captulo 10 Asignacin de alias


Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Visualizacin de informacin de alias. . . . . . . . . . . . . . . . . 10-2 Asignacin de un alias . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2

Captulo 11 Asignacin de una direccin indirecta


Cundo asignar una direccin indirecta . . . . . . . . . . . . . . . 11-1 Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3

Captulo 12 Almacenamiento de E/S en el bfer


Cundo almacenar E/S en el bfer. . . . . . . . . . . . . . . . . . . 12-1 Almacenamiento de E/S en el bfer . . . . . . . . . . . . . . . . . . 12-1

Captulo 13 Prueba de un proyecto


Prueba de un proyecto . . . . . . . . . . . . . Configure un driver de comunicacin . . Descargue el proyecto al controlador. . . Seleccione un modo para el controlador Correccin de fallos mayores. . . . . . . . . Guarde los cambios en lnea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1 13-1 13-3 13-5 13-6 13-6

Publicacin 1756-PM001E-ES-P - Agosto 2002

vi

Tabla de contenido

Captulo 14 Comunicacin con otro controlador


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 14-1 Cmo 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 mltiples controladores . . . . . . . . . . 14-13 Establecer la configuracin 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 configuracin . . . . . . . . . . . . . . . . . 14-17 Obtener el tamao 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

Captulo 15 Produccin de una matriz grande


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 15-1 Para producir una matriz grande . . . . . . . . . . . . . . . . . . . . 15-2

Captulo 16 Comunicacin con un dispositivo ASCII


Cundo usar este procedimiento . . . . . Cmo usar este procedimiento . . . . . . Conecte el dispositivo ASCII . . . . . . . . Configure el puerto en serie . . . . . . . . Configure el protocolo del usuario. . . . Cree tipos de datos de cadena . . . . . . . Lea los caracteres desde el dispositivo . Enve los caracteres al dispositivo . . . . Introduzca caracteres ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-1 . 16-1 . 16-2 . 16-3 . 16-5 . 16-8 . 16-9 16-14 16-21

Captulo 17 Procesamiento de caracteres ASCII


Cundo usar este procedimiento . . . . . . . . Cmo usar este procedimiento . . . . . . . . . Extraer una parte de un cdigo de barras. . Buscar un cdigo de barras . . . . . . . . . . . . Cree el tipo de datos PRODUCT_INFO . Bsqueda de caracteres . . . . . . . . . . . . Identificar el nmero de ruta . . . . . . . . Rechazar caracteres incorrectos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-1 17-1 17-2 17-4 17-5 17-6 17-8 17-9

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

vii

Introducir los ID de producto y nmeros de ruta Verificar los caracteres del cdigo de barras . . . . . . . Convertir un valor . . . . . . . . . . . . . . . . . . . . . . . . . . Descodificar un mensaje ASCII . . . . . . . . . . . . . . . . Crear una cadena . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. 17-9 17-10 17-12 17-14 17-18

Captulo 18 Forzado de elementos lgicos


Cundo usar este procedimiento . . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . . . . . Precauciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Habilitacin de forzados. . . . . . . . . . . . . . . . . . . . Inhabilitacin o eliminacin de un forzado . . . . . . Verificacin del estado de forzados . . . . . . . . . . . . . . Barra de herramientas Online . . . . . . . . . . . . . . . . Indicador LED FORCE . . . . . . . . . . . . . . . . . . . . . Instruccin GSV . . . . . . . . . . . . . . . . . . . . . . . . . . Qu elementos forzar . . . . . . . . . . . . . . . . . . . . . . . . Cundo usar un forzado de E/S . . . . . . . . . . . . . . . . . Forzado de un valor de entrada . . . . . . . . . . . . . . Forzado de un valor de salida . . . . . . . . . . . . . . . Adicin de un forzado de E/S . . . . . . . . . . . . . . . . . . Cundo usar la opcin Step Through . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Funcin Step Through en una transicin o forzado de una ruta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cundo usar un forzado de SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Forzado de una transicin . . . . . . . . . . . . . . . . . . Forzado de una ruta simultnea . . . . . . . . . . . . . . Adicin de un forzado de SFC . . . . . . . . . . . . . . . . . . Eliminacin o inhabilitacin de forzados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eliminacin de un forzado individual . . . . . . . . . . Inhabilitacin de todos los forzados de E/S y SFC . Eliminacin de todos los forzados de E/S y SFC . . Inhabilitacin de todos los forzados de E/S. . . . . . Eliminacin de todos los forzados de E/S . . . . . . . Inhabilitacin de todos los forzados de SFC . . . . . Eliminacin de todos los forzados de SFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-1 18-1 18-2 18-2 18-3 18-4 18-4 18-5 18-5 18-6 18-6 18-7 18-7 18-8

. . . . 18-9 . . . . 18-9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18-9 . 18-9 18-11 18-12 18-13 18-14 18-14 18-14 18-15 18-15 18-15 18-15

Captulo 19 Desarrollo de una rutina de fallo


Cundo usar este procedimiento . . . . . Cmo usar este procedimiento . . . . . . Crear el tipo de datos FAULTRECORD . Creacin de una rutina de fallo . . . . . . Cmo borrar un fallo mayor . . . . . . . . Obtener el tipo y cdigo de fallo . . Verificacin de un fallo menor . . . . Borrar el fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19-1 19-1 19-2 19-3 19-4 19-4 19-5 19-5

Publicacin 1756-PM001E-ES-P - Agosto 2002

viii

Tabla de contenido

Cmo borrar un fallo mayor durante el preescn . . . . Identificar cuando el controlador est en preescn Obtener el tipo y cdigo del fallo . . . . . . . . . . . . . Verificacin de un fallo especfico . . . . . . . . . . . . Borrar el fallo . . . . . . . . . . . . . . . . . . . . . . . . . . . Prueba de una rutina de fallo . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. 19-6 . 19-6 . 19-7 . 19-8 . 19-9 19-10

Captulo 20 Creacin de un fallo mayor definido por el usuario


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 20-1 Creacin de un fallo mayor definido por el usuario . . . . . . 20-1

Captulo 21 Monitorizacin de fallos menores Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 21-1


Monitorizacin de fallos menores . . . . . . . . . . . . . . . . . . . 21-1

Captulo 22 Desarrollo de una rutina de inicializacion


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 22-1 Desarrollo de una rutina de inicializacion. . . . . . . . . . . . . . 22-1

Captulo 23 Almacenamiento y carga de un proyecto usando la memoria no voltil


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . . Cmo usar este procedimiento . . . . . . . . . . . . . . . . . . . . Seleccionar un controlador que tenga memoria no voltil . Precauciones que se deben observar al usar la tarjeta 1784-CF64 Industrial CompactFlash . . . . . . . . . . . . Seleccionar cundo cargar una imagen . . . . . . . . . . . . . . Almacenar un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . Configurar la operacin de guardar . . . . . . . . . . . . . . Guardar el proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . Guardar el proyecto en lnea . . . . . . . . . . . . . . . . . . . Cargar un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verificar una carga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Borrar la memoria no voltil . . . . . . . . . . . . . . . . . . . . . . Verificar la opcin Current Load Image. . . . . . . . . . . . Cambiar la opcin Load Image . . . . . . . . . . . . . . . . . . Borrar el proyecto del controlador . . . . . . . . . . . . . . . Almacenar la imagen vaca . . . . . . . . . . . . . . . . . . . . . . 23-1 . 23-2 . 23-3 . 23-4 . 23-5 . 23-5 . 23-6 . 23-8 . 23-8 . 23-9 23-11 23-12 23-12 23-13 23-13 23-13

Captulo 24 Cmo proteger un proyecto


Cundo usar este procedimiento . . . . . . . . . . . . . . . . . . Usar proteccin de origen de rutina. . . . . . . . . . . . . . . . Seleccionar el nivel de proteccin para cada rutina . . Seleccionar el nmero de claves de origen . . . . . . . . Definir la clave o claves de origen . . . . . . . . . . . . . . Seleccionar una ubicacin para el archivo en dnde almacenar las claves de origen . . . . . . . . . . . . . . . . . Activar la funcin de proteccin de origen de RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24-1 24-1 24-4 24-4 24-5

. . 24-5 . . 24-5

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

ix

Crear un archivo para las claves de origen . . . . . . . . . Proteccin de una rutina con una clave de origen . . . . Retirar el acceso a una rutina protegida . . . . . . . . . . . Inhabilitar la proteccin de origen de rutina . . . . . . . . Obtener acceso a una rutina protegida . . . . . . . . . . . . Use RSI Security Server para proteger un proyecto . . . . . . Instalacin del software RSI Security Server. . . . . . . . . Configuracin de DCOM . . . . . . . . . . . . . . . . . . . . . . Habilitacin del software Security Server para RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importacin del archivo RSLogix5000Security.bak . . . . Definicin de acciones globales para los usuarios . . . . Definicin de acciones del proyecto para los usuarios. Aadir usuarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aadir grupos de usuarios . . . . . . . . . . . . . . . . . . . . . Asignar acceso global al software RSLogix 5000 . . . . . Asignar acciones de proyecto para nuevos proyectos RSLogix 5000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Habilitar la seguridad para un proyecto RSLogix 5000 . Asignar acceso a un proyecto RSLogix 5000 . . . . . . . . Regenerar el software RSLogix 5000, si es necesario . .

. 24-6 . 24-7 . 24-8 . 24-8 . 24-9 24-12 24-12 24-13 24-13 24-14 24-14 24-16 24-19 24-19 24-20 24-21 24-21 24-22 24-23

Apndice A Cdigos de fallo


Cundo usar este Apndice . . . . . . . . . . . . . . . . . . . . . . . . A-1 Cdigos de fallo mayor . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 Cdigos de fallos menores. . . . . . . . . . . . . . . . . . . . . . . . . A-3

Apndice B Cumplimiento de la norma IEC61131-3


Cmo usar este Apndice . . . . . . . . . . . . . . . . . . . . Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . Definicin de datos . . . . . . . . . . . . . . . . . . . . . . . . . Lenguajes de programacin . . . . . . . . . . . . . . . . . . . Conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . Portabilidad de programas segn IEC61131-3 . . . . . . Tablas sobre cumplimiento con especificaciones IEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1 B-1 B-2 B-2 B-3 B-4 B-4 B-5

Glosario Cdigos de caracteres ASCII Contraportada

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Administracin de archivos del proyecto

Creacin 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. 4. 5.

6. 7. 8.

42194

3. Seleccione el tipo de controlador. 4. Escriba un nombre para el controlador. 5. Escriba una descripcin de las operaciones que realiza el controlador (opcional). 6. Seleccione el tipo de chasis (nmero de ranuras) que contiene el controlador (no se aplica en el caso de algunos controladores). 7. Seleccione o escriba el nmero 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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

1-2

Administracin de archivos del proyecto

Cuando usted crea un proyecto, el nombre del archivo del proyecto es igual al nombre del controlador.

nombre del controlador

organizador del controlador

42371

Publicacin 1756-PM001E-ES-P - Agosto 2002

Administracin de archivos del proyecto

1-3

Guarde los cambios

A medida que vaya creando la lgica y haciendo cambios de configuracin, guarde su proyecto.
Para: guardar los cambios haga una copia del proyecto abierto pero mantenga el nombre existente del controlador haga una copia del proyecto y asigne un nombre diferente al controlador. Haga lo siguiente: En el men Archivo, seleccione Guardar. 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. 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 botn 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.

Los nombres se descargar al controlador, mientras que la documentacin (descripciones comentarios de rengln) no se descarga al controlador. Para cambiar el nombre, tamao de chasis o nmero de ranura del controlador: a. En el Organizador de controller, haga clic con el botn derecho del mouse en la carpeta Controller name_of_controller y seleccione Propiedades. b. Cambie la informacin requerida. c. Haga clic en Aceptar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

1-4

Administracin de archivos del proyecto

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Organizacin de tareas, programas y rutinas

Cundo usar este procedimiento

Use este procedimiento para realizar lo siguiente: definir la organizacin general del proyecto. seleccionar un lenguaje de programacin para cada funcin principal de la mquina o proceso. Crear las tareas, programas y rutinas en los cuales programar la lgica

Antes de comenzar

Para determinar cules lenguajes de programacin estn instalados en la versin del software RSLogix 5000: 1. Inicie el software RSLogix 5000. 2. En el men Help, seleccione About RSLogix 5000. Para aadir un lenguaje de programacin, consulte el documento ControlLogix Selection Guide, publicacin 1756-SG001.

Cmo 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 peridica Cree un programa Cree una rutina Configure una rutina como rutina principal Verifique el proyecto

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-2

Organizacin de tareas, programas y rutinas

Definiciones

Antes de usar los procedimientos descritos en este captulo, familiarcese con las definiciones.

tarea

tarea continua programa

rutina

tarea peridica

rutina principal

tarea
Una tarea proporciona informacin de programacin y prioridades para un conjunto de uno o ms programas que se ejecutan segn criterios especficos. 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 peridicas) 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 escn completo, se reinicia inmediatamente. Un proyecto no requiere una tarea continua. Si se usa, slo puede haber una tarea continua.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tareas, programas y rutinas

2-3

tarea peridica
Una tarea peridica realiza una funcin segn un rgimen especfico. Cada vez que caduca el tiempo de la tarea peridica, la tarea interrumpe la tarea continua, se ejecuta una vez y luego devuelve el control donde se interrumpi la tarea continua. El perodo de tiempo se puede configurar de 1 ms a 2000 s. La opcin predeterminada es 10 ms. Se pueden crear hasta 32 tareas peridicas 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 mltiples veces. Las tareas que tienen la misma prioridad se ejecutan segn una base de segmento de tiempo a intervalos de 1 ms. El siguiente ejemplo muestra la ejecucin de un proyecto con tres tareas. Orden de ejecucin de tareas para un proyecto con dos tareas peridicas y una tarea continua
Tarea: 1 2 3 Leyenda: La tarea se ejecuta. La tarea se interrumpe (se suspende). Tipo de tarea: 20 ms peridica 10 ms peridica continua Nivel de prioridad: Tiempo de ejecucin: 5 10 ninguno (ms bajo) 2 ms 4 ms 24 ms

EJEMPLO

Tarea 1

Tarea 2

Tarea 3 5 tiempo transcurrido (ms) 10 15 20 25 30 35 40 45 50

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-4

Organizacin de tareas, programas y rutinas

Programa
Un programa es una subdivisin 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 cdigo de ejecucin para el proyecto en un controlador (similar a un archivo de programa en un controlador PLC o SLC). Cada rutina usa un lenguaje de programacin especfico, tal como lgica 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 instruccin Jump to Subroutine (JSR).

Planifique las tareas del proyecto

Para identificar las tareas, programas y rutinas de la lgica, tome las siguientes decisiones: Defina las funciones del proyecto Asigne cada funcin a una tarea Estas decisiones generalmente son iterativas. Despus de tomar algunas decisiones iniciales, revise sus decisiones a medida que contina desarrollando el proyecto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin 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 mquina o proceso. 1. Identifique las funciones (operaciones) principales de la mquina o proceso. 2. Para cada funcin, seleccione el lenguaje de programacin ms apropiado para la funcin. Es posible que necesite revisar la lista de funciones para aprovechar los diferentes lenguajes. Use cualquier combinacin de lenguajes en el mismo proyecto.

En general, si la funcin o grupo de funciones representa: ejecucin continua o paralela de mltiples operaciones (que no tienen secuencia) operaciones booleanas o basadas en bit operaciones lgicas complejas procesamiento de comunicacin y mensajes enclavamiento de mquina el personal de mantenimiento u operaciones de servicio quizs tengan que efectuar interpretaciones para solucionar problemas de la mquina o el proceso. control de variador y proceso continuo control de lazo clculos en flujo de circuito administracin de alto nivel de mltiples operaciones secuencias de operaciones repetitivas proceso de lote control de movimiento usando texto estructurado estado de operaciones de mquina operaciones matemticas complejas procesamiento de lazo o matriz especial manejo de cadenas ASCII o procesamiento de protocolo

Entonces use este lenguaje: lgica de escalera

diagrama de bloques de funcin

Use un diagrama de funciones secuenciales (SFC)

texto estructurado

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-6

Organizacin de tareas, programas y rutinas

Asigne cada funcin a una tarea


Una vez que haya definido las funciones (operaciones) del proyecto, use opciones de tareas diferentes para activar la ejecucin de cada funcin. 1. Determine el impulso de cada funcin (cundo se va a ejecutar la funcin). 2. Segn el impulso de la funcin, seleccione una tarea en la cual se va a ejecutar la funcin:
Si una funcin se ejecuta: a un rgimen constante (por ej., ejecutar un lazo PID cada 100 ms) muy rpidamente cuando ocurre un evento especfico o un conjunto de condiciones lgicas todo el tiempo cuando ocurre un fallo suficientemente asigne la funcin a una rutina de fallo severo para que el controlador se desactive Vea Desarrollo de una rutina de falloen la pgina 19-1. asigne la funcin a una rutina dentro de la tarea continua (por ej., MainTask) Entonces: asigne la funcin a una rutina dentro de una tarea peridica

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tareas, programas y rutinas

2-7

Use el Controller Organizer

El Controller Organizer proporciona una descripcin general grfica del proyecto. A medida que usted desarrolle su proyecto, ir realizando las siguientes acciones comunes: Abra o cierre una carpeta Abra una rutina

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.

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 +.

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 .

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-8

Organizacin de tareas, programas y rutinas

Abra una rutina

Para abrir una rutina, haga doble clic en la rutina. Si la rutina apare atenuada, no podr abrir la rutina.

Si la rutina no se abre, vea la lnea de estado del software RSLogix 5000:


Si la lnea de estado dice: Failed to open the routine editor not installed Source not available Entonces: 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, publicacin 1756-SG001. Para abrir la rutina, necesita su clave de origen. Vea Usar proteccin de origen de rutina en la pgina 24-1. Usted puede: ejecutar la rutina mostrar las propiedades de la rutina identificar referencias cruzadas con respecto a la lgica en la rutina

IMPORTANTE

Si el origen de una rutina no est disponible, no exporte el proyecto. Un archivo de exportacin (.L5K) contiene slo rutinas donde el cdigo de origen est disponible. Si usted exporta un proyecto donde el cdigo de origen no est disponible para todas las rutinas, no podr restaurar la totalidad del proyecto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tareas, programas y rutinas

2-9

Cree una tarea peridica

Una tarea peridica realiza una funcin o funciones segn un rgimen especfico. Asegrese de que el perodo de tiempo sea ms largo que la suma de los tiempos de ejecucin de todos los programas asignados a la tarea. Si el controlador detecta que ocurre una activacin de la tarea peridica para una tarea que ya est en operacin, ocurre un fallo menor.

ATENCIN

1.

1. En el Controller Organizer, haga clic con el botn derecho del mouse en la carpeta Tasks y seleccione New Task.

2.

3. 4.

5. 6.

2. En el cuadro de texto Name, escriba un nombre para la tarea. 3. En la lista Type, seleccione Periodic (opcin predeterminada). 4. En la lista Watchdog, escriba el tiempo de watchdog para la tarea.

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-10

Organizacin de tareas, programas y rutinas

5. En el cuadro de texto Rate, escriba el rgimen 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 mltiples programas para una tarea.

1.

1. En el Controller Organizer, haga clic con el botn derecho del mouse en la tarea que ejecutar el programa y seleccione New Program.

2.

2. En el cuadro de texto Name, escriba un nombre para el programa. 3. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tareas, programas y rutinas

2-11

Cree una rutina

Cada programa requiere por lo menos una rutina. Use una rutina para ejecutar la lgica.

1.

1. En el Controller Organizer, haga clic con el botn derecho del mouse en el programa que ejecutar la rutina y seleccione New Routine.

2.

3.

2. En el cuadro de texto Name, escriba un nombre para la rutina. 3. En la lista Type, seleccione el lenguaje de programacin para la rutina 4. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

2-12

Organizacin 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.

1. En el Controller Organizer, haga clic con el botn derecho del mouse en el programa que ejecutar la rutina y seleccione New Properties.

2.

3.

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 peridicamente 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 descripcin indicada en la ventana Results. c. Vaya al paso 1. 3. Para cerrar la ventana Results, presione [Alt] + [1].

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Organizacin de tags

Planifique los tags

Los controladores Logix5000 almacenan datos en tags (a diferencia de archivos de datos fijos, los cuales se direccionan numricamente). Con los tags usted puede organizar los datos para reflejar la maquinaria documentar (mediante nombres de tag) la aplicacin a medida que se va desarrollando Cuando se crea un tag se asignan las siguientes propiedades:
Tabla 3.A Propiedades de tag Propiedad: alcance nombre tipo de datos Descripcin: define que rutinas pueden tener acceso a los datos identifica a los datos (tags con diferentes alcances pueden tener el mismo nombre). define la organizacin de los datos, tal como nmero de coma flotante, entero o bit

La siguiente tabla resume los tipos de datos ms comunes y cundo usarlos.


Tabla 3.B Data Types Para: dispositivo analgico en modo de coma flotante dispositivo analgico en modo entero (para velocidades de muestreo muy rpidas) Caracteres ASCII bit contador seal de E/S digital nmero de coma flotante entero (nmero entero) secuenciador temporizador Seleccione: REAL INT string BOOL COUNTER BOOL REAL DINT CONTROL TIMER

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-2

Organizacin de tags

Use la siguiente tabla para organizar los datos:


Para un: grupo de atributos comunes usados por ms de una mquina grupo de datos con el mismo tipo de datos valor nico dispositivo de E/S Use un: tipo de datos definido maestro (CST) tag de un elemento nico Referencia: Vea Creacin de un tipo de datos definido por el usuario en la pgina 3-8. Vea Creacin de un tag en la pgina 3-10.

Los siguientes ejemplos muestran los diferentes niveles a los cuales se pueden organizar los datos: Tags de un solo elemento, en la pgina 3-3 Matriz de una sola dimensin, en la pgina 3-4 Matriz de dos dimensiones, en la pgina 3-5 Tipo de datos definido por el usuario que almacena una receta, en la pgina 3-6 Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar una mquina, en la pgina 3-7

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-3

EJEMPLO

Tags de un solo elemento

dispositivo de E/S analgico valor entero acenamiento contador temporizador tivo digital
42364

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-4

Organizacin de tags

EJEMPLO

Matriz de una sola dimensin En este ejemplo, una sola instruccin de temporizacin temporiza la duracin 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.

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 . elementos de timer_presets

Esta matriz contiene seis elementos del tipo de datos DINT. seis DINT

42367

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-5

EJEMPLO

Matriz de dos dimensiones Una perforadora puede perforar de uno a cinco agujeros en un libro. La mquina requiere un valor para la posicin de cada agujero desde el borde delantero del libro. Para organizar los valores en configuraciones, se usa una matriz de dos dimensiones. El primer subndice indica el agujero al cual corresponde el valor y el segundo subndice indica cuntos agujeros se perforarn (uno a cinco).
subndice de segunda dimensin 0 subndice de primera dimensin 0 1 2 3 4 5 1.5 2.5 8.0 1.25 5.5 9.75 1.25 3.5 7.5 9.75 1.25 3.5 5.5 7.5 9.75 Posicin del primer agujero desde el borde delantero del libro Posicin del segundo agujero desde el borde delantero del libro Posicin del tercer agujero desde el borde delantero del libro Posicin del cuarto agujero desde el borde delantero del libro Posicin del quinto agujero desde el borde delantero del libro 1 2 3 4 5 Descripcin

En la ventana Tags, los elementos estn en el orden indicado a continuacin.

Esta matriz contiene una cuadrcula de elementos de dos dimensiones, seis elementos por seis elementos.

42367

La dimensin del extremo derecho se incrementa a su valor mximo y luego vuelve a empezar. Cuando vuelve a empezar la dimensin del extremo derecho, la dimensin de la izquierda aumenta por un valor de uno.

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-6

Organizacin 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 combinacin de tipos de datos (REAL, DINT, BOOL, etc.), se usa un tipo de datos definido por el usuario.
Nombre (del tipo de datos): TANK Nombre del miembro temp banda muerta paso step_time preseleccionado combinacin Tipo de datos REAL REAL DINT TIMER DINT[6] BOOL

Una matriz basada en este tipo de datos se vera como la siguiente:

matriz de recetas

primera receta

Esta matriz contiene tres elementos del tipo de datos TANK.

miembros de la receta

42368

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-7

EJEMPLO

Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar una mquina Puesto que varias estaciones de perforacin requieren la siguiente combinacin de datos, se crea un tipo de datos definido por el usuario.
Nombre (del tipo de datos): DRILL_STATION Nombre del miembro part_advance hole_sequence type hole_position depth total_depth Tipo de datos BOOL CONTROL DINT REAL REAL REAL

Una matriz basada en este tipo de datos se vera como la siguiente:

matriz de taladros

primer taladro

Esta matriz contiene cuatro elementos del tipo de datos DRILL_STATION.

datos para la taladradora

42583

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-8

Organizacin de tags

Creacin de un tipo de datos definido por el usuario

Para crear un tipo de datos definido por el usuario:

42195

1. Haga clic con el botn derecho del mouse en Definido por el usuario y seleccione Nuevo Data type.

2. 3.

42196

4.

5.

6.

7.

2. Introduzca un nombre para el tipo de datos. 3. Introduzca una descripcin (opcional). 4. Escriba el nombre del primer miembro.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin 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 nmero de elementos en la matriz. EJEMPLO Si el miembro es una matriz de seis DINT, escriba DINT[6].

6. Para mostrar el valor (s) del miembro en un estilo diferente (base), seleccione el estilo. 7. Escriba una descripcin para el miembro (opcional). 8. Haga clic en Aplicar. 9. Ms miembros?
Si: S No Entonces: Repita los pasos 4. a 8. Haga clic en Aceptar.

Notas:
Si incluye miembros que representan dispositivos de E/S, debe usar la lgica 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 bfer en la pgina 12-1. Cuando use los tipos de datos BOOL, SINT o INT, coloque los miembros que usan el mismo tipo de datos en secuencia:
ms eficiente BOOL BOOL BOOL DINT DINT menos eficiente BOOL DINT BOOL DINT BOOL

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-10

Organizacin de tags

Creacin de un tag

Para crear un tag (incluyendo una matriz): 1. En el men Lgica, seleccione Editar tag.

2.

42350

3.

4.

5.

2. Seleccione un alcance para el tag:


Si usar el tag: en ms de un programa dentro del proyecto como productor o consumidor en un mensaje en solamente un programa dentro del proyecto programa que usar el tag Entonces seleccione: name_of_controller (controlador)

3. Introduzca un nombre para el tag. 4. Introduzca el tipo de datos:


Si el tag: no es un maestro (CST) (archivo) una dimensin matriz una matriz de dos dimensiones una matriz de tres dimensiones Entonces escriba: data_type data_type[x] data_type[x,y] data_type[x,y,z]

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 nmero de elementos en la primera dimensin. y es el nmero de elementos en la segunda dimensin. y es el nmero de elementos en la tercera dimensin. 5. Escriba una descripcin (opcional).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-11

Creacin de tags usando Microsoft Excel

Tambin puede usar un software de hojas de clculo, tal como Microsoft Excel para crear y editar tags. Esto permite aprovechar las funciones de edicin del software de hojas de clculo. Para crear tags usando Excel: 1. Abra el proyecto RSLogix 5000. 2. Cree varios tags. (Esto ayuda a formatear la hoja de clculo Excel). 3. En el men Herramientas, seleccione Exportar tag.

Los tags se guardan en esta carpeta.

4.

5.

42361

4. Apunte el nombre del archivo de exportacin (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 exportacin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-12

Organizacin de tags

TIPO TAG TIPO TAG TAG TAG TAG TAG

ALCANCE ALCANCE MainProgram MainProgram MainProgram MainProgram MainProgram

NOMBRE in_cycle NOMBRE conveyor_alarm conveyor_on drill_1 hole_position machine_on

DESCRIPCIN DESCRIPCIN

TIPO DE DATOS DINT TIPO DE DATOS BOOL BOOL DRILL_STATION REAL[6,6] BOOL

8.

9.

10.

11.

8. Introduzca TAG 9. Identifique el alcance del tag:


Si el alcance es: controlador programa Entonces: Deje esta celda vaca. Introduzca el nombre del programa.

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. (Mantngalo como formato .CSV). 14. En el software RSLogix 5000, en el men Herramientas, seleccione Importar tag.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-13

15. Seleccione el archivo que contiene los tags y haga clic en Importar. Se importan los tags al proyecto. La seccin inferior de la ventana RSLogix 5000 muestra los resultados. Los tags se pueden configurar para comunicarse directamente con otros controladores:
Para: enviar datos por el backplane y la red ControlNet a un intervalo especificado recibir datos de otro controlador por el backplane o la red ControlNet a un intervalo especificado Use un: tag producido tag consumido

Si piensa usar tags producidos o consumidos, debe seguir pautas adicionales a medida que organiza los tags. Vea Comunicacin con otro controlador en la pgina 14-1. Los siguientes tipos de datos enteros tambin estn 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 ejecucin. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT.

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-14

Organizacin de tags

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Diseo de un diagrama de funciones secuenciales

Cundo usar este procedimiento

Use este procedimiento para disear 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 travs de los cuales progresa el sistema. Use el SFC para: organizar la especificacin 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 representacin grfica del proceso, es ms fcil de organizar y leer que una versin de texto. Adems, el software RSLogix 5000 le permite: aadir notas que aclaran los pasos o capturan informacin importante para uso posterior imprimir el SFC para compartir la informacin con otras personas Puesto que los controladores Logix5000 son compatibles con los SFC, no necesita introducir la especificacin por segunda vez. Usted programa el sistema tal como lo especifica. Usar un SFC para programar el proceso tiene las siguientes ventajas: divisin grfica de procesos en sus componentes lgicos principales (pasos) ejecucin repetida ms rpida de componentes individuales de la lgica pantalla ms simple menos tiempo para disear y depurar el programa resolucin de problemas ms rpida y ms fcil acceso directo al punto en la lgica donde una mquina entr en fallo actualizaciones y mejoras fciles

Cmo 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 informacin sobre los procedimientos especficos para introducir un SFC, vea Programacin de un diagrama de funciones secuenciales en la pgina 5-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-2

Diseo 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 especficas. 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 funcin principal del proceso. Contiene las acciones que ocurren en un tiempo, fase o estacin especfica. Una accin es una de las funciones que realiza un paso.

Una transicin es una condicin verdadera o falsa que le indica al SFC cundo ir al siguiente paso. Un calificador determina cundo comienza y se detiene una accin.

Una bifurcacin simultnea ejecuta ms de 1 paso simultneamente.

Mostrar u ocultar una accin.

La instruccin JSR llama a una subrutina (contina en la siguiente pgina)

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-3

Figura 4.2 Ejemplo de SFC (contina de la pgina anterior) Una bifurcacin de seleccin selecciona entre rutas de ejecucin diferentes.

Un cuadro de texto le permite aadir texto descriptivo o notas a su SFC.

Un paro le permite parar y esperar que se reinicie un comando. 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 pgina anterior.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-4

Diseo de un diagrama de funciones secuenciales

Cmo disear un SFC: Descripcin general

Para disear un SFC, se realizan las siguientes tareas: Definir las tareas Seleccionar cmo ejecutar el SFC Definir los pasos del proceso Organizar los pasos Aadir acciones para cada paso Describir cada accin en pseudocdigo Seleccionar un calificador para una accin Definir las condiciones de la transicin Transicin despus 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 cundo retornar al OS/JSR Pausa o restablecer un SFC Las secciones restantes de este captulo describen en detalle cmo realizar cada tarea:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-5

Definir las tareas

El primer paso en el desarrollo de un SFC es separar la configuracin y regulacin de dispositivos de los comandos para esos dispositivos. Los controladores Logix5000 le permiten dividir el proyecto en una tarea continua y mltiples tarea peridicas. 1. Organice el proyecto de la siguiente manera:
Estas funciones: configurar y regular dispositivos comandar de un estado especfico para un dispositivo establecer una secuencia de la ejecucin del proceso Vaya aqu: tarea peridica SFC en la tarea continua

2. Para las funciones que van en una tarea peridica, agrupe las funciones de acuerdo a regmenes de actualizacin similares. Cree una tarea peridica para cada rgimen de actualizacin. Por ejemplo, los dispositivos de 2 estados pueden requerir actualizaciones ms rpidas que los lazos PID. Use tareas peridicas separadas para cada uno. El siguiente ejemplo muestra un proyecto que usa dos tareas peridicas para regular motores, vlvulas y lazos de temperatura. El proyecto usa un SFC para controlar el proceso. Definir las tareas

EJEMPLO

Esta tarea (peridica) usa diagramas de bloques de funcin para activar o desactivar motores y abrir o cerrar vlvulas. El SFC en MainTask emite el comando de estado para cada dispositivo. Los diagramas de bloques de funcin establecen y mantienen dicho estado.

Esta tarea (peridica) usa diagramas de bloques de funcin para configurar y regular los lazos de temperatura. El SFC en MainTask emite los comandos de temperatura. Los diagramas de bloques de funcin establecen y mantienen dichas temperaturas. Esta tarea (continua) ejecuta el diagrama de funciones secuenciales (SFC). El SFC emite los comandos de estado especfico o temperatura para cada dispositivo o lazo de temperatura.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-6

Diseo de un diagrama de funciones secuenciales

Seleccionar cmo ejecutar el SFC

Para ejecutar un SFC, configrelo ya sea como rutina principal de un programa o llmelo como subrutina.
Si: El SFC es la nica rutina en el programa. El SFC llama a todas las otras rutinas del programa. El programa requiere que otras rutinas se ejecuten independientemente del SFC. El SFC usa acciones booleanas. Entonces: Configure el SFC como la rutina principal del programa. 1. Configure otra rutina como la rutina principal del programa. 2. Use la rutina principal para llamar al SFC como subrutina.

Si el SFC usa acciones booleanas, entonces otra lgica debe ejecutarse independientemente del SFC y monitorear los bits de estado del SFC.

Definir los pasos del proceso

Un paso representa una funcin principal del proceso. Contiene las acciones que ocurren en un tiempo, fase o estacin especfica.

Paso Un paso se ejecuta continuamente hasta que una transicin le indique al SFC que vaya al siguiente paso.

Acciones
Hacer esto

MEZCLAR

y hacer esto

Transicin Si es verdadera, ir al siguiente paso. Si es falsa, repetir el paso anterior

Una transicin termina el paso. La transicin define las condiciones fsicas que deben ocurrir o cambiar para ir al siguiente paso.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo 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.
primera pasada Pintar segunda pasada Transfer_In tercera pasada Transfer_In

Pintar

Paint_Flow

Air_Flow

Elec_Charg

Limpiar Transfr_Out

Limpiar Transfr_Out

Cuando usted inicialmente abre una rutina de SFC, sta contiene un paso y transicin inicial. Use este paso para inicializar el proceso.
paso inicial

transicin inicial

Para identificar un paso, busque un cambio fsico en el sistema, tal como una nueva pieza que est en posicin, una temperatura alcanzada, un tiempo predeterminado alcanzado o una seleccin de receta que haya ocurrido. El paso consta de las acciones que se realizan antes de dicho cambio. Detngase cuando los pasos estn in incrementos significativos. Por ejemplo:
Esta organizacin de pasos: produce_solution set_mode, close_outlet, set_temperature, open_inlet_a, close_inlet_a, set_timer, reset_temperature, open_outlet, reset_mode preset_tank, add_ingredient_a, cook, drain Representa: probablemente demasiado grande probablemente demasiado pequeo probablemente correcto

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-8

Diseo de un diagrama de funciones secuenciales

Estructura SFC_STEP
Cada paso usa un tag para proporcionar informacin acerca del paso. Acceda a esta informacin ya sea mediante el cuadro de dilogo Step Properties o la ficha Monitor Tags de la ventana Tags:
Si desea: Entonces verifique o establezca este miembro: T Tipo de datos: Detalles:

determinar cunto tiempo estuvo activo un paso (milisegundos)

DINT

Cuando un paso se activa, el valor del temporizador (T) se restablece y luego comienza a contar progresivamente en milisegundos. El temporizador contina contando progresivamente hasta que el paso se desactiva, independientemente del valor preseleccionado (PRE). 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 opcin, introduzca una expresin numrica que calcule el tiempo durante la ejecucin.

indicar cuando el paso ha estado activo durante un tiempo especfico (milisegundos)

PRE

DINT

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. 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 funcin de alarma, active (seleccione) el bit AlarmEnable (AlarmEn). Como opcin, introduzca una expresin numrica que calcule el tiempo durante la ejecucin.

indicar si un paso no se ejecut el tiempo suficiente

LimitLow

DINT

AlarmEn AlarmLow

BOOL BOOL

Para usar los bits de alarma, active (seleccione) el bit AlarmEnable (AlarmEn). 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 funcin de alarma, active (seleccione) el bit AlarmEnable (AlarmEn). 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 funcin de alarma, active (seleccione) el bit AlarmEnable (AlarmEn). Como opcin, introduzca una expresin numrica que calcule el tiempo durante la ejecucin.

indicar si un paso se est ejecutando demasiado tiempo

LimitHigh

DINT

AlarmEn AlarmHigh

BOOL BOOL

Para usar los bits de alarma, active (seleccione) el bit AlarmEnable (AlarmEn). 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 funcin de alarma, active (seleccione) el bit AlarmEnable (AlarmEn).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-9

Si desea:

Entonces verifique o establezca este miembro: X

Tipo de datos:

Detalles:

hacer algo mientras el paso est activo (incluyendo el primer y ltimo escn)

BOOL

El bit X est activado todo el tiempo que el paso est activo (ejecutndose). Normalmente, recomendamos usar una accin 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 escn del paso. Normalmente, recomendamos usar una accin con un calificador P1 Pulse (Rising Edge) para lograr esto.

hacer algo mientras el paso est activo, excepto en el primer y ltimo escn hacer algo una vez en el ltimo escn del paso

SA

BOOL

El bit SA est activo cuando el paso est activo, excepto durante el primer y ltimo escn del paso. El bit LS se activa durante el ltimo escn del paso. Use este bit slo en caso de hacer lo siguiente: en el cuadro de dilogo Controller Properties, ficha SFC Execution, establezca Last Scan of Active Step en Dont Scan o Programmatic reset. Normalmente, recomendamos usar una accin con un calificador P0 Pulse (Falling Edge) para lograr esto.

LS

BOOL

determinar el receptor de una instruccin SFC Reset (SFR)

Reset

BOOL

Una instruccin SFC Reset (SFR) restablece el SFC en un paso o paro que la instruccin especifica. El bit de restablecimiento indica a cul paso o paro ir el SFC para comenzar la ejecucin nuevamente. Una vez que el SFC se ejecuta, el bit de restablecimiento se restablece. selo para fines de diagnstico. El controlador restablece este valor slo 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 alimentacin elctrica. selo para fines de diagnstico.

determinar el tiempo mximo que un paso estuvo activo durante cualquiera de sus ejecuciones determinar si el valor del temporizador (T) se reinicia a un valor negativo determinar cuntas veces se activ un paso

TMax

DINT

OV

BOOL

Count

DINT

Esto no es un conteo de escanes del paso. El conteo incrementa cada vez que se activa el paso. Se incrementa nuevamente slo despus que el paso se desactiva y se vuelve a activar. El conteo se restablece slo si usted configura el SFC para que se reinicie en el paso inicial. Con esa configuracin, se restablece cuando el controlador cambia del modo Programa al modo Marcha.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-10

Diseo de un diagrama de funciones secuenciales

Si desea:

Entonces verifique o establezca este miembro: Status

Tipo de datos:

Detalles:

usar un tag para los diversos bits de estado de este paso

DINT

Para este miembro: Use este bit: Reset AlarmHigh AlarmLow AlarmEn OV DN LS SA FS X 22 23 24 25 26 27 28 29 30 31

El siguiente diagrama muestra la relacin de los bits X, FS, SA y LS.

step_name.X

step_name.FS

step_name.SA

step_name.LS primer escn ltimo escn

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-11

Organizar los pasos

Una vez que haya definido los pasos del proceso, organcelos en secuencias, bifurcaciones simultneas, bifurcaciones de seleccin o lazos.

Descripcin general
Para: Ejecutar 1 o ms pasos en secuencia: Uno se ejecuta repetidamente. Luego el siguiente se ejecuta repetidamente. Use esta estructura: Secuencia Con estas consideraciones: El SFC verifica la transicin 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 Bifurcacin de seleccin o grupos de pasos dependiendo de las condiciones de la lgica Ejecutar un paso o pasos, o saltar el paso o pasos, dependiendo de las condiciones de la lgica

Es correcto que una ruta no tenga pasos y tenga slo una transicin. Esto le permite al SFC saltar la bifurcacin de seleccin. Como opcin predeterminada, el SFC verifica de izquierda a derecha las transiciones que inician cada ruta. ste toma la primera ruta verdadera. Si no hay transiciones verdaderas, el SFC repite el paso previo. El software RSLogix 5000 le permite cambiar el orden en el cual el SFC verifica las transiciones.

Ejecutar 2 o ms pasos simultneamente. Todas las rutas deben terminar antes de que contine el SFC

Bifurcacin simultnea

Una transicin nica termina la bifurcacin. El SFC verifica la transicin final despus de que el ltimo paso en cada ruta se haya ejecutado por lo menos una vez. Si la transicin es falsa, el SFC repite el paso previo. Conecte el cable al paso o bifurcacin simultnea donde desea ir. No conectar en, fuera de, ni entre una bifurcacin simultnea.

Realizar un lazo a un paso previo

Conectar a un paso previo

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-12

Diseo de un diagrama de funciones secuenciales

A continuacin se proporcionan algunos ejemplos de estructuras de SFC para situaciones diferentes:


Ejemplo de situacin: Las estaciones 45 y 46 de una lnea de ensamblado funcionan con piezas simultneamente. Cuando ambas estaciones han realizado su trabajo, las piezas se mueven hacia abajo 1 estacin. Ejemplo de solucin: Bifurcacin simultnea

45

46

Dependiendo del cdigo de construccin, una estacin perfora o pule.

Bifurcacin de seleccin

Perforar

Pulir

Para simplificar mi programacin, deseo separar las transferencias de bloques y comunicaciones de otra lgica de control Todas ocurren al mismo tiempo.

Bifurcacin simultnea

CONTROL

Comunicacion

BTs

En un rea de tratamiento trmico, la temperatura sube a un rgimen especfico, se mantiene durante un tiempo especfico y luego se enfra a un rgimen especfico.

Secuencia
Rampa Mantener Enfriar

En la estacin 12, la mquina perfora, hace la rosca y fija con perno una pieza. Los pasos ocurren uno despus del otro.

Secuencia
Perforar Hacer Fijar con

El paso 12 inspecciona un proceso para determinar si la mezcla de Cable productos qumicos es correcta. Si es correcta, continuar con los pasos restantes. Si no es correcta, ir al comienzo del SFC y purgar el sistema.

Inicio del SFC

Paso 12

No es correcto

Correcto

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-13

Secuencia
Una secuencia es un grupo de pasos que se ejecutan uno despus del otro.
Hacer esto

LUEGO esto

LUEGO esto

Para obtener un diagrama detallado de la ejecucin de una secuencia de pasos, vea la Figura 4.5 en la pgina 4-46. Para anular el estado de una transicin, vea Forzado de elementos lgicos en la pgina 18-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-14

Diseo de un diagrama de funciones secuenciales

Bifurcacin de seleccin
Una bifurcacin de seleccin representa una opcin entre una ruta (paso o grupo de pasos) y otra ruta (por ej., una estructura OR). Solamente una ruta se ejecuta. De manera predeterminada, el SFC verifica las transiciones de izquierda a derecha. El SFC toma la primera ruta verdadera. El software RSLogix 5000 le permite cambiar el orden en el cual el SFC verifica las transiciones. Vea Programacin de un diagrama de funciones secuenciales en la pgina 5-1.

lnea horizontal simple cada ruta tiene su propia transicin Hacer esto O esto O esto

Esta ruta salta la estructura (no hace nada).

lnea horizontal simple

Para obtener un diagrama detallado de la ejecucin de una bifurcacin de seleccin, vea la Figura 4.7 en la pgina 4-48. Para anular el estado de una transicin, vea Forzado de elementos lgicos en la pgina 18-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-15

Bifurcacin simultnea
Una bifurcacin simultnea representa las rutas (pasos o grupos de pasos) que ocurren simultneamente (por ej., una estructura AND). Todas las rutas se ejecutan. Todas las rutas deben terminar antes de continuar con el SFC El SFC verifica la transicin despus de que el ltimo paso de cada ruta se haya ejecutado por lo menos una vez.

una transicin para todas las rutas

lnea horizontal doble hacer esto Y esto Y esto

lnea horizontal doble

Para obtener un diagrama detallado de la ejecucin de una bifurcacin simultnea, vea la Figura 4.6 en la pgina 4-47. Para anular la bifurcacin y evitar la ejecucin de una ruta, vea Forzado de elementos lgicos en la pgina 18-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-16

Diseo de un diagrama de funciones secuenciales

Conectar a un paso previo


Adems de conectar pasos en secuencias, bifurcaciones simultneas y bifurcaciones de seleccin, puede conectar un paso a un punto previo en el SFC. Esto le permite: efectuar un lazo y repetir pasos regresar al comienzo del SFC y comenzar nuevamente Por ejemplo:

ir a este paso

Si esta condicin es verdadera

lazo simple que repite todo el SFC

ruta de una bifurcacin de seleccin que regresa a un paso previo

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-17

Aadir acciones para cada paso

Use accins para dividir un paso en las funciones diferentes que realiza el paso, tales como emitir un comando para el motor, establecer el estado de una vlvula o colocar un grupo de dispositivos en un modo especfico.

Paso

Acciones
Hacer esto

MEZCLAR
y hacer esto

Cmo desea usar la accin?


Hay dos tipos de acciones:
Si desea: ejecutar texto estructurado directamente en el SFC llamar a una subrutina usar la opcin de restablecimiento automtico para restablecer datos despus de salir de un paso solamente establecer un bit y programar otra lgica para monitorear el bit a fin de determinar cundo ejecutar. Usar una accin booleana Entonces: Usar una accin no booleana

Usar una accin no booleana


Una accin no booleana contiene la lgica para la accin. Utiliza texto estructurado para ejecutar asignaciones e instrucciones o llamar a una subrutina. Con las acciones no booleanas, usted tambin tiene la opcin de post-escn (restablecer automticamente) las asignaciones e instrucciones antes de salir de un paso: Durante el post-escn el controlador ejecuta las asignaciones e instrucciones como si todas las condiciones fueran falsas. El controlador post-escanea tanto el texto estructurado incorporado como cualquier subrutina llamada por la accin. Para restablecer automticamente asignaciones e instrucciones, vea Desactivar un dispositivo al final de un paso en la pgina 4-29.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-18

Diseo de un diagrama de funciones secuenciales

Para programar una accin no booleana, existen las siguientes opciones:


Si desea: ejecutar la lgica sin rutinas adicionales usar construcciones, instrucciones y asignaciones de texto estructurado Entonces: Texto estructurado incorporado. Por ejemplo:

Cuando el paso S_Complete_the_Batch est activo, la accin S_Open_Outlet se ejecuta. La accin establece el tag Outlet.ProgCommand igual a 1, lo cual abre la vlvula de salida. reutilizar lgica en mltiples pasos usar otro lenguaje para programar la accin, tal como lgica de escalera anidar un SFC Llame a una subrutina. Por ejemplo:

Cuando el paso S_Complete_the_Batch est activo, la accin S_Open_Outlet se ejecuta. La accin llama a la rutina Open_Outlet. Rutina Open_Outlet

Cuando la rutina Open_Outlet se ejecuta, la instruccin OTE establece el tag Outlet.ProgCommand igual a 1, lo cual abre la vlvula de salida.

No se puede reutilizar una accin no booleana dentro del mismo SFC excepto para restablecer una accin almacenada. Slo se permite una instancia de una accin no booleana especfica por SFC.

Usar una accin booleana


Una accin booleana no contiene la lgica para la accin. Simplemente establece un bit en su tag (estructura SFC_ACTION). Para realizar la accin, otra lgica debe monitorear el bit y ejecutarse cuando el bit se active. Con las acciones booleanas usted tiene que restablecer las asignaciones e instrucciones asociadas con la accin. Puesto que no existe vnculo entre la accin y la lgica que realiza la accin, la opcin de restablecimiento automtico no afecta las acciones booleanas.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-19

ste es un ejemplo:

Cuando el paso S_Complete_the_Batch est activo, la accin S_Open_Outlet se ejecuta. Cuando la accin est activa, su bit Q se activa.

Una rutina de lgica de escalera monitorea el bit Q (S_Open_Outlet.Q). Cuando el bit Q se activa, la instruccin JSR se ejecuta y abre la vlvula de salida.

Se puede reutilizar una accin booleana mltiples veces dentro del mismo SFC.

Estructura SFC_ACTION
Cada accin (no booleana y booleana) utiliza un tag para proporcionar informacin acerca de la accin. Acceda a esta informacin ya sea mediante el cuadro de dilogo Action Properties o la ficha Monitor Tags de la ventana Tags:
Si desea: Entonces verifique o establezca este miembro: Q Tipo de datos: Detalles:

determinar cundo est activa la accin

BOOL

El estado del bit Q depende de si la accin es una accin booleana o una accin no booleana: Si la accin es: booleana Entonces el bit Q est: activado (1) durante todo el tiempo que la accin est activa, incluyendo el ltimo escn de la accin activado (1) mientras la accin est activa, pero desactivado (0) en el ltimo escn de la accin

no booleana

Si va a usar un bit para determinar cundo est activa una accin, use el bit Q. A determinar cunto tiempo estuvo activo una accin (milisegundos) T BOOL DINT El bit A est activado todo el tiempo que la accin est activa Cuando una accin activa, el valor del temporizador (T) se restablece y luego comienza a contar progresivamente en milisegundos. El temporizador contina contando progresivamente hasta que la accin se desactiva, independientemente del valor preseleccionado (PRE). Introduzca el tiempo lmite o el retardo en el miembro preseleccionado (PRE). La accin comienza o se detiene cuando el temporizador (T) llega al valor preseleccionado. Como opcin, introduzca una expresin numrica que calcule el tiempo durante la ejecucin.

usar uno de los siguientes calificadores: L, SL, D, DS, SD

PRE

DINT

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-20

Diseo de un diagrama de funciones secuenciales

Si desea:

Entonces verifique o establezca este miembro: Count

Tipo de datos:

Detalles:

determinar cuntas veces se activ una accin

DINT

Esto no es un conteo de escanes de la accin. El conteo incrementa cada vez que se activa la accin. Se incrementa nuevamente slo despus que la accin se desactiva y se vuelve a activar. El conteo se restablece slo si usted configura el SFC para que se reinicie en el paso inicial. Con esa configuracin, se restablece cuando el controlador cambia del modo Programa al modo Marcha. Para este miembro: Use este bit: Q A 30 31

usar un tag para los diversos bits de estado de esta accin

Estado

DINT

Describir cada accin en pseudocdigo

Para organizar la lgica para una accin, primero describa la accin en pseudocdigo. Si no est familiarizado con el pseudocdigo, siga estas pautas: Use una serie de instrucciones cortas que describan exactamente lo que debe suceder. Use trminos o smbolos tales como: if, then, otherwise, until, and, or, =, >, <. Coloque en secuencia las instrucciones en el orden en que se deben ejecutar. Si fuera necesario, asigne nombre a las condiciones para verificar la primera (when 1st/cundo primero) y luego la accin que se realizar en segundo lugar (what 2nd/qu segundo). Introduzca el pseudocdigo en el cuerpo de la accin. Despus de introducir el pseudocdigo, puede: Refinar el pseudocdigo para que se ejecute como texto estructurado. Usar el pseudocdigo para disear la lgica y dejar el pseudocdigo como comentarios. Puesto que todos los comentarios de texto estructurado se descargan al controlador, el pseudocdigo siempre est disponible como documentacin para la accin. Para convertir el pseudocdigo a comentarios de texto estructurado, aada los siguientes smbolos de comentarios:
Para un comentario: en una sola lnea que abarque ms de una lnea Use uno de estos formatos: //comment (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-21

Seleccionar un calificador para una accin

Cada accin (no booleana y booleana) utiliza un calificador para determinar cundo comienza y se detiene. El calificador predeterminado es Non-Stored. La accin comienza cuando se activa el paso y se detiene cuando se desactiva el paso. Para cambiar cundo comienza o se detiene una accin, asigne un calificador diferente:

Tabla 4.1 Seleccionar un calificador para una accin Si desea que la accin: Y: Entonces asigne este calificador: N P1 l S SL Lo cual significa: No almacenado Pulso (flanco ascendente) Tiempo limitado Almacenado Almacenado y tiempo limitado Retardo de tiempo Retardado y almacenado Almacenado y retardo de tiempo Pulso Pulso (flanco descendente) Restablecer

comience cuando el paso se active

se detenga cuando el paso se desactive se ejecute slo una vez se detenga antes de que se desactive el paso o cuando se desactive el paso permanezca activa hasta que una accin Reset desactive esta accin permanezca activa hasta que una accin Reset desactive esta accin o caduque un tiempo especfico, aunque el paso se desactive

comience un tiempo especfico despus que el paso se active y el paso contine activo

se detenga cuando el paso se desactive permanezca activa hasta que una accin Reset desactive esta accin

D DS SD

comience un tiempo especfico despus que el paso se active, aunque el paso se desactive antes de este tiempo se ejecute una vez cuando el paso se active comience cuando el paso se desactive desactive (restablezca) una accin almacenada: S Almacenado SL Almacenado y tiempo limitado DS Retardado y almacenado SD Almacenado y retardo de tiempo

permanezca activa hasta que una accin Reset desactive esta accin se ejecute una vez cuando el paso se desactive se ejecute slo una vez

P P0 R

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-22

Diseo de un diagrama de funciones secuenciales

Definir las condiciones de la transicin

La transicin representa las condiciones fsicas que deben ocurrir o cambiar para ir al siguiente paso.

La transicin le indica al SFC cundo ir al siguiente paso.

transicin

Si es verdadera, ir al siguiente paso. Si es falsa, repetir el paso anterior.

Las transiciones ocurren en los siguientes lugares:


Para esta estructura: secuencia Asegrese de que: Haya una transicin entre cada paso.

pasos transiciones

bifurcacin de seleccin

Las transiciones estn dentro de las lneas horizontales.

transiciones

bifurcacin simultnea

Las transiciones estn fuera de las lneas horizontales.

transiciones

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-23

Los siguientes son dos ejemplos de transiciones: EJEMPLO Usted desea: a. Activar 2 compresores. Cuando un compresor se activa, el bit Device1State se activa (init). b. Cuando ambos compresores estn activados, ir al siguiente paso. Solucin:
Init Init_Done compressor_1.Device1State = on (1) y compressor_2.Device1State = on (1)

EJEMPLO

Usted desea: a. Empacar (package) el producto. Cuando el producto est en el paquete, el bit package_done se activa. b. Empacar el producto a razn de 8 por caja o 16 por caja. Solucin:
Package

carton_8 Pack_8 package_done = on (1) y carton_size = 8 Pack_16

carton_16

package_done = on (1) y carton_size = 16

Para anular el estado de una transicin, vea Forzado de elementos lgicos en la pgina 18-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-24

Diseo de un diagrama de funciones secuenciales

Tag de transicin
Cada transicin usa un tag BOOL para representar el estado verdadero o falso de la transicin.
Si la transicin es: verdadera falsa El valor es: 1 0 Y: El SFC avanza al paso siguiente. El SFC contina ejecutando el paso actual.

Cmo desea programar la transicin?


Para programar la transicin, existen estas opciones:
Si desea: introducir las condiciones como expresin en texto estructurado introducir las condiciones como instrucciones en otra rutina usar la misma lgica para mltiples transiciones Entonces: Usar una expresin BOOL Llamar a una subrutina

Usar una expresin BOOL


La manera ms simple de programar la transicin es introducir las condiciones como expresin BOOL en texto estructurado: Una expresin bool usa tags bool, operadores de relacin y operadores lgicos para comparar valores y verificar si las condiciones son verdaderas o falsas. Por ejemplo, tag1>65. Los siguientes son algunos ejemplos de expresiones BOOL.

bool_tag_a

bool_tag_a & bool_tag_b

dint_tag_a > 8

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-25

Llamar a una subrutina


Para usar una subrutina para controlar una transicin, incluya una instruccin End Of Transition (EOT) en la subrutina. La instruccin EOT retorna el estado de las condiciones a la transicin, tal como se muestra a continuacin.

3 1
JSR - o bien -

If condition_1 & condition_2 & condition_3 then BOOL_tag := 1; Else BOOL_tag := 0; End_if;

EOT(BOOL_tag);

1. Llame a una subrutina. 2. Verifique las condiciones requeridas. Cuando dichas condiciones son verdaderas, active un tag BOOL. 3. Use una instruccin EOT para establecer el estado de la transicin igual al valor del tag BOOL. Cuando el tag BOOL se activa (verdadero), la transicin es verdadera.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-26

Diseo de un diagrama de funciones secuenciales

Transicin despus de un tiempo especificado

Cada paso del SFC incluye un temporizador de milisegundos que funciona cuando el paso se activa. Use el temporizador para: sealar cuando el paso se ha ejecutado por el tiempo requerido y el SFC debe avanzar al siguiente paso. sealar cuando el paso se ha ejecutado demasiado tiempo y el SFC debe ir a un paso de error.
Figura 4.3 El siguiente diagrama muestra la accin del temporizador y los bits asociados de un paso:

step_name.X

step_name.PRE

step_name.T

step_name.DN

1 Descripcin:

1. El paso se activa. El bit X se activa. El temporizador (T) comienza a incrementar. 2. El temporizador llega al valor preseleccionado (PRE) del paso. El bit DN se activa. El temporizador contina incrementando. 3. El paso se desactiva. El bit X se desactiva. El temporizador retiene su valor. DN permanece activado. 4. El paso se activa. El bit X se activa. El temporizador se restablece y comienza a incrementar. El bit DN se desactiva.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-27

Figura 4.4 El siguiente diagrama muestra la accin de las alarmas baja y alta de un paso:

step_name.AlarmEn step_name.X step_name.LimitHigh step_name.LimitLow step_name.T

step_name.AlarmHigh

step_name.AlarmLow

Descripcin: 1. AlarmEn est activado. Para usar las alarmas baja y alta, active este bit. Active este bit mediante el cuadro de dilogo Properties o el tag para dicho paso. 2. El paso se activa. El bit X se activa. El temporizador (T) comienza a incrementar. 3. El paso se desactiva. El bit X se desactiva. El temporizador retiene su valor. Puesto que el temporizador es menor que LimitLow, el bit AlarmLow se activa. 4. El paso se activa. El bit X se activa. El temporizador se restablece y comienza a incrementar. AlarmLow permanece activado. (Usted tiene que desactivarlo manualmente). 5. El temporizador llega al valor LimitHigh del paso. El bit AlarmHigh se activa. El temporizador contina incrementando. 6. El paso se desactiva. El bit X se desactiva. El temporizador retiene su valor. AlarmHigh permanece activado. (Usted tiene que desactivarlo manualmente).

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-28

Diseo de un diagrama de funciones secuenciales

El siguiente es un ejemplo de uso del tiempo preseleccionado de un paso. EJEMPLO La especificacin funcional dice: a. Cocinar (cook) los ingredientes en el tanque durante 20 segundos. b. Vaciar el tanque. Solucin:
Cook Cook_Done Empty_Tank Cook.PRE = 20000 ms Cook.DN = on (1)

El siguiente es un ejemplo de uso de la alarma alta de un paso. EJEMPLO La especificacin funcional dice: a. Poner en posicin inicial (init) a 8 dispositivos. b. Si los 8 dispositivos no estn en la posicin inicial en 20 segundos, entonces desactivar (shutdown) el sistema. Solucin:
Init Init.LimitHigh = 20000 ms

Init_OK Step_1

Init_Not_OK Shutdown

Init.AlarmHigh

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-29

Desactivar un dispositivo al final de un paso

Cuando el SFC sale de un paso, usted tiene varias opciones respecto a cmo desactivar los dispositivos que el paso activ.

Programmatic Reset

Automatic Reset

usar la lgica para restablecer los datos

dejar que el controlador restablezca los datos automticamente

Cada opcin requiere que usted haga las siguientes selecciones: 1. Seleccionar la opcin de un ltimo escn. 2. Basado en la opcin de ltimo escn, desarrollar la lgica de manera que el ltimo escn retorne los datos a los valores deseados.

Seleccionar la opcin de un ltimo escn


En el ltimo escn de cada paso, tiene las siguientes opciones. La opcin que seleccione se aplicar a todos los pasos en todos los SFC de este controlador.
Si desea: controlar qu datos restablecer Y en el ltimo escn de este paso: Entonces: Vea: pgina 4-31 pgina 4-32

Ejecutar slo las acciones P y P0 y usarlas para Usar la opcin Dont Scan restablecer los datos requeridos. Ejecutar todas las acciones y usar cualquiera de estas opciones para restablecer los datos requeridos: bits de estado del paso o accin para condicionar la lgica Acciones P y P0 Usar la opcin Programmatic Reset

dejar que el controlador restablezca los datos

Usar la opcin Automatic Reset

pgina 4-34

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-30

Diseo de un diagrama de funciones secuenciales

La siguiente tabla compara las diferentes opciones para manejar el ltimo escn de un paso:
Caracterstica: acciones de ejecucin Durante el ltimo escn de un paso, esta opcin hace lo siguiente: Dont scan Slo las acciones P y P0 se ejecutan. Se ejecutan segn su lgica. Programmatic reset Todas las acciones se ejecutan segn su lgica Automatic reset Las acciones P y P0 se ejecutan segn su lgica. Todas las otras acciones se ejecutan en el modo post-escn. En el siguiente escn de la rutina, las acciones P y P0 se ejecutan en el modo post-escn. Los datos regresan a sus valores para post-escn. Los tags a la izquierda de las asignaciones [:=] se restablecen a cero. Use uno de los siguientes: Asignacin [:=] (asignacin o retentiva) instrucciones que restablecen sus datos durante el post-escn Para la propiedad Restart Position, si usted selecciona la opcin Restart at initial step, entonces: Un SFC anidado se restablece a su paso inicial. El bit X de un elemento de paro en un SFC anidado se restablece a cero.

retencin de valores de datos

Todos los datos mantienen sus valores actuales.

Todos los datos mantienen sus valores actuales.

mtodo para restablecer

Use las acciones P y P0

Use uno de los siguientes: bits de estado del paso o accin para condicionar la lgica Acciones P y P0 Un SFC anidado permanece en su paso actual.

restablecimiento de un SFC Un SFC anidado permanece en su anidado paso actual.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-31

Usar la opcin Dont Scan


La opcin predeterminada para manejar el ltimo escn de un paso es Dont scan. Con esta opcin, todos los datos mantienen sus valores actuales cuando el SFC sale de un paso. Esto requiere que usted use asignaciones o instrucciones adicionales para restablecer los datos que desea desactivar al final de un paso. Para desactivar un dispositivo al final de un paso: 1. Asegrese de que la propiedad Last Scan of Active Steps est establecida en la opcin Dont scan (predeterminada). 2. Use una accin P0 Pulse (Falling Edge) para restablecer los datos requeridos. Asegrese de que la accin o acciones P0 sean las ltimas en el orden de acciones para el paso. Durante el ltimo escn del paso, la opcin Dont scan ejecuta slo las acciones P y P0. Las asignaciones e instrucciones de las acciones se ejecutan segn las condiciones de la lgica. El controlador no ejecuta un post-escn de las asignaciones o instrucciones. Cuando el SFC sale del paso, todos los datos mantienen sus valores actuales. El siguiente ejemplo usa una accin para activar un transportador al comienzo de un paso. Una accin diferente desactiva el transportador al final del paso. Usar la opcin Dont Scan

EJEMPLO

Esta accin activa el transportador. Cuando conveyor_state se activa, el transportador se activa. Antes de que el SFC salga del paso, la accin P0 desactiva el transportador. En el ltimo escn del paso, conveyor_state se desactiva. Esto desactiva el transportador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-32

Diseo de un diagrama de funciones secuenciales

Usar la opcin Programmatic Reset


Un mtodo opcional para programar automticamente la desactivacin (restablecimiento) de dispositivos al final de un paso, es ejecutar todas las acciones en el ltimo escn del paso. Esto le permite ejecutar la lgica normal y desactivar (restablecer) los dispositivos al final de un paso. 1. En la propiedad Last Scan of Active Steps, seleccione la opcin Programmatic reset: 2. Restablezca los datos requeridos usando cualquiera de los siguientes mtodos: A la lgica normal, aada lgica que restablezca los datos requeridos. Use el bit LS del paso o el bit Q de la accin para condicionar la ejecucin de la lgica. Use una accin P0 Pulse (Falling Edge) para restablecer los datos requeridos. Asegrese de que la accin o acciones P0 sean las ltimas en el orden de acciones para el paso. Durante el ltimo escn del paso, la opcin Programmatic reset ejecuta todas las asignaciones e instrucciones segn las condiciones de la lgica. El controlador no post-escn las asignaciones o instrucciones. Cuando el SFC sale del paso, todos los datos mantienen su valor actual. El siguiente ejemplo usa una sola accin para activar y desactivar un transportador. El bit LS del paso condiciona la ejecucin de la lgica. Vea Estructura SFC_STEP en la pgina 4-8. Usar la opcin Programmatic Reset y el bit LS

EJEMPLO

Cuando el paso no est en su ltimo escn (conveyor_fwd.LS = 0), esta instruccin activa conveyor_state. Cuando conveyor_state se activa, el transportador se activa. En el ltimo escn del paso (conveyor_fwd.LS =1), esta instruccin desactiva conveyor_state. Cuando conveyor_state se desactiva, el transportador se desactiva.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-33

Para una accin que usa uno de los calificadores almacenados, use el bit Q de la accin para condicionar la lgica. Vea Estructura SFC_ACTION en la pgina 4-19. Usar la opcin Programmatic Reset y el bit Q

EJEMPLO

Cuando la accin no est en su ltimo escn (conveyor_start.Q =1), esta instruccin activa conveyor_state. Cuando conveyor_state se activa, el transportador se activa. En el ltimo escn de la accin (conveyor_start.Q =0), esta instruccin desactiva conveyor_state. Cuando conveyor_state se desactiva, el transportador se desactiva.

Tambin puede usar una accin P0 Pulse (Falling Edge) para restablecer los datos. El siguiente ejemplo usa una accin para activar un transportador al comienzo de un paso.Una accin diferente desactiva el transportador al final del paso. Usar la opcin Programmatic Reset y una accin P0

EJEMPLO

Esta accin activa el transportador. Cuando conveyor_state se activa, el transportador se activa. Antes de que el SFC salga del paso, la accin P0 desactiva el transportador. En el ltimo escn del paso, conveyor_state se desactiva. Esto desactiva el transportador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-34

Diseo de un diagrama de funciones secuenciales

Usar la opcin Automatic Reset


Para desactivar (restablecer) automticamente los dispositivos al final de un paso: 1. En la propiedad Last Scan of Active Steps, seleccione la opcin Automatic reset: 2. Para desactivar un dispositivo al final del paso, controle el estado del dispositivo con una asignacin o instruccin, tal como: Asignacin [:=] (asignacin o retentiva) Instruccin Output Energize (OTE) en una subrutina Durante el ltimo escn de cada paso, la opcin Automatic reset hace lo siguiente: ejecutar las acciones P y P0 segn las condiciones de la lgica restablecer los tags a la izquierda de las asignaciones [:=] ejecutar un post-escn de texto estructurado incorporado ejecutar un post-escn de cualquier subrutina que una accin llame mediante una instruccin Jump to Subroutine (JSR) restablecer cualquier SFC anidado (SFC que una accin llama como una subrutina) El post-escn de una accin realmente ocurre cuando la accin cambia de activa a inactiva. Dependiendo del calificador de la accin, el post-escn podra ocurrir antes o despus del ltimo escn del paso.

IMPORTANTE

Como regla general, el post-escn ejecuta las instrucciones como si todas las condiciones fueran falsas. Por ejemplo, la instruccin Output Energize (OTE) restablece sus datos durante el post-escn. Algunas instrucciones no siguen la regla general durante el post-escn. Para obtener una descripcin de cmo una instruccin especfica se ejecuta durante el post-escn, consulte los siguientes manuales. Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicacin 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicacin 1756-RM007

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-35

El siguiente es un ejemplo que usa una asignacin no retentiva para controlar un transportador. Activa un transportador al comienzo de un paso y desactiva automticamente el transportador cuando el paso se ha efectuado. Restablece los datos automticamente

EJEMPLO

Esta accin activa el transportador. Cuando conveyor_state se activa, el transportador se activa. Cuando el SFC sale del paso, conveyor_state se desactiva. Esto desactiva el transportador.

Mantener algo activado de Cmo desea controlar el dispositivo? paso a paso


Para proporcionar un control sin problemas de un dispositivo durante ms de un tiempo o fase (paso), realice uno de las siguientes:
Opcin: Usar una bifurcacin simultnea Efecte un paso separado que controle el dispositivo. Transfer_In Ejemplo:

Paint

Fan CONTROL

Clean Transfr_Out

Almacenar y restablecer una accin Observe el paso que activa el dispositivo y el paso que desactiva el dispositivo.

Transfer_In

activar el ventilador

Paint Posteriormente, defina una accin Almacenado y Restablecido para controlar el dispositivo. Clean Transfr_Out desactivar el ventilador Usar un paso grande Paint Use un paso grande que contenga todas las acciones que ocurren mientras el dispositivo est activado.
transferir, pintar, limpiar, transferir controlar el ventilador

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-36

Diseo de un diagrama de funciones secuenciales

Usar una bifurcacin simultnea


Una manera simple de controlar un dispositivo o dispositivos durante uno o ms pasos es crear un paso separado para los dispositivos. Luego use una bifurcacin simultnea para ejecutar el paso durante el resto del proceso. ste es un ejemplo: Una operacin de pintura hace lo siguiente: 1. Transfiere el producto al taller de pintura. 2. Pinta el producto usando 3 pistolas de pintura separadas. 3. Limpia las pistolas. 4. Transfiere el producto a los hornos de pintura. Durante todo el proceso, el sistema debe controlar los ventiladores del taller. Solucin:

EJEMPLO

Transfer_In

Paint_Flow

Air_Flow

Elec_Charg

Fan CONTROL

Clean Transfr_Out

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-37

Almacenar y restablecer una accin


Normalmente, una accin se desactiva (deja de ejecutarse) cuando el SFC va al siguiente paso. Para mantener un dispositivo activado de paso a paso, almacene la accin que controla el dispositivo: 1. En el paso que activa el dispositivo, asigne un calificador almacenado a la accin que controla el dispositivo. Para obtener una lista de los calificadores almacenados, vea la Tabla 4.1 en la pgina 4-21. 2. Si el paso desactiva el dispositivo, use una accin Reset. La siguiente figura muestra el uso de una accin almacenada. S Action_Name
accin que usted desea ejecutar por ms de un paso

paso que inicia la accin

ms pasos

Action_Name
el mismo nombre que la accin almacenada

paso que detiene la accin

Cuando el SFC sale del paso que almacena la accin, el software RSLogix 5000 contina mostrando la accin almacenada como activa. (De manera predeterminada, un borde verde se muestra alrededor de la accin). Esto le indica que el SFC est ejecutando la lgica de esa accin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-38

Diseo de un diagrama de funciones secuenciales

Para usar una accin almacenada, siga estas pautas: La accin Reset slo desactiva la accin almacenada. No desactiva automticamente los dispositivos de la accin. Para desactivar el dispositivo, contine la accin Reset con otra accin que desactive el dispositivo. O use la opcin Automatic reset descrita en la pgina 4-34. Tenga cuidado cuando salte entre un paso que almacena una accin y un paso que restablece la accin. Una vez que usted restablece una accin, sta slo se inicia cuando usted ejecuta el paso que almacena la accin. En el siguiente ejemplo, los pasos 1 4 requieren que un ventilador est activo. Al final del step_4, el ventilador se restablece (se desactiva). Cuando el SFC salta nuevamente al step_3, el ventilador permanece desactivado.

step_1

activar el ventilador (almacenado)

step_2

step_3 desactivar el ventilador (restablecido)

step_4

Para volver a activar el ventilador, el SFC tiene que saltar nuevamente al step_1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-39

Usar un paso grande


Si usted usa un paso grande para mltiples funciones, entonces use la lgica adicional para proporcionar secuencia a las funciones. Una opcin es anidar un SFC dentro del paso grande. En el siguiente ejemplo, un paso activa un ventilador y luego llama a otro SFC. El SFC anidado proporciona secuencia a las funciones restantes del paso. El ventilador permanece activado durante todos los pasos del SFC anidado. Usar un paso grande
Esta accin activa un ventilador: fan.ProgProgReq permite que el SFC comande el estado del ventilador. fan.ProgCommand activa el ventilador. El ventilador permanece activo durante todo el paso. Esta accin llama a otro SFC. El SFC proporciona secuencia a las funciones restantes del paso.

EJEMPLO

Para obtener informacin adicional sobre cmo anidar un SFC, vea Anidar un SFC en la pgina 4-43.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-40

Diseo de un diagrama de funciones secuenciales

Terminar el SFC

Una vez que el SFC concluye su ltimo paso, no se reinicia automticamente en el primer paso. Usted debe indicar al SFC qu hacer cuando concluya el ltimo paso.

Al final del SFC, qu desea hacer?


Para: Haga lo siguiente:

hacer un lazo a un paso anterior Conecte la ltima transicin a la parte superior del paso automticamente al cual desea ir. Vea Conectar a un paso previo en la pgina 4-16. parar y esperar un comando para reiniciar Usar un elemento de paro. Vea Usar un elemento de paro en la pgina 4-40.

Usar un elemento de paro


El elemento de paro le permite parar la ejecucin de todo el SFC o una ruta de una bifurcacin simultnea y esperar para reiniciar. Cuando un SFC llega a un elemento de paro, ocurre lo siguiente: El bit X del elemento de paro se activa. Esto indica que el SFC est en el elemento de paro. La ejecucin se detiene por parte o todo el SFC:
Si el elemento de paro est al final de una: Entonces: secuencia bifurcacin de seleccin ruta dentro de una bifurcacin simultnea slo la ruta se detiene mientras que el resto del SFC contina ejecutndose. todo el SFC se detiene

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-41

EJEMPLO

Usar un elemento de paro

Cuando el SFC llega a last_step yprocess_done es verdadero, la ejecucin del SFC se detiene.

Reiniciar (restablecer) el SFC


En el elemento de paro, usted tiene varias opciones para reiniciar el SFC:
Si el SFC est: anidado (por ej., otro SFC llama a este SFC como subrutina) Y la opcin Last Scan of Active Steps es: Automatic reset Entonces: Al final del paso que llama al SFC anidado, el SFC anidado se restablece automticamente: El SFC anidado se restablece al paso inicial. El bit X del elemento de paro en el SFC anidado se restablece a cero. 1. Use una instruccin SFC Reset (SFR) para reiniciar el SFC en el paso requerido. 2. Use la lgica para restablecer el bit X del elemento de paro. 1. Use una instruccin SFC Reset (SFR) para reiniciar el SFC en el paso requerido. 2. Use la lgica para restablecer el bit X del elemento de paro.

Programmatic reset Dont scan NO anidado (por ej., ningn SFC llama a este SFC como subrutina)

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-42

Diseo de un diagrama de funciones secuenciales

El siguiente ejemplo muestra el uso de la instruccin SFC Reset (SFR) para reiniciar el SFC y restablecer el bit X del elemento de paro. Reiniciar (restablecer) el SFC Si SFC_a_stop.X = on (SFC_a est en la parte superior) y SFC_a_reset = on (tiempo para restablecer el SFC) entonces por un escn (ons[0] = on): Restablecer SFC_a a SFC_a_Step_1 SFC_a_stop.X = 0

EJEMPLO

Estructura SFC_STOP
Cada paro usa un tag para proporcionar la siguiente informacin acerca del elemento de paro:
Si desea: Entonces verifique o establezca este miembro: X Tipo de datos: Detalles:

determinar cuando el SFC est en paro

BOOL

Cuando el SFC llega al paro, el bit X se activa. El bit X se restablece si usted configura los SFC para que se reinicien en el paso inicial y el controlador cambia del modo Programa al modo Marcha. En un SFC anidado, el bit X tambin se restablece si usted configura los SFC para restablecimiento automtico, y el SFC sale del paso que llama al SFC anidado.

determinar el receptor de una instruccin SFC Reset (SFR)

Reset

BOOL

Una instruccin SFC Reset (SFR) restablece el SFC en un paso o paro que la instruccin especifica. El bit de restablecimiento indica a cul paso o paro ir el SFC para comenzar la ejecucin nuevamente. Una vez que el SFC se ejecuta, el bit de restablecimiento se restablece. Esto no es un conteo de escanes del paro. El conteo incrementa cada vez que se activa el paro. Se incrementa nuevamente slo despus que el paro se desactiva y se vuelve a activar. El conteo se restablece slo si usted configura el SFC para que se reinicie en el paso inicial. Con esa configuracin, se restablece cuando el controlador cambia del modo Programa al modo Marcha. Para este miembro: Use este bit: Reset X 22 31

determinar cuntas veces se activ un paro

Count

DINT

usar un tag para los diversos bits de estado de este paro

Status

DINT

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-43

Anidar un SFC

Un mtodo para organizar el proyecto es crear un SFC que proporcione una visualizacin de alto nivel del proceso. Cada paso de dicho SFC llama a otro SFC que realiza los procedimientos detallados del paso (SFC anidado). La siguiente figura muestra una manera de anidar un SFC. En este mtodo, la opcin de ltimo escn del SFC se configura ya sea para Programmatic reset o Dont scan. Si usted configura el SFC para Automatic reset, entonces el paso 1 no es necesario.

SFC_a

SFC_b

3 1. Restablezca el SFC anidado. La instruccin SFR reinicia el SFC_b en SFC_b_Step_1. Cada vez que el SFC_a sale de este paso y luego regresa, usted tiene que restablecer el SFC_b. La accin tambin restablece el bit X del elemento de paro. 2. Llame al SFC_b. 3. Pare el SFC_b. Esto establece el bit X del elemento de paro. 4. Use el bit X del elemento de paro para indicar que el SFC_b est efectuado y es tiempo de ir al siguiente paso.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-44

Diseo de un diagrama de funciones secuenciales

Pasar parmetros
Para pasar parmetros hacia o desde un SFC, coloque un elemento de subrutina/retorno en el SFC.
Parmetros de entrada Parmetros de retorno

SFC_b

Configurar cundo retornar al OS/JSR

De manera predeterminada, un SFC ejecuta un paso o grupo de pasos simultneos y luego retorna al sistema operativo (OS) o a la rutina que efectu la llamada (JSR).

predeterminado

Usted tiene la opcin de dejar que el SFC se ejecute hasta que llegue a una transicin falsa. Si varias transiciones son verdaderas al mismo tiempo, esta opcin reduce el tiempo para llegar al paso deseado. Use la opcin Execute until FALSE transition slo cuando: 1. No necesite actualizar los parmetros de JSR antes de cada paso. Los parmetros se actualizan slo cuando el SFC retorna a la JSR. Vea Pasar parmetros en la pgina 4-44. 2. Una transicin falsa ocurre dentro del temporizador de control (watchdog) para la tarea. Si el tiempo requerido para regresar a la JSR y completar e resto de la tarea es mayor que el temporizador de control (watchdog), ocurrir un fallo mayor. Para obtener un diagrama detallado de la ejecucin de cada opcin, vea la Figura 4.9 en la pgina 4-49.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-45

Pausa o restablecer un SFC

Hay dos instrucciones opcionales disponibles para darle mayor control sobre la ejecucin del SFC:
Si desea: poner en pausa un SFC restablecer un SFC a un paso o paro especfico Entonces use esta instruccin: Pause SFC (SFP) Reset SFC (SFR)

Ambas instrucciones estn disponibles en los lenguajes de lgica de escalera y programacin de texto estructurado. Para obtener ms informacin, use cualquiera de los siguientes recursos: En el software RSLogix 5000, en el men Help, seleccione Instruction Help. Vea la categora Program Control Instructions. Vea Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003.

Diagramas de ejecucin

Los siguientes diagramas muestran la ejecucin de un SFC con diferentes organizaciones de pasos o diferentes selecciones de opciones de ejecucin. Use los diagramas si necesita un entendimiento ms detallado de cmo se ejecuta el SFC.
Vea la pgina: 4-46 4-47 4-48 4-48 4-49

Para el diagrama de: Ejecucin de una secuencia Ejecucin de una bifurcacin simultnea Ejecucin de una bifurcacin de seleccin Cuando los parmetros entran y salen de un SFC Opciones para el control de ejecucin

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-46

Diseo de un diagrama de funciones secuenciales

Figura 4.5 Ejecucin de una secuencia Lo siguiente se ejecuta de la siguiente manera

step_1 tran_1 step_2 tran_2

step_1

tran_1 verdadero regresar a OS/JSR step_1

falso

regresar a OS/JSR

ltimo escn

step_2

tran_2 verdadero regresar a OS/JSR step_2

falso

regresar a OS/JSR

ltimo escn

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-47

Figura 4.6 Ejecucin de una bifurcacin simultnea Lo siguiente


step_1 tran_1 tran_1 step_2 step_3 verdadero tran_2 regresar a OS/JSR step_1 falso regresar a OS/JSR

se ejecuta de la siguiente manera


step_1

ltimo escn

step_2

step_3

tran_2 verdadero

falso

regresar a OS/JSR step_2

step_3

tran_2 verdadero regresar a OS/JSR step_2

falso

regresar a OS/JSR

ltimo escn
step_3

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-48

Diseo de un diagrama de funciones secuenciales

Figura 4.7 Ejecucin de una bifurcacin de seleccin Lo siguiente


step_1 tran_1 step_2 tran_3 step_3 tran_4 tran_2 tran_1 verdadero tran_2 regresar a OS/JSR verdadero regresar a OS/JSR step_1 step_1 falso falso

se ejecuta de la siguiente manera


step_1

regresar a OS/JSR

ltimo escn

step_2 regresar a OS/JSR

step_3 regresar a OS/JSR

tran_3 verdadero regresar a OS/JSR step_2

falso

tran_4 verdadero regresar a OS/JSR step_3

falso

ltimo escn

Figura 4.8 Cuando los parmetros entran y salen de un SFC

parmetros de entrada parmetros de entrada parmetros de retorno regresar a OS/JSR step_1

falso

tran_1 verdadero

parmetros de retorno

regresar a OS/JSR step_1

parmetros de entrada

ltimo escn

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

4-49

Figura 4.9 Opciones para el control de ejecucin

Lo siguiente
step_1 tran_1 step_2 tran_2

se ejecuta de la siguiente manera

Ejecutar los pasos activos actuales solamente


step_1

Ejecutar hasta transicin FALSA


step_1

tran_1 verdadero regresar a OS/JSR step_1

falso

regresar a OS/JSR

tran_1 verdadero

falso

regresar a OS/JSR

step_1

ltimo escn

step_2

step_2 regresar a OS/JSR

tran_2 verdadero regresar a OS/JSR step_2

falso

tran_2 verdadero

falso

regresar a OS/JSR

step_2

ltimo escn

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-50

Diseo de un diagrama de funciones secuenciales

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Programacin de un diagrama de funciones secuenciales

Cundo usar este procedimiento

Use este procedimiento para introducir un diagrama de funciones secuenciales (SFC) en el software RSLogix 5000. Introduzca el SFC a medida que lo disea. O primero disee el SFC y luego introdzcalo. Para disear el SFC, vea Diseo de un diagrama de funciones secuenciales en la pgina pgina 4-1.

Antes de usar este procedimiento

Antes de usar este procedimiento, asegrese de que puede realizar las siguientes tareas:
 

Abra o cierre una carpeta Cree una rutina

Para obtener ms informacin sobre cualquiera de esas tareas, vea Organizacin de tareas, programas y rutinas en la pgina 2-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-2

Programacin de un diagrama de funciones secuenciales

Cmo usar este procedimiento

Para programar un SFC: Aadir un elemento de SFC Crear una bifurcacin simultnea Crear una bifurcacin de seleccin Establecer las prioridades de una bifurcacin de seleccin Regresar a un paso previo Cambiar el nombre de un paso Configurar un paso Cambiar el nombre de una transicin Programar una transicin Aadir una accin Cambiar el nombre de una accin Configurar una accin Programar una accin Asignar el orden de ejecucin de las acciones Documentar el SFC Mostrar u ocultar cuadros de texto o descripciones de tag Configurar la ejecucin del SFC Verificar la rutina

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-3

Aadir un elemento de SFC

Para aadir elementos de SFC, use la barra de herramientas SFC.


inicio de bifurcacin de seleccin paso transicin nueva ruta inicio de bifurcacin simultnea paro subrutina/retorno cuadro de texto

paso y transicin

Para aadir un elemento al SFC, tiene estas opciones: Aadir y conectar manualmente los elementos Aadir y conectar automticamente los elementos Arrastrar y colocar elementos

Aadir y conectar manualmente los elementos


1. En la barra de herramientas SFC, haga clic en el botn del tem que desea aadir. 2. Arrastre el elemento a la ubicacin deseada en el SFC. Por ejemplo:

punto verde

3. Para cablear (conectar) dos elementos juntos, haga clic en un pin en uno de los elementos A y luego haga clic en el pin en el otro elemento B . Un punto verde muestra un punto de conexin vlido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-4

Programacin de un diagrama de funciones secuenciales

Aadir y conectar automticamente los elementos


1. Seleccione (haga clic en) el elemento al cual desea conectar un nuevo elemento. 2. Con el elemento todava seleccionado, haga clic en el botn de la barra de herramientas para el siguiente elemento.

Arrastrar y colocar elementos


En la barra de herramientas SFC, arrastre el botn para el elemento requerido al punto de conexin deseado en el SFC. Un punto verde muestra un punto de conexin vlido.

punto verde

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-5

Crear una bifurcacin simultnea

iniciar una bifurcacin simultnea


1. En la barra de herramientas SFC, haga clic en el botn . Luego arrastre la nueva bifurcacin a la ubicacin deseada. 2. Para aadir una ruta a la bifurcacin, seleccione, (haga clic) el primer paso de la ruta que est a la izquierda de donde desea aadir la nueva ruta. Luego haga clic en el botn .

A B

punto verde

3. Para cablear la bifurcacin simultnea a la transicin precedente, haga clic en el pin inferior de la transicin A y luego haga clic en la lnea horizontal de la bifurcacin. B . Un punto verde muestra un punto de conexin vlido.

Terminar una bifurcacin simultnea


1. Seleccione el ltimo paso de cada ruta en la bifurcacin. Para seleccionar los pasos, puede: Hacer clic y arrastrar el puntero alrededor de los pasos que desea seleccionar. Hacer clic en el primer paso. Luego presionar y mantener presionado [Shift] y hacer clic en el resto de pasos que desea seleccionar.

2. En la barra de herramientas SFC, haga clic en el botn

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-6

Programacin de un diagrama de funciones secuenciales

3. Aada la transicin que sigue a la bifurcacin simultnea.

B A

punto verde

4. Para cablear la bifurcacin simultnea a la transicin, haga clic en el pin superior de la transicin A y luego haga clic en la lnea horizontal de la bifurcacin B . Un punto verde muestra un punto de conexin vlido.

Crear una bifurcacin de seleccin

Iniciar una bifurcacin de seleccin


1. En la barra de herramientas SFC, haga clic en el botn . Luego arrastre la nueva bifurcacin a la ubicacin deseada. 2. Para aadir una ruta a la bifurcacin, seleccione, (haga clic) la primera transicin de la ruta que est a la izquierda de donde desea aadir la nueva ruta. Luego haga clic en el botn .

A B

punto verde

3. Para cablear la bifurcacin de seleccin al paso precedente, haga clic en el pin inferior del paso A y luego haga clic en la lnea horizontal de la bifurcacin B . Un punto verde muestra un punto de conexin vlido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-7

Terminar una bifurcacin de seleccin


1. Seleccione la ltima transicin de cada ruta en la bifurcacin. Para seleccionar las transiciones, puede: Hacer clic y arrastrar el puntero alrededor de las transiciones que desea seleccionar. Hacer clic en la primera transicin. Luego presionar y mantener presionado [Shift] y hacer clic en el resto de transiciones que desea seleccionar.

2. En la barra de herramientas SFC, haga clic en el botn 3. Aada el paso que sigue a la bifurcacin de seleccin.

B A

punto verde

4. Para cablear la bifurcacin de seleccin al paso, haga clic en el pin superior del paso A y luego haga clic en la lnea horizontal de la bifurcacin B . Un punto verde muestra un punto de conexin vlido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-8

Programacin de un diagrama de funciones secuenciales

Establecer las prioridades de una bifurcacin de seleccin

De manera predeterminada, el SFC verifica las transiciones que inician una bifurcacin de seleccin de izquierda a derecha. Si desea verificar una transicin diferente primero, asigne una prioridad a cada ruta de la bifurcacin de seleccin. Por ejemplo, es una buena prctica verificar primero si hay condiciones de error. Luego verificar las condiciones normales. Para asignar prioridades a una bifurcacin de seleccin: 1. Haga clic con el botn derecho del mouse en la lnea horizontal que inicia la bifurcacin y seleccione Set Sequence Priorities.

2.

3. 4.

2. Borre la marca de verificacin del cuadro de dilogo Use default priorities. 3. Seleccione una transicin. 4. Use los botones Move para aumentar o bajar la prioridad de la transicin. 5. Cuando todas las transiciones tengan la prioridad deseada, seleccione Cuando usted borra la marca de verificacin del cuadro de dilogo Use default priorities, los nmeros muestran la prioridad de cada transicin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-9

Regresar a un paso previo

Para saltar a un paso diferente en el SFC: Conectar un cable al paso Ocultar un cable Mostrar un cable oculto

Conectar un cable al paso


1. Haga clic en el pin inferior de la transicin que indica el salto. Luego haga clic en el pin superior del paso al cual desea ir. Un punto verde muestra un punto de conexin vlido. Normalmente, la conexin resultante se orienta a lo largo del centro del diagrama de flujo y es difcil de ver. 2. Para facilitar la lectura del salto, arrastre su barra horizontal arriba del paso al cual va el salto. Quizs tenga que reposicionar algunos de los elementos del SFC. Por ejemplo, para ir al Step_001 desde Tran_003:

1.
Luego haga clic aqu.

2.
Arrastre la barra horizontal aqu.

Haga clic aqu.

punto verde

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-10

Programacin de un diagrama de funciones secuenciales

Ocultar un cable
Si un cable se interpone o estorba a otras piezas del SFC, oculte el cable para facilitar la lectura del SFC. Para ocultar un cable haga clic con el botn derecho del mouse en el cable y seleccione Hide Wire.

lugar donde va el cable

Para ver el elemento SFC adonde va el cable, haga clic en la ubicacin de la cuadrcula en el cable.

Mostrar un cable oculto


Para mostrar un cable oculto, haga clic con el botn derecho del mouse en un parte visible del cable y seleccione Show Wire.

cable oculto

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-11

Cambiar el nombre de un paso

Cada paso usa un tag para almacenar la informacin de configuracin y estado acerca del paso. Para cambiar el nombre del tag del paso: 1. Haga clic en el botn 2. Haga clic en la ficha Tag. del paso.

3.

3. Escriba el nuevo nombre para el paso (tag). 4. Seleccione

Configurar un paso

Para configurar un paso, tiene estas opciones: Asignar el tiempo preseleccionado para un paso Configurar alarmas para un paso Usar una expresin para calcular un tiempo

Asignar el tiempo preseleccionado para un paso


1. Haga clic en el botn del paso.

2. Escriba el tiempo para el paso, en milisegundos. 3. Seleccione Cuando el paso est activo por el tiempo preseleccionado (Timer = Preset), el bit DN del paso se activa. Para calcular el tiempo preseleccionado de un paso durante el tiempo de ejecucin, vea Usar una expresin para calcular un tiempo en la pgina 5-12.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-12

Programacin de un diagrama de funciones secuenciales

Configurar alarmas para un paso


Para activar una alarma si un paso se ejecuta durante demasiado tiempo o no se ejecuta el tiempo suficiente. 1. Haga clic en el botn del paso.

2. Seleccione el cuadro de verificacin AlarmEnable.


2.

3. 4.

3. Escriba el tiempo para la alarma alta, en milisegundos. 4. Escriba el tiempo para la alarma baja, en milisegundos. 5. Seleccione Para calcular el tiempo de una alarma durante el tiempo de ejecucin, vea Usar una expresin para calcular un tiempo en la pgina 5-12.

Usar una expresin para calcular un tiempo


Para calcular un tiempo basado en tags en el proyecto, introduzca el tiempo como expresin numrica. Puede usar una expresin para calcular los siguientes tiempos: Preset LimitHigh LimitLow Para introducir un tiempo como una expresin: 1. Haga clic en el botn del paso.

2. Seleccione el cuadro de verificacin Use Expression.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-13

2.

3.

3. Haga clic en el botn Define.


4.

busque un tag seleccione una seleccione un cree un tag

5.

4. Escriba una expresin numrica que defina el tiempo. Use los botones a lo largo del cuadro de dilogo como ayuda para completar la expresin. Para obtener informacin sobre expresiones numricas, vea Expresiones en la pgina 6-4. 5. Seleccione 6. Para cerrar el cuadro de dilogo Step Properties, seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-14

Programacin de un diagrama de funciones secuenciales

Cambiar el nombre de una transicin

Cada transicin usa un tag para almacenar el estado de la transicin. Para cambiar el nombre del tag de la transicin: 1. Haga clic en el botn 2. Haga clic en la ficha Tag. de la transicin.

3.

3. Escriba el nuevo nombre para la transicin (tag). 4. Seleccione

Programar una transicin

Para programar una transicin, tiene estas opciones: Introducir una expresin BOOL Llamar a una subrutina

Introducir una expresin BOOL


La manera ms fcil de programar la transicin es introducir las condiciones como expresin BOOL en texto estructurado. Para obtener informacin sobre expresiones BOOL, vea Expresiones en la pgina 6-4. 1. Haga doble clic en el rea de texto de la transicin. 2. Escriba la expresin BOOL que determina cuando la transicin es verdadera o falsa. 3. Para cerrar la ventana de entrada, presione [Ctrl] + [Enter].

BOOL_expression

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-15

Los siguientes ejemplos muestran tres transiciones que usan una expresin BOOL. EJEMPLO Introducir una expresin BOOL

nombre de tag de la transicin

Expresin BOOL que controla cuando la transicin es verdadera o falsa

Llamar a una subrutina


1. Haga clic con el botn derecho del mouse en la transicin y seleccione Set JSR.

2.

2. Seleccione la rutina que contiene la lgica para la transicin. 3. Seleccione

JSR(routine_name)

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-16

Programacin de un diagrama de funciones secuenciales

Aadir una accin

Para aadir una accin a un paso:

Haga clic con el botn derecho del mouse en el paso en el cual se ejecuta la accin y seleccione Add Action.

Cambiar el nombre de una accin

Para cambiar el nombre de una accin a algo que sea especfico para su aplicacin: 1. Haga clic en el botn 2. Haga clic en la ficha Tag. de la accin.

3.

3. Escriba el nuevo nombre para la accin (tag). 4. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-17

Configurar una accin

Para configurar una accin, tiene estas opciones: Cambiar el calificador de una accin Calcular un tiempo preseleccionado en tiempo de ejecucin Marcar una accin como accin booleana

Cambiar el calificador de una accin


Un calificador determina cundo comienza y se detiene una accin. El calificador predeterminado es N Non-Stored. La accin se inicia cuando el paso se activa y se detiene cuando el paso se desactiva. Para obtener ms informacin, vea Seleccionar un calificador para una accin en la pgina 4-21. 1. Haga clic en el botn de la accin.

2. 3.

2. Asigne un calificador para la accin. 3. Si selecciona un calificador temporizado, escriba el lmite de tiempo o el retardo para la accin, en milisegundos. Los calificadores temporizados incluyen: L Tiempo limitado SL Almacenado y tiempo limitado D Retardo de tiempo DS Retardado y almacenado SD Almacenado y retardo de tiempo 4. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-18

Programacin de un diagrama de funciones secuenciales

Calcular un tiempo preseleccionado en tiempo de ejecucin


Para calcular un valor preseleccionado basado en tags en el proyecto, introduzca el valor como expresin numrica. 1. Haga clic en el botn de la accin.

2. Seleccione el cuadro de verificacin Use Expression.

2.

3.

3. Haga clic en el botn Define.


4.

busque un tag seleccione una funcin seleccione un operador cree un tag

5.

4. Escriba una expresin numrica que defina el tiempo preseleccionado. Use los botones a lo largo del cuadro de dilogo como ayuda para completar la expresin. Para obtener informacin sobre expresiones numricas, vea Expresiones en la pgina 6-4. 5. Seleccione 6. Para cerrar el cuadro de dilogo Action Properties, seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-19

Marcar una accin como accin booleana


Use una accin booleana slo para establecer un bit cuando se ejecute la accin. Para obtener ms informacin, vea Usar una accin booleana en la pgina 4-18. 1. Haga clic en el botn de la accin.

2.

2. Haga clic en el cuadro de verificacin Boolean. 3. Seleccione

Programar una accin

Para programar una accin, tiene estas opciones: Introducir texto estructurado Llamar a una subrutina

Introducir texto estructurado


La manera ms fcil de programar una accin es escribir la lgica como texto estructurado dentro del cuerpo de la accin. Cuando se activa la accin, el controlador ejecuta el texto estructurado.

1. Haga doble clic en el rea de texto de la accin. 2. Escriba el texto estructurado requerido. 3. Para cerrar la ventana de entrada, presione [Ctrl] + [Enter].

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-20

Programacin de un diagrama de funciones secuenciales

//comment statement; statement;

Para obtener informacin sobre texto estructurado:


Para obtener esta informacin sobre texto estructurado: informacin general acerca de asignaciones, operadores, funciones, instrucciones o comentarios informacin acerca de una instruccin especfica Vea: Programacin de texto estructurado en la pgina 6-1 Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicacin 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicacin 1756-RM007

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-21

Llamar a una subrutina


Use una instruccin Jump to Subroutine (JSR) para ejecutar una subrutina cuando la accin est activa. 1. En el SFC, haga clic con el botn derecho del mouse en el rea de entrada de texto de la accin y seleccione Set JSR.

2.

3.

4.

2. Seleccione la rutina que desea llamar. 3. Para pasar un parmetro a la rutina, haga clic en el cuadro de texto vaco Input Parameters. Luego use la flecha hacia abajo para seleccionar el tag que contiene el parmetro. 4. Para recibir a un parmetro proveniente de la rutina, haga clic en el cuadro de texto vaco Return Parameters. Luego use la flecha hacia abajo para seleccionar el tag en el cual desea almacenar el parmetro proveniente de la rutina. 5. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-22

Programacin de un diagrama de funciones secuenciales

Asignar el orden de ejecucin de las acciones

Las acciones se ejecutan en el orden en el cual aparecen. Por ejemplo:


Cuando Step_003 est activo, sus acciones se ejecutan en este orden: 1. Action_000 2. Action_001 3. Action_002

Para cambiar el orden en el cual se ejecuta una accin, arrastre la accin al lugar deseado en la secuencia. Una barra verde muestra un lugar de ubicacin vlido. Por ejemplo:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-23

Documentar el SFC
Para documentar lo siguiente: informacin general acerca del SFC paso

Para documentar un SFC, existen las siguientes opciones:


Y usted desea hacer lo siguiente: Haga lo siguiente: Aadir un cuadro de texto Aadir un cuadro de texto -o bienAadir una descripcin de tag descargar la documentacin al controlador tener la opcin de mostrar u ocultar la documentacin colocar la documentacin en cualquier lugar en el SFC Aadir comentarios de texto estructurado Aadir un cuadro de texto -o bienAadir una descripcin de tag Aadir comentarios de texto estructurado Aadir un cuadro de texto -o bienAadir una descripcin de tag

transicin

accin paro otro elemento (por ej., bifurcacin de seleccin)

descargar la documentacin al controlador

Aadir comentarios de texto estructurado


Use la siguiente tabla para formatear sus comentarios:
Para aadir un comentario: en una sola lnea al final de una lnea de texto estructurado dentro de una lnea de texto estructurado que abarque ms de una lnea Use uno de estos formatos: //comment (*comment*) /*comment*/ (*comment*) /*comment*/ (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

Para obtener ms informacin, vea Comentarios en la pgina 6-26. Para introducir los comentarios:

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-24

Programacin de un diagrama de funciones secuenciales

1. Haga doble clic en el rea de texto de la accin. 2. Escriba los comentarios. 3. Para cerrar la ventana de entrada, presione [Ctrl] + [Enter].

//comment statement; statement;

Aadir una descripcin de tag


1. Haga clic en el botn 2. Haga clic en la ficha Tag. del elemento.

3.

3. Escriba la descripcin del elemento (tag). 4. Seleccione 5. Arrastre el cuadro de descripcin al lugar deseado en el SFC.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-25

Aadir un cuadro de texto


Un cuadro de texto le permite aadir notas que aclaran la funcin de un elemento del SFC (paso, transicin, paro, etc.). O use un cuadro de texto para capturar informacin que utilizar posteriormente. Por ejemplo:

1. Haga clic Aparece un cuadro de texto.

2. Arrastre el cuadro de texto a un lugar cerca del elemento al cual se aplica. 3. Haga doble clic en el cuadro de texto y escriba la nota. Luego presione [Ctrl] + [Enter]. 4. A medida que mueve el elemento en el SFC, qu desea que haga el cuadro de texto?
Si usted desea que el cuadro de texto: permanezca en el mismo lugar se mueva con el elemento a donde se aplica Entonces: Detngase. Ya termin. Vaya al paso paso 5

B A punto verde

5. Haga clic en el smbolo del pin en el cuadro de texto y luego haga clic en el elemento SFC al cual desea conectar el cuadro de texto. Un punto verde muestra un punto de conexin vlido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-26

Programacin de un diagrama de funciones secuenciales

Mostrar u ocultar cuadros de texto o descripciones de tag

Tiene la opcin de mostrar u ocultar los cuadros de texto y las descripciones de tag. Si selecciona mostrar descripciones, la ventaja SFC slo muestra las descripciones de pasos, transiciones y paros (no acciones). Para mostrar u ocultar cuadros de texto o descripciones, tiene estas opciones: Mostrar u ocultar cuadros de texto o descripciones Ocultar una descripcin de tag individual

Mostrar u ocultar cuadros de texto o descripciones


1. En el men Tools, seleccione Options.

2.

2. Bajo SFC Editor, seleccione la categora Display. 3. Seleccione la opcin deseada.


Si desea: mostrar cuadros de texto o descripciones ocultar cuadros de texto o descripciones Entonces: seleccione el cuadro de verificacin correspondiente borre la seleccin del cuadro de verificacin correspondiente

4. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-27

Ocultar una descripcin de tag individual


Para ocultar la descripcin de un elemento especfico mientras muestra otras descripciones: 1. Haga clic en el botn ocultar. del elemento cuya descripcin desea

2. Seleccione el cuadro de verificacin Never display description in routine.

3. Seleccione Para mostrar otras descripciones, vea Mostrar u ocultar cuadros de texto o descripciones en la pgina 5-26.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-28

Programacin de un diagrama de funciones secuenciales

Configurar la ejecucin del SFC

La ficha SFC Execution del cuadro de dilogo Controller Properties le permite configurar lo siguiente: qu hacer cuando una transicin es verdadera dnde comenzar despus de una transicin al modo Marcha o de una recuperacin de una prdida de alimentacin elctrica qu hacer en el ltimo escn de un paso

1.

1. En la barra de herramientas en lnea, haga clic en el botn Controller Properties. 2. Haga clic en la ficha SFC Execution.
2.

3.

4.

5.

3. Seleccione si regresar o no a la instruccin OS/JSR si una transicin es verdadera. 4. Seleccione dnde reiniciar el SFC despus de una transicin al modo Marcha o de una recuperacin de una prdida de alimentacin elctrica. 5. Seleccione qu hacer en el ltimo escn de un paso. 6. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de funciones secuenciales

5-29

Verificar la rutina

A medida que va programando la rutina, verifique peridicamente 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 descripcin indicada en la ventana Results. c. Vaya al paso 1. 3. Para cerrar la ventana Results, presione [Alt] + [1].

Publicacin 1756-PM001E-ES-P - Agosto 2002

5-30

Programacin de un diagrama de funciones secuenciales

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Programacin de texto estructurado

Cundo usar este captulo

Use este captulo para escribir e introducir texto estructurado para una: rutina de texto estructurado accin de un diagrama de funcin secuencial (SFC) transicin de un diagrama de funcin secuencial (SFC)

Sintaxis del texto estructurado

El texto estructurado es un lenguaje de programacin textual que utiliza comandos para definir lo que se va a ejecutar. El texto estructurado no distingue entre maysculas y minsculas. Use tabulaciones y retornos de carro (lneas separadas) para facilitar la lectura del texto estructurado. stos no tienen efecto en la ejecucin del texto estructurado. El texto estructurado puede contener estos componentes:

Trmino: asignacin (vea la pgina 6-2) expresin (vea la pgina 6-4)

Definicin: Use un comando de asignacin para asignar valores a los tags. El operador := es el operador de asignacin. Termine la asignacin con un signo de punto y coma ;. Una expresin es una parte de una asignacin completa o un comando de construccin. Una expresin evala a un nmero (expresin numrica) o a un estado de verdadero o falso (expresin BOOL). Una expresin contiene: tags Un rea con nombre de la memoria, donde se almacenan datos (BOOL, SINT,INT,DINT, REAL, cadena). Un valor constante. Un smbolo o mnemnico que especifica una operacin dentro de una expresin. Cuando se ejecuta, una funcin produce un valor. Use parntesis para contener el operando de una funcin. Aunque su sintaxis es similar, las funciones se diferencian de las instrucciones en que las funciones slo se pueden usar en expresiones. Las instrucciones no se pueden usar en expresiones.

Ejemplos: tag := expression;

value1

inmediatos operadores funciones

4 tag1 + tag2 tag1 >= value1 function(tag1)

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-2

Programacin de texto estructurado

Trmino:

Definicin:

Ejemplos: instruction(); instruction(operand); instruction(operand1, operand2,operand3);

instruccin Una instruccin es un comando autnomo. (vea la pgina 6-11) Una instruccin usa parntesis para contener sus operandos. Dependiendo de la instruccin, puede haber cero, uno o mltiples operandos. Cuando se ejecuta, una instruccin produce uno o ms valores que son parte de una estructura de datos. Termine la instruccin con un signo de punto y coma ;. Aunque su sintaxis es similar, las instrucciones se diferencian de las funciones en que las instrucciones no se pueden usar en expresiones. Las funciones slo se pueden usar en expresiones. construccin Un comando condicional usado para activar el cdigo de texto (vea la pgina 6-12) estructurado (por ej., otros comandos). Termine la construccin con un signo de punto y coma ;.

IF...THEN CASE FOR...DO WHILE...DO REPEAT...UNTIL EXIT //comment (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

comentario Texto que explica o aclara lo que hace una seccin de texto (vea la pgina 6-26) estructurado. Use comentarios para facilitar la interpretacin de texto estructurado. Los comentarios no afectan la ejecucin del texto estructurado. Los comentarios pueden aparecer en cualquier lugar del texto estructurado.

Asignaciones

Use una asignacin para cambiar el valor almacenado en un tag. Una asignacin tiene esta sintaxis: tag := expression ; donde:
Componente: tag := expresin Descripcin: representa el tag que obtiene el nuevo valor el tag debe ser BOOL, SINT, INT, DINT o REAL es el smbolo de la asignacin representa el nuevo valor que se va a asignar al tag Si el tag es este tipo de datos: BOOL SINT INT DINT REAL ; finales de asignacin Use este tipo de expresin: expresin BOOL expresin numrica

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-3

El tag retiene el valor asignado hasta que otra asignacin cambia el valor. La expresin puede ser simple, tal como un valor inmediato u otro nombre de tag, o la expresin puede ser compleja e incluir varios operadores y/o funciones. Vea la siguiente seccin Expresionesen la pgina 6-4 para obtener detalles.

Especifique una asignacin no retentiva


La asignacin no retentiva se diferencia de la asignacin comn descrita anteriormente en que el tag en una asignacin no retentiva se restablece a cero cada vez que el controlador: entra al modo RUN sale del paso de un SFC si usted configura el SFC para Automatic Reset (Esto slo se aplica si usted incorpora la asignacin en la accin del paso o usa la accin para llamar a una rutina de texto estructurado mediante una instruccin JSR). Una asignacin no retentiva tiene esta sintaxis: tag [:=] expression ; donde:
Componente: tag [:=] expression Descripcin: representa el tag que obtiene el nuevo valor el tag debe ser BOOL, SINT, INT, DINT o REAL es el smbolo de la asignacin no retentiva representa el nuevo valor que se va a asignar al tag Si el tag es este tipo de datos: BOOL SINT INT DINT REAL ; finales de asignacin Use este tipo de expresin: expresin BOOL expresin numrica

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-4

Programacin de texto estructurado

Asigne un carcter ASCII a una cadena


Use el operador de asignacin para asignar un carcter ASCII a un elemento del miembro DATA de un tag de cadena. Para asignar un carcter, especifique el valor del carcter o especifique el nombre del tag, el miembro DATA y el elemento del carcter. Por ejemplo:
Esto es correcto: string1.DATA[0]:= 65; string1.DATA[0]:= string2.DATA[0]; Esto no es correcto: string1.DATA[0] := A; string1 := string2;

Para aadir o insertar una cadena de caracteres a un tag de cadena, use cualquiera de estas instrucciones de cadena ASCII:
Para: aadir caracteres al fin de una cadena insertar caracteres en una cadena Use esta instruccin: CONCAT INSERT

Expresiones

Una expresin es una comparacin, una ecuacin o un nombre de tag. Para escribir una expresin, use cualquiera de los siguientes: el nombre del tag que almacena el valor (variable) el nmero que usted introduce directamente en la expresin (valor inmediato) funciones, tales como: ABS, TRUNC operadores, tales como: +, , <, >, And, Or Cuando escriba las expresiones, siga estas reglas generales: Use cualquier combinacin de letras en maysculas o minsculas. Por ejemplo, estas tres variaciones de AND son aceptables: AND, And, and. Para requisitos ms complejos, use parntesis para agrupar expresiones dentro de expresiones. Esto facilita la lectura de toda la expresin y asegura que la expresin se ejecute en la secuencia deseada. Vea Determine el orden de ejecucin en la pgina 6-10. En el texto estructurado, se utilizan dos tipos de expresin: Expresin BOOL: Una expresin que produce ya sea el valor BOOL de 1 (verdadero) o 0 (falso). Una expresin bool usa tags bool, operadores de relacin y operadores lgicos para comparar valores y verificar si las condiciones son verdaderas o falsas. Por ejemplo, tag1>65. Una expresin bool simple puede ser un tag BOOL simple. Normalmente se usan expresiones bool para condicionar la ejecucin de la lgica.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-5

Expresin numrica: Una expresin que calcula un valor entero o de punto flotante (coma flotante). Una expresin numrica usa operadores aritmticos, funciones aritmticas y operadores de bit. Por ejemplo, tag1+5. Generalmente se anida una expresin numrica dentro de una expresin booleana. Por ejemplo, (tag1+5)>65. Use la siguiente tabla para seleccionar operadores para la expresin:
Si desea: Calcular un valor aritmtico Comparar dos valores o cadenas Verificar si las condiciones son verdaderas o falsas Comparar bits dentro de valores Entonces: Use funciones y operadores y aritmticos en la pgina 6-5. Use operadores de relacin en la pgina 6-7. Use operadores lgicos en la pgina 6-9. Use operadores de bit en la pgina 6-10.

Use funciones y operadores y aritmticos


Se pueden combinar mltiples operadores y funciones en expresiones aritmticas. Los operadores aritmticos calculan valores nuevos.
Para: sumar restar/cambiar signo multiplicar exponente (x a la potencia de y) dividir mdulo-divisin Use este operador: + * ** / MOD Tipo de datos ptimo: DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL DINT, REAL

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-6

Programacin de texto estructurado

Las funciones aritmticas realizan operaciones matemticas. Especifique una constante, un tag no booleano o una expresin para la funcin.
Para: valor absoluto arco coseno arco seno arco tangente coseno radianes a grados logaritmo natural logaritmo de base 10 grados a radianes seno raz cuadrada tangente truncar Use esta funcin: ABS (numeric_expression) ACOS (numeric_expression) ASIN (numeric_expression) ATAN (numeric_expression) COS (numeric_expression) DEG (numeric_expression) LN (numeric_expression) LOG (numeric_expression) RAD (numeric_expression) SIN (numeric_expression) SQRT (numeric_expression) TAN (numeric_expression) TRUNC (numeric_expression) Tipo de datos ptimo: DINT, REAL REAL REAL REAL REAL DINT, REAL REAL REAL DINT, REAL REAL DINT, REAL REAL DINT, REAL

Por ejemplo:
Use este formato: Ejemplo: Para esta situacin: value1 operator value2 Si gain_4 y gain_4_adj son tags DINT y su especificacin dice: Aadir 15 a gain_4 y guardar el resultado en gain_4_adj. Si alarm y high_alarm son tags DINT y su especificacin dice: Cambiar signo de high_alarm y guardar el resultado en alarm. Si overtravel y overtravel_POS son tags DINT y su especificacin dice: Calcular el valor absoluto de overtravel y guardar el resultado en overtravel_POS. Si adjustment y position son tags DINT y sensor1 y sensor2 son tags REAL y su especificacin dice: Hallar el valor absoluto del promedio de sensor1 y sensor2, aadir el valor de adjustment, y guardar el resultado en position. Usted escribira: gain_4_adj := gain_4+15; alarm:= high_alarm; overtravel_POS := ABS(overtravel);

operator value1

function(numeric_expression)

value1 operator (function((value2+value3)/2)

position := adjustment + ABS((sensor1 + sensor2)/2);

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-7

Use operadores de relacin


Los operadores de relacin comparan dos valores o cadenas para proporcionar un resultado verdadero o falso. El resultado de una operacin de relacin es un valor BOOL:
Si la comparacin es: verdadero falso El resultado es: 1 0

Use los siguientes operadores de relacin:


Para esta comparacin: igual menor que menor que o igual mayor que mayor que o igual diferente Use este operador: = < <= > >= <> Tipo de datos ptimo: DINT, REAL, cadena DINT, REAL, cadena DINT, REAL, cadena DINT, REAL, cadena DINT, REAL, cadena DINT, REAL, cadena

Por ejemplo:
Use este formato: Ejemplo: Para esta situacin: value1 operator value2 stringtag1 operator stringtag2 char1 operator char2 Para introducir un carcter ASCII directamente en una expresin, introduzca el valor decimal del carcter. bool_tag := bool_expressions Usted escribira: Si temp es un tag DINT y su especificacin dice: IF temp<100 THEN... Si temp es menor que 100 entonces Si bar_code y dest son tags de cadena y su especificacin dice: Si bar_code es igual que dest entonces Si bar_code es un tag de cadena y su especificacin dice: Si bar_code.DATA[0] es igual que A entonces IF bar_code=dest THEN...

IF bar_code.DATA[0]=65 THEN...

Si count y length son tags DINT, done es un tag BOOL y su especificacin dice Si count es mayor o igual que length, ya termin de contar.

done := (count >= length);

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-8

Programacin de texto estructurado

Cmo se evalan las cadenas


Los valores hexadecimales de los caracteres ASCII determinan si una cadena es menor o mayor que otra cadena. Cuando las dos cadenas estn clasificadas como en un directorio telefnico, el orden de las cadenas determina cul es mayor.
Caracteres ASCII 1ab
l e s s e r m a y o r q u e

Cdigos hexadecimales $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B

1b A AB B a ab

Las cadenas son iguales si sus caracteres son iguales. Los caracteres distinguen entre maysculas y minsculas. Una A mayscula ($41) no es igual a una a minscula ($61). Para obtener el valor decimal y el cdigo hexadecimal de un carcter, vea la contraportada de este manual.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-9

Use operadores lgicos


Los operadores lgicos permiten verificar si mltiples condiciones son verdaderas o falsas. El resultado de una operacin lgica es un valor BOOL:
Si la comparacin es: verdadero falso El resultado es: 1 0

Use los siguientes operadores lgicos:


Para: Y lgico O lgico O exclusivo lgico complemento lgico Use este operador: &, AND OR XOR NOT Tipo de datos: BOOL BOOL BOOL BOOL

Por ejemplo:
Use este formato: Ejemplo: Para esta situacin:
BOOLtag

Usted escribira: IF photoeye THEN...

Si photoeye es un tag BOOL y su especificacin dice: Si photoeye_1 est encendido, entonces Si photoeye es un tag BOOL y su especificacin dice: Si photoeye est apagado, entonces Si photoeye es un tag BOOL, temp es un tag DINT y su especificacin dice: Si photoeye est encendido y temp es menos de 100 entonces. Si photoeye es un tag BOOL, temp es un tag DINT y su especificacin dice: Si photoeye est encendido o temp es menos de 100 entonces. Si photoeye1 y photoeye2 son tags BOOL y su especificacin dice: Si: photoeye1 est encendido mientras que photoeye2 est apagado o photoeye1 est apagado mientras que photoeye2 est encendido entonces Si photoeye1 y photoeye2 son tags BOOL, open es un tag BOOL y su especificacin dice: Si photoeye1 y photoeye2 estn encendidos, establezca open en verdadero.

NOT BOOLtag expression1 & expression2

IF NOT photoeye THEN... IF photoeye & (temp<100) THEN...

expression1 OR expression2

IF photoeye OR (temp<100) THEN...

expression1 XOR expression2

IF photoeye1 XOR photoeye2 THEN...

BOOLtag := expression1 & expression2

open := photoeye1 & photoeye2;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-10

Programacin de texto estructurado

Use operadores de bit


Los operadores a nivel de bit manipulan los bits dentro de un valor basado en dos valores.
Para: funcin Y funcin O funcin O exclusivo complemento bit a bit Use este operador: &, AND OR XOR NOT Tipo de datos ptimo: DINT DINT DINT DINT

Por ejemplo:
Use este formato: Ejemplo: Para esta situacin: value1 operator value2 Usted escribira: Si input1, input2 y result1 son tags DINT y su result1 := input1 AND especificacin dice: Calcular el resultado bit a bit de input2; input1 e input2. Guardar el resultado en result1.

Determine el orden de ejecucin


Las operaciones que usted escribe en una expresin se realizan en un orden prescrito, no necesariamente de izquierda a derecha. Las operaciones de igual orden se realizan desde la izquierda hacia la derecha. Si una expresin contiene mltiples operadores o funciones, agrupe las condiciones en parntesis ( ). Esto asegura el orden correcto de ejecucin y facilita la lectura de la expresin.
Orden: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Operacin: () funcin () ** (cambiar signo) NOT *, /, MOD +, (restar) <, <=, >, >= =, <> &, AND XOR OR

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-11

Instrucciones

Los comandos de texto estructurado tambin pueden ser instrucciones. Vea la tabla de ubicacin al comienzo de este manual para obtener una lista de las instrucciones disponibles en texto estructurado. Una instruccin de texto estructurado se ejecuta cada vez que se escanea. Una instruccin de texto estructurado dentro de una construccin se ejecuta cada vez que las condiciones de la construccin son verdaderas. Si las condiciones de la construccin son falsas, los comandos dentro de la construccin no se escanean. No hay condicin de rengln ni transicin de estado que active la ejecucin. Esto es diferente de las instrucciones de bloque de funcin que usan EnableIn para activar la ejecucin. Las instrucciones de texto estructurado se ejecutan como si EnableIn estuviera siempre establecido. Esto tambin es diferente de las instrucciones de lgica de escalera de rel que usan la condicin de entrada de rengln para activar la ejecucin. Algunas instrucciones de lgica de escalera de rel slo se ejecutan cuando la condicin de entrada de rengln cambia de falso a verdadero. Estas son instrucciones de lgica de escalera de rel transitorias. En texto estructurado, las instrucciones se ejecutarn cada vez que se escaneen, a menos que usted condicione previamente la ejecucin de la instruccin de texto estructurado. Por ejemplo, la instruccin ABL es una instruccin transitoria en la lgica de escalera de rel. En este ejemplo, la instruccin ABL slo se ejecuta en un escn cuando tag_xic cambia de restablecido a establecido. La instruccin ABL no se ejecuta cuando tag_xic permanece establecido ni cuando tag_xic se restablece.

En texto estructurado, si usted escribe este ejemplo como: IF tag_xic THEN ABL(0,serial_control); END_IF; La instruccin ABL se ejecutar en cada escn que tag_xic est establecido, no slo cuando tag_xic cambie de restablecido a establecido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-12

Programacin de texto estructurado

Si desea que la instruccin ABL se ejecute slo cuando tag_xic cambia de restablecido a establecido, tiene que condicionar la instruccin de texto estructurado. Use captacin de un impulso para activar la ejecucin.
osri_1.InputBit := tag_xic; OSRI(osri_1);

IF (osri_1.OutputBit) THEN ABL(0,serial_control); END_IF;

Construcciones
Si desea: hacer algo si o cuando ocurran condiciones especficas seleccionar qu hacer basado en un valor numrico

Las construcciones pueden programarse de manera simple o anidadas dentro de otras construcciones.
Use esta construccin: IF...THEN CASE...OF FOR...DO WHILE...DO REPEAT...UNTIL Disponible en estos lenguajes: texto estructurado texto estructurado texto estructurado texto estructurado texto estructurado Vea la pgina: 6-13 6-16 6-18 6-21 6-23

hacer algo un nmero de veces especfico antes de hacer algo diferente continuar haciendo algo siempre que ciertas condiciones sean verdaderas continuar haciendo algo hasta que una condicin sea verdadera

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-13

IF...THEN
Operandos:

Use IFTHEN para hacer algo si o cuando ocurran condiciones especficas.

Texto estructurado
IF bool_expression THEN <statement>; END_IF;

Operando: bool_ expression

Tipo: BOOL

Formato: tag expresin

Introduzca: Expresin o tag BOOL que evale a un valor BOOL (expresin BOOL)

Descripcin: La sintaxis es:


IF bool_expression1 THEN <statement >;
comandos que se ejecutan cuando bool_expression1 es verdadero

. . .
opcional

ELSIF bool_expression2 THEN <statement>;


comandos que se ejecutan cuando bool_expression2 es verdadero

. . .
opcional

ELSE <statement >;


comandos que se ejecutan cuando ambas expresiones son falsas

. . .
END_IF; Para usar ELSIF o ELSE, siga estas pautas:

1. Para seleccionar entre varios posibles grupos de comandos, aada uno o ms comandos ELSIF. Cada ELSIF representa una ruta alternativa. Especifique la cantidad de rutas ELSIF que necesite. El controlador ejecuta el primer IF o ELSIF verdadero y se salta el resto de ELSIF y ELSE. 2. Para hacer algo cuando todas las condiciones IF o ELSIF son falsas, aada un comando ELSE.

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-14

Programacin de texto estructurado

La siguiente tabla resume las diferentes combinaciones de IF, THEN, ELSIF y ELSE.
Si desea: Y: Entonces use esta construccin

hacer algo si o cuando las condiciones no hacer nada si las condiciones son falsas IFTHEN sean verdaderas hacer algo diferente si las condiciones son falsas IFTHENELSE seleccionar entre comandos alternativos (o grupos de comandos) basados en condiciones de entrada no hacer nada si las condiciones son falsas asignar comandos predeterminados si todas las condiciones son falsas IFTHENELSIF IFTHENELSIFELSE

Indicadores de estado no afectados aritmtico: Condiciones de fallo: Ninguna Ejemplo 1: IFTHEN


Si desea lo siguiente: SI rechazos > 3 entonces transportador = desactivado (0) alarma = activada (1) Introduzca este texto estructurado: IF rejects > 3 THEN conveyor := 0; alarm := 1; END_IF;

Ejemplo 2: IFTHENELSE
Si desea lo siguiente: Si contacto de direccin de transportador = avance (1) entonces luz = apagada De lo contrario luz = encendida Introduzca este texto estructurado: IF conveyor_direction THEN light := 0; ELSE light [:=] 1; END_IF;

[:=] indica al controlador que restablezca light cada vez que el controlador: entra al modo RUN sale del paso de un SFC si usted configura el SFC para Automatic Reset (Esto slo se aplica si usted incorpora la asignacin en la accin del paso o usa la accin para llamar a una rutina de texto estructurado mediante una instruccin JSR).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-15

Ejemplo 3: IFTHENELSIF
Si desea lo siguiente: Si interruptor de lmite bajo de azcar = bajo (activado) e interruptor de lmite alto de azcar = no alto (activado) entonces vlvula de entrada = abierta (activado) Hasta que interruptor de lmite alto de azcar = alto (desactivado) Introduzca este texto estructurado: IF Sugar.Low & Sugar.High THEN

Sugar.Inlet [:=] 1; ELSIF NOT(Sugar.High) THEN Sugar.Inlet := 0; END_IF;

[:=] le indica al controlador que restablezca Sugar.Inlet cada vez que el controlador: entra al modo RUN deja el paso de un SFC si usted configura el SFC para Automatic Reset (Esto slo se aplica si usted incorpora la asignacin en la accin del paso o usa la accin para llamar a una rutina de texto estructurado mediante una instruccin JSR).

Ejemplo 4: IFTHENELSIFELSE
Si desea lo siguiente: Si la temperatura del tanque > 100 entonces bomba = lenta Si la temperatura del tanque > 200 entonces bomba = rpida de lo contrario bomba = desactivada ELSE pump.fast :=0; pump.slow :=0; pump.off :=1; END_IF; Introduzca este texto estructurado: IF tank.temp > 200 THEN pump.fast :=1; pump.slow :=0; pump.off :=0; ELSIF tank.temp > 100 THEN pump.fast :=0; pump.slow :=1; pump.off :=0;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-16

Programacin de texto estructurado

CASE...OF
Operandos:

Use CASE para seleccionar qu hacer basado en un valor numrico.

Texto estructurado
CASE numeric_expression OF selector1: statement; selectorN: statement; ELSE statement; END_CASE; selector

Operando:
numeric_ expression

Tipo: SINT INT DINT REAL SINT INT DINT REAL

Formato: tag expresin

Introduzca: tag o expresin que evale a un nmero (expresin numrica)

valor inmediato

el mismo tipo que


numeric_expression

IMPORTANTE

Si usa valores REAL, use un rango de valores para un selector porque es ms probable que un valor REAL est dentro de un rango de valores que una coincidencia exacta de un valor especfico.

Descripcin: La sintaxis es:


CASE numeric_expression OF selector1 : <statement>; . . . <statement>;
comandos a ejecutar cuando numeric_expression = selector1

especifique la cantidad de valores de selector alternativos (rutas) que necesite

selector2 :

. . .
selector3 : <statement>;

comandos a ejecutar cuando numeric_expression = selector2

. . .
ELSE <statement>;
opcional

comandos a ejecutar cuando numeric_expression = selector3

. . .
END_CASE;

comandos a ejecutar cuando numeric_expression cualquier selector

Vea la tabla en la siguiente pgina para obtener los valores de selector vlidos.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-17

La sintaxis para introducir los valores de selector es:


Cuando el selector es: un valor valores mltiples y diferentes Introduzca: value: statement value1, value2, valueN : <statement> Use una coma (,) para separar cada valor. un rango de valores value1..valueN : <statement> Use dos puntos (..) para identificar el rango. valores diferentes ms un rango de valores valuea, valueb, value1..valueN : <statement>

Indicadores de estado no afectados aritmtico: Condiciones de fallo: Ninguna Ejemplo


Si desea lo siguiente: Si nmero de receta = 1 entonces Ingrediente A salida 1 = abierto (1) Ingrediente B salida 4 = abierto (1) Si nmero de receta = 2 3 entonces Ingrediente A salida 4 = abierto (1) Ingrediente B salida 2 = abierto (1) Si nmero de receta = 4, 5, 6 7 entonces Ingrediente A salida 4 = abierto (1) Ingrediente B salida 2 = abierto (1) Si nmero de receta = 8, 11, 12 13 entonces Ingrediente A salida 1 = abierto (1) Ingrediente B salida 4 = abierto (1) De lo contrario todas las salidas = cerrado (0)
ELSE Ingredient_A.Outlet_1 [:=]0; Ingredient_A.Outlet_4 [:=]0; Ingredient_B.Outlet_2 [:=]0; Ingredient_B.Outlet_4 [:=]0; END_CASE; 8,11-13 Ingredient_A.Outlet_1 :=1; Ingredient_B.Outlet_4 :=1; 4..7: Ingredient_A.Outlet_4 :=1; Ingredient_B.Outlet_2 :=1; 2,3:

Introduzca este texto estructurado:


CASE recipe_number OF 1: Ingredient_A.Outlet_1 :=1; Ingredient_B.Outlet_4 :=1; Ingredient_A.Outlet_4 :=1; Ingredient_B.Outlet_2 :=1;

[:=] indica al controlador que restablezca tambin los tags de salida cada vez que el controlador: entra al modo RUN sale del paso de un SFC si usted configura el SFC para Automatic Reset (Esto slo se aplica si usted incorpora la asignacin en la accin del paso o usa la accin para llamar a una rutina de texto estructurado mediante una instruccin JSR).
Publicacin 1756-PM001E-ES-P - Agosto 2002

6-18

Programacin de texto estructurado

FORDO
Operandos:

Use el lazo FORDO para hacer algo un nmero de veces especfico antes de hacer algo diferente.

Texto estructurado
FOR count:= initial_value TO final_value BY increment DO <statement>; END_FOR;

Operando: count

Tipo: SINT INT DINT SINT INT DINT SINT INT DINT SINT INT DINT

Formato: tag

Descripcin: tag para almacenar posicin de conteo a medida que FORDO se ejecuta debe evaluar a un nmero especifica el valor inicial del conteo

initial_ value

tag expresin valor inmediato tag expresin valor inmediato tag expresin valor inmediato

final_ value

especifica el valor final del conteo, lo cual determina cundo salir del lazo

increment

(opcional) cantidad que incrementa el conteo cada vez a travs del lazo Si no se especifica un incremento, el conteo incrementa un valor de 1.

IMPORTANTE

Asegrese de no efectuar iteraciones dentro de un lazo demasiadas veces en un solo escn. El controlador no ejecuta ningn otro comando en la rutina hasta que se complete el lazo. Si el tiempo requerido para completar el lazo es mayor que el temporizador de control (watchdog) de la tarea, ocurrir un fallo mayor. Considere usar una construccin diferente, tal como IF...THEN.

Descripcin: La sintaxis es:


FOR count := initial_value TO final_value
opcional {

BY increment DO <statement >; IF bool_expression THEN EXIT;

Si no se especifica un incremento, el lazo incrementa un valor de 1.

opcional

END_IF;

Si existen condiciones cuando usted desea salir del lazo anticipadamente, use otros comandos, tales como una construccin IF...THEN, para condicionar un comando EXIT.

END_FOR;

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-19

Los siguientes diagramas muestran cmo se ejecuta un lazo FOR...DO y cmo un comando EXIT sale del lazo anticipadamente.
Efectuado x s nmero de veces? no comando 1 comando 2 comando 3 comando 4 resto de la rutina Efectuado x s nmero de veces? no comando 1 comando 2 comando 3 comando 4 Salir ? no resto de la rutina

El lazo FORDO se ejecuta un nmero especfico de veces.

Para detener el lazo antes que el conteo llegue al ltimo valor, use el comando EXIT.

Indicadores de estado no afectados aritmtico: Condiciones de fallo:


Ocurrir un fallo mayor si: los lazos de la construccin son demasiado largos Tipo de fallo: 6 Cdigo de fallo: 1

Ejemplo 1:
Si desea lo siguiente: Restablecer los bits 0 31 en una matriz de BOOL: 1. Inicializar el tag subscript a 0. 2. Restablecer array[ subscript ]. Por ejemplo, cuando subscript = 5, restablecer array[5]. 3. Aadir 1 a subscript. 4. Si subscript es que 31, repetir 2 y 3. De lo contrario, parar. Introduzca este texto estructurado: For subscript:=0 to 31 by 1 do array[subscript] := 0; End_for;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-20

Programacin de texto estructurado

Ejemplo 2:
Si desea lo siguiente: Introduzca este texto estructurado:

Un tipo de datos definido por el usuario (estructura) almacena SIZE(Inventory,0,Inventory_Items); la siguiente informacin acerca de un tem en el inventario: For position:=0 to Inventory_Items 1 do ID de cdigo de barras del tem (tipo de datos de cadena) If Barcode = Inventory[position].ID then Cantidad en inventario del tem (tipo de datos DINT) Quantity := Inventory[position].Qty; Una matriz de la estructura anterior contiene un elemento para cada tem diferente en el inventario. Usted desea buscar Exit; la matriz de un producto especfico (usar su cdigo de barras) y End_if; determinar la cantidad en inventario. 1. Obtener el tamao (nmero de tems) de la matriz End_for; Inventory y almacenar el resultado en Inventory_Items (tag DINT). 2. Inicializar el tag position a 0. 3. Si Barcode coincide con el ID de un tem en la matriz, entonces: a. Establezca el tag Quantity = Inventory[position].Qty. Esto produce la cantidad del tem en inventario. b. Detngase. Barcode es una cadena que almacena el cdigo de barras del tem que usted est buscando. Por ejemplo, cuando position = 5, compare Barcode con Inventory[5].ID. 4. Aadir 1 a position. 5. Si position es que (Inventory_Items 1), repetir 3 y 4. Puesto que los nmeros de elementos comienzan en 0, el ltimo elemento es 1 menos que el nmero de elementos en la matriz. De lo contrario, parar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-21

WHILEDO
Operandos:

Use el lazo WHILEDO para continuar haciendo algo, siempre que ciertas condiciones sean verdaderas.

Texto estructurado
WHILE bool_expression DO <statement>; END_WHILE;

Operando: bool_ expression

Tipo: BOOL

Formato: tag expresin

Introduzca: Expresin o tag BOOL que evale a un valor BOOL

IMPORTANTE

Asegrese de no efectuar iteraciones dentro de un lazo demasiadas veces en un solo escn. El controlador no ejecuta ningn otro comando en la rutina hasta que se complete el lazo. Si el tiempo requerido para completar el lazo es mayor que el temporizador de control (watchdog) de la tarea, ocurrir un fallo mayor. Considere usar una construccin diferente, tal como IF...THEN.

Descripcin: La sintaxis es:


WHILE bool_expression1 DO <statement>; IF bool_expression2 THEN EXIT;
opcional Si existen condiciones cuando usted desea salir del lazo anticipadamente, use otros comandos, tales como una construccin IF...THEN, para condicionar un comando EXIT. comandos que se ejecutan mientras bool_expression1 es verdadero

END_IF;

END_WHILE; Los siguientes diagramas muestran cmo se ejecuta un lazo WHILE...DO y cmo un comando EXIT sale del lazo anticipadamente.
expresin BOOL verdadero comando 1 comando 2 comando 3 comando 4 resto de la rutina falso expresin BOOL verdadero comando 1 comando 2 comando 3 comando 4 Salir ? no resto de la rutina falso

Mientras que bool_expression es verdadero, el controlador ejecuta slo los comandos dentro del lazo WHILEDO.

Para detener el lazo antes de que las condiciones sean verdaderas, use el comando EXIT.

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-22

Programacin de texto estructurado

Ejemplo 1:
Si desea lo siguiente: El lazo WHILE...DO evala sus condiciones primero. Si las condiciones son verdaderas, entonces el controlador ejecuta los comandos dentro del lazo. Esto es diferente del lazo REPEAT...UNTIL porque el lazo REPEAT...UNTIL ejecuta los comandos en la construccin y luego determina si las condiciones son verdaderas antes de ejecutar los comandos nuevamente. Los comandos en un lazo REPEAT...UNTIL siempre se ejecutan por lo menos una vez. Los comandos en un lazo WHILE...DO puede ser que nunca se ejecuten. Introduzca este texto estructurado: pos := 0; While ((pos <= 100) & structarray[pos].value <> targetvalue)) do pos := pos + 2; String_tag.DATA[pos] := SINT_array[pos]; end_while;

Indicadores de estado no afectados aritmtico: Condiciones de fallo:


Ocurrir un fallo mayor si: los lazos de la construccin son demasiado largos Tipo de fallo: 6 Cdigo de fallo: 1

Ejemplo 2:
Si desea lo siguiente: Transferir caracteres ASCII de una matriz SINT a un tag de cadena. (En una matriz SINT, cada elemento contiene un carcter). Detenerse al llegar al retorno de carro. 1. Inicializar Element_number a 0. 2. Contar el nmero de elementos en SINT_array (matriz que contiene los caracteres ASCII) y almacenar el resultado en SINT_array_size (tag DINT). 3. Si el carcter en SINT_array[element_number] = 13 (valor decimal del retorno de carro), entonces parar. 4. Establecer String_tag[element_number] = el carcter en SINT_array[element_number]. 5. Aadir 1 a element_number. Esto permite que el controlador verifique el siguiente carcter en SINT_array. 6. Establecer el miembro Length de String_tag = element_number. (Esto registra el nmero de caracteres en String_tag hasta el momento). 7. Si element_number = SINT_array_size, entonces parar. (Usted se encuentra al final de la matriz y sta no contiene un retorno de carro). 8. Vaya al paso 3 Introduzca este texto estructurado: element_number := 0; SIZE(SINT_array, 0, SINT_array_size); While SINT_array[element_number] <> 13 do String_tag.DATA[element_number] := SINT_array[element_number]; element_number := element_number + 1; String_tag.LEN := element_number; If element_number = SINT_array_size then exit; end_if; end_while;

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-23

REPEATUNTIL
Operandos:

Use el lazo REPEATUNTIL para continuar haciendo algo hasta que las condiciones sean verdaderas.

Texto estructurado
REPEAT <statement>; UNTIL bool_expression END_REPEAT;

Operando: bool_ expression

Tipo: BOOL

Formato: tag expresin

Introduzca: Expresin o tag BOOL que evale a un valor BOOL (expresin BOOL)

IMPORTANTE

Asegrese de no efectuar iteraciones dentro de un lazo demasiadas veces en un solo escn. El controlador no ejecuta ningn otro comando en la rutina hasta que se complete el lazo. Si el tiempo requerido para completar el lazo es mayor que el temporizador de control (watchdog) de la tarea, ocurrir un fallo mayor. Considere usar una construccin diferente, tal como IF...THEN.

Descripcin: La sintaxis es:


REPEAT <statement>; IF bool_expression2 THEN EXIT;
opcional Si existen condiciones cuando usted desea salir del lazo anticipadamente, use otros comandos, tales como una construccin IF...THEN, para condicionar un comando EXIT. comandos que se ejecutan mientras bool_expression1 es falso

END_IF;

UNTIL bool_expression1 END_REPEAT;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-24

Programacin de texto estructurado

Los siguientes diagramas muestran cmo se ejecuta un lazo REPEAT...UNTIL y cmo un comando EXIT sale del lazo anticipadamente.
comando 1 comando 2 comando 3 comando 4 expresin BOOL falso resto de la rutina falso resto de la rutina comando 1 comando 2 comando 3 comando 4 Salir ? no expresin BOOL verdadero

verdadero

Mientras que bool_expression es falso, el controlador ejecuta slo los comandos dentro del lazo REPEATUNTIL.

Para detener el lazo antes de que las condiciones sean falsas, use el comando EXIT.

Ejemplo 1:
Si desea lo siguiente: El lazo REPEAT...UNTIL ejecuta los comandos en la construccin y luego determina si las condiciones son verdaderas antes de ejecutar los comandos nuevamente. Introduzca este texto estructurado: pos := 1; REPEAT

pos := pos + 2; Esto es diferente del lazo WHILE...DO porque el lazo WHILE...DO evala sus condiciones primero. Si las condiciones son verdaderas, UNTIL ((pos = 101) OR entonces el controlador ejecuta los comandos dentro del lazo. Los (structarray[pos].value = targetvalue)) comandos en un lazo REPEAT...UNTIL siempre se ejecutan por lo end_repeat; menos una vez. Los comandos en un lazo WHILE...DO puede ser que nunca se ejecuten.

Indicadores de estado no afectados aritmtico: Condiciones de fallo:


Ocurrir un fallo mayor si: los lazos de la construccin son demasiado largos Tipo de fallo: 6 Cdigo de fallo: 1

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de texto estructurado

6-25

Ejemplo 2:
Si desea lo siguiente: Transferir caracteres ASCII de una matriz SINT a un tag de cadena. (En una matriz SINT, cada elemento contiene un carcter). Detenerse al llegar al retorno de carro. 1. Inicializar Element_number a 0. 2. Contar el nmero de elementos en SINT_array (matriz que contiene los caracteres ASCII) y almacenar el resultado en SINT_array_size (tag DINT). 3. Establecer String_tag[element_number] = el carcter en SINT_array[element_number]. 4. Aadir 1 a element_number. Esto permite que el controlador verifique el siguiente carcter en SINT_array. 5. Establecer el miembro Length de String_tag = element_number. (Esto registra el nmero de caracteres en String_tag hasta el momento). 6. Si element_number = SINT_array_size, entonces parar. (Usted se encuentra al final de la matriz y sta no contiene un retorno de carro). 7. Si el carcter en SINT_array[element_number] = 13 (valor decimal del retorno de carro), entonces parar. De lo contrario, ir a 3. Introduzca este texto estructurado: element_number := 0; SIZE(SINT_array, 0, SINT_array_size); Repeat String_tag.DATA[element_number] := SINT_array[element_number]; element_number := element_number + 1; String_tag.LEN := element_number; If element_number = SINT_array_size then exit; end_if; Until SINT_array[element_number] = 13 end_repeat;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-26

Programacin de texto estructurado

Comentarios

Para facilitar la interpretacin del texto estructurado, adale comentarios. Los comentarios le permiten usar un lenguaje simple para describir cmo funciona el texto estructurado. Los comentarios no afectan la ejecucin del texto estructurado. Para aadir comentarios al texto estructurado:
Para aadir un comentario: en una sola lnea al final de una lnea de texto estructurado dentro de una lnea de texto estructurado que abarque ms de una lnea Use uno de estos formatos: //comment (*comment*) /*comment*/ (*comment*) /*comment*/ (*start of comment . . . end of comment*) /*start of comment . . . end of comment*/

Por ejemplo:
Formato: //comment Ejemplo: Al comienzo de una lnea //Check conveyor belt direction IF conveyor_direction THEN... Al final de una lnea ELSE //If conveyor isnt moving, set alarm light light := 1; END_IF; Sugar.Inlet[:=]1;(*open the inlet*) IF Sugar.Low (*low level LS*)& Sugar.High (*high level LS*)THEN... (*Controla la velocidad de la bomba de recirculacin. La velocidad depende de la temperatura en el tanque.*) IF tank.temp > 200 THEN... /*comment*/ Sugar.Inlet:=0;/*close the inlet*/ IF bar_code=65 /*A*/ THEN... /*Obtiene el nmero de elementos en la matriz Inventory y almacena el valor en el tag Inventory_Items*/ SIZE(Inventory,0,Inventory_Items);

(*comment*)

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Programacin de un diagrama de bloques de funcin

Cundo usar este procedimiento

Use este procedimiento para hacer lo siguiente: organizar una rutina de bloques de funcin desarrollar uno o ms diagramas de bloques de funcin para la rutina introducir los diagramas de bloques de funcin en la rutina

Antes de usar este procedimiento

Antes de usar este procedimiento, asegrese de que puede hacer las siguientes tareas:
 

Abra o cierre una carpeta Cree una rutina

Para obtener ms informacin sobre cualquiera de esas tareas, vea Organizacin de tareas, programas y rutinas en la pgina 2-1.

Cmo usar este procedimiento

Para programar una rutina de bloques de funcin, realice los pasos siguientes: Identifique las hojas para la rutina Seleccione los elementos de los bloques de funcin Seleccione un nombre de tag para un elemento Defina el orden de ejecucin Identifique los conectores Defina el control de programa/operador Aada una hoja Aada un elemento de bloque de funcin Conecte los elementos Asigne un tag Asigne un valor inmediato (constante) Conecte bloques con un OCON e ICON Verifique la rutina

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-2

Programacin de un diagrama de bloques de funcin

Identifique las hojas para la rutina

Para facilitar la navegacin por una rutina de bloques de funcin, divida la rutina en una serie de hojas: Las hojas le ayudan a organizar y encontrar los bloques de funcin. No afectan el orden en que se ejecutan los bloques de funcin. Cuando se ejecuta la rutina, todas las hojas se ejecutan. En general, use una hoja para cada dispositivo (motor, vlvula, etc.) El siguiente ejemplo muestra una rutina de bloques de funcin que controla 4 motores.

EJEMPLO

Identifique las hojas para la rutina


Rutina de control de motores Hoja 1 de 4 motor 1 Hoja 2 de 4 motor 2

Hoja 3 de 4

motor 3

Hoja 4 de 4

motor 4

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-3

Seleccione los elementos de los bloques de funcin


referencia de entrada (IREF)

Para controlar un dispositivo, use los siguientes elementos:

bloque de funcin

referencia de salida (OREF)

conector de cable de salida (OCON)

conector de cable de entrada (ICON)

Use la siguiente tabla para seleccionar los elementos de los bloques de funcin:
Si desea: enviar un valor a un dispositivo de salida o tag realizar una operacin con un valor o valores de entrada y producir un valor o valores de salida transferir datos entre bloques de funcin cuando stos estn: bastante separados en la misma hoja en hojas diferentes dentro de la misma rutina dispersar datos a varios puntos en la rutina Entonces use un/una: referencia de salida (OREF) bloque de funcin conector de cable de salida (OCON) y un conector de cable de entrada (ICON) conector de cable de salida nico (OCON) y mltiples conectores de cable de entrada (ICON)

proporcionar un valor proveniente de un dispositivo de entrada o tag referencia de entrada (IREF)

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-4

Programacin de un diagrama de bloques de funcin

Seleccione un nombre de tag para un elemento

Cada bloque de funcin usa un tag para almacenar la informacin de configuracin y estado acerca de la instruccin. Cuando se aade una instruccin de bloque de funcin, el software RSLogix 5000 automticamente crea un tag para el bloque. Se puede usar este tag tal como est, cambiar el nombre del tag o asignar un tag diferente. Para IREF y OREF, es necesario crear un tag o asignar un tag existente. La siguiente tabla indica el formato para un nombre de tag:

Para un: tag nmero de bit de un tipo de datos ms grande miembro de una estructura elemento de una matriz de una dimensin elemento de una matriz de dos dimensiones elemento de una matriz de tres dimensiones elemento de una matriz dentro de una estructura miembro de un elemento de una matriz

Especifique: tag_name tag_name.bit_number tag_name.member_name tag_name[x] tag_name[x,y] tag_name[x,y,z] tag_name.member_name[x] tag_name[x,y,z].member_name

donde: x es la ubicacin del elemento en la primera dimensin. y es la ubicacin del elemento en la segunda dimensin. z es la ubicacin del elemento en la tercera dimensin. Para una estructura dentro de una estructura, aada un .member_name adicional.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-5

Defina el orden de ejecucin

El orden de ejecucin (flujo de datos) se define cableando bloques de funcin juntos e indicando cualquier cable de entrada (retroalimentacin), si es necesario. La ubicacin de un bloque no afecta el orden en el cual se ejecutan los bloques.

los datos fluyen desde los pines de salida hasta los pines de entrada

pin de salida

cable

pin de entrada pin de salida

cable

pin de entrada

Smbolos de cables: valor SINT, INT, DINT, o REAL valor BOOL (0 1)

Enclavamiento de datos
Si usted usa una IREF para especificar datos de entrada para una instruccin de bloque de funcin, los datos en la IREF se enclavan para el escn de la rutina del bloque de funcin. La IREF enclava datos desde los tags cubiertos por el programa y tags cubiertos por el controlador. El controlador actualiza todos los datos IREF al comienzo de cada escn.

IREF

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-6

Programacin de un diagrama de bloques de funcin

En este ejemplo, el valor de tagA se almacena al comienzo de la ejecucin de la rutina. El valor almacenado se usa cuando se ejecuta Block_01. El mismo valor almacenado tambin se usa cuando se ejecuta Block_02. Si el valor de tagA cambia durante la ejecucin de la rutina, el valor almacenado de tagA en IREF no cambia hasta la siguiente ejecucin de la rutina.
Block_01

tagA

Block_02

Este ejemplo es igual al anterior. El valor de tagA se almacena slo una vez al comienzo de la ejecucin de la rutina. La rutina usa este valor almacenado en toda la rutina.
Block_01

tagA

Block_02

tagA

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-7

Comenzando con el software RSLogix 5000, versin 11, se puede usar el mismo tag en mltiples IREF y en un OREF en la misma rutina. Puesto que los valores de los tags en las IREF se enclavan en cada escn en toda la rutina, todas las IREF usarn el mismo valor, aunque una OREF obtenga un valor de tag diferente durante la ejecucin de la rutina. En este ejemplo, si tagA tiene un valor de 25.4 cuando la rutina comienza a ejecutar este escn, y Block_01 cambia el valor de tagA a 50.9, la segunda IREF cableada en Block_02 seguir usando un valor de 25.4 cuando Block_02 ejecute este escn. El nuevo valor de tagA de 50.9 no ser usado por ninguna IREF en esta rutina hasta el comienzo del siguiente escn.

Orden de ejecucin
El software de programacin RSLogix 5000 determina automticamente el orden de ejecucin de los bloques de funcin en una rutina cuando usted: verifica una rutina de bloque de funcin verifica un proyecto que contiene una rutina de bloque de funcin descarga un proyecto que contiene una rutina de bloque de funcin El orden de ejecucin se define cableando bloques de funcin juntos e indicando el flujo de datos de los cables de retroalimentacin, si es necesario. Si los bloques de funcin no estn cableados juntos, no importa cul bloque se ejecuta primero. No existe un flujo de datos entre los bloques.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-8

Programacin de un diagrama de bloques de funcin

Si los bloques se cablean de manera secuencial, el orden de ejecucin va de entrada a salida. Las entradas de un bloque requieren que los datos estn disponibles para que el controlador pueda ejecutar dicho bloque. Por ejemplo, el bloque 2 tiene que ejecutarse antes que el bloque 3 porque las salidas del bloque 2 alimentan a las entradas del bloque 3.
1 2 3

El orden de ejecucin est relacionado slo a los bloques que estn cableados juntos. El siguiente es un buen ejemplo porque los dos grupos de bloques no estn cableados juntos. Los bloques dentro de un grupo especfico se ejecutan en el orden apropiado en relacin con los bloques de dicho grupo.
1 3 5

Resuelva un lazo
Para crear un lazo de retroalimentacin alrededor de un bloque, cablee un pin de salida de un bloque a un pin de entrada del mismo bloque. El siguiente es un buen ejemplo. El lazo contiene un solo bloque, por lo tanto el orden de ejecucin no es importante.

Este pin de entrada usa una salida que el bloque produjo en el escn anterior.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-9

Si hay un grupo de bloques en un lazo, el controlador no puede determinar cul bloque debe ejecutarse primero. En otras palabras, no puede resolver el lazo.
? ? ?

Para identificar cul bloque debe ejecutarse primero, marque el cable de entrada que crea el lazo (el cable de retroalimentacin) con el indicador Assume Data Available. En el siguiente ejemplo, el bloque 1 usa la salida del bloque 3 que se produjo en la ejecucin previa de la rutina.
1 2 3

Este pin de entrada usa la salida que el bloque 3 produjo en el escn anterior. Indicador Assume Data Available

El indicador Assume Data Available define el flujo de datos dentro del lazo. La flecha indica que el dato sirve como entrada para el primer bloque en el lazo. No marque todos los cables de un lazo con el indicador Assume Data Available.
Esto es correcto 1 2 ? Esto no es correcto ?

Indicador Assume Data Available El indicador Assume Data Available define el flujo de datos dentro del lazo.

El controlador no puede resolver el lazo porque los cables usan el indicador Assume Data Available.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-10

Programacin de un diagrama de bloques de funcin

Resuelva el flujo de datos entre dos bloques


Si usted usa dos o ms cables para conectar dos bloques, use los mismos indicadores de flujo de datos para todos los cables entre los dos bloques.
Esto es correcto Esto no es correcto

Ningn cable usa el indicador Assume Data Available.

Un cable usa el indicador Assume Data Available y el otro cable no.

Indicador Assume Data Available Ambos cables usan el indicador Assume Data Available.

Cree un retardo de escn


Para producir un retardo de escn entre bloques, use el indicador Assume Data Available. En el siguiente ejemplo, el bloque 1 se ejecuta primero. Utiliza la salida del bloque 2 que se produjo en el escn anterior de la rutina.
2 1

Indicador Assume Data Available

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-11

Resumen
En resumen, una rutina de bloque de funcin se ejecuta en este orden: 1. El controlador enclava todos los valores de datos en IREF. 2. El controlador ejecuta los otros bloques de funcin en el orden determinado segn su cableado. 3. El controlador escribe salidas en OREF.

Identifique los conectores

Al igual que los cables, los conectores transfieren datos desde los pines de salida hasta los pines de entrada. Utilice conectores cuando: los elementos que desea conectar estn en hojas diferentes dentro de la misma rutina exista dificultad para encaminar un cable alrededor de otros cables o elementos desee dispersar datos a diversos puntos en la rutina

Connector_A datos

Connector_A

Para usar los conectores, siga estas reglas: Cada OCON requiere un nombre nico. Por cada OCON, usted debe tener por lo menos un ICON respectivo (por ej., un ICON con el mismo nombre que el OCON). Mltiples ICON pueden hacer referencia al mismo OCON. Esto le permite dispersar datos a diversos puntos en la rutina.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-12

Programacin de un diagrama de bloques de funcin

Defina el control de programa/operador

Hay varias instrucciones compatibles con el concepto de control de programa/operador. Estas instrucciones incluyen: Enhanced Select (ESEL) Totalizer (TOT) Enhanced PID (PIDE) Ramp/Soak (RMPS) Discrete 2-State Device (D2SD) Discrete 3-State Device (D3SD)

El control de programa/operador permite controlar estas instrucciones simultneamente desde el programa de usuario y desde un dispositivo de interface de operador. En control de programa, la instruccin es controlada por las entradas del programa a la instruccin; En control de operador, la instruccin es controlada por las entradas del operador a la instruccin. El control de programa u operador se determina mediante el uso de estas entradas:
Entrada: .ProgProgReq .ProgOperReq .OperProgReq .OperOperReq Descripcin: Una peticin del programa para ir a control de programa. Una peticin del programa para ir a control de operador. Una peticin del operador para ir a control de programa. Una peticin del operador para ir a control de operador.

Para determinar si una instruccin est en control de programa o de operador, examine la salida ProgOper. Si ProgOper est establecido, la instruccin est en control de programa; Si ProgOper est restablecido, la instruccin est en control de operador. El control de operador tiene precedencia sobre el control de programa si ambos bits de peticin de entrada estn establecidos. Por ejemplo, si ProgProgReq y ProgOperReq estn establecidos, la instruccin pasa a control de operador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-13

Las entradas de peticin de programa tienen precedencia sobre las entradas de peticin de operador. Esto proporciona la capacidad de usar las entradas ProgProgReq y ProgOperReq para bloquear una instruccin en un control deseado. Por ejemplo, supongamos que una instruccin Totalizer siempre se usar en el control de operador y que el programa de usuario nunca controlar la ejecucin o paro de Totalizer. En este caso, usted podra cablear un valor literal de 1 en ProgOperReq. Esto impedira que el operador pueda poner Totalizer en el control de programa estableciendo OperProgReq desde un dispositivo de interface de operador.

Puesto que la entrada ProgOperReq siempre se establece, no tiene ningn efecto presionar el botn Program en la cartula (lo cual establece la entrada OperProgReg). Normalmente, establecer OperProgReq pone a TOT en control del programa.

Cablear un 1 en ProgOperReq significa que el programa de usuario desea que TOT siempre est en control de operador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-14

Programacin de un diagrama de bloques de funcin

De igual modo, el establecer constantemente ProgProgReq puede bloquear la instruccin en control de programa. Esto es til para las secuencias de puesta en marcha automtica cuando usted desea que el programa controle la accin de la instruccin sin preocuparse de que un operador tome control accidentalmente de la instruccin. En este ejemplo el programa establece la entrada ProgProgReq durante la puesta en marcha y luego restablece la entrada ProgProgReq una vez que concluye la puesta en marcha. Una vez que se restablece la entrada ProgProgReq, la instruccin permanece en control de programa hasta que recibe una peticin de cambiar. Por ejemplo, el operador podra establecer la entrada OperOperReq desde la cartula para asumir el control de esa instruccin. El siguiente ejemplo muestra cmo bloquear una instruccin en control de programa.

Cuando se establece StartupSequenceActive, la instruccin PIDE se coloca en control de programa y modo manual. El valor StartupCV se usa como salida de lazo.

Las entradas de peticin de operador a una instruccin siempre son restablecidas por la instruccin cuando sta se ejecuta. Esto permite que las interfaces de operador funcionen con estas instrucciones simplemente estableciendo el bit de peticin del modo deseado. No es necesario programar la interface de operador para restablecer los bits de peticin. Por ejemplo, si una interface de operador establece la entrada OperAutoReq a una instruccin PIDE, cuando se ejecuta la instruccin PIDE, sta determina cul debe ser la respuesta apropiada y restablece OperAutoReq.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-15

Las entradas de peticin de programa normalmente no son restablecidas por la instruccin porque stas normalmente estn cableadas como entradas en la instruccin. Si la instruccin establece estas entradas, la entrada sera establecida nuevamente por la entrada cableada. Pueden haber situaciones en las que usted desee usar otra lgica para establecer las peticiones del programa de manera tal que desee que las peticiones del programa sean restablecidas por la instruccin. En este caso puede establecer la entrada ProgValueReset y la instruccin siempre restablecer las entradas de peticin del modo programa cuando sta se ejecute. En este ejemplo se usa un rengln de lgica de escalera en otra rutina para enclavar con un impulso ProgAutoReq a una instruccin PIDE cuando se presiona un botn pulsador. Puesto que la instruccin PIDE automticamente restablece las peticiones del modo programa, usted no tiene que escribir ninguna lgica de escalera para restablecer ProgAutoReq despus que se ejecute la rutina, y la instruccin PIDE recibir slo una peticin para pasar al modo Auto cada vez que se presione el botn pulsador.
Cuando se presiona el botn pulsador TIC101AutoReq, ocurre un enclavamiento de un impulso de ProgAutoReq para la instruccin PIDE TIC101. TIC101 se ha configurado con la entrada ProgValueReset establecida, por lo tanto, cuando se ejecuta la instruccin PIDE, sta automticamente restablece ProgAutoReq.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-16

Programacin de un diagrama de bloques de funcin

Aada una hoja

Para aadir una hoja a una rutina de bloques de funcin:


1. 2.

1. Haga clic en 2. Escriba una descripcin de la hoja (50 caracteres como mximo).

Aada un elemento de bloque de funcin

Use la barra de herramientas Language Element para aadir un elemento de bloque de funcin a la rutina.

IREF

OREF ICON OCON

bloques de funcin

otros bloques de funcin

Para aadir un elemento: 1. En la barra de herramientas Language Element, haga clic en el botn del elemento que desea aadir. 2. Arrastre el elemento a la posicin deseada. Por ejemplo:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-17

Tambin puede arrastrar el botn del elemento directamente a la ubicacin deseada. Por ejemplo:

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-18

Programacin de un diagrama de bloques de funcin

Conecte los elementos

Para definir el flujo de datos: Mostrar u ocultar un pin Conecte elementos juntos Marque un cable con el indicador Assume Data Available

Mostrar u ocultar un pin


Cuando se aade una instruccin de bloque de funcin, se muestra un conjunto predeterminado de pines para los parmetros. El resto de los pines estn ocultos. Para mostrar u ocultar un pin: 1. Haga clic en el botn del bloque.

2.

2. Borre o ponga una marca de verificacin en el cuadro Vis del pin:


Si desea: ocultar un pin mostrar un pin Entonces: Borre la marca de verificacin en el cuadro Vis correspondiente. Ponga la marca de verificacin en el cuadro Vis correspondiente.

3. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-19

Conecte elementos juntos


Para cablear (conectar) dos elementos juntos, haga clic en el pin de salida del primer elemento y luego haga clic en el pin de entrada del otro elemento. Un punto verde muestra un punto de conexin vlido. Por ejemplo:
A b

punto verde

Marque un cable con el indicador Assume Data Available


Para definir un cable como entrada, haga clic con el botn derecho del mouse en el cable y seleccione Assume Data Available.
1 2 3

cable de entrada

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-20

Programacin de un diagrama de bloques de funcin

Asigne un tag

Para asignar un tag a un elemento de bloque de funcin, hay estas opciones: Cree y asigne un nuevo tag Cambie el nombre del tag de un bloque de funcin Asigne un tag existente

Cree y asigne un nuevo tag


1. Haga doble clic en el rea del operando. 2. Escriba un nombre para el tag y presione la tecla Enter. 3. Haga clic con el botn derecho del mouse en el nombre del tag y seleccione New tag_name.
4.

4. Haga clic en el botn

5.

6.

5. Seleccione el tipo de datos para el tag. 6. Si desea definir el tag como matriz, escriba el nmero de elementos en cada dimensin. 7. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-21

8.

8. Seleccione el alcance para el tag. 9. Seleccione

Cambie el nombre del tag de un bloque de funcin


1. Haga clic en el botn 2. Haga clic en la ficha Tag. del bloque.

3.

3. Escriba el nuevo nombre del tag para el bloque. 4. Seleccione

Asigne un tag existente


Block_01

1. Haga doble clic en el rea del operando. 2. Haga clic en w 3. Seleccione el tag:
Para seleccionar un: tag nmero de bit Haga lo siguiente: Haga doble clic en el nombre del tag. A. Haga clic en el nombre del tag. B. A la derecha del nombre del tag, haga clic en w C. Haga clic en el bit requerido.

4. Presione [Enter] o haga clic en un lugar diferente en el diagrama.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-22

Programacin de un diagrama de bloques de funcin

Asigne un valor inmediato (constante)

Para asignar un valor constante en lugar de un valor de tag a un parmetro de entrada, hay estas opciones:
Si desea: que el valor est visible en el diagrama e informes tener la capacidad de cambiar el valor en lnea sin editar la rutina Entonces: Use un IREF Introduzca un valor en el tag de un bloque

Use un IREF
1. Aada un IREF. 2. Conecte IREF al pin de entrada que obtiene el valor.

3.

3. Haga doble clic en el rea del operando de IREF. 4. Escriba el valor y presione la tecla Enter.

Introduzca un valor en el tag de un bloque


Para asignar un valor a un parmetro cuando un cable est conectado al pin: 1. Haga clic en el botn del bloque.

2.

2. Escriba el valor. 3. Seleccione

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de un diagrama de bloques de funcin

7-23

Conecte bloques con un OCON e ICON

Para transferir datos entre hojas o en situaciones de cableado complicado:


Aada un OCON Aada un ICON

ICON OCON

Aada un OCON
1. Aada un conector de cable de salida (OCON) y colquelo cerca del pin de salida que suministra el valor. 2. Conecte el OCON al pin de salida. 3. Haga doble clic en el rea del operando de OCON. 4. Escriba un nombre que identifique el conector y presione [Enter].

Aada un ICON
1. Aada un conector de cable de entrada (ICON) y colquelo cerca del pin de entrada que obtiene el valor del OCON respectivo. 2. Conecte el ICON al pin de entrada. 3. Haga doble clic en el rea del operando de ICON. 4. Seleccione el nombre del OCON que proporciona el valor a este conector y luego haga clic en un lugar en blanco en el diagrama.

Publicacin 1756-PM001E-ES-P - Agosto 2002

7-24

Programacin de un diagrama de bloques de funcin

Verifique la rutina

A medida que va programando la rutina, verifique peridicamente 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 descripcin indicada en la ventana Results. c. Vaya al paso 1. 3. Para cerrar la ventana Results, presione [Alt] + [1].

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Programacin de lgica de escalera

Cundo usar este procedimiento

Use este procedimiento para realizar lo siguiente: desarrollar la lgica para una rutina de lgica de escalera introducir la lgica en la rutina

Antes de usar este procedimiento

Antes de usar este procedimiento, asegrese de que puede realizar las siguientes tareas:
 

Abra o cierre una carpeta Cree una rutina

Para obtener ms informacin sobre cualquiera de estas tareas, vea Organizacin de tareas, programas y rutinas en la pgina 2-1.

Cmo usar este procedimiento

Para programar la rutina de lgica de escalera, realice estas tareas: Revise las Definiciones Escritura de lgica de escalera Introduccin de la lgica de escalera Asignacin de operandos Verificacin de la rutina

Publicacin 1756-PM001E-ES-P - Agosto 2002

8-2

Programacin de lgica de escalera

Definiciones

Antes de escribir o introducir la lgica de escalera, revise los siguientes trminos: Instruccin Bifurcacin Condicin de rengln

Instruccin
La lgica de escalera se organiza como los renglones de una escalera y las instrucciones se colocan en cada rengln. Hay dos tipos bsicos de instrucciones: Instruccin de entrada: Una instruccin que verifica, compara o examina condiciones especficas de la mquina o proceso. Instruccin de salida: Una instruccin que realiza alguna accin, tal como encender un dispositivo, apagar un dispositivo, copiar datos o calcular un valor.

instrucciones de entrada

instrucciones de salida

Bifurcacin
Una bifurcacin consta de dos o ms instrucciones en paralelo.

bifurcacin

bifurcacin

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

8-3

No hay un lmite del nmero de niveles de bifurcacin en paralelo que usted puede introducir. La figura siguiente muestra una bifurcacin en paralelo con cinco niveles. El rengln principal es el primer nivel de bifurcacin, seguido por cuatro bifurcaciones adicionales.
instruccin de salida

instruccin de entrada

Se pueden anidar las bifurcaciones hasta en 6 niveles. La figura siguiente muestra una bifurcacin anidada. La instruccin de salida inferior se encuentra en una bifurcacin anidada que tiene tres niveles.
instruccin de entrada instruccin de salida

Publicacin 1756-PM001E-ES-P - Agosto 2002

8-4

Programacin de lgica de escalera

Condicin de rengln
El controlador evala las instrucciones de lgica de escalera segn la condicin de rengln que precede a la instruccin (condicin de entrada del rengln).
instruccin de entrada instruccin de salida

condicin de entrada de rengln

condicin de salida del rengln

Slo las instrucciones de entrada afectan la condicin de entrada de rengln de instrucciones subsiguientes en el rengln. Si la condicin de entrada del rengln a una instruccin de entrada es verdadera, el controlador evala la instruccin y establece la condicin de salida del rengln para que coincida con los resultados de la evaluacin. Si la instruccin se evala como verdadera, la condicin de salida del rengln es verdadera. Si la instruccin se evala como falsa, la condicin de salida del rengln es falsa. Una instruccin de salida no cambia la condicin de salida del rengln. Si la condicin de entrada del rengln a una instruccin de salida es verdadera, la condicin de salida del rengln se establece como verdadera. Si la condicin de entrada del rengln a una instruccin de salida es falsa, la condicin de salida del rengln se establece como falsa.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

8-5

Escritura de lgica de escalera

Para desarrollar la lgica de escalera, realice las acciones siguientes: Seleccione las instrucciones requeridas Organice las instrucciones de entrada Organice las instrucciones de salida Seleccione un nombre de tag para un operando

Seleccione las instrucciones requeridas


1. Separe las condiciones a verificar de la accin que se va a realizar. 2. Seleccione la instruccin de entrada apropiada para cada condicin y la instruccin de salida apropiada para cada accin. Para seleccionar instrucciones especficas, consulte los siguientes manuales: Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003 Logix5000 Controllers Process and Drives Instructions Reference Manual, publicacin 1756-RM006 Logix5000 Controllers Motion Instruction Set Reference Manual, publicacin 1756-RM007 Los ejemplos proporcionados en este captulo usan dos instrucciones simples para ayudarle a aprender cmo escribir la lgica de escalera. Las reglas que usted aprender para estas instrucciones se aplican a todas las otras instrucciones.
Smbolo: Nombre: Examine If Closed Mnemnico: XIC Descripcin: Una instruccin que examina un bit de datos. Si el bit est: Entonces la instruccin (condicin de salida de rengln) es: verdadera falsa Entonces la instruccin cambia el bit a: activado (1) desactivado (0)

activado (1) desactivado (0) Output Energize OTE Si las instrucciones a la izquierda (condicin de entrada de rengln) son: verdaderas falsas

Una instruccin de salida que controla un bit de datos.

Publicacin 1756-PM001E-ES-P - Agosto 2002

8-6

Programacin de lgica de escalera

Organice las instrucciones de entrada


Organice las instrucciones de entrada en un rengln usando el diagrama siguiente:
Para verificar mltiples condiciones de entrada cuando: Organice las instrucciones de entrada:

todas las condiciones deben cumplirse en orden para que se realice En serie: la accin
condicin_1 condition_2 condition_3

Por ejemplo, si condition_1 Y condition_2 Y condition_3 cualquiera de varias condiciones debe cumplirse para que se realice En paralelo: la accin
condition_1

Por ejemplo, si condition_1 O condition_2 O condition_3


condition_2

condition_3

hay una combinacin de lo anterior Por ejemplo: Si condition_1 Y condition_2 o bien Si condition_3 Y condition_2

En combinacin:
condition_1 condition_2

condition_3

CONSEJO

El controlador ejecuta todas las instrucciones en un rengln, independientemente de la condicin de entrada del rengln. Para obtener un rendimiento ptimo de una serie de instrucciones, coloque las instrucciones en secuencia desde la que ms probablemente es falsa a la izquierda hasta la que menos probablemente es falsa a la derecha.
instruccin que ms probablemente es FALSA instruccin que menos probablemente es FALSA

Cuando el controlador encuentra una instruccin falsa, ejecuta las instrucciones restantes en la serie con la condicin de entrada de rengln establecida en falso. Normalmente, una instruccin se ejecuta ms rpidamente cuando su condicin de entrada de rengln (rengln) es falso en lugar de verdadero.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

8-7

Organice las instrucciones de salida


Coloque por lo menos una instruccin de salida a la derecha de las instrucciones de entrada. Puede introducir mltiples instrucciones de salida por rengln de lgica, de la siguiente manera:
Opcin: Coloque las instrucciones de salida en secuencia en el rengln (en serie) Coloque las instrucciones de salida en bifurcaciones (en paralelo) Ejemplo:

Coloque las instrucciones de salida entre instrucciones de entrada, siempre que la ltima instruccin del rengln sea una instruccin de salida.

Seleccione un nombre de tag para un operando


La mayora de instrucciones requieren uno o ms de los siguientes tipos de operandos: nombre de tag (variable) valor inmediato (constante) nombre de una rutina, etiqueta, etc. La siguiente tabla describe el formato para un nombre de tag:
Para un: tag nmero de bit de un tipo de datos ms grande miembro de una estructura elemento de una matriz de una direccin elemento de una matriz de dos direcciones elemento de una matriz de tres direcciones elemento de una matriz dentro de una estructura miembro de un elemento de una matriz Especifique: tag_name tag_name.bit_number tag_name.member_name tag_name[x] tag_name[x,y] tag_name[x,y,z] tag_name.member_name[x] tag_name[x,y,z].member_name

donde: x es la ubicacin del elemento en la primera dimensin. y es la ubicacin del elemento en la segunda dimensin. z es la ubicacin del elemento en la tercera dimensin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

8-8

Programacin de lgica de escalera

Para una estructura dentro de una estructura, aada un .member_name adicional.

EJEMPLO

Seleccione un nombre de tag para un operando

Para acceder a: tag machine_on nmero de bit del tag one_shots miembro (bit) DN del temporizador running_seconds miembro mix del tag north_tank elemento 2 en la matriz recipe y elemento 1,1 en la matriz tanks

El nombre del tag es similar a:


machine_on

one_shots.1

running_seconds.DN

north_tank.mix

COP Copy File Source recipe[2] Dest tanks[1,1] Length 1 CLR Clear Dest north_tank.preset[2] 0

elemento 2 en la matriz preset dentro del tag north_tank

miembro part_advance del elemento 1 en la matriz drill

drill[1].part_advance

42357

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

8-9

Introduccin de la lgica de escalera

Una nueva rutina contiene un rengln que est listo para las instrucciones.
cursor (azul) Cuando se aade una instruccin o bifurcacin, sta aparece a la derecha del cursor.

Cuando se aade un rengln, ste aparece debajo del cursor.

Use la barra de herramientas Language Element para aadir un elemento de lgica de escalera a la rutina.

nivel de bifurcacin bifurcacin rengln XIC XIO OTE OTU OTL

otras instrucciones

Para aadir un elemento: Aada un elemento en la ubicacin del cursor Arrastre y coloque un elemento

Aada un elemento en la ubicacin del cursor


1. Haga clic (seleccione) la instruccin, bifurcacin o rengln que est encima o a la izquierda, o donde usted desee aadir un elemento. 2. En la barra de herramientas Language Element, haga clic en el botn del elemento que desea aadir.

Publicacin 1756-PM001E-ES-P - Agosto 2002

8-10

Programacin de lgica de escalera

Arrastre y coloque un elemento


Arrastre el botn del elemento directamente a la ubicacin deseada. El punto verde muestra el lugar de ubicacin vlido (lugar de colocacin). Por ejemplo

Asignacin de operandos

Para asignar un operando, existen estas opciones: Cree y asigne un nuevo tag Seleccione un nombre o un tag existente Arrastre un tag desde la ventana Tags Asigne un valor inmediato (constante)

Cree y asigne un nuevo tag


1. Haga clic en el rea del operando de la instruccin. 2. Escriba un nombre para el tag y presione [Enter]. 3. Haga clic con el botn derecho del mouse en el nombre del tag y seleccione New tag_name.
4.

4. Haga clic en el botn

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

8-11

5.

6.

5. Seleccione el tipo de datos para el tag. 6. Si desea definir el tag como matriz, escriba el nmero de elementos en cada dimensin. 7. Seleccione

8.

8. Seleccione el alcance para el tag. 9. Seleccione

Seleccione un nombre o un tag existente


1. Haga doble clic en el rea del operando. Se abrir un cuadro de entrada de texto. 2. Haga clic en w 3. Seleccione el nombre:
Para seleccionar un/una: etiqueta, nombre de rutina o tipo de nombre similar tag nmero de bit Haga lo siguiente: Haga cilc en el nombre. Haga doble clic en el nombre del tag. A. Haga clic en el nombre del tag. B. A la derecha del nombre del tag, haga clic en w C. Haga clic en el bit requerido.

4. Presione [Enter] o haga clic en un lugar diferente en el diagrama.


Publicacin 1756-PM001E-ES-P - Agosto 2002

8-12

Programacin de lgica de escalera

Arrastre un tag desde la ventana Tags


1. Busque el tag en la ventana Tags. 2. Haga clic en el tag dos o tres veces hasta que se resalte. 3. Arrastre el tag a su lugar en la instruccin.

Asigne un valor inmediato (constante)


1. Haga clic en el rea del operando de la instruccin. 2. Escriba el valor y presione [Enter].

Verificacin de la rutina

A medida que va programando la(s) rutina(s), verifique peridicamente 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 descripcin indicada en la ventana Results. c. Vaya al paso 1. 3. Para cerrar la ventana Results, presione [Alt] + [1].

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

Acceso a valores del sistema

Cundo usar este procedimiento Cmo usar este procedimiento


Si desea:

Use este procedimiento para obtener o usar informacin de estado acerca del controlador Logix5000.

Vea: Monitoreo de los indicadores de estado en la pgina 9-1 Obtener y establecer datos del sistema en la pgina 9-3 Determine la informacin de memoria del controlador en la pgina 9-6

usar contraseas especficas en la lgica para monitorear eventos especficos obtener o establecer valores del sistema obtener informacin acerca de la memoria del controlador

Monitoreo de los indicadores de estado

El controlador acepta contraseas de estado que usted puede usar en la lgica para monitorear eventos especficos: Las contraseas de estado no distinguen entre maysculas y minsculas. Debido a que los indicadores de estado pueden cambiar rpidamente, el software RSLogix 5000 no muestra el estado de los indicadores. (Por ejemplo, an cuando un indicador de estado est establecido, una instruccin que se refiera a dicho indicador no aparecer resaltada). No es posible definir un alias de tag en relacin con una contrasea.

Publicacin 1756-PM001E-ES-P - Agosto 2002

9-2

Acceso a valores del sistema

Se pueden utilizar estas contraseas:


Para determinar si: el valor que va a almacenar no cabe en el destino por cualquiera de las siguientes razones: es mayor que el valor mximo para el destino es menor que el valor mnimo para el destino Importante: Cada vez que S:V cambia de restablecido a establecido, se genera un fallo menor (tipo 4, cdigo 4) el valor de destino de la instruccin es 0 el valor de destino de la instruccin es negativo una operacin aritmtica causa un acarreo o un acarreo negativo que trata de usar bits que estn fuera del tipo de datos Por ejemplo: sumar 3 + 9 causa un acarreo de 1 restar 25 18 causa un acarreo negativo de 10 ste es el primer escn normal de las rutinas en el programa actual por lo menos se gener un fallo menor: El controlador establece este bit cuando ocurre un fallo menor debido a la ejecucin del programa El controlador no establece este bit por fallos menores que no estn relacionados con la ejecucin del programa, como por ejemplo batera baja. S:FS S:MINOR S:Z S:N S:C Use: S: V

Publicacin 1756-PM001E-ES-P - Agosto 2002

Acceso a valores del sistema

9-3

Obtener y establecer datos del sistema

El controlador almacena datos de sistema en los objetos. No hay un archivo de estado, a diferencia del controlador PLC-5. Use las instrucciones GSV/SSV para recibir y enviar datos de sistema del controlador que se almacenan en los objetos: La instruccin GSV recupera la informacin especificada y la coloca en el destino. La instruccin SSV establece el atributo especificado con datos del origen.

ATENCIN

Use la instruccin SSV con cuidado. El hacer cambios a los objetos puede causar una operacin inesperada del controlador o lesiones personales.

Para obtener o establecer un valor del sistema: 1. Abra el proyecto RSLogix 5000. 2. En el men Help, seleccione Contents. 3. Haga clic en la ficha Index. 4. Escriba gsv/ssv objects y haga clic en Display.

Publicacin 1756-PM001E-ES-P - Agosto 2002

9-4

Acceso a valores del sistema

5. Haga clic en el objeto requerido.


Para obtener o establecer: eje de un servomdulo tiempo de procesamiento interno del sistema hardware fsico de un controlador Haga clic en: AXIS CONTROLLER CONTROLLERDEVICE

tiempo coordinado del sistema para los dispositivos en un chasis CST driver de comunicacin DF1 para el puerto en serie historial de fallos para un controlador atributos de una instruccin de mensaje estado, fallos y modo de un mdulo grupo de ejes informacin de fallo o tiempo de escn para un programa nmero de instancia de una rutina configuracin del puerto en serie propiedades o tiempo transcurrido de una tarea hora del reloj de un controlador DF1 FAULTLOG MESSAGE MODULE MOTIONGROUP PROGRAM ROUTINE SERIALPORT TASK WALLCLOCKTIME

6. En la lista de atributos del objeto, identifique el atributo al que desea acceder. 7. Cree un tag para el valor del atributo:
Si el tipo de datos del atributo es: Entonces: un elemento (por ej., DINT) ms de un elemento (por ej., DINT[7] ) Cree un tag para el atributo. A. Cree un tipo de datos definido por el usuario con una organizacin de datos igual a la usada por el atributo. B. Cree un tag para el atributo y use el tipo de datos del paso A..

8. En la rutina de la lgica de escalera, introduzca la instruccin apropiada:


Para: obtener el valor de un atributo establecer el valor de un atributo Introduzca esta instruccin: GSV SSV

Publicacin 1756-PM001E-ES-P - Agosto 2002

Acceso a valores del sistema

9-5

9. Asigne los operandos requeridos para la instruccin:


Para este operando: Class name Instance name Seleccione: nombre del objeto nombre del objeto especfico (por ej., nombre del mdulo de E/S, tarea, mensaje requerido) No todos los objetos requieren esta entrada. Para especificar la tarea, programa o rutina actual, seleccione THIS. nombre del atributo tag que almacenar el valor recuperado Si el tag es un tipo de datos definido por el usuario, o una matriz, seleccione el primer miembro o elemento. tag que almacena el valor que se va a establecer Si el tag es un tipo de datos definido por el usuario, o una matriz, seleccione el primer miembro o elemento.

Attritube Name Dest (GSV)

Source (SSV)

En los siguientes ejemplos se obtiene la fecha y hora actual. Obtener un valor del sistema

EJEMPLO

En el primer escn, obtiene el atributo DateTime del objeto WALLCLOCKTIME y lo almacena en el tag wall_clock, el cual se basa en un tipo de datos definido por el usuario.

42370

Para obtener ms informacin, vea Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003.

Publicacin 1756-PM001E-ES-P - Agosto 2002

9-6

Acceso a valores del sistema

Determine la informacin de memoria del controlador

La memoria del controlador se divide en memoria de E/S y memoria de expansin. La siguiente tabla muestra cmo el controlador usa cada tipo de memoria:
Los siguientes: tags de E/S tags producidos tags consumidos comunicacin mediante instrucciones Message (MSG) comunicacin con estaciones de trabajo comunicacin con tags encuestados (OPC/DDE) que usan el software RSLinx(1) tags que no son tags de E/S, producidos ni consumidos rutinas de lgica comunicacin con tags encuestados (OPC/DDE) que usan el software RSLinx(1)
(1)

Usan memoria de: memoria de E/S

memoria de expansin

Para comunicarse con tags encuestados, el controlador usa la memoria de E/S y la memoria de expansin.

Utilice este procedimiento para obtener la siguiente informacin acerca de la memoria de un controlador. IMPORTANTE El controlador retorna los valores en nmero de palabras de 32 bits. Para ver un valor en bytes, multiplquelo por 4.

memoria de E/S disponible memoria de expansin disponible total de memoria de E/S total de memoria de expansin bloque contiguo ms grande de memoria de E/S bloque contiguo ms grande de memoria de expansin

Para obtener informacin sobre memoria para el controlador: Obtener informacin sobre memoria proveniente del controlador Seleccione la informacin de memoria que desea Conversin de INT a DINT

Publicacin 1756-PM001E-ES-P - Agosto 2002

Acceso a valores del sistema

9-7

Obtener informacin sobre memoria proveniente del controlador


Para obtener informacin sobre memoria proveniente del controlador, ejecute una instruccin Message (MSG) configurada de la siguiente manera:

Ficha Message PropertiesConfiguration


Para este tem: Message Type Service Type Service Code Class Instance Attribute Source Element Escriba o seleccione: CIP Generic Custom 3 72 1 0 En este elemento: source_array[0] source_array[1] source_array[2] source_array[3] source_array[4] source_array[5] source_array[6] source_array[7] source_array[8] source_array[9] source_array[10] source_array[11] Source Length Destination 12 INT_array de tipo INT[29] Lo cual significa: Ejecutar un comando del Protocolo de control e informacin Crear un mensaje CIP Generic que no est disponible en la lista desplegable. Use el servicio GetAttributeList. ste le permite leer informacin especfica acerca del controlador. Obtener informacin del objeto memoria de usuario Este objeto contiene slo 1 instancia. Valor nulo Introduzca: Lo cual significa: 5 0 1 0 2 0 5 0 6 0 7 0 Obtener 5 atributos Valor nulo Obtener memoria disponible Valor nulo Obtener el total de memoria Valor nulo Obtener el bloque contiguo ms grande de memoria de expansin disponible adicional Valor nulo Obtener el bloque contiguo ms grande de memoria de E/S disponible Valor nulo Obtener el bloque contiguo ms grande de memoria de expansin disponible Valor nulo

source_array de tipo SINT[12]

Escribir 12 bytes (12 SINT).

Ficha Message PropertiesCommunication


Para este tem: Path Escriba: 1, slot_number_of_controller

Publicacin 1756-PM001E-ES-P - Agosto 2002

9-8

Acceso a valores del sistema

Seleccione la informacin de memoria que desea


La instruccin MSG devuelve la siguiente informacin a INT_array (tag de destino de MSG): IMPORTANTE Para un controlador 1756-L55M16, la instruccin MSG devuelve dos valores por cada categora de memoria de expansin. Para determinar la memoria de expansin disponible o el total de memoria de expansin de un controlador 1756-L55M16, sume ambos valores para la categora.
Descripcin: los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits los 16 bits inferiores del valor de 32 bits los 16 bits superiores del valor de 32 bits

Si usted desea el/la: cantidad de memoria de E/S disponible (palabras de 32 bits) cantidad de memoria de expansin disponible (palabras de 32 bits) controladores 1756-L55M16 solamentecantidad de memoria de expansin disponible adicional (palabras de 32 bits) tamao total de memoria de E/S (palabras de 32 bits) tamao total de memoria de expansin (palabras de 32 bits) controladores 1756-L55M16 solamentememoria de expansin adicional (palabras de 32 bits) controladores 1756-L55M16 solamentebloque contiguo ms grande de memoria de expansin disponible adicional (palabras de 32 bits) bloque contiguo ms grande de memoria de E/S disponible (palabras de 32 bits) bloque contiguo ms grande de memoria de expansin disponible (palabras de 32 bits)

Entonces copie estos elementos de matriz: INT_array[3] INT_array[4] INT_array[5] INT_array[6] INT_array[7] INT_array[8] INT_array[11] INT_array[12] INT_array[13] INT_array[14] INT_array[15] INT_array[16] INT_array[19] INT_array[20] INT_array[23] INT_array[24] INT_array[27] INT_array[28]

Publicacin 1756-PM001E-ES-P - Agosto 2002

Acceso a valores del sistema

9-9

Conversin de INT a DINT


La instruccin MSG devuelve cada valor de memoria como dos INT separados. El primer INT representa los 16 bits inferiores del valor. El segundo INT representa los 16 bits superiores del valor. Para convertir los INT separados en un valor utilizable, use una instruccin Copy (COP), donde:
En este operando: Source Destination Length Especifique: el primer INT de la pareja de 2 elementos (16 bits inferiores) el tag DINT en donde se va a almacenar el valor de 32 bits 1 Lo cual significa: Comenzar con los 16 bits inferiores Copiar el valor al tag DINT. Copiar 1 vez el nmero de bytes en el tipo de datos de destino. En este caso, la instruccin copia 4 bytes (32 bits), lo cual combina los 16 bits inferiores y superiores en un valor de 32 bits.

En el siguiente ejemplo, la instruccin COP produce el valor de 32 bits que representa la cantidad de memoria de E/S disponible, en palabras de 32 bits. EJEMPLO Conversin de INT a DINT Los elementos 3 de INT_array representan los 16 bits inferiores de la cantidad de memoria de E/S disponible. El elemento 4 representa los 16 bits superiores. Memory_IO_Free es un tag DINT ((32 bits) en el cual se almacena el valor de la cantidad de memoria de E/S disponible. Para copiar los 32 bits, especifique una longitud de 1. Esto indica a la instruccin que copie 1 vez el tamao del destino (32 bits). Esto copia ambos elementos 3 (16 bits) y el elemento 4 (16 bits) y coloca el resultado de 32 bits en Memory_IO_Free.

Publicacin 1756-PM001E-ES-P - Agosto 2002

9-10

Acceso a valores del sistema

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

10

Asignacin de alias

Alias

Un alias le permite crear un tag que representa otro tag. Ambos tags comparten el mismo valor (es). Cuando el valor (es) de uno de los tags cambia, el otro tag tambin refleja el cambio. Use alias en las siguientes situaciones: programar lgica anteriormente a los diagramas de cableado asignar un nombre descriptivo a un dispositivo de E/S proporcionar un nombre ms simple para un tag complejo usar un nombre descriptivo para un elemento de una matriz

La ventana de tags muestra la informacin de alias.

drill_1_depth_limit es un alias para Local:2:I.Data.3 (un punto de entrada digital). Cuando la entrada se activa, el alias tambin se activa.

drill_1_on es un alias para Local:0:O.Data.2 (un punto de salida digital). Cuando el alias se activa, el tag de salida tambin se activa.

north_tank es un alias para tanks[0,1].


42360

La (C) indica que el tag est dentro del alcance del controlador.

Un uso comn de los alias es programar la lgica antes que los diagramas de cableado estn disponibles: 1. Para cada dispositivo de E/S cree un tag con un nombre que describa el dispositivo, tal como conveyor para el motor del transportador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

10-2

Asignacin de alias

2. Programe la lgica usando los nombres de tags descriptivos. (Puede incluso probar la lgica sin hacer conexin a la E/S). 3. Posteriormente, cuando los diagramas de cableado estn disponibles, aada los mdulos de E/S a la configuracin de E/S del controlador. 4. Finalmente, convierta los tags descriptivos a alias para sus puntos de E/S o canales respectivos. La siguiente lgica se program inicialmente usando nombres de tags descriptivos, tales como stop y conveyor_on. Posteriormente, los tags se convirtieron a alias para los dispositivos de E/S correspondientes.

stop es un alias para Local:2:I.Data.1 (el botn de paro en el panel del operador)

stop <Local:2:I.Data.1>

start <Local:2:I.Data.0> machine_on

drill_1_on machine_on <Local:0:O.Data.2> drill_1.part_advance conveyor_on <Local:0:O.Data.0>

conveyor_on es un alias para Local:0:O.Data.0 (el contactor arrancador para el motor del transportador)

42351

Visualizacin de informacin de alias

Para mostrar (en la lgica) el tag al cual apunta un alias: 1. En el men Herramientas, seleccione Opciones. 2. Haga clic en la ficha Visualizacin de lgica de escalera. 3. Seleccione la casilla de verificacin Mostrar Informacin de alias de tag. 4. Haga clic en Aceptar.

Asignacin de un alias

Para asignar un tag como un alias para otro tag: 1. En el men Lgica, seleccione Editar tag.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Asignacin de alias

10-3

2.

42360

3.

2. Seleccione el alcance del tag. 3. A la derecha del nombre de tag, haga clic en la celda Alias para. La celda muestra w 4. Haga clic en w 5. Seleccione el tag que el alias representar:
Para: seleccionar un tag seleccionar un nmero de bit Haga lo siguiente: Haga doble clic en el nombre del tag. A. Haga clic en el nombre del tag. B. A la derecha del nombre del tag, haga clic en w . C. Haga clic en el bit requerido.

6. Presione la tecla Enter o haga clic en otra celda.

Publicacin 1756-PM001E-ES-P - Agosto 2002

10-4

Asignacin de alias

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

11

Asignacin de una direccin indirecta

Cundo asignar una direccin indirecta

Si desea que una instruccin tenga acceso a diferentes elementos en una matriz, use un tag en el subndice de la matriz (una direccin indirecta). Al cambiar el valor del tag, se cambia el elemento de la matriz a la que hace referencia la lgica.

Cundo el ndice es igual a 1, array[index] apunta aqu. array[0] array[1] array[2] array[3] Cundo el ndice es igual a 2, array[index] apunta aqu. 4500 6000 3000 2500

La siguiente tabla indica algunos usos comunes para una direccin indirecta:
Para: seleccionar una receta de una matriz de recetas cargar la configuracin de una mquina especfica desde una matriz de posibles configuraciones cargar parmetros o estados desde una matriz, un elemento a la vez registrar cdigos de error realizar varias acciones en un elemento de matriz y luego indexar al siguiente elemento Use un tag en el subndice y: Introduzca el nmero de la receta en el tag. Introduzca la configuracin deseada en el tag. A. Realice la accin requerida en el primer elemento. B. Use una instruccin ADD para incrementar el valor del tag y apunte al siguiente elemento en la matriz.

Publicacin 1756-PM001E-ES-P - Agosto 2002

11-2

Asignacin de una direccin indirecta

El siguiente ejemplo carga una serie de valores preseleccionados en un temporizador, un valor (elemento de matriz) a la vez. Ejecute una matriz paso a paso

EJEMPLO

La matriz timer_presets almacena una serie de valores preseleccionados para el temporizador en el siguiente rengln. El tag north_tank.step apunta el elemento de la matriz a usar. Por ejemplo, cuando north_tank.step es igual a 0, la instruccin carga timer_presets[0] en el temporizador (6000 ms).
MOV Move Source timer_presets[north_tank.step] 60000 Dest north_tank.step_time.PRE 60000 north_tank.step_time.DN / TON Timer On Delay Timer north_tank.step_time Preset 60000 Accum 0

EN DN

Cuando north_tank.step_time termina, el rengln incrementa north_tank.step al siguiente nmero y dicho elemento de la matriz timer_presets se carga en el temporizador.
north_tank.step_time.DN Add Source A ADD 1

Source B north_tank.step 0 Dest north_tank.step 0

Cuando north_tank.step excede el tamao de la matriz, el rengln restablece el tag para empezar en el primer elemento de la matriz. (El arreglo contiene los elementos 0 a 3).
EQU Equal Source A north_tank.step 0 Source B 4 MOV Move Source 0

Dest north_tank.step 0

42358

Publicacin 1756-PM001E-ES-P - Agosto 2002

Asignacin de una direccin indirecta

11-3

Expresiones

Tambin se puede usar una expresin para especificar el subndice de una matriz. Una expresin usa operadores tales como + o , para calcular un valor. El controlador calcula el resultado de la expresin y lo usa como el subndice de la matriz. Puede usar estos operadores para especificar el subndice de una matriz:
Operador: + Descripcin: sumar restar/cambiar signo multiplicar dividir Valor absoluto AND BCD a nmero entero Operador: MOD NOT OR SQR TOD TRN XOR Descripcin: Mdulo complemento OR raz cuadrada nmero entero a BCD Truncar O exclusivo

* / ABS AND FRD

Formatee las expresiones como sigue:


Si el operador requiere: un valor (tag o expresin) dos valores (tags, constantes o expresiones) Use este formato: operator(value) value_a operator value_b Ejemplos: ABS(tag_a) tag_b + 5 tag_c AND tag_d (tag_e ** 2) MOD (tag_f / tag_g)

Publicacin 1756-PM001E-ES-P - Agosto 2002

11-4

Asignacin de una direccin indirecta

Notes:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

12

Almacenamiento de E/S en el bfer

Cundo almacenar E/S en el bfer

El almacenamiento de E/S en el bfer es una tcnica en la cual la lgica no manipula ni hace referencia directa a los tags de los dispositivos de E/S reales. En lugar de ello, la lgica usa una copia de los datos de E/S. Almacene E/S en el bfer en las siguientes situaciones: Para evitar que un valor de entrada o salida cambie durante la ejecucin de un programa. (Las E/S se actualizan de manera asncrona a la ejecucin de la lgica). Para copiar un tag de entrada o salida a un miembro de una estructura o elemento en una matriz.

Almacenamiento de E/S en el bfer

Para almacenar E/S en el bfer, realice estas acciones: 1. En el rengln antes de la lgica para la funcin (es), copie o mueva los datos desde los tags de entrada requeridos a sus tags de bfer correspondientes. 2. En la lgica de la funcin (es), haga referencia a los tags de bfer. 3. En el rengln despus de la funcin (es), copie los datos desde los tags de bfer a los tags de salida correspondientes.

Publicacin 1756-PM001E-ES-P - Agosto 2002

12-2

Almacenamiento de E/S en el bfer

El siguiente ejemplo copia entradas y salidas a los tags de una estructura para una mquina perforadora. Almacenar E/S en el bfer

EJEMPLO

La rutina principal del programa ejecuta las siguientes subrutinas en esta secuencia.

JSR Jump to Subroutine Routine name map_inputs

JSR Jump to Subroutine Routine name drill

JSR Jump to Subroutine Routine name map_outputs

La rutina map_inputs copia los valores de los dispositivos de entrada a sus correspondientes tags que se usan en la rutina drill.
_1791_8AC:I.Data[0].0 drill[1].depth_limit

_1791_8AC:I.Data[0].4

drill[1].home_limit

La rutina drill ejecuta la lgica para la mquina perforadora.


drill[1].part_advance / drill[1].forward one_shots.0 ONS drill[1].depth_limit / drill[1].forward

drill[1].depth_limit drill[1].retract

drill[1].home_limit /

drill[1].retract

La rutina map_outputs copia los valores de los tags de salida en la rutina drill a sus dispositivos de salida correspondientes.
drill[1].forward _1791_8AC:O.Data[0].0

drill[1].retract

_1791_8AC:O.Data[0].1

42369

El siguiente ejemplo utiliza la instruccin CPS para copiar una matriz de datos que representa los dispositivos de entrada de una red DeviceNet.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento de E/S en el bfer

12-3

EJEMPLO

Almacenar E/S en el bfer

Local:0:I.Data almacena los datos de entrada para la red DeviceNet conectada al mdulo 1756-DNB de la ranura 0. Para sincronizar las entradas con la aplicacin, la instruccin CPS copia los datos de entrada a input_buffer. Mientras la instruccin CPS copia los datos, ninguna actualizacin de E/S puede cambiar los datos. Mientras se est ejecutando la aplicacin, sta utiliza los datos de entrada de input_buffer para sus entradas.
CPS Synchronous Copy File Source Local:0:I.Data[0] Dest input_buffer[0] Length 20

42578

Publicacin 1756-PM001E-ES-P - Agosto 2002

12-4

Almacenamiento de E/S en el bfer

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

13

Prueba de un proyecto

Prueba de un proyecto

Para probar un proyecto realice las siguientes acciones: Configure un driver de comunicacin Descargue el proyecto al controlador Seleccione un modo para el controlador Correccin de fallos mayores Guarde los cambios en lnea

Adems, puede realizar estas acciones: use instrucciones de control de programa para aislar la ejecucin de la lgica a rutinas o renglones especficos. Vea Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003. Fuerce valores de entrada o salida. Consulte Forzado de elementos lgicos en la pgina 18-1.

Configure un driver de comunicacin

El software RSLogix 5000 requiere un variador de comunicacin para comunicarse con un controlador. Los variadores de comunicacin se configuran usando el software RSLinx. 1. Inicie el software RSLinx. 2. En el men Comunicaciones, seleccione Configurar variadores. 3. De la lista desplegable Tipos de variadores disponibles, seleccione un driver:

Para esta red: en serie DH+ ControlNet Ethernet DeviceNet

Seleccione este driver: Computadora de escritorio Dispositivos RS-232 DF1 1784-KT/KTX(D)/PKTX(D) 1784-KTC(X) Dispositivos Ethernet Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT) Computadora porttil Dispositivos RS-232 DF1 1784-PCMK 1784-PCC Dispositivos Ethernet Drivers DeviceNet (drivers 1784-PCD/PCIDS, 1770-KFD, SDNPT)

4. Haga clic en Aadir nuevo.

Publicacin 1756-PM001E-ES-P - Agosto 2002

13-2

Prueba de un proyecto

5. Si desea asignar un nombre descriptivo al driver, cambie el nombre predeterminado. 6. Seleccione Aceptar. 7. Configure el variador:
Para este variador: en serie Haga lo siguiente: A. En la lista desplegable Puerto de com, seleccione el puerto en serie que usar el variador. B. De la lista desplagable Dispositivo, seleccione Logix 5550-Puerto en serie. C. Haga clic en Autoconfiguracin. A. En el cuadro Nombre de estacin, escriba un nombre que identificar a la computadora en la ventana RSWho. B. Seleccione el valor de interrupcin, la direccin de memoria y la direccin base de E/S. C. En el cuadro Direccin de red, escriba el nmero de nodo ControlNet que desea asignar a la computadora. A. En la lista desplegable Valor, seleccione el tipo de tarjeta de interface que usar el variador. B. En la lista Propiedades, seleccione el siguiente tem. C. En el cuadro Valor, escriba o seleccione el valor apropiado. D. Repita los pasos B. y C. para las propiedades restantes. Por cada dispositivo Ethernet en esta red con el cual desea comunicarse (por ej., cada mdulo 1756-ENET o controlador PLC-5E), aada una entrada de asignacin: A. En la columna Tipo de Host, escriba la direccin IP o nombre de host del dispositivo Ethernet. B. Desea comunicarse con otro dispositivo Ethernet en esta red? Si: S No Entonces: 1. Seleccione Aadir nuevo. 2. Vaya al paso A. Vaya al siguiente paso.

ControlNet

DH+

Ethernet

3. Haga clic en Aceptar. 4. Haga clic en Cerrar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Prueba de un proyecto

13-3

Descargue el proyecto al controlador

Use este procedimiento para descargar un proyecto al controlador, a fin de poder ejecutar su lgica. Cuando usted descarga un proyecto, se pierden el proyecto y los datos que actualmente estn en el controlador, de haberlos. Si la revisin del controlador no coincide con la revisin del proyecto, el sistema le solicita que actualice el firmware del controlador. El software RSLogix 5000 le permite actualizar el firmware del controlador como parte de la secuencia de descarga. Cuando usted descarga un proyecto o actualiza el firmware, todos los servoejes activos se desactivan. Antes de descargar un proyecto o actualizar el firmware, asegrese de que esto no causar un movimiento inesperado de un eje.

ATENCIN

!
IMPORTANTE

Para actualizar el firmware de un controlador, primero instale el paquete de actualizacin de firmware. El paquete de actualizacin se enva en un CD suplementario junto con el software RSLogix 5000. Para descargar un paquete de actualizacin, vaya a www.ab.com. Seleccione Soporte de productos. Seleccione Actualizaciones de firmware.

1. Abra el proyecto RSLogix 5000 que desea descargar. 2. Del men Comunicaciones, seleccione Quin activo. 3. Expanda la red hasta que vea el controlador.
Para ampliar la red a un nivel superior, efecte una de las tareas siguientes: Haga doble clic en la red. Seleccione la red y presione la tecla . Haga clic en el signo +.

Estacin de trabajo

Gateways Linx, Ethernet driver

mdulo de comunicacin

backplane

+ 4. Seleccione el controlador. 5. SeleccioneDescargar.

controlador

Publicacin 1756-PM001E-ES-P - Agosto 2002

13-4

Prueba de un proyecto

6. Cul es la respuesta que proporciona el software:


Si el software indica: se descargan al controlador Fall descarga al controlador. La revisin del proyecto fuera de lnea y el firmware del controlador no son compatibles. Entonces: Vaya al paso paso7 Vaya al paso paso9

7. Seleccione Descargar. El proyecto se descarga al controlador y el software RSLogix 5000 entra en lnea. 8. Omita el resto del procedimiento. 9. Seleccione Actualizar firmware.

10.

11.

43056

10. Seleccione la revisin requerida para el controlador. 11. Seleccione Actualizar. Un cuadro de dilogo le solicitar que confirme la operacin de actualizacin. 12. Para actualizar el controlador, seleccione S. Ocurren los siguientes eventos: Se actualiza el firmware del controlador. Se descarga el proyecto al controlador. El software RSLogix 5000 entra en lnea.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Prueba de un proyecto

13-5

Seleccione un modo para el controlador

Para probar un proyecto, seleccione un modo para el controlador.

42627

A
42525

Si desea:

Entonces seleccione uno de estos modos: Marcha PROG Marcha REM programa Prueba

seleccin de interruptor de llave Seleccin de RSLogix 5000

A B

poner las salidas en el estado comandado por la lgica del proyecto poner las salidas en su estado configurado para el modo Programa ejecutar (escanear) tareas cambiar el modo del controlador mediante el software descargar un proyecto programar una red ControlNet mientras est en lnea, editar el proyecto enviar mensajes enviar y recibir datos en respuesta a un mensaje de otro controlador producir y consumir tags

Publicacin 1756-PM001E-ES-P - Agosto 2002

13-6

Prueba de un proyecto

Correccin de fallos mayores


El controlador est en fallo. Ocurri un fallo mayor y el controlador ya no ejecuta su lgica.

Si el controlador entra al modo con fallo, ocurri un fallo mayor y el controlador detuvo la ejecucin de la lgica.

43057

1.

Para corregir un fallo mayor: 1. Haga clic en el botn .

2. Utilice la informacin de la Lista de fallos recientes para corregir la causa del fallo. Consulte Cdigos de fallo mayor en la pgina A-1. 3. Haga clic en el botn Borrar mayores.

CONSEJO

Tambin puede borrar un fallo mayor usando el interruptor de llave del controlador. Ponga el interruptor de llave en Prog, luego en Marcha y de nuevo en Prog.

Guarde los cambios en lnea

Si hace cambios al proyecto mientras est en lnea, guarde el proyecto de manera que el archivo del proyecto fuera de lnea coincida con el archivo del proyecto en lnea:
Si desea: guardar cambios en lnea pero no valores de datos en lnea Haga lo siguiente: A. En el men Comunicaciones, seleccione Ir fuera de lnea. B. En el men Archivo, seleccione Guardar.

guardar cambios en lnea y valores de datos En el men Archivo, seleccione Guardar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

14

Comunicacin con otro controlador

Cundo usar este procedimiento

Use este procedimiento para transferir datos entre controladores (enviar o recibir datos). Puede transferir los datos usando cualquiera de estos mtodos: Producir y consumir un tag Enviar un mensaje

Cmo usar este procedimiento

Seleccione un mtodo para transferir los datos entre controladores:

Si los datos: necesitan transmisin regular a una velocidad que usted especifica (por ej. determinstica) se envan cuando ocurre una condicin especfica en la aplicacin se recolectan de mltiples controladores (y los tags consumidos no son una opcin o no se desean)

Entonces: Cmo usar este procedimiento

Vea la pgina: 14-1

Enviar un mensaje Enviar un mensaje a mltiples controladores

14-11 14-13

Producir un tag consumido

Un tag producido enva sus datos a uno o ms tag consumidos (consumidores) sin usar lgica de escalera.

controller_1 tag producido

controller_2 tag consumido

controller_3 tag consumido

controller_4 tag consumido

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-2

Comunicacin con otro controlador

Usted puede producir y consumir tags con las siguientes combinaciones de controladores y redes.
Este controlador: SLC 500 PLC-5 ControlLogix FlexLogix SoftLogix Puede producir y consumir tags mediante esta red: Backplane ControlNet Ethernet

Los tags producidos y consumidos funcionan de la siguiente manera: Una conexin transfiere los datos entre controladores: Mltiples controladores pueden consumir (recibir) los datos. Los datos se actualizan en el intervalo entre paquetes solicitados (RPI), segn lo configurado por los tags de consumo. Cada tag producido o consumido usa el siguiente nmero de conexiones:
Cada: tag producido tag consumido Usa esta cantidad de conexiones: number_of_consumers + 1 1

EJEMPLO

Conexiones usadas por tags producidos o consumidos La produccin de un tag para 5 controladores (consumidores) usa 6 conexiones (5 consumidores + 1 = 6). La produccin de 4 tags para 1 controlador usa 8 conexiones: Cada tag usa 2 conexiones (1 consumidor + 1 = 2). 2 conexiones por tag x 4 tags = 8 conexiones El consumo de 4 tags desde un controlador usa 4 conexiones (1 conexin por tag x 4 tags = 4 conexiones).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-3

Lo que usted necesita hacer


Para compartir datos con otro controlador (s), realice estas acciones: Organizar los tags para datos producidos o consumidos Producir un tag Consumir un tag producido Dependiendo del sistema, es posible que tambin tenga que realizar estas acciones: Producir enteros para un controlador PLC-5C Producir datos REAL para un controlador PLC-5C Consumir enteros desde un controlador PLC-5C Ajuste para limitaciones de amplitud de banda

Organizar los tags para datos producidos o consumidos


A medida que vaya creando los tags que finalmente producirn o consumirn datos (datos compartidos), siga estas pautas: 1. Cree los datos dentro del alcance del controlador. Slo se pueden compartir tags dentro del alcance del controlador. 2. Use uno de estos tipos de datos: DINT REAL matriz de DINT o REAL definido por el usuario 3. Para compartir un tipo de datos diferente a los listados en la pauta 2., cree un tipo de datos definido por el usuario que contenga los datos requeridos. 4. Use el mismo tipo de datos para el tag producido y el tag (s) consumido correspondiente. 5. Para compartir tags con un controlador PLC-5C, use un tipo de datos definido por el usuario. Consulte estas secciones: 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

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-4

Comunicacin con otro controlador

6. Limite el tamao del tag a 500 bytes o menos. Si tiene que transferir ms de 500 bytes, cree lgica para transferir los datos en paquetes. Consulte Produccin de una matriz grande en la pgina 15-1. 7. Si usted produce el tag mediante una red ControlNet, puede ser necesario que el tag sea de un tamao menor que 500 bytes. Consulte Ajuste para limitaciones de amplitud de banda en la pgina 14-10. 8. Si desea producir varios tags para el mismo controlador: Agrupe los datos en uno o ms tipos de datos definidos por el usuario. (Esto utiliza menos conexiones que producir cada tag separadamente). Agrupe los datos segn las velocidades de actualizacin similares. (Para conservar el ancho de banda de la red, use un RPI mayor para datos menos crticos). Por ejemplo, puede crear un tag para los datos crticos y otro tag para los datos no crticos.

Producir un tag
1. Abra el proyecto RSLogix 5000 que contiene el tag que usted desea producir. 2. En el men Lgica, seleccione Editar tag. 3. Desde Alcance, seleccione name_of_controller(controlador). (Slo los tags que estn dentro del alcance del controlador pueden producir datos). 4. Seleccione el tag que producir los datos y presione las teclas ALT + Enter.

5.

6.

42352

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-5

5. Seleccione el botn de la opcin Producido. 6. Escriba o seleccione el nmero de controladores que consumirn (recibirn) el tag. 7. Haga clic en Aceptar. 8. Configure un tag en otro controlador (s) para consumir este tag producido. Consulte Consumir un tag producido en la pgina 14-5.

Consumir un tag producido


1. Abra el proyecto RSLogix 5000 que consumir el tag producido 2. En el Organizador del controller, Configuracin de I/O, aada el controlador que contiene el tag producido. 3. En el men Lgica, seleccione Editar tag. 4. Desde Alcance, seleccione name_of_controller(controlador). (Slo los tags que estn dentro del alcance del controlador pueden consumir otros tags). 5. Seleccione el tag en este controlador que consumir el tag producido y presione las teclas ALT + Enter.

6. 7. 8. 9.
42353

10.

6. Seleccione el botn de la opcin Consumido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-6

Comunicacin con otro controlador

7. Seleccione el controlador que contiene el tag producido. 8. Escriba el nombre del tag producido. 9. Seleccione el mismo tipo de datos que el tag producido. 10. Escriba o seleccione el tiempo entre actualizaciones del tag: Use el valor ms alto permitido para la aplicacin. Si el controlador consume el tag mediante una red ControlNet, use un binario mltiple del tiempo de actualizacin de la red (NUT) ControlNet. Por ejemplo, si el NUT es 5 ms, escriba un rgimen de 5, 10, 20, 40 ms, etc. 11. Haga clic en Aceptar. 12. Si comparte el tag a travs de una red ControlNet, use el software RSNetWorx para ControlNet para programar la red.

IMPORTANTE

Si una conexin del tag consumido entra en fallo, todos los otros tags consumidos desde el controlador remoto dejan de recibir nuevos datos.

Producir enteros para un controlador PLC-5C


1. Abra el proyecto RSLogix 5000. 2. Cree un tipo de datos definido por el usuario que contenga una matriz de INT con un nmero par de elementos, tal como INT[2]. (Cuando se producen INT, se deben producir dos o ms). 3. Cree un tag producido y seleccione el tipo de datos definido por el usuario del paso 2. 4. Abra el software RSNetWorx para ControlNet. 5. En la configuracin ControlNet para el controlador PLC-5C de destino: a. Inserte un Mensaje programado de recepcin. b. En el Tamao de mensaje, introduzca el nmero de enteros en el tag producido. 6. En el software RSNetWorx para ControlNet, programe la red.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-7

Producir datos REAL para un controlador PLC-5C


1. Abra el proyecto RSLogix 5000. 2. Cuntos valores desea producir?
Si desea producir: Slo un valor REAL Ms de un valor REAL Entonces: Cree un tag producido y seleccione el tipo de datos REAL. A. Cree un tipo de datos definido por el usuario que contenga una matriz de REAL. B. Cree un tag producido y seleccione el tipo de datos definido por el usuario del paso A.

3. Abra el software RSNetWorx para ControlNet. 4. En la configuracin ControlNet para el controlador PLC-5C de destino: a. Inserte un Mensaje programado de recepcin. b. En el Tamao de mensaje, introduzca dos veces el nmero de REAL en el tag producido. Por ejemplo, si el tag producido contiene 10 REAL, introduzca 20 para el tamao de mensaje. CONSEJO Cuando un controlador PLC-5C consume un tag producido por un controlador Logix5000, almacena los datos en nmeros enteros consecutivos de 16 bits. El PLC-5C almacena los datos de coma flotante, el cual requiere 32 bits independientemente del tipo de controlador, segn lo siguiente: El primer nmero entero contiene los bits superiores (del extremo izquierdo) del valor. El segundo nmero entero contiene los bits inferiores (del extremo derecho) del valor. Esta configuracin contina para cada valor de coma flotante.

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-8

Comunicacin con otro controlador

5. En el controlador PLC-5C, vuelva a construir los datos de coma flotante segn se ilustra en el siguiente ejemplo: EJEMPLO Cmo volver a construir un valor de coma flotante

Las dos instrucciones MOV invierten el orden de los nmeros enteros a la vez que stos se transfieren a otro lugar. Puesto que el destino de la instruccin COP es una direccin de coma flotante, usa dos nmeros enteros consecutivos (un total de 32 bits) y los convierte a un solo valor de coma flotante.

42354

6. En el software RSNetWorx para ControlNet, programe la red.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-9

Consumir enteros desde un controlador PLC-5C


1. Abra el software RSNetWorx para ControlNet. 2. En la configuracin ControlNet del controlador PLC-5C, inserte Enviar mensaje programado. 3. Abra el proyecto RSLogix 5000. 4. En el Organizador del controlador, aada el controlador PLC-5C a la configuracin de E/S. 5. Cree un tipo de datos definido por el usuario que contenga los siguientes miembros:
Tipo de datos: DINT INT[x], donde x es el tamao de salida de los datos desde el controlador PLC-5C. (Si consume solamente un INT, no se requieren dimensiones.) Descripcin: Estado Datos producidos por un controlador PLC-5C

6. Cree un tag consumido con las propiedades siguientes:


Para esta propiedad de tag: Tipo de tag Controller Instancia remota RPI Escriba o seleccione: consumido El PLC-5C que produce los datos El nmero de mensaje de la configuracin ControlNet del controlador PLC-5C. Una potencia de dos veces el NUT de la red ControlNet. Por ejemplo, si el NUT es 5 ms, seleccione un RPI de 5, 10, 20, 40, etc. El tipo de datos definido por el usuario que cre en el paso 5.

Data Type

7. En el software RSNetWorx para ControlNet, programe la red.

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-10

Comunicacin con otro controlador

Ajuste para limitaciones de amplitud de banda


Cuando comparte un tag mediante una red ControlNet, el tag tambin debe se apropiado para el ancho de banda de la red: A la vez que aumenta el nmero de conexiones mediante una red ControlNet, puede ser necesario que varias conexiones, incluso los tags producidos o consumidos, tengan que compartir un tiempo de actualizacin de red (NUT). Puesto que una red ControlNet puede pasar solamente 500 bytes durante un NUT, los datos de cada conexin deben tener menos de 500 bytes para incorporarse el NUT. Dependiendo del tamao del sistema, es posible que no tenga suficiente amplitud de banda en la red ControlNet para un tag de 500 bytes. Si un tag es demasiado grande para la red ControlNet, realice uno o ms de los ajustes siguientes: Reduzca el tiempo de actualizacin de la red (NUT). Un NUT ms rpido reduce el nmero de conexiones que deben compartir una ranura de actualizacin. Aumente el intervalo entre paquetes solicitados (RPI) de las conexiones. Los RPI ms altos permiten que las conexiones se alternen en el envo datos durante una ranura de actualizacin. Para un mdulo de puente ControlNet (CNB) en un chasis remoto, seleccione el formato de comunicacin ms eficaz para dicho chasis:
Son la mayora de los mdulos en el Entonces seleccione este formato chasis mdulos de E/S digitales sin de la comunicacin para el diagnsticos? mdulo CNB remoto: S No Optimizacin de racks Ninguno

El formato de optimizacin de racks usa 8 bytes adicionales para cada ranura en su chasis. Los mdulos analgicos o los mdulos que envan o reciben datos de diagnsticos, de fusible, sello de hora o priorizacin requieren conexiones directas y no pueden usar el formato de rack optimizado. La seleccin Ninguno hace disponibles 8 bytes por ranura para otros usos, tales como tags producidos o consumidos. Separe el tag en dos o ms tags: Agrupe los datos segn las velocidades de actualizacin similares. Por ejemplo, puede crear un tag para los datos crticos y otro tag para los datos no crticos. Asigne un RPI diferente a cada tag. Cree lgica para transferir los datos en secciones ms pequeas (paquetes). Consulte Produccin de una matriz grande en la pgina 15-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-11

Enviar un mensaje

Para organizar los datos para un mensaje, siga estas pautas: 1. Para cada mensaje, cree un tag para controlar el mensaje: Cree el tag dentro del alcance del controlador. Use el tipo de datos MESSAGE. El siguiente ejemplo muestra el uso del tipo de datos MESSAGE:

EJEMPLO

Mensaje a otro controlador Logix5000

Cuando count_send est activado, count_msg enva los datos.

count_send

count_msg.en /

MSG Type - Unconfigured Message Control

count_msg ...

EN DN ER

Tipo: MESSAGE Alcance: Controlador

42188

2. Para los tags que los mensajes usarn (tags de origen o destino), cree los tags dentro del alcance del controlador. 3. En el controlador Logix5000, use el tipo de datos DINT para enteros siempre que sea posible: Los controladores Logix5000 ejecutan ms eficientemente y usan menos memoria cuando trabajan con enteros de 32 bits (DINT).

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-12

Comunicacin con otro controlador

4. Si su mensaje es desde un controlador PLC-5 o SLC 500 y transfiere enteros (no REAL), use un bfer de INT: a. Cree un bfer para los datos (alcance del controlador) usando el tipo de datos INT[x]. donde: x es el nmero de enteros en el mensaje. (Para un entero solamente, omita [x].) b. Use el bfer en el mensaje. c. Use una instruccin FAL para mover los datos entre el bfer y la aplicacin. EJEMPLO Escribir valores enteros a un controlador PLC-5.

Continuamente mueve los valores en dint_array a int_buffer. Esto convierte los valores a enteros de 16 bits (INT). Luego la instruccin de mensaje enva int_buffer a un controlador PLC-5.
message.EN / fal_control RES FAL File Arith/Logical Control fal_control Length ? Position 0 Mode all Dest int_buffer[fal_control.pos] ?? Expression dint_array[fal_control.pos] EN DN ER MSG Type - Unconfigured Message Control EN DN ER

message ...

42192

Leer valores enteros desde un controlador PLC-5.


Lee continuamente valores enteros de 16 bits (INT) desde un controlador PLC-5 y los almacena en int_buffer. Luego la instruccin FAL mueve los valores a dint_array. Esto convierte los valores a enteros de 32 bits (DINT) para ser usados por otras instrucciones del proyecto.
message.EN / MSG Type - Unconfigured Message Control

message ...

EN DN ER

message.DN

fal_control RES

FAL File Arith/Logical Control fal_control Length ? Position 0 Mode all Dest dint_array[fal_control.pos] ?? Expression int_buffer[fal_control.pos]

EN DN ER

42192

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-13

Enviar un mensaje a mltiples controladores

Use el siguiente procedimiento para programar una instruccin de mensaje para comunicarse con mltiples controladores. Para reconfigurar una instruccin MSG durante el tiempo de ejecucin, escriba nuevos valores a los miembros del tipo de datos MESSAGE. IMPORTANTE En el tipo de datos MESSAGE, el miembro RemoteElement almacena el nombre del tag o direccin de los datos en el controlador que recibe el mensaje.
Si el mensaje: lee datos escribe datos Entonces RemoteElement es el: Elemento de origen Elemento de destino

Nombre de tag

message + message.RemoteElement. + message.RemoteIndex. + message.LocalIndex.


43052

+ message.Channel. + message.Rack.
A B

+ message.Group. + message.Slot. + message.Path.

A. Si usted usa un asterisco [*] para designar el nmero de elemento de la matriz, el valor en B proporciona el nmero de elemento. B. El cuadro ndice slo est disponible cuando usted usa un asterisco [*] en el Elemento de origen o en el Elemento de destino. La instruccin substituye el valor del ndice por el asterisco [*].

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-14

Comunicacin con otro controlador

Para enviar un mensaje a mltiples controladores: CONSEJO Establecer la configuracin de E/S Definir los elementos de origen y destino Crear el tipo de datos MESSAGE_CONFIGURATION Crear la matriz de configuracin Obtener el tamao de la matriz local Cargar las propiedades del mensaje para un controlador Configurar el mensaje Ir al siguiente controlador Reiniciar la secuencia

Para copiar los componentes anteriores desde un ejemplo de proyecto, abra la carpeta \RSLogix 5000\Proyectos\Ejemplos.

MSG_to_Multiple_Controllers.ACD
43055

Abra este proyecto.

Establecer la configuracin de E/S


Aunque no es un requisito, recomendamos que aada los mdulos de comunicacin y los controladores remotos a la configuracin de E/S del controlador. Esto facilita definir la ruta de acceso a cada controlador remoto. Por ejemplo, una vez que usted aade el mdulo de comunicacin local, el modulo de comunicacin remoto y el controlador de destino, el botn Examinar le permite seleccionar el destino.
Examinador de ruta de acceso a mensaje Ruta de acceso: peer_controller

peer_controller

Configuracin de I/O

[0] 1756-CNB/x Local_CNB

2 [0] 1756-CNB/x chassis_b


[1] 1756-L55/x peer_controller

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-15

Definir los elementos de origen y destino


En este procedimiento, una matriz almacena los datos que se leen desde, o se escriben hacia, cada controlador remoto. Cada elemento en la matriz corresponde a un controlador remoto diferente. 1. Use la siguiente hoja de trabajo para organizar los nombres de tags en los controladores locales y remotos:
Nombre del controlador remoto: Tag o direccin de los datos en el controlador remoto: Tag en este controlador: local_array[0] local_array[1] local_array[2] local_array[3]

2. Cree el tag local_array, que almacena los datos en este controlador.


Nombre de tag local_array Tipo data_type [length ] donde: data_type es el tipo de datos que el mensaje enva o recibe, tal como DINT, REAL o STRING. length es el nmero de elementos en la matriz local.

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-16

Comunicacin con otro controlador

Crear el tipo de datos MESSAGE_CONFIGURATION


En este procedimiento, usted crea un tipo de datos definido por el usuario para almacenar las variables de configuracin para el mensaje a cada controlador. Algunos de los miembros requeridos del tipo de datos, usan el tipo de datos de cadena. El tipo de datos STRING predeterminado almacena 82 caracteres. Si las rutas de acceso o nombres de tags remotos o direcciones tienen menos de 82 caracteres, usted tiene la opcin de crear un nuevo tipo de cadena que almacena menos caracteres. Esto permite conservar la memoria. Para crear un nuevo tipo de cadena, seleccione Archivo Nuevo componente Tipo de cadena Si usted crea un nuevo tipo de cadena, selo en lugar del tipo de datos STRING en este procedimiento.
Para crear un nuevo tipo de datos:

Para almacenar las variables de configuracin para el mensaje a cada controlador, cree el siguiente tipo de datos definido por el usuario.
Tipo de datos:MESSAGE_CONFIGURATION
nombre descripcin Miembros nombre tipo de datos cadena cadena estilo descripcin MESSAGE_CONFIGURATION Propiedades de configuracin para un mensaje a otro controlador

+ Controller Your_Project + Tasks + Motion Groups


Tendencias

Data Types
Definido por el usuario

Haga clic con el botn derecho del mouse y seleccione Nuevo Data Type.

+ ruta de acceso + RemoteElement

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-17

Crear la matriz de configuracin


En este procedimiento, usted almacena las propiedades de configuracin para cada controlador en una matriz. Antes de cada ejecucin de la instruccin MSG, la lgica carga nuevas propiedades en la instruccin. Esto enva el mensaje a un controlador diferente.
Figura 14.1 Cargar nuevas propiedades de configuracin en una instruccin MSG
Matriz de configuracin Propiedades del mensaje primera ejecucin del mensaje

message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement


siguiente ejecucin del mensaje

message + message.Path. + message.RemoteElement.

Propiedades del mensaje

message + message.Path. + message.RemoteElement.

Pasos:
1. Para guardar las propiedades de configuracin del mensaje, cree la siguiente matriz:
Nombre de tag message_config Tipo MESSAGE_CONFIGURATION[number ] alcance cualquiera

donde: number es el nmero de controladores a dnde enviar el mensaje.

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-18

Comunicacin con otro controlador

2. En la matriz message_config, introduzca la ruta de acceso al primer controlador que recibe el mensaje.
Nombre de tag valor {} {}
Haga clic con el botn derecho del mouse y seleccione Ir a Editor de ruta de mensaje.

message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement

Escriba la ruta de acceso al controlador remoto. o bien Desplcese hasta el controlador remoto.

Examinador de ruta de acceso a mensaje Ruta de acceso: peer_controller Configuracin de I/O

3. En la matriz message_config, introduzca el nombre del tag o direccin de los datos en el primer controlador que va a recibir el mensaje.
Nombre de tag valor {} {}

message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement


...

{}

Escriba el nombre del tag o direccin de los datos en el otro controlador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-19

4. Introduzca la ruta de acceso y elemento remoto para cada controlador adicional.


Nombre de tag valor {} {}

message_config message_config[0] + message_config[0].Path + message_config[0].RemoteElement message_config[1] + message_config[1].Path + message_config[1].RemoteElement

{}

Obtener el tamao de la matriz local

1. 2. 3.
43051

1. La instruccin SIZE cuenta el nmero de elementos en local_array. 2. La instruccin SIZE cuenta el nmero de elementos en la Dimensin 0 de la matriz. En este caso, esa es la nica dimensin. 3. Local_array_length almacena el tamao (nmero de elementos) de local_array. Este valor le indica a un rengln subsiguiente cuando el mensaje ha sido enviado a todos los controladores y que comience con el primer controlador nuevamente.
Nombre de tag local_array_length Tipo DINT

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-20

Comunicacin con otro controlador

Cargar las propiedades del mensaje para un controlador


1. 2. 3.

4. 5.

6.
43051

1. Esta instruccin XIO condiciona al rengln para que enve continuamente el mensaje.
Nombre de tag mensaje Tipo MESSAGE alcance controlador

2. La instruccin COP carga la ruta de acceso para el mensaje. El valor de ndice determina cul elemento carga la instruccin desde message_config. Vea la Figura 14.1 en la pgina 14-17.
Nombre de tag ndice Tipo DINT alcance cualquiera

3. La instruccin carga 1 elemento desde message_config. 4. La instruccin COP carga el nombre del tag o direccin de los datos en el controlador que recibe el mensaje. El valor de ndice determina cul elemento la instruccin carga desde message_config. Vea la Figura 14.1 en la pgina 14-17. 5. La instruccin carga 1 elemento desde message_config. 6. Instruccin MSG

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

14-21

Configurar el mensaje
Aunque la lgica controla el elemento remoto y la ruta de acceso para el mensaje, el cuadro de dilogo Propiedades de message requiere una configuracin inicial.

IMPORTANTE

43054

Borre la casilla de verificacin Conexin Cach.

En esta ficha: Configuracin

Si desea:

Para este tem:

Escriba o seleccione: el tipo de lectura que corresponde a los otros controladores tag o direccin que contiene los datos en el primer controlador 1 local_array[*] 0 el tipo de escritura que corresponde a los otros controladores local_array[*] 0 1 tag o direccin que contiene los datos en el primer controlador ruta de acceso al primer controlador Borre la casilla de verificacin Conexin Cach. Puesto que este procedimiento continuamente cambia la ruta de acceso al mensaje, es ms eficiente borrar esta casilla de verificacin.

leer (recibir) datos desde otros Tipo de message controladores Elemento de origen Nmero de elementos Tag de destino ndice escribir (enviar) datos a los otros controladores Tipo de message Tag de origen ndice Nmero de elementos Elemento de destino

Comunicacin

ruta de acceso Conexiones Cach

Publicacin 1756-PM001E-ES-P - Agosto 2002

14-22

Comunicacin con otro controlador

Ir al siguiente controlador
1. 2. 3.

43051

1. Despus que la instruccin MSG enva el mensaje... 2. La instruccin ADD incrementa el ndice. Esto permite que la lgica cargue las propiedades de configuracin para el siguiente controlador en la instruccin MSG. 3. La instruccin ADD incrementa el miembro LocalIndex de la instruccin MSG. Esto permite que la lgica cargue el valor desde el siguiente controlador al siguiente elemento de local_array..

Reiniciar la secuencia
1. 2. 3.

43051

1. Cuando el ndice es igual a local_array_length, el controlador envi el mensaje a todos los otros controladores. 2. Esta instruccin CLR establece el ndice en un valor igual a 0. Esto permite que la lgica cargue las propiedades de configuracin para el primer controlador en la instruccin MSG y que comience la secuencia de mensajes nuevamente. 3. La instruccin CLR establece el miembro LocalIndex de la instruccin MSG en un valor igual a 0. Esto permite que la lgica cargue el valor desde el primer controlador en el primer elemento de local_array..

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

15

Produccin de una matriz grande

Cundo usar este procedimiento

El controlador Logix5550 puede enviar hasta 500 bytes de datos a travs de una sola conexin programada. Esto corresponde a 125 elementos DINT o REAL de una matriz. Para transferir una matriz con ms de 125 DINT o REAL, use un tag producido/consumido para crear un paquete de datos. Puede usar el paquete para enviar la matriz en fragmentos a otro controlador. Cuando enva una matriz grande de datos en paquetes ms pequeos, hay que asegurarse de que la transmisin de un paquete sea concluida antes de transferir los datos a la matriz de destino debido a lo siguiente: Los datos producidos mediante el backplane ControlLogix se envan en segmentos de 50 bytes. La transmisin de datos ocurren asncronamente con el escn del programa. La lgica de esta seccin usa una palabra de confirmacin para asegurar que cada paquete contenga nuevos datos antes de que los datos se transfieran a la matriz de destino. La lgica tambin usa un valor de offset para indicar el elemento inicial del paquete dentro de la matriz. Debido a los elementos de offset y confirmados, cada paquete lleva 123 elementos de datos de la matriz, segn se muestra a continuacin:
Productor Consumidor

matriz paquete 0 paquete

matriz

123 offset 124 confirmacin

offset confirmacin

Publicacin 1756-PM001E-ES-P - Agosto 2002

15-2

Produccin de una matriz grande

Adems, la matriz debe contener 122 elementos adicionales. Es decir, debe tener 122 elementos ms que el nmero mayor de elementos que usted desea transferir: Estos elementos sirven como bfer. Puesto que cada paquete contiene el mismo nmero de elementos, el bfer evita que el controlador copie ms all de los lmites de la matriz. Sin el bfer, esto ocurrira si el ltimo paquete contuviera menos de 123 elementos de datos reales.

Para producir una matriz grande

1. Abra el proyecto RSLogix 5000 que producir la matriz. 2. En la carpeta Tags del controller, cree los tags siguientes:
P Nombre de tag array_ack Tipo DINT[2] DINT[125]

 donde:

array_packet

array es el nombre para los datos que usted enva. 3. Convierta array_ack a un tag consumido:
Para: Controlador Nombre de tag remoto Especifique: nombre del controlador que est recibiendo el paquete array_ack Ambos controladores usan el mismo nombre para este dato compartido.

Vase Consumir un tag producido en la pgina 14-5.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Produccin de una matriz grande

15-3

4. Cree los tags siguientes en la carpeta Tag de Controller o la carpeta de tags del programa que contendr la lgica de la transferencia:
Nombre de tag matriz array_offset array_size array_transfer_time array_transfer_time_max array_transfer_timer Tipo DINT[x] donde x es igual al nmero de elementos a transferir ms 122 elementos DINT DINT DINT DINT TIMER

donde: array es el nombre para los datos que usted enva. 5. En el tag array_size, introduzca el nmero de elementos de datos reales. (El valor de x del paso 4. menos los 122 elementos del bfer). 6. Cree o abra una rutina para la lgica que crear paquetes de datos. 7. Introduzca la lgica siguiente: Multiplicado por el tiempo necesario para enviar todo la matriz
TON Timer On Delay Timer array_transfer_timer Preset 10000000 Accum 0 EN DN

Cuando el valor de offset en array_ack[0] no es igual al valor de offset actual, pero array_ack[1] es igual a 999, el consumidor ha comenzado a recibir un paquete nuevo, por lo tanto los renglones mueven 999 al ltimo elemento del paquete. El consumidor espera hasta recibir el valor 999 antes de copiar el paquete a la matriz. Esto asegura que el consumidor tenga datos nuevos.
NEQ Not Equal Source A array_ack[0] 0 Source B array_packet[123] 0 EQU Equal Source A array_ack[1] 0 Source B -999 MOV Move Source -999

Dest array_packet[124] 0

Publicacin 1756-PM001E-ES-P - Agosto 2002

15-4

Produccin de una matriz grande

Cuando el valor de offset en array_ack[0] es igual al valor de offset actual, el consumidor ha copiado el paquete a la matriz; por lo tanto, el rengln busca para ver si hay ms datos a transferir. Si el valor de offset ms 123 es menor que el tamao de la matriz, hay ms datos que transferir; por lo tanto, el rengln aumenta el offset en 123. De lo contrario, no hay ms datos que transferir; por lo tanto, el rengln restablece el valor de offset, registra el tiempo de transferencia y restablece el temporizador. En ambos casos, el rengln usa el valor de offset nuevo para crear un paquete nuevo de datos, aade el valor de offset nuevo al paquete y borra el elemento de confirmacin del paquete (packet[124]).
EQU Equal Source A array_ack[0] 0 Source B array_packet[123] 0 CMP Compare Expression (array_ack[0] + 123) < array_size ADD Add Source A array_packet[123] 0 Source B 123 Dest CMP Compare Expression (array_ack[0] + 123) >= array_size array_offset 0 CLR Clear Dest array_offset 0 MOV Move Source array_transfer_timer.ACC 0 Dest array_transfer_time 0 array_transfer_timer RES COP Copy File Source array[array_offset] Dest array_packet[0] Length 123 MOV Move Source array_offset 0 Dest array_packet[123] 0 CLR Clear Dest array_packet[124] 0

Si el tiempo de transferencia actual es mayor que el tiempo de transferencia mximo, ste se actualiza. Esto mantiene un registro del tiempo mximo necesario para transferir los datos.
GRT Greater Than (A>B) Source A array_transfer_time 0 Source B array_transfer_time_max 0 MOV Move Source array_transfer_time 0 Dest array_transfer_time_max 0

42355

Publicacin 1756-PM001E-ES-P - Agosto 2002

Produccin de una matriz grande

15-5

8. Abra el proyecto RSLogix 5000 que consumir la matriz. 9. En la carpeta Tag de Controller, cree los tags siguientes:
P Nombre de tag array_ack array_packet Tipo DINT[2] DINT[125]

donde: array es el nombre para los datos que usted enva. Use el mismo nombre que en el controlador que produce (paso 2.). 10. Convierta array_packet a un tag consumido:
Para: Controlador Nombre de tag remoto Especifique: nombre del controlador que est enviando el paquete array_packet Ambos controladores usan el mismo nombre para este dato compartido.

Vase Consumir un tag producido en la pgina 14-5. 11. Cree los tags siguientes en la carpeta Tag de Controller o la carpeta de tags del programa que contendr la lgica de la transferencia:
Nombre de tag arreglo array_offset Tipo DINT[x] donde x es igual al nmero de elementos a transferir ms 122 elementos DINT

donde: array es el nombre para los datos que usted enva. 12. Cree o abra una rutina para la lgica que mover los datos desde los paquetes a la matriz de destino.

Publicacin 1756-PM001E-ES-P - Agosto 2002

15-6

Produccin de una matriz grande

13. Introduzca la lgica siguiente: Cuando el valor de offset en array_packet[123] es diferente que el valor de offset en array_ack[0], el controlador ha comenzado a recibir un paquete nuevo de datos; por lo tanto, el rengln busca el valor de 999 en el ltimo elemento del paquete. Si el ltimo elemento del paquete es igual a 999, el controlador ha recibido un paquete entero de datos nuevos y comienza la operacin de copia: El valor de offset se transfiere del paquete a array_offset. Las instrucciones COP copian los datos del paquete a la matriz de destino a partir del valor de offset. El valor de offset se transfiere a array_ack[0], lo cual indica que ha concluido la operacin de copia. Array_ack[1] se pone a cero y espera para indicar la llegada de un paquete nuevo. Si el ltimo elemento del paquete no es igual a 999, es posible que la transferencia del paquete no haya concluido, por lo tanto 999 se transfiere a array_ack[1]. Esto indica al productor que retorne el valor de 999 en el ltimo elemento del paquete para verificar la transmisin del paquete.
NEQ Not Equal Source A array_packet[123] 0 Source B array_ack[0] 0 EQU Equal Source A array_packet[124] 0 Source B -999 MOV Move Source array_packet[123] 0 Dest array_offset 0 COP Copy File Source array_packet[0] Dest array[array_offset] Length 123 MOV Move Source array_packet[123] 0 Dest array_ack[0] 0 CLR Clear Dest array_ack[1] 0 NEQ Not Equal Source A array_packet[124] 0 Source B -999 MOV Move Source -999

Dest array_ack[1] 0

42356

Publicacin 1756-PM001E-ES-P - Agosto 2002

Produccin de una matriz grande

15-7

La transferencia de una matriz grande en paquetes ms pequeos mejora el rendimiento del sistema y es ms eficaz que otros mtodos de transferir datos: Se usan menos conexiones, a diferencia de separar los datos en mltiples matrices y enviar cada uno como un tag producido. Por ejemplo, una matriz con 5000 elementos necesita 40 conexiones (5000/125 = 40) usando matrices individuales. Se consiguen velocidades de transmisin ms rpidas usando este mtodo, a diferencia de usar una instruccin de mensaje para enviar todo la matriz. Se programa y se ejecutan los mensajes solamente durante la porcin de tiempo de procesamiento interno de la ejecucin de Logix5550. Como consecuencia, puede ser necesario un plazo sumamente largo para concluir la transferencia. Usted puede mejorar el tiempo de transferencia aumentando el segmento del tiempo de procesamiento del sistema; no obstante, esto reduce el rendimiento de la tarea continua.

Publicacin 1756-PM001E-ES-P - Agosto 2002

15-8

Produccin de una matriz grande

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

16

Comunicacin con un dispositivo ASCII

Cundo usar este procedimiento

Use este procedimiento para intercambiar datos ASCII con un dispositivo a travs del puerto en serie del controlador. Por ejemplo, puede usar el puerto en serie para: leer caracteres ASCII desde un mdulo de bscula o lector de cdigos de barra enviar y recibir mensajes desde un dispositivo activado ASCII, tal como un terminal MessageView.

conexin del puerto en serie del controlador al dispositivo ASCII

42237

Cmo usar este procedimiento

Antes de usar este procedimiento: Configure el dispositivo ASCII para su aplicacin Para completar este procedimiento, realice las siguientes tareas: Conecte el dispositivo ASCII Configure el puerto en serie Configure el protocolo del usuario Cree tipos de datos de cadena Lea los caracteres desde el dispositivo Enve los caracteres al dispositivo

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-2

Comunicacin con un dispositivo ASCII

Conecte el dispositivo ASCII

1. Para el puerto en serie del dispositivo ASCII, determine cules pines envan seales y cules reciben seales. 2. Conecte los pines de envo a los pines de recepcin correspondientes y conecte los puentes:
Si las comunicaciones: tienen handshaking
Dispositivo ASCII
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9

Entonces cablee los conectores as:

Controlador
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9
42231

no tienen handshaking
Dispositivo ASCII
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9

Controlador
1 CD 2 RDX 3 TXD 4 DTR COMMON 6 DSR 7 RTS 8 CTS 9
42232

3. Conecte el blindaje del cable a los dos conectores 4. Conecte el cable al controlador y al dispositivo ASCII.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-3

Configure el puerto en serie

1. Determine los siguientes parmetros de comunicacin para el dispositivo ASCII: a. b. c. d. velocidad en baudios bits de datos paridad bits de paro

2. Abra el proyecto RSLogix 5000.

42627

3. En la barra de herramientas En lnea, haga clic en el botn del controlador. 4. Haga clic en la ficha Puerto en serie.

5.

6.

42251

5. Seleccione Usuario. 6. Seleccione los parmetros para el dispositivo ASCII del paso 1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-4

Comunicacin con un dispositivo ASCII

7.

8. 9.
42251

7. Seleccione la opcin Lnea de control:


Si: usted no usa un mdem usted usa un mdem los dos mdems en una conexin punto a punto son full-duplex el mdem maestro es full-duplex y el mdem esclavo es half-duplex todos los mdems en el sistema son half-duplex controlador maestro. controlador esclavo. Y: Y ste es el: Seleccione: Sin handshaking Full Duplex Entonces: Vaya al paso 10

Full Duplex Half Duplex Half Duplex Seleccione la casilla de verificacin Portador continuo. Borre la casilla de verificacin Portador continuo (opcin predeterminada).

8. Introduzca la cantidad de retardo (unidades de 20 ms) entre el tiempo de activacin (alto) de la seal RTS y el tiempo en que se envan los datos. Por ejemplo, un valor de 4 produce un retardo de 80 ms. 9. Introduzca la cantidad de retardo (unidades de 20 ms) entre el tiempo desde el envo del ltimo carcter y el tiempo en que se desactiva (bajo) la seal RTS. 10. Haga clic en Aplicar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-5

Configure el protocolo del usuario

1. Haga clic en la ficha Protocolo del usuario.

2. 3.

42252

2. Seleccione o introduzca un nmero mayor que o igual al nmero mayor de caracteres en una transmisin. (Una pauta general es dos veces el nmero de caracteres.) 3. Si usted usa las instrucciones ABL o ARL, introduzca los caracteres que indican el fin de los datos. Para obtener el cdigo ASCII de un carcter, vea la contraportada de este manual.
Si el dispositivo enva: un carcter de terminacin Entonces: A. En el cuadro de texto Carcter de terminacin 1, introduzca el cdigo ASCII hexadecimal para el primer carcter. B. En el cuadro de texto Carcter de terminacin 2, introduzca $FF. En los cuadros de texto Carcter de terminacin 1 y 2, introduzca el cdigo ASCII hexadecimal para cada carcter. Notas: Para los caracteres imprimibles, tales como 1 A, introduzca el carcter.

dos caracteres de terminacin

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-6

Comunicacin con un dispositivo ASCII

4. 5. 6.

7.

42252

4. Si usa la instruccin AWA, introduzca los caracteres que desea aadir a los datos.Para obtener el cdigo ASCII de un carcter, vea la contraportada de este manual.
Para aadir: un carcter Entonces: A. En el cuadro de texto Caracteres aadidos 1, introduzca el cdigo ASCII hexadecimal para el primer carcter. B. En el cuadro de texto Caracteres aadidos 2, introduzca $FF. En los cuadros de texto Caracteres aadidos 1 y 2, introduzca el cdigo ASCII hexadecimal para cada carcter. Notas: Para los caracteres imprimibles, tales como 1 A, introduzca el carcter.

dos caracteres

5. Si el dispositivo ASCII est configurado para el control de flujo XON/XOFF, seleccione la casilla de verificacin XON/XOFF. 6. Si el dispositivo ASCII es una CRT o est preconfigurado para la transmisin half-duplex, seleccione la casilla de verificacin Modo eco.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-7

7. Seleccione el modo eliminacin:


Si el dispositivo ASCII es: CRT Seleccione: Notas: El carcter DEL ($7F) y el carcter precedente al carcter DEL no se envan al destino. Si se selecciona el modo eco y la instruccin ASCII lee el carcter DEL, el eco devuelve tres caracteres: BACKSPACE SPACE BACKSPACE ( $08 $20 $08). El carcter DEL ($7F) y el carcter precedente al carcter DEL no se envan al destino. Si se selecciona el modo eco y la instruccin ASCII lee el carcter DEL, el eco devuelve dos caracteres: / ($2F) seguido por el carcter eliminado. El carcter DEL ($7F) es como cualquier otro carcter.

CRT

impresora

Impresora

Ninguno de los anteriores

Ignorar

8. Haga clic en Aceptar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-8

Comunicacin con un dispositivo ASCII

Cree tipos de datos de cadena

Los caracteres ASCII se almacenan en tags que usan un tipo de datos de cadena.

42811

42812

Puede usar el tipo de datos STRING predeterminado. ste almacena hasta 82 caracteres.

o bien

Puede crear un nuevo tipo de datos de cadena para almacenar el nmero de caracteres definido.

IMPORTANTE

Tenga cuidado cuando cree un nuevo tipo de datos de cadena. Si posteriormente decide cambiar el tamao del tipo de datos de cadena, puede perder datos en cualquier tag que actualmente use ese tipo de datos.
Si usted: hace un tipo de datos de cadena ms pequeo hace un tipo de datos de cadena ms grande Entonces: Los datos se truncan. LEN no se cambia. El dato y LEN se restablecen a cero.

1. Desea crear un nuevo tipo de datos de cadena?


Si:
3.

Entonces: Vaya a Lea los caracteres desde el dispositivo en la pgina 16-9. Vaya al paso 2.

no s

2. En el organizador del controller, haga clic con el botn derecho del mouse en Cadenas y seleccione Nuevo tipo de datos de Cadena 3. Escriba un nombre para el tipo de d-atos. 4. Escriba el mximo nmero de caracteres que este tipo de datos de cadena almacenar.
42233

5. Seleccione Aceptar.

4.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-9

Lea los caracteres desde el dispositivo

Por lo general, antes de leer el bfer, se recomienda usar una instruccin ACB o ABL para verificar que el bfer tenga los caracteres requeridos: Una instruccin ARD o ARL contina leyendo el bfer hasta que la instruccin lee los caracteres requeridos. Mientras una instruccin ARD o ARL lee el bfer, no se pueden ejecutar otras instrucciones del puerto en serie ASCII, excepto la instruccin ACL. El verificar que el bfer tenga los caracteres requeridos evita que la instruccin ARD o ARL interrumpa la ejecucin de las otras instrucciones del puerto en serie ASCII mientras el dispositivo de entrada enva los datos. Para obtener informacin adicional sobre las instrucciones del puerto en serie ASCII, consulte Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003.

IMPORTANTE

Si no est familiarizado con la introduccin de lgica de escalera en un proyecto RSLogix 500, primero revise Programacin de rutinas en la pgina 4-1.

1. Qu tipo de dispositivo est leyendo?


Si el dispositivo es un/una: lector de cdigos de barra bscula que enva un nmero fijo de caracteres terminal de mensajes o pantalla bscula que enva un nmero variable de caracteres Vaya al paso 14. Entonces: Vaya al paso 2.

2. Introduzca el siguiente rengln:


4. 5. 3.

42235a

3. Introduzca 0. (El puerto en serie es el canal 0). 4. Introduzca un nombre de tag para la instruccin ACB y defina el tipo de datos como SERIAL_PORT_CONTROL. 5. Introduzca el bit EN del tag ACB. (El tag del paso 4.)

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-10

Comunicacin con un dispositivo ASCII

6. Introduzca el siguiente rengln:


10. 9.

7.

8.

11.

12.
42235a

7. Introduzca el miembro POS del tag ACB. (El tag del paso 4.) 8. Introduzca el nmero de caracteres en los datos. 9. Introduzca 0. 10. Introduzca un nombre de tag para almacenar los caracteres ASCII. Defina el tipo de datos como una cadena. 11. Introduzca un nombre de tag para la instruccin ARD y defina el tipo de datos como SERIAL_PORT_CONTROL. 12. Introduzca el nmero de caracteres en los datos.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-11

EJEMPLO

Un lector de cdigos de barra enva cdigos de barra al puerto en serie (canal 0) del controlador. Cada cdigo de barra contiene 24 caracteres. Para determinar cundo el controlador recibe un cdigo de barras, la instruccin ACB cuenta continuamente los caracteres en el bfer.
ACB ASCII Chars in Buffer Channel 0 SerialPort Control bar_code_count Character Count 0

bar_code_count.EN /

EN DN ER

Cuando el bfer contiene por lo menos 24 caracteres, el controlador ha recibido un cdigo de barras. La instruccin ARD mueve el cdigo de barras al tag bag_bar_code.
GEQ Grtr Than or Eql (A>=B) Source A bar_code_count.pos 0 Source B 24 ARD ASCII Read Channel Destination SerialPort Control String Length Characters Read EN 0 bag_bar_code '' bar_code_read 24 0 DN ER

42227

13. Desea enviar datos al dispositivo?


Si: s no Entonces: Vaya a Enve los caracteres al dispositivo en la pgina 16-14. Detngase. Ya termin con este procedimiento. Para usar los datos vaya a Procesamiento de caracteres ASCII en la pgina 17-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-12

Comunicacin con un dispositivo ASCII

14. Introduzca el siguiente rengln:


16. 15. 17.

42235

15. Introduzca 0. 16. Introduzca un nombre de tag para la instruccin ABL y defina el tipo de datos como SERIAL_PORT_CONTROL. 17. Introduzca el bit EN del tag ABL. (El tag del paso 16.) 18. Introduzca el siguiente rengln:
21. 19. 20.

22.

23.
42235

19. Introduzca el bit FD del tag ABL. (El tag del paso 16.) 20. Introduzca 0. 21. Introduzca un nombre de tag para almacenar los caracteres ASCII. Defina el tipo de datos como una cadena. 22. Introduzca un nombre de tag para la instruccin ARL y defina el tipo de datos como SERIAL_PORT_CONTROL. 23. Introduzca 0. Esto permite que la instruccin establezca la longitud de control de SerialPort igual al tamao del destino.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-13

EJEMPLO

Continuamente prueba el bfer para determinar si hay un mensaje proveniente del terminal MessageView. Puesto que cada mensaje termina en un retorno de carro ($0D), el retorno de carro se configura como el carcter de terminacin en el cuadro de dilogo Propiedades del controller, ficha Protocolo de usuario. Cuando ABL encuentra un retorno de carro, establece el bit FD.

MV_line.EN /

ABL ASCII Test For Buffer Line Channel 0 SerialPort Control MV_line Character Count 0

EN DN ER

Cuando la instruccin ABL encuentra el retorno de carro (MV_line.FD se establece), el controlador retira los caracteres del bfer, hasta e incluyendo el retorno de carro, y los coloca en el tag MV_msg.
MV_line.FD ARL ASCII Read Line Channel Destination SerialPort Control String Length Characters Read

EN 0 MV_msg '' MV_read 12 0 DN ER

42226

24. Desea enviar datos al dispositivo?


Si: s no Entonces: Vaya a Enve los caracteres al dispositivo en la pgina 16-14. Detngase. Ya termin con este procedimiento. Para usar los datos vaya a Procesamiento de caracteres ASCII en la pgina 17-1.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-14

Comunicacin con un dispositivo ASCII

Enve los caracteres al dispositivo


Si usted:

1. Determine dnde empezar:

Y: desea aadir uno o dos caracteres al fin de los datos no desea aadir caracteres desea aadir uno o dos caracteres al fin de los datos no desea aadir caracteres

Entonces: Vaya al paso 2 Vaya al paso 9 Vaya al paso 16 Vaya al paso 24

siempre enva el mismo nmero de caracteres enva nmeros diferentes de caracteres

2. Introduzca el siguiente rengln:


5. 3. 4.

6.

7.
42236a

3. Introduzca la(s) condicin(es) de entrada que determina(n) cundo se van a enviar los caracteres: Puede usar cualquier tipo de instruccin de entrada. La instruccin debe cambiar de falso a verdadero cada vez que se van a enviar los caracteres. 4. Introduzca 0. 5. Introduzca el nombre del tag que almacena los caracteres ASCII. Defina el tipo de datos como una cadena. 6. Introduzca un nombre de tag para la instruccin AWA y defina el tipo de datos como SERIAL_PORT_CONTROL. 7. Introduzca el nmero de caracteres que se envan. Omita los caracteres aadidos por la instruccin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-15

EJEMPLO

Cuando la temperatura excede el lmite alto (temp_high est activado), la instruccin AWA enva cinco caracteres desde el tag string[1] a un terminal MessageView. El $14 cuenta como un carcter. Es el cdigo hex del carcter Ctrl-T. La instruccin tambin enva (aade) los caracteres definidos en el protocolo de usuario. En este ejemplo, la instruccin AWA enva un retorno de carro ($0D), el cual indica el fin del mensaje.

temp_high

AWA ASCII Write Append Channel Source SerialPort Control String Length Characters Sent

EN 0 string[1] '$1425\1' temp_high_write 5 6 DN ER

42229

8. Vaya a Introduzca caracteres ASCII en la pgina 16-21.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-16

Comunicacin con un dispositivo ASCII

9. Introduzca el siguiente rengln:


12. 10. 11.

13.

14.
42236b

10. Introduzca la(s) condicin(es) de entrada que determina(n) cundo se van a enviar los caracteres: Puede usar cualquier tipo de instruccin de entrada. La instruccin debe cambiar de falso a verdadero cada vez que se van a enviar los caracteres. 11. Introduzca 0. 12. Introduzca el nombre del tag que almacena los caracteres ASCII. Defina el tipo de datos como una cadena. 13. Introduzca un nombre de tag para la instruccin AWT y defina el tipo de datos como SERIAL_PORT_CONTROL. 14. Introduzca el nmero de caracteres que se envan.

EJEMPLO

Cuando la temperatura llega al lmite bajo (temp_low est activado), la instruccin AWT enva nueve caracteres desde el tag string[2] a un terminal MessageView. (El $14 cuenta como un carcter. Es el cdigo hex del carcter Ctrl-T.
AWT ASCII Write Channel Source SerialPort Control String Length Characters Sent EN 0 string[2] '$142224\01$r' temp_low_write 9 9 DN ER

temp_low

42229

15. Vaya a Introduzca caracteres ASCII en la pgina 16-21.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-17

16. Introduzca el siguiente rengln:


19. 17. 18.

21.

22.

20.
42236c

17. Introduzca la(s) condicin(es) de entrada que determina(n) cundo se van a enviar los caracteres: Puede usar cualquier tipo de instruccin de entrada. La instruccin debe cambiar de falso a verdadero cada vez que se van a enviar los caracteres. 18. Introduzca 0. 19. Introduzca el nombre del tag que almacena los caracteres ASCII. Defina el tipo de datos como una cadena. 20. Introduzca un nombre de tag para la instruccin AWA y defina el tipo de datos como SERIAL_PORT_CONTROL. 21. Introduzca el miembro LEN del tag Source. (El tag del paso 19.) 22. Introduzca el miembro LEN de la instruccin AWA. (El tag del paso 20.)

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-18

Comunicacin con un dispositivo ASCII

EJEMPLO

Cuando la alarma est activada, la instruccin AWA enva los caracteres en alarm_msg y aade un carcter de terminacin. Puesto que el nmero de caracteres en alarm_msg vara, el rengln primero transfiere la longitud de alarm_msg (alarm_msg.LEN) a la longitud de la instruccin AWA (alarm_write.LEN). En alarm_msg, el $14 cuenta como un carcter. Es el cdigo hex del carcter Ctrl-T.

alarm

MOV Move Source alarm_msg.LEN 5 Dest alarm_write.LEN 5

AWA ASCII Write Append Channel Source SerialPort Control String Length Characters Sent

EN 0 alarm_msg '$1425\1' alarm_write 5 6 DN ER

42229

23. Vaya a Introduzca caracteres ASCII en la pgina 16-21.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-19

24. Introduzca el siguiente rengln:


27. 25. 26.

29.

30.

28.
42236d

25. Introduzca la(s) condicin(es) de entrada que determina(n) cundo se van a enviar los caracteres: Puede usar cualquier tipo de instruccin de entrada. La instruccin debe cambiar de falso a verdadero cada vez que se van a enviar los caracteres. 26. Introduzca 0. 27. Introduzca el nombre del tag que almacena los caracteres ASCII. Defina el tipo de datos como una cadena. 28. Introduzca un nombre de tag para la instruccin AWT y defina el tipo de datos como SERIAL_PORT_CONTROL. 29. Introduzca el miembro LEN del tag Source. (El tag del paso 27.) 30. Introduzca el miembro LEN de la instruccin AWT. (El tag del paso 28.)

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-20

Comunicacin con un dispositivo ASCII

EJEMPLO

Cuando MV_update est activado, la instruccin AWT enva los caracteres en MV_msg. Puesto que el nmero de caracteres en MV_msg vara, el rengln primero transfiere la longitud de MV_msg (MV_msg.LEN) a la longitud de la instruccin AWT (MV_write.LEN). En MV_msg, el $16 cuenta como un carcter. Es el cdigo hex del carcter Ctrl-V.

MV_update

MOV Move Source MV_msg.LEN 10 Dest MV_write.LEN 10

AWT ASCII Write Channel Source EN DN ER 0 MV_msg '$161365\8\1$r' SerialPort Control MV_write String Length 10 Characters Sent 10

42229

31. Vaya a Introduzca caracteres ASCII en la pgina 16-21.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

16-21

Introduzca caracteres ASCII

Determine si debe completar este paso:


Si: Desea que la lgica cree la cadena. Desea introducir los caracteres. Entonces: Vaya a Procesamiento de caracteres ASCII en la pgina 16-1. Vaya al paso 1.

IMPORTANTE

Esta ventana Explorador de cadenas muestra los caracteres hasta el valor del miembro LEN del tag de cadena. El tag de cadena puede contener datos adicionales que la ventana Explorador de cadenas no muestra.

1.

42616

1. Haga doble clic en el rea valor del origen.

2.

signo de dlar ($24) una comilla ($27) salto de lnea ($0A) nueva lnea ($0D$0A) alimentacin de impresora ($0C) retorno de carro ($0D) tab ($09)

42615

El nmero de caracteres que usted ve en la ventana. ste es el mismo que el miembro LEN del tag de cadena.

El nmero mximo de caracteres que puede contener el tag de cadena.

2. Escriba los caracteres para la cadena. 3. Seleccione Aceptar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

16-22

Comunicacin con un dispositivo ASCII

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

17

Procesamiento de caracteres ASCII

Cundo usar este procedimiento

Use este procedimiento para: interpretar un cdigo de barras y realizar una accin basada en el cdigo de barras usar un peso de una bscula cuando el peso se enva en caracteres ASCII descodificar un mensaje de un dispositivo activado ASCII, tal como un terminal de operador crear una cadena para un dispositivo activado ASCII usando variables de su aplicacin

Cmo usar este procedimiento


IMPORTANTE

Si no est familiarizado con la introduccin de lgica de escalera en un proyecto RSLogix 500, primero revise "Programacin de rutinas en la pgina 4-1.

Dependiendo de la aplicacin, es posible que necesite realizar todas las tareas indicadas en este procedimiento. Use la siguiente tabla para determinar dnde comenzar:
Si desea: aislar informacin especfica de un cdigo de barras buscar en una matriz una cadena especfica de caracteres comparar dos cadenas de caracteres usar un peso de una bscula descodificar un mensaje proveniente de un terminal de operador crear una cadena para enviar a un terminal de operador Entonces vaya a: En la pgina:

Extraer una parte de un cdigo 17-2 de barras Buscar un cdigo de barras Verificar los caracteres del cdigo de barras Convertir un valor Descodificar un mensaje ASCII Crear una cadena 17-4 17-10 17-12 17-14 17-18

Para obtener informacin adicional sobre las instrucciones relacionadas con ASCII, consulte Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-2

Procesamiento de caracteres ASCII

Extraer una parte de un cdigo de barras

Use los pasos siguientes para extraer una parte de un cdigo de barras a fin de realizar una accin basada en este valor. Por ejemplo, un cdigo de barras puede contener informacin acerca de un equipaje en un transportador de un aeropuerto. Para verificar el nmero de vuelo y destino del equipaje, se extraen los caracteres 10 - 18.
lnea area origen H 4 5 6 O 7 P 8 9 5 No. de vuelo 0 5 8 A destino M S 0 2 fecha 2 2 0 1

cdigo de barras nmero de caracteres

N 1

W A 2 3

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

M S

9 caracteres

Pasos:
1. Introduzca el siguiente rengln:
5. 3. 2. 6. 4.

42808

2. Introduzca el bit EM de la instruccin ARD que lee el cdigo de barras 3. Introduzca el tag cadena que contiene el cdigo de barras. 4. Introduzca el nmero de caracteres en la parte del cdigo de barras que desea verificar. 5. Introduzca la posicin del primer carcter en la parte del cdigo de barras que desea verificar. 6. Introduzca el nombre del tag que va a almacenar la parte del cdigo de barras que desea verificar. Defina el tipo de datos como una cadena.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-3

EJEMPLO

En el transportador de equipaje de un aeropuerto, cada equipaje tiene un cdigo de barras. Los caracteres 10 - 18 del cdigo de barras son el nmero de vuelo y el aeropuerto de destino del equipaje. Despus que el cdigo de barras es ledo (bag_read.EM est activado) la instruccin MID copia el nmero de vuelo y el aeropuerto de destino al tag bag_flt_and_dest.

42808

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-4

Procesamiento de caracteres ASCII

Buscar un cdigo de barras

Realice los pasos siguientes para devolver informacin especfica acerca de un tem basado en su cdigo de barras. Por ejemplo, en una operacin de clasificacin, una matriz de un tipo de datos definido por el usuario crea una tabla que muestra el nmero de ruta para cada tipo de producto. Para determinar en qu ruta encaminar un producto, el controlador busca el ID del producto (caracteres del cdigo de barras que identifican al producto) en la tabla.
Nombre de tag valor

sort_table
product_id GHI

sort_table[0] + sort_table[0].Product_ID + sort_table[0].Lane sort_table[1] + sort_table[1].Product_ID + sort_table[1].Lane sort_table[2] + sort_table[2].Product_ID + sort_table[2].Lane


GHI 3 ruta 3 DEF 2 ABC 1

Para buscar un cdigo de barras: CONSEJO Cree el tipo de datos PRODUCT_INFO Bsqueda de caracteres Identificar el nmero de ruta Rechazar caracteres incorrectos Introducir los ID de producto y nmeros de ruta

Para copiar los componentes anteriores desde un ejemplo de proyecto, abra la carpeta \RSLogix 5000\Proyectos\Ejemplos.

43039

Abra este proyecto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-5

Cree el tipo de datos PRODUCT_INFO


Para crear un nuevo tipo de datos:

Cree el siguiente tipo de datos definido por el usuario. + Controlador Your_Project + Tareas + Motion Groups
Tendencias

Tipo de datos:PRODUCT_INFO
nombre descripcin Miembros nombre tipo de datos cadena DINT Decimal estilo descripcin Caracteres ASCII que identifican el tem Destino del tem, basado en su ID PRODUCT_INFO Identifica el destino de un tem basado en una cadena ASCII de caracteres que identifican el tem

Types
definido por el usuario

Data

+ Product_ID
Ruta

Haga clic con el botn derecho del mouse y seleccione Nuevo Data Type.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-6

Procesamiento de caracteres ASCII

Bsqueda de caracteres

1. 2. 3.

43038

1. La instruccin SIZE cuenta el nmero de elementos en la matriz sort_table. Esta matriz contiene el ID del producto para cada tem y el nmero de ruta correspondiente para el tem.
Nombre de tag sort_table Tipo PRODUCT_INFO[number_of_items ] donde: number_of_items es el nmero de tems que usted debe clasificar.

2. La instruccin SIZE cuenta el nmero de elementos en la Dimensin 0 de la matriz. En este caso, esa es la nica dimensin. 3. La instruccin SIZE establece la longitud de la instruccin FSC subsiguiente en un valor igual al tamao de la matriz sort_table. Esto asegura que la instruccin FSC busque el tamao exacto de la matriz.
Nombre de tag sort_table_search Tipo CONTROL

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-7

4. 5. 6.
43038

4. El tag sort_table_search controla la instruccin FSC, la cual busca los caracteres de cdigo de barras en la matriz sort_table. 5. Aunque la instruccin previa establece la longitud de esta instruccin, el software requiere un valor inicial para verificar el proyecto. 6. El tag product_id contiene los caracteres de cdigo de barras que identifican el tem. La instruccin FSC busca cada miembro Product_ID en la matriz sort_table hasta que encuentra una coincidencia con el tag. product_id.
Nombre de tag product_id Tipo cadena

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-8

Procesamiento de caracteres ASCII

Identificar el nmero de ruta


1. 2. 3. 4.

43038

1. Cuando la instruccin FSC encuentra el ID del producto dentro de la matriz sort_table, la instruccin establece el bit FD. 2. Cuando la instruccin FSC encuentra una coincidencia, el miembro POS indica el nmero de elemento dentro de la matriz sort_table de la coincidencia. El miembro LANE correspondiente indica el nmero de ruta de la coincidencia. 3. En base al valor POS, la instruccin MOV mueve el nmero de ruta correspondiente al tag lane. El controlador usa el valor de este tag para encaminar el tem.
Nombre de tag lane Tipo DINT

4. Despus que la instruccin MOV establece el valor del tag lane, la instruccin RES restablece la instruccin FSC a fin de que pueda buscar el siguiente ID de producto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-9

Rechazar caracteres incorrectos


1. 2. 3.

43038

1. Si la instruccin FSC no encuentra el ID del producto dentro de la matriz sort_table, la instruccin establece el bit DN. 2. Cuando no se encuentra una coincidencia, la instruccin mueve 999 al tag lane. Esto indica al controlador que rechace o vuelva a encaminar el tem. 3. Despus que la instruccin MOV establece el valor del tag lane, la instruccin RES restablece la instruccin FSC a fin de que busque el siguiente ID de producto.

Introducir los ID de producto y nmeros de ruta


En la matriz sort_table, introduzca los caracteres ASCII que identifican cada tem y el nmero de ruta correspondiente para el tem.
Nombre de tag valor {} {} Caracteres ASCII que identifican el primer tem nmero de ruta del tem {} Caracteres ASCII que identifican el siguiente tem nmero de ruta del tem

sort_table sort_table[0] + sort_table[0].Product_ID + sort_table[0].Lane sort_table[1] + sort_table[1].Product_ID + sort_table[1].Lane

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-10

Procesamiento de caracteres ASCII

Verificar los caracteres del cdigo de barras

En esta tarea, usted usa una instruccin de comparacin (EQU, GEQ, GRT, LEQ, LES, NEQ) para verificar caracteres especficos. Los valores hexadecimales de los caracteres determinan si una cadena es menor o mayor que otra cadena. Cuando las dos cadenas estn clasificadas como en un directorio telefnico, el orden de las cadenas determina cul es mayor.
Caracteres ASCII 1ab
l e s s e r m a y o r q u e

Cdigos hexadecimales $31$61$62 $31$62 $41 $41$42 $42 $61 $61$62 a>B AB < B

1b A AB B a ab

Pasos:
1. Introduzca un rengln y una instruccin de comparacin:
Para ver si la cadena es: igual a caracteres especficos diferente a caracteres especficos mayor que caracteres especficos igual o mayor que caracteres especficos menor que caracteres especficos igual o menor que caracteres especficos Introduzca esta instruccin: EQU NEQ GRT GEQ LES LEQ

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-11

2.

3.

6.

4.

42808

2. Introduzca el tag que almacena la parte del cdigo de barras que desea verificar. (El destino de Extraer una parte de un cdigo de barras, paso 6.) 3. Introduzca un nombre de tag para almacenar los caracteres contra los cuales desea realizar la prueba. Defina el tipo de datos como una cadena. 4. Haga doble clic en el rea de valor del origen B. 5. Escriba los caracteres ASCII contra los cuales va a realizar la prueba y seleccione Aceptar.

42615

6. Introduzca la salida requerida.

EJEMPLO

Cuando bag_flt_and_dest es igual a gate[1], xfer{1] se activa. Esto encamina al equipaje hacia la puerta requerida.

42808

7. Desea verificar otra parte del cdigo de barras?


Si: s no Entonces: Vaya a Extraer una parte de un cdigo de barras en la pgina 17-2. Detngase. Ya termin con este procedimiento.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-12

Procesamiento de caracteres ASCII

Convertir un valor

Realice los pasos siguientes para convertir la representacin ASCII de un valor a un valor DINT o REAL que usted pueda usar en la aplicacin. Las instrucciones STOD y STOR omiten cualquier control inicial o caracteres no numricos (excepto el signo menos ubicado delante de un nmero). Si la cadena contiene mltiples grupos de nmeros separados por delimitadores (por ej., / ), las instrucciones STOD y STOR convierten slo el primer grupo de nmeros.

Pasos:
1. De qu tipo de nmero es el valor?
Si: punto flotante (coma flotante) entero Entonces: Vaya al paso 2. Vaya al paso 7.

2. Introduzca el siguiente rengln:


4. 3. 5.

42810

3. Introduzca el bit EM de la instruccin ARD o ARL que ley el valor. 4. Introduzca el tag de cadena que contiene el valor. 5. Introduzca un nombre de tag para almacenar el valor para uso en su aplicacin. Defina el tipo de datos como REAL.

EJEMPLO

Despus de leer el peso de la bscula (weight_read.EM est activado), la instruccin STOR convierte los caracteres numricos en weight_ascii a un valor REAL y almacena el resultado en weight.

42810

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-13

6. Vaya al paso 11. 7. Introduzca el siguiente rengln:


9. 8. 10.

42810

8. Introduzca el bit EM de la instruccin ARD o ARL que ley el valor. 9. Introduzca el tag de cadena que contiene el valor. 10. Introduzca un nombre de tag para almacenar el valor para uso en su aplicacin. Defina el tipo de datos como DINT.

EJEMPLO

Cuando MV_read.EM est activado, la instruccin STOD convierte el primer conjunto de caracteres numricos en MV_msg a un valor entero. La instruccin salta el carcter de control inicial ($06) y se detiene en el delimitador ( \ ).

42620

11. Tiene esta cadena otro valor que usted desea usar?
Si: s no Entonces: Vaya a Descodificar un mensaje ASCII en la pgina 17-14. Detngase. Ya termin con este procedimiento.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-14

Procesamiento de caracteres ASCII

Descodificar un mensaje ASCII

Use los pasos siguientes para extraer y convertir un valor de un mensaje ASCII que contiene mltiples valores. Por ejemplo, un mensaje puede ser similar a este:
primer valor segundo valor tercer valor

[Ctrl-F] mensaje # \ tecla F

\ accin de tecla F

[CR]

carcter de control

delimitador delimitador

carcter de terminacin

1. Determine dnde empezar:


Si la: cadena tiene ms de un valor cadena tiene slo un valor Y: ste es el primer valor. ste no es el valor. Entonces: Vaya a Convertir un valor en la pgina 17-12. Vaya al paso 2. Vaya a Convertir un valor en la pgina 17-12.

2. De qu tipo de nmero es el valor?


Si: punto flotante (coma flotante) entero Entonces: Introduzca Rengln A: Encontrar y convertir un valor de punto flotante (coma flotante) Introduzca Rengln B: Encontrar y convertir un valor entero

Rengln A: Encontrar y convertir un valor de punto flotante (coma flotante)

42810

Rengln B: Encontrar y convertir un valor entero

42810

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-15

4. 3.

5. 6.

42810

8.

9.

3. Introduzca el bit EM de la instruccin ARL que ley el valor. 4. Introduzca el tag de cadena que contiene el valor. 5. Introduzca un nombre de tag para almacenar el delimitador que marca el comienzo del valor. Defina el tipo de datos como una cadena. 6. Haga doble clic en el rea del valor de Bsqueda.

42615

7. Escriba el delimitador y seleccione Aceptar. 8. Introduzca la posicin en la cadena para iniciar la bsqueda. Inicialmente, puede usar 0 para buscar el primer delimitador. Para descodificar datos adicionales, aumente este valor para buscar el siguiente delimitador. 9. Introduzca un nombre de tag para almacenar la ubicacin del delimitador. Defina el tipo de datos como DINT.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-16

Procesamiento de caracteres ASCII

10.

11.

42810

12.

13.

10. Introduzca el tag cadena que contiene el cdigo de barras. 11. Introduzca el mximo nmero de caracteres que este valor puede contener. 12. Introduzca el tag que almacena la posicin del delimitador. (El tag del paso 9.) 13. Introduzca un nombre de tag para almacenar este valor. Defina el tipo de datos como una cadena. 14. Qu tipo de instruccin de conversin us?
Si: STOR STOD Entonces: Vaya al paso 15. Vaya al paso 18.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-17

15.

16.

42809

15. Introduzca el tag que almacena el valor. (El tag del paso 13.) 16. Introduzca un nombre de tag para almacenar el valor para uso en su aplicacin. Defina el tipo de datos como REAL. 17. Vaya al paso 20.
18. 19.

42809

18. Introduzca el tag que almacena el valor. (El tag del paso 13.) 19. Introduzca un nombre de tag para almacenar el valor para uso en su aplicacin. Defina el tipo de datos como DINT. 20. Tiene la cadena otro valor que usted desea usar?
Si: s Entonces: A. Aada 1 al resultado de la instruccin Buscar. (El tag del paso 9.) B. Repita los pasos 2 - 19. Detngase. Ya termin con este procedimiento.

no

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-18

Procesamiento de caracteres ASCII

Crear una cadena

Realice los pasos siguientes para crear una cadena proveniente de las variables de su aplicacin. Luego puede enviar la cadena a un dispositivo activado ASCII, tal como un terminal MessageView. En este procedimiento, usted crea una cadena que contiene dos variables. Por ejemplo, un terminal de operador puede requerir una cadena similar a esta:
[Ctrl-F] mensaje # \ direccin [CR]

carcter de control

delimitador

carcter de terminacin

Si necesita incluir ms variables, use la instruccin INSERTAR o CONCATENAR. Si necesita enviar un valor de punto flotante (coma flotante), use una instruccin RTOS en lugar de la instruccin DTOS. La cadena final no incluir el carcter de terminacin. Cuando enve la cadena, use una instruccin AWA para anexar automticamente el carcter de terminacin.

Pasos:
1. Introduzca el siguiente rengln:
2. 3. 4.

42813

2. Introduzca la(s) condicin(es) de entrada que determinan cundo crear la cadena. 3. Introduzca el tag DINT que contiene el primer valor para la cadena. 4. Introduzca un nombre de tag para almacenar la representacin ASCII del valor. Defina el tipo de datos como una cadena.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-19

5.

6.

8.

42813

9.

10.

5. Introduzca un nombre de tag para almacenar los caracteres de control y delimitador para la cadena. Defina el tipo de datos como una cadena. 6. Haga doble clic en el rea de valor del origen A.

42615

7. Escriba el carcter de control y el delimitador y seleccione Aceptar. Para un carcter de control, escriba el cdigo hexadecimal del carcter. Para obtener una lista de cdigos hexadecimales, vea la contraportada de este manual. 8. Introduzca el tag que almacena la representacin ASCII del primer valor. (El tag del paso 4.) 9. Introduzca 2. Esto coloca el valor despus del primer carcter (carcter de control) en el origen A. 10. Introduzca un nombre de tag para almacenar la cadena parcialmente completada. Defina el tipo de datos como una cadena.

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-20

Procesamiento de caracteres ASCII

11.

12.

13.

14.

42813

15.

11. Introduzca el tag DINT que contiene el segundo valor para la cadena. 12. Introduzca un nombre de tag para almacenar la representacin ASCII del valor. Defina el tipo de datos como una cadena. 13. Introduzca el tag que almacena la cadena parcialmente completada. (El tag del paso 10.) 14. Introduzca el tag que almacena la representacin ASCII del segundo valor. (El tag del paso 12.) 15. Introduzca un nombre de tag para almacenar la cadena completada. Defina el tipo de datos como una cadena.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Procesamiento de caracteres ASCII

17-21

EJEMPLO

Para activar un mensaje en un terminal MessageView, el controlador enva al terminal un mensaje en el siguiente formato: [Ctrl-T] mensaje # \ direccin [CR] Cuando send_msg est activado, el rengln hace lo siguiente: La primera instruccin DTOS convierte el nmero del mensaje a caracteres ASCII. La instruccin INSERT inserta el nmero de mensaje (en ASCII) despus del carcter de control [Ctrl-T]. (El cdigo hexadecimal de Ctrl-T es $14.) La segunda instruccin DTOS convierte el nmero de nodo del terminal a caracteres ASCII. La instruccin CONCATENAR coloca el nmero de nodo (en ASCII) despus del signo diagonal inverso [ \ ] y almacena la cadena final en msg. Para enviar el mensaje, una instruccin AWA enva el tag msg y anexa el retorno de carro [CR].

42813

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-22

Procesamiento de caracteres ASCII

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

18

Forzado de elementos lgicos

Cundo usar este procedimiento

Use un forzado para anular datos que la lgica usa o produce. Por ejemplo, use forzados en las siguientes situaciones: probar y depurar la lgica revisar el cableado a un dispositivo de salida mantener funcionando temporalmente el proceso cuando un dispositivo de entrada tuvo un fallo Use los forzados slo como una medida temporal. No se han diseado para ser parte permanente de la aplicacin.

Cmo usar este procedimiento


Si desea: revisar las precauciones que debe tomar al aadir, cambiar, extraer o inhabilitar forzados determinar el estado actual de los forzados en el proyecto determinar el tipo de elemento que va a forzar en el proyecto Vea: Precauciones en la pgina 18-2 Verificacin del estado de forzados en la pgina 18-4 Qu elementos forzar en la pgina 18-6

revisar informacin general acerca de los forzados de E/S, que incluya los elementos que se Cundo usar un forzado de E/S en la pueden forzar y cmo un forzado de E/S afecta el proyecto pgina 18-6 forzar un valor de E/S revisar informacin general acerca de cmo avanzar un paso en una transicin o una ruta simultnea avanzar un paso en una transicin activa avanzar un paso en una ruta simultnea forzada a falso revisar informacin general acerca de forzados de SFC, que incluya los elementos que pueden forzarse y cmo los forzados afectan la ejecucin del SFC forzar una transicin o ruta simultnea adentro de un SFC detener los efectos de un forzado Adicin de un forzado de E/S en la pgina 18-8 Cundo usar la opcin Step Through en la pgina 18-9 Funcin Step Through en una transicin o forzado de una ruta en la pgina 18-9 Cundo usar un forzado de SFC en la pgina 18-9 Adicin de un forzado de SFC en la pgina 18-12 Eliminacin o inhabilitacin de forzados en la pgina 18-13

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-2

Forzado de elementos lgicos

Precauciones
ATENCIN

Al usar forzados, observe las siguientes precauciones:

Un forzado puede causar un movimiento inesperado de la mquina, lo cual puede causar lesiones personales. Antes de usar un forzado, determine cmo el forzado afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina. La habilitacin de forzados de E/S causa que cambien los valores de entrada, salida, producidos o consumidos. La habilitacin de forzados de SFC causa que la mquina o proceso pase a un estado o fase diferente. Cuando se eliminan los forzados pueden quedar forzados en estado habilitado. Si hay forzados habilitados y usted instala un forzado, el nuevo forzado se hace efectivo inmediatamente.

Habilitacin de forzados
Para que un forzado se haga efectivo, usted tiene que habilitar los forzados. Slo se pueden habilitar e inhabilitar los forzados a nivel de controlador. Es posible habilitar forzados de E/S y forzados de SFC separadamente o simultneamente. No es posible habilitar ni inhabilitar forzados para un mdulo, conjunto de tags o elemento de tag especficos.

IMPORTANTE

Si descarga un proyecto que tiene forzados habilitados, el software de programacin le indicar que habilite o inhabilite los forzados despus que haya concluido la descarga.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-3

Cuando los forzados estn efectivos (habilitados), aparece elemento forzado.

junto al

los forzados estn efectivos (habilitados) estado al cual se fuerza el elemento

Inhabilitacin o eliminacin de un forzado


Para detener el efecto de un forzado y dejar que el proyecto se ejecute segn lo programado, inhabilite o elimine el forzado. Es posible inhabilitar forzados de E/S y de SFC simultneamente o separadamente. Al eliminarse un forzado en un tag alias tambin se elimina el forzado en el tag base.

ATENCIN

Los cambios en los forzados pueden causar un movimiento inesperado de la mquina, lo cual puede causar lesiones personales. Antes de inhabilitar o eliminar forzados, determine cmo el cambio afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina.

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-4

Forzado de elementos lgicos

Verificacin del estado de forzados

Antes de usar un forzado, determine el estado de los forzados para el controlador. El estado de los forzados se puede verificar de las siguientes maneras:
Para determinar el estado de: forzados de E/S Use cualquiera de los siguientes: Barra de herramientas Online Indicador LED FORCE Instruccin GSV forzados de SFC Barra de herramientas Online

Barra de herramientas Online


La barra de herramientas Online muestra el estado de los forzados. Muestra el estado de los forzados de E/S y los forzados de SFC por separado.

Ficha Forces

Lo siguiente: Enabled

Significa: Si el proyecto contiene forzados de este tipo, stos estn anulando la lgica. Si usted aade un forzado de este tipo, el nuevo forzado se hace efectivo inmediatamente. Los forzados de este tipo estn inactivos. Si el proyecto contiene forzados de este tipo, stos no estn anulando la lgica. Por lo menos un forzado de este tipo existe en el proyecto. No existen forzados de este tipo en el proyecto.

Disabled

Installed None Installed

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-5

Indicador LED FORCE


Si el controlador tiene un indicador LED FORCE, use el indicador LED para determinar el estado de los forzados de E/S.
IMPORTANTE El indicador LED FORCE muestra slo el estado de los forzados de E/S. No muestra el estado de los forzados de SFC.
Entonces: No hay tags que tengan valores forzados. Los forzados de E/S estn inactivos (inhabilitados). Por lo menos un tag contiene un valor forzado. Los forzados de E/S estn inactivos (inhabilitados). Los forzados de E/S estn activos (habilitados). Los valores forzados pueden o no existir.

Si el indicador LED FORCE est: apagado parpadeando fijo

Instruccin GSV
IMPORTANTE El atributo ForceStatus muestra slo el estado de los forzados de E/S. No muestra el estado de los forzados de SFC.

El siguiente ejemplo muestra cmo usar una instruccin GSV para obtener el estado de los forzados.

donde: Force_Status es un tag DINT.


Para determinar si: los forzados estn instalados no hay forzados instalados los forzados estn habilitados los forzados estn inhabilitados Examine este bit: 0 0 1 1 Para verificar la existencia de este valor: 1 0 1 0

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-6

Forzado de elementos lgicos

Qu elementos forzar
Si desea:

Se pueden forzar los siguientes elementos del proyecto:


Entonces: Adicin de un forzado de E/S Funcin Step Through en una transicin o forzado de una ruta Adicin de un forzado de SFC

anular un valor de entrada, un valor de salida, un tag producido o un tag consumido anular las condiciones de una transicin una vez para ir de un paso activo al siguiente paso anular una vez el forzado de una ruta simultnea y ejecutar los pasos de la ruta anular las condiciones de una transicin en un diagrama de funciones secuenciales ejecutar algunas pero no todas las rutas de una bifurcacin simultnea de un diagrama de funciones secuenciales

Cundo usar un forzado de E/S

Use un forzado de E/S para realizar lo siguiente: anular un valor de entrada desde otro controlador (por ej., un tag consumido) anular un valor de entrada desde un dispositivo de entrada anular la lgica y especificar un valor de salida para otro controlador (por ej., un tag producido) anular la lgica y especificar el estado de un dispositivo de salida

IMPORTANTE

El forzado aumenta el tiempo de ejecucin de la lgica. A ms valores forzados, ms tiempo se requiere para ejecutar la lgica.

IMPORTANTE

Los forzados de E/S son retenidos por el controlador y no por la estacin de trabajo de programacin. Los forzados permanecen igual si se desconecta la estacin de trabajo de programacin.

Cuando usted fuerza un valor de E/S: Puede forzar todos los datos de E/S, excepto los datos de configuracin. Si el tag es una matriz o una estructura, tal como un tag de E/S, fuerce un elemento o miembro BOOL, SINT, INT, DINT o REAL. Si el dato es un valor SINT, INT o DINT, puede forzar todo el valor o puede forzar bits individuales dentro del valor. Los bits individuales pueden tener uno de los siguientes estados de forzado: sin forzado forzado activado forzado desactivado

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-7

Tambin puede forzar un alias de un miembro de estructura de E/S, de un tag producido o de un tag consumido. Un tag alias comparte el mismo valor de dato que su tag base, por lo tanto al forzar un tag alias tambin se fuerza al tag base asociado. Al eliminarse un forzado de un tag alias tambin se elimina el forzado del tag base asociado.

Forzado de un valor de entrada


El forzar una entrada o tag consumido: anula el valor independientemente del valor del dispositivo fsico o tag producido no afecta el valor recibido por otros controladores que monitorean esa entrada o tag producido

Forzado de un valor de salida


El forzar una salida o un tag producido anula la lgica para el dispositivo fsico u otro(s) controlador(es). Otros controladores que monitorean ese mdulo de salida en capacidad de slo recepcin vern tambin el valor forzado.

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-8

Forzado de elementos lgicos

Adicin de un forzado de E/S


ATENCIN

Para anular un valor de entrada, un valor de salida, un tag producido o un tag consumido, use un forzado de E/S:

Un forzado puede causar un movimiento inesperado de la mquina, lo cual puede causar lesiones personales. Antes de usar un forzado, determine cmo el forzado afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina. La habilitacin de forzados de E/S causa que cambien los valores de entrada, salida, producidos o consumidos. Si hay forzados habilitados y usted instala un forzado, el nuevo forzado se hace efectivo inmediatamente. 1. Cul es el estado del indicador de forzados de E/S?
Si: apagado parpadeando Entonces, tome nota de lo siguiente: Actualmente no existen forzados de E/S. No hay forzados de E/S activos. Pero existe por lo menos un forzado en el proyecto. Cuando usted habilita los forzados de E/S, todos los forzados de E/S existentes tambin se hacen efectivos. Los forzados de E/S estn habilitados (activos). Cuando usted instala (aade) un forzado, ste se hace efectivo inmediatamente.

fijo

2. Abra la rutina que contiene el tag que desea forzar. 3. Haga clic con el botn derecho del mouse en el tag y seleccione Monitor Si es necesario, expanda el tag para mostrar el valor que desea forzar (por ej., el valor BOOL de un tag DINT). 4. Instale el valor forzado:
Para forzar un: valor BOOL valor que no es BOOL Haga lo siguiente: Haga clic con el botn derecho del mouse en el tag y seleccione Force ON o Force OFF. En la columna Force Mask para el tag, escriba el valor al cual desea forzar el tag. Luego presione la tecla Enter.

5. Estn habilitados los forzados de E/S? (Vea el paso 1).


Si: no s Entonces: En el men Logic, seleccione I/O Forcing Enable All I/O Forces. Luego seleccione Yes para confirmar. Detngase.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-9

Cundo usar la opcin Step Through

Para anular una transicin falsa una vez y ir de un paso activo al siguiente paso, use la opcin Step Through. Con la opcin Step Through: Usted no tiene que aadir, habilitar, inhabilitar o eliminar forzados. La prxima vez que el SFC llegue a la transicin, se ejecutar segn las condiciones de la transicin. Esta opcin tambin le permite anular una vez el forzado falso de una ruta simultnea. Cuando usted avanza un paso a travs del forzado, el SFC ejecuta los pasos de la ruta.

Funcin Step Through en una transicin o forzado de una ruta

Para avanzar un paso en la transicin de un paso activo o un forzado de una ruta simultnea: 1. Abra la rutina SFC. 2. haga clic con el botn derecho del mouse en la transicin o en la ruta forzada y seleccione Step Through.

Cundo usar un forzado de SFC

Para anular la lgica de un SFC, existen las siguientes opciones:


Si desea: anular las condiciones de una transicin cada vez que el SFC llegue a la transicin evitar la ejecucin de una o ms rutas de una bifurcacin simultnea Entonces: Forzado de una transicin Forzado de una ruta simultnea

Forzado de una transicin


Para anular las condiciones de una transicin a travs de ejecuciones repetidas de un SFC, fuerce la transicin. El forzado permanecer hasta que usted lo elimine o hasta que inhabilite los forzados.
Si desea: evitar que el SFC vaya al siguiente paso que el SFC vaya al siguiente paso independientemente de las condiciones de la transicin Entonces: fuerce la transicin a falso fuerce la transicin a verdadero

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-10

Forzado de elementos lgicos

Si usted fuerza a falso una transicin dentro de una bifurcacin simultnea, el SFC permanecer en la bifurcacin simultnea, siempre que el forzado est activo (instalado y habilitado). Para salir de una bifurcacin simultnea, el ltimo paso de cada ruta debe ejecutarse por lo menos una vez y la transicin debajo de la bifurcacin debe ser verdadera. Al forzar una transicin a falso se evita que el SFC llegue al ltimo paso de una ruta. Cuando se elimina o inhabilita el forzado, el SFC puede ejecutar el resto de los pasos en la ruta.

Por ejemplo, para salir de esta bifurcacin, el SFC debe: ejecutar Step_011 por lo menos una vez pasar Tran_011 y ejecutar Step_012 por lo menos una vez determinar que Tran_012 es verdadera

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-11

Forzado de una ruta simultnea


Para evitar la ejecucin de una ruta de una bifurcacin simultnea, fuerce la ruta a falso. Cuando el SFC llegue a la bifurcacin, ejecutar slo las rutas no forzadas.

Esta ruta se ejecuta.

Esta ruta no se ejecuta.

Si usted fuerza a falso una ruta de una bifurcacin simultnea, el SFC permanecer en la bifurcacin simultnea, siempre que el forzado est activo (instalado y habilitado). Para salir de una bifurcacin simultnea, el ltimo paso de cada ruta debe ejecutarse por lo menos una vez y la transicin debajo de la bifurcacin debe ser verdadera. El forzar una ruta a falso evita que el SFC entre a una ruta y ejecute sus pasos. Cuando se elimina o inhabilita el forzado, el SFC puede ejecutar los pasos en la ruta.

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-12

Forzado de elementos lgicos

Adicin de un forzado de SFC


ATENCIN

Para anular la lgica de un SFC, use un forzado de SFC:

Un forzado puede causar un movimiento inesperado de la mquina, lo cual puede causar lesiones personales. Antes de usar un forzado, determine cmo el forzado afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina. La habilitacin de forzados de SFC causa que la mquina o proceso pase a un estado o fase diferente. Si hay forzados habilitados y usted instala un forzado, el nuevo forzado se hace efectivo inmediatamente. 1. Cul es el estado del indicador de forzados de SFC?
Si: apagado parpadeando Entonces, tome nota de lo siguiente: Actualmente no existen forzados de SFC. No hay forzados de SFC activos. Pero existe por lo menos un forzado en el proyecto. Cuando usted habilita los forzados de SFC, todos los forzados de SFC existentes tambin se hacen efectivos. Los forzados de SFC estn habilitados (activos). Cuando usted instala (aade) un forzado, ste se hace efectivo inmediatamente.

fijo

2. Abra la rutina SFC. 3. Haga clic con el botn derecho del mouse en la transicin o inicio de una ruta simultnea que usted desee forzar, y seleccione ya sea Force TRUE (slo para una transicin) o Force FALSE. 4. Estn habilitados los forzados de SFC? (Vea el paso 1).
Si: no s Entonces: En el men Logic, seleccione SFC Forcing Enable All SFC Forces. Luego seleccione Yes para confirmar. Detngase.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-13

Eliminacin o inhabilitacin de forzados


ATENCIN Los cambios en los forzados pueden causar un movimiento inesperado de la mquina, lo cual puede causar lesiones personales. Antes de inhabilitar o eliminar forzados, determine cmo el cambio afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina.

!
Si desea: detener un forzado individual detener todos los forzados de E/S y SFC detener todos los forzados de E/S pero dejar todos los forzados de SFC activos detener todos los forzados de SFC pero dejar todos los forzados de E/S activos

Y: dejar otros forzados habilitados y efectivos dejar los forzados en el proyecto eliminar los forzados del proyecto dejar los forzados de E/S en el proyecto eliminar los forzados de E/S del proyecto dejar los forzados de SFC en el proyecto eliminar los forzados de SFC del proyecto

Entonces: Eliminacin de un forzado individual Inhabilitacin de todos los forzados de E/S y SFC Eliminacin de todos los forzados de E/S y SFC Inhabilitacin de todos los forzados de E/S Eliminacin de todos los forzados de E/S Inhabilitacin de todos los forzados de SFC Eliminacin de todos los forzados de SFC

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-14

Forzado de elementos lgicos

Eliminacin de un forzado individual


Si usted elimina un forzado individual, los forzados permanecen en estado habilitado y cualquier nuevo forzado se har efectivo inmediatamente. Antes de eliminar un forzado, determine cmo el cambio afectar la mquina o el proceso, y mantenga al personal lejos del rea de la mquina. 1. Abra la rutina que contiene el forzado que desea eliminar. 2. Cul es el lenguaje de la rutina?
Si: SFC lgica de escalera bloque de funcin texto estructurado Entonces: Vaya al paso paso 4 Vaya al paso paso 4 Vaya al paso paso 3 Vaya al paso paso 3

ATENCIN

3. Haga clic con el botn derecho del mouse en el tag que tiene el forzado y seleccione Monitor Si es necesario, expanda el tag para mostrar el valor que desea forzar (por ej., el valor BOOL de un tag DINT). Si es necesario, expanda el tag para mostrar el valor forzado (por ej., el valor BOOL de un tag DINT). 4. Haga clic con el botn derecho del mouse en el tag o elemento que tiene el forzado y seleccione Remove Force.

Inhabilitacin de todos los forzados de E/S y SFC


1. En la barra de herramientas Online, haga clic en la ficha Forces. 2. En la ficha Forces, haga clic en w y seleccione Disable All Forces. Luego seleccione Yes para confirmar.

Eliminacin de todos los forzados de E/S y SFC


1. En la barra de herramientas Online, haga clic en la ficha Forces. 2. En la ficha Forces, haga clic en w y seleccione Remove All Forces. Luego seleccione Yes para confirmar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Forzado de elementos lgicos

18-15

Inhabilitacin de todos los forzados de E/S


En el men Logic, seleccione I/O Forcing Disable All I/O Forces. Luego seleccione Yes para confirmar.

Eliminacin de todos los forzados de E/S


En el men Logic, seleccione I/O Forcing Remove All I/O Forces. Luego seleccione Yes para confirmar.

Inhabilitacin de todos los forzados de SFC


En el men Logic, seleccione SFC Forcing Disable All SFC Forces. Luego seleccione Yes para confirmar.

Eliminacin de todos los forzados de SFC


En el men Logic, seleccione SFC Forcing Remove All SFC Forces. Luego seleccione Yes para confirmar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-16

Forzado de elementos lgicos

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

19

Desarrollo de una rutina de fallo

Cundo usar este procedimiento

Si ocurre una condicin de fallo que es suficientemente severa para que el controlador se desactive, el controlador genera un fallo mayor y detiene la ejecucin de la lgica. Dependiendo de la aplicacin, es posible que usted no desee que todos los fallos mayores desactiven todo el sistema. En esos casos, se puede usar una rutina de fallo para borrar un fallo especfico y permitir que por lo menos parte del sistema contine funcionando. EJEMPLO Use una rutina de fallo En un sistema que usa nmeros de receta como direcciones indirectas, un nmero mal introducido podra producir un fallo mayor, tal como el tipo 4, cdigo 20. Para evitar que todo el sistema se desactive, una rutina de fallo borra los fallos mayores tipo 4, cdigo 20.

Cmo usar este procedimiento

Para desarrollar una rutina de fallo: Crear el tipo de datos FAULTRECORD Creacin de una rutina de fallo Cmo borrar un fallo mayor Cmo borrar un fallo mayor durante el preescn Prueba de una rutina de fallo

Publicacin 1756-PM001E-ES-P - Agosto 2002

19-2

Desarrollo de una rutina de fallo

Crear el tipo de datos FAULTRECORD


Para crear un nuevo tipo de datos:

Cree el siguiente tipo de datos definido por el usuario. ste almacena informacin acerca del fallo.
Tipo de datos:FAULTRECORD
nombre descripcin Miembros nombre Time_Low Time_High tipo de datos DINT DINT INT INT DINT[8] estilo Decimal Decimal Decimal Decimal Hex descripcin los 32 bits ms bajos del valor de sello de hora del fallo los 32 bits ms altos del valor de sello de hora del fallo tipo de fallo (program, I/O, etc) cdigo nico del fallo informacin especfica del fallo FAULTRECORD Almacena el atributo MajorFaultRecord o el atributo MinorFaultRecord del objeto PROGRAM.

+ Controlador Your_Project + Tareas + Motion Groups


Tendencias

Data Types
definido por el usuario

Haga clic con el botn derecho del mouse y seleccione Nuevo Data Type.

Tipo Cdigo: Info

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de fallo

19-3

Creacin de una rutina de fallo

Una rutina de fallo le permite usar la lgica de escalera para borrar fallos especficos a fin de que el controlador contine la ejecucin. El lugar donde se coloca la rutina depende del tipo de fallo que desea borrar.

En el caso de un Haga lo siguiente: fallo debido a: ejecucin de una instruccin Cree una rutina de fallo a un programa: A. En el Organizador de controlador, haga clic con el botn derecho del mouse en name_of_program y seleccione Nueva routina. B. En el cuadro Nombre, escriba un nombre para la rutina de fallo (name_of_fault_routine ). C. De la lista desplegable Tipo, seleccione Escalera. D. Haga clic en Aceptar. E. Haga clic con el botn derecho del mouse en name_of_program y seleccione Propiedades. F. Haga clic en la ficha Configuracin. G. De la lista desplegable Fallo, seleccione name_of_fault_routine. H. Haga clic en Aceptar. Cree un programa y una rutina principal para el Administrador de fallos del controlador: A. En el Organizador del Controlador, haga clic con el botn derecho del mouse en Administrador de fallos del controlador y seleccione Nuevo programa. B. Tipo: name_of_program descripcin (opcional) C. Haga clic en Aceptar. D. Haga clic en el signo + ubicado junto al Administrador de fallos del controlador. E. Haga clic con el botn derecho del mouse en name_of_program y seleccione Nueva routina. F. Tipo: name_of_routine descripcin (opcional) G. De la lista desplegable Tipo, seleccione el lenguaje de programacin para la rutina. H. Haga clic en Aceptar. I. Haga clic con el botn derecho del mouse en name_of_program y seleccione Propiedades. J. Haga clic en la ficha Configuracin. K. De la lista desplegable Principal, seleccione name_of_routine L. Haga clic en Aceptar.

corte de energa E/S watchdog de tarea cambio de modo movimiento de eje

Publicacin 1756-PM001E-ES-P - Agosto 2002

19-4

Desarrollo de una rutina de fallo

Cmo borrar un fallo mayor

Para borrar un fallo mayor que ocurre durante la ejecucin del proyecto, introduzca la siguiente lgica en la rutina de fallo apropiada. (Vea Creacin de una rutina de fallo en la pgina 19-3.) Obtener el tipo y cdigo del fallo Verificacin de un fallo menor Borrar el fallo

Obtener el tipo y cdigo de fallo

1. 2.
42372

1. La instruccin GSV permite acceso al atributo MAJORFAULTRECORD de este programa. Este atributo almacena informacin acerca del fallo. 2. La informacin GSV almacena la informacin de fallo en el tag major_fault_record. Cuando introduzca un tag basado en una estructura, introduzca el primer miembro del tag.
Nombre de tag major_fault_record Tipo FAULTRECORD

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de fallo

19-5

Verificacin de un fallo menor


1. 2.

42372

3.

4.

1. Esta instruccin EQU verifica un tipo de fallo especfico, tal como Program, I/O. En el Origen B, introduzca el valor para el tipo de fallo que desea borrar. 2. Esta instruccin EQU verifica un cdigo de fallo especfico. En el Origen B, introduzca el valor para el cdigo que desea borrar. 3. Esta instruccin CLR establece en cero el valor del tipo de fallo en el tag major_fault_record. 4. Esta instruccin CLR establece en cero el valor del cdigo de fallo en el tag major_fault_record.

Borrar el fallo

1. 2.
42372

1. La instruccin SSV escribe nuevos valores en el atributo MAJORFAULTRECORD de este programa. 2. La instruccin SSV escribe los valores contenidos en el tag major_fault_record. Puesto que los miembros Type y Code se establecen en cero, el fallo se borra y el controlador contina con la ejecucin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

19-6

Desarrollo de una rutina de fallo

Cmo borrar un fallo mayor durante el preescn

Si el controlador entra en fallo inmediatamente despus de cambiar al modo Marcha, entonces examine la operacin preescn para determinar el fallo. Por ejemplo, el preescn examina direcciones indirectas (un tag sirve como puntero de un elemento dentro de una matriz). Si una direccin indirecta se inicializa durante el tiempo de ejecucin, es posible que sea muy grande para la matriz durante el preescn. Si el controlador encuentra una direccin indirecta fuera de rango durante el preescn, ocurrir un fallo mayor. Para dejar que el controlador complete el preescn, use la rutina de fallo del programa para capturar y borrar el fallo. Para borrar un fallo mayor que ocurre durante el preescn: Identificar cuando el controlador est en preescn Obtener el tipo y cdigo del fallo Verificacin de un fallo especfico Borrar el fallo

Identificar cuando el controlador est en preescn


En la rutina principal del programa, introduzca el rengln siguiente:

1.

1.

43063

1. Introduzca este rengln como primer rengln de la rutina principal del programa. 2. La rutina de fallo de este programa usa el estado de este bit para determinar si el fallo ocurri durante el preescn o el escn normal de la lgica. Durante el preescn, este bit est desactivado. (Durante el preescn, el controlador restablece todos los bits a los que hacen referencia las instrucciones OTE). Una vez que el controlador comienza a ejecutar la lgica, este bit siempre permanece activado.
Nombre de tag CPU_scanning Tipo BOOL

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de fallo

19-7

Obtener el tipo y cdigo del fallo


Introduzca este rengln en la rutina de fallo del programa:

1. 2.
43064

1. La instruccin GSV tiene acceso al atributo MAJORFAULTRECORD de este programa. Este atributo almacena informacin acerca del fallo. 2. La instruccin GSV almacena la informacin de fallo en el tag major_fault_record. Cuando introduzca un tag basado en una estructura, introduzca el primer miembro del tag.
Nombre de tag major_fault_record Tipo FAULTRECORD

Publicacin 1756-PM001E-ES-P - Agosto 2002

19-8

Desarrollo de una rutina de fallo

Verificacin de un fallo especfico


Introduzca este rengln en la rutina de fallo del programa:
1. 2. 3.

43064

4.

5.

1. Durante el preescn, los bits de todas las instrucciones OTE se desactivan y esta instruccin es verdadera. Una vez que el controlador comienza a ejecutar la lgica, esta instruccin siempre es falsa. 2. Esta instruccin EQU verifica un fallo de tipo 4, lo cual significa que una instruccin en este programa caus el fallo. 3. Esta instruccin EQU verifica un fallo de cdigo 20, lo cual significa que un subndice de matriz es demasiado grande o un valor POS o LEN de una estructura de control no es vlido. 4. Esta instruccin CLR establece en cero el valor del tipo de fallo en el tag major_fault_record. 5. Esta instruccin CLR establece en cero el valor del cdigo de fallo en el tag major_fault_record.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de fallo

19-9

Borrar el fallo
Introduzca este rengln en la rutina de fallo del programa:
1.

2. 3.
43064

1. Durante el preescn, los bits de todas las instrucciones OTE estn desactivados y esta instruccin es verdadera. Una vez que el controlador comienza a ejecutar la lgica, esta instruccin siempre es falsa. 2. La instruccin SSV escribe nuevos valores al atributo MAJORFAULTRECORD de este programa. 3. La instruccin SSV escribe los valores contenidos en el tag major_fault_record. Puesto que los miembros Type y Code se establecen en cero, el fallo se borra y el controlador contina con la ejecucin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

19-10

Desarrollo de una rutina de fallo

Prueba de una rutina de fallo

Usted puede usar una instruccin para probar la rutina de fallo de un programa sin crear un error (es decir, simular un fallo): 1. Cree un tag BOOL que usar para inicializar el fallo. 2. En la rutina principal o en una subrutina del programa, introduzca el siguiente rengln:

donde: aaa bbb

es el: tag que usar para inicializar el fallo (paso 1.) la rutina de fallo del programa

3. Para simular un fallo, establezca la condicin de entrada.

EJEMPLO

Probar una rutina de fallo

Cuando est activado test_fault_routine, ocurre un fallo mayor y el controlador ejecuta Fault_Routine.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

20

Creacin de un fallo mayor definido por el usuario

Cundo usar este procedimiento

Si desea suspender (desactivar) el controlador segn condiciones especficas de la aplicacin, cree un fallo mayor definido por el usuario. Con un fallo mayor definido por el usuario: Usted define un valor para el cdigo de fallo. El controlador maneja el fallo de la misma manera que otros fallos mayores: El controlador cambia al modo con fallo (fallo mayor) y detiene la ejecucin de la lgica de escalera. Las salidas se establecen en su estado configurado o valor para el modo con fallo.

EJEMPLO

Fallo mayor definido por el usuario Cuando input_value es mayor que 80, producir un fallo mayor y generar un cdigo de fallo de 999.

Creacin de un fallo mayor definido por el usuario

1. Existe ya una rutina de fallo para el programa?


Si: S No Entonces: Vaya al paso 2. Cree una rutina de fallo a un programa: A. En el Organizador de controlador, haga clic con el botn derecho del mouse en name_of_program y seleccione Nueva routina. B. En el cuadro Nombre, escriba un nombre para la rutina de fallo (name_of_fault_routine). C. De la lista desplegable Tipo, seleccione Escalera. D. Haga clic en Aceptar. E. Haga clic con el botn derecho del mouse en name_of_program y seleccione Propiedades. F. Haga clic en la ficha Configuracin. G. De la lista desplegable Fallo, seleccione name_of_fault_routine. H. Haga clic en Aceptar. I. Haga doble clic en name_of_fault_routine. J. Introduzca una instruccin NOP (de manera que la rutina verifique sin errores).

Publicacin 1756-PM001E-ES-P - Agosto 2002

20-2

Creacin de un fallo mayor definido por el usuario

2. En la rutina principal del programa, introduzca el rengln siguiente:


JSR Jump to Subroutine Routine name name_of_fault_routine Input par x
42373

las condiciones bajo las cuales debe desactivarse el controlador

donde: name_of_fault_routine x

representa: rutina del paso 1. valor para el cdigo de fallo

EJEMPLO

Creacin de un fallo mayor definido por el usuario

Cuando input_value es mayor o igual que 80, la ejecucin salta a name_of_fault_routine. Se produce un fallo mayor y el controlador entra al modo de fallo. Las salidas van al estado fallo. El cuadro de dilogo Propiedades del controller, ficha Major Fault, muestra el cdigo 999.
GEQ Grtr Than or Eql (A>=B) Source A input_value 0 Source B 80 JSR Jump to Subroutine Routine name name_of_fault_routine Input par 999

42373

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

21

Monitorizacin de fallos menores

Cundo usar este procedimiento

Si ocurre una condicin de fallo que no es suficientemente severa para que el controlador se desactive, el controlador genera un fallo menor. El controlador contina ejecutndose. No es necesario borrar un fallo menor. Para optimizar el tiempo de ejecucin y asegurar la precisin del programa, usted debe monitorizar y corregir los fallos menores.

Monitorizacin de fallos menores


Para verificar lo siguiente: superposicin de tareas peridicas carga desde la memoria no voltil problema con el puerto en serie batera baja problema con una instruccin

Para usar la lgica de escalera para obtener informacin respecto a un fallo menor:

Haga lo siguiente: 1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits. 2. Monitorice el bit 6. 1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits. 2. Monitorice el bit 7. 1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits. 2. Monitorice el bit 9. 1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits. 2. Monitorice el bit 10. 1. Cree un tipo de datos definido por el usuario que almacenar la informacin de fallo. Asigne el nombre FaultRecord al tipo de datos y asigne los miembros siguientes: Nombre: TimeLow TimeHigh Tipo Cdigo: Info Tipo de datos: DINT DINT INT INT DINT[8] Estilo: Decimal Decimal Decimal Decimal Hex

2. Cree un tag que almacenar los valores del atributo MinorFaultRecord. Seleccione el tipo de datos del paso 1. 3. Monitorice S:MINOR. 4. Si S:MINOR est activado, use una instruccin GSV para obtener los valores del atributo MinorFaultRecord. 5. Si desea detectar un fallo menor causado por otra instruccin, restablezca S:MINOR. (S:MINOR permanece establecido hasta el final del escn).

El siguiente ejemplo verifica un aviso de batera baja.

Publicacin 1756-PM001E-ES-P - Agosto 2002

21-2

Monitorizacin de fallos menores

EJEMPLO

Verificacin de un fallo menor

Minor_fault_check tiene una temporizacin de 1 minuto (60000 ms) y luego se reinicia automticamente.

Cada minuto, minor_fault_check.DN se activa para un escn. Cuando esto ocurre, la instruccin GSV obtiene el valor del objeto FAULTLOG, atributo MinorFaultBits, y lo almacena en el tag minor_fault_bits. Puesto que la instruccin GSV slo se ejecuta una vez cada minuto, se reduce el tiempo de la mayora de escanes.

Si minor_fault_bits.10 est activado, entonces la batera est baja.

42373

Publicacin 1756-PM001E-ES-P - Agosto 2002

Monitorizacin de fallos menores

21-3

El siguiente ejemplo verifica un fallo menor causado por una instruccin especfica. Verificacin de un fallo menor causado por una instruccin.

EJEMPLO

Multiplica value_a por 1000000 y verifica un fallo menor, tal como un desbordamiento matemtico: Para asegurarse que una instruccin previa no produjo el fallo, el rengln primero restablece S:MINOR. Luego el rengln ejecuta la instruccin multiplicar. Si la instruccin produce un fallo menor, el controlador establece S:MINOR. Si se establece S:MINOR, la instruccin GSV obtiene informacin acerca del fallo y restablece S:MINOR.

42373

Publicacin 1756-PM001E-ES-P - Agosto 2002

21-4

Monitorizacin de fallos menores

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

22

Desarrollo de una rutina de inicializacion

Cundo usar este procedimiento

El administrador de encendido es una tarea opcional que se ejecuta cuando el controlador se enciende en el modo Marcha.

42195

Use el administrador de encendido cuando desee realizar cualquiera de las siguientes actividades despus de una prdida de alimentacin elctrica y su respectiva restauracin: Evitar que el controlador regrese al modo Marcha. El Administrador de encendido producir un fallo mayor, tipo 1, cdigo 1, y el controlador entrar al modo de fallo. Realizar acciones especficas y luego continuar con la ejecucin normal de la lgica.

Desarrollo de una rutina de inicializacion

Los pasos para desarrollar una rutina de inicializacion son similares a los pasos para desarrollar una rutina de fallo: 1. Cree una estructura definida por el usuario que almacenar la informacin de fallo. Asigne el nombre FaultRecord al tipo de datos y asigne los miembros siguientes:
Nombre: TimeLow TimeHigh Tipo Cdigo Info Tipo de datos: DINT DINT INT INT DINT[8] Estilo: Decimal Decimal Decimal Decimal Hex

2. Cree un tag que almacenar la informacin de fallo. Seleccione el tipo de datos FaultRecord.

Publicacin 1756-PM001E-ES-P - Agosto 2002

22-2

Desarrollo de una rutina de inicializacion

3. Cree un programa para el Administrador de encendido:


Accin: 1. Crear un programa. Pasos detallados: A. En el Organizador del controlador, haga clic con el botn derecho del mouse en Administrador de encendido y seleccione Nuevo programa. B. Tipo: name_of_program descripcin (opcional) C. Haga clic en Aceptar. A. Haga clic en el signo + ubicado junto al Administrador de encendido. B. Haga clic con el botn derecho del mouse en name_of_program y seleccione Nueva routina. C. Tipo: name_of_main_routine descripcin (opcional) D. De la lista desplegable Tipo, seleccione el lenguaje de programacin para la rutina. E. Haga clic en Aceptar. F. Haga clic con el botn derecho del mouse en name_of_program y seleccione Propiedades. G. Haga clic en la ficha Configuracin. H. De la lista desplegable Principal, seleccione name_of_main_routine. I. Haga clic en Aceptar. J. Para aadir rutinas adicionales (subrutinas) al programa, repita los pasos B. a E.

2. Crear y asignar una rutina principal (la rutina que se ejecuta primero en el programa).

3. Cmo desea manejar una prdida de alimentacin elctrica?


Para: Evitar que el controlador regrese al modo Marcha. Haga lo siguiente: Ya termin. Cuando se restaure la alimentacin elctrica, ocurrir un fallo mayor, tipo 1, cdigo 1, y el controlador entrar al modo con fallo. A. Abra (haga doble clic) name_of_routine. B. Introduzca la lgica para las acciones.

Realizar acciones especficas cuando se restaure la alimentacin elctrica y luego continuar con la operacin normal

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de inicializacion

22-3

4. Introduzca la siguiente lgica para borrar el fallo: Obtiene informacin de fallo y la almacena en el tag major_fault (estructura definida por el usuario)
GSV Get system value CIP Object class PROGRAM CIP Object name THIS Attribute name MAJORFAULTRECORD Dest major_fault.TimeLow 0

Establece el tipo y cdigo de fallo en el tag major_fault a cero y establece MAJORFAULTRECORD en los nuevos valores, lo cual borra el fallo.
MOV Move Source 0 Move Source MOV 0 SSV Set system value CIP Object class PROGRAM CIP Object name THIS Attribute name MAJORFAULTRECORD Source major_fault.TimeLow 0
42375

Dest major_fault.Type 0

Dest major_fault.Code 0

donde: major_fault es el tag del paso 2.

Publicacin 1756-PM001E-ES-P - Agosto 2002

22-4

Desarrollo de una rutina de inicializacion

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

23

Almacenamiento y carga de un proyecto usando la memoria no voltil

Cundo usar este procedimiento


IMPORTANTE

La memoria no voltil almacena el contenido de la memoria de usuario al momento que usted almacena el proyecto. Los cambios hechos despus de almacenar el proyecto no se reflejan en la memoria no voltil. Si cambia el proyecto pero no guarda los cambios, los sobrescribir cuando cargue el proyecto desde la memoria no voltil. Si esto ocurre, tendr que cargar o descargar el proyecto para ir en lnea. Si desea almacenar cambios tales como ediciones en lnea, valores de tag o un programa de la red ControlNet, guarde el proyecto nuevamente despus de hacer los cambios.

Use este procedimiento para almacenar o cargar un proyecto utilizando la memoria no voltil de un controlador. Si el controlador pierde alimentacin elctrica y no tiene suficiente capacidad de batera, perder el proyecto en la memoria de usuario. La memoria no voltil le permite mantener una copia de su proyecto en el controlador. El controlador no necesita alimentacin elctrica para mantener esta copia. Se puede cargar la copia de la memoria no voltil a la memoria de usuario del controlador: al momento del encendido cada vez que no hay un proyecto en el controlador y ste se enciende en cualquier momento mediante el software RSLogix 5000

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-2

Almacenamiento y carga de un proyecto usando la memoria no voltil

Una operacin de almacenamiento o carga tiene los siguientes parmetros:


Parmetro: Cunto tiempo requiere una operacin de almacenamiento o carga? En qu modo(s) del controlador puedo almacenar o cargar un proyecto? Puedo entrar en lnea con el controlador durante una operacin de almacenamiento o carga? Cul es el estado de la E/S durante una operacin de almacenamiento o carga? Almacenamiento: varios minutos modo programa no Carga: varios segundos

La E/S permanece en su estado configurado para el modo de programacin.

Dependiendo del controlador, una actualizacin de firmware puede o no borrar el proyecto almacenado en la memoria no voltil.
Si la memoria no voltil es: no extrable (no es una tarjeta CompactFlash) extrable (tarjeta CompactFlash) Entonces: Cuando usted actualiza el firmware del controlador se borra el contenido de la memoria no voltil (revisin 10.x o posterior). Cuando usted actualiza el firmware del controlador, el proyecto permanece en la memoria no voltil.

Cmo usar este procedimiento


Si desea: seleccionar un controlador que contenga la memoria no voltil revisar las precauciones que se deben observar al usar la tarjeta 1784-CF64 Industrial CompactFlash seleccionar cundo cargar un proyecto nuevamente al controlador almacenar un proyecto en la memoria no voltil del controlador sobrescribir el proyecto actual en el controlador con el proyecto que est almacenado en la memoria no voltil del controlador cargar el proyecto despus que una prdida de alimentacin borr la memoria porque no haba batera usar la lgica de escalera para indicar que el proyecto es cargado desde la memoria no voltil retirar un proyecto de la memoria no voltil del controlador Verificar una carga en la pgina 23-11 Borrar la memoria no voltil en la pgina 23-12 Vea: Seleccionar un controlador que tenga memoria no voltil en la pgina 23-3 Precauciones que se deben observar al usar la tarjeta 1784-CF64 Industrial CompactFlash en la pgina 23-4 Seleccionar cundo cargar una imagen en la pgina 23-5 Almacenar un proyecto en la pgina 23-5 Cargar un proyecto en la pgina 23-9

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-3

Seleccionar un controlador que tenga memoria no voltil

Los siguientes controladores Logix5000 tienen memoria no voltil para el almacenamiento de proyectos.
Tipo de controlador: CompactLogix5320 CompactLogix5330 ControlLogix5555 No. de catlogo: 1769-L20 1769-L30 1756-L55M22 1756-L55M23 1756-L55M24 ControlLogix5563 DriveLogix5720 FlexLogix5433 FlexLogix5434 Serie B
(1)

Revisin de firmware: 10.x o posterior 10.x o posterior 10.x o posterior 8.x o posterior 8.x o posterior 11.x o posterior 10.x o posterior 10.x o posterior 11.x o posterior

1756-L63(1) varios 1794-L33 1794-L34/B

Requiere una tarjeta de memoria 1784-CF64 Industrial CompactFlash.

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-4

Almacenamiento y carga de un proyecto usando la memoria no voltil

Precauciones que se deben observar al usar la tarjeta 1784-CF64 Industrial CompactFlash

Si est usando una tarjeta 1784-CF64 Industrial CompactFlash en su controlador, siga estas pautas: Una tarjeta CompactFlash almacena slo el proyecto RSLogix 5000. No almacena el firmware del controlador. Las revisiones mayor y menor del proyecto deben ser iguales a las revisiones mayor y menor del controlador. De lo contrario, ocurrir un fallo mayor cuando intente cargar el proyecto desde la tarjeta CompactFlash.

IMPORTANTE

Utilice slo un controlador Logix5000 para almacenar un proyecto en una tarjeta CompactFlash. La tarjeta CompactFlash requiere un formato especial. No utilice un lector CompactFlash para leer desde, o escribir a la tarjeta con una computadora. Slo guarde un proyecto Logix5000 y no guarde otros datos en una tarjeta CompactFlash. Cuando se guarda un proyecto en una tarjeta CompactFlash, se sobrescribe todo el contenido de la tarjeta. En otras palabras, se borra todo lo que actualmente est en la tarjeta. Antes de actualizar el firmware del controlador, realice cualquiera de las siguientes acciones: Extraiga la tarjeta CompactFlash del controlador. Verifique la opcin Load Image del proyecto que est actualmente en la memoria no voltil del controlador. Si est establecida en On Power Up o On Corrupt Memory, entonces guarde primero el proyecto con la opcin Load Image establecida en User Initiated. Si no realice una de las acciones indicadas anteriormente, es posible que ocurra un fallo mayor cuando actualice el firmware del controlador. Esto sucede porque las opciones On Power Up o On Corrupt Memory hacen que el controlador cargue el proyecto desde la memoria no voltil. Luego, la desigualdad de firmware despus de la carga causa un fallo mayor. Despus de actualizar el firmware del controlador, guarde el proyecto nuevamente en la memoria no voltil. Esto asegurar que la revisin del firmware del proyecto en la memoria no voltil sea igual a la revisin del firmware del controlador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-5

Seleccionar cundo cargar una imagen


Si desea cargarlo: cada vez que usted enciende o desconecta y vuelve a conectar la alimentacin elctrica al chasis

Existen varias opciones respecto a cundo (en qu condiciones) cargar el proyecto nuevamente en la memoria de usuario (RAM) del controlador:
Entonces seleccione: Al momento del encendido Notas: Durante un ciclo de la alimentacin elctrica, se perdern los cambios en lnea, los valores de tags y el programa de la red que no se hayan almacenado en la memoria no voltil. Siempre puede usarse el software RSLogix 5000 para cargar el proyecto.

cada vez que no hay un proyecto en el controlador y usted activa o desconecta y vuelve a conectar la alimentacin elctrica al chasis. slo mediante el software RSLogix 5000

Ante memoria corrupta

Siempre puede usarse el software RSLogix 5000 para cargar el proyecto.

Iniciado por el usuario

Almacenar un proyecto

En esta tarea, usted almacena un proyecto en la memoria no voltil del controlador. Esto sobrescribe todo el contenido de la memoria no voltil. Durante una operacin de almacenamiento, todos los servoejes activos se desactivan.Antes de almacenar un proyecto, asegrese de que esto no causar un movimiento inesperado de un eje.

ATENCIN

Antes de almacenar el proyecto: haga todas las ediciones requeridas de la lgica descargue el proyecto al controlador: Para guardar un proyecto: Configurar la operacin de guardar Guardar el proyecto Guardar el proyecto en lnea

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-6

Almacenamiento y carga de un proyecto usando la memoria no voltil

Configurar la operacin de guardar


1. Entre en lnea con el controlador. 2. Ponga el controlador en modo de programacin (programacin remota o programa).

3.
42627

3. En la barra de herramientas en lnea, haga clic en el botn Controller Properties. 4. Haga clic en la ficha Nonvolatile Memory.

5.

42865

5. Seleccione Load/Store.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-7

El proyecto que actualmente est en la memoria no voltil del controlador (si hay un proyecto all).

El proyecto que actualmente est en la memoria de usuario (RAM) del controlador.

6. 7. 8.

1.

6. Seleccione cundo (en qu condiciones) desea usted cargar el proyecto nuevamente a la memoria de usuario (RAM) del controlador. 7. En el paso 6, cul opcin de imagen de carga seleccion?
Si: Al momento del encendido Ante memoria corrupta Iniciado por el usuario Entonces: Seleccione el modo al que usted desea que vaya el controlador despus de una carga: programacin remota marcha remota Para ir a este modo despus de una carga, coloque el interruptor de llave del controlador en la posicin REM. Vaya al paso paso 8

8. Escriba una nota que describa el proyecto que est almacenando, si lo desea.

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-8

Almacenamiento y carga de un proyecto usando la memoria no voltil

Guardar el proyecto
1. Seleccione < Store. Un cuadro de dilogo le solicitar que confirme la operacin de almacenamiento. 2. Para almacenar el proyecto, seleccione Yes. Durante el almacenamiento ocurrirn los siguientes eventos. En la parte frontal del controlador, el indicador LED OK muestra la siguiente secuencia: verde parpadeante rojo verde El software RSLogix 5000 sale fuera de lnea. Un cuadro de dilogo le indica que la operacin de almacenamiento est en curso. 3. Seleccione OK. Cuando termina la operacin de almacenamiento, usted permanece fuera de lnea.

Guardar el proyecto en lnea


1. Entre en lnea con el controlador. 2. Guarde el proyecto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-9

Cargar un proyecto

En esta tarea, usted usa el software RSLogix 5000 para cargar el proyecto desde la memoria no voltil. Durante una operacin de carga, todos los servoejes activos se desactivan.Antes de cargar un proyecto, asegrese de que esto no causar un movimiento inesperado de un eje.

ATENCIN

!
Pasos:

1. Entre en lnea con el controlador. 2. Se abri el siguiente cuadro de dilogo?

42873

Si: No S

Entonces: Vaya al paso paso 3 Vaya al paso paso 5

3. Ponga el controlador en modo de programacin (programacin remota o programa).

4.
42627

4. En la barra de herramientas en lnea, haga clic en el botn Controller Properties. 5. Haga clic en la ficha Nonvolatile Memory.

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-10

Almacenamiento y carga de un proyecto usando la memoria no voltil

6.
42865

6. Seleccione Load/Store.
El proyecto que actualmente est en la memoria no voltil del controlador (si hay un proyecto all). El proyecto que actualmente est en la memoria de usuario (RAM) del controlador.

7.

7. Seleccione Load >. Un cuadro de dilogo le solicitar que confirme la operacin de carga. 8. Para cargar el proyecto desde la memoria no voltil, seleccione Yes.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-11

Durante la carga ocurrirn los siguientes eventos. En la parte frontal del controlador, el indicador LED OK muestra la siguiente secuencia: rojo verde El software RSLogix 5000 sale fuera de lnea. Cuando termina la operacin de carga, usted permanece fuera de lnea. Si desea entrar en lnea, debe hacerlo manualmente.

Verificar una carga

Cuando el controlador carga un proyecto desde la memoria no voltil, proporciona la siguiente informacin: registra un fallo menor (tipo 7, cdigo 49) establece el objeto FAULTLOG, atributo MinorFaultBits, bit 7 Si desea que el proyecto indique que carg de la memoria no voltil, use la siguiente lgica de escalera:

En el primer escn del proyecto (S:FS est activado) la instruccin GSV obtiene el objeto FAULTLOG, atributo MinorFaultBits, y almacena el valor en minor_fault_bits. Si el bit 7 est activado, el controlador carg el proyecto desde su memoria no voltil.

42867

donde: minor_fault_bits NVM_load

representa: El tag que almacena el objeto FAULTLOG, atributo MinorFaultBits. El tipo de datos es DINT El tag que indica que el controlador carg el proyecto desde su memoria no voltil.

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-12

Almacenamiento y carga de un proyecto usando la memoria no voltil

Borrar la memoria no voltil

Para eliminar un proyecto de la memoria no voltil, realice las acciones siguientes: Verificar la opcin Current Load Image Cambiar la opcin Load Image Borrar el proyecto del controlador Almacenar la imagen vaca

Verificar la opcin Current Load Image


1. Entre en lnea con el controlador.

2.
42627

2. En la barra de herramientas en lnea, haga clic en el botn Controller Properties. 3. Haga clic en la ficha Nonvolatile Memory.

4.
42865

4. Est la opcin Load Image establecida en User Initiated?


Si: No S Entonces: Vaya a Cambiar la opcin Load Image en la pgina 23-13. Vaya a Borrar el proyecto del controlador en la pgina 23-13.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

23-13

Cambiar la opcin Load Image


1. Seleccione Load/Store. 2. En la lista desplegable Load Image, seleccione User Initiated. 3. Seleccione <- Store. Un cuadro de dilogo le solicitar que confirme la operacin de almacenamiento. 4. Para almacenar el proyecto, seleccione Yes. Un cuadro de dilogo le indica que la operacin de almacenamiento est en curso. 5. Seleccione OK. 6. Espere hasta que el indicador LED OK ubicado en la parte frontal del controlador est de color verde fijo. Esto indica que la operacin de almacenamiento ha concluido.

Borrar el proyecto del controlador


1. Desconecte la batera del controlador. 2. Desconecte y vuelva a conectar la alimentacin elctrica al chasis. 3. Vuelva a conectar la batera al controlador.

Almacenar la imagen vaca


1. Entre en lnea con el controlador. Se abre el cuadro de dilogo Connected To Go Online. 2. Haga clic en la ficha Nonvolatile Memory.

3.

42865

3. Seleccione Load/Store.

Publicacin 1756-PM001E-ES-P - Agosto 2002

23-14

Almacenamiento y carga de un proyecto usando la memoria no voltil

42874

4.

4. Seleccione < Store. Un cuadro de dilogo le solicitar que confirme la operacin de almacenamiento. 5. Para almacenar el proyecto, seleccione Yes. Durante el almacenamiento ocurrirn los siguientes eventos. En la parte frontal del controlador, el indicador LED OK muestra la siguiente secuencia: verde parpadeante rojo verde El software RSLogix 5000 sale fuera de lnea. Un cuadro de dilogo le indica que la operacin de almacenamiento est en curso. 6. Seleccione OK. Cuando termina la operacin de almacenamiento, usted permanece fuera de lnea. Si desea entrar en lnea, debe hacerlo manualmente.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Captulo

24

Cmo proteger un proyecto

Cundo usar este procedimiento

Use este procedimiento para controlar quin tiene acceso al proyecto. Las siguientes opciones estn disponibles para habilitar la seguridad de un proyecto:
Si desea: Impedir que otros vean la lgica dentro de una o ms rutinas de un proyecto Asignar varios niveles de acceso a un proyecto, como por ejemplo, permitir que: los ingenieros tengan acceso total el personal de mantenimiento haga cambios limitados los operadores slo vean la lgica y los datos Entonces: Vea la pgina:

Usar proteccin de origen de 24-1 rutina Use RSI Security Server para 24-12 proteger un proyecto

Se pueden usar ambas opciones simultneamente.

Usar proteccin de origen de rutina

Para limitar quin tiene acceso a una rutina, use el software RSLogix 5000 para asignar una clave de origen a la rutina (proteger la rutina). Para proteger una rutina, primero tiene que activar la funcin para el software RSLogix 5000. Una vez que se ha protegido una rutina, la computadora requiere la clave de origen para editar, copiar o exportar la rutina. Usted tiene la opcin de hacer que una rutina sea visible o no visible sin la clave de origen. Independientemente de que la clave de origen est o no est disponible, usted siempre puede descargar el proyecto y ejecutar todas las rutinas. Se puede volver a obtener acceso a una rutina protegida desde una computadora especfica mediante cualquiera de los siguientes mtodos: Aada el archivo de claves de origen y seale el software RSLogix 5000 respecto a la ubicacin del archivo. Cree el archivo de claves de origen e introduzca manualmente el nombre de la clave de origen. El Controller Organizer muestra el estado de proteccin de una rutina:

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-2

Cmo proteger un proyecto

Para esta rutina

ste es el estado de proteccin.

Si el Controller Organizer muestra: Source Not Available

Entonces: Se asign una clave de origen a la rutina. Para abrir la rutina, su computadora requiere la clave de origen de la rutina. Se asign una clave de origen a la rutina. Usted slo puede abrir y ver la rutina. No puede hacer cambios ni copiar el contenido de la rutina. Se asign una clave de origen a la rutina. Usted tiene acceso total a la rutina. Se asign una clave de origen a la rutina. Usted tiene acceso total a la rutina. Las personas que no tienen la clave de origen tambin pueden ver la rutina. No se asign una clave de origen a la rutina. Usted tiene acceso total a la rutina.

Source Not Available (Viewable)

Source Available Source Available (Viewable)

Ninguno de los anteriores

IMPORTANTE

Si el origen de una rutina no est disponible, no exporte el proyecto. Un archivo de exportacin (.L5K) contiene slo rutinas donde el cdigo de origen est disponible. Si usted exporta un proyecto donde el cdigo de origen no est disponible para todas las rutinas, no podr restaurar la totalidad del proyecto.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-3

Para asignar y administrar las claves de origen, realice las acciones siguientes:
Seleccionar el nivel de proteccin para cada rutina Seleccionar el nmero de claves de origen Definir la clave o claves de origen

Seleccionar una ubicacin para el archivo en dnde almacenar las Activar la funcin de proteccin de origen de RSLogix 5000 Crear un archivo para las claves de origen Proteccin de una rutina con una clave de origen Limitar el acceso a las rutinas protegidas desde esta computadora? S Usar estas computadoras para proteger otras rutinas? No Inhabilitar la proteccin de origen de rutina Retirar el acceso a una rutina protegida S No

Efectuad

Opcional Obtener acceso a una rutina protegida (desde esta computadora)

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-4

Cmo proteger un proyecto

Seleccionar el nivel de proteccin para cada rutina


La proteccin de origen protege el proyecto al nivel de rutinas. Usted puede proteger algunas rutinas de un proyecto y dejar otras rutinas sin proteccin (accesibles a cualquier persona). Tambin tiene la opcin de proteger una rutina y permitir a la vez que cualquier persona la vea.
Tabla 24.1 Opciones de proteccin de rutinas Si desea: Y: Entonces: Proteger la rutina? impedir que alguien haga lo siguiente: editar la rutina cambiar las propiedades de la rutina exportar la rutina adems, impedir que alguien haga lo siguiente: s abrir (mostrar) la rutina buscar la rutina ir a referencias cruzadas dentro de la rutina imprimir la rutina ninguna otra limitacin permitir que cualquier persona tenga acceso total a la rutina s no Permitir que se vea? no

Seleccionar el nmero de claves de origen


Para proteger una rutina, se asigna una clave de origen a la rutina. Se puede reutilizar una clave de origen tantas veces como sea necesario, tal como se muestra a continuacin.
Lo siguiente: una clave de origen para todos los proyectos una clave de origen nica para cada proyecto una clave de origen nica para cada rutina en cada proyecto Proporciona: una cantidad menor de claves de origen (ms fcil de administrar pero menos proteccin) una cantidad mayor de claves de origen (ms difcil de administrar pero ms proteccin)

Seleccione la cantidad de claves de origen que satisfaga sus necesidades de proteccin y ofrezca a la vez el nivel de administracin de claves de origen que desea tener.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-5

Definir la clave o claves de origen


Las claves de origen siguen las mismas reglas para nombres que otros componentes RSLogix 5000, tales como las rutinas, los tags y los mdulos. Siga estas reglas para definir el nombre de una clave de origen: debe comenzar con un carcter alfabtico (A-Z o A-z) o un carcter de subrayado (_) puede contener solamente caracteres alfabticos, caracteres numricos y caracteres de subrayado. puede tener hasta 40 caracteres no debe tener caracteres de subrayado consecutivos ni al final del nombre (_) puede utilizar maysculas/minsculas

Seleccionar una ubicacin para el archivo en dnde almacenar las claves de origen
Un archivo de claves de origen (sk.dat) almacena las claves de origen. El archivo de claves de origen est separado de los archivos de proyecto RSLogix 5000 (.acd). El archivo de claves de origen se puede almacenar en cualquier carpeta que usted seleccione.

Activar la funcin de proteccin de origen de RSLogix 5000


Para usar la funcin de proteccin de origen de rutinas del software RSLogix 5000, debe realizar la siguiente entrada de registro, la cual activa la funcin:
Clave: HKEY_CURRENT_USER\Software\Rockwell Software\RSLogix 5000\ProtectedRoutine Entrada de valor: Nombre: PTCRoutine Tipo: DWORD Datos: 1

Para realizar la entrada de registro: 1. Obtenga el CD del software RSLogix 5000. 2. Desde el CD, ejecute el siguiente archivo: language \Tools\Source Protection Tool\Enable Protected Routine Config.reg donde:

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-6

Cmo proteger un proyecto

language es el idioma del software. Por ejemplo, para el software en ingls, abra la carpeta ENU. El archivo Enable Protected Routine Config.reg hace la entrada de registro requerida.

Crear un archivo para las claves de origen


1. Abra el proyecto RSLogix 5000 que desea proteger. 2. En el men Tools, seleccione Security Configure Source Protection. 3. Le solicita el software RSLogix 5000 que especifique la ubicacin del archivo de claves de origen?
Si: No S Entonces: Su computadora ya tiene el archivo de claves de origen. Vaya a Proteccin de una rutina con una clave de origen en la pgina 24-7. Vaya al paso 4.

4. Seleccione Yes.

5. 7.

5. Haga clic en 6. Seleccione una carpeta donde almacenar el archivo, y seleccione OK. 7. Seleccione OK. Un cuadro de dilogo le pregunta si desea crear el archivo de claves de origen (sk.dat). 8. Seleccione Yes.

ubicacin del archivo de claves de origen (sk.dat)

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-7

Proteccin de una rutina con una clave de origen


1. Abra el proyecto RSLogix 5000 que desea proteger. 2. En el men Tools, seleccione Security Configure Source Protection.

4. 3.

3. Seleccione la rutina o rutinas que desea proteger. 4. Haga clic en Protect.

7. 5. 6.

5. Escriba un nombre que desee usar como clave de origen. O seleccione una clave de origen existente de la lista desplegable. 6. Si una persona no tiene la clave de origen, desea usted que pueda abrir y ver la rutina?
Si: No S Entonces: Borre la marca de verificacin en el cuadro de verificacin Allow viewing of routine (opcin predeterminada). Seleccione el cuadro de verificacin Allow viewing of routine.

7. Seleccione OK. 8. Cuando haya asignado las claves de origen requeridas para el proyecto, haga clic en Close. 9. En el men File, seleccione Save.

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-8

Cmo proteger un proyecto

Retirar el acceso a una rutina protegida


IMPORTANTE Antes de extraer el archivo de claves de origen (sk.dat) de una computadora, escriba las claves de origen o haga una copia del archivo y gurdelo en un lugar seguro.

1. Abra el proyecto RSLogix 5000 protegido. 2. En el men Tools, seleccione Security Configure Source Protection.

3.

3. Haga clic en Clear. Un cuadro de dilogo le pregunta si desea eliminar el archivo de claves de origen (sk.dat). 4. Desea retirar el archivo de claves de origen de la computadora (evitar acceso futuro al archivo)?
Si: S No Entonces: Seleccione Yes. Seleccione No.

Inhabilitar la proteccin de origen de rutina


IMPORTANTE Antes de extraer el archivo de claves de origen (sk.dat) de una computadora, escriba las claves de origen o haga una copia del archivo y gurdelo en un lugar seguro.

1. Abra el proyecto RSLogix 5000 protegido. 2. En el men Tools, seleccione Security Configure Source Protection.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-9

4.

3. Haga clic en Disable Ability To Configure Protected Routines. Un cuadro de dilogo le solicitar que confirme la accin. 4. Seleccione Yes. Un cuadro de dilogo le pregunta si desea eliminar el archivo de claves de origen (sk.dat). 5. Desea retirar el archivo de claves de origen de la computadora (evitar acceso futuro al archivo)?
Si: S No Entonces: Seleccione Yes. Seleccione No.

Obtener acceso a una rutina protegida


1. Abra el proyecto RSLogix 5000 que contiene las rutinas protegidas. 2. En el men Tools, seleccione Security Configure Source Protection. 3. Le solicita el software RSLogix 5000 que especifique la ubicacin del archivo de claves de origen?
Si: No S Entonces: Vaya al paso 7. Vaya al paso 4.

4. Seleccione Yes.

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-10

Cmo proteger un proyecto

5. 7.

5. Haga clic en 6. Tiene ya esta computadora un archivo de claves de origen (sk.dat)?


Si: S No Entonces: A. Seleccione la carpeta que contiene el archivo y luego seleccione OK. B. Seleccione OK . A. Seleccione la carpeta donde almacenar el nuevo archivo y luego seleccione OK. Un cuadro de dilogo le pregunta si desea crear el archivo de claves de origen (sk.dat). B. Seleccione Yes.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-11

7.

7. Haga clic en View. Si el sistema le indica que seleccione un programa con el cual abrir el archivo, seleccione un programa de procesamiento de palabras, tal como Notepad. Se abre el archivo sk.dat. 8. Escriba el nombre de la clave de origen. Para introducir mltiples claves, escriba cada clave en una lnea diferente.
sk.dat - Notepad key1 key2 key3

9. Guarde y cierre el archivo sk.dat.

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-12

Cmo proteger un proyecto

Use RSI Security Server para proteger un proyecto

El software RSI Security Server le permite controlar el acceso de personas a los proyectos RSLogix 5000. Con este software, usted personaliza el acceso a proyectos en base a los siguientes factores: el usuario que est actualmente registrado en la estacin de trabajo el proyecto RSLogix 5000 al cual est accediendo el usuario la estacin de trabajo desde la cual el usuario est accediendo al proyecto RSLogix 5000 Antes de usar el software Security Server para proyectos RSLogix 5000, configure el software: Instalacin del software RSI Security Server Configuracin de DCOM Habilitacin del software Security Server para RSLogix 5000 Importacin del archivo RSLogix5000Security.bak Definicin de acciones globales para los usuarios Definicin de acciones del proyecto para los usuarios Aadir usuarios Aadir grupos de usuarios Asignar acceso global al software RSLogix 5000 Asignar acciones de proyecto para nuevos proyectos RSLogix 5000

Una vez que el software Security Server est configurado para proyectos RSLogix 5000, realice las acciones siguientes para proteger un proyecto: Habilitar la seguridad para un proyecto RSLogix 5000 Asignar acceso a un proyecto RSLogix 5000 Regenerar el software RSLogix 5000, si es necesario

Instalacin del software RSI Security Server


IMPORTANTE Si el software RSLogix 5000 ya est en su computadora cuando usted instala el software Security Server, habilite la seguridad para el software RSLogix 5000 cuando se lo indique el sistema.

Consulte la publicacin Getting Results with Rockwell Softwares Security Server (Standalone Edition) la cual se enva con el software RSI Security Server.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-13

Configuracin de DCOM
Consulte la publicacin Getting Results with Rockwell Softwares Security Server (Standalone Edition) la cual se enva con el software RSI Security Server.

Habilitacin del software Security Server para RSLogix 5000


Instal usted Security Server antes de instalar el software RSLogix 5000?
Si: S No Entonces: Vaya al paso 1. Vaya a Importacin del archivo RSLogix5000Security.bak en la pgina 24-14.

Program Files Rockwell Software RSLogix 5000 Language versin + Security

Keys.ini SetSecKeys.exe

1. Ejecute este archivo

donde: Language version

es el: el idioma del software. Por ejemplo, para el software en ingls, abra la carpeta ENU. versin del software, tal como v10

Se abre el cuadro de dilogo Locate Project File. Como opcin predeterminada, el archivo Keys.ini ya debe estar seleccionado. 2. Seleccione Open.

3. Seleccione el cuadro RSLogix 5000 y seleccione OK.


43073

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-14

Cmo proteger un proyecto

Importacin del archivo RSLogix5000Security.bak


El archivo RSLogix5000Security.bak proporciona la configuracin que Security Server requiere para funcionar con el software RSLogix 5000. 1. Inicie el explorador Security Configuration. 2. En el men File, seleccione Import Database. 3. Qu revisin de Security ServerRSLogix est usando
Si: 2.00 Entonces: Busque en esta carpeta:
Program Files Rockwell Software RSLogix 5000 Language version + Security

donde: Language

es el: el idioma del software. Por ejemplo, para el software en ingls, abra la carpeta ENU. versin del software, tal como v10

version 2.01 Busque en esta carpeta:

Program Files Rockwell Software Security Server + System

4. Seleccione el archivo RSLogix5000Security.bak y luego seleccione Open.

Definicin de acciones globales para los usuarios


Las acciones globales son tareas que no estn vinculadas a un proyecto en particular, tales como crear un nuevo proyecto o

43077

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-15

actualizar el firmware de un controlador. Las siguientes acciones globales corresponden al software RSLogix 5000.
Tabla 24.2 Acciones globales Para que un usuario pueda: habilitar la seguridad para un controlador sin seguridad crear un nuevo proyecto RSLogix 5000 abrir un archivo .L5K en el software RSLogix 5000, lo cual crea un proyecto traducir un proyecto PLC o SLC a un archivo .L5K usar el software RSLogix 5000 para iniciar el software ControlFLASH y actualizar el firmware de un controlador Update Firmware Entonces otorgue acceso a las siguientes acciones: Secure Controller New Project

Use la siguiente hoja de trabajo para registrar las acciones globales que usted permitir para cada grupo de usuarios.
Tabla 24.3 Acciones globales para cada grupo de usuarios Este grupo de usuarios: Requiere este acceso: Secure Controller (Seguridad para el controlador) New Project (Nuevo proyecto) Update Firmware (Actualizar firmware)

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-16

Cmo proteger un proyecto

Definicin de acciones del proyecto para los usuarios


Las acciones de proyectos permiten realizar tareas especficas de un proyecto o grupo de proyectos. Cuando se habilita la seguridad para un proyecto RSLogix 5000 o se crea un nuevo proyecto con la seguridad activada, ste se convierte en miembro del grupo New RSLogix 5000 Resources. Los usuarios que trabajan con proyectos en este grupo requieren el acceso apropiado. Recomendamos otorgar Full Access (acceso total) a las personas que tienen acceso a crear un proyecto. Para personalizar el acceso a un proyecto, muvalo fuera del grupo New RSLogix 5000 Resources y asigne privilegios especficos para ese proyecto.

43075

43078

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-17

Las siguientes acciones corresponden a un proyecto o grupo de proyectos RSLogix 5000 con seguridad habilitada.
Tabla 24.4 Acciones de proyecto Para que un usuario pueda: abrir un proyecto fuera de lnea copiar componentes de un proyecto exportar los tags de un proyecto Y: Y: Otorgue acceso a esta accin: View Proyect entrar en lnea y monitorear un proyecto Go online Maintain Project guardar un proyecto guardar un proyecto como un archivo .ACD abrir una revisin antigua de un proyecto comprimir un proyecto exportar un proyecto descargar o cargar un proyecto cambiar el modo del controlador cambiar la ruta de acceso al controlador imprimir un informe borrar fallos cambiar la hora del reloj crear, eliminar, editar y ejecutar una tendencia cambiar la configuracin de un mdulo de E/S cambiar la configuracin de una instruccin MSG Introducir, habilitar, inhabilitar y eliminar forzados cambiar los valores de tags actualizar firmware Full Access

realizar todas las acciones disponibles a travs del software RSLogix 5000 excepto inhabilitar un controlador que tiene la seguridad habilitada inhabilitar la seguridad de un controlador que tiene seguridad habilitada actualizar el firmware de un controlador

Acceso total y Unsecure Controller Update Firmware

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-18

Cmo proteger un proyecto

Use la hoja de trabajo que se proporciona en la pgina 24-18 para registrar las acciones de un proyecto que usted permitir para cada usuario o grupo de usuarios.
Tabla 24.5 Acciones de proyecto para proyectos que estn en el grupo New RSLogix 5000 Resources y para proyectos individuales Para este proyecto o grupo de proyectos: Nuevos recursos RSLogix 5000 New RSLogix 5000 Resources New RSLogix 5000 Resources New RSLogix 5000 Resources Este usuario o grupo de usuarios: Requiere este acceso: View Project Go online Maintain Project Full Access Unsecure Controller Update Firmware

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-19

Aadir usuarios

1. Haga clic con el botn derecho del mouse y seleccione New.


43078

43084

2. Escriba esta informacin para el usuario y luego seleccione OK.

Aadir grupos de usuarios


Un grupo permite gestionar mltiples usuarios que requieren privilegios similares. 1. En el men Help. seleccione Quick Start.

2. Siga estos pasos para esta tarea.

43074

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-20

Cmo proteger un proyecto

Asignar acceso global al software RSLogix 5000


Para permitir que los usuarios realicen acciones globales:

1. En el explorador Configuration, seleccione el grupo RSLOGIX 5000.


43077

2. En el men Help, seleccione Quick Start.

3. Siga estos pasos para esta tarea. Asigne las acciones que registr en la Tabla 24.3 en la pgina 24-15.
43076

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-21

Asignar acciones de proyecto para nuevos proyectos RSLogix 5000


Para permitir que los usuarios realicen acciones en proyectos que estn en el grupo New RSLogix 5000 Resources:

1. En el explorador Configuration, seleccione el grupo New RSLogix 5000 Resources.


43075

2. En el men Help. seleccione Quick Start.

3. Siga estos pasos para esta tarea. Asigne las acciones que registr en la Tabla 24.5 en la pgina 24-18.
43076

Habilitar la seguridad para un proyecto RSLogix 5000


Para nuevos proyectos, la opcin de seguridad est disponible cuando se crea el proyecto. Para que el software Security Server proteja un proyecto existente, habilite la seguridad del proyecto. 1. Abra el proyecto RSLogix 5000.

2. Haga clic en el botn Controller Properties.


42627

3. Haga clic en la ficha Advanced.

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-22

Cmo proteger un proyecto

43069

4. Seleccione RSI Security Server. 5. Seleccione OK y luego Yes. En el software Security Server, el proyecto aparece como miembro del grupo New RSLogix 5000 Resources. Si el software Security Server ya est abierto, entonces, desde el men View, seleccione Refresh.

Asignar acceso a un proyecto RSLogix 5000


Mientras un proyecto est en el grupo New RSLogix 5000 Resources, la lista de control de accesos de dicho grupo determina las acciones que un usuario puede realizar en un proyecto. Para personalizar el acceso a un proyecto, muvalo fuera del grupo y asigne acciones especficas:

1. En el explorador Configuration, seleccione el grupo New RSLogix 5000 Resources.


43075

2. Haga clic en la ficha Group Members.

3.
43079

3. En la lista Member items, seleccione el proyecto y haga clic en el botn <<.


Publicacin 1756-PM001E-ES-P - Agosto 2002

Cmo proteger un proyecto

24-23

4. Seleccione Apply.

5. En el explorador Configuration, seleccione el proyecto.


43078

6. En el men Help. seleccione Quick Start.

7. Siga estos pasos para esta tarea. Asigne las acciones que registr en la Tabla 24.5 en la pgina 24-18.
43076

Regenerar el software RSLogix 5000, si es necesario


Si un proyecto RSLogix 5000 est abierto y se hacen cambios en el software RSI Security Server que afectan el proyecto, regenere el software RSLogix 5000: En el men Tools, seleccione Security Refresh Privileges.

Publicacin 1756-PM001E-ES-P - Agosto 2002

24-24

Cmo proteger un proyecto

Notas:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Apndice

Cdigos de fallo

Cundo usar este Apndice

Use este apndice para interpretar: Cdigos de fallo mayor Cdigos de fallos menores

Cdigos de fallo mayor

Use la siguiente tabla para determinar la causa de un fallo mayor y su accin correctiva. El tipo y cdigo corresponden al tipo y cdigo mostrado en los lugares siguientes: Cuadro de dilogo Controller Properties, ficha Major Faults Objeto PROGRAM, atributo MAJORFAULTRECORD

Tabla A.1 Tipos y cdigos de fallos mayores Tipo: 1 3 Cdigo: Causa: 1 16 El controlador se activo en el modo Run. Mtodo de recuperacin: Ejecute el administrador de prdida de alimentacin elctrica.

Fall una conexin de mdulo de E/S requerida. Verifique que el mdulo de E/S est en el chasis. Verifique los requisitos de codificacin electrnica. Vea la ficha Major Fault del cuadro de dilogo Controller Properties y la ficha Connection del cuadro de dilogo Module Properties para obtener ms informacin sobre el fallo. Es posible que exista un problema con el chasis No recuperable reemplace el chasis. ControlBus. No se estableci por lo menos una conexin requerida antes de ir al modo Run. Se encontr una instruccin desconocida. Subndice de matriz demasiado grande, la estructura de control .POS o .LEN es no vlida. Estructura de control .LEN o .POS < 0. Los parmetros de la instruccin JSR no son iguales a los de la instruccin SBR o RET asociada. Una instruccin de temporizador tiene un valor acumulado o preseleccionado negativo. JMP a una etiqueta que no existe o fue eliminada. Un diagrama de funcin secuencial (SFC) llam a una subrutina y la subrutina trat de saltar nuevamente al SFC que la llam. Esto ocurre cuando el SFC usa una instruccin JSR o FOR para llamar a la subrutina. Espere que la luz de E/S del controlador cambie a color verde antes de cambiar al modo Run. Elimine la instruccin desconocida. Esto probablemente sucedi debido a un proceso de conversin del programa. Ajuste el valor para que est dentro del rango vlido. No exceda el tamao de la matriz ni sobrepase las dimensiones definidas. Ajuste el valor para que sea > 0. Pase el nmero apropiado de parmetros. Si se pasan demasiados parmetros, el exceso de parmetros se ignora sin que ocurra ningn error. Corrija el programa para que no cargue un valor negativo en un valor acumulado o preseleccionado de temporizador. Corrija el receptor de JMP o aada la etiqueta que falta. Elimine el salto al SFC que llam a la subrutina.

3 3 4 4 4 4

20 23 16 20 21 31

4 4 4

34 42 82

Publicacin 1756-PM001E-ES-P - Agosto 2002

A-2

Cdigos de fallo

Tabla A.1 Tipos y cdigos de fallos mayores (Contina) Tipo: 4 4 4 6 Cdigo: Causa: 83 84 89 1 Los datos probabos no estaban dentro de los lmites requeridos. Overflow de pila. En una instruccin SFR, la rutina receptora no contiene el paso especfico. Caduc el temporizador de control (watchdog) de la tarea. La tarea del usuario no se termin en el perodo de tiempo especificado. Un error del programa caus un lazo infinito, o el programa es demasiado complejo para ejecutarse tan rpidamente como se especific, o una tarea de mayor prioridad est impidiendo que termine esta tarea. Fall el almacenamiento en la memoria no voltil. Mtodo de recuperacin: Modifique el valor para que est dentro de los lmites. Reduzca los niveles de anidamiento de subrutinas o el nmero de parmetros pasados. Corrija el receptor de SFR o aada el paso que falta. Aumente el temporizador de control (watchdog) de la tarea, reduzca el tiempo de ejecucin, aumente la prioridad de esta tarea, simplifique las tareas de prioridad ms alta, o mueva parte de los cdigos a otro controlador.

40

1. Vuelva a intentar guardar el proyecto en la memoria no voltil. 2. Si el proyecto no se guarda en la memoria no voltil, reemplace la tarjeta de memoria. Actualice el firmware del controlador al mismo nivel de revisin que el proyecto que se encuentra en la memoria no voltil.

42

La carga desde la memoria no voltil fall porque la revisin de firmware del proyecto en la memoria no voltil es diferente a la revisin de firmware del controlador. Se intent colocar el controlador en el modo Run con el interruptor de llave durante la descarga. La posicin actual excedi el lmite de fin de carrera positivo. La posicin actual excedi el lmite de fin de carrera negativo.

Espere que concluya la descarga y borre el fallo.

11

Mueva el eje en direccin negativa hasta que la posicin est dentro del lmite de fin de carrera y luego ejecute el comando Motion Axis Fault Reset. Mueva el eje en direccin positiva hasta que la posicin est dentro del lmite de fin de carrera y luego ejecute el comando Motion Axis Fault Reset.

11

11 11 11 11 11

3 4 5 6 7

La posicin actual excedi la tolerancia de error Mueva la posicin dentro del lmite de tolerancia y luego ejecute el de posicin. comando Motion Axis Fault Reset. Se interrumpi la conexin de canal A, B o Z de encoder. Se detect evento de ruido de encoder o las seales de encoder no estn en cuadratura. Se activ entrada de fallo del variador. Fallo en la conexin sncrona. Vuelva a conectar el canal de encoder y luego ejecute el comando Motion Axis Fault Reset. Corrija el cableado de encoder y luego ejecute el comando Motion Axis Fault Reset. Borre el fallo del variador y luego ejecute el comando Motion Axis Fault Reset. Primero ejecute el comando Motion Axis Fault Reset. Si esto no funciona, desenchufe el servomdulo y vuelva a enchufarlo. Si el fallo persiste, reemplace el servomdulo. Reemplace el mdulo. Primero ejecute el comando Motion Axis Fault Reset. Si esto no funciona, desenchufe el servomdulo y vuelva a enchufarlo. Si el fallo persiste, reemplace el servomdulo. El rgimen aproximado de actualizacin del grupo es demasiado alto para mantener una operacin correcta. Borre el tag de fallo del grupo, eleve el rgimen de actualizacin del grupo y luego borre el fallo mayor.

11 11

8 9

El servomdulo detect un fallo grave de hardware. Fallo de conexin asncrona.

11

32

Superposicin en la tarea de control de movimiento.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cdigos de fallo

A-3

Cdigos de fallos menores

Use la siguiente tabla para determinar la causa de un fallo menor y su accin correctiva. El tipo y cdigo corresponden al tipo y cdigo mostrado en los lugares siguientes: Cuadro de dilogo Controller Properties, ficha Minor Faults Objeto PROGRAM, atributo MINORFAULTRECORD

Tabla A.2 Tipos y cdigos de fallos menores Tipo: 4 4 4 4 4 Cdigo: 4 7 35 36 51 Causa: Ocurri un overflow aritmtico en una instruccin. Mtodo de recuperacin: Corrija el programa examinando las operaciones aritmticas (orden) o ajustando los valores.

El tag de destino GSV/SSV era demasiado pequeo para Corrija el destino para que tenga espacio suficiente. contener todos los datos. Tiempo PID delta 0. El punto de ajuste PID est fuera de rango El valor LEN del tag de cadena es mayor que el tamao DATA del tag de cadena. Ajuste el tiempo PID delta para que sea > 0. Ajuste el punto de ajuste para que est dentro del rango. 1. Verifique que ninguna instruccin est escribiendo al miembro LEN del tag de cadena. 2. En el valor LEN, introduzca el nmero de caracteres que la cadena contiene. Cree un nuevo tipo de datos de cadena que sea suficientemente grande para la cadena de salida. Use el nuevo tipo de datos de cadena como tipo de datos para el destino. Haga uno de los siguientes: Reduzca el tamao del valor ASCII. Use un tipo de datos mayor para el destino. 1. Verifique que el valor de inicio est entre 1 y el tamao DATA del origen. 2. Verifique que el valor de inicio as como el valor de cantidad sean menores o iguales al tamao DATA del origen. Haga uno de los siguientes: Cambie el parmetro Control Line del puerto en serie. Elimine la instruccin AHL. Simplifique el (los) programa(s), o aumente el perodo o eleve la prioridad relativa, etc.

52

La cadena de salida es mayor que el destino.

53

El nmero de salida se encuentra fuera de los lmites del tipo de datos de destino. El valor de inicio o cantidad no es vlido.

56

57

La instruccin AHL no se ejecut porque el puerto en serie est establecido en la opcin sin handshaking.

Superposicin de tareas peridicas La tarea peridica no concluy antes de que sea tiempo de que se ejecute nuevamente. Proyecto cargado desde la memoria no voltil. Ocurri un error desconocido mientras se realizaba el servicio del puerto en serie. La lnea CTS no es la correcta para la configuracin actual.

7 9 9

49 0 1

Comunquese con el personal de GTS. Desconecte y vuelva a conectar el cable del puerto en serie al controlador. Asegrese de que el cable est correctamente conectado.

Publicacin 1756-PM001E-ES-P - Agosto 2002

A-4

Cdigos de fallo

Tabla A.2 Tipos y cdigos de fallos menores (Contina) Tipo: 9 Cdigo: 2 Causa: Error de lista de encuestas (poll). Se detect un problema con la lista de encuestas del maestro, tal como especificacin de ms estaciones que el tamao del archivo, especificacin de ms de 255 estaciones, tratar de indizar ms all del final de la lista o encuestar la direccin de difusin (STN #255). Mtodo de recuperacin: Verifique si existe alguno de los siguientes errores en la lista de encuestas: nmero total de estaciones mayor que el espacio en el tag de lista de encuestas nmero total de estaciones mayor que 255 el puntero de la estacin actual es mayor que el tag fin de la lista de encuestas se encontr un nmero de estacin mayor que 254 Determine y corrija el retardo de la encuesta.

Tiempo de espera de encuestas DF1 esclavo Expir el temporizador de control (watchdog) de encuestas para el esclavo. El maestro no encuest este controlador en el perodo de tiempo especificado. Se perdi contacto con el mdem. Las lneas de control DCD y/o DSR no se estn recibiendo en la secuencia y/o estado correctos. No se detect la batera, o sta necesita reemplazarse.

Corrija la conexin del mdem al controlador.

10

10

Instale una batera nueva.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Apndice

Cumplimiento de la norma IEC61131-3

Cmo usar este Apndice


Para obtener informacin acerca de: Sistema operativo Definicin de datos Lenguajes de programacin Conjunto de instrucciones Portabilidad de programas segn IEC61131-3 Tablas sobre cumplimiento con especificaciones IEC Vea la pgina: B-2 B-2 B-3 B-4 B-4 B-5

Introduccin

La Comisin Electrotcnica Internacional (IEC) ha desarrollado una serie de especificaciones para controladores programables. Estas especificaciones estn destinadas a promover la unificacin internacional de equipos y lenguajes de programacin para uso en la industria de controles. Estos estndares constituyen la base de los controladores Logix5000 y del software de programacin RSLogix 5000. La especificacin IEC para los controladores programables est dividida en cinco partes, cada una de las cuales se concentra en un aspecto diferente del sistema de control: Parte Parte Parte Parte Parte 1: 2: 3: 4: 5: Informacin general Prueba de equipos y requisitos Lenguajes de programacin Pautas para el usuario Especificacin del servicio de mensajes

La industria de controles se ha concentrado en la parte 3 (IEC61131-3), Lenguajes de programacin, porque stos proporcionan el elemento principal para implementar los otros estndares y ofrecen el beneficio ms importante para el usuario final mediante la reduccin de los costos de capacitacin. Por esta razn, slo la especificacin IEC61131-3 se tratar aqu.

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-2

Cumplimiento de la norma IEC61131-3

La especificacin referente a lenguaje de programacin IEC61131-3 trata numerosos aspectos del controlador programable, incluyendo la ejecucin del sistema operativo, las definiciones de los datos, los lenguajes de programacin y el conjunto de instrucciones. Los componentes de la especificacin IEC61131-3 estn categorizados segn lo requerido por la especificacin, opcional o extensiones. De esta manera, la especificacin IEC61131-3 proporciona un conjunto mnimo de funcionalidad que puede extenderse para satisfacer las necesidades de la aplicacin del usuario final. La desventaja de este mtodo es que cada suministrador de sistemas de control programable puede implementar diferentes componentes de la especificacin o proporcionar diferentes extensiones.

Sistema operativo

El sistema operativo (OS) de los controladores Logix5000, el cual permite la priorizacin de tareas, cumple con las especificaciones de la norma IEC61131-3. Segn la especificacin IEC61131-3, el sistema operativo de los controladores programables puede contener cero o ms tareas, las cuales pueden ejecutar uno o ms programas, cada uno de los cuales puede contener una o ms funciones o rutinas. De acuerdo con IEC61131-3, el nmero de cada uno de estos componentes depende de la implementacin. Los controladores Logix5000 proporcionan mltiples tareas, cada una de las cuales contiene mltiples programas y un nmero ilimitado de funciones o rutinas. La especificacin IEC61131-3 proporciona una opcin para crear diferentes clasificaciones de ejecucin de tareas. Las tareas se pueden configurar como continuas, peridicas o basadas en evento. Una tarea continua no necesita programarse ya que utilizar el tiempo de procesamiento que reste cuando otras tareas estn inactivas. Las tareas peridicas se programan para una operacin basada en un perodo de tiempo que reocurre. La norma IEC61131-3 no especifica una base de tiempo para la configuracin de tareas peridicas. De acuerdo con IEC61131-3, una tarea basada en evento se activa con la deteccin del flanco ascendente de una entrada configurada. Los controladores Logix5000 aceptan tareas continuas y peridicas. Adems, el perodo para una tarea peridica puede configurarse empezando con un valor tan bajo como 1 milisegundo (ms).

Definicin de datos

La especificacin IEC61131-3 proporciona acceso a la memoria mediante la creacin de variables con nombre. Los nombres IEC61131-3 para las variables constan de un mnimo de seis caracteres (el software de programacin RSLogix5000 acepta un mnimo de 1 carcter) comenzando con un carcter de subrayado _ o un carcter alfabtico (A-Z), seguido de uno o ms caracteres que constan de subrayado _, carcter alfabtico (A-Z) o nmero (0-9). Opcionalmente, los caracteres alfabticos en minscula (a-z) se aceptan siempre y cuando puedan utilizarse maysculas y minsculas (A = a, B = b, C = c ). Los controladores Logix5000 cumplen plenamente con esta definicin, aceptan la opcin de minsculas y extienden el nombre para aceptar nombres de hasta 40 caracteres.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-3

Las variables de datos segn IEC61131-3 se pueden definir de tal manera que sean accesibles a todos los programas dentro de un recurso o controlador, o se proporciona acceso limitado slo a las funciones o rutinas dentro de un solo programa. Para pasar datos entre mltiples recursos o controladores, las rutas de acceso se pueden configurar para definir la ubicacin de los datos dentro de un sistema. Los controladores Logix5000 ofrecen conformidad mediante la proporcin de datos dentro del alcance del programa, dentro del alcance del controlador y permitiendo la configuracin de rutas de acceso usando datos producidos/consumidos. La interpretacin de memoria de una variable segn IEC61131-3 se define a travs del uso de un tipo de datos elemental o de un tipo de datos derivado opcional que se crea a partir de un grupo de mltiples tipos de datos. Los controladores Logix5000 aceptan el uso de los tipos de datos elementales BOOL (1 bit), SINT (entero de 8 bits), INT (entero de 16 bits), DINT (entero de 38 bits) y REAL (nmero de punto flotante [coma flotante] IEEE). Adicionalmente, los tipos de datos derivados opcionales se aceptan mediante la creacin de estructuras y matrices definidas por el usuario.

Lenguajes de programacin

La especificacin IEC61131-3 define cinco (5) lenguajes de programacin diferentes y un conjunto de elementos comunes. Todos los lenguajes se definen como opcionales, pero debe aceptarse por lo menos uno para declarar conformidad con la especificacin. Los componentes de lenguaje de programacin IEC61131-3 se definen de la siguiente manera: Elementos Elementos Elementos Elementos Elementos Elementos Elementos (FBD) de lenguaje comunes grficos comunes de lenguaje de lista de instrucciones (IL) de lenguaje de texto estructurado (ST) de lenguaje de diagrama de lgica de escalera (LD) de lenguaje de diagrama de funcin secuencial (SFC) de lenguaje de diagrama de bloque de funciones

Los controladores Logix5000 y RSLogix5000 proporcionan compatibilidad con los elementos de lenguaje comunes y con las opciones de texto estructurado, diagrama de lgica de escalera, diagrama de funciones secuenciales, y diagrama de bloques de funciones. Adems, el entorno utiliza un formato de importacin/exportacin ASCII basado en el lenguaje de texto estructurado. Las funciones del conjunto de instrucciones y de intercambio de archivos de programa se describen en las siguientes secciones.

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-4

Cumplimiento de la norma IEC61131-3

Conjunto de instrucciones

El conjunto de instrucciones especificado por IEC61131-3 es completamente opcional. La especificacin lista un conjunto de instrucciones limitado que, si se implementa, debe cumplir con la ejecucin y representacin visual declaradas. Sin embargo, IEC61131-3 no limita el conjunto de instrucciones a las listadas dentro de la especificacin. Cada suministrador de PLC puede implementar funciones adicionales en forma de instrucciones aparte de las listadas por la especificacin. Algunos ejemplos de dichas instrucciones extendidas son aquellas necesarias para realizar diagnsticos, control de lazo PID, control de movimiento y manipulacin de archivos de datos. Puesto que las instrucciones extendidas no son definidas por la especificacin IEC61131-3, no existe garanta de que la implementacin entre los diferentes suministradores de PLC ser compatible. Por lo tanto, la utilizacin de estas instrucciones puede impedir la transferencia de lgica entre suministradores. Los controladores Logix5000 y RSLogix5000 proporcionan un conjunto de instrucciones que se ejecutan segn lo definido por la especificacin IEC61131-3. La representacin fsica de estas instrucciones mantiene su diseo comn con sistemas existentes a fin de reducir el costo de capacitacin asociado con trabajar en el entorno. Adems de las instrucciones que cumplen con la especificacin IEC61131-3, se ha incorporado al entorno una gama completa de instrucciones de productos existentes a fin de no perder funcionalidad.

Portabilidad de programas segn IEC61131-3

Una de los objetivos de los usuarios finales que crean programas en un entorno que cumple con las especificaciones IEC61131-3 es la transferencia o portabilidad de programas entre controladores diseados por diferentes suministradores. Esta rea es una debilidad de IEC61131-3 porque no hay un formato de intercambio de archivos definido por la especificacin. Esto significa que cualquier programa creado en el entorno de un suministrador requerir manipulacin para transferirlo al sistema de otro suministrador. A fin de minimizar el esfuerzo requerido para realizar la portabilidad entre diferentes suministradores, el software de programacin RSLogix 5000 para los controladores incluye una utilidad de exportacin e importacin ASCII. Adems, el formato de archivo utilizado por esta herramienta se basa en un hbrido de la definicin del lenguaje de texto estructurado de IEC61131-3. El sistema de operacin del controlador y las definiciones de los datos siguen los formatos IEC61131-3 apropiados. Se implementaron extensiones a fin de convertir la lgica de diagrama de lgica de escalera en texto ASCII puesto que esto no est definido por IEC61131-3. Para obtener ms informacin sobre la utilidad de exportacin e importacin ASCII del software de programacin RSLogix 5000, vea el Logix5000 Controllers Import/Export Reference Manual, publicacin 1756-RM084.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-5

Tablas sobre cumplimiento con especificaciones IEC


Nmero de Tabla:(1) 1 1 1 1 2 2 2 Nmero de funcin: 2 3a 4a 6a 1 2 3

Los controladores Logix5000 y RSLogix5000 cumplen con los requisitos de IEC61131-3 referentes a las siguientes funciones de lenguaje:
Notas sobre extensiones e implementacin: Ninguno Se usa para designacin de tipo de datos de valor inmediato Se usa para descripcin y carcter de control de cadena Subndices de matriz

Descripcin de la funcin: Letras en minscula Signo de nmero (#) Signo de dlar ($) Delimitadores de subndice ([ ])

Identificadores que usan maysculas y nmeros Nombres de tag, tarea, programa, rutina, estructura Identificadores que usan maysculas, nmeros y caracteres de subrayado incorporados Nombres de tag, tarea, programa, rutina, estructura

Identificadores que usan maysculas y Nombres de tag, tarea, programa, rutina, minsculas, nmeros y caracteres de subrayado estructura incorporados Comentarios Entero literal Real literal Real literal con exponentes Base 2 literal Base 8 literal Base 16 literal Cero y uno booleano Cadena vaca '' Cadena de longitud uno que contiene un carcter 'A' Cadena de longitud uno que contiene un espacio ' ' Cadena de longitud uno que contiene un carcter de una sola comilla '$'' Cadena de longitud uno que contiene un carcter de doble comilla Cadena de longitud dos que contiene caracteres CR y LF Cadena de longitud uno que contiene el carcter LF '$0A' Cadena de longitud 5 que se imprimira como $1.00 usando '$$1.00' Cadenas equivalentes de longitud dos 'AE' y '$C4$CB' Signo de dlar en cadena '$$' Una comilla en cadena '$'' Avance de lnea en cadena '$L' o '$l' Comentarios ST, tambin soporte /* Comentario */, y // Comentarios de fin de lnea. 12, 0, -12 12.5, -12.5 -1.34E-12, 1.234E6 2#0101_0101 8#377 16#FFE0 0, 1 Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones

3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6

1 1 2 3 4 5 6 7 1a 1b 1c 1d 1E 1F 1G 1H 1I 2 3 4

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-6

Cumplimiento de la norma IEC61131-3

Nmero de Tabla:(1) 6 6 6 6 6 10 10 10 10 10 10 10 11 12 12 12 13 13 13 13 14 14 14 14 19a 20 20 20 20 21 22

Nmero de funcin: 5 6 7 8 9 1 2 3 4 10 12 16 1 1 4 5 1 4 5 9 1 4 5 6 2a 1 2 3 4 1 1

Descripcin de la funcin: Nueva lnea en cadena '$N' o '$n' Alimentacin de impresora en cadena (pgina) '$P' o '$p' Retorno de carro en cadena '$R' o '$r' Tabulacin en cadena '$T' o '$t' Doble comilla en cadena $ Tipo de datos BOOL Tipo de datos SINT Tipo de datos INT Tipo de datos DINT Tipo de datos REAL Tiempo Tipo de datos STRING Jerarqua de tipos de datos Derivacin directa de tipos elementales Tipos de datos de matriz Tipos de datos estructurados Valor inicial de 0 BOOL, SINT, INT, DINT Valor inicial de 0.0 REAL, LREAL Valor inicial de tiempo de T#0s Cadena vaca '' Inicializacin de tipos derivados directamente Inicializacin de tipos de datos de matriz Inicializacin de tipos de datos estructurados derivados Invocacin textual, no formal Uso de EN y ENO Uso sin EN y ENO Uso con EN y sin ENO Uso sin EN y con ENO Funciones sobrecargadas ADD(INT, DINT) o ADD(DINT, REAL) Funcin de conversin _TO_

Notas sobre extensiones e implementacin: Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Editor de cadena y descripciones Definicin de variable de tag Definicin de variable de tag Definicin de variable de tag Definicin de variable de tag Definicin de variable de tag Definicin de variable de tag, estructura TIMER 8 bits Ninguno Estructuras de tipos de datos definidas por el usuario Definicin de variable de tag Estructuras de tipos de datos definidas por el usuario Definicin de variable de tag Definicin de variable de tag Definicin de variable de tag, instruccin restablecer (RES) Descripciones y cadenas Importacin/exportacin Importacin/exportacin Importacin/exportacin Disponible en ST Funcin presente en LD pero no etiquetada. Disponible en FBD. Disponible en FBD Disponible en FBD Disponible en FBD Todos los tipos sobrecargados aceptados estn documentados con cada instruccin Instrucciones RAD, DEG, Radianes hacia/desde decimal Conversin numrica de cadena STOD, STOR, RTOS, DTOS. No se necesitan otras debido a sobrecarga de instrucciones. Instruccin TRN en LD y funcin TRUNC en ST Instruccin FRD en LD

Inicializacin de elementos de tipo estructurado Importacin/exportacin

22 22

2 3

Truncar funcin de conversin Convertir BCD a INT

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-7

Nmero de Tabla:(1) 22 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 25 25 25 25 26 26 26 26 27 27 27 27 27

Nmero de funcin: 4 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 1 2a 2b 3 4

Descripcin de la funcin: Convertir INT a BCD Valor absoluto Raz cuadrada Logaritmo natural Logaritmo de base 10 Seno en radianes Coseno en radianes Tangente en radianes Arco seno principal Arco coseno principal Arco tangente principal Suma aritmtica Multiplicacin aritmtica Resta aritmtica Divisin aritmtica Modulo Exponenciacin Transferir valor Desplazamiento de bit a la izquierda Desplazamiento de bit a la derecha Rotacin de bit hacia la izquierda Rotacin de bit hacia la derecha AND OR XOR NOT SELECT Seleccin mxima MAX Seleccin mnima MIN Lmite bajo/alto LIMIT Multiplexor MUX

Notas sobre extensiones e implementacin: Instruccin TOD en LD Instruccin ABS Instruccin SQR en LD y funciones FBD y SQRT en ST. Instruccin LN instruccin LOG Instruccin/funcin SIN Instruccin/funcin COS Instruccin/funcin TAN Instruccin ASN en LD y funciones FBD y ASIN en ST Instruccin ASC en LD y funciones FBD y ACOS en ST Instruccin ATN en LD y funciones FBD y ATAN en ST Instruccin ADD en LD y FBD y + en ST. Instruccin MUL en LD y FBD y * ST. Instruccin SUB en LD y FBD y en ST. Instruccin DIV en LD y FBD y / en ST. Instruccin MOD en LD y ST Instruccin XPY en LD y FBD y ** en ST. Instruccin MOV en LD y := en ST. Funcionalidad de la instruccin BSL en LD para desplazamiento de 1 Funcionalidad de la instruccin BSR en LD para desplazamiento de 1 Funcionalidad de la instruccin BSL en LD para desplazamiento de 1 Funcionalidad de la instruccin BSR en LD para desplazamiento de 1 Instruccin BAND en FBD y operador & en ST Instruccin BOR en FBD Instruccin BXOR en FBD Instruccin BNOT en FBD Instruccin SEL en FBD Funcionalidad de la instruccin ESEL en FBD y ST Funcionalidad de la instruccin ESEL en FBD y ST Instruccin HLL en FBD y ST Instruccin MUX en FBD

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-8

Cumplimiento de la norma IEC61131-3

Nmero de Tabla:(1) 28 28 28 28 28 28 29 29 29 29 29 29 32 32 32 32 34 34 35 35 36

Nmero de funcin: 5 6 7 8 9 10 1 4 5 6 7 9 1 2 3 4 1 2 1 2 1b

Descripcin de la funcin: Comparacin mayor que Comparacin mayor o igual que Comparacin igual que Comparacin menor que Comparacin menor o igual que Comparacin diferente que Longitud de cadena LEN Cadena media MID Concatenar cadenas CONCAT Insertar cadena INSERT Eliminar cadena DELETE Encontrar cadena FIND Lectura de entrada Escritura de entrada Lectura de salida Escritura de salida Establecimiento biestable dominante Restablecimiento biestable dominante Detector de flanco ascendente Detector de flanco descendente Contador progresivo

Notas sobre extensiones e implementacin: Instruccin GRT en LD y FBD y > en ST. Instruccin GRE en LD y FBD y >= en ST. Instruccin EQU en LD y FBD y = en ST. Instruccin LES en LD y FBD y < en ST. Instruccin LEQ en LD y FBD y <= en ST. Instruccin NEQ en LD y FBD y <> en ST. Contenido como parmetro del tipo de datos STRING Instruccin MID en LD y ST Instruccin CONCAT en LD y ST Instruccin INSERT en LD y ST Instruccin DELETE en LD y ST Instruccin FIND en LD y ST FBD y ST FBD y ST FBD y ST FBD y ST Instruccin SETD en FBD y ST Instruccin RESD en FBD y ST Instruccin OSR en LD e instruccin OSRI en FBD y ST Instruccin OSR en LD e instruccin OSFI en FBD y ST Funcionalidad de las instrucciones CTU y RES en LD y funcionalidad de la instruccin CTUD en FBD Y ST Funcionalidad de la instruccin TON en LD y funcionalidad de la instruccin TONR en FBD y ST Funcionalidad de la instruccin TOF en LD y funcionalidad de la instruccin TOFR en FBD y ST Funcionalidad de la instruccin TON en LD y funcionalidad de la instruccin TONR en FBD y ST Funcionalidad de la instruccin TOF en LD y funcionalidad de la instruccin TOFR en FBD y ST

37

2a

Temporizador de retardo a la conexin

37

3a

Temporizador de retardo a la desconexin

38

Temporizacin de retardo a la conexin

38

Temporizacin de retardo a la desconexin

40 40 40

1a 1b 2a

Paso SFC Paso inicial SFC Paso textual SFC Importacin/exportacin, el nombre del paso se especifica usando el formato Operand := step_name

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-9

Nmero de Tabla:(1) 40

Nmero de funcin: 2b

Descripcin de la funcin: Paso inicial textual SFC

Notas sobre extensiones e implementacin: Importacin/exportacin, usa el parmetro InitialStep y el nombre del paso se especifica usando el formato Operand := step_name Tag de respaldo de paso

40 40 41 41 41 41 41 41 42 42 43 43 43 43 44 44 44 44 44 44 45 45 45 45 45 45 45 45 45 45 45 45

3a 4 1 5 7 7a 7b 7d 1 3s 1 2 3 4 1 2 3 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12

Formato general de indicador de paso SFC Transicin usando ST Formato textual de transicin Nombre de transicin Transicin establecida por LD Transicin establecida por FBD Transicin establecida por ST Accin booleana Representacin textual de accin Asociacin de Paso Accin Paso con acciones concatenadas Cuerpo textual de paso Campo cuerpo accin Calificador de bloque de accin Nombre de bloque de accin Tag indicador de accin Accin usando ST Accin usando LD Accin usando FBD Calificador de accin Ninguno Calificador de accin N No almacenado Calificador de accin R Restablecido Calificador de accin S Establecido / Almacenado Calificador de accin L Tiempo limitado Calificador de accin D Con retardo de tiempo Calificador de accin P Pulso Calificador de accin SD Almacenado y con retardo de tiempo Calificador de accin DS Con retardo de tiempo y almacenado Calificador de accin SL Almacenado y tiempo limitado Calificador de accin P1 Flanco ascendente de pulsos Calificador de accin P0 Flanco descendente de pulsos

Formato general de tiempo transcurrido de paso Tag de respaldo de paso Importacin/exportacin con formato diferente Tag de respaldo de transicin Tag de respaldo de transicin Tag de respaldo de transicin Tag de respaldo de transicin Tag de respaldo de accin Importacin/exportacin

Importacin/exportacin con formato diferente ST incorporado

Extendido para compatibilidad con DINT, INT, SINT o REAL adems de BOOL Compatibles con ST incorporado y rutina JSR a ST Usando rutina JSR a LD Usando rutina JSR a FBD La opcin predeterminada es N cuando None se introduce explcitamente

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-10

Cumplimiento de la norma IEC61131-3

Nmero de Tabla:(1) 45a 45a 46 46 46 46 46 46 46 46 46 47 47 48 48 48 48 48 48 48 55 55

Nmero de funcin: 1 2 1 2a 2b 3 4a 4b 5a, b, c 6a, b, c 7 1 4 1 2 3 4 5 6 7 1 2

Descripcin de la funcin: Control de accin Control de accin Secuencia nica SFC Divergencia de seleccin de secuencias SFC Divergencia de seleccin de secuencias SFC con orden de ejecucin Convergencia de seleccin de secuencias SFC Divergencia de secuencias simultneas SFC Convergencia de secuencias simultneas SFC Salto de secuencia SFC Lazo de secuencia SFC Flechas direccionales de lazo SFC Representacin grfica de SFC Representacin grfica de SFC Requisitos mnimos de cumplimiento de paso SFC Requisitos mnimos de cumplimiento de transicin SFC Requisitos mnimos de cumplimiento de accin SFC Requisitos mnimos de cumplimiento de cuerpo de accin SFC Requisitos mnimos de cumplimiento de calificador de accin SFC Requisitos mnimos de cumplimiento de bifurcacin SFC Requisitos mnimos de cumplimiento de conexin de bloque SFC ST Parntesis (expresin) Evaluacin de funcin ST

Notas sobre extensiones e implementacin:

Uso de conexiones de lnea vs. asterisco

Cuando el cable est oculto

Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Consulte las notas en las tablas individuales anteriores. Uso de formato de invocacin no formal para funciones incorporadas. JSR usada dentro del lenguaje ST para llamar al cdigo desarrollado por el usuario.

55 55 55 55 55 55 55 55 55

3 4 5 6 7 8 9 10 11

ST Exponenciacin ** ST Negacin ST Negacin NOT ST Multiplicar * ST Dividir / ST Modulo MOD ST Sumar + ST Restar ST Comparacin <, >, <=, >=

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-11

Nmero de Tabla:(1) 55 55 55 55 55 55 56 56 56 56 56 56 56 56 56 56 57 57 57 57 57 57 57 58 58 58 58 58 59 59 60 60 61 61 61 62

Nmero de funcin: 12 13 14 15 16 17 1 2 3 4 5 6 7 8 9 10 1, 2 3, 4 5, 6 7, 8 9, 10 11, 12 13,14 2 3 4 5 8 1 2 1 2 1, 2 3, 4 5, 6 1

Descripcin de la funcin: ST Igualdad = ST Desigualdad <> ST Booleano AND como & ST Booleano AND ST Booleano XOR ST Booleano OR Asignacin ST := Invocacin de bloque de funcin ST ST RETORNO ST IF / ELSIF / ELSE/ END_IF ST CASE OF / ELSE / END_CASE ST FOR / END_FOR ST WHILE DO / END_WHILE ST REPEATE / UNTIL / END_REPEAT ST EXIT Comando ST vaco ; Lnea horizontal Lnea vertical Conexin horizontal / vertical Cruces del lneas sin conexin Esquinas con conexin y sin conexin Bloques con conexiones Conectores Salto incondicional Saltar receptor Salto condicional Retorno condicional Retorno incondicional Lnea de tensin izquierda Lnea de tensin derecha Vnculo horizontal Vnculo vertical Contacto normalmente abierto --| |-Contacto normalmente cerrado --| / |-Contacto de deteccin de transicin positiva -| P |Bobina --( )--

Notas sobre extensiones e implementacin:

RET( ) con mltiples parmetros

Editor LD, editor FBD Editor LD, editor FBD Editor LD, editor FBD Editor FBD Editor LD, editor FBD Editor LD, editor FBD Editor FBD Instruccin JMP en LD Instruccin LBL en LD Instruccin JMP en LD Instruccin RET en LD Instruccin RET en LD Editor LD Editor LD Editor LD Editor LD Instruccin XIC en LD Instruccin XIO en LD Instruccin ONS en LD Instruccin OTE en LD

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-12

Cumplimiento de la norma IEC61131-3

Nmero de Tabla:(1) 62 62 62 62
(1)

Nmero de funcin: 3 4 8 9

Descripcin de la funcin: Establecer (enclavar) bobina Restablecer (desenclavar) bobina Bobina de deteccin de transicin positiva Bobina de deteccin de transicin negativa

Notas sobre extensiones e implementacin: Funcionalidad de la instruccin OTL en LD Funcionalidad de la instruccin OTU en LD Instruccin OSR en LD Instruccin OSF en LD

Se omiti la tabla asociada con lenguajes que no son texto estructurado, diagrama de funciones secuenciales, diagrama de lgica de escalera y diagrama de bloques de funciones.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

accin En un diagrama de funciones secuenciales (SFC), una accin representa una divisin funcional de un paso. Varias acciones constituyen un paso. Cada accin realiza una funcin especfica, como por ejemplo, controlar un motor, abrir una vlvula o colocar un grupo de dispositivos en un modo especfico.
Paso Acciones
Hacer esto

MEZCLAR
y hacer esto

Cada accin incluye un calificador. Cuando un paso est activo (se est ejecutando) el calificador determina cundo comienza y se detiene la accin. Vea diagrama de funciones secuenciales, paso, calificador. administrador de fallo del controlador El administrador de fallos de controlador es una tarea opcional que se ejecuta cuando: el fallo mayor no es un fallo de ejecucin de instruccin la rutina de fallo de programa: no puede borrar el fallo mayor. entr en fallo. no existe. Puede crear solamente un programa para el administrador de fallos del controlador. Despus de crear el programa, debe configurar una rutina como la rutina principal. El programa de fallo del controlador no ejecuta una rutina de fallo. Si usted especifica una rutina de fallo para el programa de puesta en marcha, el controlador nunca ejecuta dicha rutina. Puede crear rutinas adicionales y llamarlas desde la rutina principal. administrador de inicializacin Una tarea opcional que se ejecuta cuando el controlador se enciende en el modo Marcha. Para usar el Administrador de inicializacin, se debe crear un programa de encendido y la rutina principal asociada.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

42195

El Administrador de inicializacin se ejecuta de la siguiente manera:

Se encendi el controlador en el modo Marcha? S Contiene un programa el Administrador de inicializacin? S Ocurre el fallo mayor tipo 1, cdigo 1.

No

El controlador permanece en el modo actual.

No

El controlador permanece en el modo Marcha y ejecuta la lgica

Se ejecuta el programa Administrador de inicializacin.

Se borr el fallo mayor?

El controlador permanece en el modo Marcha y ejecuta la lgica

No El controlador entra en el modo fallo.

alcance Define dnde se obtiene acceso a un conjunto determinado de tags. Cuando usted crea un tag, lo asigna (agrupa) como tag de controlador o tag de programa para un programa especfico, tal como se indica a continuacin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

tags a los cuales pueden tener acceso todas las rutinas y dispositivos externos (por ejemplo, controladores)

tags a los cuales slo pueden tener acceso las rutinas en MainProgram

42195

Puede tener mltiples tags con el mismo nombre: Cada tag debe tener una alcance diferente. Por ejemplo, uno de los tags puede ser un tag de controlador y los otros tags pueden ser tags de programa para programas diferentes. O bien, cada tag puede ser un tag de programa para un programa diferente. Dentro de un programa, no es posible hacer referencia a un tag de controlador si un tag con el mismo nombre existe como tag de programa para dicho programa. Vea alcance del controlador, alcance del programa.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

alcance del controlador Estos son datos accesible en cualquier parte del controlador. El controlador contiene un conjunto de tags a los cuales las rutinas y alias pueden referirse en cualquier programa, as como otros alias dentro del alcance del controlador. Vea alcance del programa. alcance del programa Datos accesibles solamente dentro del programa actual. Cada programa contiene un conjunto de tags a los cuales las rutinas y alias pueden referirse en dicho programa. Vea alcance del controlador. almacenar Copiar un proyecto en la memoria no voltil del controlador. Esto sobrescribir cualquier proyecto que est actualmente en la memoria no voltil. Vea cargar, memoria no voltil.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

almacenar en cach Dejar la conexin abierta despus que concluye una instruccin MSG. Esto es til si se ejecuta repetidamente la instruccin MSG puesto que iniciar la conexin cada vez aumenta el tiempo de escn. La tabla siguiente indica cules mensajes usan conexin y si es posible almacenar la conexin en cach:
Este tipo de mensaje: Usando este mtodo de comunicacin: CIP CIP CIP con ID de origen DH+ CIP genrico transferencia en bloques de lectura o escritura N/A N/A  1   2  Usa una conexin:  La cual se puede poner en cach: 

Lectura o escritura de la tabla de datos CIP PLC2, PLC3, PLC5 o SLC (todos los tipos)

1 2

Slo algunos mdulos receptores requieren una conexin.

Considere almacenamiento en cach slo si el mdulo receptor requiere una conexin. Realice los siguientes pasos para seleccionar una opcin de cach para un mensaje que usted puede almacenar en cach.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

1. Cambia la ruta de acceso de un mensaje la lgica? (Por ej., se comunica una instruccin MSG con ms de un dispositivo?)
Si: S No Entonces: A. Borre la casilla de verificacin Cache Connection. B. Omita el paso 2. Vaya al paso 2.

2. A cuntos controladores enva mensajes que usted puede almacenar en cach este controlador?
Si: 16 menos controladores ms de 16 controladores Entonces: Deje seleccionada la casilla de verificacin Cache Connection. A. Seleccione 16 controladores que requieran los mensajes ms frecuentes. B. Se enva este mensaje a uno de esos controladores? Si: S No Entonces Deje seleccionada la casilla de verificacin Cache Connection. Borre la casilla de verificacin Cache Connection.

Vea conexin, conexin sin cach.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

aplicacin La combinacin de rutinas, programas, tareas y configuraciones de E/ S usadas para definir la operacin de un solo controlador. Vea proyecto. ASCII Un cdigo de 7 bits (con un bit de paridad opcional) que se usa para representar caracteres alfanumricos, signos de puntuacin y caracteres de cdigo de control. Para obtener una lista de cdigos ASCII, vea la contraportada de este manual. asncrono Acciones que ocurren independientemente una de otra y que no tienen un patrn regular. En los controladores Logix5000, los valores de E/S se actualizan de manera asncrona a la ejecucin de la lgica. Los programas dentro de una tarea obtienen acceso a los datos de entrada y salida directamente desde la memoria del controlador cubierto. La lgica dentro de cualquier tarea puede modificar los datos de alcance del controlador. Los valores de datos y E/S son asncronos y se pueden cambiar durante la ejecucin de la tarea. Un valor de entrada al cual se hace referencia al inicio de la ejecucin de la tarea puede ser diferente cuando se hace referencia al mismo ms tarde. Asegrese de que la memoria de datos contiene los valores apropiados durante toda la ejecucin de la tarea. Usted puede duplicar o almacenar en un bfer los datos al inicio del escn para proporcionar valores de referencia para la lgica.

ATENCIN

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

bifurcacin No hay un lmite del nmero de niveles de bifurcacin en paralelo que usted puede introducir. La figura siguiente muestra una bifurcacin en paralelo con cinco niveles. El rengln principal es el primer nivel de bifurcacin, seguido por cuatro bifurcaciones adicionales.

instruccin de entrada

instruccin de salida

Se pueden anidar las bifurcaciones hasta en 6 niveles. La figura siguiente muestra una bifurcacin anidada. La instruccin de salida inferior se encuentra en una bifurcacin anidada que tiene tres niveles.
instruccin de entrada instruccin de salida

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

binario Los valores enteros mostrados en pantalla e introducidos en base 2 (cada dgito representa un solo bit). Tiene el prefijo 2#. Se proporcionan espacios para la longitud del valor booleano o entero (1, 8, 16 32 bits). Cuando se muestra en pantalla, cada grupo de cuatro dgitos se separa mediante un carcter de subrayado para facilitar la legibilidad. Vea decimal, hexadecimal, octal. bit Dgito binario. Esta es la unidad ms pequea de memoria. Representado por los dgitos 0 (restablecido) y 1 (establecido). BOOL Un tipo de datos que almacena el estado de un solo bit, donde: 0 es igual a desactivado 1 es igual a activado byte Una unidad de memoria que consiste en 8 bits.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

10

cadena Un grupo de tipos de datos que almacena caracteres ASCII.

42811

42812

Puede usar el tipo de datos STRING predeterminado. ste almacena hasta 82 caracteres.

o bien

Puede crear un nuevo tipo de datos de cadena para almacenar el nmero de caracteres definido.

Cada tipo de datos de cadena contiene los siguientes miembros:


Nombre: LEN Tipo de datos: DINT Descripcin: nmero de caracteres en la cadena Notas: LEN automticamente actualiza el nuevo conteo de caracteres cada vez que usted: usa el cuadro de dilogo Explorador de cadena para introducir caracteres usa instrucciones que leen, convierten o manipulan una cadena LEN muestra la longitud de la cadena actual. El miembro DATA puede contener caracteres adicionales antiguos, los cuales no se incluyen en el conteo de LEN. Datos Matriz SINT Caracteres ASCII de la cadena Para acceder a los caracteres de la cadena, direccione el nombre del tag. Por ejemplo, para acceder a los caracteres del tag string_1, introduzca string_1. Cada elemento de la matriz DATA contiene un carcter. Usted puede crear nuevos tipos de datos de cadena que almacenen menos o ms caracteres.

Los nuevos tipos de datos de cadena son tiles en las siguientes situaciones: Si tiene un gran nmero de cadenas con un tamao fijo de menos de 82 caracteres, puede conservar memoria creando un nuevo tipo de datos de cadena. Si tiene que manejar cadenas de ms de 82 caracteres, puede crear un nuevo tipo de datos de cadena adecuado para el nmero de caracteres requerido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

11

IMPORTANTE

Tenga cuidado cuando cree un nuevo tipo de datos de cadena. Si posteriormente decide cambiar el tamao del tipo de datos de cadena, puede perder datos en cualquier tag que actualmente use ese tipo de datos.
Si usted: hace un tipo de datos de cadena ms pequeo hace un tipo de datos de cadena ms grande Entonces: Los datos se truncan. LEN no se cambia. El dato y LEN se restablecen a cero.

El siguiente ejemplo muestra el tipo de datos STRING y un nuevo tipo de datos de cadena.

Este tag usa el tipo de datos STRING predeterminado.

Este tag es una matriz de 20 elementos del tipo de datos STRING predeterminado.

42234

Este tag usa un nuevo tipo de datos de cadena. El usuario asign al tipo de datos el nombre STRING_24. El nuevo tipo de datos de cadena almacena slo 24 caracteres.

calificador En la accin de un organigrama de funcin secuencial (SFC), un calificador define cundo se inicia y se detiene una accin. Vea accin, diagrama de funciones secuenciales, paso. cambio de estado (COS) Cualquier cambio del estado de un punto o grupo de puntos en un mdulo de E/S.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

12

carga El proceso de transferir el contenido del controlador a un archivo del proyecto en la estacin de trabajo. Si no tiene el archivo de proyecto para un controlador, puede cargar desde el controlador y crear un archivo de proyecto. Sin embargo, no todo lo almacenado en un archivo de proyecto est disponible desde el controlador. Si carga desde un controlador, el nuevo archivo de proyecto no contendr: los comentarios de rengln las descripciones de tags, tareas, programa, rutinas, mdulos o estructuras definidas por el usuario cadenas de alias (seudnimo que indican otros alias) Las cadenas de alias no se reconstruyen completamente desde el controlador. Si hay varios nombres posibles para un tem de datos, el firmware y el software seleccionan el seudnimo ms apto que puede no reflejar cmo se especific el seudnimo en el proyecto original. Vea descarga. cargar Copiar un proyecto desde la memoria no voltil a la memoria de usuario (RAM) del controlador. Esto sobrescribir cualquier proyecto que est actualmente en el controlador. Vea memoria no voltil, almacenar. CIP Vea Protocolo de control e informacin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

13

clave de origen Un mecanismo que limita quin puede ver una rutina. Una clave de origen se asigna a una o ms rutinas. Las claves de origen siguen las mismas reglas para nombres que otros componentes RSLogix 5000, tales como las rutinas, los tags y los mdulos. Para asignar una clave de origen a una rutina (proteger la rutina) use el software RSLogix 5000. (Primero usted tiene que activar la herramienta). Un archivo de claves de origen (sk.dat) almacena las claves de origen. El archivo de claves de origen est separado de los archivos de proyecto RSLogix 5000 (.acd). Para ver una rutina protegida por una clave de origen, usted debe tener la clave de origen. Sin la clave de origen, no se puede abrir una rutina. El software RSLogix 5000 muestra Source Not Available. Independientemente de que la clave de origen est o no est disponible, usted siempre puede descargar el proyecto y ejecutar todas las rutinas. Vea nombre. codificacin electrnica Una funcin de la lnea de E/S 1756 que permite la solicitud de mdulos para realizar una verificacin electrnica a fin de asegurar que el mdulo fsico es igual a lo que configur el software. Habilita al usuario mediante el software para evitar el uso de mdulos incorrectos o revisin incorrectas. Vea mdulo compatible, inhabilitacin de la codificacin, exactamente igual. conexin El mecanismo de comunicacin desde el controlador a otro mdulo en el sistema de control. Existe un lmite del nmero de conexiones que puede tener un solo controlador. Las comunicaciones con los mdulos de E/S, tags consumidos, tags producidos e instrucciones MSG usan conexiones para transferir los datos. conexin bidireccional Una conexin en la cual los datos fluyen en ambas direcciones: desde el originador al receptor y desde el receptor al originador. Vea conexin, conexin unidireccional.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

14

conexin de slo recepcin Una conexin de E/S en la que otro controlador posee/proporciona los datos de configuracin para el mdulo de E/S. Un controlador que usa una conexin de slo recepcin no escribe los datos de configuracin y puede mantener una conexin solamente al mdulo de E/S cuando el controlador propietario est controlando activamente el mdulo de E/S. Vea controlador propietario. conexin sin cach Con la instruccin MSG, una conexin sin cach indica al controlador que cierre la conexin una vez concluida la instruccin MSG. El cortar la conexin la hace disponible para otros usos del controlador. Vea conexin, conexin con cach. conexin unidireccional Una conexin en la cual los datos fluyen en una sola direccin: desde el originador hasta el receptor. Vea conexin, conexin bidireccional. contador Tipo de datos de estructura que contiene la informacin de estado y control para las instrucciones de contador. controlador propietario El controlador que crea la conexin primaria de configuracin y comunicacin a un mdulo. El controlador propietario escribe los datos de configuracin y establece una conexin al mdulo. Vea conexin de slo recepcin.

decimal Los valores enteros mostrados en pantalla e introducidos en base 10. Sin prefijo. No se proporcionan espacios para la longitud del valor entero. Vea binario, hexadecimal, octal. descargar El proceso de transferir el contenido del proyecto en la estacin de trabajo al controlador. Vea carga.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

15

descripcin Texto opcional que se puede usar para documentar ms detalladamente la aplicacin. Se puede usar cualquier carcter imprimible, incluso el retorno de carro, tabulacin y espacio. Las descripciones no se descargan al controlador. stas permanecen en el archivo del proyecto fuera del lnea. Las descripciones tienen las siguientes limitaciones de longitud: Para tags, se puede usar hasta 120 caracteres. Para otros objetos (tareas, programas ,mdulos, etc.) se puede usar hasta 128 caracteres. diagrama de funciones secuenciales Un diagrama de funciones secuenciales (SFC) es similar a un diagrama de flujo. Utiliza pasos y transiciones para controlar una mquina o un proceso. Vea accin, paso, transicin. difusin mltiple Un mecanismo que permite que un mdulo enve datos mediante una red que son recibidos simultneamente por ms de un dispositivo de slo recepcin. Describe la funcin de la lnea de E/S ControlLogix que permite que mltiples controladores reciban datos de entrada simultneamente desde el mismo mdulo de E/S. dimensin La especificacin del tamao de una matriz. Las matrices pueden tener hasta tres dimensiones. Vea matriz.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

16

DINT Un tipo de datos que almacena un valor entero con signo de 32 bits (4 bytes) (2,147,483,648 a +2,147,483,647). En los controladores Logix5000, use DINT para enteros: Los controladores Logix5000 se ejecutan ms eficientemente y usan menos memoria cuando trabajan con enteros de 32 bits (DINT) en lugar de enteros de 16 bits (INT) o enteros de 8 bits (SINT). Normalmente, las instrucciones convierten valores SINT o INT a un tipo de datos ptimo (generalmente un valor DINT o REAL) durante la ejecucin. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT. directa Una conexin de E/S en que el controlador establece conexiones individuales a un mdulo de E/S. Vea rack optimizado.

elemento Una unidad direccionable de datos que es una subunidad de una unidad mayor de datos. Una sola unidad de una matriz. Usted especifica un elemento en una matriz segn sus subndices:
Para esta matriz: una dimensin dos dimensiones tres dimensiones Especifique: array_name[subscript_0] array_name[subscript_0, subscript_1] array_name[subscript_0, subscript_1, subscript_2]

Vea matriz.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

17

en lnea Ver y editar el proyecto en un controlador. Vea fuera de lnea. estilo El formato en que se muestran los valores numricos. Vea ASCII, binario, decimal, exponencial, hexadecimal, octal. estructura Algunos tipos de datos son una estructura. Una estructura almacena un grupo de datos; cada grupo de datos puede ser un tipo de datos diferente. Dentro de una estructura, cada tipo de datos individual se denomina miembro. Al igual que los tags, los miembros tienen un nombre y un tipo de datos. Usted crea sus propias estructuras, llamadas tipo de datos definido por el usuario, usando cualquier combinacin de tags individuales y la mayora de las otras estructuras. Para copiar datos a una estructura, use la instruccin COP. Vea la Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003. Los tipos de datos COUNTER y TIMER son ejemplos de estructuras usadas comnmente.

Para expandir una estructura y mostrar sus miembros, haga clic en el signo +.

estructura COUNTER Para contraer una estructura y ocultar sus miembros, haga clic en el signo . estructura TIMER

miembros de running_seconds

tipos de datos de los miembros

42365

Vea miembro, tipo de datos definido por el usuario.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

18

estructura definida por producto Un tipo de datos de estructura que el software y controlador definen automticamente. La configuracin de un mdulo de E/S aade la estructura definida por producto a dicho mdulo. estructura predefinida Un tipo de datos de estructura que almacena la informacin asociada para una instruccin especfica, tal como la estructura TIMER para las instrucciones de temporizador. Las estructuras predefinidas siempre estn disponibles, independientemente de la configuracin de hardware del sistema. Vea estructura definida por producto. exactamente igual Una proteccin de codificacin electrnica que requiere que todos los atributos (suministrador, nmero de catlogo y atributos de revisin menor) del mdulo fsico y el mdulo configurado en el software sean iguales para establecer una conexin al mdulo. exponencial Los valores reales mostrados en pantalla e introducidos en formato cientfico o exponencial. El nmero siempre se muestra en pantalla con un dgito a la izquierda del punto decimal seguido por la porcin decimal y, luego, por una exponente. Vea estilo. expresin BOOL En texto estructurado, una expresin que produce ya sea el valor BOOL de 1 (verdadero) o 0 (falso). Una expresin bool usa tags bool, operadores de relacin y operadores lgicos para comparar valores y verificar si las condiciones son verdaderas o falsas. Por ejemplo, tag1>65. Una expresin bool simple puede ser un tag BOOL simple. Normalmente se usan expresiones bool para condicionar la ejecucin de la lgica.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

19

expresin numrica En texto estructurado, una expresin que calcula un valor entero o de punto flotante (coma flotante). Una expresin numrica usa operadores aritmticos, funciones aritmticas y operadores de bit. Por ejemplo, tag1+5. Generalmente se anida una expresin numrica dentro de una expresin booleana. Por ejemplo, (tag1+5)>65.

fallo mayor Una condicin de fallo que es suficientemente severa para que el controlador se desactive, a menos que se borre una condicin. Cuando ocurre un fallo mayor, el controlador: 1. Establece un bit de fallo mayor 2. Ejecuta la lgica de fallo proporcionada por el usuario, si existe. 3. Si la lgica de fallo proporcionada por el usuario no puede borrar el fallo, el controlador entra en el modo fallo. 4. Establece las salidas segn su estado de salida durante el modo de programacin. 5. El indicador LED parpadea de color rojo. El controlador es compatible con dos niveles para el manejo de los fallos mayores: la rutina de fallo de programa: Cada programa puede tener su propia rutina de fallo. El controlador ejecuta la rutina de fallo del programa cuando ocurre un fallo de instruccin. Si la rutina de fallo del programa no borra el fallo o si no existe una rutina de fallo del programa, el controlador ejecuta el administrador de fallos del controlador (si se ha definido). administrador de fallo del controlador: Si el administrador de fallos del controlador no existe o no puede borrar el fallo mayor, el controlador entra en el modo fallo y se desactiva. Entonces se actualiza el FAULTLOG. (Vea la pgina siguiente). Todos los fallos no relacionados a las instrucciones (E/S, watchdog de tarea, etc.) ejecutan directamente el manejo de fallos del controlador. (No se llama a una rutina de fallo de programa.) El fallo que no se borr, adems de hasta dos fallos adicionales no borrados, se registran en el registro de fallos del controlador.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

20

ocurre un fallo mayor

Hay un fallo de instruccin? No

El controlador registra un fallo mayor en el programa MajorFaultRecord actual

Existe una rutina de fallo del programa? No

Ejecute la rutina de fallo del programa actual

s Se borr el fallo?

No contina la ejecucin de lgica El controlador registra un fallo mayor al administrador de fallos del controlador PROGRAM MajorFaultRecord

No

Existe el administrador de fallos del controlador s ejecute el administrador de fallos del controlador

s Se borr el fallo?

No contina la ejecucin de lgica

Entre en el modo fallo Desactivacin de registro de FAULTLOG

Vea estado con fallo, fallo menor.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

21

fallo menor Una condicin de fallo no es suficientemente severa para que el controlador se desactive:
Si ocurre lo siguiente: problema con una instruccin El controlador: 1. establece S:MINOR 2. registra informacin acerca del fallo al objeto PROGRAM, atributo MinorFaultRecord 3. establece el bit 4 del objeto FAULTLOG, atributo MinorFaultBits establece el bit 6 del objeto FAULTLOG, atributo MinorFaultBits establece el bit 9 del objeto FAULTLOG, atributo MinorFaultBits establece el bit 10 del objeto FAULTLOG, atributo MinorFaultBits

estructura predefinida problema con el puerto en serie batera baja

Para borrar fallos menores: 1. En el Controller Organizer, haga clic con el botn derecho del mouse en la carpeta Controller name_of_controller y seleccione Properties. 2. Haga clic en la ficha Minor Fault. 3. Utilice la informacin de la lista Recent Faults para corregir la causa del fallo. Refer to Cdigos de fallos menores on page A-3. 4. Haga clic en el botn Clear Minors. Vea fallo mayor. formato de comunicacin Define cmo un mdulo de E/S se comunica con el controlador. La seleccin de un formato de comunicacin define: qu tags de configuracin estn disponibles mediante el software de programacin el mtodo de estructura y la configuracin del tag fuera de lnea Ver y editar un proyecto que est en el disco duro de una estacin de trabajo. Vea en lnea

hexadecimal Los valores enteros mostrados en pantalla e introducidos en base 16 (cada dgito representa 4 bits). Tiene el prefijo 16#. Se proporcionan

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

22

espacios para la longitud del valor booleano o entero (1, 8, 16 32 bits). Cuando se muestra en pantalla, cada grupo de cuatro dgitos se separa mediante un carcter de subrayado para facilitar la legibilidad. Vea binario, decimal, octal. hora coordinada del sistema (CST) Un valor de 64 bits que representa el nmero de microsegundos desde el cual el controlador maestro de la hora coordinada del sistema inici el conteo. El valor CST se almacena como una matriz DINT[2], donde: el primer elemento almacena los 32 bits inferiores el segundo elemento almacena los 32 bits superiores Se puede usar el sello de hora CST para comparar el tiempo relativo entre muestreos de datos.

ndice Una referencia usada para especificar un elemento dentro de una matriz. inhabilitacin de la codificacin Un modo de proteccin de codificacin electrnica que no requiere que sean iguales los atributos del mdulo fsico y el mdulo configurado en el software e igualmente establece una conexin al mdulo. Vea mdulo compatible, exactamente igual.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

23

instruccin El controlador evala las instrucciones de lgica de escalera segn la condicin de rengln que precede a la instruccin (condicin de entrada del rengln).

instruccin de entrada

instruccin de salida

condicin de entrada de rengln

condicin de salida del rengln

Slo las instrucciones de entrada afectan la condicin de entrada de rengln de instrucciones subsiguientes en el rengln. Si la condicin de entrada del rengln a una instruccin de entrada es verdadera, el controlador evala la instruccin y establece la condicin de salida del rengln para que coincida con los resultados de la evaluacin. Si la instruccin se evala como verdadera, la condicin de salida del rengln es verdadera. Si la instruccin se evala como falsa, la condicin de salida del rengln es falsa. Una instruccin de salida no cambia la condicin de salida del rengln. Si la condicin de entrada del rengln a una instruccin de salida es verdadera, la condicin de salida del rengln se establece como verdadera. Si la condicin de entrada del rengln a una instruccin de salida es falsa, la condicin de salida del rengln se establece como falsa. En los controladores Logix5000, se puede introducir mltiples instrucciones de salida por rengln de lgica. Las instrucciones de salida se pueden introducir: en secuencia en el rengln (en serie) entre instrucciones de entrada, siempre que la ltima instruccin del rengln sea una instruccin de salida El siguiente ejemplo usa ms de una salida en un rengln.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

24

EJEMPLO

Colocar mltiples salidas en un rengln

Cuando running_seconds.CU se activa, running_hours cuenta progresivamente un valor de uno y running_seconds se restablece.
running_seconds.DN Count Up Counter Preset Accum CTU running_hours 500 0 CU DN running_seconds RES

Cuando machine_on se activa, activa drill_1_on. Cuando ambos machine_on y drill[1].part_advance estn activados, se activa conveyor_on.
machine_on drill_1_on drill[1].part_advance conveyor_on

42362

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

25

INT Un tipo de datos que almacena un valor entero de 16 bits (2-byte) (32,768 a +32,767). Reduzca al mnimo el uso de este tipo de datos: Normalmente, las instrucciones convierten valores SINT o INT a un tipo de datos ptimo (generalmente un valor DINT o REAL) durante la ejecucin. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT. intervalo entre paquetes solicitados (RPI) Cuando se comunica mediante la red, sta es la cantidad mxima de tiempo entre la produccin subsiguiente de datos de entrada. Este intervalo se configura tpicamente en microsegundos. La produccin de datos est limitada al mltiplo ms grande del tiempo de actualizacin de la red que sea menor que el intervalo entre paquetes solicitados seleccionado. Use una potencia de dos veces el tiempo de actualizacin de la red (NUT) ControlNet. Por ejemplo, si el NUT es 5 ms, escriba un rgimen de 5, 10, 20, 40 ms, etc.

maestro (CST) Se debe asignar solamente un controlador como el maestro de la hora coordinada del sistema (CST) dentro de un solo chasis. Todos los dems mdulos en el chasis sincronizan sus valores de hora coordinada del sistema segn el maestro de hora coordinada del sistema. matriz Una matriz le permite agrupar datos (del mismo tipo de datos) bajo un nombre comn. Una matriz es similar a un archivo. Un subndice (s) identifica a cada elemento individual dentro de la matriz. Un subndice empieza en 0 y se extiende hasta el nmero de elementos menos 1 (basado en cero).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

26

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 . elementos de timer_presets

Esta matriz contiene seis elementos del tipo de datos DINT. seis DINT

42367

Un tag de matriz ocupa un bloque contiguo de memoria en el controlador y cada elemento es secuencial. Se pueden usar instrucciones de secuenciador y matriz para manipular o indizar a travs de los elementos de una matriz Una matriz puede tener hasta tres dimensiones. Esto proporciona flexibilidad para identificar un elemento usando uno, dos o tres subndices (coordenadas). En una matriz con dos o tres dimensiones, la dimensin del extremo derecho incrementa primero en la memoria.

Esta matriz contiene una cuadrcula de elementos de dos dimensiones, seis elementos por seis elementos.

42367

Cuando vuelve a empezar la dimensin del extremo derecho, la dimensin de la izquierda aumenta por un valor de uno.

La dimensin del extremo derecho se incrementa a su valor mximo y luego vuelve a empezar.

El nmero total de elementos en una matriz es el producto del tamao de cada dimensin, como se ilustra en los siguientes ejemplos:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

27

Esta matriz: una dimensin

Almacena los datos como:

Por ejemplo: Nombre de tag: one_d_array Tipo DINT[7] Dimensin 0 7 Dimensin 1 -Dimensin 2 --

nmero total de elementos = 7 rango de subndice vlido DINT[x] donde x=06 dos dimensiones Nombre de tag: two_d_array Tipo DINT[4,5] Dimensin 0 4 Dimensin 1 5 Dimensin 2 --

nmero total de elementos = 4 5 = 20 rango de subndice vlido DINT[x,y] donde x=03; y=04 tres dimensiones Nombre de tag: three_d_array Tipo Dimensin 0 Dimensin 1 3 Dimensin 2 4

DINT[2,3,4] 2

nmero total de elementos = 2 3 4 = 24 rango de subndice vlido DINT[x,y, z] donde x=01; y=02, z=03

Puede modificar las dimensiones de la matriz cuando programa fuera de lnea sin perder los datos del tag. No puede modificar las dimensiones de la matriz cuando programa en lnea.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

28

memoria Medios fsicos de almacenamiento electrnicos incorporados en un controlador y usados para retener programas y datos. memoria no voltil Memoria del controlador que retiene su contenido mientras el controlador no tiene alimentacin elctrica o una batera. Vea cargar, almacenar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

29

miembro Un elemento de una estructura que tiene su propio tipo de datos y nombre. Los miembros pueden ser tambin estructuras creando as tipos de datos de estructura anidada. Cada miembro dentro de una estructura puede ser de un tipo de datos diferente. Para hacer referencia a un miembro en una estructura, use este formato: tag_name.member_name Por ejemplo:
Esta direccin: timer_1.pre input_load as data type load_info input_load.height Hace referencia al: valor PRE de la estructura timer_1. miembro height de la estructura input_load definida por el usuario

Si la estructura est incorporada en otra estructura, use el nombre de tag de la estructura al nivel ms alto seguido por un nombre de tag de subestructura y un nombre de miembro: tag_name.substructure_name.member_name Por ejemplo:
Esta direccin: input_location como ubicacin de tipo de datos input_location.load_info.height Hace referencia al: miembro height de la estructura load_info en la estructura input_location.

Si la estructura define una matriz, use el tag de matriz seguido por la posicin en la matriz y los nombres de subestructura y miembro. array_tag[position].member o bien array_tag[position].substructure_name.member _name

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

30

Por ejemplo:
Esta direccin: conveyor[10].source Hace referencia al: miembro source del 11vo elemento en la matriz conveyor (los elementos de la matriz se basan en cero). miembro height de la estructura info en el 11vo elemento la matriz conveyor (los elementos de la matriz se basan en cero).

conveyor[10].info.height

Vea estructura. modo con fallo El controlador gener un fallo mayor, no pudo borrar el fallo y se ha desactivado. Vea fallo mayor. mdulo compatible Un modo de proteccin de codificacin electrnica que requiere que el suministrador, nmero de catlogo y atributos de revisin mayor del mdulo fsico y del mdulo configurado en el software sean iguales para establecer una conexin al mdulo.Vea inhabilitacin de la codificacin, exactamente igual. mdulo de interface (IFM) Un brazo de cableado de campo de E/S precableadas. mltiples propietarios Una configuracin donde ms de un controlador tiene la misma informacin de configuracin para ser propietario simultneamente del mismo mdulo de entrada.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

31

nombre Los nombres identifican a los controladores, tareas, programas, tags, mdulos, etc. Los nombres siguen las reglas de identificacin IEC-1131-3 y: deben comenzar con un carcter alfabtico (A-Z o A-z) o un carcter de subrayado (_) pueden contener solamente caracteres alfabticos, caracteres numricos y caracteres de subrayado. pueden tener hasta 40 caracteres no deben tener caracteres de subrayado consecutivos ni al final del nombre (_) pueden utilizar maysculas/minsculas se descargan al controlador

objeto Una estructura de datos que almacena la informacin de estado. Cuando se introduce una instruccin GSV/SSV, se especifica el objeto y el atributo del mismo al cual se desea obtener acceso. En ciertos casos, existe ms de una instancia del mismo tipo de objeto, por lo tanto, tambin puede ser necesario especificar el nombre del objeto. Por ejemplo, la aplicacin puede tener diversas tareas. Cada tarea tiene su propio objeto TASK al cual se puede obtener acceso mediante el nombre de la tarea. octal Los valores mostrados en pantalla e introducidos en base 8 (cada dgito representa 3 bits). Tienen el prefijo 8#. Se proporcionan espacios para la longitud del valor booleano o entero (1, 8, 16 32 bits). Cuando se muestra en pantalla, cada grupo de tres dgitos se separa mediante un carcter de subrayado para facilitar la legibilidad. Vea binario, decimal, octal.

paso En un diagrama de funciones secuenciales (SFC), un paso representa una funcin principal de un proceso. Contiene los eventos que ocurren en un momento, fase o estacin especfica.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

32

Paso
Un paso se ejecuta continuamente hasta que una condicin lgica le indique al controlador que vaya al siguiente paso.

Acciones
Hacer esto

MEZCLAR
y hacer esto

Un paso est organizado en una o ms acciones. Cada accin realiza una funcin especfica, como por ejemplo, controlar un motor, abrir una vlvula o colocar un grupo de dispositivos en un modo especfico.

Vea accin, diagrama de funciones secuenciales, transicin. post-escn Una funcin del controlador que permite que se examine la lgica dentro de un programa antes de inhabilitar el programa a fin de restablecer las instrucciones y datos. preescn El preescn es un escn intermedio durante la transicin al modo Marcha. El controlador realiza un preescn cuando se cambia del modo de programacin al modo marcha. El preescn examina todos los programas e instrucciones e inicializa los datos en base a los resultados. Algunas instrucciones se ejecutan de manera diferente durante el preescn que durante el escn normal. prioridad Especifica cul tarea se ejecuta primero si dos tareas se activan simultneamente. La tarea con mayor prioridad se ejecuta primero. Las prioridades tienen un rango de 1 a 15; 1 es la prioridad ms alta. Una prioridad ms alta interrumpe las tareas de prioridad ms baja. Si se activan simultneamente dos tareas con la misma prioridad, el controlador alterna las tareas cada milisegundo.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

33

programa Un conjunto de rutinas y tags relacionados. Cada programa contiene tags de programa, una rutina ejecutable principal, otras rutinas y una rutina de fallo opcional. Para ejecutar las rutinas de un programa, se asigna (se programa) el programa a una tarea: Cuando se activa una tarea, los programas programados dentro de la tarea se ejecutan hasta completarse, desde el primero al ltimo. Cuando una tarea ejecuta un programa, la rutina principal del programa se ejecuta primero. La rutina principal, a su vez, puede ejecutar subrutinas usando la instruccin JSR. La carpeta Unscheduled Program contiene programas que no estn asignados a una tarea. Si la lgica del programa produce un fallo mayor, la ejecucin salta a una rutina de fallo configurada para el programa. Las rutinas dentro de un programa pueden acceder a los siguientes tags: Tags de programa del programa tags de controlador Las rutinas no pueden acceder a los tags de programa de otros programas. Vea rutina, tarea. protocolo de control e informacin El protocolo de mensajes usado por la lnea de equipo de control Logix5000 de Allen-Bradley. El protocolo de comunicaciones nativo que se usa en la red ControlNet. proyecto El archivo en la estacin de trabajo (o servidor) que almacena la lgica, la configuracin, los datos y la documentacin para un controlador. El archivo de proyecto tiene una extensin .ACD. Cuando se crea un archivo de proyecto, el nombre del archivo es el nombre del controlador. El nombre del controlador es independiente del nombre del archivo de proyecto. Si usted guarda un archivo de proyecto actual con otro nombre, no se cambia el nombre del controlador. Si el nombre del controlador es diferente al nombre del archivo del proyecto, la barra de ttulos del software RSLogix 5000 muestra ambos nombres.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

34

Vea aplicacin.

rack optimizado Una conexin de E/S en que el mdulo 1756-CNB recoge palabras de E/S digitales en una imagen de rack (similar A 1771-ASB). Una conexin de rack optimizado conserva las conexiones y el ancho de banda ControlNet; sin embargo, hay disponible informacin limitada de estado y diagnstico cuando se usa este tipo de conexin. Vea directa. REAL Un tipo de datos que almacena un valor de coma flotante de 32 bits (4 bytes) IEEE, con el siguiente rango: 3.40282347E38 a 1.17549435E38 (valores negativos) 0 1.17549435E38 a 3.40282347E38 (valores positivos) El tipo de datos REAL tambin almacena infinito, NAN, y -IND, pero la pantalla del software es diferente segn el formato de la pantalla.
Formato de la pantalla: Real Equivalencia: +infinito infinito +NAN NAN indefinido +infinito infinito +NAN NAN indefinido 1.$ 1.$ 1.#QNAN 1.#QNAN 1.#IND 1.#INF000e+000 1.#INF000e+000 1.#QNAN00e+000 1.#QNAN00e+000 1.#IND0000e+000

Exponencial

El software tambin almacena y muestra el rango subnormal IEEE: 1.17549421E38 a 1.40129846E45 (valores negativos) 1.40129846E45 a 1.17549421E38 (valores positivos)

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

35

rgimen Para una tarea peridica, el rgimen segn el cual el controlador ejecuta la tarea, desde 1 ms hasta 2,000,000 ms (2000 segundos). El valor predeterminado es 10 ms. retiro e insercin con la alimentacin elctrica conectada (RIUP) Una caracterstica de ControlLogix que permite que un usuario instale o retire un mdulo con la alimentacin elctrica del chasis activada. revisin mayor La lnea de mdulos 1756 tiene indicadores de revisin mayor y menor. La revisin mayor se actualiza cuando hay un cambio funcional del mdulo. Vea codificacin electrnica, revisin menor. revisin menor La lnea de mdulos 1756 tiene indicadores de revisin mayor y menor. La revisin menor se actualiza cuando hay un cambio de un mdulo que no afecta la funcin o interface del mismo. Vea codificacin electrnica, revisin mayor.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

36

ruta de acceso La ruta de acceso describe la ruta que sigue el mensaje para llegar al destino. Si la configuracin de E/S del controlador contiene el dispositivo de destino, use el botn Browse para seleccionar el dispositivo. Esto define automticamente la ruta de acceso.

Examinador de ruta de acceso a mensaje Ruta de peer_controller acceso:

peer_controller Configuracin de I/O [0] 1756-CNB/x Local_CNB 2 [0] 1756-CNB/x chassis_b [1] 1756-L55/x peer_controller

peer_controller

Si la configuracin de E/S no contiene el dispositivo, entonces escriba la ruta de acceso al destino usando el siguiente formato: port,address,port,address
donde: port Para este: backplane de cualquier controlador o mdulo 1756 puerto DF1 desde un controlador Logix5000 puerto ControlNet de un mdulo 1756-CNB el puerto EtherNet/IP desde un mdulo 1756-ENBx o -ENET puerto DH+ mediante canal A desde un mdulo 1756-DHRIO puerto DH+ mediante canal B desde un mdulo 1756-DHRIO 3 Representa: 1 2

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

37

address

Backplane ControlLogix red DF1 red ControlNet red DH+

nmero de ranura direccin de estacin (0-254) nmero de nodo (1-99 decimal) 8# seguido del nmero de nodo (1-77 octal). Por ejemplo, para especificar la direccin de nodo octal de 37, escriba 8#37. Usted puede especificar un mdulo en una red EtherNet/IP usando cualquiera de estos formatos: Direccin IP (es decir, 130.130.130.5) Direccin IP: Puerto (es decir, 130.130.130.5:24) Nombre DNS (es decir., depsitos) Nombre DNS: Puerto (es decir, depsitos:24)

red Ethernet/IP

Vea conexin.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

38

rutina Un conjunto de instrucciones de lgica en un solo lenguaje de programacin, tal como el diagrama de escalera. Las rutinas proporcionan el cdigo de ejecucin para el proyecto en un controlador (similar a un archivo de programa en un controlador PLC o SLC). Cada programa tiene una rutina principal: cuando el controlador activa la tarea asociada y ejecuta el programa asociado, la rutina principal es la primera rutina que se ejecuta. Para llamar a otra rutina dentro del programa, introduzca una instruccin JSR en la rutina principal. Tambin se puede especificar una rutina de fallo de programa opcional. Si alguna de las rutinas en el programa asociado producen un fallo mayor, el controlador ejecuta la rutina de fallo del programa. Vea programa, tarea. rutina principal La primera rutina que se ejecuta cuando se ejecuta un programa. Use la rutina principal para llamar (ejecutar) otras rutinas (subrutinas).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

39

segmento del tiempo de procesamiento interno del sistema Especifica el porcentaje de tiempo del controlador (excluyendo el tiempo para las tareas peridicas) que se dedica a la comunicacin y a las funciones de segundo plano (procesamiento interno del sistema): El controlador realiza funciones de procesamiento interno del sistema durante un mximo de 1 ms cada vez. Si el controlador completa las funciones de procesamiento interno en menos de 1 ms, contina con la tarea continua. Las funciones de comunicacin y de segundo plano incluyen lo siguiente: comunicarse con los dispositivos de programacin y HMI (por ejemplo, el software RSLogix 5000) responder a mensajes enviar mensajes, incluyendo transferencias en bloques restablecer y monitorear conexiones de E/S (tales como condiciones RIUP); esto no incluye las comunicaciones de E/ S normales que ocurren durante la ejecucin del programa direccionar de las comunicaciones desde el puerto serie del controlador hacia otros dispositivos ControlLogix mediante el backplane ControlLogix Si las comunicaciones no se estn realizando suficientemente rpido, aumente el segmento de tiempo del procesamiento interno. La siguiente tabla muestra la relacin entre la tarea continua y las funciones de procesamiento interno del sistema:
Con este segmento Las tareas continuas se de tiempo: ejecutan durante: 10% 20% 33% 50% 9 ms 4 ms 2 ms 1 ms Y luego el procesamiento interno se realiza como mximo durante: 1 ms 1 ms 1 ms 1 ms

Con el segmento de tiempo predeterminado de 10 %, el procesamiento del sistema interrumpe la tarea continua cada 9 ms (de tiempo de tarea continua).
Leyenda: La tarea se ejecuta. La tarea se interrumpe (se suspende).

1 ms tiempo de procesamiento interno del sistema 9 ms 9 ms

1 ms

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

40

tarea continua 5 tiempo transcurrido (ms) 10 15 20 25

La interrupcin de una tarea peridica aumenta el tiempo transcurrido (tiempo del reloj) entre la ejecucin del procesamiento interno del sistema.
1 ms tarea peridica 1 ms tiempo de procesamiento interno del sistema 9 ms de tiempo de tarea continua tarea continua 5 tiempo transcurrido (ms) 10 15 20 25 9 ms de tiempo de tarea continua 1 ms 1 ms 1 ms 1 ms

Si se aumenta el segmento de tiempo a 20 %, el procesamiento interno del sistema interrumpe la tarea continua cada 4 ms (de tiempo de tarea continua).
1 ms tiempo de procesamiento interno del sistema 4 ms tarea continua 5 tiempo transcurrido (ms) 10 15 20 25 4 ms 4 ms 4 ms 4 ms 1 ms 1 ms 1 ms 1 ms

Si se aumenta el segmento de tiempo a 50 %, el procesamiento interno del sistema interrumpe la tarea continua cada 1 ms (de tiempo de tarea continua).
1 ms tiempo de procesamiento interno del sistema 1 ms tarea continua 5 tiempo transcurrido (ms) 10 15 20 25

Si el controlador slo tiene una tarea (s) peridica, el valor del segmento de tiempo de procesamiento interno del sistema no tiene

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

41

efecto. El procesamiento interno del sistema se ejecuta cuando no se est ejecutando una tarea peridica.
tarea peridica

tiempo de procesamiento interno del sistema 5 tiempo transcurrido (ms) 10 15 20 25

Para cambiar el segmento del tiempo de procesamiento interno del sistema: 1. Abra el proyecto RSLogix 5000. 2. En el Controller Organizer, haga clic con el botn derecho del mouse en la carpeta Controller name of controller y seleccione Properties. 3. Haga clic en la ficha Advanced. 4. En el cuadro de texto System Overhead Time Slice introduzca o seleccione el porcentaje del tiempo de procesamiento interno (10 90%). 5. Haga clic en OK.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

42

sello de hora Un proceso ControlLogix que registra un cambio de los datos de entrada con una referencia relativa de tiempo respecto a cundo ocurri el cambio. SINT Un tipo de datos que almacena un valor entero con signo de 8 bits (1-byte) (128 a +127). Reduzca al mnimo el uso de este tipo de datos: Normalmente, las instrucciones convierten valores SINT o INT a un tipo de datos ptimo (generalmente un valor DINT o REAL) durante la ejecucin. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT. superposicin de tareas peridicas Una condicin que ocurre cuando una tarea se est ejecutando y la misma tarea se vuelve a activar. El tiempo de ejecucin de la tarea es mayor que el rgimen peridico configurado para dicha tarea. Vea tarea peridica.

tag Un rea determinada de la memoria del controlador donde se almacenan datos. Los tags son el mecanismo bsico para la asignar memoria, hacer referencia a datos de la lgica y monitorizar los datos. La mnima asignacin de memoria para un tag es cuatro bytes. Cuando se crea un tag que almacena un valor BOOL, SINT o INT (los cuales son menores que cuatro bytes), el controlador asigna cuatro bytes, pero los datos slo llenan la parte que necesitan. Las matrices y tipos de datos definidos por el usuario almacenan datos en la memoria contigua y condensan tipos de datos ms pequeos en palabras de 32 bits. Los ejemplos siguientes indican la asignacin de memoria para varios tags: start, que usa el tipo de datos BOOL:

Asignacin de memoria asignacin

Bits 31 no se usa 1 Start 0

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

43

station_status, que usa el tipo de datos DINT:


Asignacin de memoria asignacin Bits 31 station_status 0

mixer, que usa el tipo de datos definido por el usuario:


Asignacin de memoria asignacin 1 asignacin 2 asignacin 3 asignacin 4 Bits 31 24 23 16 15 8 7 0

mixer.pressure mixer.temp mixer.agitate_time


no se usa no se usa no se usa bit 0 mixer.inlet bit 1 mixer.drain bit 2 mixer.agitate

temp_buffer, que es una matriz de cuatro INTS (INT[4] ):


Asignacin de memoria asignacin 1 asignacin 2 Bits 31 16 0

temp_buffer[1] temp_buffer[3]

temp_buffer[0] temp_buffer[2] Vea tag de alias, tag de base, tag consumido. tag consumido Un tag que recibe los datos que son difundidos por un tag producido mediante un backplane, ControlLogix o ControlNet. Un tag consumido debe: estar dentro del alcance del controlador ser del mismo tipo de datos (incluso cualquier dimensin de matriz) que el tag remoto (tag producido) Vea tag producido. tag de alias Un tag que hace referencia a otro tag. Un alias puede referirse A otro alias o un tag base. Un alias tambin puede hacer referencia a un componente de otro tag refirindose a un miembro de una estructura, un elemento de matriz o un bit dentro de un tag o miembro. Vea tag base.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

44

tag de base Un tag que define la memoria en que se almacena el elemento de datos. Vea alias. tag producido Un tag que el controlador hace disponible para uso de otros controladores. Todos los tags producidos siempre son tags del controlador cubiertos. Vea tag consumido. tarea Un mecanismo de programacin para la ejecucin de un programa. Como opcin predeterminada, cada archivo de proyecto nuevo contiene una tarea continua preconfigurada. Se configuran las tareas peridicas adicionales segn sea necesario. Una tarea proporciona informacin de programacin y prioridades para un conjunto de uno o ms programas que se ejecutan segn criterios especficos. 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 Controller Organizer. Slo se puede asignar un programa a una tarea a la vez. Vea tarea continua, tarea peridica. tarea continua La tarea que se ejecuta continuamente. La tarea continua se ejecuta en el segundo plano. Cualquier tiempo de CPU no asignado a otras operaciones (tales tareas de movimiento, comunicaciones y peridicas) se puede usar para ejecutar los programas dentro de la tarea continua. La tarea continua se reinicia por s sola despus que termina el ltimo de sus programas. Un proyecto no requiere una tarea continua. Si se usa, slo puede haber una tarea continua. Todas las tareas peridicas interrumpen a la tarea continua. Cuando se crea un proyecto, la Tarea principal predeterminada es la tarea continua. Puede dejar esta tarea tal como est, o puede cambiar sus propiedades (nombre, tipo, etc.). Vea tarea peridica.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

45

tarea peridica Una tarea que es activada por el sistema operativo en perodos de tiempo repetitivos. Use una tarea peridica para funciones que requieren una ejecucin precisa o determinista. Cuando caduca el tiempo, se activa la tarea y se ejecutan los programas de la misma. Los datos y salidas establecidos por los programas en la tarea retienen sus valores hasta la prxima ejecucin de la tarea o hasta que otra tarea los manipula. El perodo de tiempo se puede configurar de 1 ms a 2000 s. La opcin predeterminada es 10 ms. Asegrese de que el perodo de tiempo sea ms largo que la suma de los tiempos de ejecucin de todos los programas asignados a la tarea. Si el controlador detecta que ocurre una activacin de la tarea peridica para una tarea que ya est en operacin, ocurre un fallo menor.

ATENCIN

Las tareas peridicas siempre interrumpen la tarea continua. Segn el nivel de prioridad, una tarea peridica puede interrumpir otras tareas peridicas en el controlador. Vea tarea continua. tiempo de actualizacin de la red (NUT) El intervalo de tiempo repetitivo durante el cual se pueden enviar datos en una red ControlNet. El tiempo de actualizacin de la red tiene un rango de 2 ms a 100 ms. tiempo de ejecucin El total de tiempo requerido para la ejecucin de un solo programa. El tiempo de ejecucin incluye solamente el tiempo usado por dicho programa y excluye cualquier tiempo compartido/usado por programas en otras tareas que ejecutan otras operaciones. Cuando est en lnea, use el cuadro de dilogo Program Properties para ver el tiempo de escn mximo y el ltimo tiempo de escn (en s) para el programa actual. Estos valores son los tiempos de ejecucin para el programa y no incluyen cualquier tiempo usado en espera de otros programas o tareas de prioridad superior. Vea tiempo transcurrido.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

46

tiempo de escn Vea tiempo transcurrido, tiempo de ejecucin. tiempo transcurrido El total de tiempo necesario para la ejecucin de todas las operaciones configuradas dentro de una sola tarea. Si el controlador est configurado para ejecutar mltiples tareas, el tiempo transcurrido incluye cualquier tiempo usado/ compartido por otras tareas que ejecutan otras operaciones. Mientras est en lnea, usted puede usar el cuadro de dilogo Task Properties para ver el tiempo de escn mximo y el ltimo tiempo de escn en ms para la tarea actual. Estos valores son tiempos transcurridos, los cuales incluyen cualquier tiempo usado en espera de las tareas de prioridad mayor. Vea tiempo de ejecucin. tipo de datos Una definicin del tamao de memoria y la configuracin de memoria que se asignan cuando se crea un tag de ese tipo de datos. tipo de datos definido por el usuario Tambin puede crear sus propias estructuras, llamadas tipo de datos definido por el usuario (tambin comnmente denominadas estructuras definidas por el usuario). Un tipo de datos definido por el usuario agrupa diferentes tipos de datos en una sola entidad. Dentro de un tipo de datos definido por el usuario se definen los miembros. Al igual que los tags, los miembros tienen un nombre y un tipo de datos. Tambin se pueden incluir matrices y estructuras. Una vez que se ha creado un tipo de datos definido por el usuario, se puede crear uno o ms tags usando ese tipo de datos. Reduzca al mnimo el uso de los siguientes tipos de datos porque stos generalmente aumentan los requisitos de memoria y el tiempo de ejecucin de la lgica. INT SINT Por ejemplo, algunos valores del sistema usan el tipo de datos SINT o INT. Si usted crea un tipo de datos definido por el

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

47

usuario para almacenar esos valores, entonces use el tipo de datos SINT o INT correspondiente. Si incluye miembros que representan dispositivos de E/S, debe usar la lgica de escalera para copiar los datos entre los miembros en la estructura y los tags de E/S correspondientes. Vea Cundo almacenar E/S en el bfer en la pgina 12-1. Cuando use los tipos de datos BOOL, SINT o INT, coloque los miembros que usan el mismo tipo de datos en secuencia:
ms eficiente BOOL BOOL BOOL DINT DINT menos eficiente BOOL DINT BOOL DINT BOOL

Puede usar matrices de una dimensin. Puede crear, editar y eliminar los tipos de datos definidos por el usuario solamente cuando programa fuera de lnea. Si modifica un tipo de datos definido por el usuario y cambia el tamao del mismo, los valores existentes de los tags que usan el tipo de datos se ponen en cero (0). Para copiar datos a una estructura, use la instruccin COP. Vea la Logix5000 Controllers General Instructions Reference Manual, publicacin 1756-RM003. Vea estructura.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

48

tipo de datos ptimo Un tipo de datos que usa una instruccin Logix5000 (generalmente los tipos de datos DINT y REAL). En los manuales de referencia del conjunto de instrucciones, un tipo de datos en negrita indica un tipo de datos ptimo. Las instrucciones se ejecutan ms rpidamente y requieren menos memoria si todos los operandos de la instruccin usan: el mismo tipo de datos un tipo de datos ptimo Si combina tipos de datos y usa tags que no son del tipo de datos ptimo, el controlador convierte los datos segn estas reglas Es alguno de los operandos un valor REAL?
Si: S No Entonces los operandos de entrada (por ej. origen, tag en una expresin, lmite) se convierten a: REAL DINT

Despus de la ejecucin de la instruccin, el resultado (un valor DINT o REAL) se convierte al tipo de datos de destino, si es necesario. Puesto que la conversin de datos requiere memoria y tiempo adicional, se puede aumentar la eficiencia de los programas: usando el mismo tipo de datos en toda la instruccin reduciendo al mnimo el uso de tipos de datos SINT o INT En otras palabras, use solamente tags DINT, o solamente tags REAL, junto con valores inmediatos, en las instrucciones. La siguiente tabla resume cmo el controlador convierte datos entre tipos de datos:
Conversin: Resultado:

nmero entero mayor a nmero entero El controlador trunca la porcin superior del nmero entero mayor y genera un overflow. menor Por ejemplo: Decimal DINT INT SINT SINT o INT a REAL 65,665 129 127 Binario 0000_0000_0000_0001_0000_0000_1000_0001 0000_0000_1000_0001 1000_0001

No se pierde la precisin de datos.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

49

Conversin: DINT a REAL

Resultado: Se puede perder la precisin de datos. Los dos tipos de datos almacenan los datos en 32 bit, pero el tipo real usa algunos de sus 32 bits para almacenar el valor de exponente. Si se pierde la precisin, el controlador la toma de la porcin menos significativa del DINT. El controlador redondea la parte fraccionaria y trunca la porcin superior de la parte no fraccionaria. Si se pierden los datos, el controlador establece el indicador de estado de overflow. Los nmeros se redondean de la manera siguiente: Los nmeros que no son x.5 se redondean al nmero ms cercano. X.5 se redondea al nmero par ms cercano. Por ejemplo: REAL (origen) 2.5 1.6 1.5 1.4 1.4 1.5 1.6 2.5 DINT (resultado) 2 2 2 1 1 2 2 2

REAL a nmero entero

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

50

transicin En un organigrama de funciones secuenciales (SFC), una transicin es la condicin o condiciones verdadera(s) o falsa(s) que determina(n) cundo ir al siguiente paso.

valor con punto flotante (coma flotante) Los valores reales que se muestran en pantalla y se introducen en el formato de coma flotante. El nmero de dgitos a la izquierda del punto decimal vara segn el tamao del nmero. Vea estilo. valor inmediato Un valor real o entero con signo de 32 bits. No es un tag que almacena un valor.

watchdog Especifica cunto tiempo una tarea puede ejecutarse antes de activar un fallo mayor. Cada tarea tiene un watchdog que monitorea la ejecucin de la tarea. El rango del tiempo del watchdog puede ser de 1 ms a 2,000,000 ms (2000 segundos). El valor predeterminado es 500 ms. El watchdog comienza a temporizar a partir del inicio de la tarea y se para cuando se han ejecutado todos los programas dentro de la tarea. Si la tarea toma ms tiempo que el tiempo del temporizador de control (watchdog), ocurrir un fallo mayor: (El tiempo incluye las interrupciones por otras tareas). Tambin ocurre un fallo por sobrepasar el tiempo de espera del watchdog (fallo mayor) si se activa nuevamente una tarea cuando sta se est ejecutando (superposicin de tarea peridica). Esto puede ocurrir si una tarea de prioridad inferior es interrumpida por una tarea de prioridad superior, lo cual retarda la realizacin de la tarea de prioridad inferior. Usted puede usar el administrador de fallos del controlador para borrar un fallo del watchdog. Si el mismo fallo del watchdog ocurre dos veces durante el mismo escn de lgica, el controlador entra en el modo fallo, independientemente de que el administrador de fallos del controlador borre el fallo del watchdog.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

51

ATENCIN

Si el watchdog llega a un valor preseleccionado configurable, ocurre un fallo mayor. Dependiendo del administrador de fallos del controlador, es posible que el controlador se desactive.

Para cambiar el tiempo de watchdog de una tarea: 1. Abra el proyecto RSLogix 5000. 2. En el Controller Organizer, haga clic con el botn derecho del mouse en name_of_task y seleccione Properties. 3. Haga clic en la ficha Configuration. 4. En el cuadro de texto Watchdog, escriba un tiempo de watchdog. 5. Haga clic en OK.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

52

Publicacin 1756-PM001E-ES-P - Agosto 2002

ndice
A
abrir rutina 2-8 accin 5-19 almacenar 4-37 aadir 5-16 asignar calificador 5-17 asignar orden 5-22 booleana 4-18 calificador 4-21 cambiar el nombre 5-16 configurar 5-17 no booleana 4-17 programa 4-17, 5-19 restablecer 4-37 seleccionar entre booleano y no booleano 4-17 tipo de datos 4-19 usar expresin 5-18 uso de texto estructurado 5-19 accin booleana 4-18, 5-19 programa 4-18 alarma diagrama de funciones secuenciales 4-26, 5-12 alias crear 10-2 uso 10-1 almacenar accin 4-37 proyecto 23-5 archivo de proyecto crear 1-1 arreglo ndice 11-1 producir arreglo grande 15-1 ASCII asignacin de texto estructurado 6-4 buscar caracteres 17-4 comparar caracteres 17-4, 17-10 conectar dispositivo 16-2 configurar protocolo de usuario 16-5 configurar puerto en serie 16-3 construir cadena 17-18 convertir caracteres 17-12 descodificar mensaje 17-14 escribir caracteres 16-14 extraer caracteres 17-2 introducir caracteres 16-21 leer caracteres 16-9 manipular caracteres 17-1 organizar datos 16-8 asignacin carcter ASCII 6-4 no retentiva 6-3 retentiva 6-2 automatic reset diagrama de funciones secuenciales 4-34

B
bifurcacin diagrama de funciones secuenciales 4-11, 5-5, 5-6 lgica de escalera 8-2 bifurcacin de seleccin asignar prioridades 5-8 crear 5-6 descripcin general 4-14 bifurcacin simultnea 4-15 forzado 18-9, 18-12 introducir 5-5 opcin "step through" 18-9 borrar fallo mayor 13-6, 19-1 fallo menor 21-1 memoria no voltil 23-12 bfer E/S 12-1 buscar un cdigo de barras 17-4

C
cable diagrama de bloques de funcin 7-5, 7-8, 7-18 diagrama de funciones secuenciales 5-9 cadena buscar una matriz de caracteres 17-4 comparar caracteres 17-4, 17-10 convertir caracteres 17-12 crear 17-18 escribir caracteres 16-14 evaluacin en texto estructurado 6-8 extraer caracteres 17-2 introducir caracteres 16-21 leer caracteres 16-9 organizar datos 16-8 Tipo de datos 16-8 calificador asignar 5-17 seleccionar 4-21 cambiar el nombre accin 5-16 bloque de funcin 7-21 paso 5-11 transicin 5-14 carga 13-6 cargar un proyecto 23-9 carpeta abrir 2-7 cerrar 2-7
Publicacin 1756-PM001E-ES-P - Agosto 2002

ii

ndice

CASE 6-16 clave de origen 24-1 cdigo de barras buscar una coincidencia 17-4 extraer caracteres 17-2 probar caracteres 17-4, 17-10 cdigos fallo mayor A-1 fallo menor A-3 comentarios texto estructurado 6-26 comparar Caracteres ASCII 17-4, 17-10 comunicarse otros controladores 14-1 condicin de rengln 8-4 conectar diagrama de funciones secuenciales 4-16 configurar accin 5-17 alarma 5-12 carga desde la memoria no voltil 23-9 cargar desde la memoria no voltil 23-5 driver 13-1 ejecucin del diagrama de funciones secuenciales 4-44, 5-28 paso 5-11 protocolo de usuario para ASCII 16-5 puerto en serie para ASCII 16-3 rutina principal 2-12 conjunto de instrucciones B-4 construccin texto estructurado 6-12 consumir enteros desde PLC-5C 14-9 tag 14-1 control de programa/operador descripcin general 7-12 controlador cambiar propiedades 1-3 desactivar 20-1 descarga 13-3 informacin sobre la memoria 9-6 memoria no voltil 23-3 modo 13-5 suspender 20-1 controller organizer abrir rutina 2-8 navegar 2-7 ControlNet configurar driver 13-1 producir y consumir datos 14-1 convertir Caracteres ASCII 17-12
Publicacin 1756-PM001E-ES-P - Agosto 2002

crear alias 10-2 archivo de proyecto 1-1 cadena 17-18 driver 13-1 estructura 3-8 matriz 3-10 programa 2-10 rutina 2-11 tag 3-10, 8-10

diagrama de bloques de funcin 7-20


tag usando Excel 3-11 tarea peridica 2-9 tipo de datos definido por el usuario 3-8 Tipo de datos STRING 16-8 cuadro de texto diagrama de funciones secuenciales 5-25 mostrar u ocultar en el diagrama de funciones secuenciales 5-26 cumplimiento de la norma IEC61131-3 conjunto de instrucciones B-4 datos

definiciones B-2
introduccin B-1 lenguaje de programacin B-3 portabilidad de programas B-4 sistema operativo B-2 tablas B-5

D
DATA producir y consumir 14-1 Datos ASCII 16-8 Introduzca caracteres ASCII 16-21 datos definiciones B-2 forzado 18-6, 18-8 datos del sistema acceso 9-3 desactivar el controlador 20-1 descarga 13-3 descripcin texto estructurado 6-26 diagrama de bloques de funcin aada un elemento 7-16 aada una hoja 7-16 aplicaciones para 2-5 asigne un valor inmediato 7-22 cambiar el nombre de un bloque 7-21 conecte los elementos 7-19 cree un retardo de escn 7-10 enclavamiento de datos 7-5

ndice

iii

forzar un valor 18-1 mostrar un pin 7-18 ocultar un pin 7-18 orden de ejecucin 7-5 organizacin de las hojas 7-2 resolucin de un lazo 7-8, 7-19 resolucin del flujo de datos entre dos bloques 7-10 seleccin de elementos 7-3 diagrama de funciones secuenciales accin

organizar un proyecto 4-6 paro 4-40 paso

cambiar el nombre 5-11 configurar 5-11 definir 4-6 descripcin general 4-6 organizar 4-11
poner en pausa un SFC 4-45 regresar al paso previo 5-9 reiniciar 4-41 restablecer

asignar orden 5-22 cambiar el nombre 5-16 configurar 5-17 descripcin general 4-17 introducir 5-16 llamar a una subrutina 5-21 programa 5-19 usar una accin booleana 4-18
accin booleana 4-18 anidar 4-43 aplicaciones para 2-5 avanzar un paso en una bifurcacin simultnea 18-9 avanzar un paso en una transicin 18-9 bifurcacin de seleccin

DATA 4-29 SFC 4-41, 4-43, 4-45


secuencia 4-13 transicin

cambiar el nombre 5-14 descripcin general 4-22 programar 5-14


ltimo escn 4-29 direccin asignar indirecta 11-1 tag

asignar prioridades 5-8 crear 5-6 descripcin general 4-14


bifurcacin simultnea

diagrama de bloques de funcin 7-4 lgica de escalera 8-7, 8-10


direccin indirecta 11-1 borrar un fallo mayor 19-6 documentacin mostrar u ocultar en el diagrama de funciones secuenciales 5-26 documentar diagrama de funciones secuenciales 5-23 texto estructurado 6-26 don"t scan diagrama de funciones secuenciales 4-31 driver configurar 13-1

crear 5-5 descripcin general 4-15


calificador 4-21 conectar 4-16 configurar ejecucin 5-28 cuadro de texto 5-25 definir tareas 4-5 documentar 5-23 ejecucin

configurar 4-44 diagramas 4-45 pausa 4-45


elemento de forzado 18-1, 18-9, 18-12 expresin numrica 5-12, 5-18 introducir un nuevo elemento 5-3 llamar a una subrutina 5-21 mostrar u ocultar documentacin 5-26 opcin "step through"

E
E/S bfer 12-1 sincronizar con la lgica 12-1 ejecucin diagrama de funciones secuenciales 4-45, 5-28 eliminar forzado 18-3, 18-13 en serie cableado 16-2 conecte un dispositivo ASCII 16-2 configure el puerto para ASCII 16-3 enclavamiento de datos diagrama de bloques de funcin 7-5
Publicacin 1756-PM001E-ES-P - Agosto 2002

bifurcacin simultnea 18-9 transicin 18-9


opcin automatic reset 4-34 opcin don"t scan 4-31 opcin programmatic reset 4-32 organizar los pasos 4-11

iv

ndice

enviar Caracteres ASCII 16-14 escritura Caracteres ASCII 16-14 Estado monitorear 9-3 estado forzado 18-4 memoria 9-6 monitorear 9-1 estructura crear 3-8 organizar 3-1 SFC_ACTION 4-19 SFC_STEP 4-8 SFC_STOP 4-42 estructura SFC_ACTION 4-19 estructura SFC_STEP 4-8 Estructura SFC_STOP 4-42 Ethernet configurar driver 13-1 producir y consumir tags 14-1 expresin expresin BOOL

diagrama de funciones secuenciales 4-24, 5-14 texto estructurado 6-4


expresin numrica

diagrama de funciones secuenciales 5-12, 5-18 texto estructurado 6-4


orden de ejecucin

crear definido por el usuario 20-1 desarrollar rutina para borrar fallo 19-1 desarrollo de rutina para borrar el fallo 22-1 direccin indirecta 19-6 durante el preescn 19-6 monitorizar menor 21-1 prueba de una rutina de fallo 19-10 fallo mayor cdigos A-1 crear definido por el usuario 20-1 desarrollar una rutina de fallo 19-1 desarrollo de rutina de fallo 22-1 fallo menor borrar 21-1 cdigos A-3 lgica 21-1 FORDO 6-18 forzado diagrama de funciones secuenciales 18-9, 18-12 eliminar 18-3, 18-13 habilitar 18-2 indicador LED 18-4 inhabilitar 18-3, 18-13 monitorear 18-4 opciones 18-6 precauciones de seguridad 18-2 tag 18-6, 18-8 funciones texto estructurado 6-5

G
guardar 1-3 guardar como 1-3

texto estructurado 6-10


texto estructurado

descripcin general 6-4 funciones 6-5 operadores aritmticos 6-5 operadores de bit 6-10 operadores de relacin 6-7 operadores lgicos 6-9
expresin BOOL diagrama de funciones secuenciales 4-24, 5-14 texto estructurado 6-4 expresin numrica 5-12, 5-18, 6-4 extraer Caracteres ASCII 17-2

H
habilitar forzado 18-2 Herramienta de proteccin de origen RSLogix 5000 24-1 hoja aadir 7-16 conectar 7-23 diagrama de bloques de funcin 7-2

I
ICON aadir 7-23 introducir 7-16 seleccin 7-3 IF...THEN 6-13 indicador "assume data available" 7-8, 7-10, 7-19 indicador LED forzado 18-4

F
fallo borrar 13-6, 19-1 cdigos de fallo mayor A-1 cdigos de fallos menores A-3
Publicacin 1756-PM001E-ES-P - Agosto 2002

ndice

inhabilitar forzado 18-3, 18-13 instruccin EOT 4-25 instruccin SFP 4-45 instruccin SFR 4-41, 4-43, 4-45 introducir accin 5-16 bifurcacin de seleccin 5-6 bifurcacin simultnea 5-5 Caracteres ASCII 16-21 diagrama de funciones secuenciales 5-3 direccin 8-10 elemento de bloque de funcin 7-16 ICON 7-23 lgica de escalera 8-9 OCON 7-23 IREF enclavamiento de datos 7-5 introducir 7-16 para asignar un valor inmediato 7-22 seleccin 7-3

almacenar un proyecto 23-5 borrar 23-12 cargar opciones de imagen 23-5 cargar un proyecto 23-9 controladores compatibles 23-3 descripcin general 23-1 Tarjeta 1784-CF64 Industrial CompactFlash 23-4 Verificar una carga 23-11 mensaje a mltiples controladores 14-13 a un solo controlador 14-11 descodificar cadena 17-14 modo controlador 13-5 modo marcha 13-5 modo programa 13-5 modo prueba 13-5 monitorear forzados 18-4

N
nombre nombre de tag 7-4, 8-7 nmero de ranura 1-3

L
lazo de retroalimentacin diagrama de bloques de funcin 7-8 lazo no resuelto diagrama de bloques de funcin 7-8 lectura Caracteres ASCII 16-9 lenguaje de programacin cumplimiento de la norma IEC61131-3 B-3 seleccionar 2-5 lgica de escalera anular un valor 18-1 aplicaciones para 2-5 asigne un valor inmediato 8-12 bifurcacin 8-2 condicin de rengln 8-4 desarrollo 8-5 forzar un valor 18-1 introducir 8-9 organice las instrucciones de entrada 8-6 organice las instrucciones de salida 8-7

O
OCON aadir 7-23 introducir 7-16 seleccin 7-3 opcin "step through" bifurcacin simultnea 18-9 transicin 18-9 opcin programmatic reset 4-32 operadores orden de ejecucin

texto estructurado 6-10


operadores aritmticos texto estructurado 6-5 operadores de bit texto estructurado 6-10 operadores de relacin texto estructurado 6-7 operadores lgicos texto estructurado 6-9 operadores matemticos texto estructurado 6-5 orden de ejecucin diagrama de bloques de funcin 7-5 expresin de texto estructurado 6-10 OREF introducir 7-16 seleccin 7-3

M
manipular cadena 17-1 marcar como booleana 5-19 matriz crear 3-10 organizar 3-1 memoria 9-6 memoria no voltil

Publicacin 1756-PM001E-ES-P - Agosto 2002

vi

ndice

organizar cadenas 16-8 estructura 3-1 matriz 3-1 tag 3-1

P
paro diagrama de funciones secuenciales 4-40 Tipo de datos 4-42 paso alarma 4-26 aadir una accin 5-16 asignar tiempo preseleccionado 5-11 bifurcacin de seleccin 4-14 bifurcacin simultnea 4-15 cambiar el nombre 5-11 configurar 5-11 configurar alarma 5-12 definir 4-6 organizar en diagrama de funciones secuenciales 4-11 secuencia 4-13 temporizador 4-26 tipo de datos 4-8 peso convertir 17-12 PLC-5C compartir datos 14-6, 14-7, 14-9 poner en pausa un SFC 4-45 post-escn diagrama de funciones secuenciales 4-29 texto estructurado 6-3 preescn borrar un fallo mayor 19-6 prioridad bifurcacin de seleccin 5-8 tarea peridica 2-3 producir arreglo grande 15-1 tag 14-1 tags para PLC-5C 14-6, 14-7 programa accin 4-17, 5-19 accin booleana 4-18 crear 2-10 portabilidad B-4 rutina principal 2-12 programar transicin 5-14 proteccin de origen de rutina 24-1 proteger proyecto 24-1, 24-12 rutina 24-1
Publicacin 1756-PM001E-ES-P - Agosto 2002

protocolo de usuario configurar para ASCII 16-5 proyecto almacenar en la memoria no voltil 23-5 carga 13-6 carga desde la memoria no voltil 23-9 cargar desde la memoria no voltil 23-5 descarga 13-3 memoria no voltil 23-1 proteger 24-1, 24-12 restringir acceso 24-12 verificar 2-12 prueba de una rutina de fallo 19-10

R
reiniciar diagrama de funciones secuenciales 4-41 REPEATUNTIL 6-23 restablecer accin 4-37 SFC 4-41 restablecer un SFC 4-43, 4-45 retardo de escn diagrama de bloques de funcin 7-10 RSLinx configurar 13-1 rutina abrir 2-8 anidar dentro de un diagrama de funciones secuenciales 4-43 como transicin 4-25 configurar como rutina principal 2-12 crear 2-11 proteger 24-1 restringir acceso 24-1 verificar 5-29, 7-24, 8-12 rutina principal usar el diagrama de funciones secuenciales 4-6

S
salto diagrama de funciones secuenciales 4-16 seguridad proteger un proyecto 24-12 proteger una rutina 24-1 smbolo crear 10-1 sistema operativo B-2 software RSI Security Server 24-12 software Security Server 24-12 string manipular 17-1

ndice

vii

suspender controlador 20-1

T
tabla de datos 3-1 tablas sobre cumplimiento B-5 tag asignar 8-10

diagrama de bloques de funcin 7-20


cadena 16-8 compartir con PLC-5C 14-6, 14-7, 14-9 crear 3-10, 8-10 crear alias 10-2 crear usando Excel 3-11 forzado 18-6, 18-8 introducir 8-10 organizacin para mensajes 14-11 organizar 3-1 producir arreglo grande 15-1 producir y consumir 14-1 seleccin del nombre 7-4 seleccione el nombre 8-7 tamao de chasis 1-3 tarea definir 2-4, 4-5 tarea peridica aplicacin para 2-6, 4-5 crear 2-9 Tarjeta 1784-CF64 Industrial CompactFlash 23-4 texto estructurado aplicaciones para 2-5 asignacin 6-2 asignacin no retentiva 6-3 asigne un carcter ASCII 6-4 CASE 6-16 comentarios 5-23, 6-26 componentes 6-1 construcciones 6-12 en accin 5-19 evaluacin de cadenas 6-8 expresin 6-4 expresin numrica 6-4 FORDO 6-18

forzar un valor 18-1 funciones 6-5 IF...THEN 6-13 operadores aritmticos 6-5 operadores de bit 6-10 operadores de relacin 6-7 operadores lgicos 6-9 REPEATUNTIL 6-23 WHILEDO 6-21 tipo de datos definido por el usuario crear 3-8 Tipo de datos STRING crear 16-8 transicin cambiar el nombre 5-14 definir 4-22 expresin BOOL 4-24 forzado 18-9, 18-12 instruccin EOT 4-25 llamar a una subrutina 5-15 opcin "step through" 18-9 programar 5-14 seleccionar mtodo de programacin 4-24 usar una subrutina 4-25

U
ltimo escn diagrama de funciones secuenciales 4-29

V
valor inmediato diagrama de bloques de funcin 7-22 lgica de escalera 8-12 verificar proyecto 2-12 rutina 5-29, 7-24, 8-12

W
WHILEDO 6-21

Publicacin 1756-PM001E-ES-P - Agosto 2002

viii

ndice

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cdigos de caracteres ASCII


Carcter [ctrl-A] SOH [ctrl-B] STX [ctrl-C] ETX [ctrl-D] EOT [ctrl-E] ENQ [ctrl-F] ACK [ctrl-G] BEL [ctrl-H] BS [ctrl-I] HT [ctrl-J] LF [ctrl-K] VT [ctrl-L] FF [ctrl-M] CR [ctrl-N] SO [ctrl-O] SI [ctrl-P] DLE [ctrl-Q] DC1 [ctrl-R] DC2 [ctrl-S] DC3 [ctrl-T] DC4 [ctrl-U] NAK [ctrl-V] SYN [ctrl-W] ETB [ctrl-X] CAN [ctrl-Y] EM [ctrl-Z] SUB ctrl-[ ESC [ctrl-\] FS ctrl-] GS [ctrl-^] RS [ctrl-_] US ESPACIO ! # $ % Dec 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Hex $00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $l ($0A) $0B $0C $r ($0D) $0E $0F $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1A $1B $1C $1D $1E $1F $20 $21 $22 $23 $24 $25 Carcter & ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B c d e f G H i J K Dec 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 Hex $26 $27 $28 $29 $2A $2B $2C $2D $2E $2F $30 $31 $32 $33 $34 $35 $36 $37 $38 $39 $3A $3B $3C $3D $3E $3F $40 $41 $42 $43 $44 $45 $46 $47 $48 $49 $4A $4B Carcter l M N O P Q r S t u V W X Y Z [ \ ] ^ _ a B c d e f g H i j k l M N O P q Dec 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 Hex $4C $4D $4E $4F $50 $51 $52 $53 $54 $55 $56 $57 $58 $59 $5A $5B $5C $5D $5E $5F $60 $61 $62 $63 $64 $65 $66 $67 $68 $69 $6A $6B $6C $6D $6E $6F $70 $71 Carcter r S t u v W X y z { | } ~ DEL Dec 114 115 116 117 118 119 120 121 122 123 124 125 126 127 Hex $72 $73 $74 $75 $76 $77 $78 $79 $7A $7B $7C $7D $7E $7F

[ctrl-@] NUL 0

Servicio de soporte de Rockwell Automation

Para obtener asistencia tcnica, llame al representante regional de Rockwell Automation o comunquese con Rockwell Automation de la siguientes manera:
Telfono Estados Unidos/Canad Fuera de Estados Unidos/Canad 1.440.646.5800 Puede obtener el nmero telefnico para su pas mediante la Internet: 1. Vaya a http://www.ab.com 2. Haga clic en Product Support (http://support.automation.rockwell.com) 3. Bajo Support Centers, haga clic en Contact Information 1. Vaya a http://www.ab.com 2. Haga clic en Product Support (http://support.automation.rockwell.com)

Internet

Contraportada

Allen-Bradley, ControlLogix, DH+, Logix5000, PLC-5, RSLogix 5000, RSLinx, RSNetWorx y SLC son marcas comerciales de Rockwell Automation. ControlNet es una marca comercial de ControlNet International, Ltd. Ethernet es una marca comercial de Digital Equipment Corporation, Intel y Xerox Corporation.

Publicacin 1756-PM001E-ES-P - Agosto 2002 1


Sustituye a la publicacin 1756-PM001D-ES-P - Noviembre 2001

PN 957678-92
2002 Rockwell Automation. Todos los derechos reservados. Impreso en EE.UU.

También podría gustarte