Вы находитесь на странице: 1из 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

!
IMPORTANTE

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.

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

Esta versin del documento contiene informacin nueva y actualizada.

Informacin actualizada

El documento contiene los cambios siguientes:

Cambio:

Captulo/Apndice:

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

18

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)

23

Procedimientos actualizados para la funcin de proteccin de la rutina de origen

24

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

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:

Identifica:

Por ejemplo:

Cursiva

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

Haga clic con el botn derecho del mouse


en el tem que tiene el nombre Definido
por el usuario.

negrita

una entrada en el Glosario

Si desea informacin adicional, consulte


nombre en el Glosario.

Escriba un nombre

Significa:

Si est viendo el archivo PDF del manual,


haga clic en nombre para saltar a la
entrada del glosario.
courier

informacin que debe suministrar


basada en su aplicacin (una
variable)

Haga clic con el botn derecho


del mouse en
name_of_program

Usted debe identificar el programa


especfico en la aplicacin.
Generalmente es un nombre o variable
que usted ha definido.

entre corchetes

una tecla del teclado

Presione [Enter].

Presione la tecla Enter.

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

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

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

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

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

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

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

Captulo 3
Organizacin de tags

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

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

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

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

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

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

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

Captulo 5
Programacin de un diagrama de
funciones secuenciales

Publicacin 1756-PM001E-ES-P - Agosto 2002

Tabla de contenido

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

iii

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

8-1
8-1
8-1
8-2
8-2
8-2

Captulo 7
Programacin de un diagrama de
bloques de funcin

Captulo 8
Programacin de lgica de
escalera

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cundo usar este procedimiento .


Antes de usar este procedimiento
Cmo usar este procedimiento . .
Definiciones . . . . . . . . . . . . . . . .
Instruccin . . . . . . . . . . . . . .
Bifurcacin . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

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

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

Captulo 9
Acceso a valores del sistema

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

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

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Captulo 17
Procesamiento de caracteres
ASCII

Publicacin 1756-PM001E-ES-P - Agosto 2002

17-1
17-1
17-2
17-4
17-5
17-6
17-8
17-9

Tabla de contenido

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

vii

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

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

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

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

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

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

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

Captulo 18
Forzado de elementos lgicos

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

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

Tabla de contenido

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

ix

. 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

Guarde los cambios

1-3

A medida que vaya creando la lgica y haciendo cambios de


configuracin, guarde su proyecto.
Para:

Haga lo siguiente:

guardar los cambios

En el men Archivo, seleccione Guardar.

haga una copia del proyecto


abierto pero mantenga el
nombre existente del
controlador

A. En el men Archivo, seleccione Guardar como.


B. Introduzca un nombre para el archivo del
proyecto. Use subrayado [ _ ] en lugar de
espacios.
C. Haga clic en Guardar.

haga una copia del proyecto y


asigne un nombre diferente al
controlador.

A. En el men Archivo, seleccione Guardar como.


B. Introduzca un nombre para el archivo del
proyecto. Use subrayado [ _ ] en lugar de
espacios.
C. Haga clic en Guardar.
D. En el Organizador de controller, haga clic con el
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:

Antes de comenzar

Para determinar cules lenguajes de programacin estn instalados en


la versin del software RSLogix 5000:

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

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 continua

tarea

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

EJEMPLO

Tarea:

Tipo de tarea:

Nivel de prioridad: Tiempo de


ejecucin:

20 ms peridica

2 ms

10 ms peridica

10

4 ms

continua

ninguno (ms bajo)

24 ms

Leyenda:
La tarea se ejecuta.
La tarea se interrumpe (se suspende).

Tarea 1

Tarea 2

Tarea 3
5

10

15

20

25

30

35

40

45

50

tiempo transcurrido (ms)

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:

Entonces use este lenguaje:

ejecucin continua o paralela de mltiples operaciones


(que no tienen secuencia)

lgica de escalera

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

diagrama de bloques de funcin

control de lazo
clculos en flujo de circuito
administracin de alto nivel de mltiples operaciones
secuencias de operaciones repetitivas

Use un diagrama de funciones


secuenciales (SFC)

proceso de lote
control de movimiento usando texto estructurado
estado de operaciones de mquina
operaciones matemticas complejas

texto estructurado

procesamiento de lazo o matriz especial


manejo de cadenas ASCII o procesamiento de protocolo

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:

Entonces:

a un rgimen constante (por ej., ejecutar un


lazo PID cada 100 ms)

asigne la funcin a una rutina dentro de una


tarea peridica

muy rpidamente
cuando ocurre un evento especfico o un
conjunto de condiciones lgicas

asigne la funcin a una rutina dentro de la


tarea continua (por ej., MainTask)

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tareas, programas y rutinas

Use el Controller Organizer

2-7

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:

Entonces:

Failed to open the routine


editor not installed

El editor del lenguaje de la rutina no est instalado. Para obtener una lista de los paquetes de software
disponibles, consulte el documento ControlLogix Selection Guide, publicacin 1756-SG001.

Source not available

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

Cree una tarea peridica

2-9

Una tarea peridica realiza una funcin o funciones segn un rgimen


especfico.

ATENCIN

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.

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

Cree una rutina

2-11

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:

Descripcin:

alcance

define que rutinas pueden tener acceso a los datos

nombre

identifica a los datos (tags con diferentes alcances


pueden tener el mismo nombre).

tipo de datos

define la 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:

Seleccione:

dispositivo analgico en modo de coma flotante

REAL

dispositivo analgico en modo entero (para velocidades de


muestreo muy rpidas)

INT

Caracteres ASCII

string

bit

BOOL

contador

COUNTER

seal de E/S digital

BOOL

nmero de coma flotante

REAL

entero (nmero entero)

DINT

secuenciador

CONTROL

temporizador

TIMER

Publicacin 1756-PM001E-ES-P - Agosto 2002

3-2

Organizacin de tags

Use la siguiente tabla para organizar los datos:


Para un:

Use un:

Referencia:

grupo de atributos comunes


usados por ms de una mquina

tipo de datos
definido

Vea Creacin de un tipo de


datos definido por el usuario en
la pgina 3-8.

grupo de datos con el mismo tipo


de datos

maestro (CST)

Vea Creacin de un tag en la


pgina 3-10.

valor nico

tag de un
elemento nico

dispositivo de E/S

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

EJEMPLO

3-3

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 .

Esta matriz contiene


seis elementos del
tipo de datos DINT.

elementos de
timer_presets

seis DINT

42367

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

EJEMPLO

3-5

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

Descripcin

1.5

2.5

1.25

1.25

1.25

Posicin del primer agujero desde el borde delantero


del libro

8.0

5.5

3.5

3.5

Posicin del segundo agujero desde el borde


delantero del libro

9.75

7.5

5.5

Posicin del tercer agujero desde el borde delantero


del libro

9.75

7.5

Posicin del cuarto agujero desde el borde delantero


del libro

9.75

Posicin del quinto agujero desde el borde delantero


del libro

0
1
2
3
4
5

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

Tipo de datos

temp

REAL

banda muerta

REAL

paso

DINT

step_time

TIMER

preseleccionado

DINT[6]

combinacin

BOOL

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

matriz de recetas

Esta matriz contiene


tres elementos del
tipo de datos TANK.

primera receta

miembros de la receta

42368

Publicacin 1756-PM001E-ES-P - Agosto 2002

Organizacin de tags

3-7

Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar
una mquina

EJEMPLO

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

Tipo de datos

part_advance

BOOL

hole_sequence

CONTROL

type

DINT

hole_position

REAL

depth

REAL

total_depth

REAL

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

matriz de taladros

Esta matriz contiene


cuatro elementos del
tipo de datos
DRILL_STATION.

primer taladro

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.

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

7.

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:

Entonces:

Repita los pasos 4. a 8.

No

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

menos eficiente

BOOL

BOOL

BOOL

DINT

BOOL

BOOL

DINT

DINT

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:

Entonces seleccione:

en ms de un programa dentro del


proyecto

name_of_controller (controlador)

como productor o consumidor


en un mensaje
en solamente un programa dentro del
proyecto

programa que usar el tag

3. Introduzca un nombre para el tag.


4. Introduzca el tipo de datos:
Si el tag:

Entonces escriba:

no es un maestro (CST) (archivo)

data_type

una dimensin matriz

data_type[x]

una matriz de dos dimensiones

data_type[x,y]

una matriz de tres dimensiones

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

Creacin de tags usando


Microsoft Excel

3-11

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

ALCANCE

TAG

NOMBRE

DESCRIPCIN

in_cycle

TIPO DE DATOS
DINT

TIPO

ALCANCE

NOMBRE

DESCRIPCIN

TIPO DE DATOS

TAG

MainProgram

conveyor_alarm

BOOL

TAG

MainProgram

conveyor_on

BOOL

TAG

MainProgram

drill_1

DRILL_STATION

TAG

MainProgram

hole_position

REAL[6,6]

TAG

MainProgram

machine_on

BOOL

8.

9.

10.

11.

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

Entonces:

controlador

Deje esta celda vaca.

programa

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:

Use un:

enviar datos por el backplane y la red ControlNet a un


intervalo especificado

tag producido

recibir datos de otro controlador por el backplane o la red


ControlNet a un intervalo especificado

tag consumido

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

Definir las tareas

4-5

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:

Vaya aqu:

configurar y regular dispositivos

tarea peridica

comandar de un estado especfico para un


dispositivo

SFC en la tarea continua

establecer una secuencia de la ejecucin


del proceso

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.

EJEMPLO

Definir las tareas

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:

Entonces:

El SFC es la nica rutina en el programa.

Configure el SFC como la rutina principal


del programa.

El SFC llama a todas las otras rutinas del


programa.
El programa requiere que otras rutinas se
ejecuten independientemente del SFC.
El SFC usa acciones booleanas.

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

segunda pasada

tercera pasada

Pintar

Transfer_In

Transfer_In

Pintar

Paint_Flow

Air_Flow

Limpiar

Limpiar

Transfr_Out

Transfr_Out

Elec_Charg

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:

Representa:

produce_solution

probablemente
demasiado grande

set_mode, close_outlet, set_temperature,


open_inlet_a, close_inlet_a, set_timer,
reset_temperature, open_outlet, reset_mode

probablemente
demasiado pequeo

preset_tank, add_ingredient_a, cook, drain

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:

Tipo de
datos:

Detalles:

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

PRE

DINT

Introduzca el tiempo en el miembro preseleccionado (PRE). Cuando


el temporizador (T) llega al valor preseleccionado, el bit de
efectuado (DN) se activa y permanece activado hasta que el paso
vuelva a activarse.

Entonces
verifique o
establezca este
miembro:

determinar cunto tiempo


estuvo activo un paso
(milisegundos)

indicar cuando el paso ha estado


activo durante un tiempo
especfico (milisegundos)

Como opcin, introduzca una expresin numrica que calcule el


tiempo durante la ejecucin.

indicar si un paso no se ejecut


el tiempo suficiente

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.

LimitLow

DINT

Introduzca el tiempo en el miembro LimitLow (milisegundos).


Si el paso se desactiva antes que el temporizador (T)
llegue al valor de LimitLow, se activa el bit AlarmLow.
El bit AlarmLow permanecer activado hasta que usted lo
restablezca.
Para usar esta funcin de alarma, active (seleccione) el bit
AlarmEnable (AlarmEn).
Como opcin, introduzca una expresin numrica que calcule el
tiempo durante la ejecucin.

AlarmEn

BOOL

Para usar los bits de alarma, active (seleccione) el bit AlarmEnable


(AlarmEn).

AlarmLow

BOOL

Si el paso se desactiva antes que el temporizador (T) llegue al


valor de LimitLow, se activa el bit AlarmLow.
Este bit permanecer activado hasta que usted lo
restablezca.
Para usar esta funcin de alarma, active (seleccione) el bit
AlarmEnable (AlarmEn).

LimitHigh

DINT

Introduzca el tiempo en el miembro LimitHigh (milisegundos).


Si el temporizador (T) llega al valor de LimitHigh, se
activar el bit AlarmHigh.
El bit AlarmHigh permanecer activado hasta que usted lo
restablezca.
Para usar esta funcin de alarma, active (seleccione) el bit
AlarmEnable (AlarmEn).

indicar si un paso se est


ejecutando demasiado tiempo

Como opcin, introduzca una expresin numrica que calcule el


tiempo durante la ejecucin.
AlarmEn

BOOL

Para usar los bits de alarma, active (seleccione) el bit AlarmEnable


(AlarmEn).

AlarmHigh

BOOL

Si el temporizador (T) llega al valor de LimitHigh, se activar el bit


AlarmHigh.
Este bit permanecer activado hasta que usted lo
restablezca.
Para usar esta funcin de alarma, active (seleccione) el bit
AlarmEnable (AlarmEn).

Publicacin 1756-PM001E-ES-P - Agosto 2002

Diseo de un diagrama de funciones secuenciales

Si desea:

hacer algo mientras el paso est


activo (incluyendo el primer y
ltimo escn)

Entonces
verifique o
establezca este
miembro:
X

Tipo de
datos:

Detalles:

BOOL

El bit X est activado todo el tiempo que el paso est activo


(ejecutndose).

4-9

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

SA

BOOL

El bit SA est activo cuando el paso est activo, excepto durante


el primer y ltimo escn del paso.

hacer algo una vez en el ltimo


escn del paso

LS

BOOL

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.

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.

determinar el tiempo mximo


que un paso estuvo activo
durante cualquiera de sus
ejecuciones

TMax

DINT

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.

OV

BOOL

selo para fines de diagnstico.

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.

determinar si el valor del


temporizador (T) se reinicia a un
valor negativo
determinar cuntas veces se
activ un paso

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-10

Diseo de un diagrama de funciones secuenciales

Si desea:

Entonces
verifique o
establezca este
miembro:

usar un tag para los diversos bits


de estado de este paso

Status

Tipo de
datos:

Detalles:

DINT

Para este miembro: Use este bit:


Reset

22

AlarmHigh

23

AlarmLow

24

AlarmEn

25

OV

26

DN

27

LS

28

SA

29

FS

30

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

ltimo escn

Diseo de un diagrama de funciones secuenciales

Organizar los pasos

4-11

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

Descripcin general
Para:

Use esta estructura:

Con estas consideraciones:

Ejecutar 1 o ms pasos en secuencia:


Uno se ejecuta repetidamente.
Luego el siguiente se ejecuta
repetidamente.

Secuencia

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

Realizar un lazo a un paso previo

Conectar a un paso previo

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.

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:

Ejemplo de solucin:

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.

Bifurcacin simultnea

45

Dependiendo del cdigo de construccin, una estacin perfora o


pule.

46

Bifurcacin de seleccin

Perforar

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

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.

Pulir

Comunicacion

BTs

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

Correcto

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

ruta de una bifurcacin de seleccin que


regresa a un paso previo

Diseo de un diagrama de funciones secuenciales

Aadir acciones para cada


paso

4-17

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:

Entonces:

ejecutar texto estructurado directamente en el SFC

Usar una accin no booleana

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

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

Llame a una subrutina.

usar otro lenguaje para programar la


accin, tal como lgica de escalera

Por ejemplo:

anidar un SFC

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:

determinar cundo est activa la


accin

Entonces
verifique o
establezca
este miembro:
Q

Tipo de
datos:

Detalles:

BOOL

El estado del bit Q depende de si la accin es una accin booleana


o una accin no booleana:
Si la accin es:

Entonces el bit Q est:

booleana

activado (1) durante todo el tiempo que la


accin est activa, incluyendo el ltimo
escn de la accin

no booleana

activado (1) mientras la accin est


activa, pero
desactivado (0) en el ltimo escn de la
accin

Si va a usar un bit para determinar cundo est activa una accin,


use el bit Q.
determinar cunto tiempo
estuvo activo una accin
(milisegundos)

usar uno de los siguientes


calificadores: L, SL, D, DS, SD

BOOL

El bit A est activado todo el tiempo que la accin est activa

DINT

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

PRE

DINT

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

4-20

Diseo de un diagrama de funciones secuenciales

Si desea:

Entonces
verifique o
establezca
este miembro:

Tipo de
datos:

Detalles:

determinar cuntas veces se


activ una accin

Count

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.

usar un tag para los diversos bits


de estado de esta accin

Estado

DINT

Para este miembro: Use este bit:

Describir cada accin en


pseudocdigo

30

31

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:

Use uno de estos formatos:

en una sola lnea

//comment

que abarque ms de una lnea

(*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

Seleccionar un calificador
para una accin

4-21

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


Entonces
asigne este
calificador:

Lo cual
significa:

Si desea que la accin:

Y:

comience cuando el paso se active

se detenga cuando el paso se desactive

No
almacenado

se ejecute slo una vez

P1

Pulso (flanco
ascendente)

se detenga antes de que se desactive el paso o


cuando se desactive el paso

Tiempo
limitado

permanezca activa hasta que una accin Reset


desactive esta accin

Almacenado

permanezca activa hasta que una accin Reset


desactive esta accin
o caduque un tiempo especfico, aunque el paso se
desactive

SL

Almacenado
y tiempo
limitado

se detenga cuando el paso se desactive

Retardo de
tiempo

permanezca activa hasta que una accin Reset


desactive esta accin

DS

Retardado y
almacenado

comience un tiempo especfico despus que el


paso se active, aunque el paso se desactive
antes de este tiempo

permanezca activa hasta que una accin Reset


desactive esta accin

SD

Almacenado
y retardo de
tiempo

se ejecute una vez cuando el paso se active

se ejecute una vez cuando el paso se desactive

Pulso

comience cuando el paso se desactive

se ejecute slo una vez

P0

Pulso (flanco
descendente)

Restablecer

comience un tiempo especfico despus que el


paso se active y el paso contine activo

desactive (restablezca) una accin


almacenada:
S Almacenado
SL Almacenado y tiempo limitado
DS Retardado y almacenado
SD Almacenado y retardo de tiempo

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:

Asegrese de que:

secuencia

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

EJEMPLO

compressor_1.Device1State = on (1)
y
compressor_2.Device1State = on (1)

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

carton_16
Pack_8

package_done = on (1) y
carton_size = 8

Pack_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:

El valor es:

Y:

verdadera

El SFC avanza al paso siguiente.

falsa

El SFC contina ejecutando el paso


actual.

Cmo desea programar la transicin?


Para programar la transicin, existen estas opciones:
Si desea:

Entonces:

introducir las condiciones como expresin


en texto estructurado

Usar una expresin BOOL

introducir las condiciones como


instrucciones en otra rutina

Llamar a una subrutina

usar la misma lgica para mltiples


transiciones

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

bool_tag_a &
bool_tag_b

dint_tag_a > 8

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

- o bien -

JSR

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

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.
La especificacin funcional dice:

EJEMPLO

a. Cocinar (cook) los ingredientes en el tanque


durante 20 segundos.
b. Vaciar el tanque.
Solucin:
Cook

Cook.PRE = 20000 ms
Cook_Done

Cook.DN = on (1)

Empty_Tank

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_OK

Init_Not_OK
Step_1

Publicacin 1756-PM001E-ES-P - Agosto 2002

Init.LimitHigh = 20000 ms

Shutdown

Init.AlarmHigh

Diseo de un diagrama de funciones secuenciales

Desactivar un dispositivo al
final de un paso

4-29

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:

Y en el ltimo escn de este paso:

controlar qu datos
restablecer

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

dejar que el controlador


restablezca los datos

Entonces:

Vea:
pgina 4-31

Usar la opcin Programmatic Reset

pgina 4-32

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:

Durante el ltimo escn de un paso, esta opcin hace lo siguiente:


Dont scan

Programmatic reset

acciones de ejecucin

Slo las acciones P y P0 se


ejecutan. Se ejecutan segn su
lgica.

Todas las acciones se ejecutan


segn su lgica

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.

retencin de valores de
datos

Todos los datos mantienen sus


valores actuales.

Todos los datos mantienen sus


valores actuales.

Los datos regresan a sus


valores para post-escn.
Los tags a la izquierda de
las asignaciones [:=] se
restablecen a cero.

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

Use uno de los siguientes:


Asignacin [:=] (asignacin
o retentiva)
instrucciones que
restablecen sus datos
durante el post-escn

Un SFC anidado permanece en su


paso actual.

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.

restablecimiento de un SFC Un SFC anidado permanece en su


anidado
paso actual.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Automatic reset

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.

EJEMPLO

Usar la opcin Dont Scan

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.

EJEMPLO

Usar la opcin Programmatic Reset y el bit LS

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.

EJEMPLO

Usar la opcin Programmatic Reset y el bit Q

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.

EJEMPLO

Usar la opcin Programmatic Reset y una accin P0

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)

IMPORTANTE

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.

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.

EJEMPLO

Restablece los datos automticamente

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:

Ejemplo:

Usar una bifurcacin simultnea


Efecte un paso separado que controle el
dispositivo.

Transfer_In

Paint

Fan
CONTROL

Clean
Transfr_Out

Almacenar y restablecer una accin

Transfer_In

activar el ventilador

Observe el paso que activa el dispositivo y el paso


que desactiva el dispositivo.
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:

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:

Transfer_In

Paint_Flow

Air_Flow

Clean
Transfr_Out

Publicacin 1756-PM001E-ES-P - Agosto 2002

Elec_Charg

Fan
CONTROL

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

paso que detiene la accin

Action_Name
el mismo nombre que la
accin almacenada

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

step_4

desactivar el ventilador
(restablecido)

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.

EJEMPLO

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.

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

todo el SFC se detiene

bifurcacin de seleccin
ruta dentro de una bifurcacin simultnea

Publicacin 1756-PM001E-ES-P - Agosto 2002

slo la ruta se detiene mientras que el


resto del SFC contina ejecutndose.

Diseo de un diagrama de funciones secuenciales

EJEMPLO

4-41

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:

Y la opcin Last Scan of Active


Steps es:

Entonces:

anidado (por ej., otro SFC llama a


este SFC como subrutina)

Automatic reset

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.

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

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.

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.

EJEMPLO

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

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:

determinar cuando el SFC est


en paro

Tipo de
datos:

Detalles:

Cuando el SFC llega al paro, el bit X se activa.

BOOL

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.

determinar cuntas veces se


activ un paro

Count

DINT

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.

usar un tag para los diversos bits


de estado de este paro

Status

DINT

Para este miembro: Use este bit:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Reset

22

31

Diseo de un diagrama de funciones secuenciales

Anidar un SFC

4-43

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

Configurar cundo retornar


al OS/JSR

SFC_b

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

Pausa o restablecer un SFC

4-45

Hay dos instrucciones opcionales disponibles para darle mayor


control sobre la ejecucin del SFC:
Si desea:

Entonces use esta instruccin:

poner en pausa un SFC

Pause SFC (SFP)

restablecer un SFC a un paso o paro


especfico

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.

Para el diagrama de:

Vea la
pgina:

Ejecucin de una secuencia

4-46

Ejecucin de una bifurcacin simultnea

4-47

Ejecucin de una bifurcacin de seleccin

4-48

Cuando los parmetros entran y salen de un SFC

4-48

Opciones para el control de ejecucin

4-49

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

step_1

se ejecuta de la siguiente manera

step_1
tran_1

step_2

tran_1

falso

regresar a
OS/JSR

tran_2
verdadero
regresar a
OS/JSR

ltimo escn

step_1

step_2

tran_2

falso

regresar a
OS/JSR

verdadero
regresar a
OS/JSR
step_2

Publicacin 1756-PM001E-ES-P - Agosto 2002

ltimo escn

Diseo de un diagrama de funciones secuenciales

4-47

Figura 4.6 Ejecucin de una bifurcacin simultnea


Lo siguiente

se ejecuta de la siguiente manera

step_1

step_1
tran_1
tran_1

step_2

falso

step_3

regresar a
OS/JSR

verdadero
tran_2

regresar a
OS/JSR

ltimo escn

step_1

step_2

step_3

tran_2
verdadero

falso

regresar a
OS/JSR
step_2

step_3

tran_2

falso

regresar a
OS/JSR

verdadero
regresar a
OS/JSR
step_2

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

se ejecuta de la siguiente manera


step_1

step_1

tran_1

tran_2
step_2

tran_3

tran_1

step_3
tran_4

falso

verdadero
tran_2
regresar a
OS/JSR

falso

regresar a
OS/JSR

verdadero
regresar a
OS/JSR

step_1

step_1

step_2

step_3

tran_3

falso

regresar a
OS/JSR

tran_4

verdadero

verdadero

regresar a
OS/JSR

regresar a
OS/JSR

step_2

step_3

Figura 4.8 Cuando los parmetros entran y salen de un SFC

parmetros de entrada
step_1

parmetros de entrada
parmetros de retorno

regresar a
OS/JSR

falso

tran_1
verdadero

parmetros de retorno

parmetros de entrada

Publicacin 1756-PM001E-ES-P - Agosto 2002

regresar a
OS/JSR
step_1

ltimo escn

ltimo escn

falso

regresar a
OS/JSR

ltimo escn

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

tran_1

Ejecutar hasta transicin FALSA


step_1

falso

regresar a
OS/JSR

verdadero

tran_1

falso

regresar a
OS/JSR

verdadero

regresar a
OS/JSR
step_1

step_1

step_2

step_2

tran_2
verdadero

falso

regresar a
OS/JSR

tran_2

ltimo escn

falso

regresar a
OS/JSR

verdadero

regresar a
OS/JSR
step_2

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

Aadir un elemento de SFC

5-3

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


inicio de
bifurcacin de
seleccin

paso y transicin

inicio de bifurcacin
simultnea
paro
subrutina/retorno

paso
nueva ruta

transicin

cuadro de texto

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

Crear una bifurcacin


simultnea

5-5

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

Regresar a un paso previo

5-9

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.

2.
Arrastre la barra horizontal aqu.

Luego haga clic 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

Cambiar el nombre de un
paso

5-11

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

del paso.

2. Haga clic en la ficha Tag.

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.


busque un tag

4.

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

de la transicin.

2. Haga clic en la ficha Tag.

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

de la accin.

2. Haga clic en la ficha Tag.

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

Configurar una accin

5-17

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.


busque un tag

4.

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:

Vea:

informacin general acerca de asignaciones,


operadores, funciones, instrucciones o comentarios

Programacin de texto estructurado en la pgina 6-1

informacin acerca de una instruccin especfica

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

Documentar el SFC
Para documentar lo siguiente:

Para documentar un SFC, existen las siguientes opciones:


Y usted desea hacer lo siguiente:

Haga lo siguiente:

informacin general acerca del SFC

Aadir un cuadro de texto

paso

Aadir un cuadro de texto


-o bienAadir una descripcin de tag

transicin

descargar la documentacin al controlador

Aadir comentarios de texto estructurado

tener la opcin de mostrar u ocultar la


documentacin

Aadir un cuadro de texto


-o bienAadir una descripcin de tag

colocar la documentacin en cualquier lugar en


el SFC
accin

5-23

descargar la documentacin al controlador

Aadir comentarios de texto estructurado

paro

Aadir un cuadro de texto


-o bienAadir una descripcin de tag

otro elemento (por ej., bifurcacin de


seleccin)

Aadir comentarios de texto estructurado


Use la siguiente tabla para formatear sus comentarios:
Para aadir un comentario:

Use uno de estos formatos:

en una sola lnea

//comment

al final de una lnea de texto


estructurado

(*comment*)
/*comment*/

dentro de una lnea de texto


estructurado

(*comment*)
/*comment*/

que abarque ms de una lnea

(*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

del elemento.

2. Haga clic en la ficha Tag.

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:

Entonces:

permanezca en el mismo lugar

Detngase. Ya termin.

se mueva con el elemento a donde se


aplica

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:

Entonces:

mostrar cuadros de texto o


descripciones

seleccione el cuadro de verificacin


correspondiente

ocultar cuadros de texto o


descripciones

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

Verificar la rutina

5-29

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:

Definicin:

Ejemplos:

asignacin
(vea la
pgina 6-2)

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

tag := expression;

expresin
(vea la
pgina 6-4)

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

value1

inmediatos

Un valor constante.

operadores

Un smbolo o mnemnico que especifica una


operacin dentro de una expresin.

tag1 + tag2
tag1 >= value1

funciones

Cuando se ejecuta, una funcin produce un valor.


Use parntesis para contener el operando de una
funcin.

function(tag1)

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-2

Programacin de texto estructurado

Trmino:

Definicin:

Ejemplos:

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

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

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

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.

//comment

Asignaciones

(*start of comment . . .
end of comment*)
/*start of comment . . .
end of comment*/

Use una asignacin para cambiar el valor almacenado en un tag. Una


asignacin tiene esta sintaxis:
tag := expression ;
donde:
Componente:

Descripcin:

tag

representa el tag que obtiene el nuevo valor


el tag debe ser BOOL, SINT, INT, DINT o REAL

:=

es el smbolo de la asignacin

expresin

representa el nuevo valor que se va a asignar al tag

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si el tag es este tipo de datos:

Use este tipo de expresin:

BOOL

expresin BOOL

SINT
INT
DINT
REAL

expresin numrica

finales de asignacin

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:

Descripcin:

tag

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

expression

representa el nuevo valor que se va a asignar al tag

Si el tag es este tipo de datos:

Use este tipo de expresin:

BOOL

expresin BOOL

SINT
INT
DINT
REAL

expresin numrica

finales de asignacin

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:

Esto no es correcto:

string1.DATA[0]:= 65;

string1.DATA[0] := A;

string1.DATA[0]:= string2.DATA[0];

string1 := string2;

Para aadir o insertar una cadena de caracteres a un tag de cadena,


use cualquiera de estas instrucciones de cadena ASCII:

Expresiones

Para:

Use esta instruccin:

aadir caracteres al fin de una cadena

CONCAT

insertar caracteres en una cadena

INSERT

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:

Entonces:

Calcular un valor aritmtico

Use funciones y operadores y aritmticos en la pgina 6-5.

Comparar dos valores o cadenas

Use operadores de relacin en la pgina 6-7.

Verificar si las condiciones son verdaderas


o falsas

Use operadores lgicos en la pgina 6-9.

Comparar bits dentro de valores

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:

Use este operador:

Tipo de datos ptimo:

sumar

DINT, REAL

restar/cambiar signo

DINT, REAL

multiplicar

DINT, REAL

exponente (x a la potencia de y)

**

DINT, REAL

dividir

DINT, REAL

mdulo-divisin

MOD

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:

Use esta funcin:

Tipo de datos
ptimo:

valor absoluto

ABS (numeric_expression)

DINT, REAL

arco coseno

ACOS (numeric_expression)

REAL

arco seno

ASIN (numeric_expression)

REAL

arco tangente

ATAN (numeric_expression)

REAL

coseno

COS (numeric_expression)

REAL

radianes a grados

DEG (numeric_expression)

DINT, REAL

logaritmo natural

LN (numeric_expression)

REAL

logaritmo de base 10

LOG (numeric_expression)

REAL

grados a radianes

RAD (numeric_expression)

DINT, REAL

seno

SIN (numeric_expression)

REAL

raz cuadrada

SQRT (numeric_expression)

DINT, REAL

tangente

TAN (numeric_expression)

REAL

truncar

TRUNC (numeric_expression)

DINT, REAL

Por ejemplo:
Use este formato:

Ejemplo:
Para esta situacin:

Usted escribira:

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.

gain_4_adj :=
gain_4+15;

operator value1

Si alarm y high_alarm son tags DINT y su


especificacin dice: Cambiar signo de high_alarm
y guardar el resultado en alarm.

alarm:=
high_alarm;

function(numeric_expression)

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.

overtravel_POS :=
ABS(overtravel);

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

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.

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:

El resultado es:

verdadero

falso

Use los siguientes operadores de relacin:


Para esta comparacin:

Use este operador:

Tipo de datos ptimo:

igual

DINT, REAL, cadena

menor que

<

DINT, REAL, cadena

menor que o igual

<=

DINT, REAL, cadena

mayor que

>

DINT, REAL, cadena

mayor que o igual

>=

DINT, REAL, cadena

diferente

<>

DINT, REAL, cadena

Por ejemplo:
Use este formato:

Ejemplo:
Para esta situacin:

Usted escribira:

value1 operator value2

Si temp es un tag DINT y su especificacin dice: IF temp<100 THEN...


Si temp es menor que 100 entonces

stringtag1 operator
stringtag2

Si bar_code y dest son tags de cadena y su


especificacin dice: Si bar_code es igual que
dest entonces

IF bar_code=dest THEN...

char1 operator char2

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.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);

Para introducir un carcter ASCII


directamente en una expresin, introduzca
el valor decimal del carcter.
bool_tag :=
bool_expressions

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.

l
e
s
s
e
r

m
a
y
o
r
q
u
e

Caracteres ASCII

Cdigos hexadecimales

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

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:

El resultado es:

verdadero

falso

Use los siguientes operadores lgicos:


Para:

Use este operador:

Tipo de datos:

Y lgico

&, AND

BOOL

O lgico

OR

BOOL

O exclusivo lgico

XOR

BOOL

complemento lgico

NOT

BOOL

Por ejemplo:
Use este formato:

Ejemplo:
Para esta situacin:

Usted escribira:

BOOLtag

Si photoeye es un tag BOOL y su especificacin


dice: Si photoeye_1 est encendido,
entonces

IF photoeye THEN...

NOT BOOLtag

Si photoeye es un tag BOOL y su especificacin


dice: Si photoeye est apagado, entonces

IF NOT photoeye THEN...

expression1 & expression2

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.

IF photoeye & (temp<100)


THEN...

expression1 OR expression2

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.

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

expression1 XOR expression2

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

IF photoeye1 XOR
photoeye2 THEN...

BOOLtag := expression1 &


expression2

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.

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:

Use este operador:

Tipo de datos ptimo:

funcin Y

&, AND

DINT

funcin O

OR

DINT

funcin O exclusivo

XOR

DINT

complemento bit a bit

NOT

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:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Operacin:

1.

()

2.

funcin ()

3.

**

4.

(cambiar signo)

5.

NOT

6.

*, /, MOD

7.

+, (restar)

8.

<, <=, >, >=

9.

=, <>

10.

&, AND

11.

XOR

12.

OR

Programacin de texto estructurado

Instrucciones

6-11

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

Las construcciones pueden programarse de manera simple o anidadas


dentro de otras construcciones.

Si desea:

Use esta construccin:

Disponible en estos lenguajes:

Vea la pgina:

hacer algo si o cuando ocurran condiciones


especficas

IF...THEN

texto estructurado

6-13

seleccionar qu hacer basado en un valor


numrico

CASE...OF

texto estructurado

6-16

hacer algo un nmero de veces especfico antes


de hacer algo diferente

FOR...DO

texto estructurado

6-18

WHILE...DO

texto estructurado

6-21

REPEAT...UNTIL

texto estructurado

6-23

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

IF...THEN

6-13

Use IFTHEN para hacer algo si o cuando ocurran condiciones


especficas.

Operandos:
Texto estructurado
IF bool_expression THEN
<statement>;
END_IF;

Operando:

Tipo:

Formato:

Introduzca:

bool_
expression

BOOL

tag
expresin

Expresin o tag BOOL que evale a un


valor BOOL (expresin BOOL)

Descripcin: La sintaxis es:


IF bool_expression1 THEN
comandos que se ejecutan
cuando bool_expression1 es
verdadero

<statement >;

.
.
.
opcional

ELSIF bool_expression2 THEN


comandos que se ejecutan
cuando bool_expression2 es
verdadero

<statement>;

.
.
.
opcional

ELSE
comandos que se ejecutan
cuando ambas expresiones son
falsas

<statement >;

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

IFTHENELSIF

asignar comandos predeterminados si todas las


condiciones son falsas

IFTHENELSIFELSE

Indicadores de estado no afectados


aritmtico:
Condiciones de fallo: Ninguna
Ejemplo 1: IFTHEN
Si desea lo siguiente:

Introduzca este texto estructurado:

SI rechazos > 3 entonces

IF rejects > 3 THEN

transportador = desactivado (0)

conveyor := 0;

alarma = activada (1)

alarm := 1;
END_IF;

Ejemplo 2: IFTHENELSE
Si desea lo siguiente:

Introduzca este texto estructurado:

Si contacto de direccin de transportador = avance (1) entonces

IF conveyor_direction THEN

luz = apagada
De lo contrario luz = encendida

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:

Introduzca este texto estructurado:

Si interruptor de lmite bajo de azcar = bajo (activado) e


interruptor de lmite alto de azcar = no alto (activado)
entonces

IF Sugar.Low & Sugar.High THEN

vlvula de entrada = abierta (activado)

Sugar.Inlet [:=] 1;

Hasta que interruptor de lmite alto de azcar = alto


(desactivado)

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:

Introduzca este texto estructurado:

Si la temperatura del tanque > 100

IF tank.temp > 200 THEN

entonces bomba = lenta


Si la temperatura del tanque > 200

pump.fast :=1; pump.slow :=0; pump.off :=0;


ELSIF tank.temp > 100 THEN

entonces bomba = rpida


de lo contrario bomba = desactivada

pump.fast :=0; pump.slow :=1; pump.off :=0;


ELSE
pump.fast :=0; pump.slow :=0; pump.off :=1;
END_IF;

Publicacin 1756-PM001E-ES-P - Agosto 2002

6-16

Programacin de texto estructurado

CASE...OF

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

Operandos:
Texto estructurado
CASE numeric_expression OF
selector1: statement;
selectorN: statement;

Operando:

Tipo:

Formato:

Introduzca:

numeric_
expression

SINT
INT
DINT
REAL

tag
expresin

tag o expresin que evale a un nmero


(expresin numrica)

selector

SINT
INT
DINT
REAL

valor
inmediato

numeric_expression

ELSE
statement;
END_CASE;

IMPORTANTE

el mismo tipo que

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

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

selector1 :

<statement>;
.
.
.

comandos a ejecutar cuando


numeric_expression = selector1

selector2 :

<statement>;

comandos a ejecutar cuando


numeric_expression = selector2

.
.
.
selector3 :

<statement>;

.
.
.

comandos a ejecutar cuando


numeric_expression = selector3

ELSE
<statement>;
opcional

.
.
.

comandos a ejecutar cuando


numeric_expression cualquier
selector

END_CASE;
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:

Introduzca:

un valor

value: statement

valores mltiples y diferentes

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:

Introduzca este texto estructurado:

Si nmero de receta = 1 entonces

CASE recipe_number OF

Ingrediente A salida 1 = abierto (1)

1:

Ingrediente B salida 4 = abierto (1)


Si nmero de receta = 2 3 entonces

Ingredient_A.Outlet_1 :=1;
Ingredient_B.Outlet_4 :=1;

2,3:

Ingrediente A salida 4 = abierto (1)

Ingredient_A.Outlet_4 :=1;
Ingredient_B.Outlet_2 :=1;

Ingrediente B salida 2 = abierto (1)


Si nmero de receta = 4, 5, 6 7 entonces

4..7:

Ingrediente A salida 4 = abierto (1)

Ingredient_A.Outlet_4 :=1;
Ingredient_B.Outlet_2 :=1;

Ingrediente B salida 2 = abierto (1)


Si nmero de receta = 8, 11, 12 13 entonces

8,11-13

Ingrediente A salida 1 = abierto (1)

Ingredient_A.Outlet_1 :=1;
Ingredient_B.Outlet_4 :=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;

[:=] 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

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


antes de hacer algo diferente.

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

Operando:

Tipo:

Formato:

Descripcin:

count

SINT
INT
DINT

tag

tag para almacenar posicin de conteo a


medida que FORDO se ejecuta

initial_
value

SINT
INT
DINT

tag
expresin
valor
inmediato

debe evaluar a un nmero


especifica el valor inicial del conteo

final_
value

SINT
INT
DINT

tag
expresin
valor
inmediato

especifica el valor final del conteo, lo


cual determina cundo salir del lazo

increment

SINT
INT
DINT

tag
expresin
valor
inmediato

(opcional) cantidad que incrementa el


conteo cada vez a travs del lazo

END_FOR;

IMPORTANTE

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

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

Si no se especifica un incremento, el lazo


incrementa un valor de 1.

DO
<statement >;
IF bool_expression THEN
EXIT;
opcional

END_IF;

END_FOR;

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si existen condiciones cuando usted desea


salir del lazo anticipadamente, use otros
comandos, tales como una construccin
IF...THEN, para condicionar un comando
EXIT.

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?

Efectuado x
s
nmero de veces?
no

no

comando 1
comando 2
comando 3
comando 4

comando 1
comando 2
comando 3
comando 4

Salir ?

resto de la rutina

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:

Tipo de fallo:

Cdigo de fallo:

los lazos de la construccin son


demasiado largos

Ejemplo 1:
Si desea lo siguiente:

Introduzca este texto estructurado:

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.

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

WHILEDO

6-21

Use el lazo WHILEDO para continuar haciendo algo, siempre que


ciertas condiciones sean verdaderas.

Operandos:
Texto estructurado
WHILE bool_expression DO
<statement>;
END_WHILE;

IMPORTANTE

Operando:

Tipo:

Formato:

Introduzca:

bool_
expression

BOOL

tag
expresin

Expresin o tag BOOL que evale a un


valor BOOL

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
comandos que se ejecutan mientras
bool_expression1 es verdadero

<statement>;
IF bool_expression2 THEN
EXIT;
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_WHILE;
Los siguientes diagramas muestran cmo se ejecuta un lazo
WHILE...DO y cmo un comando EXIT sale del lazo anticipadamente.
expresin BOOL

falso

falso
expresin BOOL

verdadero

verdadero

comando 1
comando 2
comando 3
comando 4

comando 1
comando 2
comando 3
comando 4

Salir ?

resto de la rutina

no
resto de la rutina

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:

Introduzca este texto estructurado:

El lazo WHILE...DO evala sus condiciones primero. Si las


condiciones son verdaderas, entonces el controlador ejecuta
los comandos dentro del lazo.

pos := 0;

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.

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:

Tipo de fallo:

Cdigo de fallo:

los lazos de la construccin son


demasiado largos

Ejemplo 2:
Si desea lo siguiente:

Introduzca este texto estructurado:

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

element_number := 0;

Publicacin 1756-PM001E-ES-P - Agosto 2002

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;

Programacin de texto estructurado

REPEATUNTIL

6-23

Use el lazo REPEATUNTIL para continuar haciendo algo hasta que


las condiciones sean verdaderas.

Operandos:
Texto estructurado
REPEAT
<statement>;
UNTIL bool_expression
END_REPEAT;

IMPORTANTE

Operando:

Tipo:

Formato:

Introduzca:

bool_
expression

BOOL

tag
expresin

Expresin o tag BOOL que evale a un


valor BOOL (expresin BOOL)

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>;

comandos que se ejecutan mientras


bool_expression1 es falso

IF bool_expression2 THEN
EXIT;
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.

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

comando 1
comando 2
comando 3
comando 4

Salir ?

verdadero

no

falso

expresin BOOL

verdadero

resto de la rutina
falso
resto de la rutina

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:

Introduzca este texto estructurado:

El lazo REPEAT...UNTIL ejecuta los comandos en la construccin y


luego determina si las condiciones son verdaderas antes de
ejecutar los comandos nuevamente.

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:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Ocurrir un fallo mayor si:

Tipo de fallo:

Cdigo de fallo:

los lazos de la construccin son


demasiado largos

Programacin de texto estructurado

6-25

Ejemplo 2:
Si desea lo siguiente:

Introduzca este texto estructurado:

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.

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:

Use uno de estos formatos:

en una sola lnea

//comment

al final de una lnea de texto


estructurado

(*comment*)
/*comment*/

dentro de una lnea de texto


estructurado

(*comment*)
/*comment*/

que abarque ms de una lnea

(*start of comment . . . end of


comment*)
/*start of comment . . . end of
comment*/

Por ejemplo:
Formato:

Ejemplo:

//comment

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;

(*comment*)

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);

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:

Antes de usar este


procedimiento

Antes de usar este procedimiento, asegrese de que puede hacer las


siguientes tareas:

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

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

Seleccione los elementos


de los bloques de funcin
referencia de entrada (IREF)

7-3

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:

Entonces use un/una:

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


enviar un valor a un dispositivo de salida o tag

referencia de salida (OREF)

realizar una operacin con un valor o valores de entrada y producir


un valor o valores de salida

bloque de funcin

transferir datos entre bloques de funcin cuando stos estn:


bastante separados en la misma hoja
en hojas diferentes dentro de la misma rutina

conector de cable de salida (OCON) y un conector de


cable de entrada (ICON)

dispersar datos a varios puntos en la rutina

conector de cable de salida nico (OCON) y mltiples


conectores de cable de entrada (ICON)

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:

Especifique:

tag

tag_name

nmero de bit de un tipo de datos ms grande

tag_name.bit_number

miembro de una estructura

tag_name.member_name

elemento de una matriz de una dimensin

tag_name[x]

elemento de una matriz de dos dimensiones

tag_name[x,y]

elemento de una matriz de tres dimensiones

tag_name[x,y,z]

elemento de una matriz dentro de una estructura

tag_name.member_name[x]

miembro de un elemento de una matriz

tag_name[x,y,z].member_name

donde:
x es la 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

Defina el orden de
ejecucin

7-5

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

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

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

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

Esto no es correcto
2

Indicador Assume Data


Available

El controlador no puede resolver el lazo porque los cables usan


el indicador Assume Data Available.

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


lazo.

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

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

Ningn cable usa el indicador Assume Data Available.

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

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:

Descripcin:

.ProgProgReq

Una peticin del programa para ir a control de


programa.

.ProgOperReq

Una peticin del programa para ir a control de


operador.

.OperProgReq

Una peticin del operador para ir a control de


programa.

.OperOperReq

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:

Entonces:

ocultar un pin

Borre la marca de verificacin en el cuadro Vis


correspondiente.

mostrar un pin

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

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

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

del bloque.

2. Haga clic en la ficha Tag.

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
3. Seleccione el tag:
Para seleccionar un:

Haga lo siguiente:

tag

Haga doble clic en el nombre del tag.

nmero de bit

A. Haga clic en el nombre del tag.


B. A la derecha del nombre del tag, haga clic en
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:

Entonces:

que el valor est visible en el diagrama e informes

Use un IREF

tener la capacidad de cambiar el valor en lnea sin


editar la rutina

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

Conecte bloques con un


OCON e ICON

7-23

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:

Antes de usar este


procedimiento

Antes de usar este procedimiento, asegrese de que puede realizar las


siguientes tareas:

desarrollar la lgica para una rutina de lgica de escalera


introducir la lgica en la rutina

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

bifurcacin

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

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

condicin de entrada de rengln

instruccin de salida

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

Escritura de lgica de
escalera

8-5

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:

Mnemnico:

Descripcin:

Examine If Closed

XIC

Una instruccin que examina un bit de datos.

Output Energize

OTE

Si el bit est:

Entonces la instruccin
(condicin de salida de
rengln) es:

activado (1)

verdadera

desactivado (0)

falsa

Una instruccin de salida que controla un bit de datos.


Si las instrucciones a la
izquierda (condicin de
entrada de rengln) son:

Entonces la instruccin
cambia el bit a:

verdaderas

activado (1)

falsas

desactivado (0)

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

En combinacin:

Por ejemplo:
Si condition_1 Y condition_2
o bien
Si condition_3 Y condition_2

CONSEJO

condition_1

condition_2

condition_3

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:

Ejemplo:

Coloque las instrucciones de salida en secuencia en el rengln (en serie)


Coloque las instrucciones de salida en bifurcaciones (en paralelo)

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:

Especifique:

tag

tag_name

nmero de bit de un tipo de datos ms grande

tag_name.bit_number

miembro de una estructura

tag_name.member_name

elemento de una matriz de una direccin

tag_name[x]

elemento de una matriz de dos direcciones

tag_name[x,y]

elemento de una matriz de tres direcciones

tag_name[x,y,z]

elemento de una matriz dentro de una estructura

tag_name.member_name[x]

miembro de un elemento de una matriz

tag_name[x,y,z].member_name

donde:
x es la 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:

El nombre del tag es similar a:

tag machine_on

machine_on

nmero de bit del tag one_shots

one_shots.1

miembro (bit) DN del temporizador


running_seconds

running_seconds.DN

miembro mix del tag north_tank

north_tank.mix

elemento 2 en la matriz recipe y elemento


1,1 en la matriz tanks

elemento 2 en la matriz preset dentro del


tag north_tank

miembro part_advance del elemento 1 en la


matriz drill

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

drill[1].part_advance

42357

Publicacin 1756-PM001E-ES-P - Agosto 2002

Programacin de lgica de escalera

Introduccin de la lgica
de escalera

8-9

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
3. Seleccione el nombre:
Para seleccionar un/una:

Haga lo siguiente:

etiqueta, nombre de rutina o


tipo de nombre similar

Haga cilc en el nombre.

tag

Haga doble clic en el nombre del tag.

nmero de bit

A. Haga clic en el nombre del tag.


B. A la derecha del nombre del tag, haga clic en

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

Use este procedimiento para obtener o usar informacin de estado


acerca del controlador Logix5000.

Cmo usar este


procedimiento
Si desea:

Vea:

usar contraseas especficas en la lgica para monitorear eventos


especficos

Monitoreo de los indicadores de estado en la pgina 9-1

obtener o establecer valores del sistema

Obtener y establecer datos del sistema en la pgina 9-3

obtener informacin acerca de la memoria del controlador

Determine la informacin de memoria del controlador en la


pgina 9-6

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:

Use:

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

S: V

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

S:Z

el valor de destino de la instruccin es negativo

S:N

una operacin aritmtica causa un acarreo o un acarreo negativo que


trata de usar bits que estn fuera del tipo de datos

S:C

Por ejemplo:
sumar 3 + 9 causa un acarreo de 1
restar 25 18 causa un acarreo negativo de 10

Publicacin 1756-PM001E-ES-P - Agosto 2002

ste es el primer escn normal de las rutinas en el programa actual

S:FS

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:MINOR

Acceso a valores del sistema

Obtener y establecer datos


del sistema

9-3

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:

Haga clic en:

eje de un servomdulo

AXIS

tiempo de procesamiento interno del sistema

CONTROLLER

hardware fsico de un controlador

CONTROLLERDEVICE

tiempo coordinado del sistema para los dispositivos en un chasis CST


driver de comunicacin DF1 para el puerto en serie

DF1

historial de fallos para un controlador

FAULTLOG

atributos de una instruccin de mensaje

MESSAGE

estado, fallos y modo de un mdulo

MODULE

grupo de ejes

MOTIONGROUP

informacin de fallo o tiempo de escn para un programa

PROGRAM

nmero de instancia de una rutina

ROUTINE

configuracin del puerto en serie

SERIALPORT

propiedades o tiempo transcurrido de una tarea

TASK

hora del reloj de un controlador

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:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Para:

Introduzca esta instruccin:

obtener el valor de un atributo

GSV

establecer el valor de un atributo

SSV

Acceso a valores del sistema

9-5

9. Asigne los operandos requeridos para la instruccin:


Para este operando:

Seleccione:

Class name

nombre del objeto

Instance name

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.

Attritube Name

nombre del atributo

Dest (GSV)

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.

Source (SSV)

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.

En los siguientes ejemplos se obtiene la fecha y hora actual.

EJEMPLO

Obtener un valor del sistema

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:

Usan memoria de:

tags de E/S

memoria 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

memoria de expansin

rutinas de lgica
comunicacin con tags encuestados (OPC/DDE) que usan el
software RSLinx(1)
(1)

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:

Escriba o seleccione:

Lo cual
significa:

Message Type

CIP Generic

Ejecutar un comando del Protocolo de control e informacin

Service Type

Custom

Crear un mensaje CIP Generic que no est disponible en la lista


desplegable.

Service Code

Use el servicio GetAttributeList. ste le permite leer informacin


especfica acerca del controlador.

Class

72

Obtener informacin del objeto memoria de usuario

Instance

Este objeto contiene slo 1 instancia.

Attribute

Valor nulo

Source Element

source_array de tipo SINT[12]


En este elemento:

Introduzca: Lo cual significa:

source_array[0]

Obtener 5 atributos

source_array[1]

Valor nulo

source_array[2]

Obtener memoria disponible

source_array[3]

Valor nulo

source_array[4]

Obtener el total de memoria

source_array[5]

Valor nulo

source_array[6]

Obtener el bloque contiguo ms grande de memoria de


expansin disponible adicional

source_array[7]

Valor nulo

source_array[8]

Obtener el bloque contiguo ms grande de memoria de


E/S disponible

source_array[9]

Valor nulo

source_array[10]

Obtener el bloque contiguo ms grande de memoria de


expansin disponible

source_array[11]

Valor nulo

Source Length

12

Escribir 12 bytes (12 SINT).

Destination

INT_array de tipo INT[29]

Ficha Message PropertiesCommunication


Para este tem:

Escriba:

Path

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.

Si usted desea el/la:

Entonces copie estos


elementos de matriz:

Descripcin:

cantidad de memoria de E/S disponible (palabras de 32 bits)

INT_array[3]

los 16 bits inferiores del valor de 32 bits

INT_array[4]

los 16 bits superiores del valor de 32 bits

cantidad de memoria de expansin disponible


(palabras de 32 bits)

INT_array[5]

los 16 bits inferiores del valor de 32 bits

INT_array[6]

los 16 bits superiores del valor de 32 bits

controladores 1756-L55M16 solamentecantidad de


memoria de expansin disponible adicional
(palabras de 32 bits)

INT_array[7]

los 16 bits inferiores del valor de 32 bits

INT_array[8]

los 16 bits superiores del valor de 32 bits

tamao total de memoria de E/S (palabras de 32 bits)

INT_array[11]

los 16 bits inferiores del valor de 32 bits

INT_array[12]

los 16 bits superiores del valor de 32 bits

INT_array[13]

los 16 bits inferiores del valor de 32 bits

tamao total de memoria de expansin (palabras de 32 bits)

INT_array[14]

los 16 bits superiores del valor de 32 bits

controladores 1756-L55M16 solamentememoria de


expansin adicional (palabras de 32 bits)

INT_array[15]

los 16 bits inferiores del valor de 32 bits

INT_array[16]

los 16 bits superiores del valor de 32 bits

controladores 1756-L55M16 solamentebloque contiguo


ms grande de memoria de expansin disponible adicional
(palabras de 32 bits)

INT_array[19]

los 16 bits inferiores del valor de 32 bits

INT_array[20]

los 16 bits superiores del valor de 32 bits

bloque contiguo ms grande de memoria de E/S disponible


(palabras de 32 bits)

INT_array[23]

los 16 bits inferiores del valor de 32 bits

INT_array[24]

los 16 bits superiores del valor de 32 bits

bloque contiguo ms grande de memoria de expansin


disponible (palabras de 32 bits)

INT_array[27]

los 16 bits inferiores del valor de 32 bits

INT_array[28]

los 16 bits superiores del valor de 32 bits

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:

Especifique:

Lo cual significa:

Source

el primer INT de la pareja de 2 elementos


(16 bits inferiores)

Comenzar con los 16 bits inferiores

Destination

el tag DINT en donde se va a almacenar el


valor de 32 bits

Copiar el valor al tag DINT.

Length

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 es un alias para


Local:0:O.Data.0
(el contactor arrancador para
el motor del transportador)

conveyor_on
<Local:0:O.Data.0>

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
4. Haga clic en
5. Seleccione el tag que el alias representar:
Para:

Haga lo siguiente:

seleccionar un tag

Haga doble clic en el nombre del tag.

seleccionar un nmero de bit

A. Haga clic en el nombre del tag.


B. A la derecha del nombre del tag, haga clic
en .
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]

4500

array[1]

6000

array[2]

3000

array[3]

2500

Cundo el ndice es igual a 2, array[index] apunta aqu.

La siguiente tabla indica algunos usos comunes para una direccin


indirecta:
Para:

Use un tag en el subndice y:

seleccionar una receta de una matriz de


recetas

Introduzca el nmero de la receta en el tag.

cargar la configuracin de una mquina


especfica desde una matriz de posibles
configuraciones

Introduzca la configuracin deseada en el


tag.

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

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.

EJEMPLO

Ejecute una matriz paso a paso

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
Add
Source A

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

Dest north_tank.step
0

42358

Publicacin 1756-PM001E-ES-P - Agosto 2002

Asignacin de una direccin indirecta

Expresiones

11-3

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:

Operador:

Descripcin:

sumar

MOD

Mdulo

restar/cambiar signo

NOT

complemento

multiplicar

OR

OR

dividir

SQR

raz cuadrada

ABS

Valor absoluto

TOD

nmero entero a BCD

AND

AND

TRN

Truncar

FRD

BCD a nmero entero

XOR

O exclusivo

Formatee las expresiones como sigue:


Si el operador requiere:

Use este formato:

Ejemplos:

un valor (tag o expresin)

operator(value)

ABS(tag_a)

dos valores (tags, constantes o


expresiones)

value_a operator value_b

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.

EJEMPLO

Almacenar E/S en el bfer

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
/

one_shots.0
ONS

drill[1].depth_limit
/

drill[1].forward

drill[1].forward

drill[1].depth_limit

drill[1].home_limit
/

drill[1].retract

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

EJEMPLO

12-3

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:

Seleccione este driver:


Computadora de escritorio

Computadora porttil

en serie

Dispositivos RS-232 DF1

Dispositivos RS-232 DF1

DH+

1784-KT/KTX(D)/PKTX(D)

1784-PCMK

ControlNet

1784-KTC(X)

1784-PCC

Ethernet

Dispositivos Ethernet

Dispositivos Ethernet

DeviceNet

Drivers DeviceNet (drivers


1784-PCD/PCIDS, 1770-KFD,
SDNPT)

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:

Haga lo siguiente:

en serie

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.

ControlNet

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.

DH+

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.

Ethernet

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

3. Haga clic en Aceptar.


4. Haga clic en Cerrar.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Entonces:
1. Seleccione Aadir nuevo.
2. Vaya al paso A.
Vaya al siguiente paso.

Prueba de un proyecto

Descargue el proyecto al
controlador

13-3

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.

ATENCIN

!
IMPORTANTE

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.

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

controlador

4. Seleccione el controlador.
5. SeleccioneDescargar.

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:

Entonces:

se descargan al controlador

Vaya al paso paso7

Fall descarga al controlador. La revisin del proyecto


fuera de lnea y el firmware del controlador no son
compatibles.

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

Seleccione un modo para el


controlador

13-5

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

42627

A
42525

Si desea:

Entonces seleccione uno de estos modos:


Marcha

PROG

REM
Marcha

poner las salidas en el estado


comandado por la lgica del
proyecto

ejecutar (escanear) tareas

Prueba

A
B

poner las salidas en su estado


configurado para el modo Programa

programa

seleccin de
interruptor de llave
Seleccin de
RSLogix 5000

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

Si el controlador entra al modo con fallo, ocurri un fallo mayor y


el controlador detuvo la ejecucin de la lgica.

El controlador est en fallo. Ocurri un fallo


mayor y el controlador ya no ejecuta su
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

Guarde los cambios en


lnea

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.

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:

Haga lo siguiente:

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


guardar cambios en lnea pero no valores de
datos en lnea

Publicacin 1756-PM001E-ES-P - Agosto 2002

A. En el men Comunicaciones,
seleccione Ir fuera de lnea.
B. En el men Archivo, seleccione
Guardar.

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:

Entonces:

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)

Cmo usar este procedimiento

Vea la
pgina:
14-1

Enviar un mensaje

14-11

Enviar un mensaje a mltiples


controladores

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

controller_2

tag producido

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:

Puede producir y consumir tags mediante esta red:


Backplane

ControlNet

SLC 500

PLC-5

ControlLogix

Ethernet

FlexLogix

SoftLogix

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:

Usa esta cantidad de conexiones:

tag producido

number_of_consumers + 1

tag consumido

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:

Entonces:

Slo un valor REAL

Cree un tag producido y seleccione el tipo de datos REAL.

Ms de un valor 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:

Descripcin:

DINT

Estado

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

Datos producidos por un controlador


PLC-5C

6. Cree un tag consumido con las propiedades siguientes:


Para esta propiedad
de tag:

Escriba o seleccione:

Tipo de tag

consumido

Controller

El PLC-5C que produce los datos

Instancia remota

El nmero de mensaje de la configuracin ControlNet del


controlador PLC-5C.

RPI

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.

Data Type

El tipo de datos definido por el usuario que cre en el


paso 5.

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

Optimizacin de racks

No

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

Enviar un mensaje

14-11

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

MSG
Type - Unconfigured
Message Control

message ...

DN

EN
DN
ER

ER

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
/

message.DN

MSG
Type - Unconfigured
Message Control

fal_control
RES

message ...

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

EN
DN
ER

42192

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con otro controlador

Enviar un mensaje a
mltiples controladores

14-13

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:

Entonces RemoteElement es el:

lee datos

Elemento de origen

escribe datos

Elemento de destino

Nombre de tag

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

43052

+ message.Rack.
A

+ 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

Tipo

local_array

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:

+ Controller Your_Project
+ Tasks
+ Motion Groups

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

MESSAGE_CONFIGURATION

descripcin

Propiedades de configuracin para un mensaje a otro


controlador

Tendencias

Data Types
Definido por el usuario

Haga clic con el botn derecho del


mouse y seleccione Nuevo Data Type.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Miembros
nombre

tipo de
datos

+ ruta de acceso

cadena

+ RemoteElement

cadena

estilo

descripcin

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

message_config
message_config[0]

primera ejecucin del


mensaje

+ message_config[0].Path

message
+ message.Path.
+ message.RemoteElement.

+ message_config[0].RemoteElement
message_config[1]

siguiente ejecucin
del mensaje

+ message_config[1].Path

Propiedades del mensaje

+ message_config[1].RemoteElement

message
+ message.Path.
+ message.RemoteElement.

Pasos:
1. Para guardar las propiedades de configuracin del mensaje, cree
la siguiente matriz:
Nombre de tag

Tipo

alcance

message_config

MESSAGE_CONFIGURATION[number ]

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

message_config

{}

message_config[0]

{}
Haga clic con el botn derecho del mouse y
seleccione Ir a Editor de ruta de mensaje.

+ 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

Tipo

local_array_length

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

Tipo

alcance

mensaje

MESSAGE

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

Tipo

alcance

ndice

DINT

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:

Si desea:

Configuracin

leer (recibir) datos desde otros Tipo de message


controladores

escribir (enviar) datos a los


otros controladores

Comunicacin

Para este tem:

Escriba o seleccione:
el tipo de lectura que corresponde a los otros
controladores

Elemento de origen

tag o direccin que contiene los datos en el primer


controlador

Nmero de elementos

Tag de destino

local_array[*]

ndice

Tipo de message

el tipo de escritura que corresponde a los otros


controladores

Tag de origen

local_array[*]

ndice

Nmero de elementos

Elemento de destino

tag o direccin que contiene los datos en el primer


controlador

ruta de acceso

ruta de acceso al primer controlador

Conexiones Cach

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.

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

matriz
paquete

paquete

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

Tipo

array_ack

DINT[2]

array_packet

DINT[125]

donde:
array es el nombre para los datos que usted enva.
3. Convierta array_ack a un tag consumido:
Para:

Especifique:

Controlador

nombre del controlador que est recibiendo el


paquete

Nombre de tag remoto

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

Tipo

matriz

DINT[x] donde x es igual al nmero de elementos


a transferir ms 122 elementos

array_offset

DINT

array_size

DINT

array_transfer_time

DINT

array_transfer_time_max

DINT

array_transfer_timer

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

Tipo

array_ack

DINT[2]

array_packet

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:

Especifique:

Controlador

nombre del controlador que est enviando el paquete

Nombre de tag remoto

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

Tipo

arreglo

DINT[x] donde x es igual al nmero de elementos


a transferir ms 122 elementos

array_offset

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:

Entonces cablee los conectores as:

tienen handshaking
Dispositivo ASCII

Controlador

1 CD

1 CD

2 RDX

2 RDX

3 TXD

3 TXD

4 DTR

4 DTR

COMMON

COMMON

6 DSR

6 DSR

7 RTS

7 RTS

8 CTS

8 CTS

42231

no tienen handshaking
Dispositivo ASCII

Controlador

1 CD

1 CD

2 RDX

2 RDX

3 TXD

3 TXD

4 DTR

4 DTR

COMMON

COMMON

6 DSR

6 DSR

7 RTS

7 RTS

8 CTS

8 CTS

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

42232

Comunicacin con un dispositivo ASCII

Configure el puerto en serie

16-3

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:

Y:

Y ste es el:

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

Seleccione:

Entonces:

Sin handshaking

Vaya al paso 10

Full Duplex

controlador maestro.

Full Duplex

controlador esclavo.

Half Duplex

Seleccione la casilla de
verificacin Portador continuo.

Half Duplex

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

Configure el protocolo del


usuario

16-5

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

dos caracteres de
terminacin

Entonces:

Notas:

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.

Para los
caracteres
imprimibles, tales
como 1 A,
introduzca el
carcter.

En los cuadros de texto Carcter de


terminacin 1 y 2, introduzca el cdigo
ASCII hexadecimal para cada carcter.

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

dos caracteres

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.

Notas:
Para los
caracteres
imprimibles, tales
como 1 A,
introduzca el
carcter.

En los cuadros de texto Caracteres


aadidos 1 y 2, introduzca el cdigo
ASCII hexadecimal para cada carcter.

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:

Seleccione:

Notas:

CRT

CRT

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

impresora

Impresora

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.

Ninguno de los anteriores

Ignorar

El carcter DEL ($7F) es como cualquier otro carcter.

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.

IMPORTANTE

o bien

Puede crear un nuevo tipo de datos de cadena para


almacenar el nmero de caracteres definido.

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?

3.

Si:

Entonces:

no

Vaya a Lea los caracteres desde el dispositivo en la pgina 16-9.

Vaya al paso 2.

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

4.

Publicacin 1756-PM001E-ES-P - Agosto 2002

5. Seleccione Aceptar.

Comunicacin con un dispositivo ASCII

Lea los caracteres desde el


dispositivo

16-9

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:

Entonces:

lector de cdigos de barra

Vaya al paso 2.

bscula que enva un nmero fijo de caracteres


terminal de mensajes o pantalla

Vaya al paso 14.

bscula que enva un nmero variable de caracteres

2. Introduzca el siguiente rengln:


4.

3.

5.

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.

7.

8.

11.

9.

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

EJEMPLO

16-11

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.

bar_code_count.EN
/

ACB
ASCII Chars in Buffer
Channel
0
SerialPort Control
bar_code_count
Character Count
0

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

GEQ
Grtr Than or Eql (A>=B)
Source A bar_code_count.pos
0
Source B
24

ASCII Read
Channel
Destination

EN
0
bag_bar_code
''
bar_code_read
24
0

SerialPort Control
String Length
Characters Read

DN
ER

42227

13. Desea enviar datos al dispositivo?


Si:

Entonces:

Vaya a Enve los caracteres al dispositivo en la pgina 16-14.

no

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.

20.

19.

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

EJEMPLO

16-13

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:

Entonces:

Vaya a Enve los caracteres al dispositivo en la pgina 16-14.

no

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

1. Determine dnde empezar:

Si usted:

Y:

Entonces:

siempre enva el mismo nmero


de caracteres

desea aadir uno o dos caracteres al fin de


los datos

Vaya al paso 2

no desea aadir caracteres

Vaya al paso 9

desea aadir uno o dos caracteres al fin de


los datos

Vaya al paso 16

no desea aadir caracteres

Vaya al paso 24

enva nmeros diferentes de


caracteres

2. Introduzca el siguiente rengln:


5.

4.

3.

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

EJEMPLO

16-15

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.

11.

10.

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.

temp_low

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

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.

18.

17.

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.

26.

25.

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

0
MV_msg
'$161365\8\1$r'
SerialPort Control
MV_write
String Length
10
Characters Sent
10

EN
DN
ER

42229

31. Vaya a Introduzca caracteres ASCII en la pgina 16-21.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Comunicacin con un dispositivo ASCII

Introduzca caracteres
ASCII

16-21

Determine si debe completar este paso:


Si:

Entonces:

Desea que la lgica cree la cadena.

Vaya a Procesamiento de caracteres ASCII en


la pgina 16-1.

Desea introducir los caracteres.

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.

signo de dlar ($24)

2.

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:

Entonces vaya a:

En la pgina:

aislar informacin especfica de un


cdigo de barras

Extraer una parte de un cdigo 17-2


de barras

buscar en una matriz una cadena


especfica de caracteres

Buscar un cdigo de barras

17-4

comparar dos cadenas de caracteres

Verificar los caracteres del


cdigo de barras

17-10

usar un peso de una bscula

Convertir un valor

17-12

descodificar un mensaje proveniente


de un terminal de operador

Descodificar un mensaje
ASCII

17-14

crear una cadena para enviar a un


terminal de operador

Crear una cadena

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

cdigo de barras

W A

nmero de caracteres

origen

No. de vuelo
5
9

destino
A

M S

fecha
0

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.

6.
3.

4.

2.

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

EJEMPLO

17-3

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
sort_table[0]

product_id

+ sort_table[0].Product_ID

GHI

ABC

+ sort_table[0].Lane

sort_table[1]
+ sort_table[1].Product_ID

DEF

+ sort_table[1].Lane

sort_table[2]
+ sort_table[2].Product_ID

GHI

+ sort_table[2].Lane

ruta

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

Abra este
proyecto.

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

Tipo de datos:PRODUCT_INFO
nombre

PRODUCT_INFO

descripcin

Identifica el destino de un tem basado en una cadena ASCII de


caracteres que identifican el tem

Tendencias
Data

Types
definido por
el usuario

Miembros
nombre

tipo de
datos

+ Product_ID

cadena

Ruta

DINT

estilo

descripcin
Caracteres ASCII que identifican el tem

Decimal

Destino del tem, basado en su ID

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

Tipo

sort_table

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Nombre de tag

Tipo

sort_table_search

CONTROL

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

Tipo

product_id

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

Tipo

lane

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

sort_table

{}

sort_table[0]

{}

+ sort_table[0].Product_ID

Caracteres ASCII que identifican el primer


tem

+ sort_table[0].Lane

nmero de ruta del tem

sort_table[1]

{}

+ sort_table[1].Product_ID

Caracteres ASCII que identifican el


siguiente tem

+ sort_table[1].Lane

nmero de ruta del tem

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.

l
e
s
s
e
r

m
a
y
o
r
q
u
e

Caracteres ASCII

Cdigos
hexadecimales

1ab

$31$61$62

1b

$31$62

$41

AB

$41$42

$42

$61

ab

$61$62

AB < B
a>B

Pasos:
1. Introduzca un rengln y una instruccin de comparacin:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Para ver si la cadena es:

Introduzca esta
instruccin:

igual a caracteres especficos

EQU

diferente a caracteres especficos

NEQ

mayor que caracteres especficos

GRT

igual o mayor que caracteres especficos

GEQ

menor que caracteres especficos

LES

igual o menor que caracteres especficos

LEQ

Procesamiento de caracteres ASCII

2.

3.

17-11

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:

Entonces:

Vaya a Extraer una parte de un cdigo de barras en la pgina 17-2.

no

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:

Entonces:

punto flotante (coma flotante)

Vaya al paso 2.

entero

Vaya al paso 7.

2. Introduzca el siguiente rengln:


4.

5.

3.

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.

10.

8.

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:

Entonces:

Vaya a Descodificar un mensaje ASCII en la pgina 17-14.

no

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

[Ctrl-F] mensaje # \ tecla F

carcter de control

tercer valor

\ accin de
tecla F

delimitador delimitador

[CR]

carcter de terminacin

1. Determine dnde empezar:


Si la:

Y:

Entonces:

cadena tiene ms de un valor

ste es el primer valor.

Vaya a Convertir un valor en la pgina 17-12.

ste no es el valor.

Vaya al paso 2.

cadena tiene slo un valor

Vaya a Convertir un valor en la pgina 17-12.

2. De qu tipo de nmero es el valor?


Si:

Entonces:

punto flotante
(coma flotante)

Introduzca Rengln A: Encontrar y convertir un valor de


punto flotante (coma flotante)

entero

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

4.

17-15

5. 6.

3.

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?

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si:

Entonces:

STOR

Vaya al paso 15.

STOD

Vaya al paso 18.

Procesamiento de caracteres ASCII

15.

17-17

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

no

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.

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

5.

6.

17-19

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.

13.

12.

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

EJEMPLO

17-21

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:

Vea:

revisar las precauciones que debe tomar al aadir, cambiar, extraer o inhabilitar forzados

Precauciones en la pgina 18-2

determinar el estado actual de los forzados en el proyecto

Verificacin del estado de forzados en la


pgina 18-4

determinar el tipo de elemento que va a forzar en el proyecto

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

Adicin de un forzado de E/S en la


pgina 18-8

revisar informacin general acerca de cmo avanzar un paso en una transicin o una ruta
simultnea

Cundo usar la opcin Step Through en la


pgina 18-9

avanzar un paso en una transicin activa

Funcin Step Through en una transicin o


forzado de una ruta en la pgina 18-9

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

Cundo usar un forzado de SFC en la


pgina 18-9

forzar una transicin o ruta simultnea adentro de un SFC

Adicin de un forzado de SFC en la


pgina 18-12

detener los efectos de un forzado

Eliminacin o inhabilitacin de forzados


en la pgina 18-13

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-2

Forzado de elementos lgicos

Precauciones

Al usar forzados, observe las siguientes precauciones:

ATENCIN

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

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.

Cuando los forzados estn efectivos (habilitados), aparece


elemento forzado.

Forzado de elementos lgicos

18-3

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:

Use cualquiera de los siguientes:


Barra de herramientas Online

forzados de E/S

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:

Publicacin 1756-PM001E-ES-P - Agosto 2002

Significa:

Enabled

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.

Disabled

Los forzados de este tipo estn inactivos. Si el proyecto


contiene forzados de este tipo, stos no estn anulando la
lgica.

Installed

Por lo menos un forzado de este tipo existe en el proyecto.

None Installed

No existen forzados de este tipo en el proyecto.

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.

Si el indicador LED
FORCE est:

Entonces:

apagado

No hay tags que tengan valores forzados.


Los forzados de E/S estn inactivos (inhabilitados).

parpadeando

Por lo menos un tag contiene un valor forzado.


Los forzados de E/S estn inactivos (inhabilitados).

fijo

Los forzados de E/S estn activos (habilitados).


Los valores forzados pueden o no existir.

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:

Examine este bit:

Para verificar la
existencia de este valor:

los forzados estn instalados

no hay forzados instalados

los forzados estn habilitados

los forzados estn inhabilitados

Publicacin 1756-PM001E-ES-P - Agosto 2002

18-6

Forzado de elementos lgicos

Qu elementos forzar

Se pueden forzar los siguientes elementos del proyecto:

Si desea:

Entonces:

anular un valor de entrada, un valor de salida, un tag producido o un tag consumido

Adicin de un forzado de E/S

anular las condiciones de una transicin una vez para ir de un paso activo al siguiente paso

Funcin Step Through en una


transicin o forzado de una ruta

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

Adicin de un forzado de SFC

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:

Entonces, tome nota de lo siguiente:

apagado

Actualmente no existen forzados de E/S.

parpadeando

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.

fijo

Los forzados de E/S estn habilitados (activos). Cuando usted


instala (aade) un forzado, ste se hace efectivo inmediatamente.

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:

Haga lo siguiente:

valor BOOL

Haga clic con el botn derecho del mouse en el tag y


seleccione Force ON o Force OFF.

valor que no es
BOOL

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si:

Entonces:

no

En el men Logic, seleccione I/O Forcing Enable All I/O Forces. Luego
seleccione Yes para confirmar.

Detngase.

Forzado de elementos lgicos

Cundo usar la opcin


Step Through

18-9

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:

Entonces:

anular las condiciones de una transicin


cada vez que el SFC llegue a la transicin

Forzado de una transicin

evitar la ejecucin de una o ms rutas de


una bifurcacin simultnea

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:

Entonces:

evitar que el SFC vaya al siguiente paso

fuerce la transicin a falso

que el SFC vaya al siguiente paso independientemente de


las condiciones de la transicin

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:

Entonces, tome nota de lo siguiente:

apagado

Actualmente no existen forzados de SFC.

parpadeando

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.

fijo

Los forzados de SFC estn habilitados (activos). Cuando usted


instala (aade) un forzado, ste se hace efectivo inmediatamente.

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si:

Entonces:

no

En el men Logic, seleccione SFC Forcing Enable All SFC Forces.


Luego seleccione Yes para confirmar.

Detngase.

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:

Y:

Entonces:

detener un forzado individual

dejar otros forzados habilitados y efectivos

Eliminacin de un forzado individual

detener todos los forzados de E/S y SFC

dejar los forzados en el proyecto

Inhabilitacin de todos los forzados de E/S y SFC

eliminar los forzados del proyecto

Eliminacin de todos los forzados de E/S y SFC

detener todos los forzados de E/S pero


dejar todos los forzados de SFC activos

dejar los forzados de E/S en el proyecto

Inhabilitacin de todos los forzados de E/S

eliminar los forzados de E/S del proyecto

Eliminacin de todos los forzados de E/S

detener todos los forzados de SFC pero


dejar todos los forzados de E/S activos

dejar los forzados de SFC en el proyecto

Inhabilitacin de todos los forzados de SFC

eliminar los forzados de SFC del proyecto

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

ATENCIN

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:

Entonces:

SFC

Vaya al paso paso 4

lgica de escalera

Vaya al paso paso 4

bloque de funcin

Vaya al paso paso 3

texto estructurado

Vaya al paso paso 3

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 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 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:

+ Controlador Your_Project

Cree el siguiente tipo de datos definido por el usuario. ste almacena


informacin acerca del fallo.
Tipo de datos:FAULTRECORD
nombre

FAULTRECORD

descripcin

Almacena el atributo MajorFaultRecord o el atributo


MinorFaultRecord del objeto PROGRAM.

+ Tareas
+ Motion Groups
Tendencias

Data Types

Miembros
nombre

tipo de
datos

estilo

descripcin

Time_Low

DINT

Decimal

los 32 bits ms bajos del valor de sello de


hora del fallo

Time_High

DINT

Decimal

los 32 bits ms altos del valor de sello de hora


del fallo

Tipo

INT

Decimal

tipo de fallo (program, I/O, etc)

Cdigo:

INT

Decimal

cdigo nico del fallo

Info

DINT[8]

Hex

informacin especfica del fallo

definido por el usuario

Haga clic con el botn derecho del mouse y


seleccione Nuevo Data Type.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Desarrollo de una rutina de fallo

Creacin de una rutina de


fallo

19-3

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.

corte de energa

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.

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Nombre de tag

Tipo

major_fault_record

FAULTRECORD

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Nombre de tag

Tipo

CPU_scanning

BOOL

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

Tipo

major_fault_record

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:

es el:

aaa

tag que usar para inicializar el fallo (paso 1.)

bbb

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:

Entonces:

Vaya al paso 2.

No

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

las condiciones bajo las


cuales debe desactivarse
el controlador

42373

EJEMPLO

donde:

representa:

name_of_fault_routine

rutina del paso 1.

valor para el cdigo de fallo

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:

Para usar la lgica de escalera para obtener informacin respecto a un


fallo menor:

Haga lo siguiente:

superposicin de tareas
peridicas

1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.
2. Monitorice el bit 6.

carga desde la memoria no


voltil

1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.
2. Monitorice el bit 7.

problema con el puerto en


serie

1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.
2. Monitorice el bit 9.

batera baja

1. Introduzca una instruccin GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.
2. Monitorice el bit 10.

problema con una instruccin

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:

Tipo de datos:

Estilo:

TimeLow

DINT

Decimal

TimeHigh

DINT

Decimal

Tipo

INT

Decimal

Cdigo:

INT

Decimal

Info

DINT[8]

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.

EJEMPLO

Verificacin de un fallo menor causado por una instruccin.

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:

Tipo de datos:

Estilo:

TimeLow

DINT

Decimal

TimeHigh

DINT

Decimal

Tipo

INT

Decimal

Cdigo

INT

Decimal

Info

DINT[8]

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:

Pasos detallados:

1. Crear un programa.

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.

2. Crear y asignar una rutina


principal (la rutina que se ejecuta
primero en el programa).

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.

3. Cmo desea manejar una prdida de alimentacin elctrica?


Para:

Haga lo siguiente:

Evitar que el controlador regrese al


modo Marcha.

Ya termin. Cuando se restaure la


alimentacin elctrica, ocurrir un fallo
mayor, tipo 1, cdigo 1, y el controlador
entrar al modo con fallo.

Realizar acciones especficas cuando se


restaure la alimentacin elctrica y
luego continuar con la operacin normal

Publicacin 1756-PM001E-ES-P - Agosto 2002

A. Abra (haga doble clic)


name_of_routine.
B. Introduzca la lgica para las
acciones.

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

MOV
0

Dest major_fault.Type
0

Move
Source

Dest major_fault.Code
0

SSV
Set system value
CIP Object class
PROGRAM
CIP Object name
THIS
Attribute name MAJORFAULTRECORD
Source
major_fault.TimeLow
0
42375

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:

Almacenamiento:

Carga:

Cunto tiempo requiere una operacin de


almacenamiento o carga?

varios minutos

varios segundos

En qu modo(s) del controlador puedo


almacenar o cargar un proyecto?

modo programa

Puedo entrar en lnea con el controlador


durante una operacin de almacenamiento
o carga?

no

Cul es el estado de la E/S durante una


operacin de almacenamiento o carga?

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:

Entonces:

no extrable
(no es una tarjeta CompactFlash)

Cuando usted actualiza el firmware del controlador se borra el


contenido de la memoria no voltil (revisin 10.x o posterior).

extrable (tarjeta CompactFlash)

Cuando usted actualiza el firmware del controlador, el


proyecto permanece en la memoria no voltil.

Cmo usar este


procedimiento
Si desea:

Vea:

seleccionar un controlador que contenga la memoria no voltil

Seleccionar un controlador que tenga


memoria no voltil en la pgina 23-3

revisar las precauciones que se deben observar al usar la tarjeta 1784-CF64 Industrial
CompactFlash

Precauciones que se deben observar al


usar la tarjeta 1784-CF64 Industrial
CompactFlash en la pgina 23-4

seleccionar cundo cargar un proyecto nuevamente al controlador

Seleccionar cundo cargar una imagen en


la pgina 23-5

almacenar un proyecto en la memoria no voltil del controlador

Almacenar un proyecto en la pgina 23-5

sobrescribir el proyecto actual en el controlador con el proyecto que est almacenado en la


memoria no voltil del controlador

Cargar un proyecto en la pgina 23-9

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

Verificar una carga en la pgina 23-11

retirar un proyecto de la memoria no voltil del controlador

Borrar la memoria no voltil en la


pgina 23-12

Publicacin 1756-PM001E-ES-P - Agosto 2002

Almacenamiento y carga de un proyecto usando la memoria no voltil

Seleccionar un controlador
que tenga memoria no
voltil

23-3

Los siguientes controladores Logix5000 tienen memoria no voltil para


el almacenamiento de proyectos.
Tipo de controlador:

No. de catlogo:

Revisin de firmware:

CompactLogix5320

1769-L20

10.x o posterior

CompactLogix5330

1769-L30

10.x o posterior

ControlLogix5555

1756-L55M22

10.x o posterior

1756-L55M23

8.x o posterior

1756-L55M24

8.x o posterior

ControlLogix5563

1756-L63(1)

11.x o posterior

DriveLogix5720

varios

10.x o posterior

FlexLogix5433

1794-L33

10.x o posterior

FlexLogix5434 Serie B

1794-L34/B

11.x o posterior

(1)

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:

IMPORTANTE

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.

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

Seleccionar cundo cargar


una imagen

23-5

Existen varias opciones respecto a cundo (en qu condiciones)


cargar el proyecto nuevamente en la memoria de usuario (RAM) del
controlador:

Si desea cargarlo:

Entonces seleccione:

cada vez que usted enciende o desconecta y


vuelve a conectar la alimentacin elctrica al
chasis

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.

Ante memoria corrupta

slo mediante el software RSLogix 5000

Iniciado por el usuario

Almacenar un proyecto

Siempre puede usarse el software RSLogix 5000 para


cargar el 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.

ATENCIN

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.

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

El proyecto que actualmente est en la memoria no voltil


del controlador (si hay un proyecto all).

23-7

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:

Entonces:

Al momento del
encendido

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.

Ante memoria corrupta


Iniciado por el usuario

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

Cargar un proyecto

23-9

En esta tarea, usted usa el software RSLogix 5000 para cargar el


proyecto desde la memoria no voltil.

ATENCIN

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.

Pasos:
1. Entre en lnea con el controlador.
2. Se abri el siguiente cuadro de dilogo?

42873

Si:

Entonces:

No

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:

representa:

minor_fault_bits

El tag que almacena el objeto FAULTLOG, atributo


MinorFaultBits. El tipo de datos es DINT

NVM_load

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?

Publicacin 1756-PM001E-ES-P - Agosto 2002

Si:

Entonces:

No

Vaya a Cambiar la opcin Load Image en la pgina 23-13.

Vaya a Borrar el proyecto del controlador en la pgina 23-13.

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:

Entonces:

Vea la
pgina:

Impedir que otros vean la lgica dentro de


una o ms rutinas de un proyecto

Usar proteccin de origen de 24-1


rutina

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

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:

Entonces:

Source Not Available

Se asign una clave de origen a la rutina.


Para abrir la rutina, su computadora requiere
la clave de origen de la rutina.

Source Not Available (Viewable)

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.

Source Available

Se asign una clave de origen a la rutina.


Usted tiene acceso total a la rutina.

Source Available (Viewable)

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.

Ninguno de los anteriores

No se asign una clave de origen a la rutina.


Usted tiene acceso total a 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

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?

No

S
Usar estas computadoras para
proteger otras rutinas?

No
Inhabilitar la proteccin de origen de
rutina

Retirar el acceso a una rutina


protegida

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

Permitir que se
vea?

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

no

ninguna otra limitacin

permitir que cualquier persona tenga


acceso total a la rutina

s
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:

Proporciona:

una clave de origen para todos los


proyectos

una cantidad menor de claves de


origen
(ms fcil de administrar pero menos
proteccin)

una clave de origen nica para cada


proyecto
una clave de origen nica para cada rutina
en cada proyecto

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:

Tipo:

Datos:

PTCRoutine

DWORD

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:

Entonces:

No

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:

Entonces:

No

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:

Entonces:

Seleccione Yes.

No

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:

Entonces:

Seleccione Yes.

No

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:

Entonces:

No

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:

Entonces:

A. Seleccione la carpeta que contiene el archivo y luego seleccione OK.


B. Seleccione OK .

No

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:

Entonces:

Vaya al paso 1.

No

Vaya a Importacin del archivo RSLogix5000Security.bak en la


pgina 24-14.

Program Files

Keys.ini

SetSecKeys.exe

Rockwell Software

1. Ejecute este archivo

RSLogix 5000

Language

versin
+

Security

donde:

es el:

Language

el idioma del software. Por ejemplo, para el software en ingls, abra la


carpeta ENU.

version

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:

Entonces:

2.00

Busque en esta carpeta:

Program Files

Rockwell Software

RSLogix 5000

Language

version
+

2.01

Security

donde:

es el:

Language

el idioma del software. Por ejemplo, para


el software en ingls, abra la carpeta
ENU.

version

versin del software, tal como v10

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:

Entonces otorgue acceso a las


siguientes acciones:

habilitar la seguridad para un controlador sin


seguridad

Secure Controller

crear un nuevo proyecto RSLogix 5000

New Project

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

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.

43075

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.

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

realizar todas las acciones


disponibles a travs del software
RSLogix 5000 excepto inhabilitar un
controlador que tiene la seguridad
habilitada

Full Access

inhabilitar la seguridad de un
controlador que tiene seguridad
habilitada

Acceso total
y
Unsecure Controller

actualizar el firmware de un
controlador

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:

Este usuario o grupo de


usuarios:

Nuevos recursos
RSLogix 5000
New RSLogix 5000
Resources
New RSLogix 5000
Resources
New RSLogix 5000
Resources

Publicacin 1756-PM001E-ES-P - Agosto 2002

Requiere este acceso:


View
Project

Go online Maintain
Project

Full
Access

Unsecure
Controller

Update
Firmware

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:

Cdigo: Causa:

Mtodo de recuperacin:

El controlador se activo en el modo Run.

Ejecute el administrador de prdida de alimentacin elctrica.

16

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.

20

Es posible que exista un problema con el chasis No recuperable reemplace el chasis.


ControlBus.

23

No se estableci por lo menos una conexin


requerida antes de ir al modo Run.

Espere que la luz de E/S del controlador cambie a color verde antes
de cambiar al modo Run.

16

Se encontr una instruccin desconocida.

Elimine la instruccin desconocida. Esto probablemente sucedi


debido a un proceso de conversin del programa.

20

Subndice de matriz demasiado grande, la


estructura de control .POS o .LEN es no vlida.

Ajuste el valor para que est dentro del rango vlido. No exceda el
tamao de la matriz ni sobrepase las dimensiones definidas.

21

Estructura de control .LEN o .POS < 0.

Ajuste el valor para que sea > 0.

31

Los parmetros de la instruccin JSR no son


iguales a los de la instruccin SBR o RET
asociada.

Pase el nmero apropiado de parmetros. Si se pasan demasiados


parmetros, el exceso de parmetros se ignora sin que ocurra
ningn error.

34

Una instruccin de temporizador tiene un valor


acumulado o preseleccionado negativo.

Corrija el programa para que no cargue un valor negativo en un


valor acumulado o preseleccionado de temporizador.

42

JMP a una etiqueta que no existe o fue


eliminada.

Corrija el receptor de JMP o aada la etiqueta que falta.

82

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.

Elimine el salto al SFC que llam a la subrutina.

Publicacin 1756-PM001E-ES-P - Agosto 2002

A-2

Cdigos de fallo

Tabla A.1 Tipos y cdigos de fallos mayores (Contina)


Tipo:

Cdigo: Causa:

Mtodo de recuperacin:

83

Los datos probabos no estaban dentro de los


lmites requeridos.

Modifique el valor para que est dentro de los lmites.

84

Overflow de pila.

Reduzca los niveles de anidamiento de subrutinas o el nmero de


parmetros pasados.

89

En una instruccin SFR, la rutina receptora no


contiene el paso especfico.

Corrija el receptor de SFR o aada el paso que falta.

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.

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

Fall el almacenamiento 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.

Actualice el firmware del controlador al mismo nivel de revisin


que el proyecto que se encuentra en la memoria no voltil.

Se intent colocar el controlador en el modo


Run con el interruptor de llave durante la
descarga.

Espere que concluya la descarga y borre el fallo.

11

La posicin actual excedi el lmite de fin de


carrera positivo.

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.

11

La posicin actual excedi el lmite de fin de


carrera negativo.

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

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.

11

Se interrumpi la conexin de canal A, B o Z de


encoder.

Vuelva a conectar el canal de encoder y luego ejecute el comando


Motion Axis Fault Reset.

11

Se detect evento de ruido de encoder o las


seales de encoder no estn en cuadratura.

Corrija el cableado de encoder y luego ejecute el comando Motion


Axis Fault Reset.

11

Se activ entrada de fallo del variador.

Borre el fallo del variador y luego ejecute el comando Motion Axis


Fault Reset.

11

Fallo en la conexin sncrona.

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.

11

El servomdulo detect un fallo grave de


hardware.

Reemplace el mdulo.

11

Fallo de conexin asncrona.

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.

11

32

Superposicin en la tarea de control de


movimiento.

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

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.

Cdigos de fallo

Cdigos de fallos menores

A-3

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:

Cdigo:

Causa:

Mtodo de recuperacin:

Ocurri un overflow aritmtico en una instruccin.

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.

35

Tiempo PID delta 0.

Ajuste el tiempo PID delta para que sea > 0.

36

El punto de ajuste PID est fuera de rango

Ajuste el punto de ajuste para que est dentro del


rango.

51

El valor LEN del tag de cadena es mayor que el tamao


DATA del tag de cadena.

52

La cadena de salida es mayor que el destino.

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.

53

El nmero de salida se encuentra fuera de los lmites


del tipo de datos de destino.

Haga uno de los siguientes:


Reduzca el tamao del valor ASCII.
Use un tipo de datos mayor para el destino.

56

El valor de inicio o cantidad no es vlido.

57

La instruccin AHL no se ejecut porque el puerto en


serie est establecido en la opcin sin handshaking.

Haga uno de los siguientes:


Cambie el parmetro Control Line del puerto en
serie.
Elimine la instruccin AHL.

Superposicin de tareas peridicas


La tarea peridica no concluy antes de que sea tiempo
de que se ejecute nuevamente.

Simplifique el (los) programa(s), o aumente el perodo o


eleve la prioridad relativa, etc.

49

Proyecto cargado desde la memoria no voltil.

Ocurri un error desconocido mientras se realizaba el


servicio del puerto en serie.

Comunquese con el personal de GTS.

La lnea CTS no es la correcta para la configuracin


actual.

Desconecte y vuelva a conectar el cable del puerto en


serie al controlador.
Asegrese de que el cable est correctamente
conectado.

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.

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.

Publicacin 1756-PM001E-ES-P - Agosto 2002

A-4

Cdigos de fallo

Tabla A.2 Tipos y cdigos de fallos menores (Contina)


Tipo:

Cdigo:

Causa:

Mtodo de recuperacin:

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

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

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.

Determine y corrija el retardo de la encuesta.

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.

Corrija la conexin del mdem al controlador.

10

10

No se detect la batera, o sta necesita reemplazarse.

Instale una batera nueva.

Publicacin 1756-PM001E-ES-P - Agosto 2002

Apndice

Cumplimiento de la norma IEC61131-3

Cmo usar este Apndice

Introduccin

Para obtener informacin acerca de:

Vea la pgina:

Sistema operativo

B-2

Definicin de datos

B-2

Lenguajes de programacin

B-3

Conjunto de instrucciones

B-4

Portabilidad de programas segn IEC61131-3

B-4

Tablas sobre cumplimiento con especificaciones IEC

B-5

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

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.

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

Tablas sobre cumplimiento


con especificaciones IEC

B-5

Los controladores Logix5000 y RSLogix5000 cumplen con los


requisitos de IEC61131-3 referentes a las siguientes funciones de
lenguaje:

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

Letras en minscula

Ninguno

3a

Signo de nmero (#)

Se usa para designacin de tipo de datos de


valor inmediato

4a

Signo de dlar ($)

Se usa para descripcin y carcter de control de


cadena

6a

Delimitadores de subndice ([ ])

Subndices de matriz

Identificadores que usan maysculas y nmeros Nombres de tag, tarea, programa, rutina,
estructura

Identificadores que usan maysculas, nmeros


y caracteres de subrayado incorporados

Identificadores que usan maysculas y


Nombres de tag, tarea, programa, rutina,
minsculas, nmeros y caracteres de subrayado estructura
incorporados

Comentarios

Comentarios ST, tambin soporte /*


Comentario */, y // Comentarios de fin de lnea.

Entero literal

12, 0, -12

Real literal

12.5, -12.5

Real literal con exponentes

-1.34E-12, 1.234E6

Base 2 literal

2#0101_0101

Base 8 literal

8#377

Base 16 literal

16#FFE0

Cero y uno booleano

0, 1

1a

Cadena vaca ''

Editor de cadena y descripciones

1b

Cadena de longitud uno que contiene un


carcter 'A'

Editor de cadena y descripciones

1c

Cadena de longitud uno que contiene un


espacio ' '

Editor de cadena y descripciones

1d

Cadena de longitud uno que contiene un


carcter de una sola comilla '$''

Editor de cadena y descripciones

1E

Cadena de longitud uno que contiene un


carcter de doble comilla

Editor de cadena y descripciones

1F

Cadena de longitud dos que contiene


caracteres CR y LF

Editor de cadena y descripciones

1G

Cadena de longitud uno que contiene el


carcter LF '$0A'

Editor de cadena y descripciones

1H

Cadena de longitud 5 que se imprimira como


$1.00 usando '$$1.00'

Editor de cadena y descripciones

1I

Cadenas equivalentes de longitud dos 'AE' y


'$C4$CB'

Editor de cadena y descripciones

Signo de dlar en cadena '$$'

Editor de cadena y descripciones

Una comilla en cadena '$''

Editor de cadena y descripciones

Avance de lnea en cadena '$L' o '$l'

Editor de cadena y descripciones

Nombres de tag, tarea, programa, rutina,


estructura

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-6

Cumplimiento de la norma IEC61131-3

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

Nueva lnea en cadena '$N' o '$n'

Editor de cadena y descripciones

Alimentacin de impresora en cadena (pgina)


'$P' o '$p'

Editor de cadena y descripciones

Retorno de carro en cadena '$R' o '$r'

Editor de cadena y descripciones

Tabulacin en cadena '$T' o '$t'

Editor de cadena y descripciones

Doble comilla en cadena $

Editor de cadena y descripciones

10

Tipo de datos BOOL

Definicin de variable de tag

10

Tipo de datos SINT

Definicin de variable de tag

10

Tipo de datos INT

Definicin de variable de tag

10

Tipo de datos DINT

Definicin de variable de tag

10

10

Tipo de datos REAL

Definicin de variable de tag

10

12

Tiempo

Definicin de variable de tag, estructura TIMER

10

16

Tipo de datos STRING

8 bits

11

Jerarqua de tipos de datos

Ninguno

12

Derivacin directa de tipos elementales

Estructuras de tipos de datos definidas por el


usuario

12

Tipos de datos de matriz

Definicin de variable de tag

12

Tipos de datos estructurados

Estructuras de tipos de datos definidas por el


usuario

13

Valor inicial de 0 BOOL, SINT, INT, DINT

Definicin de variable de tag

13

Valor inicial de 0.0 REAL, LREAL

Definicin de variable de tag

13

Valor inicial de tiempo de T#0s

Definicin de variable de tag, instruccin


restablecer (RES)

13

Cadena vaca ''

Descripciones y cadenas

14

Inicializacin de tipos derivados directamente

Importacin/exportacin

14

Inicializacin de tipos de datos de matriz

Importacin/exportacin

14

Inicializacin de elementos de tipo estructurado Importacin/exportacin

14

Inicializacin de tipos de datos estructurados


derivados

Importacin/exportacin

19a

2a

Invocacin textual, no formal

Disponible en ST

20

Uso de EN y ENO

Funcin presente en LD pero no etiquetada.


Disponible en FBD.

20

Uso sin EN y ENO

Disponible en FBD

20

Uso con EN y sin ENO

Disponible en FBD

20

Uso sin EN y con ENO

Disponible en FBD

21

Funciones sobrecargadas ADD(INT, DINT) o


ADD(DINT, REAL)

Todos los tipos sobrecargados aceptados estn


documentados con cada instruccin

22

Funcin de conversin _TO_

Instrucciones RAD, DEG, Radianes hacia/desde


decimal Conversin numrica de cadena STOD,
STOR, RTOS, DTOS. No se necesitan otras
debido a sobrecarga de instrucciones.

22

Truncar funcin de conversin

Instruccin TRN en LD y funcin TRUNC en ST

22

Convertir BCD a INT

Instruccin FRD en LD

Publicacin 1756-PM001E-ES-P - Agosto 2002

Cumplimiento de la norma IEC61131-3

B-7

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

22

Convertir INT a BCD

Instruccin TOD en LD

23

Valor absoluto

Instruccin ABS

23

Raz cuadrada

Instruccin SQR en LD y funciones FBD y SQRT


en ST.

23

Logaritmo natural

Instruccin LN

23

Logaritmo de base 10

instruccin LOG

23

Seno en radianes

Instruccin/funcin SIN

23

Coseno en radianes

Instruccin/funcin COS

23

Tangente en radianes

Instruccin/funcin TAN

23

Arco seno principal

Instruccin ASN en LD y funciones FBD y ASIN


en ST

23

10

Arco coseno principal

Instruccin ASC en LD y funciones FBD y ACOS


en ST

23

11

Arco tangente principal

Instruccin ATN en LD y funciones FBD y ATAN


en ST

24

12

Suma aritmtica

Instruccin ADD en LD y FBD y + en ST.

24

13

Multiplicacin aritmtica

Instruccin MUL en LD y FBD y * ST.

24

14

Resta aritmtica

Instruccin SUB en LD y FBD y en ST.

24

15

Divisin aritmtica

Instruccin DIV en LD y FBD y / en ST.

24

16

Modulo

Instruccin MOD en LD y ST

24

17

Exponenciacin

Instruccin XPY en LD y FBD y ** en ST.

24

18

Transferir valor

Instruccin MOV en LD y := en ST.

25

Desplazamiento de bit a la izquierda

Funcionalidad de la instruccin BSL en LD para


desplazamiento de 1

25

Desplazamiento de bit a la derecha

Funcionalidad de la instruccin BSR en LD para


desplazamiento de 1

25

Rotacin de bit hacia la izquierda

Funcionalidad de la instruccin BSL en LD para


desplazamiento de 1

25

Rotacin de bit hacia la derecha

Funcionalidad de la instruccin BSR en LD para


desplazamiento de 1

26

AND

Instruccin BAND en FBD y operador & en ST

26

OR

Instruccin BOR en FBD

26

XOR

Instruccin BXOR en FBD

26

NOT

Instruccin BNOT en FBD

27

SELECT

Instruccin SEL en FBD

27

2a

Seleccin mxima MAX

Funcionalidad de la instruccin ESEL en FBD y


ST

27

2b

Seleccin mnima MIN

Funcionalidad de la instruccin ESEL en FBD y


ST

27

Lmite bajo/alto LIMIT

Instruccin HLL en FBD y ST

27

Multiplexor MUX

Instruccin MUX en FBD

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-8

Cumplimiento de la norma IEC61131-3

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

28

Comparacin mayor que

Instruccin GRT en LD y FBD y > en ST.

28

Comparacin mayor o igual que

Instruccin GRE en LD y FBD y >= en ST.

28

Comparacin igual que

Instruccin EQU en LD y FBD y = en ST.

28

Comparacin menor que

Instruccin LES en LD y FBD y < en ST.

28

Comparacin menor o igual que

Instruccin LEQ en LD y FBD y <= en ST.

28

10

Comparacin diferente que

Instruccin NEQ en LD y FBD y <> en ST.

29

Longitud de cadena LEN

Contenido como parmetro del tipo de datos


STRING

29

Cadena media MID

Instruccin MID en LD y ST

29

Concatenar cadenas CONCAT

Instruccin CONCAT en LD y ST

29

Insertar cadena INSERT

Instruccin INSERT en LD y ST

29

Eliminar cadena DELETE

Instruccin DELETE en LD y ST

29

Encontrar cadena FIND

Instruccin FIND en LD y ST

32

Lectura de entrada

FBD y ST

32

Escritura de entrada

FBD y ST

32

Lectura de salida

FBD y ST

32

Escritura de salida

FBD y ST

34

Establecimiento biestable dominante

Instruccin SETD en FBD y ST

34

Restablecimiento biestable dominante

Instruccin RESD en FBD y ST

35

Detector de flanco ascendente

Instruccin OSR en LD e instruccin OSRI en


FBD y ST

35

Detector de flanco descendente

Instruccin OSR en LD e instruccin OSFI en


FBD y ST

36

1b

Contador progresivo

Funcionalidad de las instrucciones CTU y RES


en LD y funcionalidad de la instruccin CTUD en
FBD Y ST

37

2a

Temporizador de retardo a la conexin

Funcionalidad de la instruccin TON en LD y


funcionalidad de la instruccin TONR en FBD y
ST

37

3a

Temporizador de retardo a la desconexin

Funcionalidad de la instruccin TOF en LD y


funcionalidad de la instruccin TOFR en FBD y
ST

38

Temporizacin de retardo a la conexin

Funcionalidad de la instruccin TON en LD y


funcionalidad de la instruccin TONR en FBD y
ST

38

Temporizacin de retardo a la desconexin

Funcionalidad de la instruccin TOF en LD y


funcionalidad de la instruccin TOFR en FBD y
ST

40

1a

Paso SFC

40

1b

Paso inicial SFC

40

2a

Paso textual SFC

Publicacin 1756-PM001E-ES-P - Agosto 2002

Importacin/exportacin, el nombre del paso se


especifica usando el formato Operand :=
step_name

Cumplimiento de la norma IEC61131-3

B-9

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

40

2b

Paso inicial textual SFC

Importacin/exportacin, usa el parmetro


InitialStep y el nombre del paso se especifica
usando el formato Operand := step_name

40

3a

Formato general de indicador de paso SFC

Tag de respaldo de paso

40

Formato general de tiempo transcurrido de paso Tag de respaldo de paso

41

Transicin usando ST

41

Formato textual de transicin

Importacin/exportacin con formato diferente

41

Nombre de transicin

Tag de respaldo de transicin

41

7a

Transicin establecida por LD

Tag de respaldo de transicin

41

7b

Transicin establecida por FBD

Tag de respaldo de transicin

41

7d

Transicin establecida por ST

Tag de respaldo de transicin

42

Accin booleana

Tag de respaldo de accin

42

3s

Representacin textual de accin

Importacin/exportacin

43

Asociacin de Paso Accin

43

Paso con acciones concatenadas

43

Cuerpo textual de paso

Importacin/exportacin con formato diferente

43

Campo cuerpo accin

ST incorporado

44

Calificador de bloque de accin

44

Nombre de bloque de accin

44

Tag indicador de accin

Extendido para compatibilidad con DINT, INT,


SINT o REAL adems de BOOL

44

Accin usando ST

Compatibles con ST incorporado y rutina JSR a


ST

44

Accin usando LD

Usando rutina JSR a LD

44

Accin usando FBD

Usando rutina JSR a FBD

45

Calificador de accin Ninguno

La opcin predeterminada es N cuando None se


introduce explcitamente

45

Calificador de accin N No almacenado

45

Calificador de accin R Restablecido

45

Calificador de accin S Establecido /


Almacenado

45

Calificador de accin L Tiempo limitado

45

Calificador de accin D Con retardo de tiempo

45

Calificador de accin P Pulso

45

Calificador de accin SD Almacenado y con


retardo de tiempo

45

Calificador de accin DS Con retardo de


tiempo y almacenado

45

10

Calificador de accin SL Almacenado y


tiempo limitado

45

11

Calificador de accin P1 Flanco ascendente


de pulsos

45

12

Calificador de accin P0 Flanco descendente


de pulsos

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-10

Cumplimiento de la norma IEC61131-3

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

45a

Control de accin

45a

Control de accin

46

Secuencia nica SFC

46

2a

Divergencia de seleccin de secuencias SFC

46

2b

Divergencia de seleccin de secuencias SFC


con orden de ejecucin

46

Convergencia de seleccin de secuencias SFC

46

4a

Divergencia de secuencias simultneas SFC

46

4b

Convergencia de secuencias simultneas SFC

46

5a, b, c

Salto de secuencia SFC

46

6a, b, c

Lazo de secuencia SFC

46

Flechas direccionales de lazo SFC

47

Representacin grfica de SFC

47

Representacin grfica de SFC

48

Requisitos mnimos de cumplimiento de paso


SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de


transicin SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de accin


SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de cuerpo


de accin SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de


calificador de accin SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de


bifurcacin SFC

Consulte las notas en las tablas individuales


anteriores.

48

Requisitos mnimos de cumplimiento de


conexin de bloque SFC

Consulte las notas en las tablas individuales


anteriores.

55

ST Parntesis (expresin)

55

Evaluacin de funcin ST

55

ST Exponenciacin **

55

ST Negacin -

55

ST Negacin NOT

55

ST Multiplicar *

55

ST Dividir /

55

ST Modulo MOD

55

ST Sumar +

55

10

ST Restar -

55

11

ST Comparacin <, >, <=, >=

Publicacin 1756-PM001E-ES-P - Agosto 2002

Notas sobre extensiones e


implementacin:

Uso de conexiones de lnea vs. asterisco

Cuando el cable est oculto

Uso de formato de invocacin no formal para


funciones incorporadas. JSR usada dentro del
lenguaje ST para llamar al cdigo desarrollado
por el usuario.

Cumplimiento de la norma IEC61131-3

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

55

12

ST Igualdad =

55

13

ST Desigualdad <>

55

14

ST Booleano AND como &

55

15

ST Booleano AND

55

16

ST Booleano XOR

55

17

ST Booleano OR

56

Asignacin ST :=

56

Invocacin de bloque de funcin ST

56

ST RETORNO

56

ST IF / ELSIF / ELSE/ END_IF

56

ST CASE OF / ELSE / END_CASE

56

ST FOR / END_FOR

56

ST WHILE DO / END_WHILE

56

ST REPEATE / UNTIL / END_REPEAT

56

ST EXIT

56

10

Comando ST vaco ;

57

1, 2

Lnea horizontal

Editor LD, editor FBD

57

3, 4

Lnea vertical

Editor LD, editor FBD

57

5, 6

Conexin horizontal / vertical

Editor LD, editor FBD

57

7, 8

Cruces del lneas sin conexin

Editor FBD

57

9, 10

Esquinas con conexin y sin conexin

Editor LD, editor FBD

57

11, 12

Bloques con conexiones

Editor LD, editor FBD

57

13,14

Conectores

Editor FBD

58

Salto incondicional

Instruccin JMP en LD

58

Saltar receptor

Instruccin LBL en LD

58

Salto condicional

Instruccin JMP en LD

58

Retorno condicional

Instruccin RET en LD

58

Retorno incondicional

Instruccin RET en LD

59

Lnea de tensin izquierda

Editor LD

59

Lnea de tensin derecha

Editor LD

60

Vnculo horizontal

Editor LD

60

Vnculo vertical

Editor LD

61

1, 2

Contacto normalmente abierto --| |--

Instruccin XIC en LD

61

3, 4

Contacto normalmente cerrado --| / |--

Instruccin XIO en LD

61

5, 6

Contacto de deteccin de transicin positiva -|


P |-

Instruccin ONS en LD

62

Bobina --( )--

Instruccin OTE en LD

B-11

Notas sobre extensiones e


implementacin:

RET( ) con mltiples parmetros

Publicacin 1756-PM001E-ES-P - Agosto 2002

B-12

Cumplimiento de la norma IEC61131-3

Nmero de
Tabla:(1)

Nmero de
funcin:

Descripcin de la funcin:

Notas sobre extensiones e


implementacin:

62

Establecer (enclavar) bobina

Funcionalidad de la instruccin OTL en LD

62

Restablecer (desenclavar) bobina

Funcionalidad de la instruccin OTU en LD

62

Bobina de deteccin de transicin positiva

Instruccin OSR en LD

62

Bobina de deteccin de transicin negativa

Instruccin OSF en LD

(1)

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

Paso

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?

No

El controlador permanece
en el modo actual.

No

El controlador permanece
en el modo Marcha y
ejecuta la lgica

El controlador permanece
en el modo Marcha y
ejecuta la lgica

S
Contiene un programa el
Administrador de
inicializacin?
S
Ocurre el fallo mayor tipo 1,
cdigo 1.

Se ejecuta el programa
Administrador de
inicializacin.

Se borr el fallo mayor?

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:

Usa una
conexin:

La cual se
puede poner
en cach:

Lectura o escritura de la tabla de


datos CIP

CIP

PLC2, PLC3, PLC5 o SLC (todos los


tipos)

CIP
DH+

CIP genrico

N/A

transferencia en bloques de
lectura o escritura

N/A

CIP con ID de origen

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

Entonces:
A. Borre la casilla de verificacin Cache Connection.
B. Omita el paso 2.

No

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:

Entonces

Deje seleccionada la casilla de verificacin Cache


Connection.

No

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.

ATENCIN

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.

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

instruccin de salida

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:

Tipo de
datos:

Descripcin:

Notas:

LEN

DINT

nmero de caracteres
en la cadena

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

IMPORTANTE

11

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:

Entonces:

hace un tipo de datos de


cadena ms pequeo
hace un tipo de datos de
cadena ms grande

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:

Especifique:

una dimensin

array_name[subscript_0]

dos dimensiones

array_name[subscript_0,
subscript_1]

tres dimensiones

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?

Ejecute la rutina de
fallo
del programa
actual

No

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

Existe el
administrador de
fallos del
controlador
s

No

ejecute el
administrador de
fallos del
controlador

s
Se borr el fallo?

No

Entre en el modo fallo


Desactivacin de
registro de FAULTLOG

Vea estado con fallo, fallo menor.

Publicacin 1756-PM001E-ES-P - Agosto 2002

contina la
ejecucin de
lgica

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

estructura predefinida

establece el bit 6 del objeto FAULTLOG, atributo


MinorFaultBits

problema con el puerto en serie

establece el bit 9 del objeto FAULTLOG, atributo


MinorFaultBits

batera baja

establece el bit 10 del objeto FAULTLOG, atributo


MinorFaultBits

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

condicin de
entrada de rengln

instruccin de salida

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

CTU
Count Up
Counter
Preset
Accum

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 .

Esta matriz contiene


seis elementos del
tipo de datos DINT.

elementos de
timer_presets

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

Esta matriz:
una dimensin

Almacena los datos como:

27

Por ejemplo:
Nombre de tag:

Tipo

Dimensin 0

Dimensin 1

Dimensin 2

one_d_array

DINT[7]

--

--

nmero total de elementos = 7


rango de subndice vlido DINT[x] donde x=06
dos dimensiones

Nombre de tag:

Tipo

Dimensin 0

Dimensin 1

Dimensin 2

two_d_array

DINT[4,5]

--

nmero total de elementos = 4 5 = 20


rango de subndice vlido DINT[x,y] donde x=03; y=04
tres dimensiones

Nombre de tag:

Tipo

Dimensin 0

three_d_array

DINT[2,3,4] 2

Dimensin 1

Dimensin 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:

Hace referencia al:

timer_1.pre

valor PRE de la estructura timer_1.

input_load as data type load_info

miembro height de la estructura


input_load definida por el usuario

input_load.height

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:

Hace referencia al:

input_location como ubicacin de tipo


de datos

miembro height de la estructura


load_info en la estructura
input_location.

input_location.load_info.height

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:

Hace referencia al:

conveyor[10].source

miembro source del 11vo elemento en la matriz


conveyor (los elementos de la matriz se basan en
cero).

conveyor[10].info.height

miembro height de la estructura info en el 11vo


elemento la matriz conveyor (los elementos de la
matriz se basan en cero).

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:

Equivalencia:

Real

+infinito
infinito
+NAN
NAN
indefinido

1.$
1.$
1.#QNAN
1.#QNAN
1.#IND

Exponencial

+infinito
infinito
+NAN
NAN
indefinido

1.#INF000e+000
1.#INF000e+000
1.#QNAN00e+000
1.#QNAN00e+000
1.#IND0000e+000

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:

Para este:

Representa:

port

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

address

37

Backplane ControlLogix

nmero de ranura

red DF1

direccin de estacin (0-254)

red ControlNet

nmero de nodo (1-99 decimal)

red DH+

8# seguido del nmero de nodo (1-77 octal).


Por ejemplo, para especificar la direccin de nodo octal de
37, escriba 8#37.

red Ethernet/IP

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)

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:

Y luego el procesamiento interno


se realiza como mximo durante:

10%

9 ms

1 ms

20%

4 ms

1 ms

33%

2 ms

1 ms

50%

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

1 ms

tiempo de procesamiento
interno del sistema
9 ms

9 ms

Publicacin 1756-PM001E-ES-P - Agosto 2002

Glosario

40

tarea continua
5

10

15

20

25

tiempo transcurrido (ms)

La interrupcin de una tarea peridica aumenta el tiempo transcurrido


(tiempo del reloj) entre la ejecucin del procesamiento interno del
sistema.
1 ms

1 ms

1 ms

1 ms

tarea peridica
1 ms

1 ms

tiempo de procesamiento
interno del sistema
9 ms de tiempo de tarea
continua

9 ms de tiempo de tarea continua

tarea continua
5

10

15

20

25

tiempo transcurrido (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

1 ms

1 ms

1 ms

1 ms

tiempo de procesamiento
interno del sistema
4 ms

4 ms

4 ms

4 ms

4 ms

tarea continua
5

10

15

20

25

tiempo transcurrido (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

10

15

20

25

tiempo transcurrido (ms)

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

10

15

20

25

tiempo transcurrido (ms)

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

Publicacin 1756-PM001E-ES-P - Agosto 2002

0
Start

Glosario

43

station_status, que usa el tipo de datos DINT:


Asignacin de
memoria
asignacin

Bits
31

station_status

mixer, que usa el tipo de datos definido por el usuario:


Asignacin de
memoria

Bits
31

24

asignacin 1

mixer.pressure

asignacin 2

mixer.temp

asignacin 3

mixer.agitate_time

asignacin 4

no se usa

23

16

no se usa

15

no se usa

8 7

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

Bits
31

16

asignacin 1

temp_buffer[1]

temp_buffer[0]

asignacin 2

temp_buffer[3]

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.

ATENCIN

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.

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

menos eficiente

BOOL

BOOL

BOOL

DINT

BOOL

BOOL

DINT

DINT

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:

Entonces los operandos de entrada (por ej. origen, tag en


una expresin, lmite) se convierten a:

REAL

No

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:

SINT o INT a REAL

Publicacin 1756-PM001E-ES-P - Agosto 2002

Decimal

Binario

DINT

65,665

0000_0000_0000_0001_0000_0000_1000_0001

INT

129

0000_0000_1000_0001

SINT

127

1000_0001

No se pierde la precisin de datos.

Glosario

49

Conversin:

Resultado:

DINT a REAL

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.

REAL a nmero entero

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)

DINT
(resultado)

2.5

1.6

1.5

1.4

1.4

1.5

1.6

2.5

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

ATENCIN

51

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

organizar un proyecto 4-6


paro 4-40
paso

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

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

asignar prioridades 5-8


crear 5-6
descripcin general 4-14
bifurcacin simultnea

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"

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

iii

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

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

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

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

texto estructurado 6-10

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

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

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

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

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

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

M
manipular cadena 17-1
marcar como booleana 5-19
matriz
crear 3-10
organizar 3-1
memoria 9-6
memoria no voltil

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

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

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

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

vii

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


Hex

Carcter

Dec

Hex

Carcter

Dec

Hex

Carcter

Dec

Hex

[ctrl-@] NUL 0

$00

&

38

$26

76

$4C

114

$72

[ctrl-A] SOH

$01

39

$27

77

$4D

115

$73

[ctrl-B] STX

$02

40

$28

78

$4E

116

$74

[ctrl-C] ETX

$03

41

$29

79

$4F

117

$75

[ctrl-D] EOT

$04

42

$2A

80

$50

118

$76

[ctrl-E] ENQ

$05

43

$2B

81

$51

119

$77

[ctrl-F] ACK

$06

44

$2C

82

$52

120

$78

[ctrl-G] BEL

$07

45

$2D

83

$53

121

$79

[ctrl-H] BS

$08

46

$2E

84

$54

122

$7A

[ctrl-I] HT

$09

47

$2F

85

$55

123

$7B

[ctrl-J] LF

10

$l ($0A)

48

$30

86

$56

124

$7C

[ctrl-K] VT

11

$0B

49

$31

87

$57

125

$7D

[ctrl-L] FF

12

$0C

50

$32

88

$58

126

$7E

[ctrl-M] CR

13

$r ($0D)

51

$33

89

$59

DEL

127

$7F

[ctrl-N] SO

14

$0E

52

$34

90

$5A

[ctrl-O] SI

15

$0F

53

$35

91

$5B

[ctrl-P] DLE

16

$10

54

$36

92

$5C

[ctrl-Q] DC1

17

$11

55

$37

93

$5D

[ctrl-R] DC2

18

$12

56

$38

94

$5E

[ctrl-S] DC3

19

$13

57

$39

95

$5F

[ctrl-T] DC4

20

$14

58

$3A

96

$60

[ctrl-U] NAK

21

$15

59

$3B

97

$61

[ctrl-V] SYN

22

$16

<

60

$3C

98

$62

[ctrl-W] ETB

23

$17

61

$3D

99

$63

[ctrl-X] CAN

24

$18

>

62

$3E

100

$64

[ctrl-Y] EM

25

$19

63

$3F

101

$65

[ctrl-Z] SUB

26

$1A

64

$40

102

$66

ctrl-[ ESC

27

$1B

65

$41

103

$67

[ctrl-\] FS

28

$1C

66

$42

104

$68

ctrl-] GS

29

$1D

67

$43

105

$69

[ctrl-^] RS

30

$1E

68

$44

106

$6A

[ctrl-_] US

31

$1F

69

$45

107

$6B

ESPACIO

32

$20

70

$46

108

$6C

33

$21

71

$47

109

$6D

34

$22

72

$48

110

$6E

35

$23

73

$49

111

$6F

36

$24

74

$4A

112

$70

37

$25

75

$4B

113

$71

Carcter

Dec

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

1.440.646.5800

Fuera de Estados
Unidos/Canad

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

Internet

1. Vaya a http://www.ab.com
2. Haga clic en Product Support
(http://support.automation.rockwell.com)

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.

Вам также может понравиться