Manual de programaciónucc.colorado.edu/allen-bradley/1756-pm001b-es-p.pdf · 1 Publicación...

174
Controladores Logix5000 Procedimientos comunes Manual de programación Allen-Bradley HMIs

Transcript of Manual de programaciónucc.colorado.edu/allen-bradley/1756-pm001b-es-p.pdf · 1 Publicación...

Controladores Logix5000™

Procedimientos comunes

Manual de programación

Allen-Bradley HMIs

Información importante para el usuario

Debido a la variedad de usos de los productos descritos en esta publicación, las personas responsables de la aplicación y uso de este equipo de control deben asegurarse de que se hayan seguido todos los pasos necesarios para que cada aplicación y uso cumplan con todos los requisitos de rendimiento y seguridad, incluyendo leyes, normativas, códigos y normas aplicables.

Los ejemplos de ilustraciones, gráficos, programas y esquemas mostrados en esta guía tienen la única intención de ilustrar el texto. Debido a las muchas variables y requisitos asociados con cualquier instalación particular, Allen-Bradley no puede asumir responsabilidad ni obligación (incluyendo responsabilidad de propiedad intelectual) por el uso real basado en los ejemplos mostrados en esta publicación.

La publicación de Allen-Bradley SGI-1.1, Safety Guidelines for the Application, Installation and Maintenance of Solid-State Control (disponible en la oficina de Allen-Bradley local), describe algunas diferencias importantes entre equipos transistorizados y dispositivos electromecánicos, las cuales deben tomarse en consideración al usar productos tales como los descritos en esta publicación.

Está prohibida la reproducción total o parcial del contenido de esta publicación con derechos de propiedad literaria sin el permiso escrito de Rockwell Automation.

En este manual hacemos anotaciones para advertirle sobre consideraciones de seguridad:

Sírvase tomar nota de que en esta publicación se usa el punto decimal para separar la parte entera de la decimal de todos los números.

Las notas de “Atención” le ayudan a:

• identificar un peligro

• evitar un peligro

• reconocer las consecuencias

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. Sírvase tomar nota de que en esta publicación se usa el punto decimal para separar la parte entera de la decimal de todos los números.

ATENCION

!Identifica información o prácticas o circunstancias que pueden conducir a lesiones personales o la muerte, daños materiales o pérdidas económicas.

IMPORTANTE Identifica información sumamente importante para una correcta aplicación y entendimiento del producto.

Resumen de cambios

Introducción Esta versión del documento contiene información nueva y actualizada.

Información actualizada El documento contiene los cambios siguientes:

Información nueva o actualizada: Comienza en la página:

Identificación de los lenguajes de programación disponibles

2-1

Apertura de una rutina 4-1

Introducción de instrucciones del bloque de funciones

4-4

Creación de un tag 4-9

Almacenar E/S en el búfer 8-3

Configurar un driver de comunicación 9-1

Producir y consumir un tag 10-1

Forzado de valores 13-1

Cumplimiento con IEC1131-3 B-1

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

Resumen de cambios 2

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Prefacio

Propósito de este manual Este manual sirve como guía para el desarrollo de proyectos para los controladores Logix5000. Proporciona procedimientos paso a paso sobre cómo realizar las siguientes tareas, las cuales son comunes para todos los controladores Logix5000.

• Administración de archivos del proyecto

• Organización de la lógica

• Organización de tags

• Programación de rutinas

• Prueba de un proyecto

• Manejo de fallos

El término controlador Logix5000 se refiere a cualquier controlador basado en el sistema operativo Logix, tal como:

• controladores CompactLogix™

• controladores FlexLogix™

• controladores ControlLogix™

• controladores SoftLogix™

Este manual se usa junto con los manuales del usuario para el tipo de controlador específico. Los manuales del usuario cubren tareas tales como:

• Colocación y configuración de E/S

• Comunicación con dispositivos a través de diversas redes

• Mantenimiento de la batería

Quién debe usar este manual

Este manual está diseñado para quienes programan aplicaciones que usan controladores Logix5000, tales como:

• ingenieros de software

• ingenieros de control

• ingenieros de aplicación

• técnicos de instrumentación

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

Prefacio 2

Cuándo usar este manual Use este manual cuando realice las siguientes acciones:

• desarrollo del código básico de la aplicación

• modificación de una aplicación existente

• realización de pruebas aisladas de la aplicación

A medida que integre la aplicación con los dispositivos de E/S, controladores y redes en el sistema:

• Consulte el manual del usuario del tipo específico de controlador.

• Use este manual como referencia, cuando sea necesario.

Cómo usar este manual Este manual está dividido en las tareas básicas que se realizan durante la programación de un controlador Logix5000.

• Cada capítulo cubre una tarea.

• Las tareas están organizadas en la secuencia en la cual normalmente se realizarían.

A medida que use este manual, verá algunos términos que están formateados diferentemente del resto del texto:

El texto que está en:

Identifica: Por ejemplo: Significa:

Cursiva el nombre real de un ítem que usted ve en la pantalla o en un ejemplo

Haga clic con el botón derecho del mouse en Definido por el usuario …

Haga clic con el botón derecho del mouse en el ítem que tiene el nombre Definido por el usuario.

negrita una entrada en el “Glosario” Escriba un nombre … Si desea información adicional, consulte nombre en el “Glosario”.

Si está viendo el archivo PDF del manual, haga clic en nombre para saltar a la entrada del glosario.

courier información que debe suministrar basada en su aplicación (una variable)

Haga clic con el botón derecho del mouse en name_of_program …

Usted debe identificar el programa específico en la aplicación. Generalmente es un nombre o variable que usted ha definido.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Tabla de contenido

Capítulo 1Administración de archivos del proyecto

Creación de un archivo de proyecto . . . . . . . . . . . . . . . . . 1-1Guarde los cambios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Capítulo 2Organización de tareas Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 2-1

Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 2-1Identificación de los lenguajes de programación disponibles 2-1Organización de la lógica . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Verificación del controlador. . . . . . . . . . . . . . . . . . . . . . . . 2-5

Capítulo 3Organización de tags Planifique los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1

Creación de un tipo de datos definido por el usuario . . . . . 3-6Notas: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8

Creación de un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Creación de tags usando Microsoft® Excel® . . . . . . . . . . . . . . . . 3-9

Capítulo 4Programación de rutinas Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 4-1

Cómo usar este procedimiento . . . . . . . . . . . . . . . . . . . . . 4-1Apertura de una rutina . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1Introducción de lógica de escalera. . . . . . . . . . . . . . . . . . . 4-3Introducción de instrucciones del bloque de funciones. . . . 4-4Asignación de tags y valores . . . . . . . . . . . . . . . . . . . . . . . 4-7Verificación de la rutina . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10

Capítulo 5Acceso a los valores del sistema Monitorizacion de los indicadores de estado . . . . . . . . . . . 5-1

Obtener y establecer datos del sistema. . . . . . . . . . . . . . . . 5-2

Capítulo 6Asignación de alias Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

Visualización de información de alias. . . . . . . . . . . . . . . . . 6-2Asignación de un alias . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

Capítulo 7Asignación de una dirección indirecta

Cuándo asignar una dirección indirecta . . . . . . . . . . . . . . . 7-1Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3

Capítulo 8Almacenamiento de E/S en el búfer

Cuándo almacenar E/S en el búfer. . . . . . . . . . . . . . . . . . . 8-1Almacenamiento de E/S en el búfer . . . . . . . . . . . . . . . . . . 8-1

i Publication 1756-PM001B-ES-P - Noviembre 2000Allen-Bradley HMIs

Tabla de contenido ii

Capítulo 9Prueba de un proyecto Prueba de un proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-1

Configurar un driver de comunicación . . . . . . . . . . . . . . . . 9-1Descargar un proyecto al controlador . . . . . . . . . . . . . . . . 9-2Seleccionar un modo para el controlador . . . . . . . . . . . . . . 9-3Corregir un fallo mayor . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-4Guardar los cambios en línea . . . . . . . . . . . . . . . . . . . . . . 9-4

Capítulo 10Comunicación con otro controlador

Seleccione un método de comunicación . . . . . . . . . . . . . . 10-1Producir y consumir un tag . . . . . . . . . . . . . . . . . . . . . . . . 10-1

Lo que usted necesita hacer . . . . . . . . . . . . . . . . . . . . . 10-3Organizar tags para datos compartidos . . . . . . . . . . . . . 10-3Producir un tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-4Consumir un tag producido . . . . . . . . . . . . . . . . . . . . . 10-5

Compartir datos con un controlador PLC-5C . . . . . . . . . . . 10-6Producir enteros para un controlador PLC-5C . . . . . . . . 10-6Producir REAL para un controlador PLC-5C. . . . . . . . . . 10-7Cómo consumir enteros desde un controlador PLC-5C. . 10-9

Ajustar para límites de tamaño. . . . . . . . . . . . . . . . . . . . . 10-10Enviar un mensaje. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11

Capítulo 11Producción de una matriz grande Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 11-1

Para producir una matriz grande . . . . . . . . . . . . . . . . . . . . 11-2

Capítulo 12Comunicación con un dispositivo ASCII

Lo que usted necesita hacer. . . . . . . . . . . . . . . . . . . . . . . . 12-1Configurar el puerto serie del controlador para ASCII . . . . . 12-1Organizar datos ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-5Introducir caracteres ASCII . . . . . . . . . . . . . . . . . . . . . . . . 12-5Programar las instrucciones del puerto serie ASCII . . . . . . . 12-9Manipular los datos ASCII . . . . . . . . . . . . . . . . . . . . . . . . 12-11

Capítulo 13Forzado de valores Cuándo forzar un valor . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-1

Introducción de un forzado . . . . . . . . . . . . . . . . . . . . . . . . 13-2Introduzca los forzados desde la ventana Tags . . . . . . . 13-2Introduzca forzados desde la lógica de escalera . . . . . . 13-4

Habilitación de forzados . . . . . . . . . . . . . . . . . . . . . . . . . . 13-5Inhabilitación de forzados . . . . . . . . . . . . . . . . . . . . . . . . . 13-6Cómo retirar los forzados . . . . . . . . . . . . . . . . . . . . . . . . . 13-6Monitorización de forzados . . . . . . . . . . . . . . . . . . . . . . . . 13-7

Publication 1756-PM001B-ES-P - Noviembre 2000

Tabla de contenido iii

Capítulo 14Desarrollo de una rutina de fallo Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 14-1

Desarrollo de una rutina de fallo . . . . . . . . . . . . . . . . . . . . 14-1Prueba de una rutina de fallo . . . . . . . . . . . . . . . . . . . . . . 14-4

Capítulo 15Creación de un fallo mayor definido por el usuario

Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 15-1Creación de un fallo mayor definido por el usuario . . . . . . 15-1

Capítulo 16Monitorización de fallos menores Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 16-1

Monitorización de fallos menores . . . . . . . . . . . . . . . . . . . 16-1

Capítulo 17Desarrollo de una rutina de inicializacion

Cuándo usar este procedimiento . . . . . . . . . . . . . . . . . . . . 17-1Desarrollo de una rutina de inicializacion. . . . . . . . . . . . . . 17-1

Apéndice ACódigos de fallo Cuándo usar este apéndice . . . . . . . . . . . . . . . . . . . . . . . . A-1

Códigos de fallo mayor . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Códigos de fallo menor . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3

Apéndice BCumplimiento con IEC1131-3 Cómo usar este apéndice . . . . . . . . . . . . . . . . . . . . . . . . . B-1

Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1Sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2Definiciones de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . B-3Conjunto de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . B-4Portabilidad de programas IEC 1131-3 . . . . . . . . . . . . . . . . B-4Tablas de cumplimiento con IEC 1131-3. . . . . . . . . . . . . . . B-5

Glosario

Publication 1756-PM001B-ES-P - Noviembre 2000Allen-Bradley HMIs

Tabla de contenido iv

Publication 1756-PM001B-ES-P - Noviembre 2000

Capítulo 1

Administración de archivos del proyecto

Creación de un archivo de proyecto

Antes de programar un controlador Logix5000, debe crear un archivo de proyecto:

1. Inicie el software RSLogix 5000™.

2. En el menú Archivo, seleccione Nuevo.

3. Seleccione el tipo de controlador.

4. Escriba un nombre para el controlador.

5. Escriba una descripción de las operaciones que realiza el controlador (opcional).

6. Seleccione el tipo de chasis (número de ranuras) que contiene el controlador (no se aplica en el caso de algunos controladores).

7. Seleccione o escriba el número de ranura donde está instalado el controlador (no se aplica en el caso de algunos controladores).

8. Para almacenar el archivo en una carpeta diferente (que no sea la ruta de acceso predeterminada Crear en), haga clic en Examinar y seleccione una carpeta.

9. Haga clic en Aceptar.

42194

3.

4.

5.

6.

7.

8.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

1-2 Administración de archivos del proyecto

42371

Guarde los cambios A medida que vaya creando la lógica y haciendo cambios de configuración, guarde su proyecto.

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

nombre del controlador

organizador delcontrolador

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

botón derecho del mouse en la carpeta Controller name_of_controller y seleccione Propiedades.

E. Introduzca un nuevo nombre para el controlador.

F. Haga clic en Aceptar.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Administración de archivos del proyecto 1-3

Notas: • Los nombres se descargan al controlador, mientras que la documentación (descripciones comentarios de renglón) no se descarga al controlador.

• Para cambiar el nombre, tamaño de chasis o número de ranura del controlador:

a. En el Organizador de controller, haga clic con el botón derecho del mouse en la carpeta Controller name_of_controller y seleccione Propiedades.

b. Cambie la información requerida.

c. Haga clic en Aceptar.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

1-4 Administración de archivos del proyecto

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 2

Organización de tareas

Cuándo usar este procedimiento

Después de crear un archivo de proyecto, organice el proyecto en tareas.

Cómo usar este procedimiento

Para organizar el proyecto en tareas, realice lo siguiente:

• Identifique los lenguajes de programación disponibles

• Organice la lógica

• Verifique el controlador

Identificación de los lenguajes de programación disponibles

Use la siguiente tabla para identificar el lenguaje de programación que puede usar para el controlador:

Notas:

• Para controladores con varios lenguajes, puede combinar lenguajes en un mismo proyecto.

• Para utilizar los bloques de funciones, debe tener el siguiente número de catálogo del software de RSLogix 5000:

– 9324-RLD700

• Para ver los componentes instalados con el software de RSLogix 5000:

1. Abra el software de RSLogix 5000.

2. En el menú Ayuda, elija Acerca de RSLogix 5000.

Para esta plataforma de controladores:

Puede utilizar este lenguaje:

lógica de escalera

bloque de funciones

CompactLogix ✔ ✔

ControlLogix ✔ ✔

FlexLogix ✔ ✔

SoftLogix ✔

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

2-2 Organización de tareas

Organización de la lógica Para ejecutar la lógica se usa una tarea (s). Hay dos tipos de tareas:

El Organizador del controlador muestra las tareas de un controlador.

Este tipo de tarea: Hará lo siguiente:

tarea continua ejecutará continuamente la lógica (sólo se puede tener una tarea continua).

tarea periódica • interrumpirá la tarea continua• ejecutará la lógica una vez• devolverá el control a la tarea continua(Se puede tener más de una tarea periódica).

42195

La carpeta Tasks contiene las tareas para el controlador (por ejemplo, la lógica).

MainTask es la tarea continua predeterminada. Ésta se ejecuta todo el tiempo y ejecuta repetidamente MainProgram.

Cada vez que se ejecute MainProgram, se ejecutará la lógica en MainRoutine. Se puede usar MainRoutine para llamar a otras rutinas (subrutinas) dentro de MainProgram.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tareas 2-3

Seleccione la tarea (s) para la lógica:

Si ejecuta: Entonces: Pasos detallados:

una función a un régimen constante (por ejemplo, ejecutar un lazo PID cada 100 ms)

1. Cree una tarea periódica para la función.

A. En el organizador de controlador, haga clic con el botón derecho del mouse en Tasks y seleccione Nueva tarea.

B. Tipo:• nombre _of_task • descripción (opcional)

C. De la lista Tipo, seleccione Periódico.D. Bajo Atributos periódicos, escriba:

• dimensión • prioridad

E. Haga clic en Aceptar.

una función muy rapida

2. Cree un programa para la tarea.

A. Haga clic con el botón derecho del mouse en nombre_of_task y seleccione Nuevo programa.

B. Tipo:• name_of_program

• descripción (opcional)C. Haga clic en Aceptar.

3. Cree y asigne una rutina principal (la rutina que se ejecuta primero en el programa).

A. Haga clic en el signo + ubicado junto al nombre_of_task.

B. Haga clic con el botón derecho del mouse en name_of_program y seleccione Nueva routine.

C. Tipo:• name_of_main_routine

• descripción (opcional)D. De la lista desplegable Tipo, seleccione el lenguaje de

programación para la rutina.E. Haga clic en Aceptar.F. Haga clic con el botón derecho del mouse en

name_of_program y seleccione Propiedades.G. Haga clic en la ficha Configuración.H. De la lista desplegable Principal, seleccione

name_of_main_routineI. Haga clic en Aceptar.J. Para añadir rutinas adicionales (subrutinas) al programa,

repita los pasos B. a E.

4. Coloque las funciones restantes en MainTask, MainProgram. (Ver a continuación).

múltiples funciones y usa lógica para decidir cuándo se ejecutará cada función

1. Cree una rutina (subrutina) para cada función:

A. En el Organizador del controlador, haga clic con el botón derecho del mouse en MainProgram y seleccione Nueva Routine.

B. Escriba las siguientes propiedades para la rutina (función):• nombre _of_routine • descripción (opcional)

C. De la lista desplegable Tipo, seleccione el lenguaje de programación para la rutina.

D. Haga clic en Aceptar.

2. Use una instrucción JSR para llamar a cada subrutina.

todas las funciones todo el tiempo

1. En MainRoutine, introduzca la lógica. 2. Use comentarios de renglón para designar las diferentes funciones.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

2-4 Organización de tareas

El siguiente ejemplo describe la ejecución de un proyecto con más de una tarea.

Notas:

• Todas las tareas periódicas interrumpen a la tarea continua.

• La tarea de prioridad más alta interrumpe todas las tareas de prioridad inferior.

• Una tarea de prioridad mayor puede interrumpir una tarea de menor prioridad múltiples veces.

• Cuando una tarea continua completa un escán total, ésta se reinicia inmediatamente.

• Las tareas con la misma prioridad se ejecutan según el segmento de tiempo a intervalos de 1 ms.

• Para cambiar las propiedades de una tarea, programa o rutina (nombre, tipo, prioridad, etc.), haga clic con el botón derecho del mouse en la tarea, programa o rutina y seleccione Propiedades.

EJEMPLO Orden de ejecución de tareas para un proyecto con dos tareas periódicas y una tarea continua

Tarea: Tipo de tarea: Nivel de prioridad: tiempo de ejecución:

1 periódica de 20 ms 5 2 ms

2 periódica de 10 ms 10 4 ms

3 continua ninguna (más baja) 24 ms

Inscripción:

La tarea se ejecuta.

La tarea se interrumpe (se suspende).

Tarea 1

Tarea 2

Tarea 3

5 10 15 20 25 30 35 40 45 50

tiempo transcurrido (ms)

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tareas 2-5

Verificación del controlador

A medida que programa el proyecto, verifique periódicamente su trabajo:

1. En la barra de herramientas ubicada en el extremo superior de la

ventana RSLogix 5000, haga clic en .

2. Si hay errores listados en la parte inferior de la ventana:

a. Para ir al primer error o advertencia, presione la tecla F4.

b. Corrija el error según la descripción que aparece en la ventana Resultados.

c. Vaya al paso 1.

3. Para cerrar la ventana Resultados, presione las teclas Alt + 1.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

2-6 Organización de tareas

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 3

Organización de tags

Planifique los tags Los controladores Logix5000 almacenan datos en tags (a diferencia de archivos de datos fijos, los cuales se direccionan numéricamente). Con los tags usted puede

• organizar los datos para reflejar la maquinaria

• documentar (mediante nombres de tag) la aplicación a medida que se va desarrollando

Cuando se crea un tag se asignan las siguientes propiedades:

La siguiente tabla resume los tipos de datos más comunes y cuándo usarlos.

Tabla 3.A Propiedades de tag

Propiedad: Descripción:

alcance define que rutinas pueden tener acceso a los datos

nombre identifica a los datos (tags con diferentes alcances pueden tener el mismo nombre)

tipo de datos define la organización de los datos, tal como número de coma flotante, entero o bit

Tabla 3.B Tipos de datos

Para: Seleccione:

bit BOOL

señal de E/S digital BOOL

dispositivo analógico en modo de coma flotante REAL

dispositivo analógico en modo entero (para velocidades de muestreo muy rápidas)

INT

contador COUNTER

número de coma flotante REAL

entero (número entero) DINT

secuenciador CONTROL

temporizador TIMER

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

3-2 Organización de tags

Use la siguiente tabla para organizar los datos:

Los siguientes ejemplos muestran los diferentes niveles a los cuales se pueden organizar los datos:

• Tags de un solo elemento, en la página 3-2

• Matriz de una sola dimensión, en la página 3-3

• Matriz de dos dimensiones, en la página 3-4

• Tipo de datos definido por el usuario que almacena una receta, en la página 3-5

• Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar una máquina, en la página 3-6

Para un: Use un: Referencia:

grupo de atributos comunes usados por más de una máquina

tipo de datos definido por el usuario

Refer to Creación de un tipo de datos definido por el usuario on page 3-6.

grupo de datos con el mismo tipo de datos

matriz Refer to Creación de un tag on page 3-8.

valor único tag de un elemento único

dispositivo de E/S

EJEMPLO Tags de un solo elemento

dispositivo de E/Sdigital

dispositivo de E/Sanalógico

valor entero

bit de almacenamiento

contador

temporizador

42364

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tags 3-3

EJEMPLO Matriz de una sola dimensión

En este ejemplo, una sola instrucción de temporización temporiza la duración de varios pasos. Cada paso requiere un valor preseleccionado diferente. Puesto que todos los valores tienen el mismo tipo de datos (DINT), se usa una matriz.

42367

Para expandir una matriz y mostrar sus elementos, haga clic en el signo +.

Para contraer una matriz y ocultar sus elementos, haga clic en el signo –.

Esta matriz contiene seis elementos del tipo de datos DINT.

seis DINTelementos de timer_presets

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

3-4 Organización de tags

EJEMPLO Matriz de dos dimensiones

Una perforadora puede perforar de uno a cinco agujeros en un libro. La máquina requiere un valor para la posición de cada agujero desde el borde delantero del libro. Para organizar los valores en configuraciones, se usa una matriz de dos dimensiones. El primer subíndice indica el agujero al cual corresponde el valor y el segundo subíndice indica cuántos agujeros se perforarán (uno a cinco).

En la ventana Tags, los elementos están en el orden indicado a continuación.

subíndice de segunda dimensión Descripción0 1 2 3 4 5

subíndice de primera dimensión

01 1.5 2.5 1.25 1.25 1.25 Posición del primer agujero desde el borde delantero

del libro2 8.0 5.5 3.5 3.5 Posición del segundo agujero desde el borde

delantero del libro3 9.75 7.5 5.5 Posición del tercer agujero desde el borde delantero

del libro4 9.75 7.5 Posición del cuarto agujero desde el borde delantero

del libro5 9.75 Posición del quinto agujero desde el borde delantero

del libro

42367

La dimensión del extremo derecho se incrementa a su valor máximo y luego vuelve a empezar.

Esta matriz contiene una cuadrícula de elementos de dos dimensiones, seis elementos por seis elementos.

Cuando vuelve a empezar la dimensión del extremo derecho, la dimensión de la izquierda aumenta por un valor de uno.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tags 3-5

EJEMPLO Tipo de datos definido por el usuario que almacena una receta

En un sistema de varios tanques, cada tanque puede ejecutar una variedad de recetas. Puesto que la receta requiere una combinación de tipos de datos (REAL, DINT, BOOL, etc.), se usa un tipo de datos definido por el usuario.

Una matriz basada en este tipo de datos se vería como la siguiente:

Nombre (del tipo de datos): TANK

Nombre del miembro Tipo de datos

temp REAL

banda muerta REAL

paso DINT

step_time TIMER

preseleccionado DINT[6]

combinación BOOL

42368

matriz de recetas

primera recetaEsta matriz contiene tres elementos del tipo de datos TANK.

miembros de la receta

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

3-6 Organización de tags

Creación de un tipo de datos definido por el usuario

Para crear un tipo de datos definido por el usuario:

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

EJEMPLO Tipo de datos definido por el usuario que almacena los datos requeridos para ejecutar una máquina.

Puesto que varias estaciones de perforación requieren la siguiente combinación de datos, se crea un tipo de datos definido por el usuario.

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

42195

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tags 3-7

2. Introduzca un nombre para el tipo de datos.

3. Introduzca una descripción (opcional).

4. Escriba el nombre del primer miembro.

5. Especifique el tipo de datos del miembro. See Tabla 3.B on page 3-1.

Use el siguiente formato para una matriz:

data_type[x]

donde:

x Variables el número de elementos en la matriz.

6. Para mostrar el valor (es) del miembro en un estilo diferente (base), seleccione el estilo.

7. Escriba una descripción para el miembro (opcional).

8. Haga clic en Aplicar.

42196

2.

3.

4. 5. 6. 7.

EJEMPLO Si el miembro es una matriz de seis DINT, escriba DINT[6].

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

3-8 Organización de tags

9. ¿Más miembros?

Notas:

• Si incluye miembros que representan dispositivos de E/S, debe usar la lógica de escalera para copiar los datos entre los miembros en la estructura y los tags de E/S correspondientes. Refer to Almacenamiento de E/S en el búfer on page 8-1.

• Cuando use los tipos de datos BOOL, SINT o INT, coloque los miembros que usan el mismo tipo de datos de forma consecutiva:

Creación de un tag Para crear un tag (incluyendo una matriz):

1. En el menú Lógica, seleccione Editar tag.

Si: Entonces:

Sí Repita los pasos 4. a 8.

No Haga clic en Aceptar.

más eficiente

BOOL

BOOL

BOOL

DINT

DINT

menos eficiente

BOOL

DINT

BOOL

DINT

BOOL

42350

2.

3. 5.4.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tags 3-9

2. Seleccione un alcance para el tag:

3. Introduzca un nombre para el tag.

4. Introduzca el tipo de datos:

donde:

data_type es el tipo de datos que el tag o matriz almacena. See Tabla 3.B on page 3-1.

x es el número de elementos en la primera dimensión.

y es el número de elementos en la segunda dimensión.

y es el número de elementos en la tercera dimensión.

5. Escriba una descripción (opcional).

Creación de tags usando Microsoft® Excel®

También puede usar un software de hojas de cálculo, tal como Microsoft Excel para crear y editar tags. Esto permite aprovechar las funciones de edición del software de hojas de cálculo.

Para crear tags usando Excel:

1. Abra el proyecto RSLogix 5000.

2. Cree varios tags. (Esto ayuda a formatear la hoja de cálculo Excel).

Si usará el tag: Entonces seleccione:

en más de un programa dentro del proyecto

name_of_controller (controlador)

como productor o consumidor

en un mensaje

en solamente un programa dentro del proyecto

programa que usará el tag

Si el tag: Entonces escriba:

no es una matriz (archivo) data_type

es una matriz de una dimensión data_type[x]

es una matriz de dos dimensiones data_type[x,y]

es una matriz de tres dimensiones data_type[x,y,z]

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

3-10 Organización de tags

3. En el menú Herramientas, seleccione Exportar tag.

4. Apunte el nombre del archivo de exportación (project_name- Tags).

5. Seleccione el alcance de los tags a exportar. Si selecciona Tag de program, seleccione los tags del programa a exportar.

6. Haga clic en Exportar.

42361

Los tags se guardan en esta carpeta.

4.

5.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Organización de tags 3-11

7. En el software Microsoft Excel, abra el archivo de exportación.

8. Introduzca TAG

9. Identifique el alcance del tag:

10. Introduzca el nombre del tag.

11. Introduzca el tipo de datos del tag.

12. Repita los pasos 8 a 11 para cada tag adicional.

13. Guarde y cierre el archivo. (Manténgalo como formato .CSV).

14. En el software RSLogix 5000, en el menú Herramientas, seleccione Importar tag.

15. Seleccione el archivo que contiene los tags y haga clic en Importar.

Se importan los tags al proyecto. La sección inferior de la ventana RSLogix 5000 muestra los resultados.

TIPO ALCANCE NOMBRE DESCRIPCIÓN TIPO DE DATOS

TAG in_cycle DINT

TYPE SCOPE NAME DESCRIPTION DATATYPE

TAG MainProgram conveyor_alarm BOOL

TAG MainProgram conveyor_on BOOL

TAG MainProgram drill_1 DRILL_STATION

TAG MainProgram hole_position REAL[6,6]

TAG MainProgram machine_on BOOL

8. 9. 10. 11.

Si el alcance es: Entonces:

controlador Deje esta celda vacía.

programa Introduzca el nombre del programa.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

3-12 Organización de tags

Notes: • Los tags se pueden configurar para comunicarse directamente con otros controladores:

Si piensa usar tags producidos o consumidos, debe seguir pautas adicionales a medida que organiza los tags. Refer to Comunicación con otro controlador on page 10-1.

• Los siguientes tipos de datos enteros también están disponibles:

– SINT (entero de 8 bits)

– INT (entero de 16 bits)

Normalmente, las instrucciones convierten valores SINT o INT a un tipo de datos óptimo (generalmente un valor DINT o REAL) durante la ejecución. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT.

• Para almacenar caracteres ASCII:

1. Abra el siguiente ejemplo de proyecto, incluido con el software RSLogix 5000:

C:\RSLogix 5000\Projects\Samples\ ASCII_Manipulation.ACD

2. Copie el siguiente tipo de datos definido por el usuario y péguelo en el archivo de proyecto:

String_80

3. Cree un tag para la cadena de caracteres y seleccione el tipo de datos String_80.

4. Introduzca los caracteres en el miembro Datos.

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

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 4

Programación de rutinas

Cuándo usar este procedimiento

Una vez que haya organizado el proyecto en grupos de tags y rutinas iniciales, utilice este procedimiento para crear la lógica (o programa) que ejecutará cada una de las rutinas.

Cómo usar este procedimiento

Para programar una rutina, siga estos pasos:

• Apertura de una rutina

• Introducción de lógica de escalera

• Introducción de instrucciones del bloque de funciones

• Asignación de tags y valores

• Verificación de la rutina

Apertura de una rutina

42581

Para cerrar una carpeta y ocultar su contenido (contraer):• Haga doble clic en la carpeta.

• Seleccione la carpeta y presione la tecla ← .

• Haga clic en el signo – .

Haga doble clic en la rutina para abrirla.

Para abrir una carpeta y ver su contenido (ampliar):• Haga doble clic en la carpeta.

• Seleccione la carpeta y presione la tecla → .

• Haga clic en el signo + .

Si la rutina aparece atenuada, significa que no puede abrirla.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

4-2 Programación de rutinas

¿Está el icono de la rutina atenuado?

Si el icono: Entonces:

no está atenuado Haga doble clic en la rutina.

está atenuado No puede abrir, programar ni editar la rutina. Para determinar el motivo:1. Haga doble clic en la rutina.2. En la parte inferior de la ventana RSLogix 5000, ¿qué mensaje muestra la línea de estado?

Si muestra: Entonces:

“Error al abrir la rutina - editor no instalado”

El editor de bloque de funciones no está instalado. Para instalarlo, solicite el siguiente número de catálogo del software de RSLogix 5000:

• 9324-RLD700

“Origen no disponible” El origen de la rutina no está disponible.Puede:

• ejecutar la rutina• mostrar las propiedades de la rutina• identificar las referencias cruzadas con la lógica en la

rutinaNo puede:

• abrir (mostrar) la rutina• editar la rutina• cambiar las propiedades de la rutina• hacer búsquedas en la rutina• ir a las referencias cruzadas en la rutina• imprimir la rutina• exportar la rutina

IMPORTANTE Si el origen de la rutina no está disponible, no exporte el proyecto.

• Un archivo de exportación (.L5K) sólo contiene rutinas en las que el código de origen está disponible.

• Si exporta un proyecto en el cual el código de origen no está disponible para todas las rutinas, no podrá restaurar el proyecto completo.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Programación de rutinas 4-3

Introducción de lógica de escalera

1. Haga doble clic en la rutina que desea programar.

2. Si la rutina ya contiene lógica, haga clic donde desea introducir la lógica. (Una nueva rutina contiene un renglón listo para las instrucciones).

3. Añada un elemento de lógica de escalera:

42195

Para cerrar una carpeta y ocultar su contenido (contraer) haga clic en el signo –.

Para abrir una rutina, haga doble clic en la rutina.

Para abrir una carpeta y mostrar su contenido (expandir) haga clic en el signo +.

cursor (azul) Cuando se añade una instrucción o bifurcación, ésta aparece a la derecha del cursor.

Cuando se añade un renglón, éste aparece debajo del cursor.

42363

Para añadir un: Haga lo siguiente:

renglón Presione las teclas Ctrl + R.

instrucción A. Presione la tecla Insert. B. Escriba el mnemónico para la instrucción. C. Presione la tecla Enter.

bifurcación A. Presione la tecla Insert.B. Escriba BST.C. Presione la tecla Enter.D. Después de introducir instrucciones adicionales,

arrastre la línea derecha de la bifurcación a la ubicación requerida en el renglón.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

4-4 Programación de rutinas

Introducción de instrucciones del bloque de funciones

Una rutina de bloque de funciones contiene los siguientes elementos:

Para introducir instrucciones del bloque de funciones, abra una rutina de bloque de funciones y realice los pasos siguientes:

Elemento: Propósito:

bloque de funciones Realiza una operación en los valores de entrada y produce valores de salida• Los pines a la izquierda del bloque son los pines de entrada.• Los pines a la derecha del bloque son los pines de salida.

referencia de entrada (IREF) Suministra un valor de un dispositivo de entrada o un tag a otra rutina o controlador

referencia de salida (OREF) Suministra un valor a un dispositivo de salida o un tag a otra rutina o controlador

conector de cable de salida (OCON)

Conecta los bloques de funciones que se encuentran alejados o en hojas diferentes

• Cada OCON requiere un nombre único.• Para cada OCON, debe tener al menos un ICON correspondiente (es

decir, un ICON con el mismo nombre que el OCON). • Varios ICON pueden hacer referencia al mismo OCON. Esto permite

dispersar datos a varios puntos de la rutina.

conector de cable de entrada (ICON)

42587

1. 2. 3.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Programación de rutinas 4-5

Paso: Acciones detalladas:

1. Introducir los bloques que realizan las funciones requeridas de la rutina.

A. Presione la tecla Insert.B. Escriba el mnemónico del bloque requerido.C. Elija Aceptar.D. Arrastre el bloque a una posición del diagrama que facilite la lectura. La ubicación del

bloque no afecta a su orden de ejecución.

2. Configurar las propiedades de cada bloque.

A. En el bloque, haga clic en

B. Edite las propiedades del bloque:

C. Elija Aceptar.

3. Conectar los pines de salida con los de entrada.

Haga clic en el pin de salida y, a continuación, en el pin de entrada requerido. Un punto verde indica un pin válido.

A

B

C

D

42584

Para: Haga esto:

mostrar un pin para un operando Seleccione la casilla de verificación junto al operando (A).

introducir un valor inmediato A. Borre (quite la marca) la casilla de verificación junto al operando (B).

B. En la columna Valor, escriba el valor del operando (C).

cambiar el nombre del tag para la instrucción

A. Haga clic en la ficha Tag (D).B. Escriba un nuevo nombre.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

4-6 Programación de rutinas

42586

6.

5.4.

Paso: Acciones detalladas:

4. Para suministrar un valor de un dispositivo de entrada o un tag, introduzca una referencia de entrada (IREF).

A. Presione la tecla Insert.B. Elija Aceptar. (IREF es la selección predeterminada.)C. Arrastre la IREF a la ubicación deseada, normalmente a la izquierda del bloque que

utiliza el valor.D. Haga clic en el pin de la IREF y, a continuación, haga clic en el pin de entrada que

utiliza el valor.

5. Para suministrar un valor a un dispositivo de salida o un tag, introduzca una referencia de salida (OREF).

A. Presione la tecla Insert.B. Escriba OREF.C. Elija Aceptar.D. Arrastre la OREF a la ubicación deseada, normalmente a la derecha del bloque que

produce el valor de salida.E. Haga clic en el pin de salida que suministra el valor y, a continuación, haga clic en

el pin de la OREF.

6. Para conectar bloques que están alejados o en hojas diferentes, introduzca un conector de cable de salida (OCON) y un conector de cable de entrada (ICON).

A. Presione la tecla Insert.B. Escriba OCON.C. Elija Aceptar.D. Arrastre el OCON a la ubicación deseada, normalmente a la derecha del bloque que

produce el valor.E. Haga clic en el pin de salida que produce el valor y, a continuación, haga clic en el

pin del OCON.F. Muestre la hoja que contiene el bloque al que desea conectar.G. Presione la tecla Insert.H. Escriba ICON.I. Elija Aceptar.J. Arrastre el ICON a la ubicación deseada, normalmente a la izquierda del bloque que

utiliza el valor.K. Haga clic en el pin del ICON y, a continuación, haga clic en el pin de entrada que

utiliza el valor.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Programación de rutinas 4-7

Asignación de tags y valores

Cada instrucción requiere uno o más de los siguientes:

• nombre de un tag

• nombre de una rutina, módulo, etc.

• valor

La siguiente tabla resume el formato para un nombre de tag:

donde:

x es la ubicación del elemento en la primera dimensión.

y es la ubicación del elemento en la segunda dimensión.

z es la ubicación del elemento en la tercera dimensión.

Para una estructura dentro de una estructura, añada un.member_name adicional.

Para un: Especifique:

tag tag_name

número de bit de un tipo de datos mayor tag_name.bit_number

miembro de una estructura tag_name.member_name

elemento de una matriz de una dimensión 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

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

4-8 Programación de rutinas

EJEMPLO Nombres de tags

42357

Para obtener acceso a: El nombre del tag es similar a este:

machine_on tag

bit número 1 del tag one_shots

miembro (bit) DN del temporizador running_seconds

miembro mix del tag north_tank

elemento 2 en la matriz recipe y elemento 1,1 en la matriz tanks

elemento 2 en la matriz preset dentro del tag north_tank

miembro part_advance del elemento 1 en la matriz drill

machine_on

one_shots.1

running_seconds.DN

north_tank.mix

Copy FileSource recipe[2]Dest tanks[1,1]Length 1

COP

CLR

ClearDest north_tank.preset[2]

0

CLR

drill[1].part_advance

Publicación 1756-PM001B-ES-P - Noviembre 2000

Programación de rutinas 4-9

Para asignar un nombre o valor a una instrucción:

1. Escriba o seleccione el valor o el nombre del elemento (por ejemplo, nombre de tag, nombre de conector de cable o nombre de etiqueta):

Si desea: Para una: Haga esto:

• especificar un valor inmediato

• escribir el nombre de un tag, conector de cable, etiqueta o elemento similar

instrucción de lógica de escalera

A. Haga clic en el símbolo ?.B. Escriba el valor o el nombre del tag, etiqueta o elemento similar.C. Presione la tecla Enter.

instrucción de bloque de funciones

A. Haga clic en el símbolo ?.B. Haga clic en el símbolo ? de nuevo.C. Escriba el valor o el nombre del tag o conector.D. Presione la tecla Enter.

seleccionar un tag, conector de cable, etiqueta o elemento similar en una lista

A. Abra el cuadro de entrada de texto:

C. Haga clic en ▼D. Seleccione un nombre:

D. Presione la tecla Enter o haga clic en un punto diferente del diagrama.

arrastrar un tag desde la ventana Tags

instrucción de lógica de escalera

A. Localice el tag en la ventana Tags.B. Haga clic en el tag dos o tres veces hasta que quede resaltado.C. Arrastre el tag a su ubicación en la instrucción.

instrucción de bloque de funciones

no disponible

En una: Haga esto:

instrucción de lógica de escalera

Haga doble clic en el símbolo ?.

instrucción de bloque de funciones

A. Haga clic en el símbolo ?.B. Haga clic en el símbolo ? de nuevo.

Para seleccionar un:

Haga esto:

conector de cable, etiqueta o tipo de nombre similar

Seleccione el nombre.

tag Haga doble clic en el nombre del tag.

número 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.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

4-10 Programación de rutinas

2. ¿Ha definido (creado) previamente este tag?

Verificación de la rutina A medida que programa la rutina (s), verifique periódicamente su trabajo:

1. En la barra de herramientas ubicada en el extremo superior de la

ventana RSLogix 5000, haga clic en .

2. Si hay errores listados en la parte inferior de la ventana:

a. Para ir al primer error o advertencia, presione la tecla F4.

b. Corrija el error según la descripción que aparece en la ventana Resultados.

c. Vaya al paso 1.

3. Para cerrar la ventana Resultados, presione las teclas Alt + 1.

Si: Entonces:

Sí Pase al siguiente operando.

No Cree el tag:A. Haga clic con el botón derecho del mouse en el tag y seleccione Nuevo “tag_name ”. (En

revisiones anteriores del software, la opción de menú es Crear “tag_name ”.)B. En el cuadro Description (Descripción), escriba una descripción para el tag (opcional).C. En el cuadro Data Type (Tipo de datos), escriba el tipo de datos para el tag:

D. En la lista Alcance, seleccione el alcance o alcance del tag:

E. Elija Aceptar.

Si el tag es: Entonces escriba:

distinto de una matriz (archivo) data_type

una matriz de una dimensión 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 almacenados en el tag o la matriz. Véase Tabla 3.B en la página 3-1.x es el número de elementos en la primera dimensión. y es el número de elementos en la segunda dimensión.z es el número de elementos en la tercera dimensión.

Si va a usar este tag: Entonces seleccione:

en más de un programa del proyecto name_of_controller (controller)

como productor o consumidor

en un mensaje

en un único programa del proyecto el programa que utilizará el tag

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 5

Acceso a los valores del sistema

Monitorizacion de los indicadores de estado

El controlador es compatible con las palabras clave de estado que se pueden usar en la lógica para monitorizar eventos específicos:

• Las palabras clave pueden utilizar letras mayúsculas o minúsculas.

• Puesto que los indicadores de estado pueden cambiar muy rápidamente, el software RSLogix 5000 no muestra en pantalla el estado de los indicadores. (Es decir, si un indicador de estado está establecido, no se resalta una instrucción que hace referencia a dicho indicador.)

• Usted no puede definir un alias de tag para una palabra clave.

Usted puede usar estas palabras clave:

Para determinar si: Use:

el valor que desea almacenar no entra en el destino porque es: • mayor que el valor máximo para el destino• menor que el valor mínimo para el destino

Importante: Cada vez que S:V se cambia de restablecido a establecido, genera un fallo menor (tipo 4, código 4)

S:V

el valor de destino de la instrucción es 0 S:Z

el valor de destino de la instrucción es negativo S:N

una operación aritmética causa un acarreo o un acarreo negativo que intenta usar bits que están fuera del tipo de datos

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

S:C

éste es el primer escán normal de las rutinas en el programa actual. S:FS

por lo menos se ha generado un fallo menor: • El controlador establece este bit cuando ocurre un fallo menor

debido a la ejecución del programa.• El controlador no establece este bit para los fallos menores que no

estén asociados con la ejecución del programa; por ejemplo, batería débil.

S:MINOR

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

5-2 Acceso a los valores del sistema

Obtener y establecer datos del sistema

El controlador almacena datos de sistema en los objetos. No hay un archivo de estado, como en el caso 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 instrucción GSV recupera la información especificada y la coloca en el destino.

• La instrucción SSV establece el atributo especificado con datos del origen.

Para obtener o establecer un valor del sistema:

1. Abra el proyecto RSLogix 5000.

2. En el menú Ayuda, seleccione Contenido.

3. Haga clic en la ficha Índice.

4. Escriba gsv/ssv objects y haga clic en Mostrar.

ATENCION

!Use la instrucción SSV con cuidado. El hacer cambios a los objetos puede causar una operación inesperada del controlador o lesiones personales.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Acceso a los valores del sistema 5-3

5. Haga clic en el objeto requerido.

6. En la lista de atributos del objeto, identifique el atributo al cual desea tener acceso.

7. Cree un tag para el valor del atributo:

8. En la rutina de lógica de escalera, introduzca la instrucción apropiada:

Para obtener o establecer: Haga clic en:

axis de un servomódulo AXIS

segmento del tiempo de procesamiento interno del sistema

CONTROLLER

hardware físico de un controlador CONTROLLERDEVICE

hora coordinada del sistema para los dispositivos en un chasis

CST

controlador de comunicación DF1 para el puerto serie DF1

historial de fallos para un controlador FAULTLOG

atributos de una instrucción de mensaje MESSAGE

estado, fallos y modo de un módulo MODULE

grupo de ejes MOTIONGROUP

información de fallo o tiempo de escán para un programa

PROGRAM

número de instancia de una rutina ROUTINE

configuración del puerto serie SERIALPORT

propiedades o tiempo transcurrido de una tarea TASK

hora del reloj de un controlador WALLCLOCKTIME

Si el tipo de datos del atributo es: Entonces:

un elemento (por ej. DINT) Cree un tag para el atributo.

más de un elemento (por ej. DINT[7]) A. Cree un tipo de datos definido por el usuario que coincida con la organización de datos usada por el atributo.

B. Cree un tag para el atributo y use el tipo de datos del paso A.

Para: Introduzca esta instrucción:

obtener el valor de un atributo GSV

establecer el valor de un atributo SSV

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

5-4 Acceso a los valores del sistema

9. Asigne los operandos requeridos a la instrucción:

Los siguientes ejemplos obtienen la fecha y hora actual.

Para obtener más información, vea el documento Logix5000 Controllers General Instruction Set Reference Manual, publication 1756-RM003A-US-P.

Para este operando: Seleccione:

Clase de objeto CIP nombre del objeto

Nombre de objeto CIP nombre del objeto específico (por ej. nombre del módulo de E/S requerido)

• No todos los objetos requieren esta entrada.

• Para especificar la tarea, programa o rutina actual, seleccione THIS.

Nombre de atributo nombre del atributo

Dest (GSV) tag que almacenará el valor recuperado• Si el tag es un tipo de dato definido

por el usuario o un arreglo, seleccione el primer miembro o elemento.

Origen (SSV) tag que almacena el valor que se va a establecer

• Si el tag es un tipo de dato definido por el usuario o un arreglo, seleccione el primer miembro o elemento.

EJEMPLO Obtener un valor del sistema

En el primer escán, 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

S:FSGet system valueCIP Object class WALLCLOCKTIMECIP Object nameAttribute name DateTimeDest wall_clock.year

2000

GSV

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 6

Asignación 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 también refleja el cambio.

Use alias en las siguientes situaciones:

• programar lógica anteriormente a los diagramas de cableado

• asignar un nombre descriptivo a un dispositivo de E/S

• proporcionar un nombre más simple para un tag complejo

• usar un nombre descriptivo para un elemento de una matriz

La ventana de tags muestra la información 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 también 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 también se activa.

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

42360

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

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

6-2 Asignación de alias

Un uso común de los alias es programar la lógica antes que los diagramas de cableado estén 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.

2. Programe la lógica usando los nombres de tags descriptivos. (Puede incluso probar la lógica sin hacer conexión a la E/S).

3. Posteriormente, cuando los diagramas de cableado estén disponibles, añada los módulos de E/S a la configuración de E/S del controlador.

4. Finalmente, convierta los tags descriptivos a alias para sus puntos de E/S o canales respectivos.

La siguiente lógica 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.

42351

Visualización de información de alias

Para mostrar (en la lógica) el tag al cual apunta un alias:

1. En el menú Herramientas, seleccione Opciones.

2. Haga clic en la ficha Visualización de lógica de escalera.

3. Seleccione la casilla de verificación Mostrar Información de alias de tag.

4. Haga clic en Aceptar.

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

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

machine_on

machine_ondrill_1_on

<Local:0:O.Data.2> drill_1.part_advance

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

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

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

Publicación 1756-PM001B-ES-P - Noviembre 2000

Asignación de alias 6-3

Asignación de un alias Para asignar un tag como un alias para otro tag:

1. En el menú Lógica, seleccione Editar tag.

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

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

2.

3.

42360

Para: Haga lo siguiente:

seleccionar un tag Haga doble clic en el nombre del tag.

seleccionar un número 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.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

6-4 Asignación de alias

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 7

Asignación de una dirección indirecta

Cuándo asignar una dirección indirecta

Si desea que una instrucción tenga acceso a diferentes elementos en una matriz, use un tag en el subíndice de la matriz (una dirección indirecta). Al cambiar el valor del tag, se cambia el elemento de la matriz a la que hace referencia la lógica.

La siguiente tabla indica algunos usos comunes para una dirección indirecta:

Cuándo el índice es igual a 1, array[index] apunta aquí.

array[0] 4500

array[1] 6000

array[2] 3000

array[3] 2500

Cuándo el índice es igual a 2, array[index] apunta aquí.

Para: Use un tag en el subíndice y:

seleccionar una receta de una matriz de recetas

Introduzca el número de la receta en el tag.

cargar la configuración de una máquina específica desde una matriz de posibles configuraciones

Introduzca la configuración deseada en el tag.

cargar parámetros o estados desde una matriz, un elemento a la vez

A. Realice la acción requerida en el primer elemento.

B. Use una instrucción ADD para incrementar el valor del tag y apunte al siguiente elemento en la matriz.

registrar códigos de error

realizar varias acciones en un elemento de matriz y luego indexar al siguiente elemento

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

7-2 Asignación de una dirección 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 renglón. El tag north_tank.step apunta el elemento de la matriz a usar. Por ejemplo, cuando north_tank.step es igual a 0, la instrucción carga timer_presets[0] en el temporizador (6000 ms).

Cuando north_tank.step_time termina, el renglón incrementa north_tank.step al siguiente número y dicho elemento de la matriz timer_presets se carga en el temporizador.

Cuando north_tank.step excede el tamaño de la matriz, el renglón restablece el tag para empezar en el primer elemento de la matriz. (El arreglo contiene los elementos 0 a 3).

42358

MoveSource timer_presets[north_tank.step]

60000Dest north_tank.step_time.PRE

60000

MOV

/north_tank.step_time.DN

ENDN

Timer On DelayTimer north_tank.step_timePreset 60000Accum 0

TON

north_tank.step_time.DNAddSource A 1

Source B north_tank.step0

Dest north_tank.step0

ADD

EqualSource A north_tank.step

0Source B 4

EQUMoveSource 0

Dest north_tank.step0

MOV

Publicación 1756-PM001B-ES-P - Noviembre 2000

Asignación de una dirección indirecta 7-3

Expresiones También se puede usar una expresión para especificar el subíndice de una matriz.

• Una expresión usa operadores tales como + o –, para calcular un valor.

• El controlador calcula el resultado de la expresión y lo usa como el subíndice de la matriz.

Puede usar estos operadores para especificar el subíndice de una matriz:

Formatee las expresiones como sigue:

Operador: Descripción:

+ sumar

– restar/cambiar signo

* multiplicar

/ dividir

ABS Valor absoluto

AND AND

FRD BCD a número entero

MOD Módulo

NOT complemento

OR OR

SQR raíz cuadrada

TOD número entero a BCD

TRN Truncar

XOR O exclusivo

Operador: Descripción:

Si el operador requiere: Use este formato: Ejemplos:

un valor (tag o expresión) 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)

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

7-4 Asignación de una dirección indirecta

Notes:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 8

Almacenamiento de E/S en el búfer

Cuándo almacenar E/S en el búfer

El almacenamiento de E/S en el búfer es una técnica en la cual la lógica no manipula ni hace referencia directa a los tags de los dispositivos de E/S reales. En lugar de ello, la lógica usa una copia de los datos de E/S. Almacene E/S en el búfer en las siguientes situaciones:

• Para evitar que un valor de entrada o salida cambie durante la ejecución de un programa. (Las E/S se actualizan de manera asíncrona a la ejecución de la lógica).

• 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 búfer

Para almacenar E/S en el búfer, realice estas acciones:

1. En el renglón antes de la lógica para la función (es), copie o mueva los datos desde los tags de entrada requeridos a sus tags de búfer correspondientes.

2. En la lógica de la función (es), haga referencia a los tags de búfer.

3. En el renglón después de la función (es), copie los datos desde los tags de búfer a los tags de salida correspondientes.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

8-2 Almacenamiento de E/S en el búfer

El siguiente ejemplo copia entradas y salidas a los tags de una estructura para una máquina perforadora.

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

EJEMPLO Almacenar E/S en el búfer

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

La rutina map_inputs copia los valores de los dispositivos de entrada a sus correspondientes tags que se usan en la rutina drill.

La rutina drill ejecuta la lógica para la máquina perforadora.

La rutina map_outputs copia los valores de los tags de salida en la rutina drill a sus dispositivos de salida correspondientes.

42369

Jump to SubroutineRoutine name map_inputs

JSRJump to SubroutineRoutine name drill

JSRJump to SubroutineRoutine name map_outputs

JSR

_1791_8AC:I.Data[0].0 drill[1].depth_limit

_1791_8AC:I.Data[0].4 drill[1].home_limit

/drill[1].part_advance

ONSone_shots.0

drill[1].forward

/drill[1].depth_limit drill[1].forward

drill[1].depth_limit

drill[1].retract

/drill[1].home_limit drill[1].retract

drill[1].forward _1791_8AC:O.Data[0].0

drill[1].retract _1791_8AC:O.Data[0].1

Publicación 1756-PM001B-ES-P - Noviembre 2000

Almacenamiento de E/S en el búfer 8-3

EJEMPLO Almacenar E/S en el búfer

Local:0:I.Data almacena los datos de entrada para la red DeviceNet conectada al módulo 1756-DNB de la ranura 0. Para sincronizar las entradas con la aplicación, la instrucción CPS copia los datos de entrada a input_buffer.

• Mientras la instrucción CPS copia los datos, ninguna actualización de E/S puede cambiar los datos.

• Mientras se está ejecutando la aplicación, ésta utiliza los datos de entrada de input_buffer para sus entradas.

42578

Synchronous Copy FileSource Local:0:I.Data[0]Dest input_buffer[0]Length 20

CPS

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

8-4 Almacenamiento de E/S en el búfer

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 9

Prueba de un proyecto

Prueba de un proyecto Para probar un proyecto realice las siguientes acciones:

• Configurar un driver de comunicación

• Descargar un proyecto al controlador

• Seleccionar un modo para el controlador

• Corregir un fallo mayor

• Guardar los cambios en línea

Además, puede realizar estas acciones:

• Use instrucciones de control de programa para aislar la ejecución de la lógica a rutinas o renglones específicos. Vea Logix5000 Controllers Motion Instruction Set Reference Manual, publicación 1756-6.4.3.

• Fuerce valores de entrada o salida. Refer to Forzado de valores on page 13-1.

Configurar un driver de comunicación

El software RSLogix 5000 requiere un driver de comunicación para comunicarse con un controlador. Los drivers de comunicación se configuran usando el software RSLinx.

1. Inicie el software RSLinx™.

2. En el menú Comunicaciones, seleccione Configurar driver.

3. De la lista desplegable Tipos de driver disponibles, seleccione un driver:

4. Haga clic en Añadir nuevo.

5. Si desea asignar un nombre descriptivo al driver, cambie el nombre predeterminado:

6. Haga clic en Aceptar.

Para este tipo de tarjeta de comunicación:

Seleccione este tipo de driver:

serie Dispositivos RS-232 DF1

DH+™ 1784-KT/KTX(D)/PKTX(D)

ControlNet™ 1784-KTC(X)

Ethernet™ Dispositivos Ethernet

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

9-2 Prueba de un proyecto

7. Configure el variador:

3. Haga clic en Aceptar.

4. Haga clic en Cerrar.

Descargar un proyecto al controlador

1. Abra el proyecto RSLogix 5000 que desea descargar.

2. Del menú Comunicaciones, seleccione who Active.

3. Haga clic en el signo + al lado de la red que desea usar para la descarga.

4. Continúe ampliando la red hasta que el cuadro de diálogo muestre el controlador al cual desea descargar.

Para este driver:

Haga lo siguiente:

serie A. En la lista desplegable Puerto de com, seleccione el puerto serie que usará el driver.

B. De la lista desplegable Dispositivo, seleccione Logix 5550-Puerto serie.

C. Haga clic en Autoconfiguración.

ControlNet A. En el cuadro Nombre de estación, escriba un nombre que identificará a la computadora en la ventana RSWho.

B. Seleccione el valor de interrupción, la dirección de memoria y la dirección base de E/S.

C. En el cuadro Dirección de red, escriba el número 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 driver.

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 Para cada dispositivo Ethernet de esta red con el que desee comunicar (por ejemplo, cada módulo 1756-ENET o el controlador PLC-5E), añada una entrada de mapa:

A. En la columna Nombre de la computadora principal, escriba la dirección IP o el nombre de la computadora principal del dispositivo Ethernet.

B. ¿Desea comunicar con otro dispositivo Ethernet de esta red?

Si: Entonces:

Sí 1. Elija Añadir nuevo.2. Vaya al paso A.

No Vaya al paso siguiente.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Prueba de un proyecto 9-3

5. Seleccione el controlador y haga clic en Descargar.

6. Para confirmar la descarga, haga clic en Descargar.

Seleccionar un modo para el controlador

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

42371

Seleccione el modo requerido.

Si desea: Seleccione uno de estos modos:

Marcha Programa Remoto

Marcha Programa Prueba

poner las salidas en el estado comandado por la lógica del proyecto

✔ ✔

poner las salidas en su estado configurado para el modo Programa

✔ ✔ ✔

ejecutar (escanear) tareas ✔ ✔ ✔

cambiar el modo del controlador mediante el software

✔ ✔ ✔

descargar un proyecto ✔ ✔ ✔ ✔

programar una red ControlNet ✔ ✔

mientras está en línea, editar el proyecto

✔ ✔ ✔ ✔

enviar mensajes ✔ ✔ ✔

enviar y recibir datos en respuesta a un mensaje de otro controlador

✔ ✔ ✔ ✔ ✔

producir y consumir tags ✔ ✔ ✔ ✔ ✔

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

9-4 Prueba de un proyecto

Corregir un fallo mayor Si el controlador entra al modo de fallo, ocurrió un fallo mayor y el controlador detuvo la ejecución de la lógica.

42371

Para corregir un fallo mayor:

1. En el menú Comunicaciones, seleccione Ir a fallos.

2. Use la información de la lista Fallos recientes para corregir la causa del fallo. Refer to Códigos de fallo mayor on page A-1.

3. Haga clic en el botón Borrar mayores.

Guardar los cambios en línea

Si hace cambios al proyecto mientras está en línea, guarde el proyecto de manera que el archivo del proyecto fuera de línea sea igual al archivo del proyecto en línea.

Si el cuadro de estado del controlador está rojo y muestra Con fallo, ocurrió un fallo mayor y el controlador ya no está ejecutando la lógica.

CONSEJO También 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 usted desea: Haga lo siguiente:

guardar cambios en línea y valores de datos En el menú Archivo, seleccione Guardar.

guardar cambios en línea pero no valores de datos en línea

A. En el menú Comunicaciones, seleccione Ir fuera de línea.

B. En el menú Archivo, seleccione Guardar.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 10

Comunicación con otro controlador

Seleccione un método de comunicación

Puede transferir datos entre controladores (enviar o recibir datos) mediante cualquiera de estas opciones:

• Producir y consumir un tag

• Enviar un mensaje

Para seleccionar un método para transferir datos entre controladores, use la siguiente tabla:

Producir y consumir un tag Un tag producido envía sus datos a uno o más tag consumidos (consumidores) sin usar lógica de escalera.

Si los datos: Entonces:

necesitan transmisión regular a una velocidad que usted especifica (por ej. determinística)

Producir y consumir un tag(requiere una red ControlNet o el backplane ControlLogix)

se envían cuando ocurre una condición específica en la aplicación

Enviar un mensaje

controller_2

controller_3

controller_4

tag consumido

tag consumido

tag consumido

red ControlNety/o

Backplane ControlLogixcontroller_1

tag producido

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

10-2 Comunicación con otro controlador

Puede utilizar tags producidos o consumidos con las siguientes combinaciones de controladores y de redes.

Los tags producidos y consumidos funcionan del siguiente modo:

• Una conexión transfiere los datos entre controladores:

– Múltiples controladores pueden consumir (recibir) los datos.

– Los datos se actualizan en el intervalo entre paquetes solicitados (RPI), según lo configurado por los tags de consumo.

• Cada tag producido o consumido usa el siguiente número de conexiones:

Este controlador:

Puede producir y consumir tags a través de la siguiente red:

Backplane ControlNet Ethernet

PLC-5 ✔

ControlLogix ✔ ✔ ✔

FlexLogix ✔

SoftLogix ✔

Cada: Usa esta cantidad de conexiones:

tag producido number_of_consumers + 1

tag consumido 1

EJEMPLO Conexiones usadas por tags producidos o consumidos

• La producción de un tag para 5 controladores (consumidores) usa 6 conexiones (5 consumidores + 1 = 6).

• La producción 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 conexión por tag x 4 tags = 4 conexiones).

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con otro controlador 10-3

Lo que usted necesita hacer

Para compartir datos con otro controlador (es), realice estas acciones:

Organizar tags para datos compartidos

Producir un tag

Consumir un tag producido

Dependiendo del sistema, es posible que también tenga que realizar estas acciones:

Compartir datos con un controlador PLC-5C

Ajustar para límites de tamaño

Organizar tags para datos compartidos

A medida que vaya creando los tags que finalmente producirán o consumirán datos (datos compartidos), siga estas pautas:

1. Cree los datos dentro del alcance del controlador. Sólo 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. Refer to Compartir datos con un controlador PLC-5C on page 10-6.

6. Limite el tamaño del tag a 500 bytes o menos.

7. Si comparte el tag mediante una red ControlNet, puede ser necesario que el tag sea de un tamaño menor que 500 bytes. Refer to Ajustar para límites de tamaño on page 10-10.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

10-4 Comunicación con otro controlador

8. Si desea producir varios tags para el mismo controlador:

• Agrupe los datos en uno o más tipos de datos definidos por el usuario. (Esto utiliza menos conexiones que producir cada tag separadamente.)

• Agrupe los datos según las velocidades de actualización similares. (Para conservar el ancho de banda de la red, use un RPI mayor para datos menos críticos.)

Por ejemplo, puede crear un tag para los datos críticos y otro tag para los datos no críticos.

Producir un tag

1. Abra el proyecto RSLogix 5000 que contiene el tag que usted desea producir.

2. En el menú Lógica, seleccione Editar tag.

3. Desde Alcance, seleccione name_of_controller (controlador). (Sólo los tags que están dentro del alcance del controlador pueden producir datos.)

4. Seleccione el tag que producirá los datos y presione las teclas ALT + Enter.

42352

6.5.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con otro controlador 10-5

5. Seleccione el botón de opción Producido.

6. Escriba o seleccione el número de controladores que consumirá (recibirán) el tag.

7. Haga clic en Aceptar.

8. Configure un tag en otro controlador (es) para consumir este tag producido. Refer to Consumir un tag producido on page 10-5.

Consumir un tag producido

1. Abra el proyecto RSLogix 5000 que consumirá el tag producido.

2. En el Organizador del controlador, Configuración de I/O, añada el controlador que contiene el tag producido.

3. En el menú Lógica, seleccione Editar tag.

4. Desde Alcance, seleccione name_of_controller (controlador). (Sólo los tags que están 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. Seleccione el botón de opción Consumido.

7. Seleccione el controlador que contiene el tag producido.

8. Escriba el nombre del tag producido.

42353

6.

7.

8.

9.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

10-6 Comunicación con otro controlador

9. Seleccione el mismo tipo de datos que el tag producido.

10. Escriba o seleccione el tiempo entre actualizaciones del tag:

• Use el valor más alto permitido para la aplicación.

• Si el controlador consume el tag a través de una red ControlNet, use una potencia dos veces el tiempo de actualización de red (NUT) ControlNet.

Por ejemplo, si el NUT es 5 ms, escriba un régimen de 5, 10, 20, 40 ms, etc.

11. Haga clic en Aceptar.

12. Si comparte el tag a través de una red ControlNet, use el software RSNetWorx para ControlNet para programar la red.

Compartir datos con un controlador PLC-5C

Use esta sección para realizar estas acciones:

• Producir enteros para un controlador PLC-5C

• Producir REAL para un controlador PLC-5C

• Cómo consumir enteros desde un controlador PLC-5C

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 número par de elementos, tales como INT[2]. (Cuando produce INT, debe producir dos o más.)

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 configuración ControlNet para el controlador PLC-5C de destino:

a. Inserte un Mensaje programado de recepción.

b. En el Tamaño de mensaje, introduzca el número de enteros en el tag producido.

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

IMPORTANTE Si una conexión del tag consumido entra en fallo, todos los otros tags consumidos desde el controlador remoto dejan de recibir datos.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con otro controlador 10-7

Producir REAL para un controlador PLC-5C

1. Abra el proyecto RSLogix 5000.

2. ¿Qué tipo de datos desea producir?

3. Abra el software RSNetWorx para ControlNet.

4. En la configuración ControlNet para el controlador PLC-5C de destino:

a. Inserte un Mensaje programado de recepción.

b. En el Tamaño de mensaje, introduzca dos veces el número de REAL en el tag producido. Por ejemplo, si el tag producido contiene 10 REAL, introduzca 20 para el tamaño de mensaje.

Si desea producir: Entonces:

Sólo un valor REAL

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

Más 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.

CONSEJO Cuando un controlador PLC-5C consume un tag producido por un controlador Logix5000, almacena los datos en números enteros consecutivos de 16 bits. El PLC-5C almacena los datos de coma flotante, los cuales requieren 32 bits independientemente del tipo de controlador, según lo siguiente:

• El primer número entero contiene los bits superiores (del extremo izquierdo) del valor.

• El segundo número entero contiene los bits inferiores (del extremo derecho) del valor.

• Esta configuración continúa para cada valor de coma flotante.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

10-8 Comunicación con otro controlador

5. En el controlador PLC-5C, vuelva a construir los datos de coma flotante según se ilustra en el siguiente ejemplo:

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

EJEMPLO Cómo volver a construir un valor de coma flotante

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

42354

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con otro controlador 10-9

Cómo consumir enteros desde un controlador PLC-5C

1. Abra el software RSNetWorx para ControlNet.

2. En la configuración ControlNet del controlador PLC-5C, inserte Enviar mensaje programado.

3. Abra el proyecto RSLogix 5000.

4. En el Organizador del controlador, añada el controlador PLC-5C a la configuración de E/S.

5. Cree un tipo de datos definido por el usuario que contenga los siguientes miembros:

6. Cree un tag consumido con las propiedades siguientes:

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

Tipos de datos: Descripción:

DINT Estado

INT[x], donde “x” es el tamaño 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

Para esta propiedad de tag:

Escriba o seleccione:

Tipo de tag Consumido

Controlador El PLC-5C que produce los datos

Instancia remota El número de mensaje de la configuración 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.

Tipo de datos El tipo de datos definido por el usuario que creó en el paso 5.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

10-10 Comunicación con otro controlador

Ajustar para límites de tamaño

Usted puede crear un tag producido o consumido que tiene hasta 500 bytes. Cuando comparte un tag mediante una red ControlNet, el tag también debe ser apropiado para el ancho de banda de la red:

• A la vez que aumenta el número de conexiones mediante una red ControlNet, puede ser necesario que varias conexiones, incluso los tags producidos o consumidos, tengan que compartir una actualización de red.

• Puesto que una red ControlNet puede pasar solamente 500 bytes durante una actualización, los datos de cada conexión deben tener menos de 500 bytes para incorporarse a la actualización.

Si un tag producido o consumido es demasiado grande para la red ControlNet, realice uno o más de los ajustes siguientes:

• Reduzca el tiempo de actualización de la red (NUT). Un NUT más rápido reduce el número de conexiones que deben compartir una ranura de actualización.

• Aumente el intervalo entre paquetes solicitados (RPI) de las conexiones. Los RPI más altos permiten que las conexiones se alternen en el envío de datos durante una ranura de actualización.

• Para un módulo ControlNet (CNB) en un chasis remoto, seleccione el formato de comunicación más eficaz para dicho chasis:

El formato de optimización de racks usa 8 bytes adicionales para cada ranura en su chasis. Los módulos analógicos o los módulos que envían o reciben datos de diagnósticos, de fusible, estampacion de hora o priorización requieren conexiones directas y no pueden usar el formato de rack optimizado. La selección “Ninguno” hace disponibles 8 bytes por ranura para otros usos, tales como tags producidos o consumidos.

• Separe el tag en dos o más tags:

– Agrupe los datos según las velocidades de actualización similares. Por ejemplo, puede crear un tag para los datos críticos y otro tag para los datos no críticos.

– Asigne un RPI diferente a cada tag.

• Cree lógica para transferir los datos en secciones más pequeñas (paquetes). Refer to Producción de una matriz grande on page 11-1.

¿Son la mayoría de los módulos en el chasis módulos de E/S digitales sin diagnósticos?

Entonces seleccione este formato de la comunicación para el módulo CNB remoto:

Sí Optimización de racks

No Ninguno

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con otro controlador 10-11

Enviar un mensaje Para organizar los datos para un mensaje, siga estas pautas:

1. Para cada mensaje, cree un tag para controlar el mensaje:

• Cree el tag dentro del alcance del controlador.

• Use el tipo de datos MESSAGE.

El siguiente ejemplo muestra el uso del tipo de datos MESSAGE:

2. Para los tags que los mensajes usarán (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 se ejecutan más eficientemente y usan menos memoria cuando trabajan con enteros de 32 bits (DINT).

EJEMPLO Mensaje a otro controlador Logix5000

Cuando count_send está activado, envía count_msg

42188

count_send

/count_msg.en

ENDNER

Type - UnconfiguredMessage Control count_msg ...

MSG

Tipo: MESSAGEAlcance: Controlador

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

10-12 Comunicación con otro controlador

4. Si su mensaje es desde un controlador PLC-5® o SLC 500™ y transfiere enteros (no REAL), use un búfer de INT:

a. Cree un búfer para los datos (alcance del controlador) usando el tipo de datos INT[x] .

donde:

x es el número de enteros en el mensaje. (Para un entero solamente, omita [x].)

b. Use el búfer en el mensaje.

c. Use una instrucción FAL para mover los datos entre el búfer y la aplicación.

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 instrucción de mensaje envía int_buffer a un controlador PLC-5.

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 instrucción 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.

42192

/message.EN

RESfal_control

EN

DN

ER

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

FALENDNER

Type - UnconfiguredMessage Control message ...

MSG

/message.EN

ENDNER

Type - UnconfiguredMessage Control message ...

MSG

message.DN

RESfal_control

EN

DN

ER

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

FAL

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 11

Producción de una matriz grande

Cuándo usar este procedimiento

El controlador Logix5550 puede enviar hasta 500 bytes de datos a través de una sola conexión programada. Esto corresponde a 125 elementos DINT o REAL de una matriz. Para transferir una matriz con más 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 envía una matriz grande de datos en paquetes más pequeños, hay que asegurarse de que la transmisión 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 envían en segmentos de 50 bytes.

• La transmisión de datos ocurren asíncronamente con el escán del programa.

La lógica de esta sección usa una palabra de confirmación para asegurar que cada paquete contenga nuevos datos antes de que los datos se transfieran a la matriz de destino. La lógica también 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, según se muestra a continuación:

matriz

0

123124

paquete

offsetconfirmación

matrizpaquete

offsetconfirmación

Productor Consumidor

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

11-2 Producción de una matriz grande

Además, la matriz debe contener 122 elementos adicionales. Es decir, debe tener 122 elementos más que el número mayor de elementos que usted desea transferir:

• Estos elementos sirven como búfer.

• Puesto que cada paquete contiene el mismo número de elementos, el búfer evita que el controlador copie más allá de los límites de la matriz.

• Sin el búfer, esto ocurriría 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:

donde:

array es el nombre para los datos que usted envía.

3. Convierta array_ack a un tag consumido:

Véase Consumir un tag producido en la página 10-5.

P Nombre de tag Tipo

array _ack DINT[2]

✓ array _packet DINT[125]

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.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Producción de una matriz grande 11-3

4. Cree los tags siguientes en la carpeta Tag de Controller o la carpeta de tags del programa que contendrá la lógica de la transferencia:

donde:

array es el nombre para los datos que usted envía.

5. En el tag array_size, introduzca el número de elementos de datos reales. (El valor de x del paso 4. menos los 122 elementos del búfer).

6. Cree o abra una rutina para la lógica que creará paquetes de datos.

7. Introduzca la lógica siguiente:

Nombre de tag Tipo

matriz DINT[x] donde x es igual al número de elementos a transferir más 122 elementos

array _offset DINT

array _size DINT

array _transfer_time DINT

array _transfer_time_max DINT

array _transfer_timer TIMER

Multiplicado por el tiempo necesario para enviar todo la matriz

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.

ENDN

Timer On DelayTimer array_transfer_timerPreset 10000000Accum 0

TON

Not EqualSource A array_ack[0]

0Source B array_packet[123]

0

NEQEqualSource A array_ack[1]

0Source B -999

EQUMoveSource -999

Dest array_packet[124]0

MOV

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

11-4 Producción 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 renglón busca para ver si hay más datos a transferir. Si el valor de offset más 123 es menor que el tamaño de la matriz, hay más datos que transferir; por lo tanto, el renglón aumenta el offset en 123. De lo contrario, no hay más datos que transferir; por lo tanto, el renglón restablece el valor de offset, registra el tiempo de transferencia y restablece el temporizador. En ambos casos, el renglón usa el valor de offset nuevo para crear un paquete nuevo de datos, añade el valor de offset nuevo al paquete y borra el elemento de confirmación del paquete (packet[124]).

Si el tiempo de transferencia actual es mayor que el tiempo de transferencia máximo, éste se actualiza. Esto mantiene un registro del tiempo máximo necesario para transferir los datos.

42355

EqualSource A array_ack[0]

0Source B array_packet[123]

0

EQU

CompareExpression (array_ack[0] + 123) < array_size

CMPAddSource A array_packet[123]

0Source B 123

Dest array_offset0

ADD

CompareExpression (array_ack[0] + 123) >= array_size

CMPClearDest array_offset

0

CLR

MoveSource array_transfer_timer.ACC

0Dest array_transfer_time

0

MOV

RESarray_transfer_timer

Copy FileSource array[array_offset]Dest array_packet[0]Length 123

COPMoveSource array_offset

0Dest array_packet[123]

0

MOVClearDest array_packet[124]

0

CLR

Greater Than (A>B)Source A array_transfer_time

0Source B array_transfer_time_max

0

GRTMoveSource array_transfer_time

0Dest array_transfer_time_max

0

MOV

Publicación 1756-PM001B-ES-P - Noviembre 2000

Producción de una matriz grande 11-5

8. Abra el proyecto RSLogix 5000 que consumirá la matriz.

9. En la carpeta Tag de Controller, cree los tags siguientes:

donde:

array es el nombre para los datos que usted envía. Use el mismo nombre que en el controlador que produce (paso 2.).

10. Convierta array_packet a un tag consumido:

Véase Consumir un tag producido en la página 10-5.

11. Cree los tags siguientes en la carpeta Tag de Controller o la carpeta de tags del programa que contendrá la lógica de la transferencia:

donde:

array es el nombre para los datos que usted envía.

12. Cree o abra una rutina para la lógica que moverá los datos desde los paquetes a la matriz de destino.

P Nombre de tag Tipo

✓ array_ack DINT[2]

array_packet DINT[125]

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.

Nombre de tag Tipo

arreglo DINT[x] donde x es igual al número de elementos a transferir más 122 elementos

array_offset DINT

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

11-6 Producción de una matriz grande

13. Introduzca la lógica 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 renglón 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 operación 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 operación 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 transmisión del paquete.

42356

Not EqualSource A array_packet[123]

0Source B array_ack[0]

0

NEQ

EqualSource A array_packet[124]

0Source B -999

EQUMoveSource array_packet[123]

0Dest array_offset

0

MOV

Copy FileSource array_packet[0]Dest array[array_offset]Length 123

COP

MoveSource array_packet[123]

0Dest array_ack[0]

0

MOV

ClearDest array_ack[1]

0

CLR

Not EqualSource A array_packet[124]

0Source B -999

NEQMoveSource -999

Dest array_ack[1]0

MOV

Publicación 1756-PM001B-ES-P - Noviembre 2000

Producción de una matriz grande 11-7

La transferencia de una matriz grande en paquetes más pequeños mejora el rendimiento del sistema y es más eficaz que otros métodos de transferir datos:

• Se usan menos conexiones, a diferencia de separar los datos en múltiples 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 transmisión más rápidas usando este método, a diferencia de usar una instrucción de mensaje para enviar todo la matriz.

– Se programa y se ejecutan los mensajes solamente durante la porción de “tiempo de procesamiento interno” de la ejecución 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.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

11-8 Producción de una matriz grande

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 12

Comunicación con un dispositivo ASCII

Lo que usted necesita hacer

Para intercambiar datos con un dispositivo ASCII, tal como un módulo de báscula, un lector de códigos de barra o un terminal de pantalla de mensajes, efectúe el siguiente conjunto de tareas:

• Configurar el puerto serie del controlador para ASCII

• Organizar datos ASCII

• Introducir caracteres ASCII

• Programar las instrucciones del puerto serie ASCII

• Manipular los datos ASCII

Configurar el puerto serie del controlador para ASCII

Para configurar el puerto serie del controlador para las comunicaciones ASCII:

1. Determine los siguientes parámetros de comunicación para el dispositivo ASCII:

a. velocidad en baudios

b. bits de datos

c. paridad

d. bits de paro

2. Abra el proyecto RSLogix 5000.

3. En el Organizador del controlador, haga clic con el botón derecho del mouse en la carpeta Controller y seleccione Propiedades.

Se muestra en pantalla el cuadro de diálogo Propiedades de Controller.

4. Haga clic en la ficha Puerto serie.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

12-2 Comunicación con un dispositivo ASCII

5. Seleccione Usuario.

6. Seleccione los parámetros para el dispositivo ASCII del paso 1.

7. Seleccione la opción Línea de control:

8. Introduzca la cantidad de retardo (unidades de 20 ms) entre el tiempo de activación (alto) de la señal RTS y el tiempo en que se envían 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 envío del último carácter y el tiempo en que se desactiva (bajo) la señal RTS.

10. Haga clic en Aplicar.

11. Haga clic en la ficha Protocolo del usuario.

5.

42251

6.

7.

8.

9.

Si: Y: Y éste es el: Seleccione: Entonces:

usted no usa un módem

Sin handshaking Vaya al paso 10.

usted usa un módem los dos módems en una conexion punto a punto son full-duplex

Full Duplex

el módem maestro es full-duplex y el módem esclavo es half-duplex

controlador maestro. Full Duplex

controlador esclavo. Half Duplex Seleccione la casilla de verificación Portador continuo.

todos los módems en el sistema son half-duplex

Half Duplex Borre la casilla de verificación Portador continuo (opción predeterminada).

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-3

12. Seleccione o introduzca un número mayor que o igual al número mayor de caracteres en una transmisión. (Una pauta general es dos veces el número de caracteres.)

13. Si usted usa las instrucciones ABL o ARL, introduzca los caracteres que indican el fin de los datos. Para obtener el código ASCII de un carácter, vea la contraportada de este manual.

Si el dispositivo envía:

Entonces: Notas:

un carácter de terminación

A. En el cuadro de texto Carácter de terminación 1, introduzca el código ASCII hexadecimal para el primer carácter.

B. En el cuadro de texto Carácter de terminación 2, introduzca $FF.

Para los caracteres imprimibles, tales como 1 ó A, introduzca el carácter.

dos caracteres de terminación

En los cuadros de texto Carácter de terminación 1 y 2, introduzca el código ASCII hexadecimal para cada carácter.

12.

42252

17.

13.

14.

15.

16.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-4 Comunicación con un dispositivo ASCII

14. Si usa la instrucción AWA, introduzca los caracteres que desea añadir a los datos. Para obtener el código ASCII de un carácter, vea la contraportada de este manual.

15. Si el dispositivo ASCII está configurado para el control de flujo XON/XOFF, seleccione la casilla de verificación XON/XOFF.

16. Si el dispositivo ASCII es un CRT o está preconfigurado para la transmisión half-duplex, seleccione la casilla de verificación Modo eco.

17. Seleccione el modo eliminación:

18. Haga clic en Aceptar.

Para añadir: Entonces: Notas:

un carácter A. En el cuadro de texto Caracteres añadidos 1, introduzca el código ASCII hexadecimal para el primer carácter.

B. En el cuadro de texto Caracteres añadidos 2, introduzca $FF.

Para los caracteres imprimibles, tales como 1 ó A, introduzca el carácter.

dos caracteres En los cuadros de texto Caracteres añadidos 1 y 2, introduzca el código ASCII hexadecimal para cada carácter.

Si el dispositivo ASCII es:

Seleccione: Notas:

CRT CRT • El carácter DEL ($7F) y el carácter precedente al carácter DEL no se envían al destino.

• Si se selecciona el modo eco y la instrucción ASCII lee el carácter DEL, el eco devuelve tres caracteres: BACKSPACE SPACE BACKSPACE ( $08 $20 $08).

impresora Impresora • El carácter DEL ($7F) y el carácter precedente al carácter DEL no se envían al destino.

• Si se selecciona el modo eco y la instrucción ASCII lee el carácter DEL, el eco devuelve dos caracteres: / ($2F) seguido por el carácter eliminado.

Ninguno de los anteriores Ignorar El carácter DEL ($7F) es como cualquier otro carácter.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-5

Organizar datos ASCII El software RSLogix 5000 incluye un ejemplo de proyecto que contiene un tipo de datos definido por el usuario para almacenar los datos ASCII:

• El tipo de datos almacena los caracteres en una matriz SINT.

• Puesto que cada carácter ASCII requiere un byte, cada elemento de la matriz almacena un carácter.

Para organizar los datos ASCII:

1. En la carpeta . . .\RSLogix 5000\Proyectos\Ejemplos, abra el archivo ASCII_Manipulation.ACD.

2. Desde el organizador del controlador, carpeta Tipos de datos/Definidos por el usuario, copie el tipo de datos String_80 y colóquelo en la aplicación.

3. Para cada instrucción ASCII que lee o escribe datos, cree un tag del tipo de datos String_80 y almacene los caracteres en el miembro Datos del tag.

Introducir caracteres ASCII 1. Use la ventana Tags, ficha Monitorizar los tags, para ver la matriz que almacenará los caracteres ASCII.

2. Amplíe la matriz para que muestre los elementos individuales.

Nombre: String_80

Miembros:

Nombre: Tipo de datos: Descripción:

Len DINT número de caracteres en el miembro Datos (la introducción de un valor mayor que 80 producirá un fallo mayor).

Datos SINT[80] caracteres de la cadena

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-6 Comunicación con un dispositivo ASCII

3. En la celda Valor del primer elemento (msg_5[0]), seleccione el valor actual.

4. Introduzca toda la secuencia de caracteres:

Para este tipo de carácter:

Tipo: Ejemplo:

control (por ej., [ctrl-T], VT)

un signo de dólar ($) y luego el código ASCII hexadecimal para el carácter

Para determinar el código para un carácter, vea la portada inferior de este manual.

Para introducir [ctrl-T], escriba $14.

Para introducir VT, escriba $0B.

imprimible (por ejemplo, 1,\ , A)

el carácter Para introducir A, escriba A.

42233

Inicialmente cada elemento contiene el carácter NULL ($00).

42234

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-7

5. Presione [Enter].

42235

Por ejemplo, para introducir [ctrl-T]5\2CR, escriba $145\2$r.

42236

Puesto que el tag es una matriz de SINT, la entrada reemplaza los cinco primeros valores NULL.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-8 Comunicación con un dispositivo ASCII

CONSEJO Para mostrar el valor decimal de un carácter, cambie el estilo a decimal.

42237

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-9

Programar las instrucciones del puerto serie ASCII

El tipo de instrucción que se usa para enviar los datos ASCII depende de la manera en que se desea tratar los caracteres de terminación:

Por lo general, antes de leer el búfer, se recomienda usar una instrucción ACB o ABL para verificar que el búfer tenga los caracteres requeridos:

• Una instrucción ARD o ARL continúa leyendo el búfer hasta que la instrucción lee los caracteres requeridos.

• Mientras una instrucción ARD o ARL lee el búfer, no se pueden ejecutar otras instrucciones ASCII, excepto la instrucción ACL.

• El verificar que el búfer tenga los caracteres requeridos evita que la instrucción ARD o ARL interrumpa la ejecución de las otras instrucciones ASCII mientras el dispositivo de entrada envía los datos.

El tipo de instrucciones usado para leer el búfer depende del formato de los datos ASCII:

Vea el documento Logix5000 Controllers General Instruction Set Reference Manual, publicación 1756-RM003A-US-P para obtener información adicional acerca de cómo programar las instrucciones ASCII.

Los siguientes ejemplos muestran la lectura de:

• números variables de caracteres en la página 12-10

• números fijos de caracteres en la página 12-11

Si usted: Entonces use esta instrucción:

desea añadir uno o dos caracteres al fin de los datos

AWA

no desea caracteres de terminación AWT

Si el dispositivo envía: Entonces use estas instrucciones:

un número variable de caracteres durante cada transmisión, incluso un carácter que indica el fin de los datos

• instrucción ABL para prueba de los caracteres de terminación

• instrucción ARL para leer los caracteres hasta e incluso los caracteres de terminación

el mismo número de caracteres durante cada transmisión

• ACB para contar los caracteres en el búfer

• ARD para leer el número requerido de caracteres

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-10 Comunicación con un dispositivo ASCII

El ejemplo siguiente envía un mensaje ASCII a un terminal MessageView y espera hasta que el operador confirme el mensaje (enviar una respuesta). El número de caracteres en la respuesta depende del mensaje enviado y el número de nodo del terminal MessageView.

EJEMPLO Lectura de un número variable de caracteres

Cuando la temperatura excede el límite alto (temp_high está activado), la instrucción AWA envía un mensaje al terminal MessageView conectado al puerto serie del controlador. El mensaje contiene los 9 primeros caracteres la matriz msg_5. La instrucción también envía (añade) los caracteres definidos en las propiedades del controlador. En este ejemplo, la instrucción AWA envía un retorno de carro ($r), el cual indica el fin del mensaje.

Después de enviar un mensaje a un terminal MessageView, según lo indicado por temp_high_write.EM, el controlador espera hasta que el operador confirme el mensaje. Cada confirmación tiene un rango de 3 a 6 caracteres, pero siempre termina con un retorno de carro ($r). La instrucción ABL prueba continuamente el búfer en busca del retorno de carro.

Cuando la instrucción ABL encuentra el retorno de carro (ack.FD está establecido), el controlador ha recibido la confirmación del operador. La instrucción ARL elimina los caracteres del búfer hasta e incluso el retorno de carro y los coloca en el tag temp_high_ack, el cual es un arreglo SINT.

42226

temp_high

EN

DN

ER

ASCII Write AppendChannel 0Source msg_5[0] '$14'SerialPort Control temp_high_writeString Length 9Characters Sent 0

AWA

temp_high_write.EM

/ack.EN

ENDNER

ASCII Test For Buffer LineChannel 0SerialPort Control ackCharacter Count 0

ABL

ack.FD

EN

DN

ER

ASCII Read LineChannel 0Destination temp_high_ack[0] '$00'SerialPort Control temp_high_ack_readString Length 6Characters Read 0

ARL

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-11

El ejemplo siguiente lee un número específico de caracteres de un dispositivo de entrada; en este caso es un módulo de báscula. En este ejemplo el módulo siempre envía siete caracteres.

Manipular los datos ASCII El software RSLogix 5000 incluye un proyecto de ejemplo que tiene las rutinas para la manipulación de los datos ASCII (cadenas de

EJEMPLO Lectura de un número fijo de caracteres

Un módulo de báscula envía pesos al puerto serie (canal 0) del controlador. Cada peso siempre contiene siete caracteres. Para determinar cuándo el controlador recibe un peso, la instrucción ACB cuenta continuamente los caracteres en el búfer.

Cuando el búfer contiene por lo menos siete caracteres, el controlador ha recibido un peso. La instrucción ARD transfiere el peso al tag weight_ascii, el cual es un arreglo de SINT.

42227

/weight_count.EN

ENDNER

ASCII Chars in BufferChannel 0SerialPort Control weight_countCharacter Count 0

ACB

Grtr Than or Eql (A>=B)Source A weight_count.pos 0Source B 7

GEQEN

DN

ER

ASCII ReadChannel 0Destination weight_ascii[0] '$00'SerialPort Control weight_readString Length 7Characters Read 0

ARD

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-12 Comunicación con un dispositivo ASCII

caracteres). Se pueden usar las rutinas para realizar las tareas siguientes:

Para: Use esta rutina:

Cambiar los bytes en un DINT de 16#ABCD_1234 a 16#3412_CDAB BSWP_DINT

Cambiar los bytes en un INT de 16#ABCD a 16#CDAB BSWP_INT

Comparar dos cadenas para determinar =, <, o bien > COMPARE

Añadir una cadena a otra CONCAT

Eliminar caracteres de una cadena DEL

Convertir DINT a una cadena DTOS

Buscar en una cadena para encontrar otra y devolver su posición de carácter inicial

FIND

Insertar una cadena en medio de otra INS

Extraer el número especificado de caracteres de la parte izquierda de una cadena

LEFT

Convertir todas las letras mayúsculas de una cadena a letras minúsculas

LOWER

Extraer caracteres de la parte media de una cadena MID

Crear una nueva cadena duplicando otra cadena una o más veces REPEAT

Extraer el número especificado de caracteres de la parte derecha de una cadena

RIGHT

Convertir un número de coma flotante REAL a una cadena de caracteres

RTOS

Convertir la primera secuencia de números en una cadena a un DINT

STOD

Convertir la primera secuencia de números en una cadena a un REAL

STOR

Convertir todas las letras minúsculas de una cadena a letras mayúsculas

UPPER

Recuperar de errores fuera de rango de índice al momento del encendido (configure esta rutina como la rutina de fallo para el programa).

_Fault_Handler

Publicación 1756-PM001B-ES-P - Noviembre 2000

Comunicación con un dispositivo ASCII 12-13

Para usar el ejemplo de proyecto, siga estas pautas:

1. En la carpeta . . .\RSLogix 5000\Proyectos\Ejemplos, abra el archivo ASCII_Manipulation.ACD.

Se abre el organizador del controlador y muestra en pantalla una lista de rutinas para manipular las cadenas.

2. Desde el organizador del controlador, carpeta Tipos de datos/Definidos por el usuario, copie el tipo de datos String_80 y colóquelo en la aplicación.

3. Para cada instrucción ASCII que lee o escribe datos, cree un tag del tipo de datos String_80 y almacene los caracteres en el miembro Datos del tag.

4. Desde el programa String_Handling, copie la rutina requerida y colóquela en la aplicación. (Algunas de las rutinas usan rutinas anidadas.)

5. Desde el programa String_Handling, Tags de programación, copie los siguientes tags y colóquelos en la aplicación:

6. Para determinar los parámetros de entrada y retorno requeridos de una rutina, vea los comentarios relativos al primer renglón de la rutina.

7. Abra la rutina _Start_Here y vea los comentarios relativos al primer renglón para obtener notas adicionales.

Nombre: String_80

Miembros:

Nombre: Tipo de datos: Descripción:

Len DINT número de caracteres en el miembro Datos (la introducción de un valor mayor que 80 puede producir un fallo mayor).

Datos SINT[80] caracteres de la cadena

Nombre de tag: Descripción:

String_80_Data_Size número de elementos en el tipo de datos String_80, miembro Datos (inicialmente 80)

String_80_Structure_Size número de palabras de 32 bits en el tipo de datos String_80 (inicialmente 21)

tags que comienzan con el nombre de la rutina que se usa (paso 4.)

Por ejemplo, si usted usa la rutina LEFT, copie y coloque los tags que comienzan con LEFT.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

12-14 Comunicación con un dispositivo ASCII

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 13

Forzado de valores

Cuándo forzar un valor Use un forzado para anular un valor de entrada o de salida:

Al forzar un valor:

• Puede forzar todos los datos de E/S, excepto los datos de configuración.

• Si el tag es una matriz o estructura, como un tag de E/S, se puede forzar un elemento o miembro BOOL, SINT, INT, DINT o REAL.

• Si el valor de datos es del tipo SINT, INT o DINT, se puede forzar todo el valor o los bit individuales dentro del valor. Los bit individuales pueden tener un estado de forzado de:

– sin forzado

– forzado habilitado

– forzado inhabilitado

• También se puede forzar un alias a un miembro de estructura de E/S, un tag producido o un tag consumido.

– Un tag de alias comparte el mismo valor de datos que su tag base, por lo tanto, el forzado de un alias también fuerza el tag base asociado.

– El retiro de un forzado de un alias también retira el forzado del tag base asociado.

Si desea anular: Debe forzar Notas:

un valor del tag producido de otro controlador

el tag consumido El forzado de un tag de entrada o consumido:• Anula el valor independientemente del valor del

dispositivo físico o del tag producido.• No afecta al valor recibido por otros controladores

que monitorizan dicho tag de entrada o producido.

un valor de un dispositivo de entrada el bit o el valor de los datos de entrada

la lógica y especificar el valor de un tag producido

el tag producido • Los forzados de un tag de salida o producido anulan la lógica del dispositivo físico o de otros controladores.

• Otros controladores que monitoricen dicho módulo de salida usando la capacidad de sólo recepción también verán el valor forzado

la lógica y especificar el estado de un dispositivo de salida

el bit o el valor de los datos de salida

ATENCION

!Si los forzados están habilitados y hay un forzado, mantenga al personal alejado de la zona de la máquina. Los forzados pueden causar un movimiento inesperado de la máquina, lo cual puede causar lesiones al personal.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

13-2 Forzado de valores

Introducción de un forzado Use la ficha Monitorizar tag de la ventana Tags o use la ventana de Lógica de escalera para introducir forzados.

Introduzca los forzados desde la ventana Tags

En la ventana Tags, ficha Monitorizar Tag, se puede forzar un valor de dos maneras. Usted puede:

• forzar un valor de dato entero.

Puede forzar todos los bits como una sola entidad (el valor entero) para los valores SINT, INT, DINT y REAL.

• forzar los bits individuales dentro de un valor SINT, INT o DINT.

IMPORTANTE Los forzados prolongan el tiempo de ejecución de lógica. Cuantos más valores se fuercen, tanto más tiempo será necesario para ejecutar la lógica.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Forzado de valores 13-3

Introduzca los valores de forzado en esta columna.

Si usted desea: Haga lo siguiente:

forzar un valor entero SINT, INT, DINT o REAL Para forzar un valor entero, escriba un valor de forzado en la columna Máscara de forzados usando un formato decimal, octal, hexadecimal o un valor de coma flotante/exponencial. Hay que usar un formato de valor de coma flotante/exponencial para un valor real.Introduzca un espacio para retirar un forzado de un valor entero.

forzar bits dentro de un valor Para forzar un bit individual en un valor SINT, INT o DINT, amplíe el valor y edite la columna de Máscara de forzados. El valor de forzado se muestra en estilo binario, donde:

• “0” indica forzado inhabilitado• “1” indica forzado habilitado• “.” indica que no hay forzados

También puede usar la paleta de bits para seleccionar un bit a forzar.

forzar un BOOL Para forzar un BOOL, introduzca el valor de forzado, donde:• “0” indica forzado inhabilitado• “1” indica forzado habilitado

Introduzca un espacio para retirar un forzado.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

13-4 Forzado de valores

Introduzca forzados desde la lógica de escalera

Desde la lógica de escalera, puede establecer forzados solamente para los tags BOOL o valores de bit enteros usados en las instrucciones de bit.

Solamente puede retirar los forzados en el caso de los valores forzados en las instrucciones más complejas. Debe usar el monitor de datos para establecer los valores de forzado para estos valores.

Haga clic con el botón derecho del mouse en el tag BOOL o en el valor de bit.Seleccione Forzado habilitado, Forzado inhabilitado o Retirar forzado.

Haga clic con el botón derecho del mouse en el valor forzado.Seleccione Retirar forzado.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Forzado de valores 13-5

Habilitación de forzados Para que un forzado (s) se haga efectivo, usted debe habilitar los forzados. Puede habilitar e inhabilitar los forzados solamente en el controlador. No se puede habilitar ni inhabilitar los forzados para un módulo, conjunto de tags o elemento de tag específico.

Usted habilita los forzados mediante la Barra en línea.

Un signo > aparece al lado del valor forzado en el editor de lógica de escalera cuando los forzados están habilitados.

ATENCION

!La habilitación de los forzados hace que cambien los valores de entrada, salida, producidos o consumidos. Mantenga al personal alejado de la máquina. Los forzados pueden causar un movimiento inesperado de la máquina, lo cual puede causar lesiones al personal.

IMPORTANTE Si descarga un proyecto que tiene habilitados los forzados, el software de programación le invita a habilitar o inhabilitar los forzados después de que la descarga concluye.

Seleccione Habilitar todos los forzados.

La selección Forzados instalados indica que se han introducido valores de forzado.

Cuando los forzados están habilitados, el editor de lógica de escalera indica cuáles forzados están habilitados.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

13-6 Forzado de valores

Inhabilitación de forzados Usted puede inhabilitar los forzados sin retirarlos de los valores individuales o del controlador. La inhabilitación de los forzados permite que un proyecto se ejecute según se programe. Los forzados se introducen, pero no se ejecutan.

Cómo retirar los forzados Puede retirar los forzados de valores individuales o de todo el controlador.

Puede retirar forzados individuales desde el monitor de datos.

Si el forzado está en un tag BOOL o valor de bit, también puede retirar los forzados desde el editor de lógica de escalera. Haga clic con el botón derecho del mouse en el valor y seleccione Retirar forzado.

Si retira cada forzado individualmente, los forzados todavía se pueden habilitar.

El retiro de un forzado en un alias también retira el forzado en el tag base.

Seleccione Inhabilitar todos los forzados.

Si desea retirar un forzado de: Haga lo siguiente:

todo el valor SINT, INT, DINT o REAL Haga clic con el botón derecho del mouse en el monitor de datos y seleccione Retirar forzado.

los bits dentro de un valor Aumente el valor y edite la columna Máscara de forzados. Cambie el valor del bit a “.” para indicar que no hay forzados.

el valor BOOL Introduzca un espacio.

ATENCION

!Si ha retirado forzados, pero los forzados todavía están habilitados y se selecciona un valor de forzado, éste se habilita inmediatamente. Mantenga al personal alejado de la zona de la máquina. Los forzados pueden causar un movimiento inesperado de la máquina, lo cual puede causar lesiones al personal.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Forzado de valores 13-7

Usted puede retirar todos los forzados en el controlador. El retiro de todos los forzados inhabilita los forzados y borra todos los valores de la máscara de forzados.

Monitorización de forzados Puede monitorizar el estado de forzados de los siguientes modos:

• mediante el software RSLogix5000

• mediante la lógica de aplicación

• LED de forzado (los controladores Logix5550 no tienen un indicador LED para indicar el estado de forzados).

El ejemplo siguiente indica cómo verificar si hay forzados presentes y habilitados y cómo establecer su propio indicador LED.

Seleccione Retirar todos los forzados.

Si el LED de forzado: Entonces:

está apagado • Ningún tag contiene valores de forzado.• Los forzados están inactivos (inhabilitados).

parpadea • Al menos un tag contiene un valor de forzado.• Los valores de forzado están inactivos

(inhabilitados).

está fijo • Los forzados están activos (habilitados).• Puede haber valores de forzado o no.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

13-8 Forzado de valores

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 14

Desarrollo de una rutina de fallo

Cuándo usar este procedimiento

Si ocurre una condición de fallo que es suficientemente severa para que el controlador se desactive, el controlador genera un fallo mayor y detiene la ejecución de la lógica.

• Dependiendo de la aplicación, 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 específico y permitir que por lo menos parte del sistema continúe funcionando.

Desarrollo de una rutina de fallo

Para borrar un fallo específico:

1. Cree una estructura definida por el usuario que almacenará la información de fallo. Asigne el nombre FaultRecord al tipo de datos y asigne los miembros siguientes:

2. Cree un tag que almacenará la información de fallo. Seleccione el tipo de datos FaultRecord.

EJEMPLO Uso de una rutina de fallo

En un sistema que usa números de receta como direcciones indirectas, un número mal introducido podría producir un fallo mayor, tal como el tipo 4, código 20.

• Para evitar que todo el sistema se desactive, una rutina de fallo borra los fallos mayores tipo 4, código 20.

Nombre: Tipo de datos: Estilo:

TimeLow DINT Decimal

TimeHigh DINT Decimal

Tipo INT Decimal

Código: INT Decimal

Info DINT[8] Hex

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

14-2 Desarrollo de una rutina de fallo

3. ¿Qué tipo de fallos desea que la lógica borre?

En el caso de un fallo debido a:

Haga lo siguiente:

ejecución de una instrucción

Cree una rutina de fallo para el programa:A. En el Organizador de controlador, haga clic con el botón 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 el lenguaje de programmacion.D. Haga clic en Aceptar.E. Haga clic con el botón derecho del mouse en name_of_program y seleccione

Propiedades.F. Haga clic en la ficha Configuración.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 .

corte de energía Cree un programa y una rutina principal para el Administrador de fallos del controlador:A. En el Organizador del Controlador, haga clic con el botón derecho del mouse en

Administrador de fallos del controlador y seleccione Nuevo programa.B. Tipo:

• name_of_program

• descripción (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 botón derecho del mouse en name_of_program y seleccione

Nueva routina.F. Tipo:

• name_of_routine

• descripción (opcional)G. De la lista desplegable Tipo, seleccione el lenguaje de programación para la rutina.H. Haga clic en Aceptar.I. Haga clic con el botón derecho del mouse en name_of_program y seleccione

Propiedades.J. Haga clic en la ficha Configuración.K. De la lista desplegable Principal, seleccione name_of_routine.L. Haga clic en Aceptar.

M. Haga doble clic en name_of_routine.

E/S

watchdog de tarea

cambio de modo

movimiento de eje

Publicación 1756-PM001B-ES-P - Noviembre 2000

Desarrollo de una rutina de fallo 14-3

4. Introduzca la siguiente lógica:

Obtiene información de fallo y la almacena en el tag major_fault_record (estructura definida por el usuario)

Si ocurre fault_type, fault_code, establece el tipo y código de fallo en el tag major_fault_record a cero.

Cuando el major_fault_record se establece en los nuevos valores contenidos en el tag major_fault_record, se borra el fallo y el controlador continúa con la ejecución.

42372

Get system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDDest major_fault_record.Time_Low 0

GSV

EqualSource A major_fault_record.Type 0Source B fault_type

EQUEqualSource A major_fault_record.Code 0Source B fault_code

EQU

MoveSource 0 Dest major_fault_record.Type 0

MOVMoveSource 0 Dest major_fault_record.Code 0

MOV

Set system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDSource major_fault_record.Time_Low 0

SSV

donde: es el:

major_fault_record tag del paso 2.

fault_type valor para el tipo de fallo que desea borrar

fault_code valor para el código de fallo que desea borrar

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

14-4 Desarrollo de una rutina de fallo

Prueba de una rutina de fallo

Usted puede usar una instrucción 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. Introduzca el renglón siguiente en la rutina principal o subrutina del programa:

3. Para simular un fallo, establezca la condición de entrada.

donde: es el:

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

bbb la rutina de fallo del programa

EJEMPLO Probar una rutina de fallo

Cuando está activado test_fault_routine, ocurre un fallo mayor y el controlador ejecuta Fault_Routine.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 15

Creación de un fallo mayor definido por el usuario

Cuándo usar este procedimiento

Si desea suspender (desactivar) el controlador según condiciones específicas de la aplicación, cree un fallo mayor definido por el usuario. Con un fallo mayor definido por el usuario:

• Usted define un valor para el código de fallo.

• El controlador maneja el fallo de la misma manera que otros fallos mayores:

– El controlador cambia al modo fallo (fallo mayor) y detiene la ejecución de la lógica de escalera.

– Las salidas se establecen en su estado configurado o valor para el modo con fallo.

Creación de un fallo mayor definido por el usuario

1. ¿Existe ya una rutina de fallo para el programa?

EJEMPLO Fallo mayor definido por el usuario

Cuando input_value es mayor que 80, producir un fallo mayor y generar un código de fallo de 999.

Si: Entonces:

Sí Vaya al paso 2.

No Cree una rutina de fallo a un programa:A. En el Organizador de controlador, haga clic con el botón 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 botón derecho del mouse en

name_of_program y seleccione Propiedades.F. Haga clic en la ficha Configuración.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 instrucción NOP (de manera que la rutina verifique sin errores).

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

15-2 Creación de un fallo mayor definido por el usuario

2. En la rutina principal del programa, introduzca el renglón siguiente:

42373

Jump to SubroutineRoutine name name_of_fault_routineInput par x

JSRlas condiciones bajo las cuales debe desactivarse el controlador

donde: representa:

name_of_fault_routine rutina del paso 1.

x valor para el código de fallo

EJEMPLO Creación de un fallo mayor definido por el usuario

Cuando input_value es mayor o igual que 80, la ejecución 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 diálogo Propiedades del controller, ficha Major Fault, muestra el código 999.

42373

Grtr Than or Eql (A>=B)Source A input_value

0Source B 80

GEQJump to SubroutineRoutine name name_of_fault_routineInput par 999

JSR

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 16

Monitorización de fallos menores

Cuándo usar este procedimiento

Si ocurre una condición de fallo que no es suficientemente severa para que el controlador se desactive, el controlador genera un fallo menor.

• El controlador continúa ejecutándose.

• No es necesario borrar un fallo menor.

• Para optimizar el tiempo de ejecución y asegurar la precisión del programa, usted debe monitorizar y corregir los fallos menores.

Monitorización de fallos menores

Para usar la lógica de escalera para obtener información respecto a un fallo menor:

Para verificar lo siguiente:

Haga lo siguiente:

tarea periódica 1. Introduzca una instrucción GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits. 2. Monitorice el bit 6.

problema con el puerto serie 1. Introduzca una instrucción GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.2. Monitorice el bit 9.

batería baja 1. Introduzca una instrucción GSV que obtenga el objeto FAULTLOG, atributo MinorFaultBits.2. Monitorice el bit 10.

problema con una instrucción 1. Cree un tipo de datos definido por el usuario que almacene la información 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

Código 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 instrucción GSV para obtener los valores del atributo

MinorFaultRecord. 5. Si desea detectar un fallo menor causado por otra instrucción, restablezca S:MINOR. (S:MINOR

permanece establecido hasta el final del escán).

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

16-2 Monitorización de fallos menores

El siguiente ejemplo verifica un aviso de batería baja.

El siguiente ejemplo verifica un fallo menor causado por una instrucción específica.

EJEMPLO Verificación de un fallo menor

Minor_fault_check tiene una temporización de 1 minuto (60000 ms) y luego se reinicia automáticamente.

Cada minuto, minor_fault_check.DN se activa para un escán. Cuando esto ocurre, la instrucción GSV obtiene el valor del objeto FAULTLOG, atributo MinorFaultBits, y lo almacena en el tag minor_fault_bits. Puesto que la instrucción GSV sólo se ejecuta una vez cada minuto, se reduce el tiempo de la mayoría de escanes.

Si minor_fault_bits.10 está activado, entonces la batería está baja.

42373

/minor_fault_check.DN

ENDN

Timer On DelayTimer minor_fault_checkPreset 60000Accum 0

TON

minor_fault_check.DNGet system valueCIP Object class FAULTLOGCIP Object nameAttribute name MinorFaultBitsDest minor_fault_bits

0

GSV

minor_fault_bits.10 battery_low_warning

Publicación 1756-PM001B-ES-P - Noviembre 2000

Monitorización de fallos menores 16-3

EJEMPLO Verificación de un fallo menor causado por una instrucción

Multiplica value_a por 1000000 y verifica un fallo menor, tal como un desbordamiento matemático:

• Para asegurarse que una instrucción previa no produjo el fallo, el renglón primero restablece S:MINOR.

• Luego el renglón ejecuta la instrucción multiplicar.

• Si la instrucción produce un fallo menor, el controlador establece S:MINOR.

• Si se establece S:MINOR, la instrucción GSV obtiene información acerca del fallo y restablece S:MINOR.

42373

US:MINOR

MultiplySource A value_a

0Source B 1000000

Dest value_b0

MUL

S:MINORGet system valueCIP Object class PROGRAMCIP Object name THISAttribute name MINORFAULTRECORDDest minor_fault_record.Time_Low

0

GSVU

S:MINOR

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

16-4 Monitorización de fallos menores

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Capítulo 17

Desarrollo de una rutina de inicializacion

Cuándo usar este procedimiento

El administrador de inicializacion es una tarea opcional que se ejecuta cuando el controlador se enciende en el modo Marcha.

Use el administrador de encendido cuando desee realizar cualquiera de las siguientes actividades después de una pérdida de alimentación eléctrica y su respectiva restauración:

• Evitar que el controlador regrese al modo Marcha.

– El Administrador de encendido producirá un fallo mayor, tipo 1, código 1, y el controlador entrará al modo de fallo.

• Realizar acciones específicas y luego continuar con la ejecución normal de la lógica.

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 información de fallo. Asigne el nombre FaultRecord al tipo de datos y asigne los miembros siguientes:

2. Cree un tag que almacenará la información de fallo. Seleccione el tipo de datos FaultRecord.

42195

Nombre: Tipo de datos: Estilo:

TimeLow DINT Decimal

TimeHigh DINT Decimal

Tipo INT Decimal

Código INT Decimal

Info DINT[8] Hex

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

17-2 Desarrollo de una rutina de inicializacion

3. Cree un programa para el Administrador de encendido:

3. ¿Cómo desea manejar una pérdida de alimentación eléctrica?

Acción: Pasos detallados:

1. Crear un programa. A. En el Organizador del controlador, haga clic con el botón derecho del mouse en Administrador de encendido y seleccione Nuevo programa.

B. Tipo:• name_of_program

• descripción (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 botón derecho del mouse en name_of_program y seleccione

Nueva routina.C. Tipo:

• name_of_main_routine

• descripción (opcional)D. De la lista desplegable Tipo, seleccione el lenguaje de programación para la rutina. E. Haga clic en Aceptar.F. Haga clic con el botón derecho del mouse en name_of_program y seleccione

Propiedades.G. Haga clic en la ficha Configuración.H. De la lista desplegable Principal, seleccione name_of_main_routine.I. Haga clic en Aceptar.

J. Para añadir rutinas adicionales (subrutinas) al programa, repita los pasos B. a E.

Para: Haga lo siguiente:

Evitar que el controlador regrese al modo Marcha.

Ya terminó. Cuando se restaure la alimentación eléctrica, ocurrirá un fallo mayor, tipo 1, código 1, y el controlador entrará al modo con fallo.

Realizar acciones específicas cuando se restaure la alimentación eléctrica y luego continuar con la operación normal

A. Abra (haga doble clic) name_of_routine.

B. Introduzca la lógica para las acciones.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Desarrollo de una rutina de inicializacion 17-3

4. Introduzca la siguiente lógica para borrar el fallo:

donde:

major_fault es el tag del paso 2.

Obtiene información de fallo y la almacena en el tag major_fault (estructura definida por el usuario)

Establece el tipo y código de fallo en el tag major_fault a cero y establece MAJORFAULTRECORD en los nuevos valores, lo cual borra el fallo.

42375

Get system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDDest major_fault.TimeLow 0

GSV

MoveSource 0 Dest major_fault.Type 0

MOVMoveSource 0 Dest major_fault.Code 0

MOVSet system valueCIP Object class PROGRAMCIP Object name THISAttribute name MAJORFAULTRECORDSource major_fault.TimeLow 0

SSV

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

17-4 Desarrollo de una rutina de inicializacion

Notas:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Apéndice A

Códigos de fallo

Cuándo usar este apéndice Use este apéndice para interpretar:

• Códigos de fallo mayor

• Códigos de fallo menor

Códigos de fallo mayor Use la siguiente tabla para determinar la causa y la acción correctiva para un fallo mayor. El tipo y código corresponden al tipo y código mostrado en estos lugares:

• Cuadro de diálogo Propiedades del controlador, ficha Fallo Mayor

• Objeto PROGRAM, atributo MAJORFAULTRECORD

Tabla A.1 Tipos y códigos de fallos mayores

Tipo: Código: Causa: Método de recuperación:

1 1 El controlador se encendió en el modo Marcha. Ejecute el administrador de corte de energía.

3 16 Una conexión requerida del módulo de E/S entró en fallo.

Verifique que el módulo de E/S se encuentre en el chasis. Verifique los requisitos de la codificación electrónica.Vea la ficha Major Fault de las propiedades del controlador y la ficha Conexión de las propiedades del módulo para obtener más información acerca del fallo.

3 20 Posible problema con el chasis ControlBus. No recuperable – reemplace el chasis.

3 23 No se estableció por lo menos una conexión requerida antes de entrar en el modo Marcha.

Espere hasta que el indicador de E/S del controlador se ilumine de color verde antes de entrar en el modo Marcha.

4 16 Se encontró una instrucción desconocida. Retire la instrucción desconocida. La causa probable es un proceso de conversión de programa.

4 20 El subíndice de la matriz es demasiado grande o la estructura de control .POS o .LEN no es válida.

Ajuste el valor para que se encuentre dentro del rango válido. No exceda el tamaño de la matriz ni las dimensión definidas.

4 21 La estructura de control .LEN o .POS < 0. Ajuste el valor para que sea > 0.

4 31 Los parámetros de la instrucción JSR no coinciden con los de la instrucción SBR o RET asociada.

Pase el número apropiado de parámetros. Si se pasan demasiados parámetros, los restantes se ignoran sin error.

4 34 Una instrucción de temporizador tiene un valor preseleccionado o acumulador negativo.

Corrija el programa para que no cargue un valor negativo en el valor preseleccionado o acumulador del temporizador.

4 42 Se realizó una instrucción JMP a una etiqueta que no existe o que se eliminó.

Corrija la instrucción JMP receptora o añada la etiqueta faltante.

4 83 Los datos probados no se encuentran dentro de los límites requeridos.

Modifique el valor para que se encuentre dentro de los límites.

4 84 Overflow de la pila. Reduzca los niveles anidados de la subrutina o el número de parámetros pasados.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

A-2 Códigos de fallo

6 1 Expiró el temporizador de control (watchdog) de tareas.La tarea del usuario no ha concluido dentro de un período de tiempo especificado. Un error de programa causó un lazo infinito o el programa es demasiado complejo para ejecutarse a la velocidad especificada, o bien una tarea de prioridad superior impide que la tarea concluya.

Aumente el temporizador de control (watchdog) de tareas, reduzca el tiempo de ejecución, aumente la prioridad de esta tarea, simplifique las tareas de prioridad superior o mueva algunos códigos a otro controlador.

8 1 Se intentó poner el controlador en el modo Marcha mediante el interruptor de llave durante la descarga.

Espere hasta que concluya la descarga y borre el fallo.

11 1 La posición real ha excedido el límite de final de carrera positivo.

Mueva el eje en la dirección negativa hasta que la posición se encuentre dentro del límite de fin de carrera y luego ejecute Restablecer fallo de motion axis.

11 2 La posición real ha excedido el límite de final de carrera negativo.

Mueva el eje en la dirección positiva hasta que la posición se encuentre dentro del límite de fin de carrera y luego ejecute Restablecer fallo de motion axis.

11 3 La posición real ha excedido la tolerancia de error de la posición.

Mueva la posición dentro de la tolerancia y luego ejecute Restablecer fallo de motion axis.

11 4 Se interrumpió la conexión del canal A, B o Z del encoder.

Vuelva a conectar el canal del encoder y luego ejecute Restablecer fallo de motion axis.

11 5 Se detectó un evento de ruido del encoder o las señales del encoder no se encuentran en la cuadratura.

Repare el cableado del encoder y luego ejecute Restablecer fallo de motion axis.

11 6 Se activó la entrada de fallo del variador. Borre el Fallo del variador y luego ejecute Restablecer fallo de motion axis.

11 7 La conexión síncrona causó un fallo. Primero ejecute Restablecer fallo de motion axis. Si no tiene éxito, retire el módulo servo y vuelva a conectarlo. Si esto no resuelve el problema, reemplace el módulo servo.

11 8 El módulo servo ha detectado un fallo grave de accesorios.

Reemplace el módulo.

11 9 La conexión asíncrona causó un fallo. Primero ejecute Restablecer fallo de motion axis. Si no tiene éxito, retire el módulo servo y vuelva a conectarlo. Si esto no resuelve el problema, reemplace el módulo servo.

11 32 Ocurrió una superposición de la tarea de movimiento.

La velocidad de actualización general del grupo es demasiado alta para mantener la operación correcta. Borre el tag de fallo del grupo, aumente la velocidad de actualización del grupo y luego borre el fallo mayor.

Tabla A.1 Tipos y códigos de fallos mayores (Continued)

Tipo: Código: Causa: Método de recuperación:

Publicación 1756-PM001B-ES-P - Noviembre 2000

Códigos de fallo A-3

Códigos de fallo menor Use la siguiente tabla para determinar la causa y la acción correctiva para un fallo menor. El tipo y código corresponden al tipo y código mostrado en estos lugares:

• Cuadro de diálogo Propiedades del controlador, ficha Fallo Menor

• Objeto PROGRAM, atributo MINORFAULTRECORD

Tabla A.2 Tipos y códigos de fallos menores

Tipo: Código: Causa: Método de recuperación:

4 4 Ocurrió un overflow aritmético en una instrucción. Corrija el programa examinando las operaciones aritméticas (orden) o ajustando los valores.

4 7 El tag de destino GSV/SSV es demasiado pequeño para retener todos los datos.

Corrija el destino para que tenga suficiente espacio.

4 30 En una instrucción de Puerto en serie ASCII, el operando String Length es negativo.

En el operando String Length, introduzca 0 ó un valor positivo.

4 35 Tiempo delta PID ≤ 0. Ajuste el tiempo delta PID para que sea > 0.

4 36 Punto de ajuste PID fuera de rango. Ajuste el punto de ajuste para que se encuentre dentro del rango.

6 2 Superposición de tareas periódicas.La tarea periódica no concluye antes de que sea necesario ejecutarse nuevamente.

Simplifique los programas, prolongue el período o eleve la prioridad relativa, etc.

9 0 Error desconocido durante la prestación de servicio al puerto serie.

Comuníquese con el personal de GTS.

9 1 La línea CTS no es correcta para la configuración actual. Desconecte y vuelva conectar el cable del puerto en serie al controlador.Asegúrese de que el cable esté conectado correctamente.

9 2 Error de la lista de encuesta.Se detectó un problema con la lista de encuesta del maestro DF1, tal como la especificación de estaciones que exceden el tamaño del archivo, la especificación de más de 255 estaciones, el intento de indexar más allá del fin de la lista o la encuesta la dirección de difusión (STN#255).

Verifique para ver si los errores siguientes aparecen en la lista de encuesta:

• el número total de estaciones es mayor que el espacio disponible en el tag de la lista de encuesta

• el número total de estaciones es mayor que 255• el puntero de la estación actual es mayor que el

final del tag de la lista de encuesta• se encontró un número de estación mayor que

254

9 5 Exceso del tiempo de espera de encuesta del esclavo DF1.El temporizador de control (watchdog) sobrepasó el tiempo de espera del esclavo. El maestro no ha encuestado este controlador dentro de la cantidad de tiempo especificada.

Determine y corrija el retardo de la encuesta.

9 9 Se perdió contacto con el módem.Las líneas de control DCD y/o DSR no se reciben en la secuencia y/o estado correctos.

Corrija la conexión del módem al controlador.

10 10 No se detectó una batería o ésta se debe reemplazar. Instale una batería nueva.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

A-4 Códigos de fallo

Publicación 1756-PM001B-ES-P - Noviembre 2000

Apéndice B

Cumplimiento con IEC1131-3

Cómo usar este apéndice

Introducción La Comisión Electrotécnica Internacional (IEC) ha desarrollado una serie de especificaciones para los controladores programables. Estas especificaciones son para fomentar la armonización internacional de equipos y lenguajes de programación para uso en la industria de control. Estas normas proporcionan el fundamento para los controladores Logix5550 y el software de programación RSLogix 5000.

La especificación IEC para los controladores programables se categoriza en cinco partes distintas que describen un aspecto diferente del sistema de control.

• Parte 1: Información general

• Parte 2: Prueba de equipo y requisitos

• Parte 3: Lenguajes de programación

• Parte 4: Pautas del usuario

• Parte 5: Especificación del servicio de mensajes

Por lo general, la industria de control se ha concentrado en la parte 3 (IEC 1131-3), Lenguajes de programación, porque representa el núcleo para la implementación de otras normas y proporciona la ventaja más significativa para el usuario final puesto que reduce los costos de capacitación. Por lo tanto, este apéndice describe la norma IEC 1131-3 solamente.

Para obtener información acerca de: Vea la página:

Sistema operativo B-2

Definiciones de datos B-2

Lenguajes de programación B-3

Conjunto de instrucciones B-4

Portabilidad de programas IEC 1131-3 B-4

Tablas de cumplimiento con IEC 1131-3 B-5

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre de 2000

B-2 Cumplimiento con IEC1131-3

La especificación del lenguaje de programación IEC 1131-3 describe diversos aspectos del controlador programable, incluso la ejecución del sistema de operación, las definiciones de datos, los lenguajes de programación y los conjuntos de instrucciones. Los componentes de la especificación EIC 1131-3 se categorizan según lo requerido por la especificación, opción o extensiones. Como resultado, la especificación IEC 1131-3 proporciona un conjunto mínimo de funciones que se puede ampliar para satisfacer las aplicaciones del usuario final. La desventaja es que cada suministrador de sistemas de control programable puede implementar componentes diferentes de la especificación o proporcionar extensiones diferentes.

Sistema operativo El sistema operativo (OS) del controlador que permite la priorización y realización de varias tareas a la vez, es compatible con la definición de IEC 1131-3. En la norma IEC 1131-3, el sistema operativo de los controladores programables puede contener cero o más tareas, las cuales pueden ejecutar uno o más programas que contienen una o más funciones o rutinas. Según la norma IEC 1131-3, el número de cada uno de estos componentes depende de la implementación. El software Logix5550 proporciona varias tareas y cada una contiene diferentes programas además de un número ilimitado de funciones o rutinas.

La norma IEC 1131-3 proporciona una opción de crear diferentes clasificaciones de ejecución de tareas. La tarea se puede configurar como continua, periódica o basada en eventos. No es necesario programar una tarea continua puesto que utilizará cualquier tiempo de procesamiento restante cuando las otras tareas están inactivas. Las tareas periódicas se programan para funcionar en base a un período de tiempo repetido. La especificación IEC 1131-3 no especifica una base de tiempo para la configuración de las tareas periódicas. Una tarea basada en un evento IEC 1131-3 se activa durante la detección del flanco ascendente de una entrada configurada. El software Logix5550 es compatible con las opciones de tareas continuas y periódicas. Además, el período para una tarea periódica es configurable a partir de 1 milisegundo (ms).

Definiciones de datos La especificación IEC 1131-3 proporciona acceso a la memoria mediante la creación de variables con nombre. Los nombres IEC 1131-3 de las variables consisten en un mínimo de seis caracteres (el software de programación RSLogix5000 acepta un mínimo de 1 carácter) empezando con un carácter de subrayado “_” o un carácter alfabético (A-Z) seguido por uno o más caracteres que constan de caracteres de subrayado “_”, caracteres alfabéticos (A-Z) o números (0-9). Como opción, se pueden usar los caracteres alfabéticos en minúscula (a-z) siempre que puedan usarse mayúsculas y minúsculas (A = a, B = b, C = c, etc.). El controlador cumple completamente con esta definición, es compatible con la opción de caracteres en minúscula y amplía el nombre para aceptar nombres de hasta 40 caracteres.

Publicación 1756-PM001B-ES-P - Noviembre de 2000

Cumplimiento con IEC1131-3 B-3

Las variables de datos en IEC 1131-3 se pueden definir para que ofrezcan acceso a todos los programas dentro de un recurso o controlador; o se proporciona acceso limitado solamente a las funciones o rutinas dentro de un solo programa. Para pasar datos entre múltiples recursos o controladores, las rutas de acceso se pueden configurar para definir la ubicación de los datos dentro de un sistema. El software Logix5550 cumple con las especificaciones requeridas puesto que proporciona datos del programa y del controlador cubiertos y permite la configuración de rutas de acceso usando los datos producidos/consumidos.

La interpretación de memoria de una variable dentro de la norma IEC 1131-3 se define mediante el uso de un tipo de datos elementario o un tipo de datos derivado opcional que se crea de un grupo de múltiples tipos de datos. El software Logix5550 es compatible con el uso de tipos de datos elementarios BOOL (1 bit), SINT (8 bits enteros), INT (16 bits enteros), DINT (32 bits enteros) y REAL (número de punto flotante [coma flotante] IEEE). Además, los tipos de datos derivados opcionales son compatibles mediante la creación de estructuras y arreglos definidos por el usuario.

Lenguajes de programación La especificación IEC 1131-3 define cinco (5) lenguajes de programación diferentes y un conjunto de elementos comunes. Todos los lenguajes se definen como opcionales, pero por lo menos uno debe ser compatible para cumplir con la especificación. Los componentes del lenguaje de programación para IEC 1131-3 se definen a continuación:

• Elementos de lenguaje común

• Elementos gráficos comunes

• Elementos de lenguaje de la lista de instrucciones (IL)

• Elementos de lenguaje del texto estructurado (ST)

• Elementos de lenguaje del diagrama de lógica de escalera

• Elementos de lenguaje del diagrama de funciones secuenciales (SFC)

• Elementos de lenguaje del diagrama de bloques de funciones (FDB)

Los controladores Logix5000 y el software RSLogix5000 son compatibles con los elementos de lenguaje común y las opciones de lenguaje del diagrama de lógica de escalera. Además, el entorno utiliza un formato de importación/exportación basado en el lenguaje de texto estructurado. Las funciones de intercambio del conjunto de instrucciones y archivo del programa se describen detalladamente en las secciones siguientes.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre de 2000

B-4 Cumplimiento con IEC1131-3

Conjunto de instrucciones El conjunto de instrucciones especificado por IEC 1131-3 es completamente opcional. La especificación indica un conjunto limitado de instrucciones que, si se implementan, deben conformarse a la ejecución propuesta y representación visual. Sin embargo, la norma IEC 1131-3 no limita los conjuntos de instrucciones a los indicados dentro de la especificación. Cada suministrador de PLC tiene la opción de implementar funciones adicionales en forma de instrucciones diferentes a las indicadas por la especificación. Algunos ejemplos de estas instrucciones adicionales incluyen las que son necesarias para realizar los diagnósticos, control de lazo PID, control de movimiento y manipulación del archivo de datos. Puesto que las instrucciones adicionales no se definen en la especificación IEC 1131-3, no se ofrecen garantías relativas a la compatibilidad de implementación entre los diversos suministradores de PLC. El uso de estas instrucciones puede excluir el movimiento de la lógica entre suministradores.

Los controladores Logix5000 y el software RSLogix5000 proporcionan una gama de instrucciones que se ejecutan según la especificación IEC 1131-3. La representación física de estas instrucciones mantiene su aspecto y funcionalidad en sistemas existentes para reducir así los costos de capacitación asociados con el trabajo en el entorno. Además de las instrucciones que cumplen con IEC 1131-3, se ha introducido en el entorno una amplia gama de instrucciones de productos existentes para aprovechar todas las funciones.

Portabilidad de programas IEC 1131-3

Uno de los propósitos de la creación de programas por parte de los usuarios finales en un entorno que cumple con IEC 1131-3 es el movimiento o portabilidad de programas entre los controladores desarrollados por diversos suministradores. Este es un aspecto débil de IEC 1131-3 porque la especificación no define el formato de intercambio de archivos. Esto significa que cualquier programa creado en el entorno de un suministrador necesitará manipularse para moverlo al sistema de otro suministrador.

Para minimizar los esfuerzos necesarios para realizar la portabilidad entre suministradores, el software de programación RSLogix5000 para los controladores incluye una utilidad completa de exportación e importación ASCII. Además, el formato de archivo usado por esta herramienta se basa en un híbrido de la definición del lenguaje de texto estructurado de IEC 1131-3. Las definiciones de sistemas y datos de operación del controlador se conforman con los formatos IEC 1131-3 apropiados. Se implementaron extensiones para convertir la lógica del diagrama de lógica de escalera en texto ASCII puesto que no fue definida por IEC 1131-3.

Publicación 1756-PM001B-ES-P - Noviembre de 2000

Cumplimiento con IEC1131-3 B-5

Tablas de cumplimiento con IEC 1131-3

Los controladores Logix5000 y el software RSLogix5000 satisfacen los requisitos de IEC 1131-3 relativos a las funciones de lenguaje siguientes:

Número de tabla:(1)

Número de función:

Descripción de la función: Notas acerca de la implementación:

1 1 Conjunto de caracteres requeridos Ninguna

1 2 Letras minúsculas Ninguna

1 3a Signo de número (#) Se usa para la designación del tipo de datos de valor inmediato

1 4a Signo de dólar ($) Se usa para la descripción y el carácter de control de cadena

1 6a Delimitadores de subíndice ([ ]) Subíndices de arreglos

2 1 Identificadores que usan letras mayúsculas y números

Nombres de tarea, programa, rutina, estructura y tag

2 2 Identificadores que usan letras mayúsculas, números y caracteres de subrayado incorporados

Nombres de tarea, programa, rutina, estructura y tag

2 3 Identificadores que usan letras mayúsculas y minúsculas, números y caracteres de subrayado incorporados

Nombres de tarea, programa, rutina, estructura y tag

4 1 Valor literal de número entero 12, 0, –12

4 2 Valor literal real 12.5, –12.5

4 3 Valor literal real con exponentes –1.34E–12, 1.234E6

4 4 Valor literal de base 2 2#0101_0101

4 5 Valor literal de base 8 8#377

4 6 Valor literal de base 16 16#FFE0

4 7 Cero y uno booleanos 0, 1

5 1 Cadena vacía '' Descripciones

5 2 Cadena de una longitud que contiene un carácter 'A'

Descripciones

5 3 Cadena de una longitud que contiene un espacio ' '

Descripciones

5 4 Cadena de una longitud que contiene un carácter de una sola comilla '$'

Descripciones

5 5 Cadena de dos longitudes que contiene CR y LF '$R$L'

Descripciones

6 2 Cadena de signo de dólar '$$' Descripciones

6 3 Cadena de una sola comilla '$'' Descripciones

6 4 Cadena de salto de línea '$L' o '$l' Descripciones

6 5 Cadena de nueva línea '$N' o '$n' Descripciones

6 6 Cadena desde la alimentación (página) '$P' o '$p' Descripciones

6 7 Cadena de retorno de carro '$R' o '$r' Descripciones

6 8 Cadena de tabulación '$T' o '$t' Descripciones

10 1 Tipo de datos BOOL Definición de la variable de tag

10 2 Tipo de datos SINT Definición de la variable de tag

10 3 Tipo de datos INT Definición de la variable de tag

10 4 Tipo de datos DINT Definición de la variable de tag

10 10 Tipo de datos REAL Definición de la variable de tag

10 12 Hora Definición de la variable de tag, estructura TIMERAllen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre de 2000

B-6 Cumplimiento con IEC1131-3

11 1 Jerarquía de tipos de datos Ninguna

12 1 Derivación directa desde los tipos elementarios Estructuras de tipos de datos definidas por el usuario

12 4 Tipos de datos de arreglos Definición de la variable de tag

12 5 Tipos de datos estructurados Estructuras de tipos de datos definidas por el usuario

13 1 Valor inicial BOOL, SINT, INT, DINT de 0 Definición de la variable de tag

13 4 Valor inicial REAL, LREAL de 0.0 Definición de la variable de tag

13 5 Valor inicial de tiempo de T#0s Definición de la variable de tag, instrucción de restablecimiento (RES)

13 9 Cadena vacía '' Descripciones

14 1 Inicialización de tipos directamente derivados Importación/exportación

14 4 Inicialización de tipos de datos de arreglos Importación/exportación

14 5 Inicialización de elementos de tipo estructurado Importación/exportación

14 6 Inicialización de tipos de datos estructurados derivados

Importación/exportación

20 1 Uso de EN y ENO para LD La función está presente en la lógica de escalera pero no está identificada

21 1 Funciones sobrecargadas ADD(INT, DINT) o ADD(DINT, REAL)

Todos los tipos de instrucciones sobrecargadas que son compatibles y documentadas con cada instrucción

22 1 Función de conversión _TO_ Instrucciones RAD, DEG Radianes a/de decimal. No se necesitan más debido a la sobrecarga de instrucciones.

22 3 Conversión de BCD a INT Instrucción FRD

22 4 Conversión de INT a BCD Instrucción TOD

23 2 raíz cuadrada Instrucción SQR

23 3 Logaritmo natural Instrucción LN

23 4 Logaritmo de base 10 Instrucción LOG

23 6 Seno en radianes Instrucción SIN

23 7 Coseno en radianes Instrucción COS

23 8 Tangente en radianes Instrucción TAN

23 9 Arco seno principal Instrucción ASN

23 10 Arco coseno principal Instrucción ACS

23 11 Arco tangente principal Instrucción ATN

24 12 Suma aritmética Instrucción ADD

24 13 Multiplicación aritmética Instrucción MUL

24 14 Resta aritmética Instrucción SUB

24 15 División aritmética Instrucción DIV

24 17 Función de exponente Instrucción XPY

24 18 Movimiento del valor Instrucción MOV

26 5 Función AND Instrucción AND

26 6 Función OR Instrucción OR

26 7 Función XOR Instrucción XOR

26 8 Función NOT Instrucción NOT

28 5 Comparación de mayor que Instrucción GRT

28 6 Comparación de mayor o igual a Instrucción GRE

Número de tabla:(1)

Número de función:

Descripción de la función: Notas acerca de la implementación:

Publicación 1756-PM001B-ES-P - Noviembre de 2000

Cumplimiento con IEC1131-3 B-7

28 7 Comparación de igual a Instrucción EQU

28 8 Comparación de menor que Instrucción LES

28 9 Comparación de menor o igual a Instrucción LEQ

28 10 Comparación de diferente Instrucción NEQ

57 1, 2 Línea horizontal para el renglón Editor de lógica de escalera

57 3, 4 Línea vertical Editor de lógica de escalera

57 5, 6 Conexión horizontal/vertical Editor de lógica de escalera

57 9, 10 Angulos de conexión y sin conexión Editor de lógica de escalera

57 11, 12 Bloques con conexiones Editor de lógica de escalera

58 2 Salto no condicional Instrucción JMP

58 3 Receptor de salto Instrucción LBL

58 4 Salto condicional Instrucción JMP

58 5 Retorno condicional Instrucción RET

58 8 Retorno no condicional Instrucción RET

59 1 Línea de tensión izquierda Editor de lógica de escalera

59 2 Línea de tensión derecha Editor de lógica de escalera

60 1 Vínculo horizontal Editor de lógica de escalera

60 2 Vínculo vertical Editor de lógica de escalera

61 1, 2 Contacto normalmente abierto --| |-- Instrucción XIC

61 3, 4 Contacto normalmente cerrado --| / |-- Instrucción XIO

61 5, 6 Contacto detector de transición positiva -| P |- Instrucción ONS

62 1 Bobina --( )-- Instrucción OTE

62 6 Establecimiento de la bobina de memoria retentiva -( SM )-

Instrucción OTL

62 7 Restablecimiento de la bobina de memoria retentiva -( RM )-

Instrucción OTU

62 8 Bobina detectora de transición positiva -| P |- Instrucción OSR

62 9 Bobina detectora de transición negativa-| P |- Instrucción OSF

(1)Se han omitido las tablas asociadas con lenguajes que no sean de diagrama de lógica de escalera.

Número de tabla:(1)

Número de función:

Descripción de la función: Notas acerca de la implementación:

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre de 2000

B-8 Cumplimiento con IEC1131-3

Notas:

Publicación 1756-PM001B-ES-P - Noviembre de 2000

Glosario

A administrador de inicializacion

Una tarea opcional que se ejecuta cuando el controlador se enciende en el modo Marcha. Para usar el Administrador de inicializacion, se debe crear un programa de encendido y la rutina principal asociada.

El Administrador de inicializacion se ejecuta de la siguiente manera:

42195

¿Se encendió el controlador en el modo Marcha?

No El controlador permanece en el modo actual.

Se ejecuta el programa Administrador de inicializacion.

No El controlador permanece en el modo Marcha y ejecuta la lógica.

Ocurre el fallo mayor tipo 1, código 1.

¿Contiene un programa el Administrador de inicializacion?

¿Se borró el fallo mayor? Sí

No

El controlador entra en el modo fallo.

El controlador permanece en el modo Marcha y ejecuta la lógica.

Allen-Bradley HMIs

1 Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 2

administrador de fallos del controlador

El administrador de fallos del controlador es una tarea opcional que se ejecuta cuando:

• el fallo mayor no es un fallo de ejecución de instrucción

• 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. Después 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.

alcance

Define dónde 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 específico, tal como se indica a continuación.

Puede tener múltiples tags con el mismo nombre:

42195

tags a los cuales pueden tener acceso todas las rutinas y dispositivos externos (por ejemplo, controladores)

tags a los cuales sólo pueden tener acceso las rutinas en MainProgram

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 3

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

alcance del controlador

Estos son datos accesibles 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.

alias

Un tag que hace referencia a otro tag. Un alias puede referirse A otro alias o un tag base. Un alias también puede hacer referencia a un componente de otro tag refiriéndose a un miembro de una estructura, un elemento de matriz o un bit dentro de un tag o miembro. Vea tag base.

aplicación

La combinación de rutinas, programas, tareas y configuraciones de E/S usadas para definir la operación de un solo controlador. Vea proyecto.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 4

archivo de proyecto

El archivo en la estación de trabajo (o servidor) que almacena la lógica, la configuración, los datos y la documentación para un controlador.

• El archivo de proyecto tiene una extensión .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 títulos del software RSLogix 5000 muestra ambos nombres.

Vea aplicación.

ASCII

Un código de 7 bits (con un bit de paridad opcional) que se usa para representar caracteres alfanuméricos, signos de puntuación y caracteres de código de control. Para obtener una lista de códigos ASCII, vea la contraportada de este manual.

asíncrono

Acciones que ocurren independientemente una de otra y que no tienen un patrón regular. En los controladores Logix5000, los valores de E/S se actualizan de manera asíncrona a la ejecución de la lógica.

• Los programas dentro de una tarea obtienen acceso a los datos de entrada y salida directamente desde la memoria del controlador cubierto.

• La lógica dentro de cualquier tarea puede modificar los datos de alcance del controlador.

• Los valores de datos y E/S son asíncronos y se pueden cambiar durante la ejecución de la tarea.

• Un valor de entrada al cual se hace referencia al inicio de la ejecución de la tarea puede ser diferente cuando se hace referencia al mismo más tarde.

ATENCION

!Asegúrese de que la memoria de datos contiene los valores apropiados durante toda la ejecución de la tarea. Usted puede duplicar o almacenar en un búfer los datos al inicio del escán para proporcionar valores de referencia para la lógica.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 5

B bifurcación

No hay un límite del número de niveles de bifurcación en paralelo que usted puede introducir. La figura siguiente muestra una bifurcación en paralelo con cinco niveles. El renglón principal es el primer nivel de bifurcación, seguido por cuatro bifurcaciones adicionales.

Se pueden anidar las bifurcaciones hasta en 6 niveles. La figura siguiente muestra una bifurcación anidada. La instrucción de salida inferior se encuentra en una bifurcación anidada que tiene tres niveles.

instrucción de entrada instrucción de salida

instrucción de entrada instrucción de salida

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 6

binario

Los valores enteros mostrados en pantalla e introducidos en base 2 (cada dígito 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 dígitos se separa mediante un carácter de subrayado para facilitar la legibilidad. Vea decimal, hexadecimal, octal.

bit

Dígito binario. Esta es la unidad más pequeña de memoria. Representado por los dígitos 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.

C cambio de estado (COS)

Cualquier cambio del estado de un punto o grupo de puntos en un módulo de E/S.

carga

El proceso de transferir el contenido del controlador a un archivo del proyecto en la estación 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 renglón

• las descripciones de tags, tareas, programa, rutinas, módulos o estructuras definidas por el usuario

• cadenas de alias (seudónimo 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 seudónimo más

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 7

apto que puede no reflejar cómo se especificó el seudónimo en el proyecto original.

Vea descarga.

CIP

Vea Protocolo de control e información.

codificación electrónica

Una función de la línea de E/S 1756 que permite la solicitud de módulos para realizar una verificación electrónica a fin de asegurar que el módulo físico sea igual a lo que configuró el software. Habilita al usuario mediante el software para evitar el uso de módulos incorrectos o revisión incorrectas. Vea módulo compatible, inhabilitación de la codificación, exactamente igual.

conexión

El mecanismo de comunicación desde el controlador a otro módulo en el sistema de control. Existe un límite del número de conexiones que puede tener un solo controlador. Las comunicaciones con los módulos de E/S, tags consumidos, tags producidos e instrucciones MSG usan conexiones para transferir los datos.

conexión bidireccional

Una conexión en que los datos fluyen en ambas direcciones: desde el originador al receptor y desde el receptor al originador. Vea conexión, conexión unidireccional.

conexión con caché

Con la instrucción MSG, una conexión con caché indica al controlador que mantenga la conexión aún después de que concluye la instrucción MSG. Esto es útil si se ejecuta repetidamente la instrucción MSG puesto que iniciar la conexión cada vez aumenta el tiempo de escán. Vea conexión, conexión sin caché.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 8

conexión de sólo recepción

Una conexión de E/S en la que otro controlador posee/proporciona los datos de configuración para el módulo de E/S. Un controlador que usa una conexión de sólo recepción no escribe los datos de configuración y puede mantener una conexión solamente al módulo de E/S cuando el controlador propietario está controlando activamente el módulo de E/S. Vea controlador propietario.

conexión sin caché

Con la instrucción MSG, una conexión sin caché indica al controlador que cierre la conexión una vez concluida la instrucción MSG. El cortar la conexión la hace disponible para otros usos del controlador. Vea conexión, conexión con caché.

conexión unidireccional

Una conexión en que los datos fluyen en una sola dirección: desde el originador al receptor. Vea conexión, conexión bidireccional.

controlador propietario

El controlador que crea la conexión primaria de configuración y comunicación a un módulo. El controlador propietario escribe los datos de configuración y establece una conexión al módulo. Vea conexión de sólo recepción.

ControlBus

El backplane usado por el chasis 1756. Sirve como red.

COUNTER

Tipo de datos de estructura que contiene la información de estado y control para las instrucciones de contador.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 9

D decimal

Los valores mostrados en pantalla e introducidos en base 10 sin prefijo. No se proporcionan espacios para la longitud del valor entero. Vea binario, hexadecimal, octal.

descargan

El proceso de transferir el contenido del proyecto en la estación de trabajo al controlador. Vea carga.

descripción

Texto opcional que se puede usar para documentar más detalladamente la aplicación.

• Se puede usar cualquier carácter imprimible, incluso el retorno de carro, tabulación y espacio.

• Las descripciones no se descargan al controlador. Éstas permanecen en el archivo del proyecto fuera del línea.

• Las descripciones tienen las siguientes limitaciones de longitud:

– Para tags, se puede usar hasta 120 caracteres.

– Para otros objetos (tareas, programas, módulos, etc.) se puede usar hasta 128 caracteres.

difusión múltiple

Un mecanismo que permite que un módulo envíe datos mediante una red que son recibidos simultáneamente por más de un dispositivo de sólo recepción. Describe la función de la línea de E/S ControlLogix que permite que múltiples controladores reciban datos de entrada simultáneamente desde el mismo módulo de E/S.

dimensión

La especificación del tamaño una matriz. Las matrices pueden tener hasta tres dimensiones. Vea matriz.

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 ejecutan más 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 ejecución. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT. Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 10

directa

Una conexión de E/S en que el controlador establece conexiones individuales a un módulo de E/S. Vea rack optimizado.

E 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 según sus subíndices:

Vea matriz.

en línea

Ver y editar el proyecto en un controlador. Vea fuera de línea.

estampacion de hora

Un proceso ControlLogix que registra un cambio de los datos de entrada con una referencia relativa de tiempo respecto a cuándo ocurrió el cambio.

estilo

El formato en que se muestran los valores numéricos. Vea ASCII, binario, decimal, exponencial, flotante, hexadecimal, octal.

Para esta matriz: Especifique:

una dimensión array_name[subscript_0]

dos dimensiones array_name[subscript_0, subscript_1]

tres dimensiones array_name[subscript_0, subscript_1, subscript_2]

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 11

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 un 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 combinación de tags individuales y la mayoría de las otras estructuras.

• Para copiar datos a una estructura, use la instrucción COP. Vea la Logix5000 Controllers General Instruction Set Reference Manual, publicación 1756-RM003A-US-P.

Los tipos de datos COUNTER y TIMER son ejemplos de estructuras usadas comúnmente.

Vea miembro, tipo de datos definido por el usuario.

42365

Para expandir una estructura y mostrar sus miembros, haga clic en el signo +.

Para contraer una estructura y ocultar sus miembros, haga clic en el signo –.

estructura COUNTER

estructura TIMER

tipos de datos de los miembros

miembros de running_seconds

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 12

estructura definida por producto

Un tipo de datos de estructura que el software y controlador definen automáticamente. La configuración de un módulo de E/S añade la estructura definida por producto a dicho módulo.

estructura predefinida

Un tipo de datos de estructura que almacena la información asociada para una instrucción específica, tal como la estructura TIMER para las instrucciones de temporizador. Las estructuras predefinidas siempre están disponibles, independientemente de la configuración de hardware del sistema. Vea estructura definida por producto.

exactamente igual

Una protección de codificación electrónica que requiere que todos los atributos (suministrador, número de catálogo y atributos de revisión menor) del módulo físico y el módulo configurado en el software sean iguales para establecer una conexión al módulo.

exponencial

Los valores reales mostrados en pantalla e introducidos en formato científico o exponencial. El número siempre se muestra en pantalla con un dígito a la izquierda del punto decimal seguido por la porción decimal y, luego, por una exponente. Vea estilo.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 13

F fallo mayor

Una condición de fallo que es suficientemente severa para que el controlador se desactive, a menos que se borre una condición. Cuando ocurre un fallo mayor, el controlador:

1. Establece un bit de fallo mayor.

2. Ejecuta la lógica de fallo proporcionada por el usuario, si existe.

3. Si la lógica de fallo proporcionada por el usuario no puede borrar el fallo, el controlador entra en el modo fallo.

4. Establece las salidas según su estado de salida durante el modo de programación.

5. El indicador LED parpadea de color rojo.

El controlador es compatible con dos niveles para el manejo de los fallos mayores:

• rutina de fallo del programa:

– Cada programa puede tener su propia rutina de fallo.

– El controlador ejecuta la rutina de fallo del programa cuando ocurre un fallo de instrucción.

– 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 página 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ó, además de hasta dos fallos adicionales no borrados, se registran en el registro de fallos del controlador.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 14

Vea estado con fallo, fallo menor.

Ejecute la rutina de fallo

del programa actual

¿Se borró el fallo?

ejecute el administrador de

fallos del controlador

continúa la ejecución de lógica

No

¿Se borró el fallo?sí

No

Entre en el modo falloDesactivación de

registro de FAULTLOG

¿Existe una rutina de fallo del programa?

No

ocurre un fallo mayor

¿Hay un fallo de instrucción?

No

continúa la ejecución de lógica

El controlador registra un fallo mayor en el

programa MajorFaultRecord

actual

El controlador registra un fallo mayor al

administrador de fallos del controlador

PROGRAM MajorFaultRecord

Existe el administrador de

fallos del controlador

No

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 15

fallo menor

Una condición de fallo que no es suficientemente severa para que el controlador se desactive:

Para borrar fallos menores:

1. En el Organizador del controlador, haga clic con el botón derecho del mouse en la carpeta Controller name_of_controller y seleccione Propiedades.

2. Haga clic en la ficha Fallo Menor.

3. Utilice la información de la lista Fallos recientes para corregir la causa del fallo. Refer to Códigos de fallo menor on page A-3.

4. Haga clic en el botón Borrar menores.

Vea fallo mayor.

flotante

Los valores reales que se muestran en pantalla y se introducen en el formato de coma flotante. El número de dígitos a la izquierda del punto decimal varía según el tamaño del número. Vea estilo.

formato de comunicación

Define cómo un módulo de E/S se comunica con el controlador. La selección de un formato de comunicación define:

• qué tags de configuración están disponibles mediante el software de programación

• el método de estructura y la configuración del tag

fuera de línea

Ver y editar un proyecto que está en el disco duro de una estación de trabajo. Vea en línea.

Si ocurre lo siguiente: El controlador:

problema con una instrucción 1. establece S:MINOR2. registra información acerca del fallo al objeto

PROGRAM, atributo MinorFaultRecord3. establece el bit 4 del objeto FAULTLOG,

atributo MinorFaultBits

superposición de tareas periódicas

establece el bit 6 del objeto FAULTLOG, atributo MinorFaultBits

problema con el puerto en serie establece el bit 9 del objeto FAULTLOG, atributo MinorFaultBits

batería baja establece el bit 10 del objeto FAULTLOG, atributo MinorFaultBits

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 16

H hexadecimal

Los valores enteros mostrados en pantalla e introducidos en base 16 (cada dígito representa 4 bits). Tiene el prefijo 16#. 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 dígitos se separa mediante un carácter de subrayado para facilitar la legibilidad. Vea binario, decimal, octal.

hora coordinada del sistema (CST)

Un valor de 64 bits que representa el número de microsegundos desde el cual el controlador maestro de la hora coordinada del sistema inició el conteo.

• El valor CST se almacena como un arreglo 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.

I índice

Una referencia usada para especificar un elemento dentro de una matriz.

inhabilitación de la codificación

Un modo de protección de codificación electrónica que no requiere que sean iguales los atributos del módulo físico y el módulo configurado en el software e igualmente establece una conexión al módulo. Vea módulo compatible, exactamente igual.

instrucción

El controlador evalúa las instrucciones de lógica de escalera según la condición de renglón que precede a la instrucción (condición de entrada del renglón).

Sólo las instrucciones de entrada afectan la condición de entrada de renglón de instrucciones subsiguientes en el renglón.

instrucción de entrada instrucción de salida

condición de salida del renglón

condición de entradade renglón

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 17

• Si la condición de entrada del renglón a una instrucción de entrada es verdadera, el controlador evalúa la instrucción y establece la condición de salida del renglón para que coincida con los resultados de la evaluación.

– Si la instrucción se evalúa como verdadera, la condición de salida del renglón es verdadera.

– Si la instrucción se evalúa como falsa, la condición de salida del renglón es falsa.

• Una instrucción de salida no cambia la condición de salida del renglón.

– Si la condición de entrada del renglón a una instrucción de salida es verdadera, la condición de salida del renglón se establece como verdadera.

– Si la condición de entrada del renglón a una instrucción de salida es falsa, la condición de salida del renglón se establece como falsa.

En los controladores Logix5000, se puede introducir múltiples instrucciones de salida por renglón de lógica. Las instrucciones de salida se pueden introducir:

• en secuencia en el renglón (en serie)

• entre instrucciones de entrada, siempre que la última instrucción del renglón sea una instrucción de salida

El siguiente ejemplo usa más de una salida en un renglón.

EJEMPLO Colocar múltiples salidas en un renglón

Cuando running_seconds.CU se activa, running_hours cuenta progresivamente un valor de uno y running_seconds se restablece.

Cuando machine_on se activa, activa drill_1_on. Cuando ambos machine_on y drill[1].part_advance están activados, se activa conveyor_on.

42362

running_seconds.DNCUDN

Count UpCounter running_hoursPreset 500Accum 0

CTURES

running_seconds

machine_on drill_1_on drill[1].part_advance conveyor_on

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 18

INT

Un tipo de datos que almacena un valor entero de 16 bits (2-byte) (–32,768 a +32,767). Reduzca al mínimo 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 ejecución. 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 máxima de tiempo hasta la producción subsiguiente de datos de entrada.

• Este intervalo se configura típicamente en microsegundos.

• La producción de datos está limitada al múltiplo más grande del tiempo de actualización de la red que sea menor que el intervalo entre paquetes solicitados seleccionado.

• Use una potencia de dos veces el tiempo de actualización de la red (NUT) ControlNet.

Por ejemplo, si el NUT es 5 ms, escriba un régimen de 5, 10, 20, 40 ms, etc.

Vea tiempo de actualización de red (NUT).

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 19

M 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 demás módulos en el chasis sincronizan sus valores de hora coordinada del sistema según el maestro de hora coordinada del sistema.

matriz

Una matriz le permite agrupar datos (del mismo tipo de datos) bajo un nombre común.

• Una matriz es similar a un archivo.

• Un subíndice (s) identifica cada elemento individual dentro de la matriz.

• Un subíndice empieza en 0 y se extiende hasta el número de elementos menos 1 (basado en cero).

• 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 través 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 subíndices (coordenadas).

42367

Para expandir una matriz y mostrar sus elementos, haga clic en el signo +.

Para contraer una matriz y ocultar sus elementos, haga clic en el signo –.

Esta matriz contiene seis elementos del tipo de datos DINT.

seis DINTelementos de timer_presets

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 20

• En una matriz con dos o tres dimensiones, la dimensión del extremo derecho incrementa primero en la memoria.

42367

La dimensión del extremo derecho se incrementa a su valor máximo y luego vuelve a empezar.

Esta matriz contiene una cuadrícula de elementos de dos dimensiones, seis elementos por seis elementos.

Cuando vuelve a empezar la dimensión del extremo derecho, la dimensión de la izquierda aumenta por un valor de uno.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 21

• El número total de elementos en una matriz es el producto del tamaño de cada dimensión, como se ilustra en los siguientes ejemplos:

• Puede modificar las dimensiones de la matriz cuando programa fuera de línea sin perder los datos del tag. No puede modificar las dimensiones del arreglo cuando programa en línea.

memoria

Medios físicos de almacenamiento electrónicos incorporados en un controlador y usados para retener programas y datos.

miembro

Un elemento de una estructura que tiene su propio tipo de datos y nombre.

• Los miembros pueden ser también estructuras creando así tipos de datos de estructura anidada.

• Cada miembro dentro de una estructura puede ser de un tipo de datos diferente.

Esta matriz: Almacena los datos como: Por ejemplo:

una dimensión Nombre de tag:

one_d_array

Tipo

DINT[7]

Dimensión 0

7

Dimensión 1

--

Dimensión 2

--

número total de elementos = 7

rango de subíndice válido DINT[x] donde x = 0 – 6

dos dimensiones Nombre de tag:

two_d_array

Tipo

DINT[4,5]

Dimensión 0

4

Dimensión 1

5

Dimensión 2

--

número total de elementos = 4 ∗ 5 = 20

rango de subíndice válido DINT[x,Y] donde x = 0 – 3; Y = 0 –4

tres dimensiones Nombre de tag:

three_d_array

Tipo

DINT[2,3,4]

Dimensión 0

2

Dimensión 1

3

Dimensión 2

4

número total de elementos = 2 ∗ 3 ∗ 4 = 24

rango de subíndice válido DINT[x,Y,z] donde x = 0 – 1; Y = 0 – 2, z = 0 – 3

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 22

• Para hacer referencia a un miembro en una estructura, use este formato:

tag_name.member_name

Por ejemplo:

• Si la estructura está incorporada en otra estructura, use el nombre de tag de la estructura al nivel más alto seguido por un nombre de tag de subestructura y un nombre de miembro:

tag_name.substructure_name.member_name

Por ejemplo:

• Si la estructura define una matriz, use el tag de arreglo seguido por la posición en la matriz y los nombres de subestructura y miembro.

array_tag[position].member

o bien

array_tag[position].substructure_name.member_name

Por ejemplo:

Vea estructura.

modo fallo

El controlador generó un fallo mayor, no pudo borrar el fallo y se ha desactivado.

Esta dirección: Hace referencia al:

timer_1.pre valor PRE de la estructura timer_1.

input_load as data type load_info

input_load.height

miembro height de la estructura input_load definida por el usuario

Esta dirección: Hace referencia al:

input_location como ubicación de tipo de datos

input_location.load_info.altura

miembro height de la estructura load_info en la estructura input_location.

Esta dirección: Hace referencia al:

conveyor[10].source miembro source del 11vo elemento en la matriz conveyor (los elementos del arreglo se basan en cero).

conveyor[10].info.height miembro height de la estructura info en el 11vo elemento la matriz conveyor (los elementos del arreglo se basan en cero).

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 23

Vea fallo mayor.

módulo compatible

Un modo de protección de codificación electrónica que requiere que el suministrador, número de catálogo y atributos de revisión mayor del módulo físico y del módulo configurado en el software sean iguales para establecer una conexión al módulo. Vea inhabilitación de la codificación, exactamente igual.

módulo de interface (IFM)

Un brazo de cableado de campo de E/S precableadas.

múltiples propietarios

Una configuración donde más de un controlador tiene la misma información de configuración para ser propietario simultáneamente del mismo módulo de entrada.

N nombre

Los nombres identifican controladores, tareas, programas, tags, módulos etc. Los nombres siguen las normas de identificadores de IEC-1131-3 y:

• deben comenzar con un carácter alfabético (A – Z o A – z) o un carácter de subrayado (_)

• pueden contener solamente caracteres alfabéticos, caracteres numéricos y caracteres de subrayado

• pueden tener hasta 40 caracteres

• no deben tener caracteres de subrayado consecutivos ni al final del nombre (_)

• pueden utilizar mayúsculas/minúsculas

• se descargan al controlador

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 24

O objeto

Una estructura de datos que almacena la información de estado. Cuando se introduce una instrucción GSV/SSV, se especifica el objeto y el atributo del mismo al cual se desea obtener acceso. En ciertos casos, existe más de una instancia del mismo tipo de objeto, por lo tanto, también puede ser necesario especificar el nombre del objeto. Por ejemplo, la aplicación 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 dígito 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 dígitos se separa mediante un carácter de subrayado para facilitar la legibilidad. Vea binario, decimal, octal.

P post-escán

Una función del controlador que permite que se examine la lógica dentro de un programa antes de inhabilitar el programa a fin de restablecer las instrucciones y datos.

preescán

Una función del controlador que permite que se examine la lógica antes de la ejecución a fin de inicializar las instrucciones y datos.

El controlador realiza un preescán cuando se cambia el controlador del modo de programación al modo marcha.

prioridad

Especifica cuál tarea se ejecuta primero si dos tareas se activan simultáneamente.

• La tarea con mayor prioridad se ejecuta primero.

• Las prioridades tienen un rango de 1 a 15; 1 es la prioridad más alta.

• Una prioridad más alta interrumpe las tareas de prioridad más baja.

• Si se activan simultáneamente dos tareas con la misma prioridad, el controlador alterna las tareas cada milisegundo.

programa

Un conjunto de rutinas y tags relacionados.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 25

• 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 instrucción JSR.

• La carpeta Programa no programado contiene programas que no están asignados a una tarea.

• Si la lógica del programa produce un fallo mayor, la ejecución 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 información

El protocolo de mensajes usado por la línea de equipo de control ControlLogix de Allen-Bradley. El protocolo de comunicaciones propio que se usa en la red ControlNet.

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 26

R rack optimizado

Una conexión de E/S en que el módulo 1756-CNB recoge palabras de E/S digitales en una imagen de rack (similar A 1771-ASB). Una conexión de rack optimizado conserva las conexiones y el ancho de banda ControlNet; sin embargo, hay disponible información limitada de estado y diagnóstic cuandoo se usa este tipo de conexión. 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.402823E38 a –1.1754944E–38 (valores negativos)

• 0

• 1.1754944E–38 a 3.402823E38 (valores positivos)

El tipo de datos REAL también almacena ±infinito y ±NAN, pero la pantalla del software es diferente según el formato de la pantalla.

régimen

Para una tarea periódica, el régimen según 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 inserción con la alimentación eléctrica conectada (RIUP)

Una característica de ControlLogix que permite que un usuario instale o retire un módulo con la alimentación eléctrica del chasis activada.

revisión mayor

La línea de módulos 1756 tiene indicadores de revisión mayor y menor. La revisión mayor se actualiza cuando hay un cambio funcional del módulo. Vea codificación electrónica, revisión menor.

Formato de la pantalla: Equivalencia:

Real +infinito–infinito+NAN–NAN

1.$–1.$1.#QNAN–1.#QNAN

Exponencial +infinito–infinito+NAN–NAN

1.#INF000e+000–1.#INF000e+0001.#QNAN00e+000–1.#QNAN00e+000

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 27

revisión menor

La línea de módulos 1756 tiene indicadores de revisión mayor y menor. La revisión menor se actualiza cuando hay un cambio de un módulo que no afecta la función o interface del mismo. Vea codificación electrónica, revisión mayor.

ruta de acceso

Una descripción de los dispositivos y redes entre un dispositivo y el otro. Una conexión desde un dispositivo a otro sigue una ruta especificada. Vea conexión.

rutina

Un conjunto de instrucciones de lógica en un solo lenguaje de programación, tal como el diagrama de escalera.

• Las rutinas proporcionan el código de ejecución para el proyecto en un controlador (similar a un archivo de programa en un controlador PLC o SLC).

• Cada 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 instrucción JSR en la rutina principal.

• También 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).

S segmento del tiempo de procesamiento interno del sistema

Especifica el porcentaje de tiempo del controlador (excluyendo el tiempo para las tareas periódicas) que se dedica a la comunicación y a las funciones de segundo plano (procesamiento interno del sistema):

• El controlador realiza funciones de procesamiento interno del sistema durante un máximo de 1 ms cada vez.

• Si el controlador completa las funciones de procesamiento interno en menos de 1 ms, continúa con la tarea continua. Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 28

• Las funciones de comunicación y de segundo plano incluyen lo siguiente:

– comunicarse con los dispositivos de programación y HMI (por ejemplo, el software RSLogix 5000)

– responder a mensajes

– enviar mensajes, incluyendo transferencias en bloques

– restablecer y monitorizar conexiones de E/S (tales como las condiciones RIUP); esto no incluye las comunicaciones de E/S normales que ocurren durante la ejecución del programa

– direccionar en puente de las comunicaciones desde el puerto serie del controlador hacia otros dispositivos ControlLogix mediante el backplane ControlLogix

• Si las comunicaciones no se están realizando suficientemente rápido, aumente el segmento de tiempo del procesamiento interno.

La siguiente tabla muestra la relación entre la tarea continua y las funciones de procesamiento interno del sistema:

Con el segmento de tiempo predeterminado de 10%, el procesamiento del sistema interrumpe la tarea continua cada 9 ms (de tiempo de tarea continua).

Con este segmento de tiempo:

Las tareas continuas se ejecutan durante:

Y luego el procesamiento interno se realiza como máximo durante:

10% 9 ms 1 ms

20% 4 ms 1 ms

33% 2 ms 1 ms

50% 1 ms 1 ms

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

tarea continua

5 10 15 20 25

tiempo transcurrido (ms)

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 29

La interrupción de una tarea periódica aumenta el tiempo transcurrido (tiempo del reloj) entre la ejecución del procesamiento interno del sistema.

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

tarea periódica

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)

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)

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 30

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

Si el controlador sólo tiene una tarea (s) periódica, el valor del segmento de tiempo de procesamiento interno del sistema no tiene efecto. El procesamiento interno del sistema se ejecuta cuando no se está ejecutando una tarea periódica.

Para cambiar el segmento del tiempo de procesamiento interno del sistema:

1. Abra el proyecto RSLogix 5000.

2. En el Organizador del controlador, haga clic con el botón derecho del mouse en la carpeta Controller name_of_controller y seleccione Propiedades.

3. Haga clic en la ficha Avanzadas.

4. En el cuadro de texto Segmento del tiempo de procesamiento interno del sistema introduzca o seleccione el porcentaje del tiempo de procesamiento interno (10 – 90%).

5. Haga clic en Aceptar.

SINT

Un tipo de datos que almacena un valor entero con signo de 8 bits (1-byte) (–128 a +127). Reduzca al mínimo 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 ejecución. Puesto que esto requiere memoria y tiempo adicional, minimice el uso de los tipos de datos SINT e INT.

1 ms

tiempo de procesamiento interno del sistema 1 ms

tarea continua

5 10 15 20 25

tiempo transcurrido (ms)

tarea periódica

tiempo de procesamiento interno del sistema 5 10 15 20 25

tiempo transcurrido (ms)

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 31

superposición de tareas periódicas

Una condición que ocurre cuando una tarea se está ejecutando y la misma tarea se vuelve a activar. El tiempo de ejecución de la tarea es mayor que el régimen periódico configurado para dicha tarea. Vea tarea periódica.

T tag

Un área determinada de la memoria del controlador donde se almacenan datos.

• Los tags son el mecanismo básico para asignar memoria, hacer referencia a datos de la lógica y monitorizar los datos.

• La mínima asignación 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 sólo 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 más pequeños en palabras de 32 bits.

Los ejemplos siguientes indican la asignación de memoria para varios tags:

– start, que usa el tipo de datos BOOL:

– station_status, que usa el tipo de datos DINT:

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

Asignación de memoria

Bits

31 1 0

asignación no se usa start

Asignación de memoria

Bits

31 0

asignación station_status

Asignación de memoria

Bits

31 24 23 16 15 8 7 0

asignación 1 mixer.pressure

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 32

– temp_buffer, que es un arreglo de cuatro INTS (INT[4] ):

Vea alias, tag base, tag consumido.

tag base

Un tag que define la memoria en que se almacena el elemento de datos. Vea alias.

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 dimensión de matriz) que el tag remoto (tag producido)

Vea tag producido.

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 programación para la ejecución de un programa.

• Como opción predeterminada, cada archivo de proyecto nuevo contiene una tarea continua preconfigurada.

• Se configuran las tareas periódicas adicionales según sea necesario.

asignación 2 mixer.temp

asignación 3 mixer.agitate_time

asignación 4 no se usa no se usa no se usa bit 0 mixer.inletbit 1 mixer.drainbit 2 mixer.agitate

Asignación de memoria

Bits

31 24 23 16 15 8 7 0

Asignación de memoria

Bits

31 16 0

asignación 1 temp_buffer[1] temp_buffer[0]

asignación 2 temp_buffer[3] temp_buffer[2]

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 33

• Una tarea proporciona información de programación y prioridades para un conjunto de uno o más programas que se ejecutan según criterios específicos.

• Una vez que se activa una tarea, todos los programas asignados (programados) a la tarea se ejecutan en el orden en el cual se muestran en el organizador del controlador.

• Sólo se puede asignar un programa a una tarea a la vez.

Vea tarea continua, tarea periódica.

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 periódicas) se puede usar para ejecutar los programas dentro de la tarea continua.

• La tarea continua se reinicia por sí sola después que termina el último de sus programas.

• Un proyecto no requiere una tarea continua.

• Si se usa, sólo puede haber una tarea continua.

• Todas las tareas periódicas 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 periódica.

tarea periódica

Una tarea que es activada por el sistema operativo en períodos de tiempo repetitivos.

• Use una tarea periódica para funciones que requieren una ejecución precisa o determinística.

• 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 próxima ejecución de la tarea o hasta que otra tarea los manipula.

• El período de tiempo se puede configurar de 1 ms a 2000 s. La opción predeterminada es 10 ms.

ATENCION

!Asegúrese de que el período de tiempo sea más largo que la suma de los tiempos de ejecución de todos los programas asignados a la tarea. Si el controlador detecta que ocurre una activación de la tarea periódica para una tarea que ya está en operación, ocurre un fallo mayor.Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 34

• Las tareas periódicas siempre interrumpen la tarea continua.

• Según el nivel de prioridad, una tarea periódica puede interrumpir otras tareas periódicas en el controlador.

Vea tarea continua.

tiempo de actualización de red (NUT)

El intervalo de tiempo repetitivo durante el cual se pueden enviar datos en una red ControlNet. El tiempo de actualización de la red tiene un rango de 2 ms a 100 ms.

tiempo de ejecución

El total de tiempo requerido para la ejecución de un solo programa.

• El tiempo de ejecución 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 línea, use el cuadro de diálogo Propiedades de program para ver el tiempo de escán máximo y el último tiempo de escán (en µs) para la tarea actual. Estos valores son los tiempos de ejecución para el programa y no incluyen cualquier tiempo usado en espera de otros programas o tareas de prioridad superior.

Vea tiempo transcurrido.

tiempo de escán

Vea tiempo transcurrido, tiempo de ejecución.

tiempo transcurrido

El total de tiempo necesario para la ejecución de todas las operaciones configuradas dentro de una sola tarea.

• Si el controlador está configurado para ejecutar múltiples tareas, el tiempo transcurrido incluye cualquier tiempo usado/compartido por otras tareas que ejecutan otras operaciones.

• Mientras está en línea, usted puede usar el cuadro de diálogo Propiedades de tarea para ver el tiempo de escán máximo y el último tiempo de escán 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 ejecución.

tipo de datos

Una definición del tamaño de memoria y la configuración de memoria que se asignan cuando se crea un tag de ese tipo de datos.

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 35

tipo de datos definido por el usuario

También puede crear sus propias estructuras, llamadas tipo de datos definido por el usuario (también comúnmente 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.

• También se pueden incluir arreglos y estructuras.

• Una vez que se ha creado un tipo de datos definido por el usuario, se puede crear uno o más tags usando ese tipo de datos.

• Reduzca al mínimo el uso de los siguientes tipos de datos porque éstos generalmente aumentan los requisitos de memoria y el tiempo de ejecución de la lógica.

– 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 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 lógica de escalera para copiar los datos entre los miembros en la estructura y los tags de E/S correspondientes. Refer to Almacenamiento de E/S en el búfer on page 8-1.

• Cuando use los tipos de datos BOOL, SINT o INT, coloque los miembros que usan el mismo tipo de datos en secuencia:

• Puede usar matrices de una dimensión.

• Puede crear, editar y eliminar los tipos de datos definidos por el usuario solamente cuando programa fuera de línea.

• Si modifica un tipo de datos definido por el usuario y cambia el tamaño 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 instrucción COP. Vea la Logix5000 Controllers General Instruction Set Reference Manual, publicación 1756-RM003A-US-P.

más eficiente

BOOL

BOOL

BOOL

DINT

DINT

menos eficiente

BOOL

DINT

BOOL

DINT

BOOL

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 36

Vea estructura.

tipo de datos óptimo

Un tipo de datos que usa una instrucción 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 más rápidamente y requieren menos memoria si todos los operandos de la instrucción 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 según estas reglas

– ¿Es alguno de los operandos un valor REAL?

– Después de la ejecución de la instrucción, el resultado (un valor DINT o REAL) se convierte al tipo de datos de destino, si es necesario.

• Puesto que la conversión de datos requiere memoria y tiempo adicional, se puede aumentar la eficiencia de los programas:

– usando el mismo tipo de datos en toda la instrucción

– reduciendo al mínimo 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.

Si: Entonces los operandos de entrada (por ej. origen,tag en una expresión, límite) se convierten a:

Sí REAL

No DINT

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 37

• La siguiente tabla resume cómo el controlador convierte datos entre tipos de datos:

valor inmediato

Un valor real o entero con signo de 32 bits. No es un tag que almacena un valor.

W watchdog

Especifica cuánto tiempo una tarea puede ejecutarse antes de activar un fallo mayor.

• Cada tarea tiene un watchdog que monitorea la ejecución 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.

Conversión: Resultado:

número entero mayor a número entero menor

El controlador trunca la porción superior del número entero mayor y genera un overflow.

Por ejemplo:

Decimal Binario

DINT 65,665 0000_0000_0000_0001_0000_0000_1000_0001

INT 129 0000_0000_1000_0001

SINT –127 1000_0001

SINT o INT a REAL No se pierde la precisión de datos.

DINT a REAL Se puede perder la precisión 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 precisión, el controlador la toma de la porción menos significativa del DINT.

REAL a número entero El controlador redondea la parte fraccionaria y trunca la porción superior de la parte no fraccionaria. Si se pierden los datos, el controlador establece el indicador de estado de overflow.

Los números se redondean de la manera siguiente:• Los números que no son x.5 se redondean al número más cercano.• X.5 se redondea al número par más cercano.

Por ejemplo:

REAL (origen)

DINT (resultado)

–2.5 –2

–1.6 –2

–1.5 –2

–1.4 –1

1.4 1

1.5 2

1.6 2

2.5 2

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

Glosario 38

• 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 requiere un tiempo mayor que el tiempo de watchdog, ocurre un fallo mayor. (El tiempo incluye interrupciones por otras tareas).

• También ocurre un fallo por sobrepasar el tiempo de espera del watchdog (fallo mayor) si se activa nuevamente una tarea cuando ésta se está ejecutando (superposición de tarea periódica). Esto puede ocurrir si una tarea de prioridad inferior es interrumpida por una tarea de prioridad superior, lo cual retarda la realización 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 escán de lógica, el controlador entra en el modo fallo, independientemente de que el administrador de fallos del controlador borre el fallo del watchdog.

Para cambiar el tiempo de watchdog de una tarea:

1. Abra el proyecto RSLogix 5000.

2. En el Organizador de controller, haga clic con el botón derecho del mouse en name_of_task y seleccione Propiedades.

3. Haga clic en la ficha Configuración.

4. En el cuadro de texto Watchdog, escriba un tiempo de watchdog.

5. Haga clic en Aceptar.

ATENCION

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

Publicación 1756-PM001B-ES-P - Noviembre 2000

Indice

Aalias

crear 6-3uso 6-1

aperturarutina 4-1

archivo de proyectocrear 1-1

arreglocrear 3-8índice 7-1organizar 3-1producir arreglo grande 11-1

ASCIIconfigurar puerto en serie 12-1instrucciones de programa 12-9introducir caracteres 12-5manipulación de datos 12-11organización de datos 12-5

Bbifurcación

introducir 4-3bloque de función

controladores que soportan bloques de función 2-1bloque de funciones

introducir 4-4borrar

fallo mayor 9-4, 14-1fallo menor 16-1

búferE/S 8-1

Ccarga 9-4códigos

fallo mayor A-1fallo menor A-3

códigos de fallo mayor A-1comunicación

otro controlador 10-1configurar

puerto en serie para ASCII 12-1variador 9-1

conjunto de instrucciones B-4consumir

tag 10-1controlador

cambiar propiedades 1-3desactivar 15-1descarga 9-2modo 9-3

suspender 15-1verificar 2-5

crearalias 6-3archivo de proyecto 1-1arreglo 3-8estructura 3-6rutina 2-3subrutina 2-3tag 3-8tag usando Excel 3-9tipo de datos definido por el usuario 3-6variador 9-1

cumplimiento con IEC 1131-3definiciones de datos B-2introducción B-1lenguaje de programación B-3portabilidad de programas B-4sistema operativo B-2tablas B-5

cumplimiento IEC 1131-3conjunto de instrucciones B-4

Ddatos

ASCII 12-5, 12-11definiciones B-2forzado 13-1, 13-2

datos del sistemaacceso 5-2

desactivar el controlador 15-1descarga 9-2dirección

asignar indirecta 7-1introducir 4-7

dirección indirecta 7-1

EE/S

búfer 8-1sincronizar con la lógica 8-1

en serieconfigurar puerto para ASCII 12-1

estadomonitor 5-1, 5-2

estructuracrear 3-6organizar 3-1

Ffallo

borrar 9-4, 14-1Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

2 Indice

códigos de fallo mayor A-1crear definido por el usuario 15-1desarrollo de rutina para borrar el fallo 17-1desarrollo de rutina para borrar fallo 14-1monitoreo de menores 16-1prueba de una rutina de fallo 14-4

fallo mayorcrear definido por el usuario 15-1desarrollo de rutina de fallo 17-1desarrollo de una rutina de fallo 14-1

fallo menorborrar 16-1códigos A-3lógica 16-1

forcadoLED 13-7

forzadohabilitación 13-5inhabilitación 13-6introducir 13-2monitorear 13-7tag 13-1

forzadosretirar 13-6

Gguardar 1-2guardar como 1-2

IICON 4-4instrucción

introducir 4-3instrucciones

introducir bloque de funciones 4-4introducción

lógica 4-3introducir

caracteres ASCII 12-5dirección 4-7instrucción de bloque de funciones 4-4

IREF 4-4

LLED

forzado 13-7lenguaje de programación B-3lógica

introducción 4-3introducir instrucción de bloque de funciones 4-4

Mmensaje

organización de tags 10-11modo

controlador 9-3modo marcha 9-3modo programa 9-3modo prueba 9-3monitorear forzados 13-7

Nnúmero de ranura 1-3

OOCON 4-4OREF 4-4organizar

arreglo 3-1estructura 3-1tag 3-1tareas 2-2

PPLC-5C

compartir datos 10-6producir

arreglo grande 11-1tag 10-1tags para PLC-5C 10-6

programaportabilidad B-4

proyectocarga 9-4descarga 9-2

prueba de una rutina de fallo 14-4

Rrenglón

introducir 4-3RSLinx

configurar 9-1rutina

apertura 4-1crear 2-3introducir instrucciones bloque de funciones 4-4lenguajes 2-1verificar 4-10

Ssímbolo

Publicación 1756-PM001B-ES-P - Noviembre 2000

Indice 3

crear 6-1sistema operativo B-2subrutina

crear 2-3suspender

controlador 15-1

Ttabla de datos 3-1tablas de cumplimiento B-5tag

ASCII 12-5compartir con PLC-5C 10-6crear 3-8crear alias 6-3crear usando Excel 3-9forzado 13-1

organización para mensaje 10-11organizar 3-1producir arreglo grande 11-1producir y consumir 10-1

tamaño de chasis 1-3tarea

organizar 2-2tipo de datos definido por el usuario

crear 3-6

Vvariador

configurar 9-1verificar

controlador 2-5rutina 4-10

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000

4 Indice

Publicación 1756-PM001B-ES-P - Noviembre 2000

Códigos de caracteres ASCII

Carácter Dec Hex

[ctrl-@] NUL 0 $00

[ctrl-A] SOH 1 $01

[ctrl-B] STX 2 $02

[ctrl-C] ETX 3 $03

[ctrl-D] EOT 4 $04

[ctrl-E] ENQ 5 $05

[ctrl-F] ACK 6 $06

[ctrl-G] BEL 7 $07

[ctrl-H] BS 8 $08

[ctrl-I] HT 9 $09

[ctrl-J] LF 10 $l

[ctrl-K] VT 11 $0B

[ctrl-L] FF 12 $0C

[ctrl-M] CR 13 $r

[ctrl-N] SO 14 $0E

[ctrl-O] SI 15 $0F

[ctrl-P] DLE 16 $10

[ctrl-Q] DC1 17 $11

[ctrl-R] DC2 18 $12

[ctrl-S] DC3 19 $13

[ctrl-T] DC4 20 $14

[ctrl-U] NAK 21 $15

[ctrl-V] SYN 22 $16

[ctrl-W] ETB 23 $17

[ctrl-X] CAN 24 $18

[ctrl-Y] EM 25 $19

[ctrl-Z] SUB 26 $1A

ctrl-[ ESC 27 $1B

[ctrl-\] FS 28 $1C

ctrl-] GS 29 $1D

[ctrl-^] RS 30 $1E

[ctrl-_] US 31 $1F

SPACE 32 $20

! 33 $21

“ 34 $22

# 35 $23

$ 36 $24

% 37 $25

& 38 $26

‘ 39 $27

( 40 $28

) 41 $29

* 42 $2A

+ 43 $2B

, 44 $2C

– 45 $2D

. 46 $2E

/ 47 $2F

0 48 $30

1 49 $31

2 50 $32

3 51 $33

4 52 $34

5 53 $35

6 54 $36

7 55 $37

8 56 $38

9 57 $39

: 58 $3A

; 59 $3B

< 60 $3C

= 61 $3D

> 62 $3E

? 63 $3F

Carácter Dec Hex

@ 64 $40

A 65 $41

B 66 $42

C 67 $43

D 68 $44

E 69 $45

F 70 $46

G 71 $47

H 72 $48

I 73 $49

J 74 $4A

K 75 $4B

L 76 $4C

M 77 $4D

N 78 $4E

O 79 $4F

P 80 $50

Q 81 $51

R 82 $52

S 83 $53

T 84 $54

U 85 $55

V 86 $56

W 87 $57

X 88 $58

Y 89 $59

Z 90 $5A

[ 91 $5B

\ 92 $5C

] 93 $5D

^ 94 $5E

_ 95 $5F

Carácter Dec Hex

‘ 96 $60

a 97 $61

b 98 $62

c 99 $63

d 100 $64

e 101 $65

f 102 $66

g 103 $67

h 104 $68

i 105 $69

j 106 $6A

k 107 $6B

l 108 $6C

m 109 $6D

n 110 $6E

o 111 $6F

p 112 $70

q 113 $71

r 114 $72

s 115 $73

t 116 $74

u 117 $75

v 118 $76

w 119 $77

x 120 $78

y 121 $79

z 122 $7A

{ 123 $7B

| 124 $7C

} 125 $7D

~ 126 $7E

DEL 127 $7F

Carácter Dec Hex

Allen-Bradley HMIs

Publicación 1756-PM001B-ES-P - Noviembre 2000 1 PN 957445-69Reemplaza a la publicación 1756-PM001A-EN-P - Junio 2000 © 2000 Rockwell International Corporation

Quarta Capa